1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package locationservice
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const 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
42func (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
107func (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.
121func (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
128const 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
154func (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
202func (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.
216func (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
223const 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
249func (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
299func (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.
313func (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
320const 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
346func (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
409func (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.
423func (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
430const 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
456func (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
504func (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.
518func (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
525const 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
551func (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
601func (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.
615func (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
622const 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
648func (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 reporting the last known device position
670// and position history.
671//
672// Only one position update is stored per sample time. Location data is sampled
673// at a fixed rate of one position per 30-second interval and retained for 30
674// days before it's deleted.
675//
676// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
677// with awserr.Error's Code and Message methods to get detailed information about
678// the error.
679//
680// See the AWS API reference guide for Amazon Location Service's
681// API operation BatchUpdateDevicePosition for usage and error information.
682//
683// Returned Error Types:
684//   * InternalServerException
685//   The request has failed to process because of an unknown server error, exception,
686//   or failure.
687//
688//   * ResourceNotFoundException
689//   The resource that you've entered was not found in your AWS account.
690//
691//   * AccessDeniedException
692//   The request was denied because of insufficient access or permissions. Check
693//   with an administrator to verify your permissions.
694//
695//   * ValidationException
696//   The input failed to meet the constraints specified by the AWS service.
697//
698//   * ThrottlingException
699//   The request was denied because of request throttling.
700//
701// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchUpdateDevicePosition
702func (c *LocationService) BatchUpdateDevicePosition(input *BatchUpdateDevicePositionInput) (*BatchUpdateDevicePositionOutput, error) {
703	req, out := c.BatchUpdateDevicePositionRequest(input)
704	return out, req.Send()
705}
706
707// BatchUpdateDevicePositionWithContext is the same as BatchUpdateDevicePosition with the addition of
708// the ability to pass a context and additional request options.
709//
710// See BatchUpdateDevicePosition for details on how to use this API operation.
711//
712// The context must be non-nil and will be used for request cancellation. If
713// the context is nil a panic will occur. In the future the SDK may create
714// sub-contexts for http.Requests. See https://golang.org/pkg/context/
715// for more information on using Contexts.
716func (c *LocationService) BatchUpdateDevicePositionWithContext(ctx aws.Context, input *BatchUpdateDevicePositionInput, opts ...request.Option) (*BatchUpdateDevicePositionOutput, error) {
717	req, out := c.BatchUpdateDevicePositionRequest(input)
718	req.SetContext(ctx)
719	req.ApplyOptions(opts...)
720	return out, req.Send()
721}
722
723const opCalculateRoute = "CalculateRoute"
724
725// CalculateRouteRequest generates a "aws/request.Request" representing the
726// client's request for the CalculateRoute operation. The "output" return
727// value will be populated with the request's response once the request completes
728// successfully.
729//
730// Use "Send" method on the returned Request to send the API call to the service.
731// the "output" return value is not valid until after Send returns without error.
732//
733// See CalculateRoute for more information on using the CalculateRoute
734// API call, and error handling.
735//
736// This method is useful when you want to inject custom logic or configuration
737// into the SDK's request lifecycle. Such as custom headers, or retry logic.
738//
739//
740//    // Example sending a request using the CalculateRouteRequest method.
741//    req, resp := client.CalculateRouteRequest(params)
742//
743//    err := req.Send()
744//    if err == nil { // resp is now filled
745//        fmt.Println(resp)
746//    }
747//
748// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CalculateRoute
749func (c *LocationService) CalculateRouteRequest(input *CalculateRouteInput) (req *request.Request, output *CalculateRouteOutput) {
750	op := &request.Operation{
751		Name:       opCalculateRoute,
752		HTTPMethod: "POST",
753		HTTPPath:   "/routes/v0/calculators/{CalculatorName}/calculate/route",
754	}
755
756	if input == nil {
757		input = &CalculateRouteInput{}
758	}
759
760	output = &CalculateRouteOutput{}
761	req = c.newRequest(op, input, output)
762	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("routes.", nil))
763	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
764	return
765}
766
767// CalculateRoute API operation for Amazon Location Service.
768//
769// Calculates a route (https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html)
770// given the following required parameters: DeparturePostiton and DestinationPosition.
771// Requires that you first create a route calculator resource (https://docs.aws.amazon.com/location-routes/latest/APIReference/API_CreateRouteCalculator.html)
772//
773// By default, a request that doesn't specify a departure time uses the best
774// time of day to travel with the best traffic conditions when calculating the
775// route.
776//
777// Additional options include:
778//
779//    * Specifying a departure time (https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html#departure-time)
780//    using either DepartureTime or DepartureNow. This calculates a route based
781//    on predictive traffic data at the given time. You can't specify both DepartureTime
782//    and DepartureNow in a single request. Specifying both parameters returns
783//    an error message.
784//
785//    * Specifying a travel mode (https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html#travel-mode)
786//    using TravelMode. This lets you specify an additional route preference
787//    such as CarModeOptions if traveling by Car, or TruckModeOptions if traveling
788//    by Truck.
789//
790// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
791// with awserr.Error's Code and Message methods to get detailed information about
792// the error.
793//
794// See the AWS API reference guide for Amazon Location Service's
795// API operation CalculateRoute for usage and error information.
796//
797// Returned Error Types:
798//   * InternalServerException
799//   The request has failed to process because of an unknown server error, exception,
800//   or failure.
801//
802//   * ResourceNotFoundException
803//   The resource that you've entered was not found in your AWS account.
804//
805//   * AccessDeniedException
806//   The request was denied because of insufficient access or permissions. Check
807//   with an administrator to verify your permissions.
808//
809//   * ValidationException
810//   The input failed to meet the constraints specified by the AWS service.
811//
812//   * ThrottlingException
813//   The request was denied because of request throttling.
814//
815// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CalculateRoute
816func (c *LocationService) CalculateRoute(input *CalculateRouteInput) (*CalculateRouteOutput, error) {
817	req, out := c.CalculateRouteRequest(input)
818	return out, req.Send()
819}
820
821// CalculateRouteWithContext is the same as CalculateRoute with the addition of
822// the ability to pass a context and additional request options.
823//
824// See CalculateRoute for details on how to use this API operation.
825//
826// The context must be non-nil and will be used for request cancellation. If
827// the context is nil a panic will occur. In the future the SDK may create
828// sub-contexts for http.Requests. See https://golang.org/pkg/context/
829// for more information on using Contexts.
830func (c *LocationService) CalculateRouteWithContext(ctx aws.Context, input *CalculateRouteInput, opts ...request.Option) (*CalculateRouteOutput, error) {
831	req, out := c.CalculateRouteRequest(input)
832	req.SetContext(ctx)
833	req.ApplyOptions(opts...)
834	return out, req.Send()
835}
836
837const opCreateGeofenceCollection = "CreateGeofenceCollection"
838
839// CreateGeofenceCollectionRequest generates a "aws/request.Request" representing the
840// client's request for the CreateGeofenceCollection operation. The "output" return
841// value will be populated with the request's response once the request completes
842// successfully.
843//
844// Use "Send" method on the returned Request to send the API call to the service.
845// the "output" return value is not valid until after Send returns without error.
846//
847// See CreateGeofenceCollection for more information on using the CreateGeofenceCollection
848// API call, and error handling.
849//
850// This method is useful when you want to inject custom logic or configuration
851// into the SDK's request lifecycle. Such as custom headers, or retry logic.
852//
853//
854//    // Example sending a request using the CreateGeofenceCollectionRequest method.
855//    req, resp := client.CreateGeofenceCollectionRequest(params)
856//
857//    err := req.Send()
858//    if err == nil { // resp is now filled
859//        fmt.Println(resp)
860//    }
861//
862// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateGeofenceCollection
863func (c *LocationService) CreateGeofenceCollectionRequest(input *CreateGeofenceCollectionInput) (req *request.Request, output *CreateGeofenceCollectionOutput) {
864	op := &request.Operation{
865		Name:       opCreateGeofenceCollection,
866		HTTPMethod: "POST",
867		HTTPPath:   "/geofencing/v0/collections",
868	}
869
870	if input == nil {
871		input = &CreateGeofenceCollectionInput{}
872	}
873
874	output = &CreateGeofenceCollectionOutput{}
875	req = c.newRequest(op, input, output)
876	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
877	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
878	return
879}
880
881// CreateGeofenceCollection API operation for Amazon Location Service.
882//
883// Creates a geofence collection, which manages and stores geofences.
884//
885// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
886// with awserr.Error's Code and Message methods to get detailed information about
887// the error.
888//
889// See the AWS API reference guide for Amazon Location Service's
890// API operation CreateGeofenceCollection for usage and error information.
891//
892// Returned Error Types:
893//   * InternalServerException
894//   The request has failed to process because of an unknown server error, exception,
895//   or failure.
896//
897//   * ConflictException
898//   The request was unsuccessful because of a conflict.
899//
900//   * AccessDeniedException
901//   The request was denied because of insufficient access or permissions. Check
902//   with an administrator to verify your permissions.
903//
904//   * ValidationException
905//   The input failed to meet the constraints specified by the AWS service.
906//
907//   * ThrottlingException
908//   The request was denied because of request throttling.
909//
910// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateGeofenceCollection
911func (c *LocationService) CreateGeofenceCollection(input *CreateGeofenceCollectionInput) (*CreateGeofenceCollectionOutput, error) {
912	req, out := c.CreateGeofenceCollectionRequest(input)
913	return out, req.Send()
914}
915
916// CreateGeofenceCollectionWithContext is the same as CreateGeofenceCollection with the addition of
917// the ability to pass a context and additional request options.
918//
919// See CreateGeofenceCollection for details on how to use this API operation.
920//
921// The context must be non-nil and will be used for request cancellation. If
922// the context is nil a panic will occur. In the future the SDK may create
923// sub-contexts for http.Requests. See https://golang.org/pkg/context/
924// for more information on using Contexts.
925func (c *LocationService) CreateGeofenceCollectionWithContext(ctx aws.Context, input *CreateGeofenceCollectionInput, opts ...request.Option) (*CreateGeofenceCollectionOutput, error) {
926	req, out := c.CreateGeofenceCollectionRequest(input)
927	req.SetContext(ctx)
928	req.ApplyOptions(opts...)
929	return out, req.Send()
930}
931
932const opCreateMap = "CreateMap"
933
934// CreateMapRequest generates a "aws/request.Request" representing the
935// client's request for the CreateMap operation. The "output" return
936// value will be populated with the request's response once the request completes
937// successfully.
938//
939// Use "Send" method on the returned Request to send the API call to the service.
940// the "output" return value is not valid until after Send returns without error.
941//
942// See CreateMap for more information on using the CreateMap
943// API call, and error handling.
944//
945// This method is useful when you want to inject custom logic or configuration
946// into the SDK's request lifecycle. Such as custom headers, or retry logic.
947//
948//
949//    // Example sending a request using the CreateMapRequest method.
950//    req, resp := client.CreateMapRequest(params)
951//
952//    err := req.Send()
953//    if err == nil { // resp is now filled
954//        fmt.Println(resp)
955//    }
956//
957// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateMap
958func (c *LocationService) CreateMapRequest(input *CreateMapInput) (req *request.Request, output *CreateMapOutput) {
959	op := &request.Operation{
960		Name:       opCreateMap,
961		HTTPMethod: "POST",
962		HTTPPath:   "/maps/v0/maps",
963	}
964
965	if input == nil {
966		input = &CreateMapInput{}
967	}
968
969	output = &CreateMapOutput{}
970	req = c.newRequest(op, input, output)
971	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
972	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
973	return
974}
975
976// CreateMap API operation for Amazon Location Service.
977//
978// Creates a map resource in your AWS account, which provides map tiles of different
979// styles sourced from global location data providers.
980//
981// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
982// with awserr.Error's Code and Message methods to get detailed information about
983// the error.
984//
985// See the AWS API reference guide for Amazon Location Service's
986// API operation CreateMap for usage and error information.
987//
988// Returned Error Types:
989//   * InternalServerException
990//   The request has failed to process because of an unknown server error, exception,
991//   or failure.
992//
993//   * ConflictException
994//   The request was unsuccessful because of a conflict.
995//
996//   * AccessDeniedException
997//   The request was denied because of insufficient access or permissions. Check
998//   with an administrator to verify your permissions.
999//
1000//   * ValidationException
1001//   The input failed to meet the constraints specified by the AWS service.
1002//
1003//   * ThrottlingException
1004//   The request was denied because of request throttling.
1005//
1006// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateMap
1007func (c *LocationService) CreateMap(input *CreateMapInput) (*CreateMapOutput, error) {
1008	req, out := c.CreateMapRequest(input)
1009	return out, req.Send()
1010}
1011
1012// CreateMapWithContext is the same as CreateMap with the addition of
1013// the ability to pass a context and additional request options.
1014//
1015// See CreateMap for details on how to use this API operation.
1016//
1017// The context must be non-nil and will be used for request cancellation. If
1018// the context is nil a panic will occur. In the future the SDK may create
1019// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1020// for more information on using Contexts.
1021func (c *LocationService) CreateMapWithContext(ctx aws.Context, input *CreateMapInput, opts ...request.Option) (*CreateMapOutput, error) {
1022	req, out := c.CreateMapRequest(input)
1023	req.SetContext(ctx)
1024	req.ApplyOptions(opts...)
1025	return out, req.Send()
1026}
1027
1028const opCreatePlaceIndex = "CreatePlaceIndex"
1029
1030// CreatePlaceIndexRequest generates a "aws/request.Request" representing the
1031// client's request for the CreatePlaceIndex operation. The "output" return
1032// value will be populated with the request's response once the request completes
1033// successfully.
1034//
1035// Use "Send" method on the returned Request to send the API call to the service.
1036// the "output" return value is not valid until after Send returns without error.
1037//
1038// See CreatePlaceIndex for more information on using the CreatePlaceIndex
1039// API call, and error handling.
1040//
1041// This method is useful when you want to inject custom logic or configuration
1042// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1043//
1044//
1045//    // Example sending a request using the CreatePlaceIndexRequest method.
1046//    req, resp := client.CreatePlaceIndexRequest(params)
1047//
1048//    err := req.Send()
1049//    if err == nil { // resp is now filled
1050//        fmt.Println(resp)
1051//    }
1052//
1053// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreatePlaceIndex
1054func (c *LocationService) CreatePlaceIndexRequest(input *CreatePlaceIndexInput) (req *request.Request, output *CreatePlaceIndexOutput) {
1055	op := &request.Operation{
1056		Name:       opCreatePlaceIndex,
1057		HTTPMethod: "POST",
1058		HTTPPath:   "/places/v0/indexes",
1059	}
1060
1061	if input == nil {
1062		input = &CreatePlaceIndexInput{}
1063	}
1064
1065	output = &CreatePlaceIndexOutput{}
1066	req = c.newRequest(op, input, output)
1067	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
1068	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1069	return
1070}
1071
1072// CreatePlaceIndex API operation for Amazon Location Service.
1073//
1074// Creates a place index resource in your AWS account, which supports functions
1075// with geospatial data sourced from your chosen data provider.
1076//
1077// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1078// with awserr.Error's Code and Message methods to get detailed information about
1079// the error.
1080//
1081// See the AWS API reference guide for Amazon Location Service's
1082// API operation CreatePlaceIndex for usage and error information.
1083//
1084// Returned Error Types:
1085//   * InternalServerException
1086//   The request has failed to process because of an unknown server error, exception,
1087//   or failure.
1088//
1089//   * ConflictException
1090//   The request was unsuccessful because of a conflict.
1091//
1092//   * AccessDeniedException
1093//   The request was denied because of insufficient access or permissions. Check
1094//   with an administrator to verify your permissions.
1095//
1096//   * ValidationException
1097//   The input failed to meet the constraints specified by the AWS service.
1098//
1099//   * ThrottlingException
1100//   The request was denied because of request throttling.
1101//
1102// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreatePlaceIndex
1103func (c *LocationService) CreatePlaceIndex(input *CreatePlaceIndexInput) (*CreatePlaceIndexOutput, error) {
1104	req, out := c.CreatePlaceIndexRequest(input)
1105	return out, req.Send()
1106}
1107
1108// CreatePlaceIndexWithContext is the same as CreatePlaceIndex with the addition of
1109// the ability to pass a context and additional request options.
1110//
1111// See CreatePlaceIndex for details on how to use this API operation.
1112//
1113// The context must be non-nil and will be used for request cancellation. If
1114// the context is nil a panic will occur. In the future the SDK may create
1115// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1116// for more information on using Contexts.
1117func (c *LocationService) CreatePlaceIndexWithContext(ctx aws.Context, input *CreatePlaceIndexInput, opts ...request.Option) (*CreatePlaceIndexOutput, error) {
1118	req, out := c.CreatePlaceIndexRequest(input)
1119	req.SetContext(ctx)
1120	req.ApplyOptions(opts...)
1121	return out, req.Send()
1122}
1123
1124const opCreateRouteCalculator = "CreateRouteCalculator"
1125
1126// CreateRouteCalculatorRequest generates a "aws/request.Request" representing the
1127// client's request for the CreateRouteCalculator operation. The "output" return
1128// value will be populated with the request's response once the request completes
1129// successfully.
1130//
1131// Use "Send" method on the returned Request to send the API call to the service.
1132// the "output" return value is not valid until after Send returns without error.
1133//
1134// See CreateRouteCalculator for more information on using the CreateRouteCalculator
1135// API call, and error handling.
1136//
1137// This method is useful when you want to inject custom logic or configuration
1138// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1139//
1140//
1141//    // Example sending a request using the CreateRouteCalculatorRequest method.
1142//    req, resp := client.CreateRouteCalculatorRequest(params)
1143//
1144//    err := req.Send()
1145//    if err == nil { // resp is now filled
1146//        fmt.Println(resp)
1147//    }
1148//
1149// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateRouteCalculator
1150func (c *LocationService) CreateRouteCalculatorRequest(input *CreateRouteCalculatorInput) (req *request.Request, output *CreateRouteCalculatorOutput) {
1151	op := &request.Operation{
1152		Name:       opCreateRouteCalculator,
1153		HTTPMethod: "POST",
1154		HTTPPath:   "/routes/v0/calculators",
1155	}
1156
1157	if input == nil {
1158		input = &CreateRouteCalculatorInput{}
1159	}
1160
1161	output = &CreateRouteCalculatorOutput{}
1162	req = c.newRequest(op, input, output)
1163	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("routes.", nil))
1164	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1165	return
1166}
1167
1168// CreateRouteCalculator API operation for Amazon Location Service.
1169//
1170// Creates a route calculator resource in your AWS account.
1171//
1172// You can send requests to a route calculator resource to estimate travel time,
1173// distance, and get directions. A route calculator sources traffic and road
1174// network data from your chosen data provider.
1175//
1176// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1177// with awserr.Error's Code and Message methods to get detailed information about
1178// the error.
1179//
1180// See the AWS API reference guide for Amazon Location Service's
1181// API operation CreateRouteCalculator for usage and error information.
1182//
1183// Returned Error Types:
1184//   * InternalServerException
1185//   The request has failed to process because of an unknown server error, exception,
1186//   or failure.
1187//
1188//   * ConflictException
1189//   The request was unsuccessful because of a conflict.
1190//
1191//   * AccessDeniedException
1192//   The request was denied because of insufficient access or permissions. Check
1193//   with an administrator to verify your permissions.
1194//
1195//   * ValidationException
1196//   The input failed to meet the constraints specified by the AWS service.
1197//
1198//   * ThrottlingException
1199//   The request was denied because of request throttling.
1200//
1201// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateRouteCalculator
1202func (c *LocationService) CreateRouteCalculator(input *CreateRouteCalculatorInput) (*CreateRouteCalculatorOutput, error) {
1203	req, out := c.CreateRouteCalculatorRequest(input)
1204	return out, req.Send()
1205}
1206
1207// CreateRouteCalculatorWithContext is the same as CreateRouteCalculator with the addition of
1208// the ability to pass a context and additional request options.
1209//
1210// See CreateRouteCalculator for details on how to use this API operation.
1211//
1212// The context must be non-nil and will be used for request cancellation. If
1213// the context is nil a panic will occur. In the future the SDK may create
1214// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1215// for more information on using Contexts.
1216func (c *LocationService) CreateRouteCalculatorWithContext(ctx aws.Context, input *CreateRouteCalculatorInput, opts ...request.Option) (*CreateRouteCalculatorOutput, error) {
1217	req, out := c.CreateRouteCalculatorRequest(input)
1218	req.SetContext(ctx)
1219	req.ApplyOptions(opts...)
1220	return out, req.Send()
1221}
1222
1223const opCreateTracker = "CreateTracker"
1224
1225// CreateTrackerRequest generates a "aws/request.Request" representing the
1226// client's request for the CreateTracker operation. The "output" return
1227// value will be populated with the request's response once the request completes
1228// successfully.
1229//
1230// Use "Send" method on the returned Request to send the API call to the service.
1231// the "output" return value is not valid until after Send returns without error.
1232//
1233// See CreateTracker for more information on using the CreateTracker
1234// API call, and error handling.
1235//
1236// This method is useful when you want to inject custom logic or configuration
1237// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1238//
1239//
1240//    // Example sending a request using the CreateTrackerRequest method.
1241//    req, resp := client.CreateTrackerRequest(params)
1242//
1243//    err := req.Send()
1244//    if err == nil { // resp is now filled
1245//        fmt.Println(resp)
1246//    }
1247//
1248// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateTracker
1249func (c *LocationService) CreateTrackerRequest(input *CreateTrackerInput) (req *request.Request, output *CreateTrackerOutput) {
1250	op := &request.Operation{
1251		Name:       opCreateTracker,
1252		HTTPMethod: "POST",
1253		HTTPPath:   "/tracking/v0/trackers",
1254	}
1255
1256	if input == nil {
1257		input = &CreateTrackerInput{}
1258	}
1259
1260	output = &CreateTrackerOutput{}
1261	req = c.newRequest(op, input, output)
1262	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
1263	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1264	return
1265}
1266
1267// CreateTracker API operation for Amazon Location Service.
1268//
1269// Creates a tracker resource in your AWS account, which lets you retrieve current
1270// and historical location of devices.
1271//
1272// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1273// with awserr.Error's Code and Message methods to get detailed information about
1274// the error.
1275//
1276// See the AWS API reference guide for Amazon Location Service's
1277// API operation CreateTracker for usage and error information.
1278//
1279// Returned Error Types:
1280//   * InternalServerException
1281//   The request has failed to process because of an unknown server error, exception,
1282//   or failure.
1283//
1284//   * ConflictException
1285//   The request was unsuccessful because of a conflict.
1286//
1287//   * AccessDeniedException
1288//   The request was denied because of insufficient access or permissions. Check
1289//   with an administrator to verify your permissions.
1290//
1291//   * ValidationException
1292//   The input failed to meet the constraints specified by the AWS service.
1293//
1294//   * ThrottlingException
1295//   The request was denied because of request throttling.
1296//
1297// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateTracker
1298func (c *LocationService) CreateTracker(input *CreateTrackerInput) (*CreateTrackerOutput, error) {
1299	req, out := c.CreateTrackerRequest(input)
1300	return out, req.Send()
1301}
1302
1303// CreateTrackerWithContext is the same as CreateTracker with the addition of
1304// the ability to pass a context and additional request options.
1305//
1306// See CreateTracker for details on how to use this API operation.
1307//
1308// The context must be non-nil and will be used for request cancellation. If
1309// the context is nil a panic will occur. In the future the SDK may create
1310// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1311// for more information on using Contexts.
1312func (c *LocationService) CreateTrackerWithContext(ctx aws.Context, input *CreateTrackerInput, opts ...request.Option) (*CreateTrackerOutput, error) {
1313	req, out := c.CreateTrackerRequest(input)
1314	req.SetContext(ctx)
1315	req.ApplyOptions(opts...)
1316	return out, req.Send()
1317}
1318
1319const opDeleteGeofenceCollection = "DeleteGeofenceCollection"
1320
1321// DeleteGeofenceCollectionRequest generates a "aws/request.Request" representing the
1322// client's request for the DeleteGeofenceCollection operation. The "output" return
1323// value will be populated with the request's response once the request completes
1324// successfully.
1325//
1326// Use "Send" method on the returned Request to send the API call to the service.
1327// the "output" return value is not valid until after Send returns without error.
1328//
1329// See DeleteGeofenceCollection for more information on using the DeleteGeofenceCollection
1330// API call, and error handling.
1331//
1332// This method is useful when you want to inject custom logic or configuration
1333// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1334//
1335//
1336//    // Example sending a request using the DeleteGeofenceCollectionRequest method.
1337//    req, resp := client.DeleteGeofenceCollectionRequest(params)
1338//
1339//    err := req.Send()
1340//    if err == nil { // resp is now filled
1341//        fmt.Println(resp)
1342//    }
1343//
1344// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteGeofenceCollection
1345func (c *LocationService) DeleteGeofenceCollectionRequest(input *DeleteGeofenceCollectionInput) (req *request.Request, output *DeleteGeofenceCollectionOutput) {
1346	op := &request.Operation{
1347		Name:       opDeleteGeofenceCollection,
1348		HTTPMethod: "DELETE",
1349		HTTPPath:   "/geofencing/v0/collections/{CollectionName}",
1350	}
1351
1352	if input == nil {
1353		input = &DeleteGeofenceCollectionInput{}
1354	}
1355
1356	output = &DeleteGeofenceCollectionOutput{}
1357	req = c.newRequest(op, input, output)
1358	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1359	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
1360	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1361	return
1362}
1363
1364// DeleteGeofenceCollection API operation for Amazon Location Service.
1365//
1366// Deletes a geofence collection from your AWS account.
1367//
1368// This operation deletes the resource permanently. If the geofence collection
1369// is the target of a tracker resource, the devices will no longer be monitored.
1370//
1371// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1372// with awserr.Error's Code and Message methods to get detailed information about
1373// the error.
1374//
1375// See the AWS API reference guide for Amazon Location Service's
1376// API operation DeleteGeofenceCollection for usage and error information.
1377//
1378// Returned Error Types:
1379//   * InternalServerException
1380//   The request has failed to process because of an unknown server error, exception,
1381//   or failure.
1382//
1383//   * ResourceNotFoundException
1384//   The resource that you've entered was not found in your AWS account.
1385//
1386//   * AccessDeniedException
1387//   The request was denied because of insufficient access or permissions. Check
1388//   with an administrator to verify your permissions.
1389//
1390//   * ValidationException
1391//   The input failed to meet the constraints specified by the AWS service.
1392//
1393//   * ThrottlingException
1394//   The request was denied because of request throttling.
1395//
1396// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteGeofenceCollection
1397func (c *LocationService) DeleteGeofenceCollection(input *DeleteGeofenceCollectionInput) (*DeleteGeofenceCollectionOutput, error) {
1398	req, out := c.DeleteGeofenceCollectionRequest(input)
1399	return out, req.Send()
1400}
1401
1402// DeleteGeofenceCollectionWithContext is the same as DeleteGeofenceCollection with the addition of
1403// the ability to pass a context and additional request options.
1404//
1405// See DeleteGeofenceCollection for details on how to use this API operation.
1406//
1407// The context must be non-nil and will be used for request cancellation. If
1408// the context is nil a panic will occur. In the future the SDK may create
1409// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1410// for more information on using Contexts.
1411func (c *LocationService) DeleteGeofenceCollectionWithContext(ctx aws.Context, input *DeleteGeofenceCollectionInput, opts ...request.Option) (*DeleteGeofenceCollectionOutput, error) {
1412	req, out := c.DeleteGeofenceCollectionRequest(input)
1413	req.SetContext(ctx)
1414	req.ApplyOptions(opts...)
1415	return out, req.Send()
1416}
1417
1418const opDeleteMap = "DeleteMap"
1419
1420// DeleteMapRequest generates a "aws/request.Request" representing the
1421// client's request for the DeleteMap operation. The "output" return
1422// value will be populated with the request's response once the request completes
1423// successfully.
1424//
1425// Use "Send" method on the returned Request to send the API call to the service.
1426// the "output" return value is not valid until after Send returns without error.
1427//
1428// See DeleteMap for more information on using the DeleteMap
1429// API call, and error handling.
1430//
1431// This method is useful when you want to inject custom logic or configuration
1432// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1433//
1434//
1435//    // Example sending a request using the DeleteMapRequest method.
1436//    req, resp := client.DeleteMapRequest(params)
1437//
1438//    err := req.Send()
1439//    if err == nil { // resp is now filled
1440//        fmt.Println(resp)
1441//    }
1442//
1443// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteMap
1444func (c *LocationService) DeleteMapRequest(input *DeleteMapInput) (req *request.Request, output *DeleteMapOutput) {
1445	op := &request.Operation{
1446		Name:       opDeleteMap,
1447		HTTPMethod: "DELETE",
1448		HTTPPath:   "/maps/v0/maps/{MapName}",
1449	}
1450
1451	if input == nil {
1452		input = &DeleteMapInput{}
1453	}
1454
1455	output = &DeleteMapOutput{}
1456	req = c.newRequest(op, input, output)
1457	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1458	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
1459	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1460	return
1461}
1462
1463// DeleteMap API operation for Amazon Location Service.
1464//
1465// Deletes a map resource from your AWS account.
1466//
1467// This operation deletes the resource permanently. If the map is being used
1468// in an application, the map may not render.
1469//
1470// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1471// with awserr.Error's Code and Message methods to get detailed information about
1472// the error.
1473//
1474// See the AWS API reference guide for Amazon Location Service's
1475// API operation DeleteMap for usage and error information.
1476//
1477// Returned Error Types:
1478//   * InternalServerException
1479//   The request has failed to process because of an unknown server error, exception,
1480//   or failure.
1481//
1482//   * ResourceNotFoundException
1483//   The resource that you've entered was not found in your AWS account.
1484//
1485//   * AccessDeniedException
1486//   The request was denied because of insufficient access or permissions. Check
1487//   with an administrator to verify your permissions.
1488//
1489//   * ValidationException
1490//   The input failed to meet the constraints specified by the AWS service.
1491//
1492//   * ThrottlingException
1493//   The request was denied because of request throttling.
1494//
1495// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteMap
1496func (c *LocationService) DeleteMap(input *DeleteMapInput) (*DeleteMapOutput, error) {
1497	req, out := c.DeleteMapRequest(input)
1498	return out, req.Send()
1499}
1500
1501// DeleteMapWithContext is the same as DeleteMap with the addition of
1502// the ability to pass a context and additional request options.
1503//
1504// See DeleteMap for details on how to use this API operation.
1505//
1506// The context must be non-nil and will be used for request cancellation. If
1507// the context is nil a panic will occur. In the future the SDK may create
1508// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1509// for more information on using Contexts.
1510func (c *LocationService) DeleteMapWithContext(ctx aws.Context, input *DeleteMapInput, opts ...request.Option) (*DeleteMapOutput, error) {
1511	req, out := c.DeleteMapRequest(input)
1512	req.SetContext(ctx)
1513	req.ApplyOptions(opts...)
1514	return out, req.Send()
1515}
1516
1517const opDeletePlaceIndex = "DeletePlaceIndex"
1518
1519// DeletePlaceIndexRequest generates a "aws/request.Request" representing the
1520// client's request for the DeletePlaceIndex operation. The "output" return
1521// value will be populated with the request's response once the request completes
1522// successfully.
1523//
1524// Use "Send" method on the returned Request to send the API call to the service.
1525// the "output" return value is not valid until after Send returns without error.
1526//
1527// See DeletePlaceIndex for more information on using the DeletePlaceIndex
1528// API call, and error handling.
1529//
1530// This method is useful when you want to inject custom logic or configuration
1531// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1532//
1533//
1534//    // Example sending a request using the DeletePlaceIndexRequest method.
1535//    req, resp := client.DeletePlaceIndexRequest(params)
1536//
1537//    err := req.Send()
1538//    if err == nil { // resp is now filled
1539//        fmt.Println(resp)
1540//    }
1541//
1542// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeletePlaceIndex
1543func (c *LocationService) DeletePlaceIndexRequest(input *DeletePlaceIndexInput) (req *request.Request, output *DeletePlaceIndexOutput) {
1544	op := &request.Operation{
1545		Name:       opDeletePlaceIndex,
1546		HTTPMethod: "DELETE",
1547		HTTPPath:   "/places/v0/indexes/{IndexName}",
1548	}
1549
1550	if input == nil {
1551		input = &DeletePlaceIndexInput{}
1552	}
1553
1554	output = &DeletePlaceIndexOutput{}
1555	req = c.newRequest(op, input, output)
1556	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1557	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
1558	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1559	return
1560}
1561
1562// DeletePlaceIndex API operation for Amazon Location Service.
1563//
1564// Deletes a place index resource from your AWS account.
1565//
1566// This operation deletes the resource permanently.
1567//
1568// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1569// with awserr.Error's Code and Message methods to get detailed information about
1570// the error.
1571//
1572// See the AWS API reference guide for Amazon Location Service's
1573// API operation DeletePlaceIndex for usage and error information.
1574//
1575// Returned Error Types:
1576//   * InternalServerException
1577//   The request has failed to process because of an unknown server error, exception,
1578//   or failure.
1579//
1580//   * ResourceNotFoundException
1581//   The resource that you've entered was not found in your AWS account.
1582//
1583//   * AccessDeniedException
1584//   The request was denied because of insufficient access or permissions. Check
1585//   with an administrator to verify your permissions.
1586//
1587//   * ValidationException
1588//   The input failed to meet the constraints specified by the AWS service.
1589//
1590//   * ThrottlingException
1591//   The request was denied because of request throttling.
1592//
1593// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeletePlaceIndex
1594func (c *LocationService) DeletePlaceIndex(input *DeletePlaceIndexInput) (*DeletePlaceIndexOutput, error) {
1595	req, out := c.DeletePlaceIndexRequest(input)
1596	return out, req.Send()
1597}
1598
1599// DeletePlaceIndexWithContext is the same as DeletePlaceIndex with the addition of
1600// the ability to pass a context and additional request options.
1601//
1602// See DeletePlaceIndex for details on how to use this API operation.
1603//
1604// The context must be non-nil and will be used for request cancellation. If
1605// the context is nil a panic will occur. In the future the SDK may create
1606// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1607// for more information on using Contexts.
1608func (c *LocationService) DeletePlaceIndexWithContext(ctx aws.Context, input *DeletePlaceIndexInput, opts ...request.Option) (*DeletePlaceIndexOutput, error) {
1609	req, out := c.DeletePlaceIndexRequest(input)
1610	req.SetContext(ctx)
1611	req.ApplyOptions(opts...)
1612	return out, req.Send()
1613}
1614
1615const opDeleteRouteCalculator = "DeleteRouteCalculator"
1616
1617// DeleteRouteCalculatorRequest generates a "aws/request.Request" representing the
1618// client's request for the DeleteRouteCalculator operation. The "output" return
1619// value will be populated with the request's response once the request completes
1620// successfully.
1621//
1622// Use "Send" method on the returned Request to send the API call to the service.
1623// the "output" return value is not valid until after Send returns without error.
1624//
1625// See DeleteRouteCalculator for more information on using the DeleteRouteCalculator
1626// API call, and error handling.
1627//
1628// This method is useful when you want to inject custom logic or configuration
1629// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1630//
1631//
1632//    // Example sending a request using the DeleteRouteCalculatorRequest method.
1633//    req, resp := client.DeleteRouteCalculatorRequest(params)
1634//
1635//    err := req.Send()
1636//    if err == nil { // resp is now filled
1637//        fmt.Println(resp)
1638//    }
1639//
1640// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteRouteCalculator
1641func (c *LocationService) DeleteRouteCalculatorRequest(input *DeleteRouteCalculatorInput) (req *request.Request, output *DeleteRouteCalculatorOutput) {
1642	op := &request.Operation{
1643		Name:       opDeleteRouteCalculator,
1644		HTTPMethod: "DELETE",
1645		HTTPPath:   "/routes/v0/calculators/{CalculatorName}",
1646	}
1647
1648	if input == nil {
1649		input = &DeleteRouteCalculatorInput{}
1650	}
1651
1652	output = &DeleteRouteCalculatorOutput{}
1653	req = c.newRequest(op, input, output)
1654	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1655	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("routes.", nil))
1656	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1657	return
1658}
1659
1660// DeleteRouteCalculator API operation for Amazon Location Service.
1661//
1662// Deletes a route calculator resource from your AWS account.
1663//
1664// This operation deletes the resource permanently.
1665//
1666// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1667// with awserr.Error's Code and Message methods to get detailed information about
1668// the error.
1669//
1670// See the AWS API reference guide for Amazon Location Service's
1671// API operation DeleteRouteCalculator for usage and error information.
1672//
1673// Returned Error Types:
1674//   * InternalServerException
1675//   The request has failed to process because of an unknown server error, exception,
1676//   or failure.
1677//
1678//   * ResourceNotFoundException
1679//   The resource that you've entered was not found in your AWS account.
1680//
1681//   * AccessDeniedException
1682//   The request was denied because of insufficient access or permissions. Check
1683//   with an administrator to verify your permissions.
1684//
1685//   * ValidationException
1686//   The input failed to meet the constraints specified by the AWS service.
1687//
1688//   * ThrottlingException
1689//   The request was denied because of request throttling.
1690//
1691// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteRouteCalculator
1692func (c *LocationService) DeleteRouteCalculator(input *DeleteRouteCalculatorInput) (*DeleteRouteCalculatorOutput, error) {
1693	req, out := c.DeleteRouteCalculatorRequest(input)
1694	return out, req.Send()
1695}
1696
1697// DeleteRouteCalculatorWithContext is the same as DeleteRouteCalculator with the addition of
1698// the ability to pass a context and additional request options.
1699//
1700// See DeleteRouteCalculator for details on how to use this API operation.
1701//
1702// The context must be non-nil and will be used for request cancellation. If
1703// the context is nil a panic will occur. In the future the SDK may create
1704// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1705// for more information on using Contexts.
1706func (c *LocationService) DeleteRouteCalculatorWithContext(ctx aws.Context, input *DeleteRouteCalculatorInput, opts ...request.Option) (*DeleteRouteCalculatorOutput, error) {
1707	req, out := c.DeleteRouteCalculatorRequest(input)
1708	req.SetContext(ctx)
1709	req.ApplyOptions(opts...)
1710	return out, req.Send()
1711}
1712
1713const opDeleteTracker = "DeleteTracker"
1714
1715// DeleteTrackerRequest generates a "aws/request.Request" representing the
1716// client's request for the DeleteTracker operation. The "output" return
1717// value will be populated with the request's response once the request completes
1718// successfully.
1719//
1720// Use "Send" method on the returned Request to send the API call to the service.
1721// the "output" return value is not valid until after Send returns without error.
1722//
1723// See DeleteTracker for more information on using the DeleteTracker
1724// API call, and error handling.
1725//
1726// This method is useful when you want to inject custom logic or configuration
1727// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1728//
1729//
1730//    // Example sending a request using the DeleteTrackerRequest method.
1731//    req, resp := client.DeleteTrackerRequest(params)
1732//
1733//    err := req.Send()
1734//    if err == nil { // resp is now filled
1735//        fmt.Println(resp)
1736//    }
1737//
1738// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteTracker
1739func (c *LocationService) DeleteTrackerRequest(input *DeleteTrackerInput) (req *request.Request, output *DeleteTrackerOutput) {
1740	op := &request.Operation{
1741		Name:       opDeleteTracker,
1742		HTTPMethod: "DELETE",
1743		HTTPPath:   "/tracking/v0/trackers/{TrackerName}",
1744	}
1745
1746	if input == nil {
1747		input = &DeleteTrackerInput{}
1748	}
1749
1750	output = &DeleteTrackerOutput{}
1751	req = c.newRequest(op, input, output)
1752	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1753	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
1754	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1755	return
1756}
1757
1758// DeleteTracker API operation for Amazon Location Service.
1759//
1760// Deletes a tracker resource from your AWS account.
1761//
1762// This operation deletes the resource permanently. If the tracker resource
1763// is in use, you may encounter an error. Make sure that the target resource
1764// isn't a dependency for your applications.
1765//
1766// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1767// with awserr.Error's Code and Message methods to get detailed information about
1768// the error.
1769//
1770// See the AWS API reference guide for Amazon Location Service's
1771// API operation DeleteTracker for usage and error information.
1772//
1773// Returned Error Types:
1774//   * InternalServerException
1775//   The request has failed to process because of an unknown server error, exception,
1776//   or failure.
1777//
1778//   * ResourceNotFoundException
1779//   The resource that you've entered was not found in your AWS account.
1780//
1781//   * AccessDeniedException
1782//   The request was denied because of insufficient access or permissions. Check
1783//   with an administrator to verify your permissions.
1784//
1785//   * ValidationException
1786//   The input failed to meet the constraints specified by the AWS service.
1787//
1788//   * ThrottlingException
1789//   The request was denied because of request throttling.
1790//
1791// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteTracker
1792func (c *LocationService) DeleteTracker(input *DeleteTrackerInput) (*DeleteTrackerOutput, error) {
1793	req, out := c.DeleteTrackerRequest(input)
1794	return out, req.Send()
1795}
1796
1797// DeleteTrackerWithContext is the same as DeleteTracker with the addition of
1798// the ability to pass a context and additional request options.
1799//
1800// See DeleteTracker for details on how to use this API operation.
1801//
1802// The context must be non-nil and will be used for request cancellation. If
1803// the context is nil a panic will occur. In the future the SDK may create
1804// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1805// for more information on using Contexts.
1806func (c *LocationService) DeleteTrackerWithContext(ctx aws.Context, input *DeleteTrackerInput, opts ...request.Option) (*DeleteTrackerOutput, error) {
1807	req, out := c.DeleteTrackerRequest(input)
1808	req.SetContext(ctx)
1809	req.ApplyOptions(opts...)
1810	return out, req.Send()
1811}
1812
1813const opDescribeGeofenceCollection = "DescribeGeofenceCollection"
1814
1815// DescribeGeofenceCollectionRequest generates a "aws/request.Request" representing the
1816// client's request for the DescribeGeofenceCollection operation. The "output" return
1817// value will be populated with the request's response once the request completes
1818// successfully.
1819//
1820// Use "Send" method on the returned Request to send the API call to the service.
1821// the "output" return value is not valid until after Send returns without error.
1822//
1823// See DescribeGeofenceCollection for more information on using the DescribeGeofenceCollection
1824// API call, and error handling.
1825//
1826// This method is useful when you want to inject custom logic or configuration
1827// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1828//
1829//
1830//    // Example sending a request using the DescribeGeofenceCollectionRequest method.
1831//    req, resp := client.DescribeGeofenceCollectionRequest(params)
1832//
1833//    err := req.Send()
1834//    if err == nil { // resp is now filled
1835//        fmt.Println(resp)
1836//    }
1837//
1838// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeGeofenceCollection
1839func (c *LocationService) DescribeGeofenceCollectionRequest(input *DescribeGeofenceCollectionInput) (req *request.Request, output *DescribeGeofenceCollectionOutput) {
1840	op := &request.Operation{
1841		Name:       opDescribeGeofenceCollection,
1842		HTTPMethod: "GET",
1843		HTTPPath:   "/geofencing/v0/collections/{CollectionName}",
1844	}
1845
1846	if input == nil {
1847		input = &DescribeGeofenceCollectionInput{}
1848	}
1849
1850	output = &DescribeGeofenceCollectionOutput{}
1851	req = c.newRequest(op, input, output)
1852	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
1853	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1854	return
1855}
1856
1857// DescribeGeofenceCollection API operation for Amazon Location Service.
1858//
1859// Retrieves the geofence collection details.
1860//
1861// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1862// with awserr.Error's Code and Message methods to get detailed information about
1863// the error.
1864//
1865// See the AWS API reference guide for Amazon Location Service's
1866// API operation DescribeGeofenceCollection for usage and error information.
1867//
1868// Returned Error Types:
1869//   * InternalServerException
1870//   The request has failed to process because of an unknown server error, exception,
1871//   or failure.
1872//
1873//   * ResourceNotFoundException
1874//   The resource that you've entered was not found in your AWS account.
1875//
1876//   * AccessDeniedException
1877//   The request was denied because of insufficient access or permissions. Check
1878//   with an administrator to verify your permissions.
1879//
1880//   * ValidationException
1881//   The input failed to meet the constraints specified by the AWS service.
1882//
1883//   * ThrottlingException
1884//   The request was denied because of request throttling.
1885//
1886// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeGeofenceCollection
1887func (c *LocationService) DescribeGeofenceCollection(input *DescribeGeofenceCollectionInput) (*DescribeGeofenceCollectionOutput, error) {
1888	req, out := c.DescribeGeofenceCollectionRequest(input)
1889	return out, req.Send()
1890}
1891
1892// DescribeGeofenceCollectionWithContext is the same as DescribeGeofenceCollection with the addition of
1893// the ability to pass a context and additional request options.
1894//
1895// See DescribeGeofenceCollection for details on how to use this API operation.
1896//
1897// The context must be non-nil and will be used for request cancellation. If
1898// the context is nil a panic will occur. In the future the SDK may create
1899// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1900// for more information on using Contexts.
1901func (c *LocationService) DescribeGeofenceCollectionWithContext(ctx aws.Context, input *DescribeGeofenceCollectionInput, opts ...request.Option) (*DescribeGeofenceCollectionOutput, error) {
1902	req, out := c.DescribeGeofenceCollectionRequest(input)
1903	req.SetContext(ctx)
1904	req.ApplyOptions(opts...)
1905	return out, req.Send()
1906}
1907
1908const opDescribeMap = "DescribeMap"
1909
1910// DescribeMapRequest generates a "aws/request.Request" representing the
1911// client's request for the DescribeMap operation. The "output" return
1912// value will be populated with the request's response once the request completes
1913// successfully.
1914//
1915// Use "Send" method on the returned Request to send the API call to the service.
1916// the "output" return value is not valid until after Send returns without error.
1917//
1918// See DescribeMap for more information on using the DescribeMap
1919// API call, and error handling.
1920//
1921// This method is useful when you want to inject custom logic or configuration
1922// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1923//
1924//
1925//    // Example sending a request using the DescribeMapRequest method.
1926//    req, resp := client.DescribeMapRequest(params)
1927//
1928//    err := req.Send()
1929//    if err == nil { // resp is now filled
1930//        fmt.Println(resp)
1931//    }
1932//
1933// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeMap
1934func (c *LocationService) DescribeMapRequest(input *DescribeMapInput) (req *request.Request, output *DescribeMapOutput) {
1935	op := &request.Operation{
1936		Name:       opDescribeMap,
1937		HTTPMethod: "GET",
1938		HTTPPath:   "/maps/v0/maps/{MapName}",
1939	}
1940
1941	if input == nil {
1942		input = &DescribeMapInput{}
1943	}
1944
1945	output = &DescribeMapOutput{}
1946	req = c.newRequest(op, input, output)
1947	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
1948	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1949	return
1950}
1951
1952// DescribeMap API operation for Amazon Location Service.
1953//
1954// Retrieves the map resource details.
1955//
1956// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1957// with awserr.Error's Code and Message methods to get detailed information about
1958// the error.
1959//
1960// See the AWS API reference guide for Amazon Location Service's
1961// API operation DescribeMap for usage and error information.
1962//
1963// Returned Error Types:
1964//   * InternalServerException
1965//   The request has failed to process because of an unknown server error, exception,
1966//   or failure.
1967//
1968//   * ResourceNotFoundException
1969//   The resource that you've entered was not found in your AWS account.
1970//
1971//   * AccessDeniedException
1972//   The request was denied because of insufficient access or permissions. Check
1973//   with an administrator to verify your permissions.
1974//
1975//   * ValidationException
1976//   The input failed to meet the constraints specified by the AWS service.
1977//
1978//   * ThrottlingException
1979//   The request was denied because of request throttling.
1980//
1981// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeMap
1982func (c *LocationService) DescribeMap(input *DescribeMapInput) (*DescribeMapOutput, error) {
1983	req, out := c.DescribeMapRequest(input)
1984	return out, req.Send()
1985}
1986
1987// DescribeMapWithContext is the same as DescribeMap with the addition of
1988// the ability to pass a context and additional request options.
1989//
1990// See DescribeMap for details on how to use this API operation.
1991//
1992// The context must be non-nil and will be used for request cancellation. If
1993// the context is nil a panic will occur. In the future the SDK may create
1994// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1995// for more information on using Contexts.
1996func (c *LocationService) DescribeMapWithContext(ctx aws.Context, input *DescribeMapInput, opts ...request.Option) (*DescribeMapOutput, error) {
1997	req, out := c.DescribeMapRequest(input)
1998	req.SetContext(ctx)
1999	req.ApplyOptions(opts...)
2000	return out, req.Send()
2001}
2002
2003const opDescribePlaceIndex = "DescribePlaceIndex"
2004
2005// DescribePlaceIndexRequest generates a "aws/request.Request" representing the
2006// client's request for the DescribePlaceIndex operation. The "output" return
2007// value will be populated with the request's response once the request completes
2008// successfully.
2009//
2010// Use "Send" method on the returned Request to send the API call to the service.
2011// the "output" return value is not valid until after Send returns without error.
2012//
2013// See DescribePlaceIndex for more information on using the DescribePlaceIndex
2014// API call, and error handling.
2015//
2016// This method is useful when you want to inject custom logic or configuration
2017// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2018//
2019//
2020//    // Example sending a request using the DescribePlaceIndexRequest method.
2021//    req, resp := client.DescribePlaceIndexRequest(params)
2022//
2023//    err := req.Send()
2024//    if err == nil { // resp is now filled
2025//        fmt.Println(resp)
2026//    }
2027//
2028// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribePlaceIndex
2029func (c *LocationService) DescribePlaceIndexRequest(input *DescribePlaceIndexInput) (req *request.Request, output *DescribePlaceIndexOutput) {
2030	op := &request.Operation{
2031		Name:       opDescribePlaceIndex,
2032		HTTPMethod: "GET",
2033		HTTPPath:   "/places/v0/indexes/{IndexName}",
2034	}
2035
2036	if input == nil {
2037		input = &DescribePlaceIndexInput{}
2038	}
2039
2040	output = &DescribePlaceIndexOutput{}
2041	req = c.newRequest(op, input, output)
2042	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
2043	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2044	return
2045}
2046
2047// DescribePlaceIndex API operation for Amazon Location Service.
2048//
2049// Retrieves the place index resource details.
2050//
2051// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2052// with awserr.Error's Code and Message methods to get detailed information about
2053// the error.
2054//
2055// See the AWS API reference guide for Amazon Location Service's
2056// API operation DescribePlaceIndex for usage and error information.
2057//
2058// Returned Error Types:
2059//   * InternalServerException
2060//   The request has failed to process because of an unknown server error, exception,
2061//   or failure.
2062//
2063//   * ResourceNotFoundException
2064//   The resource that you've entered was not found in your AWS account.
2065//
2066//   * AccessDeniedException
2067//   The request was denied because of insufficient access or permissions. Check
2068//   with an administrator to verify your permissions.
2069//
2070//   * ValidationException
2071//   The input failed to meet the constraints specified by the AWS service.
2072//
2073//   * ThrottlingException
2074//   The request was denied because of request throttling.
2075//
2076// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribePlaceIndex
2077func (c *LocationService) DescribePlaceIndex(input *DescribePlaceIndexInput) (*DescribePlaceIndexOutput, error) {
2078	req, out := c.DescribePlaceIndexRequest(input)
2079	return out, req.Send()
2080}
2081
2082// DescribePlaceIndexWithContext is the same as DescribePlaceIndex with the addition of
2083// the ability to pass a context and additional request options.
2084//
2085// See DescribePlaceIndex for details on how to use this API operation.
2086//
2087// The context must be non-nil and will be used for request cancellation. If
2088// the context is nil a panic will occur. In the future the SDK may create
2089// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2090// for more information on using Contexts.
2091func (c *LocationService) DescribePlaceIndexWithContext(ctx aws.Context, input *DescribePlaceIndexInput, opts ...request.Option) (*DescribePlaceIndexOutput, error) {
2092	req, out := c.DescribePlaceIndexRequest(input)
2093	req.SetContext(ctx)
2094	req.ApplyOptions(opts...)
2095	return out, req.Send()
2096}
2097
2098const opDescribeRouteCalculator = "DescribeRouteCalculator"
2099
2100// DescribeRouteCalculatorRequest generates a "aws/request.Request" representing the
2101// client's request for the DescribeRouteCalculator operation. The "output" return
2102// value will be populated with the request's response once the request completes
2103// successfully.
2104//
2105// Use "Send" method on the returned Request to send the API call to the service.
2106// the "output" return value is not valid until after Send returns without error.
2107//
2108// See DescribeRouteCalculator for more information on using the DescribeRouteCalculator
2109// API call, and error handling.
2110//
2111// This method is useful when you want to inject custom logic or configuration
2112// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2113//
2114//
2115//    // Example sending a request using the DescribeRouteCalculatorRequest method.
2116//    req, resp := client.DescribeRouteCalculatorRequest(params)
2117//
2118//    err := req.Send()
2119//    if err == nil { // resp is now filled
2120//        fmt.Println(resp)
2121//    }
2122//
2123// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeRouteCalculator
2124func (c *LocationService) DescribeRouteCalculatorRequest(input *DescribeRouteCalculatorInput) (req *request.Request, output *DescribeRouteCalculatorOutput) {
2125	op := &request.Operation{
2126		Name:       opDescribeRouteCalculator,
2127		HTTPMethod: "GET",
2128		HTTPPath:   "/routes/v0/calculators/{CalculatorName}",
2129	}
2130
2131	if input == nil {
2132		input = &DescribeRouteCalculatorInput{}
2133	}
2134
2135	output = &DescribeRouteCalculatorOutput{}
2136	req = c.newRequest(op, input, output)
2137	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("routes.", nil))
2138	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2139	return
2140}
2141
2142// DescribeRouteCalculator API operation for Amazon Location Service.
2143//
2144// Retrieves the route calculator resource details.
2145//
2146// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2147// with awserr.Error's Code and Message methods to get detailed information about
2148// the error.
2149//
2150// See the AWS API reference guide for Amazon Location Service's
2151// API operation DescribeRouteCalculator for usage and error information.
2152//
2153// Returned Error Types:
2154//   * InternalServerException
2155//   The request has failed to process because of an unknown server error, exception,
2156//   or failure.
2157//
2158//   * ResourceNotFoundException
2159//   The resource that you've entered was not found in your AWS account.
2160//
2161//   * AccessDeniedException
2162//   The request was denied because of insufficient access or permissions. Check
2163//   with an administrator to verify your permissions.
2164//
2165//   * ValidationException
2166//   The input failed to meet the constraints specified by the AWS service.
2167//
2168//   * ThrottlingException
2169//   The request was denied because of request throttling.
2170//
2171// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeRouteCalculator
2172func (c *LocationService) DescribeRouteCalculator(input *DescribeRouteCalculatorInput) (*DescribeRouteCalculatorOutput, error) {
2173	req, out := c.DescribeRouteCalculatorRequest(input)
2174	return out, req.Send()
2175}
2176
2177// DescribeRouteCalculatorWithContext is the same as DescribeRouteCalculator with the addition of
2178// the ability to pass a context and additional request options.
2179//
2180// See DescribeRouteCalculator for details on how to use this API operation.
2181//
2182// The context must be non-nil and will be used for request cancellation. If
2183// the context is nil a panic will occur. In the future the SDK may create
2184// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2185// for more information on using Contexts.
2186func (c *LocationService) DescribeRouteCalculatorWithContext(ctx aws.Context, input *DescribeRouteCalculatorInput, opts ...request.Option) (*DescribeRouteCalculatorOutput, error) {
2187	req, out := c.DescribeRouteCalculatorRequest(input)
2188	req.SetContext(ctx)
2189	req.ApplyOptions(opts...)
2190	return out, req.Send()
2191}
2192
2193const opDescribeTracker = "DescribeTracker"
2194
2195// DescribeTrackerRequest generates a "aws/request.Request" representing the
2196// client's request for the DescribeTracker operation. The "output" return
2197// value will be populated with the request's response once the request completes
2198// successfully.
2199//
2200// Use "Send" method on the returned Request to send the API call to the service.
2201// the "output" return value is not valid until after Send returns without error.
2202//
2203// See DescribeTracker for more information on using the DescribeTracker
2204// API call, and error handling.
2205//
2206// This method is useful when you want to inject custom logic or configuration
2207// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2208//
2209//
2210//    // Example sending a request using the DescribeTrackerRequest method.
2211//    req, resp := client.DescribeTrackerRequest(params)
2212//
2213//    err := req.Send()
2214//    if err == nil { // resp is now filled
2215//        fmt.Println(resp)
2216//    }
2217//
2218// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeTracker
2219func (c *LocationService) DescribeTrackerRequest(input *DescribeTrackerInput) (req *request.Request, output *DescribeTrackerOutput) {
2220	op := &request.Operation{
2221		Name:       opDescribeTracker,
2222		HTTPMethod: "GET",
2223		HTTPPath:   "/tracking/v0/trackers/{TrackerName}",
2224	}
2225
2226	if input == nil {
2227		input = &DescribeTrackerInput{}
2228	}
2229
2230	output = &DescribeTrackerOutput{}
2231	req = c.newRequest(op, input, output)
2232	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
2233	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2234	return
2235}
2236
2237// DescribeTracker API operation for Amazon Location Service.
2238//
2239// Retrieves the tracker resource details.
2240//
2241// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2242// with awserr.Error's Code and Message methods to get detailed information about
2243// the error.
2244//
2245// See the AWS API reference guide for Amazon Location Service's
2246// API operation DescribeTracker for usage and error information.
2247//
2248// Returned Error Types:
2249//   * InternalServerException
2250//   The request has failed to process because of an unknown server error, exception,
2251//   or failure.
2252//
2253//   * ResourceNotFoundException
2254//   The resource that you've entered was not found in your AWS account.
2255//
2256//   * AccessDeniedException
2257//   The request was denied because of insufficient access or permissions. Check
2258//   with an administrator to verify your permissions.
2259//
2260//   * ValidationException
2261//   The input failed to meet the constraints specified by the AWS service.
2262//
2263//   * ThrottlingException
2264//   The request was denied because of request throttling.
2265//
2266// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeTracker
2267func (c *LocationService) DescribeTracker(input *DescribeTrackerInput) (*DescribeTrackerOutput, error) {
2268	req, out := c.DescribeTrackerRequest(input)
2269	return out, req.Send()
2270}
2271
2272// DescribeTrackerWithContext is the same as DescribeTracker with the addition of
2273// the ability to pass a context and additional request options.
2274//
2275// See DescribeTracker for details on how to use this API operation.
2276//
2277// The context must be non-nil and will be used for request cancellation. If
2278// the context is nil a panic will occur. In the future the SDK may create
2279// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2280// for more information on using Contexts.
2281func (c *LocationService) DescribeTrackerWithContext(ctx aws.Context, input *DescribeTrackerInput, opts ...request.Option) (*DescribeTrackerOutput, error) {
2282	req, out := c.DescribeTrackerRequest(input)
2283	req.SetContext(ctx)
2284	req.ApplyOptions(opts...)
2285	return out, req.Send()
2286}
2287
2288const opDisassociateTrackerConsumer = "DisassociateTrackerConsumer"
2289
2290// DisassociateTrackerConsumerRequest generates a "aws/request.Request" representing the
2291// client's request for the DisassociateTrackerConsumer operation. The "output" return
2292// value will be populated with the request's response once the request completes
2293// successfully.
2294//
2295// Use "Send" method on the returned Request to send the API call to the service.
2296// the "output" return value is not valid until after Send returns without error.
2297//
2298// See DisassociateTrackerConsumer for more information on using the DisassociateTrackerConsumer
2299// API call, and error handling.
2300//
2301// This method is useful when you want to inject custom logic or configuration
2302// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2303//
2304//
2305//    // Example sending a request using the DisassociateTrackerConsumerRequest method.
2306//    req, resp := client.DisassociateTrackerConsumerRequest(params)
2307//
2308//    err := req.Send()
2309//    if err == nil { // resp is now filled
2310//        fmt.Println(resp)
2311//    }
2312//
2313// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DisassociateTrackerConsumer
2314func (c *LocationService) DisassociateTrackerConsumerRequest(input *DisassociateTrackerConsumerInput) (req *request.Request, output *DisassociateTrackerConsumerOutput) {
2315	op := &request.Operation{
2316		Name:       opDisassociateTrackerConsumer,
2317		HTTPMethod: "DELETE",
2318		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/consumers/{ConsumerArn}",
2319	}
2320
2321	if input == nil {
2322		input = &DisassociateTrackerConsumerInput{}
2323	}
2324
2325	output = &DisassociateTrackerConsumerOutput{}
2326	req = c.newRequest(op, input, output)
2327	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2328	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
2329	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2330	return
2331}
2332
2333// DisassociateTrackerConsumer API operation for Amazon Location Service.
2334//
2335// Removes the association between a tracker resource and a geofence collection.
2336//
2337// Once you unlink a tracker resource from a geofence collection, the tracker
2338// positions will no longer be automatically evaluated against geofences.
2339//
2340// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2341// with awserr.Error's Code and Message methods to get detailed information about
2342// the error.
2343//
2344// See the AWS API reference guide for Amazon Location Service's
2345// API operation DisassociateTrackerConsumer for usage and error information.
2346//
2347// Returned Error Types:
2348//   * InternalServerException
2349//   The request has failed to process because of an unknown server error, exception,
2350//   or failure.
2351//
2352//   * ResourceNotFoundException
2353//   The resource that you've entered was not found in your AWS account.
2354//
2355//   * AccessDeniedException
2356//   The request was denied because of insufficient access or permissions. Check
2357//   with an administrator to verify your permissions.
2358//
2359//   * ValidationException
2360//   The input failed to meet the constraints specified by the AWS service.
2361//
2362//   * ThrottlingException
2363//   The request was denied because of request throttling.
2364//
2365// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DisassociateTrackerConsumer
2366func (c *LocationService) DisassociateTrackerConsumer(input *DisassociateTrackerConsumerInput) (*DisassociateTrackerConsumerOutput, error) {
2367	req, out := c.DisassociateTrackerConsumerRequest(input)
2368	return out, req.Send()
2369}
2370
2371// DisassociateTrackerConsumerWithContext is the same as DisassociateTrackerConsumer with the addition of
2372// the ability to pass a context and additional request options.
2373//
2374// See DisassociateTrackerConsumer for details on how to use this API operation.
2375//
2376// The context must be non-nil and will be used for request cancellation. If
2377// the context is nil a panic will occur. In the future the SDK may create
2378// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2379// for more information on using Contexts.
2380func (c *LocationService) DisassociateTrackerConsumerWithContext(ctx aws.Context, input *DisassociateTrackerConsumerInput, opts ...request.Option) (*DisassociateTrackerConsumerOutput, error) {
2381	req, out := c.DisassociateTrackerConsumerRequest(input)
2382	req.SetContext(ctx)
2383	req.ApplyOptions(opts...)
2384	return out, req.Send()
2385}
2386
2387const opGetDevicePosition = "GetDevicePosition"
2388
2389// GetDevicePositionRequest generates a "aws/request.Request" representing the
2390// client's request for the GetDevicePosition operation. The "output" return
2391// value will be populated with the request's response once the request completes
2392// successfully.
2393//
2394// Use "Send" method on the returned Request to send the API call to the service.
2395// the "output" return value is not valid until after Send returns without error.
2396//
2397// See GetDevicePosition for more information on using the GetDevicePosition
2398// API call, and error handling.
2399//
2400// This method is useful when you want to inject custom logic or configuration
2401// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2402//
2403//
2404//    // Example sending a request using the GetDevicePositionRequest method.
2405//    req, resp := client.GetDevicePositionRequest(params)
2406//
2407//    err := req.Send()
2408//    if err == nil { // resp is now filled
2409//        fmt.Println(resp)
2410//    }
2411//
2412// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetDevicePosition
2413func (c *LocationService) GetDevicePositionRequest(input *GetDevicePositionInput) (req *request.Request, output *GetDevicePositionOutput) {
2414	op := &request.Operation{
2415		Name:       opGetDevicePosition,
2416		HTTPMethod: "GET",
2417		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/devices/{DeviceId}/positions/latest",
2418	}
2419
2420	if input == nil {
2421		input = &GetDevicePositionInput{}
2422	}
2423
2424	output = &GetDevicePositionOutput{}
2425	req = c.newRequest(op, input, output)
2426	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
2427	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2428	return
2429}
2430
2431// GetDevicePosition API operation for Amazon Location Service.
2432//
2433// Retrieves a device's most recent position according to its sample time.
2434//
2435// Device positions are deleted after 30 days.
2436//
2437// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2438// with awserr.Error's Code and Message methods to get detailed information about
2439// the error.
2440//
2441// See the AWS API reference guide for Amazon Location Service's
2442// API operation GetDevicePosition for usage and error information.
2443//
2444// Returned Error Types:
2445//   * InternalServerException
2446//   The request has failed to process because of an unknown server error, exception,
2447//   or failure.
2448//
2449//   * ResourceNotFoundException
2450//   The resource that you've entered was not found in your AWS account.
2451//
2452//   * AccessDeniedException
2453//   The request was denied because of insufficient access or permissions. Check
2454//   with an administrator to verify your permissions.
2455//
2456//   * ValidationException
2457//   The input failed to meet the constraints specified by the AWS service.
2458//
2459//   * ThrottlingException
2460//   The request was denied because of request throttling.
2461//
2462// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetDevicePosition
2463func (c *LocationService) GetDevicePosition(input *GetDevicePositionInput) (*GetDevicePositionOutput, error) {
2464	req, out := c.GetDevicePositionRequest(input)
2465	return out, req.Send()
2466}
2467
2468// GetDevicePositionWithContext is the same as GetDevicePosition with the addition of
2469// the ability to pass a context and additional request options.
2470//
2471// See GetDevicePosition for details on how to use this API operation.
2472//
2473// The context must be non-nil and will be used for request cancellation. If
2474// the context is nil a panic will occur. In the future the SDK may create
2475// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2476// for more information on using Contexts.
2477func (c *LocationService) GetDevicePositionWithContext(ctx aws.Context, input *GetDevicePositionInput, opts ...request.Option) (*GetDevicePositionOutput, error) {
2478	req, out := c.GetDevicePositionRequest(input)
2479	req.SetContext(ctx)
2480	req.ApplyOptions(opts...)
2481	return out, req.Send()
2482}
2483
2484const opGetDevicePositionHistory = "GetDevicePositionHistory"
2485
2486// GetDevicePositionHistoryRequest generates a "aws/request.Request" representing the
2487// client's request for the GetDevicePositionHistory operation. The "output" return
2488// value will be populated with the request's response once the request completes
2489// successfully.
2490//
2491// Use "Send" method on the returned Request to send the API call to the service.
2492// the "output" return value is not valid until after Send returns without error.
2493//
2494// See GetDevicePositionHistory for more information on using the GetDevicePositionHistory
2495// API call, and error handling.
2496//
2497// This method is useful when you want to inject custom logic or configuration
2498// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2499//
2500//
2501//    // Example sending a request using the GetDevicePositionHistoryRequest method.
2502//    req, resp := client.GetDevicePositionHistoryRequest(params)
2503//
2504//    err := req.Send()
2505//    if err == nil { // resp is now filled
2506//        fmt.Println(resp)
2507//    }
2508//
2509// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetDevicePositionHistory
2510func (c *LocationService) GetDevicePositionHistoryRequest(input *GetDevicePositionHistoryInput) (req *request.Request, output *GetDevicePositionHistoryOutput) {
2511	op := &request.Operation{
2512		Name:       opGetDevicePositionHistory,
2513		HTTPMethod: "POST",
2514		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/devices/{DeviceId}/list-positions",
2515		Paginator: &request.Paginator{
2516			InputTokens:     []string{"NextToken"},
2517			OutputTokens:    []string{"NextToken"},
2518			LimitToken:      "",
2519			TruncationToken: "",
2520		},
2521	}
2522
2523	if input == nil {
2524		input = &GetDevicePositionHistoryInput{}
2525	}
2526
2527	output = &GetDevicePositionHistoryOutput{}
2528	req = c.newRequest(op, input, output)
2529	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
2530	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2531	return
2532}
2533
2534// GetDevicePositionHistory API operation for Amazon Location Service.
2535//
2536// Retrieves the device position history from a tracker resource within a specified
2537// range of time.
2538//
2539// Device positions are deleted after 30 days.
2540//
2541// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2542// with awserr.Error's Code and Message methods to get detailed information about
2543// the error.
2544//
2545// See the AWS API reference guide for Amazon Location Service's
2546// API operation GetDevicePositionHistory for usage and error information.
2547//
2548// Returned Error Types:
2549//   * InternalServerException
2550//   The request has failed to process because of an unknown server error, exception,
2551//   or failure.
2552//
2553//   * ResourceNotFoundException
2554//   The resource that you've entered was not found in your AWS account.
2555//
2556//   * AccessDeniedException
2557//   The request was denied because of insufficient access or permissions. Check
2558//   with an administrator to verify your permissions.
2559//
2560//   * ValidationException
2561//   The input failed to meet the constraints specified by the AWS service.
2562//
2563//   * ThrottlingException
2564//   The request was denied because of request throttling.
2565//
2566// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetDevicePositionHistory
2567func (c *LocationService) GetDevicePositionHistory(input *GetDevicePositionHistoryInput) (*GetDevicePositionHistoryOutput, error) {
2568	req, out := c.GetDevicePositionHistoryRequest(input)
2569	return out, req.Send()
2570}
2571
2572// GetDevicePositionHistoryWithContext is the same as GetDevicePositionHistory with the addition of
2573// the ability to pass a context and additional request options.
2574//
2575// See GetDevicePositionHistory for details on how to use this API operation.
2576//
2577// The context must be non-nil and will be used for request cancellation. If
2578// the context is nil a panic will occur. In the future the SDK may create
2579// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2580// for more information on using Contexts.
2581func (c *LocationService) GetDevicePositionHistoryWithContext(ctx aws.Context, input *GetDevicePositionHistoryInput, opts ...request.Option) (*GetDevicePositionHistoryOutput, error) {
2582	req, out := c.GetDevicePositionHistoryRequest(input)
2583	req.SetContext(ctx)
2584	req.ApplyOptions(opts...)
2585	return out, req.Send()
2586}
2587
2588// GetDevicePositionHistoryPages iterates over the pages of a GetDevicePositionHistory operation,
2589// calling the "fn" function with the response data for each page. To stop
2590// iterating, return false from the fn function.
2591//
2592// See GetDevicePositionHistory method for more information on how to use this operation.
2593//
2594// Note: This operation can generate multiple requests to a service.
2595//
2596//    // Example iterating over at most 3 pages of a GetDevicePositionHistory operation.
2597//    pageNum := 0
2598//    err := client.GetDevicePositionHistoryPages(params,
2599//        func(page *locationservice.GetDevicePositionHistoryOutput, lastPage bool) bool {
2600//            pageNum++
2601//            fmt.Println(page)
2602//            return pageNum <= 3
2603//        })
2604//
2605func (c *LocationService) GetDevicePositionHistoryPages(input *GetDevicePositionHistoryInput, fn func(*GetDevicePositionHistoryOutput, bool) bool) error {
2606	return c.GetDevicePositionHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
2607}
2608
2609// GetDevicePositionHistoryPagesWithContext same as GetDevicePositionHistoryPages except
2610// it takes a Context and allows setting request options on the pages.
2611//
2612// The context must be non-nil and will be used for request cancellation. If
2613// the context is nil a panic will occur. In the future the SDK may create
2614// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2615// for more information on using Contexts.
2616func (c *LocationService) GetDevicePositionHistoryPagesWithContext(ctx aws.Context, input *GetDevicePositionHistoryInput, fn func(*GetDevicePositionHistoryOutput, bool) bool, opts ...request.Option) error {
2617	p := request.Pagination{
2618		NewRequest: func() (*request.Request, error) {
2619			var inCpy *GetDevicePositionHistoryInput
2620			if input != nil {
2621				tmp := *input
2622				inCpy = &tmp
2623			}
2624			req, _ := c.GetDevicePositionHistoryRequest(inCpy)
2625			req.SetContext(ctx)
2626			req.ApplyOptions(opts...)
2627			return req, nil
2628		},
2629	}
2630
2631	for p.Next() {
2632		if !fn(p.Page().(*GetDevicePositionHistoryOutput), !p.HasNextPage()) {
2633			break
2634		}
2635	}
2636
2637	return p.Err()
2638}
2639
2640const opGetGeofence = "GetGeofence"
2641
2642// GetGeofenceRequest generates a "aws/request.Request" representing the
2643// client's request for the GetGeofence operation. The "output" return
2644// value will be populated with the request's response once the request completes
2645// successfully.
2646//
2647// Use "Send" method on the returned Request to send the API call to the service.
2648// the "output" return value is not valid until after Send returns without error.
2649//
2650// See GetGeofence for more information on using the GetGeofence
2651// API call, and error handling.
2652//
2653// This method is useful when you want to inject custom logic or configuration
2654// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2655//
2656//
2657//    // Example sending a request using the GetGeofenceRequest method.
2658//    req, resp := client.GetGeofenceRequest(params)
2659//
2660//    err := req.Send()
2661//    if err == nil { // resp is now filled
2662//        fmt.Println(resp)
2663//    }
2664//
2665// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetGeofence
2666func (c *LocationService) GetGeofenceRequest(input *GetGeofenceInput) (req *request.Request, output *GetGeofenceOutput) {
2667	op := &request.Operation{
2668		Name:       opGetGeofence,
2669		HTTPMethod: "GET",
2670		HTTPPath:   "/geofencing/v0/collections/{CollectionName}/geofences/{GeofenceId}",
2671	}
2672
2673	if input == nil {
2674		input = &GetGeofenceInput{}
2675	}
2676
2677	output = &GetGeofenceOutput{}
2678	req = c.newRequest(op, input, output)
2679	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
2680	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2681	return
2682}
2683
2684// GetGeofence API operation for Amazon Location Service.
2685//
2686// Retrieves the geofence details from a geofence collection.
2687//
2688// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2689// with awserr.Error's Code and Message methods to get detailed information about
2690// the error.
2691//
2692// See the AWS API reference guide for Amazon Location Service's
2693// API operation GetGeofence for usage and error information.
2694//
2695// Returned Error Types:
2696//   * InternalServerException
2697//   The request has failed to process because of an unknown server error, exception,
2698//   or failure.
2699//
2700//   * ResourceNotFoundException
2701//   The resource that you've entered was not found in your AWS account.
2702//
2703//   * AccessDeniedException
2704//   The request was denied because of insufficient access or permissions. Check
2705//   with an administrator to verify your permissions.
2706//
2707//   * ValidationException
2708//   The input failed to meet the constraints specified by the AWS service.
2709//
2710//   * ThrottlingException
2711//   The request was denied because of request throttling.
2712//
2713// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetGeofence
2714func (c *LocationService) GetGeofence(input *GetGeofenceInput) (*GetGeofenceOutput, error) {
2715	req, out := c.GetGeofenceRequest(input)
2716	return out, req.Send()
2717}
2718
2719// GetGeofenceWithContext is the same as GetGeofence with the addition of
2720// the ability to pass a context and additional request options.
2721//
2722// See GetGeofence for details on how to use this API operation.
2723//
2724// The context must be non-nil and will be used for request cancellation. If
2725// the context is nil a panic will occur. In the future the SDK may create
2726// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2727// for more information on using Contexts.
2728func (c *LocationService) GetGeofenceWithContext(ctx aws.Context, input *GetGeofenceInput, opts ...request.Option) (*GetGeofenceOutput, error) {
2729	req, out := c.GetGeofenceRequest(input)
2730	req.SetContext(ctx)
2731	req.ApplyOptions(opts...)
2732	return out, req.Send()
2733}
2734
2735const opGetMapGlyphs = "GetMapGlyphs"
2736
2737// GetMapGlyphsRequest generates a "aws/request.Request" representing the
2738// client's request for the GetMapGlyphs operation. The "output" return
2739// value will be populated with the request's response once the request completes
2740// successfully.
2741//
2742// Use "Send" method on the returned Request to send the API call to the service.
2743// the "output" return value is not valid until after Send returns without error.
2744//
2745// See GetMapGlyphs for more information on using the GetMapGlyphs
2746// API call, and error handling.
2747//
2748// This method is useful when you want to inject custom logic or configuration
2749// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2750//
2751//
2752//    // Example sending a request using the GetMapGlyphsRequest method.
2753//    req, resp := client.GetMapGlyphsRequest(params)
2754//
2755//    err := req.Send()
2756//    if err == nil { // resp is now filled
2757//        fmt.Println(resp)
2758//    }
2759//
2760// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapGlyphs
2761func (c *LocationService) GetMapGlyphsRequest(input *GetMapGlyphsInput) (req *request.Request, output *GetMapGlyphsOutput) {
2762	op := &request.Operation{
2763		Name:       opGetMapGlyphs,
2764		HTTPMethod: "GET",
2765		HTTPPath:   "/maps/v0/maps/{MapName}/glyphs/{FontStack}/{FontUnicodeRange}",
2766	}
2767
2768	if input == nil {
2769		input = &GetMapGlyphsInput{}
2770	}
2771
2772	output = &GetMapGlyphsOutput{}
2773	req = c.newRequest(op, input, output)
2774	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
2775	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2776	return
2777}
2778
2779// GetMapGlyphs API operation for Amazon Location Service.
2780//
2781// Retrieves glyphs used to display labels on a map.
2782//
2783// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2784// with awserr.Error's Code and Message methods to get detailed information about
2785// the error.
2786//
2787// See the AWS API reference guide for Amazon Location Service's
2788// API operation GetMapGlyphs for usage and error information.
2789//
2790// Returned Error Types:
2791//   * InternalServerException
2792//   The request has failed to process because of an unknown server error, exception,
2793//   or failure.
2794//
2795//   * ResourceNotFoundException
2796//   The resource that you've entered was not found in your AWS account.
2797//
2798//   * AccessDeniedException
2799//   The request was denied because of insufficient access or permissions. Check
2800//   with an administrator to verify your permissions.
2801//
2802//   * ValidationException
2803//   The input failed to meet the constraints specified by the AWS service.
2804//
2805//   * ThrottlingException
2806//   The request was denied because of request throttling.
2807//
2808// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapGlyphs
2809func (c *LocationService) GetMapGlyphs(input *GetMapGlyphsInput) (*GetMapGlyphsOutput, error) {
2810	req, out := c.GetMapGlyphsRequest(input)
2811	return out, req.Send()
2812}
2813
2814// GetMapGlyphsWithContext is the same as GetMapGlyphs with the addition of
2815// the ability to pass a context and additional request options.
2816//
2817// See GetMapGlyphs for details on how to use this API operation.
2818//
2819// The context must be non-nil and will be used for request cancellation. If
2820// the context is nil a panic will occur. In the future the SDK may create
2821// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2822// for more information on using Contexts.
2823func (c *LocationService) GetMapGlyphsWithContext(ctx aws.Context, input *GetMapGlyphsInput, opts ...request.Option) (*GetMapGlyphsOutput, error) {
2824	req, out := c.GetMapGlyphsRequest(input)
2825	req.SetContext(ctx)
2826	req.ApplyOptions(opts...)
2827	return out, req.Send()
2828}
2829
2830const opGetMapSprites = "GetMapSprites"
2831
2832// GetMapSpritesRequest generates a "aws/request.Request" representing the
2833// client's request for the GetMapSprites operation. The "output" return
2834// value will be populated with the request's response once the request completes
2835// successfully.
2836//
2837// Use "Send" method on the returned Request to send the API call to the service.
2838// the "output" return value is not valid until after Send returns without error.
2839//
2840// See GetMapSprites for more information on using the GetMapSprites
2841// API call, and error handling.
2842//
2843// This method is useful when you want to inject custom logic or configuration
2844// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2845//
2846//
2847//    // Example sending a request using the GetMapSpritesRequest method.
2848//    req, resp := client.GetMapSpritesRequest(params)
2849//
2850//    err := req.Send()
2851//    if err == nil { // resp is now filled
2852//        fmt.Println(resp)
2853//    }
2854//
2855// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapSprites
2856func (c *LocationService) GetMapSpritesRequest(input *GetMapSpritesInput) (req *request.Request, output *GetMapSpritesOutput) {
2857	op := &request.Operation{
2858		Name:       opGetMapSprites,
2859		HTTPMethod: "GET",
2860		HTTPPath:   "/maps/v0/maps/{MapName}/sprites/{FileName}",
2861	}
2862
2863	if input == nil {
2864		input = &GetMapSpritesInput{}
2865	}
2866
2867	output = &GetMapSpritesOutput{}
2868	req = c.newRequest(op, input, output)
2869	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
2870	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2871	return
2872}
2873
2874// GetMapSprites API operation for Amazon Location Service.
2875//
2876// Retrieves the sprite sheet corresponding to a map resource. The sprite sheet
2877// is a PNG image paired with a JSON document describing the offsets of individual
2878// icons that will be displayed on a rendered map.
2879//
2880// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2881// with awserr.Error's Code and Message methods to get detailed information about
2882// the error.
2883//
2884// See the AWS API reference guide for Amazon Location Service's
2885// API operation GetMapSprites for usage and error information.
2886//
2887// Returned Error Types:
2888//   * InternalServerException
2889//   The request has failed to process because of an unknown server error, exception,
2890//   or failure.
2891//
2892//   * ResourceNotFoundException
2893//   The resource that you've entered was not found in your AWS account.
2894//
2895//   * AccessDeniedException
2896//   The request was denied because of insufficient access or permissions. Check
2897//   with an administrator to verify your permissions.
2898//
2899//   * ValidationException
2900//   The input failed to meet the constraints specified by the AWS service.
2901//
2902//   * ThrottlingException
2903//   The request was denied because of request throttling.
2904//
2905// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapSprites
2906func (c *LocationService) GetMapSprites(input *GetMapSpritesInput) (*GetMapSpritesOutput, error) {
2907	req, out := c.GetMapSpritesRequest(input)
2908	return out, req.Send()
2909}
2910
2911// GetMapSpritesWithContext is the same as GetMapSprites with the addition of
2912// the ability to pass a context and additional request options.
2913//
2914// See GetMapSprites for details on how to use this API operation.
2915//
2916// The context must be non-nil and will be used for request cancellation. If
2917// the context is nil a panic will occur. In the future the SDK may create
2918// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2919// for more information on using Contexts.
2920func (c *LocationService) GetMapSpritesWithContext(ctx aws.Context, input *GetMapSpritesInput, opts ...request.Option) (*GetMapSpritesOutput, error) {
2921	req, out := c.GetMapSpritesRequest(input)
2922	req.SetContext(ctx)
2923	req.ApplyOptions(opts...)
2924	return out, req.Send()
2925}
2926
2927const opGetMapStyleDescriptor = "GetMapStyleDescriptor"
2928
2929// GetMapStyleDescriptorRequest generates a "aws/request.Request" representing the
2930// client's request for the GetMapStyleDescriptor operation. The "output" return
2931// value will be populated with the request's response once the request completes
2932// successfully.
2933//
2934// Use "Send" method on the returned Request to send the API call to the service.
2935// the "output" return value is not valid until after Send returns without error.
2936//
2937// See GetMapStyleDescriptor for more information on using the GetMapStyleDescriptor
2938// API call, and error handling.
2939//
2940// This method is useful when you want to inject custom logic or configuration
2941// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2942//
2943//
2944//    // Example sending a request using the GetMapStyleDescriptorRequest method.
2945//    req, resp := client.GetMapStyleDescriptorRequest(params)
2946//
2947//    err := req.Send()
2948//    if err == nil { // resp is now filled
2949//        fmt.Println(resp)
2950//    }
2951//
2952// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapStyleDescriptor
2953func (c *LocationService) GetMapStyleDescriptorRequest(input *GetMapStyleDescriptorInput) (req *request.Request, output *GetMapStyleDescriptorOutput) {
2954	op := &request.Operation{
2955		Name:       opGetMapStyleDescriptor,
2956		HTTPMethod: "GET",
2957		HTTPPath:   "/maps/v0/maps/{MapName}/style-descriptor",
2958	}
2959
2960	if input == nil {
2961		input = &GetMapStyleDescriptorInput{}
2962	}
2963
2964	output = &GetMapStyleDescriptorOutput{}
2965	req = c.newRequest(op, input, output)
2966	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
2967	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2968	return
2969}
2970
2971// GetMapStyleDescriptor API operation for Amazon Location Service.
2972//
2973// Retrieves the map style descriptor from a map resource.
2974//
2975// The style descriptor contains specifications on how features render on a
2976// map. For example, what data to display, what order to display the data in,
2977// and the style for the data. Style descriptors follow the Mapbox Style Specification.
2978//
2979// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2980// with awserr.Error's Code and Message methods to get detailed information about
2981// the error.
2982//
2983// See the AWS API reference guide for Amazon Location Service's
2984// API operation GetMapStyleDescriptor for usage and error information.
2985//
2986// Returned Error Types:
2987//   * InternalServerException
2988//   The request has failed to process because of an unknown server error, exception,
2989//   or failure.
2990//
2991//   * ResourceNotFoundException
2992//   The resource that you've entered was not found in your AWS account.
2993//
2994//   * AccessDeniedException
2995//   The request was denied because of insufficient access or permissions. Check
2996//   with an administrator to verify your permissions.
2997//
2998//   * ValidationException
2999//   The input failed to meet the constraints specified by the AWS service.
3000//
3001//   * ThrottlingException
3002//   The request was denied because of request throttling.
3003//
3004// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapStyleDescriptor
3005func (c *LocationService) GetMapStyleDescriptor(input *GetMapStyleDescriptorInput) (*GetMapStyleDescriptorOutput, error) {
3006	req, out := c.GetMapStyleDescriptorRequest(input)
3007	return out, req.Send()
3008}
3009
3010// GetMapStyleDescriptorWithContext is the same as GetMapStyleDescriptor with the addition of
3011// the ability to pass a context and additional request options.
3012//
3013// See GetMapStyleDescriptor for details on how to use this API operation.
3014//
3015// The context must be non-nil and will be used for request cancellation. If
3016// the context is nil a panic will occur. In the future the SDK may create
3017// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3018// for more information on using Contexts.
3019func (c *LocationService) GetMapStyleDescriptorWithContext(ctx aws.Context, input *GetMapStyleDescriptorInput, opts ...request.Option) (*GetMapStyleDescriptorOutput, error) {
3020	req, out := c.GetMapStyleDescriptorRequest(input)
3021	req.SetContext(ctx)
3022	req.ApplyOptions(opts...)
3023	return out, req.Send()
3024}
3025
3026const opGetMapTile = "GetMapTile"
3027
3028// GetMapTileRequest generates a "aws/request.Request" representing the
3029// client's request for the GetMapTile operation. The "output" return
3030// value will be populated with the request's response once the request completes
3031// successfully.
3032//
3033// Use "Send" method on the returned Request to send the API call to the service.
3034// the "output" return value is not valid until after Send returns without error.
3035//
3036// See GetMapTile for more information on using the GetMapTile
3037// API call, and error handling.
3038//
3039// This method is useful when you want to inject custom logic or configuration
3040// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3041//
3042//
3043//    // Example sending a request using the GetMapTileRequest method.
3044//    req, resp := client.GetMapTileRequest(params)
3045//
3046//    err := req.Send()
3047//    if err == nil { // resp is now filled
3048//        fmt.Println(resp)
3049//    }
3050//
3051// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapTile
3052func (c *LocationService) GetMapTileRequest(input *GetMapTileInput) (req *request.Request, output *GetMapTileOutput) {
3053	op := &request.Operation{
3054		Name:       opGetMapTile,
3055		HTTPMethod: "GET",
3056		HTTPPath:   "/maps/v0/maps/{MapName}/tiles/{Z}/{X}/{Y}",
3057	}
3058
3059	if input == nil {
3060		input = &GetMapTileInput{}
3061	}
3062
3063	output = &GetMapTileOutput{}
3064	req = c.newRequest(op, input, output)
3065	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
3066	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3067	return
3068}
3069
3070// GetMapTile API operation for Amazon Location Service.
3071//
3072// Retrieves a vector data tile from the map resource. Map tiles are used by
3073// clients to render a map. they're addressed using a grid arrangement with
3074// an X coordinate, Y coordinate, and Z (zoom) level.
3075//
3076// The origin (0, 0) is the top left of the map. Increasing the zoom level by
3077// 1 doubles both the X and Y dimensions, so a tile containing data for the
3078// entire world at (0/0/0) will be split into 4 tiles at zoom 1 (1/0/0, 1/0/1,
3079// 1/1/0, 1/1/1).
3080//
3081// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3082// with awserr.Error's Code and Message methods to get detailed information about
3083// the error.
3084//
3085// See the AWS API reference guide for Amazon Location Service's
3086// API operation GetMapTile for usage and error information.
3087//
3088// Returned Error Types:
3089//   * InternalServerException
3090//   The request has failed to process because of an unknown server error, exception,
3091//   or failure.
3092//
3093//   * ResourceNotFoundException
3094//   The resource that you've entered was not found in your AWS account.
3095//
3096//   * AccessDeniedException
3097//   The request was denied because of insufficient access or permissions. Check
3098//   with an administrator to verify your permissions.
3099//
3100//   * ValidationException
3101//   The input failed to meet the constraints specified by the AWS service.
3102//
3103//   * ThrottlingException
3104//   The request was denied because of request throttling.
3105//
3106// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapTile
3107func (c *LocationService) GetMapTile(input *GetMapTileInput) (*GetMapTileOutput, error) {
3108	req, out := c.GetMapTileRequest(input)
3109	return out, req.Send()
3110}
3111
3112// GetMapTileWithContext is the same as GetMapTile with the addition of
3113// the ability to pass a context and additional request options.
3114//
3115// See GetMapTile for details on how to use this API operation.
3116//
3117// The context must be non-nil and will be used for request cancellation. If
3118// the context is nil a panic will occur. In the future the SDK may create
3119// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3120// for more information on using Contexts.
3121func (c *LocationService) GetMapTileWithContext(ctx aws.Context, input *GetMapTileInput, opts ...request.Option) (*GetMapTileOutput, error) {
3122	req, out := c.GetMapTileRequest(input)
3123	req.SetContext(ctx)
3124	req.ApplyOptions(opts...)
3125	return out, req.Send()
3126}
3127
3128const opListDevicePositions = "ListDevicePositions"
3129
3130// ListDevicePositionsRequest generates a "aws/request.Request" representing the
3131// client's request for the ListDevicePositions operation. The "output" return
3132// value will be populated with the request's response once the request completes
3133// successfully.
3134//
3135// Use "Send" method on the returned Request to send the API call to the service.
3136// the "output" return value is not valid until after Send returns without error.
3137//
3138// See ListDevicePositions for more information on using the ListDevicePositions
3139// API call, and error handling.
3140//
3141// This method is useful when you want to inject custom logic or configuration
3142// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3143//
3144//
3145//    // Example sending a request using the ListDevicePositionsRequest method.
3146//    req, resp := client.ListDevicePositionsRequest(params)
3147//
3148//    err := req.Send()
3149//    if err == nil { // resp is now filled
3150//        fmt.Println(resp)
3151//    }
3152//
3153// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListDevicePositions
3154func (c *LocationService) ListDevicePositionsRequest(input *ListDevicePositionsInput) (req *request.Request, output *ListDevicePositionsOutput) {
3155	op := &request.Operation{
3156		Name:       opListDevicePositions,
3157		HTTPMethod: "POST",
3158		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/list-positions",
3159		Paginator: &request.Paginator{
3160			InputTokens:     []string{"NextToken"},
3161			OutputTokens:    []string{"NextToken"},
3162			LimitToken:      "MaxResults",
3163			TruncationToken: "",
3164		},
3165	}
3166
3167	if input == nil {
3168		input = &ListDevicePositionsInput{}
3169	}
3170
3171	output = &ListDevicePositionsOutput{}
3172	req = c.newRequest(op, input, output)
3173	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
3174	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3175	return
3176}
3177
3178// ListDevicePositions API operation for Amazon Location Service.
3179//
3180// A batch request to retrieve all device positions.
3181//
3182// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3183// with awserr.Error's Code and Message methods to get detailed information about
3184// the error.
3185//
3186// See the AWS API reference guide for Amazon Location Service's
3187// API operation ListDevicePositions for usage and error information.
3188//
3189// Returned Error Types:
3190//   * InternalServerException
3191//   The request has failed to process because of an unknown server error, exception,
3192//   or failure.
3193//
3194//   * AccessDeniedException
3195//   The request was denied because of insufficient access or permissions. Check
3196//   with an administrator to verify your permissions.
3197//
3198//   * ValidationException
3199//   The input failed to meet the constraints specified by the AWS service.
3200//
3201//   * ThrottlingException
3202//   The request was denied because of request throttling.
3203//
3204// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListDevicePositions
3205func (c *LocationService) ListDevicePositions(input *ListDevicePositionsInput) (*ListDevicePositionsOutput, error) {
3206	req, out := c.ListDevicePositionsRequest(input)
3207	return out, req.Send()
3208}
3209
3210// ListDevicePositionsWithContext is the same as ListDevicePositions with the addition of
3211// the ability to pass a context and additional request options.
3212//
3213// See ListDevicePositions for details on how to use this API operation.
3214//
3215// The context must be non-nil and will be used for request cancellation. If
3216// the context is nil a panic will occur. In the future the SDK may create
3217// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3218// for more information on using Contexts.
3219func (c *LocationService) ListDevicePositionsWithContext(ctx aws.Context, input *ListDevicePositionsInput, opts ...request.Option) (*ListDevicePositionsOutput, error) {
3220	req, out := c.ListDevicePositionsRequest(input)
3221	req.SetContext(ctx)
3222	req.ApplyOptions(opts...)
3223	return out, req.Send()
3224}
3225
3226// ListDevicePositionsPages iterates over the pages of a ListDevicePositions operation,
3227// calling the "fn" function with the response data for each page. To stop
3228// iterating, return false from the fn function.
3229//
3230// See ListDevicePositions method for more information on how to use this operation.
3231//
3232// Note: This operation can generate multiple requests to a service.
3233//
3234//    // Example iterating over at most 3 pages of a ListDevicePositions operation.
3235//    pageNum := 0
3236//    err := client.ListDevicePositionsPages(params,
3237//        func(page *locationservice.ListDevicePositionsOutput, lastPage bool) bool {
3238//            pageNum++
3239//            fmt.Println(page)
3240//            return pageNum <= 3
3241//        })
3242//
3243func (c *LocationService) ListDevicePositionsPages(input *ListDevicePositionsInput, fn func(*ListDevicePositionsOutput, bool) bool) error {
3244	return c.ListDevicePositionsPagesWithContext(aws.BackgroundContext(), input, fn)
3245}
3246
3247// ListDevicePositionsPagesWithContext same as ListDevicePositionsPages except
3248// it takes a Context and allows setting request options on the pages.
3249//
3250// The context must be non-nil and will be used for request cancellation. If
3251// the context is nil a panic will occur. In the future the SDK may create
3252// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3253// for more information on using Contexts.
3254func (c *LocationService) ListDevicePositionsPagesWithContext(ctx aws.Context, input *ListDevicePositionsInput, fn func(*ListDevicePositionsOutput, bool) bool, opts ...request.Option) error {
3255	p := request.Pagination{
3256		NewRequest: func() (*request.Request, error) {
3257			var inCpy *ListDevicePositionsInput
3258			if input != nil {
3259				tmp := *input
3260				inCpy = &tmp
3261			}
3262			req, _ := c.ListDevicePositionsRequest(inCpy)
3263			req.SetContext(ctx)
3264			req.ApplyOptions(opts...)
3265			return req, nil
3266		},
3267	}
3268
3269	for p.Next() {
3270		if !fn(p.Page().(*ListDevicePositionsOutput), !p.HasNextPage()) {
3271			break
3272		}
3273	}
3274
3275	return p.Err()
3276}
3277
3278const opListGeofenceCollections = "ListGeofenceCollections"
3279
3280// ListGeofenceCollectionsRequest generates a "aws/request.Request" representing the
3281// client's request for the ListGeofenceCollections operation. The "output" return
3282// value will be populated with the request's response once the request completes
3283// successfully.
3284//
3285// Use "Send" method on the returned Request to send the API call to the service.
3286// the "output" return value is not valid until after Send returns without error.
3287//
3288// See ListGeofenceCollections for more information on using the ListGeofenceCollections
3289// API call, and error handling.
3290//
3291// This method is useful when you want to inject custom logic or configuration
3292// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3293//
3294//
3295//    // Example sending a request using the ListGeofenceCollectionsRequest method.
3296//    req, resp := client.ListGeofenceCollectionsRequest(params)
3297//
3298//    err := req.Send()
3299//    if err == nil { // resp is now filled
3300//        fmt.Println(resp)
3301//    }
3302//
3303// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListGeofenceCollections
3304func (c *LocationService) ListGeofenceCollectionsRequest(input *ListGeofenceCollectionsInput) (req *request.Request, output *ListGeofenceCollectionsOutput) {
3305	op := &request.Operation{
3306		Name:       opListGeofenceCollections,
3307		HTTPMethod: "POST",
3308		HTTPPath:   "/geofencing/v0/list-collections",
3309		Paginator: &request.Paginator{
3310			InputTokens:     []string{"NextToken"},
3311			OutputTokens:    []string{"NextToken"},
3312			LimitToken:      "MaxResults",
3313			TruncationToken: "",
3314		},
3315	}
3316
3317	if input == nil {
3318		input = &ListGeofenceCollectionsInput{}
3319	}
3320
3321	output = &ListGeofenceCollectionsOutput{}
3322	req = c.newRequest(op, input, output)
3323	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
3324	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3325	return
3326}
3327
3328// ListGeofenceCollections API operation for Amazon Location Service.
3329//
3330// Lists geofence collections in your AWS account.
3331//
3332// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3333// with awserr.Error's Code and Message methods to get detailed information about
3334// the error.
3335//
3336// See the AWS API reference guide for Amazon Location Service's
3337// API operation ListGeofenceCollections for usage and error information.
3338//
3339// Returned Error Types:
3340//   * InternalServerException
3341//   The request has failed to process because of an unknown server error, exception,
3342//   or failure.
3343//
3344//   * AccessDeniedException
3345//   The request was denied because of insufficient access or permissions. Check
3346//   with an administrator to verify your permissions.
3347//
3348//   * ValidationException
3349//   The input failed to meet the constraints specified by the AWS service.
3350//
3351//   * ThrottlingException
3352//   The request was denied because of request throttling.
3353//
3354// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListGeofenceCollections
3355func (c *LocationService) ListGeofenceCollections(input *ListGeofenceCollectionsInput) (*ListGeofenceCollectionsOutput, error) {
3356	req, out := c.ListGeofenceCollectionsRequest(input)
3357	return out, req.Send()
3358}
3359
3360// ListGeofenceCollectionsWithContext is the same as ListGeofenceCollections with the addition of
3361// the ability to pass a context and additional request options.
3362//
3363// See ListGeofenceCollections for details on how to use this API operation.
3364//
3365// The context must be non-nil and will be used for request cancellation. If
3366// the context is nil a panic will occur. In the future the SDK may create
3367// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3368// for more information on using Contexts.
3369func (c *LocationService) ListGeofenceCollectionsWithContext(ctx aws.Context, input *ListGeofenceCollectionsInput, opts ...request.Option) (*ListGeofenceCollectionsOutput, error) {
3370	req, out := c.ListGeofenceCollectionsRequest(input)
3371	req.SetContext(ctx)
3372	req.ApplyOptions(opts...)
3373	return out, req.Send()
3374}
3375
3376// ListGeofenceCollectionsPages iterates over the pages of a ListGeofenceCollections operation,
3377// calling the "fn" function with the response data for each page. To stop
3378// iterating, return false from the fn function.
3379//
3380// See ListGeofenceCollections method for more information on how to use this operation.
3381//
3382// Note: This operation can generate multiple requests to a service.
3383//
3384//    // Example iterating over at most 3 pages of a ListGeofenceCollections operation.
3385//    pageNum := 0
3386//    err := client.ListGeofenceCollectionsPages(params,
3387//        func(page *locationservice.ListGeofenceCollectionsOutput, lastPage bool) bool {
3388//            pageNum++
3389//            fmt.Println(page)
3390//            return pageNum <= 3
3391//        })
3392//
3393func (c *LocationService) ListGeofenceCollectionsPages(input *ListGeofenceCollectionsInput, fn func(*ListGeofenceCollectionsOutput, bool) bool) error {
3394	return c.ListGeofenceCollectionsPagesWithContext(aws.BackgroundContext(), input, fn)
3395}
3396
3397// ListGeofenceCollectionsPagesWithContext same as ListGeofenceCollectionsPages except
3398// it takes a Context and allows setting request options on the pages.
3399//
3400// The context must be non-nil and will be used for request cancellation. If
3401// the context is nil a panic will occur. In the future the SDK may create
3402// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3403// for more information on using Contexts.
3404func (c *LocationService) ListGeofenceCollectionsPagesWithContext(ctx aws.Context, input *ListGeofenceCollectionsInput, fn func(*ListGeofenceCollectionsOutput, bool) bool, opts ...request.Option) error {
3405	p := request.Pagination{
3406		NewRequest: func() (*request.Request, error) {
3407			var inCpy *ListGeofenceCollectionsInput
3408			if input != nil {
3409				tmp := *input
3410				inCpy = &tmp
3411			}
3412			req, _ := c.ListGeofenceCollectionsRequest(inCpy)
3413			req.SetContext(ctx)
3414			req.ApplyOptions(opts...)
3415			return req, nil
3416		},
3417	}
3418
3419	for p.Next() {
3420		if !fn(p.Page().(*ListGeofenceCollectionsOutput), !p.HasNextPage()) {
3421			break
3422		}
3423	}
3424
3425	return p.Err()
3426}
3427
3428const opListGeofences = "ListGeofences"
3429
3430// ListGeofencesRequest generates a "aws/request.Request" representing the
3431// client's request for the ListGeofences operation. The "output" return
3432// value will be populated with the request's response once the request completes
3433// successfully.
3434//
3435// Use "Send" method on the returned Request to send the API call to the service.
3436// the "output" return value is not valid until after Send returns without error.
3437//
3438// See ListGeofences for more information on using the ListGeofences
3439// API call, and error handling.
3440//
3441// This method is useful when you want to inject custom logic or configuration
3442// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3443//
3444//
3445//    // Example sending a request using the ListGeofencesRequest method.
3446//    req, resp := client.ListGeofencesRequest(params)
3447//
3448//    err := req.Send()
3449//    if err == nil { // resp is now filled
3450//        fmt.Println(resp)
3451//    }
3452//
3453// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListGeofences
3454func (c *LocationService) ListGeofencesRequest(input *ListGeofencesInput) (req *request.Request, output *ListGeofencesOutput) {
3455	op := &request.Operation{
3456		Name:       opListGeofences,
3457		HTTPMethod: "POST",
3458		HTTPPath:   "/geofencing/v0/collections/{CollectionName}/list-geofences",
3459		Paginator: &request.Paginator{
3460			InputTokens:     []string{"NextToken"},
3461			OutputTokens:    []string{"NextToken"},
3462			LimitToken:      "",
3463			TruncationToken: "",
3464		},
3465	}
3466
3467	if input == nil {
3468		input = &ListGeofencesInput{}
3469	}
3470
3471	output = &ListGeofencesOutput{}
3472	req = c.newRequest(op, input, output)
3473	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
3474	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3475	return
3476}
3477
3478// ListGeofences API operation for Amazon Location Service.
3479//
3480// Lists geofences stored in a given geofence collection.
3481//
3482// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3483// with awserr.Error's Code and Message methods to get detailed information about
3484// the error.
3485//
3486// See the AWS API reference guide for Amazon Location Service's
3487// API operation ListGeofences for usage and error information.
3488//
3489// Returned Error Types:
3490//   * InternalServerException
3491//   The request has failed to process because of an unknown server error, exception,
3492//   or failure.
3493//
3494//   * ResourceNotFoundException
3495//   The resource that you've entered was not found in your AWS account.
3496//
3497//   * AccessDeniedException
3498//   The request was denied because of insufficient access or permissions. Check
3499//   with an administrator to verify your permissions.
3500//
3501//   * ValidationException
3502//   The input failed to meet the constraints specified by the AWS service.
3503//
3504//   * ThrottlingException
3505//   The request was denied because of request throttling.
3506//
3507// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListGeofences
3508func (c *LocationService) ListGeofences(input *ListGeofencesInput) (*ListGeofencesOutput, error) {
3509	req, out := c.ListGeofencesRequest(input)
3510	return out, req.Send()
3511}
3512
3513// ListGeofencesWithContext is the same as ListGeofences with the addition of
3514// the ability to pass a context and additional request options.
3515//
3516// See ListGeofences for details on how to use this API operation.
3517//
3518// The context must be non-nil and will be used for request cancellation. If
3519// the context is nil a panic will occur. In the future the SDK may create
3520// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3521// for more information on using Contexts.
3522func (c *LocationService) ListGeofencesWithContext(ctx aws.Context, input *ListGeofencesInput, opts ...request.Option) (*ListGeofencesOutput, error) {
3523	req, out := c.ListGeofencesRequest(input)
3524	req.SetContext(ctx)
3525	req.ApplyOptions(opts...)
3526	return out, req.Send()
3527}
3528
3529// ListGeofencesPages iterates over the pages of a ListGeofences operation,
3530// calling the "fn" function with the response data for each page. To stop
3531// iterating, return false from the fn function.
3532//
3533// See ListGeofences method for more information on how to use this operation.
3534//
3535// Note: This operation can generate multiple requests to a service.
3536//
3537//    // Example iterating over at most 3 pages of a ListGeofences operation.
3538//    pageNum := 0
3539//    err := client.ListGeofencesPages(params,
3540//        func(page *locationservice.ListGeofencesOutput, lastPage bool) bool {
3541//            pageNum++
3542//            fmt.Println(page)
3543//            return pageNum <= 3
3544//        })
3545//
3546func (c *LocationService) ListGeofencesPages(input *ListGeofencesInput, fn func(*ListGeofencesOutput, bool) bool) error {
3547	return c.ListGeofencesPagesWithContext(aws.BackgroundContext(), input, fn)
3548}
3549
3550// ListGeofencesPagesWithContext same as ListGeofencesPages except
3551// it takes a Context and allows setting request options on the pages.
3552//
3553// The context must be non-nil and will be used for request cancellation. If
3554// the context is nil a panic will occur. In the future the SDK may create
3555// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3556// for more information on using Contexts.
3557func (c *LocationService) ListGeofencesPagesWithContext(ctx aws.Context, input *ListGeofencesInput, fn func(*ListGeofencesOutput, bool) bool, opts ...request.Option) error {
3558	p := request.Pagination{
3559		NewRequest: func() (*request.Request, error) {
3560			var inCpy *ListGeofencesInput
3561			if input != nil {
3562				tmp := *input
3563				inCpy = &tmp
3564			}
3565			req, _ := c.ListGeofencesRequest(inCpy)
3566			req.SetContext(ctx)
3567			req.ApplyOptions(opts...)
3568			return req, nil
3569		},
3570	}
3571
3572	for p.Next() {
3573		if !fn(p.Page().(*ListGeofencesOutput), !p.HasNextPage()) {
3574			break
3575		}
3576	}
3577
3578	return p.Err()
3579}
3580
3581const opListMaps = "ListMaps"
3582
3583// ListMapsRequest generates a "aws/request.Request" representing the
3584// client's request for the ListMaps operation. The "output" return
3585// value will be populated with the request's response once the request completes
3586// successfully.
3587//
3588// Use "Send" method on the returned Request to send the API call to the service.
3589// the "output" return value is not valid until after Send returns without error.
3590//
3591// See ListMaps for more information on using the ListMaps
3592// API call, and error handling.
3593//
3594// This method is useful when you want to inject custom logic or configuration
3595// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3596//
3597//
3598//    // Example sending a request using the ListMapsRequest method.
3599//    req, resp := client.ListMapsRequest(params)
3600//
3601//    err := req.Send()
3602//    if err == nil { // resp is now filled
3603//        fmt.Println(resp)
3604//    }
3605//
3606// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListMaps
3607func (c *LocationService) ListMapsRequest(input *ListMapsInput) (req *request.Request, output *ListMapsOutput) {
3608	op := &request.Operation{
3609		Name:       opListMaps,
3610		HTTPMethod: "POST",
3611		HTTPPath:   "/maps/v0/list-maps",
3612		Paginator: &request.Paginator{
3613			InputTokens:     []string{"NextToken"},
3614			OutputTokens:    []string{"NextToken"},
3615			LimitToken:      "MaxResults",
3616			TruncationToken: "",
3617		},
3618	}
3619
3620	if input == nil {
3621		input = &ListMapsInput{}
3622	}
3623
3624	output = &ListMapsOutput{}
3625	req = c.newRequest(op, input, output)
3626	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
3627	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3628	return
3629}
3630
3631// ListMaps API operation for Amazon Location Service.
3632//
3633// Lists map resources in your AWS account.
3634//
3635// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3636// with awserr.Error's Code and Message methods to get detailed information about
3637// the error.
3638//
3639// See the AWS API reference guide for Amazon Location Service's
3640// API operation ListMaps for usage and error information.
3641//
3642// Returned Error Types:
3643//   * InternalServerException
3644//   The request has failed to process because of an unknown server error, exception,
3645//   or failure.
3646//
3647//   * AccessDeniedException
3648//   The request was denied because of insufficient access or permissions. Check
3649//   with an administrator to verify your permissions.
3650//
3651//   * ValidationException
3652//   The input failed to meet the constraints specified by the AWS service.
3653//
3654//   * ThrottlingException
3655//   The request was denied because of request throttling.
3656//
3657// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListMaps
3658func (c *LocationService) ListMaps(input *ListMapsInput) (*ListMapsOutput, error) {
3659	req, out := c.ListMapsRequest(input)
3660	return out, req.Send()
3661}
3662
3663// ListMapsWithContext is the same as ListMaps with the addition of
3664// the ability to pass a context and additional request options.
3665//
3666// See ListMaps for details on how to use this API operation.
3667//
3668// The context must be non-nil and will be used for request cancellation. If
3669// the context is nil a panic will occur. In the future the SDK may create
3670// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3671// for more information on using Contexts.
3672func (c *LocationService) ListMapsWithContext(ctx aws.Context, input *ListMapsInput, opts ...request.Option) (*ListMapsOutput, error) {
3673	req, out := c.ListMapsRequest(input)
3674	req.SetContext(ctx)
3675	req.ApplyOptions(opts...)
3676	return out, req.Send()
3677}
3678
3679// ListMapsPages iterates over the pages of a ListMaps operation,
3680// calling the "fn" function with the response data for each page. To stop
3681// iterating, return false from the fn function.
3682//
3683// See ListMaps method for more information on how to use this operation.
3684//
3685// Note: This operation can generate multiple requests to a service.
3686//
3687//    // Example iterating over at most 3 pages of a ListMaps operation.
3688//    pageNum := 0
3689//    err := client.ListMapsPages(params,
3690//        func(page *locationservice.ListMapsOutput, lastPage bool) bool {
3691//            pageNum++
3692//            fmt.Println(page)
3693//            return pageNum <= 3
3694//        })
3695//
3696func (c *LocationService) ListMapsPages(input *ListMapsInput, fn func(*ListMapsOutput, bool) bool) error {
3697	return c.ListMapsPagesWithContext(aws.BackgroundContext(), input, fn)
3698}
3699
3700// ListMapsPagesWithContext same as ListMapsPages except
3701// it takes a Context and allows setting request options on the pages.
3702//
3703// The context must be non-nil and will be used for request cancellation. If
3704// the context is nil a panic will occur. In the future the SDK may create
3705// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3706// for more information on using Contexts.
3707func (c *LocationService) ListMapsPagesWithContext(ctx aws.Context, input *ListMapsInput, fn func(*ListMapsOutput, bool) bool, opts ...request.Option) error {
3708	p := request.Pagination{
3709		NewRequest: func() (*request.Request, error) {
3710			var inCpy *ListMapsInput
3711			if input != nil {
3712				tmp := *input
3713				inCpy = &tmp
3714			}
3715			req, _ := c.ListMapsRequest(inCpy)
3716			req.SetContext(ctx)
3717			req.ApplyOptions(opts...)
3718			return req, nil
3719		},
3720	}
3721
3722	for p.Next() {
3723		if !fn(p.Page().(*ListMapsOutput), !p.HasNextPage()) {
3724			break
3725		}
3726	}
3727
3728	return p.Err()
3729}
3730
3731const opListPlaceIndexes = "ListPlaceIndexes"
3732
3733// ListPlaceIndexesRequest generates a "aws/request.Request" representing the
3734// client's request for the ListPlaceIndexes operation. The "output" return
3735// value will be populated with the request's response once the request completes
3736// successfully.
3737//
3738// Use "Send" method on the returned Request to send the API call to the service.
3739// the "output" return value is not valid until after Send returns without error.
3740//
3741// See ListPlaceIndexes for more information on using the ListPlaceIndexes
3742// API call, and error handling.
3743//
3744// This method is useful when you want to inject custom logic or configuration
3745// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3746//
3747//
3748//    // Example sending a request using the ListPlaceIndexesRequest method.
3749//    req, resp := client.ListPlaceIndexesRequest(params)
3750//
3751//    err := req.Send()
3752//    if err == nil { // resp is now filled
3753//        fmt.Println(resp)
3754//    }
3755//
3756// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListPlaceIndexes
3757func (c *LocationService) ListPlaceIndexesRequest(input *ListPlaceIndexesInput) (req *request.Request, output *ListPlaceIndexesOutput) {
3758	op := &request.Operation{
3759		Name:       opListPlaceIndexes,
3760		HTTPMethod: "POST",
3761		HTTPPath:   "/places/v0/list-indexes",
3762		Paginator: &request.Paginator{
3763			InputTokens:     []string{"NextToken"},
3764			OutputTokens:    []string{"NextToken"},
3765			LimitToken:      "MaxResults",
3766			TruncationToken: "",
3767		},
3768	}
3769
3770	if input == nil {
3771		input = &ListPlaceIndexesInput{}
3772	}
3773
3774	output = &ListPlaceIndexesOutput{}
3775	req = c.newRequest(op, input, output)
3776	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
3777	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3778	return
3779}
3780
3781// ListPlaceIndexes API operation for Amazon Location Service.
3782//
3783// Lists place index resources in your AWS account.
3784//
3785// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3786// with awserr.Error's Code and Message methods to get detailed information about
3787// the error.
3788//
3789// See the AWS API reference guide for Amazon Location Service's
3790// API operation ListPlaceIndexes for usage and error information.
3791//
3792// Returned Error Types:
3793//   * InternalServerException
3794//   The request has failed to process because of an unknown server error, exception,
3795//   or failure.
3796//
3797//   * AccessDeniedException
3798//   The request was denied because of insufficient access or permissions. Check
3799//   with an administrator to verify your permissions.
3800//
3801//   * ValidationException
3802//   The input failed to meet the constraints specified by the AWS service.
3803//
3804//   * ThrottlingException
3805//   The request was denied because of request throttling.
3806//
3807// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListPlaceIndexes
3808func (c *LocationService) ListPlaceIndexes(input *ListPlaceIndexesInput) (*ListPlaceIndexesOutput, error) {
3809	req, out := c.ListPlaceIndexesRequest(input)
3810	return out, req.Send()
3811}
3812
3813// ListPlaceIndexesWithContext is the same as ListPlaceIndexes with the addition of
3814// the ability to pass a context and additional request options.
3815//
3816// See ListPlaceIndexes for details on how to use this API operation.
3817//
3818// The context must be non-nil and will be used for request cancellation. If
3819// the context is nil a panic will occur. In the future the SDK may create
3820// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3821// for more information on using Contexts.
3822func (c *LocationService) ListPlaceIndexesWithContext(ctx aws.Context, input *ListPlaceIndexesInput, opts ...request.Option) (*ListPlaceIndexesOutput, error) {
3823	req, out := c.ListPlaceIndexesRequest(input)
3824	req.SetContext(ctx)
3825	req.ApplyOptions(opts...)
3826	return out, req.Send()
3827}
3828
3829// ListPlaceIndexesPages iterates over the pages of a ListPlaceIndexes operation,
3830// calling the "fn" function with the response data for each page. To stop
3831// iterating, return false from the fn function.
3832//
3833// See ListPlaceIndexes method for more information on how to use this operation.
3834//
3835// Note: This operation can generate multiple requests to a service.
3836//
3837//    // Example iterating over at most 3 pages of a ListPlaceIndexes operation.
3838//    pageNum := 0
3839//    err := client.ListPlaceIndexesPages(params,
3840//        func(page *locationservice.ListPlaceIndexesOutput, lastPage bool) bool {
3841//            pageNum++
3842//            fmt.Println(page)
3843//            return pageNum <= 3
3844//        })
3845//
3846func (c *LocationService) ListPlaceIndexesPages(input *ListPlaceIndexesInput, fn func(*ListPlaceIndexesOutput, bool) bool) error {
3847	return c.ListPlaceIndexesPagesWithContext(aws.BackgroundContext(), input, fn)
3848}
3849
3850// ListPlaceIndexesPagesWithContext same as ListPlaceIndexesPages except
3851// it takes a Context and allows setting request options on the pages.
3852//
3853// The context must be non-nil and will be used for request cancellation. If
3854// the context is nil a panic will occur. In the future the SDK may create
3855// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3856// for more information on using Contexts.
3857func (c *LocationService) ListPlaceIndexesPagesWithContext(ctx aws.Context, input *ListPlaceIndexesInput, fn func(*ListPlaceIndexesOutput, bool) bool, opts ...request.Option) error {
3858	p := request.Pagination{
3859		NewRequest: func() (*request.Request, error) {
3860			var inCpy *ListPlaceIndexesInput
3861			if input != nil {
3862				tmp := *input
3863				inCpy = &tmp
3864			}
3865			req, _ := c.ListPlaceIndexesRequest(inCpy)
3866			req.SetContext(ctx)
3867			req.ApplyOptions(opts...)
3868			return req, nil
3869		},
3870	}
3871
3872	for p.Next() {
3873		if !fn(p.Page().(*ListPlaceIndexesOutput), !p.HasNextPage()) {
3874			break
3875		}
3876	}
3877
3878	return p.Err()
3879}
3880
3881const opListRouteCalculators = "ListRouteCalculators"
3882
3883// ListRouteCalculatorsRequest generates a "aws/request.Request" representing the
3884// client's request for the ListRouteCalculators operation. The "output" return
3885// value will be populated with the request's response once the request completes
3886// successfully.
3887//
3888// Use "Send" method on the returned Request to send the API call to the service.
3889// the "output" return value is not valid until after Send returns without error.
3890//
3891// See ListRouteCalculators for more information on using the ListRouteCalculators
3892// API call, and error handling.
3893//
3894// This method is useful when you want to inject custom logic or configuration
3895// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3896//
3897//
3898//    // Example sending a request using the ListRouteCalculatorsRequest method.
3899//    req, resp := client.ListRouteCalculatorsRequest(params)
3900//
3901//    err := req.Send()
3902//    if err == nil { // resp is now filled
3903//        fmt.Println(resp)
3904//    }
3905//
3906// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListRouteCalculators
3907func (c *LocationService) ListRouteCalculatorsRequest(input *ListRouteCalculatorsInput) (req *request.Request, output *ListRouteCalculatorsOutput) {
3908	op := &request.Operation{
3909		Name:       opListRouteCalculators,
3910		HTTPMethod: "POST",
3911		HTTPPath:   "/routes/v0/list-calculators",
3912		Paginator: &request.Paginator{
3913			InputTokens:     []string{"NextToken"},
3914			OutputTokens:    []string{"NextToken"},
3915			LimitToken:      "MaxResults",
3916			TruncationToken: "",
3917		},
3918	}
3919
3920	if input == nil {
3921		input = &ListRouteCalculatorsInput{}
3922	}
3923
3924	output = &ListRouteCalculatorsOutput{}
3925	req = c.newRequest(op, input, output)
3926	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("routes.", nil))
3927	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3928	return
3929}
3930
3931// ListRouteCalculators API operation for Amazon Location Service.
3932//
3933// Lists route calculator resources in your AWS account.
3934//
3935// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3936// with awserr.Error's Code and Message methods to get detailed information about
3937// the error.
3938//
3939// See the AWS API reference guide for Amazon Location Service's
3940// API operation ListRouteCalculators for usage and error information.
3941//
3942// Returned Error Types:
3943//   * InternalServerException
3944//   The request has failed to process because of an unknown server error, exception,
3945//   or failure.
3946//
3947//   * AccessDeniedException
3948//   The request was denied because of insufficient access or permissions. Check
3949//   with an administrator to verify your permissions.
3950//
3951//   * ValidationException
3952//   The input failed to meet the constraints specified by the AWS service.
3953//
3954//   * ThrottlingException
3955//   The request was denied because of request throttling.
3956//
3957// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListRouteCalculators
3958func (c *LocationService) ListRouteCalculators(input *ListRouteCalculatorsInput) (*ListRouteCalculatorsOutput, error) {
3959	req, out := c.ListRouteCalculatorsRequest(input)
3960	return out, req.Send()
3961}
3962
3963// ListRouteCalculatorsWithContext is the same as ListRouteCalculators with the addition of
3964// the ability to pass a context and additional request options.
3965//
3966// See ListRouteCalculators for details on how to use this API operation.
3967//
3968// The context must be non-nil and will be used for request cancellation. If
3969// the context is nil a panic will occur. In the future the SDK may create
3970// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3971// for more information on using Contexts.
3972func (c *LocationService) ListRouteCalculatorsWithContext(ctx aws.Context, input *ListRouteCalculatorsInput, opts ...request.Option) (*ListRouteCalculatorsOutput, error) {
3973	req, out := c.ListRouteCalculatorsRequest(input)
3974	req.SetContext(ctx)
3975	req.ApplyOptions(opts...)
3976	return out, req.Send()
3977}
3978
3979// ListRouteCalculatorsPages iterates over the pages of a ListRouteCalculators operation,
3980// calling the "fn" function with the response data for each page. To stop
3981// iterating, return false from the fn function.
3982//
3983// See ListRouteCalculators method for more information on how to use this operation.
3984//
3985// Note: This operation can generate multiple requests to a service.
3986//
3987//    // Example iterating over at most 3 pages of a ListRouteCalculators operation.
3988//    pageNum := 0
3989//    err := client.ListRouteCalculatorsPages(params,
3990//        func(page *locationservice.ListRouteCalculatorsOutput, lastPage bool) bool {
3991//            pageNum++
3992//            fmt.Println(page)
3993//            return pageNum <= 3
3994//        })
3995//
3996func (c *LocationService) ListRouteCalculatorsPages(input *ListRouteCalculatorsInput, fn func(*ListRouteCalculatorsOutput, bool) bool) error {
3997	return c.ListRouteCalculatorsPagesWithContext(aws.BackgroundContext(), input, fn)
3998}
3999
4000// ListRouteCalculatorsPagesWithContext same as ListRouteCalculatorsPages except
4001// it takes a Context and allows setting request options on the pages.
4002//
4003// The context must be non-nil and will be used for request cancellation. If
4004// the context is nil a panic will occur. In the future the SDK may create
4005// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4006// for more information on using Contexts.
4007func (c *LocationService) ListRouteCalculatorsPagesWithContext(ctx aws.Context, input *ListRouteCalculatorsInput, fn func(*ListRouteCalculatorsOutput, bool) bool, opts ...request.Option) error {
4008	p := request.Pagination{
4009		NewRequest: func() (*request.Request, error) {
4010			var inCpy *ListRouteCalculatorsInput
4011			if input != nil {
4012				tmp := *input
4013				inCpy = &tmp
4014			}
4015			req, _ := c.ListRouteCalculatorsRequest(inCpy)
4016			req.SetContext(ctx)
4017			req.ApplyOptions(opts...)
4018			return req, nil
4019		},
4020	}
4021
4022	for p.Next() {
4023		if !fn(p.Page().(*ListRouteCalculatorsOutput), !p.HasNextPage()) {
4024			break
4025		}
4026	}
4027
4028	return p.Err()
4029}
4030
4031const opListTagsForResource = "ListTagsForResource"
4032
4033// ListTagsForResourceRequest generates a "aws/request.Request" representing the
4034// client's request for the ListTagsForResource operation. The "output" return
4035// value will be populated with the request's response once the request completes
4036// successfully.
4037//
4038// Use "Send" method on the returned Request to send the API call to the service.
4039// the "output" return value is not valid until after Send returns without error.
4040//
4041// See ListTagsForResource for more information on using the ListTagsForResource
4042// API call, and error handling.
4043//
4044// This method is useful when you want to inject custom logic or configuration
4045// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4046//
4047//
4048//    // Example sending a request using the ListTagsForResourceRequest method.
4049//    req, resp := client.ListTagsForResourceRequest(params)
4050//
4051//    err := req.Send()
4052//    if err == nil { // resp is now filled
4053//        fmt.Println(resp)
4054//    }
4055//
4056// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListTagsForResource
4057func (c *LocationService) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
4058	op := &request.Operation{
4059		Name:       opListTagsForResource,
4060		HTTPMethod: "GET",
4061		HTTPPath:   "/tags/{ResourceArn}",
4062	}
4063
4064	if input == nil {
4065		input = &ListTagsForResourceInput{}
4066	}
4067
4068	output = &ListTagsForResourceOutput{}
4069	req = c.newRequest(op, input, output)
4070	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("metadata.", nil))
4071	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4072	return
4073}
4074
4075// ListTagsForResource API operation for Amazon Location Service.
4076//
4077// Returns a list of tags that are applied to the specified Amazon Location
4078// resource.
4079//
4080// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4081// with awserr.Error's Code and Message methods to get detailed information about
4082// the error.
4083//
4084// See the AWS API reference guide for Amazon Location Service's
4085// API operation ListTagsForResource for usage and error information.
4086//
4087// Returned Error Types:
4088//   * InternalServerException
4089//   The request has failed to process because of an unknown server error, exception,
4090//   or failure.
4091//
4092//   * ResourceNotFoundException
4093//   The resource that you've entered was not found in your AWS account.
4094//
4095//   * AccessDeniedException
4096//   The request was denied because of insufficient access or permissions. Check
4097//   with an administrator to verify your permissions.
4098//
4099//   * ValidationException
4100//   The input failed to meet the constraints specified by the AWS service.
4101//
4102//   * ThrottlingException
4103//   The request was denied because of request throttling.
4104//
4105// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListTagsForResource
4106func (c *LocationService) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4107	req, out := c.ListTagsForResourceRequest(input)
4108	return out, req.Send()
4109}
4110
4111// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4112// the ability to pass a context and additional request options.
4113//
4114// See ListTagsForResource for details on how to use this API operation.
4115//
4116// The context must be non-nil and will be used for request cancellation. If
4117// the context is nil a panic will occur. In the future the SDK may create
4118// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4119// for more information on using Contexts.
4120func (c *LocationService) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4121	req, out := c.ListTagsForResourceRequest(input)
4122	req.SetContext(ctx)
4123	req.ApplyOptions(opts...)
4124	return out, req.Send()
4125}
4126
4127const opListTrackerConsumers = "ListTrackerConsumers"
4128
4129// ListTrackerConsumersRequest generates a "aws/request.Request" representing the
4130// client's request for the ListTrackerConsumers operation. The "output" return
4131// value will be populated with the request's response once the request completes
4132// successfully.
4133//
4134// Use "Send" method on the returned Request to send the API call to the service.
4135// the "output" return value is not valid until after Send returns without error.
4136//
4137// See ListTrackerConsumers for more information on using the ListTrackerConsumers
4138// API call, and error handling.
4139//
4140// This method is useful when you want to inject custom logic or configuration
4141// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4142//
4143//
4144//    // Example sending a request using the ListTrackerConsumersRequest method.
4145//    req, resp := client.ListTrackerConsumersRequest(params)
4146//
4147//    err := req.Send()
4148//    if err == nil { // resp is now filled
4149//        fmt.Println(resp)
4150//    }
4151//
4152// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListTrackerConsumers
4153func (c *LocationService) ListTrackerConsumersRequest(input *ListTrackerConsumersInput) (req *request.Request, output *ListTrackerConsumersOutput) {
4154	op := &request.Operation{
4155		Name:       opListTrackerConsumers,
4156		HTTPMethod: "POST",
4157		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/list-consumers",
4158		Paginator: &request.Paginator{
4159			InputTokens:     []string{"NextToken"},
4160			OutputTokens:    []string{"NextToken"},
4161			LimitToken:      "MaxResults",
4162			TruncationToken: "",
4163		},
4164	}
4165
4166	if input == nil {
4167		input = &ListTrackerConsumersInput{}
4168	}
4169
4170	output = &ListTrackerConsumersOutput{}
4171	req = c.newRequest(op, input, output)
4172	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
4173	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4174	return
4175}
4176
4177// ListTrackerConsumers API operation for Amazon Location Service.
4178//
4179// Lists geofence collections currently associated to the given tracker resource.
4180//
4181// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4182// with awserr.Error's Code and Message methods to get detailed information about
4183// the error.
4184//
4185// See the AWS API reference guide for Amazon Location Service's
4186// API operation ListTrackerConsumers for usage and error information.
4187//
4188// Returned Error Types:
4189//   * InternalServerException
4190//   The request has failed to process because of an unknown server error, exception,
4191//   or failure.
4192//
4193//   * ResourceNotFoundException
4194//   The resource that you've entered was not found in your AWS account.
4195//
4196//   * AccessDeniedException
4197//   The request was denied because of insufficient access or permissions. Check
4198//   with an administrator to verify your permissions.
4199//
4200//   * ValidationException
4201//   The input failed to meet the constraints specified by the AWS service.
4202//
4203//   * ThrottlingException
4204//   The request was denied because of request throttling.
4205//
4206// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListTrackerConsumers
4207func (c *LocationService) ListTrackerConsumers(input *ListTrackerConsumersInput) (*ListTrackerConsumersOutput, error) {
4208	req, out := c.ListTrackerConsumersRequest(input)
4209	return out, req.Send()
4210}
4211
4212// ListTrackerConsumersWithContext is the same as ListTrackerConsumers with the addition of
4213// the ability to pass a context and additional request options.
4214//
4215// See ListTrackerConsumers for details on how to use this API operation.
4216//
4217// The context must be non-nil and will be used for request cancellation. If
4218// the context is nil a panic will occur. In the future the SDK may create
4219// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4220// for more information on using Contexts.
4221func (c *LocationService) ListTrackerConsumersWithContext(ctx aws.Context, input *ListTrackerConsumersInput, opts ...request.Option) (*ListTrackerConsumersOutput, error) {
4222	req, out := c.ListTrackerConsumersRequest(input)
4223	req.SetContext(ctx)
4224	req.ApplyOptions(opts...)
4225	return out, req.Send()
4226}
4227
4228// ListTrackerConsumersPages iterates over the pages of a ListTrackerConsumers operation,
4229// calling the "fn" function with the response data for each page. To stop
4230// iterating, return false from the fn function.
4231//
4232// See ListTrackerConsumers method for more information on how to use this operation.
4233//
4234// Note: This operation can generate multiple requests to a service.
4235//
4236//    // Example iterating over at most 3 pages of a ListTrackerConsumers operation.
4237//    pageNum := 0
4238//    err := client.ListTrackerConsumersPages(params,
4239//        func(page *locationservice.ListTrackerConsumersOutput, lastPage bool) bool {
4240//            pageNum++
4241//            fmt.Println(page)
4242//            return pageNum <= 3
4243//        })
4244//
4245func (c *LocationService) ListTrackerConsumersPages(input *ListTrackerConsumersInput, fn func(*ListTrackerConsumersOutput, bool) bool) error {
4246	return c.ListTrackerConsumersPagesWithContext(aws.BackgroundContext(), input, fn)
4247}
4248
4249// ListTrackerConsumersPagesWithContext same as ListTrackerConsumersPages except
4250// it takes a Context and allows setting request options on the pages.
4251//
4252// The context must be non-nil and will be used for request cancellation. If
4253// the context is nil a panic will occur. In the future the SDK may create
4254// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4255// for more information on using Contexts.
4256func (c *LocationService) ListTrackerConsumersPagesWithContext(ctx aws.Context, input *ListTrackerConsumersInput, fn func(*ListTrackerConsumersOutput, bool) bool, opts ...request.Option) error {
4257	p := request.Pagination{
4258		NewRequest: func() (*request.Request, error) {
4259			var inCpy *ListTrackerConsumersInput
4260			if input != nil {
4261				tmp := *input
4262				inCpy = &tmp
4263			}
4264			req, _ := c.ListTrackerConsumersRequest(inCpy)
4265			req.SetContext(ctx)
4266			req.ApplyOptions(opts...)
4267			return req, nil
4268		},
4269	}
4270
4271	for p.Next() {
4272		if !fn(p.Page().(*ListTrackerConsumersOutput), !p.HasNextPage()) {
4273			break
4274		}
4275	}
4276
4277	return p.Err()
4278}
4279
4280const opListTrackers = "ListTrackers"
4281
4282// ListTrackersRequest generates a "aws/request.Request" representing the
4283// client's request for the ListTrackers operation. The "output" return
4284// value will be populated with the request's response once the request completes
4285// successfully.
4286//
4287// Use "Send" method on the returned Request to send the API call to the service.
4288// the "output" return value is not valid until after Send returns without error.
4289//
4290// See ListTrackers for more information on using the ListTrackers
4291// API call, and error handling.
4292//
4293// This method is useful when you want to inject custom logic or configuration
4294// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4295//
4296//
4297//    // Example sending a request using the ListTrackersRequest method.
4298//    req, resp := client.ListTrackersRequest(params)
4299//
4300//    err := req.Send()
4301//    if err == nil { // resp is now filled
4302//        fmt.Println(resp)
4303//    }
4304//
4305// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListTrackers
4306func (c *LocationService) ListTrackersRequest(input *ListTrackersInput) (req *request.Request, output *ListTrackersOutput) {
4307	op := &request.Operation{
4308		Name:       opListTrackers,
4309		HTTPMethod: "POST",
4310		HTTPPath:   "/tracking/v0/list-trackers",
4311		Paginator: &request.Paginator{
4312			InputTokens:     []string{"NextToken"},
4313			OutputTokens:    []string{"NextToken"},
4314			LimitToken:      "MaxResults",
4315			TruncationToken: "",
4316		},
4317	}
4318
4319	if input == nil {
4320		input = &ListTrackersInput{}
4321	}
4322
4323	output = &ListTrackersOutput{}
4324	req = c.newRequest(op, input, output)
4325	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
4326	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4327	return
4328}
4329
4330// ListTrackers API operation for Amazon Location Service.
4331//
4332// Lists tracker resources in your AWS account.
4333//
4334// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4335// with awserr.Error's Code and Message methods to get detailed information about
4336// the error.
4337//
4338// See the AWS API reference guide for Amazon Location Service's
4339// API operation ListTrackers for usage and error information.
4340//
4341// Returned Error Types:
4342//   * InternalServerException
4343//   The request has failed to process because of an unknown server error, exception,
4344//   or failure.
4345//
4346//   * AccessDeniedException
4347//   The request was denied because of insufficient access or permissions. Check
4348//   with an administrator to verify your permissions.
4349//
4350//   * ValidationException
4351//   The input failed to meet the constraints specified by the AWS service.
4352//
4353//   * ThrottlingException
4354//   The request was denied because of request throttling.
4355//
4356// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListTrackers
4357func (c *LocationService) ListTrackers(input *ListTrackersInput) (*ListTrackersOutput, error) {
4358	req, out := c.ListTrackersRequest(input)
4359	return out, req.Send()
4360}
4361
4362// ListTrackersWithContext is the same as ListTrackers with the addition of
4363// the ability to pass a context and additional request options.
4364//
4365// See ListTrackers for details on how to use this API operation.
4366//
4367// The context must be non-nil and will be used for request cancellation. If
4368// the context is nil a panic will occur. In the future the SDK may create
4369// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4370// for more information on using Contexts.
4371func (c *LocationService) ListTrackersWithContext(ctx aws.Context, input *ListTrackersInput, opts ...request.Option) (*ListTrackersOutput, error) {
4372	req, out := c.ListTrackersRequest(input)
4373	req.SetContext(ctx)
4374	req.ApplyOptions(opts...)
4375	return out, req.Send()
4376}
4377
4378// ListTrackersPages iterates over the pages of a ListTrackers operation,
4379// calling the "fn" function with the response data for each page. To stop
4380// iterating, return false from the fn function.
4381//
4382// See ListTrackers method for more information on how to use this operation.
4383//
4384// Note: This operation can generate multiple requests to a service.
4385//
4386//    // Example iterating over at most 3 pages of a ListTrackers operation.
4387//    pageNum := 0
4388//    err := client.ListTrackersPages(params,
4389//        func(page *locationservice.ListTrackersOutput, lastPage bool) bool {
4390//            pageNum++
4391//            fmt.Println(page)
4392//            return pageNum <= 3
4393//        })
4394//
4395func (c *LocationService) ListTrackersPages(input *ListTrackersInput, fn func(*ListTrackersOutput, bool) bool) error {
4396	return c.ListTrackersPagesWithContext(aws.BackgroundContext(), input, fn)
4397}
4398
4399// ListTrackersPagesWithContext same as ListTrackersPages except
4400// it takes a Context and allows setting request options on the pages.
4401//
4402// The context must be non-nil and will be used for request cancellation. If
4403// the context is nil a panic will occur. In the future the SDK may create
4404// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4405// for more information on using Contexts.
4406func (c *LocationService) ListTrackersPagesWithContext(ctx aws.Context, input *ListTrackersInput, fn func(*ListTrackersOutput, bool) bool, opts ...request.Option) error {
4407	p := request.Pagination{
4408		NewRequest: func() (*request.Request, error) {
4409			var inCpy *ListTrackersInput
4410			if input != nil {
4411				tmp := *input
4412				inCpy = &tmp
4413			}
4414			req, _ := c.ListTrackersRequest(inCpy)
4415			req.SetContext(ctx)
4416			req.ApplyOptions(opts...)
4417			return req, nil
4418		},
4419	}
4420
4421	for p.Next() {
4422		if !fn(p.Page().(*ListTrackersOutput), !p.HasNextPage()) {
4423			break
4424		}
4425	}
4426
4427	return p.Err()
4428}
4429
4430const opPutGeofence = "PutGeofence"
4431
4432// PutGeofenceRequest generates a "aws/request.Request" representing the
4433// client's request for the PutGeofence operation. The "output" return
4434// value will be populated with the request's response once the request completes
4435// successfully.
4436//
4437// Use "Send" method on the returned Request to send the API call to the service.
4438// the "output" return value is not valid until after Send returns without error.
4439//
4440// See PutGeofence for more information on using the PutGeofence
4441// API call, and error handling.
4442//
4443// This method is useful when you want to inject custom logic or configuration
4444// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4445//
4446//
4447//    // Example sending a request using the PutGeofenceRequest method.
4448//    req, resp := client.PutGeofenceRequest(params)
4449//
4450//    err := req.Send()
4451//    if err == nil { // resp is now filled
4452//        fmt.Println(resp)
4453//    }
4454//
4455// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/PutGeofence
4456func (c *LocationService) PutGeofenceRequest(input *PutGeofenceInput) (req *request.Request, output *PutGeofenceOutput) {
4457	op := &request.Operation{
4458		Name:       opPutGeofence,
4459		HTTPMethod: "PUT",
4460		HTTPPath:   "/geofencing/v0/collections/{CollectionName}/geofences/{GeofenceId}",
4461	}
4462
4463	if input == nil {
4464		input = &PutGeofenceInput{}
4465	}
4466
4467	output = &PutGeofenceOutput{}
4468	req = c.newRequest(op, input, output)
4469	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
4470	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4471	return
4472}
4473
4474// PutGeofence API operation for Amazon Location Service.
4475//
4476// Stores a geofence geometry in a given geofence collection, or updates the
4477// geometry of an existing geofence if a geofence ID is included in the request.
4478//
4479// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4480// with awserr.Error's Code and Message methods to get detailed information about
4481// the error.
4482//
4483// See the AWS API reference guide for Amazon Location Service's
4484// API operation PutGeofence for usage and error information.
4485//
4486// Returned Error Types:
4487//   * InternalServerException
4488//   The request has failed to process because of an unknown server error, exception,
4489//   or failure.
4490//
4491//   * ResourceNotFoundException
4492//   The resource that you've entered was not found in your AWS account.
4493//
4494//   * ConflictException
4495//   The request was unsuccessful because of a conflict.
4496//
4497//   * AccessDeniedException
4498//   The request was denied because of insufficient access or permissions. Check
4499//   with an administrator to verify your permissions.
4500//
4501//   * ValidationException
4502//   The input failed to meet the constraints specified by the AWS service.
4503//
4504//   * ThrottlingException
4505//   The request was denied because of request throttling.
4506//
4507// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/PutGeofence
4508func (c *LocationService) PutGeofence(input *PutGeofenceInput) (*PutGeofenceOutput, error) {
4509	req, out := c.PutGeofenceRequest(input)
4510	return out, req.Send()
4511}
4512
4513// PutGeofenceWithContext is the same as PutGeofence with the addition of
4514// the ability to pass a context and additional request options.
4515//
4516// See PutGeofence for details on how to use this API operation.
4517//
4518// The context must be non-nil and will be used for request cancellation. If
4519// the context is nil a panic will occur. In the future the SDK may create
4520// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4521// for more information on using Contexts.
4522func (c *LocationService) PutGeofenceWithContext(ctx aws.Context, input *PutGeofenceInput, opts ...request.Option) (*PutGeofenceOutput, error) {
4523	req, out := c.PutGeofenceRequest(input)
4524	req.SetContext(ctx)
4525	req.ApplyOptions(opts...)
4526	return out, req.Send()
4527}
4528
4529const opSearchPlaceIndexForPosition = "SearchPlaceIndexForPosition"
4530
4531// SearchPlaceIndexForPositionRequest generates a "aws/request.Request" representing the
4532// client's request for the SearchPlaceIndexForPosition operation. The "output" return
4533// value will be populated with the request's response once the request completes
4534// successfully.
4535//
4536// Use "Send" method on the returned Request to send the API call to the service.
4537// the "output" return value is not valid until after Send returns without error.
4538//
4539// See SearchPlaceIndexForPosition for more information on using the SearchPlaceIndexForPosition
4540// API call, and error handling.
4541//
4542// This method is useful when you want to inject custom logic or configuration
4543// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4544//
4545//
4546//    // Example sending a request using the SearchPlaceIndexForPositionRequest method.
4547//    req, resp := client.SearchPlaceIndexForPositionRequest(params)
4548//
4549//    err := req.Send()
4550//    if err == nil { // resp is now filled
4551//        fmt.Println(resp)
4552//    }
4553//
4554// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/SearchPlaceIndexForPosition
4555func (c *LocationService) SearchPlaceIndexForPositionRequest(input *SearchPlaceIndexForPositionInput) (req *request.Request, output *SearchPlaceIndexForPositionOutput) {
4556	op := &request.Operation{
4557		Name:       opSearchPlaceIndexForPosition,
4558		HTTPMethod: "POST",
4559		HTTPPath:   "/places/v0/indexes/{IndexName}/search/position",
4560	}
4561
4562	if input == nil {
4563		input = &SearchPlaceIndexForPositionInput{}
4564	}
4565
4566	output = &SearchPlaceIndexForPositionOutput{}
4567	req = c.newRequest(op, input, output)
4568	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
4569	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4570	return
4571}
4572
4573// SearchPlaceIndexForPosition API operation for Amazon Location Service.
4574//
4575// Reverse geocodes a given coordinate and returns a legible address. Allows
4576// you to search for Places or points of interest near a given position.
4577//
4578// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4579// with awserr.Error's Code and Message methods to get detailed information about
4580// the error.
4581//
4582// See the AWS API reference guide for Amazon Location Service's
4583// API operation SearchPlaceIndexForPosition for usage and error information.
4584//
4585// Returned Error Types:
4586//   * InternalServerException
4587//   The request has failed to process because of an unknown server error, exception,
4588//   or failure.
4589//
4590//   * ResourceNotFoundException
4591//   The resource that you've entered was not found in your AWS account.
4592//
4593//   * AccessDeniedException
4594//   The request was denied because of insufficient access or permissions. Check
4595//   with an administrator to verify your permissions.
4596//
4597//   * ValidationException
4598//   The input failed to meet the constraints specified by the AWS service.
4599//
4600//   * ThrottlingException
4601//   The request was denied because of request throttling.
4602//
4603// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/SearchPlaceIndexForPosition
4604func (c *LocationService) SearchPlaceIndexForPosition(input *SearchPlaceIndexForPositionInput) (*SearchPlaceIndexForPositionOutput, error) {
4605	req, out := c.SearchPlaceIndexForPositionRequest(input)
4606	return out, req.Send()
4607}
4608
4609// SearchPlaceIndexForPositionWithContext is the same as SearchPlaceIndexForPosition with the addition of
4610// the ability to pass a context and additional request options.
4611//
4612// See SearchPlaceIndexForPosition for details on how to use this API operation.
4613//
4614// The context must be non-nil and will be used for request cancellation. If
4615// the context is nil a panic will occur. In the future the SDK may create
4616// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4617// for more information on using Contexts.
4618func (c *LocationService) SearchPlaceIndexForPositionWithContext(ctx aws.Context, input *SearchPlaceIndexForPositionInput, opts ...request.Option) (*SearchPlaceIndexForPositionOutput, error) {
4619	req, out := c.SearchPlaceIndexForPositionRequest(input)
4620	req.SetContext(ctx)
4621	req.ApplyOptions(opts...)
4622	return out, req.Send()
4623}
4624
4625const opSearchPlaceIndexForText = "SearchPlaceIndexForText"
4626
4627// SearchPlaceIndexForTextRequest generates a "aws/request.Request" representing the
4628// client's request for the SearchPlaceIndexForText operation. The "output" return
4629// value will be populated with the request's response once the request completes
4630// successfully.
4631//
4632// Use "Send" method on the returned Request to send the API call to the service.
4633// the "output" return value is not valid until after Send returns without error.
4634//
4635// See SearchPlaceIndexForText for more information on using the SearchPlaceIndexForText
4636// API call, and error handling.
4637//
4638// This method is useful when you want to inject custom logic or configuration
4639// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4640//
4641//
4642//    // Example sending a request using the SearchPlaceIndexForTextRequest method.
4643//    req, resp := client.SearchPlaceIndexForTextRequest(params)
4644//
4645//    err := req.Send()
4646//    if err == nil { // resp is now filled
4647//        fmt.Println(resp)
4648//    }
4649//
4650// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/SearchPlaceIndexForText
4651func (c *LocationService) SearchPlaceIndexForTextRequest(input *SearchPlaceIndexForTextInput) (req *request.Request, output *SearchPlaceIndexForTextOutput) {
4652	op := &request.Operation{
4653		Name:       opSearchPlaceIndexForText,
4654		HTTPMethod: "POST",
4655		HTTPPath:   "/places/v0/indexes/{IndexName}/search/text",
4656	}
4657
4658	if input == nil {
4659		input = &SearchPlaceIndexForTextInput{}
4660	}
4661
4662	output = &SearchPlaceIndexForTextOutput{}
4663	req = c.newRequest(op, input, output)
4664	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
4665	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4666	return
4667}
4668
4669// SearchPlaceIndexForText API operation for Amazon Location Service.
4670//
4671// Geocodes free-form text, such as an address, name, city, or region to allow
4672// you to search for Places or points of interest.
4673//
4674// Includes the option to apply additional parameters to narrow your list of
4675// results.
4676//
4677// You can search for places near a given position using BiasPosition, or filter
4678// results within a bounding box using FilterBBox. Providing both parameters
4679// simultaneously returns an error.
4680//
4681// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4682// with awserr.Error's Code and Message methods to get detailed information about
4683// the error.
4684//
4685// See the AWS API reference guide for Amazon Location Service's
4686// API operation SearchPlaceIndexForText for usage and error information.
4687//
4688// Returned Error Types:
4689//   * InternalServerException
4690//   The request has failed to process because of an unknown server error, exception,
4691//   or failure.
4692//
4693//   * ResourceNotFoundException
4694//   The resource that you've entered was not found in your AWS account.
4695//
4696//   * AccessDeniedException
4697//   The request was denied because of insufficient access or permissions. Check
4698//   with an administrator to verify your permissions.
4699//
4700//   * ValidationException
4701//   The input failed to meet the constraints specified by the AWS service.
4702//
4703//   * ThrottlingException
4704//   The request was denied because of request throttling.
4705//
4706// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/SearchPlaceIndexForText
4707func (c *LocationService) SearchPlaceIndexForText(input *SearchPlaceIndexForTextInput) (*SearchPlaceIndexForTextOutput, error) {
4708	req, out := c.SearchPlaceIndexForTextRequest(input)
4709	return out, req.Send()
4710}
4711
4712// SearchPlaceIndexForTextWithContext is the same as SearchPlaceIndexForText with the addition of
4713// the ability to pass a context and additional request options.
4714//
4715// See SearchPlaceIndexForText for details on how to use this API operation.
4716//
4717// The context must be non-nil and will be used for request cancellation. If
4718// the context is nil a panic will occur. In the future the SDK may create
4719// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4720// for more information on using Contexts.
4721func (c *LocationService) SearchPlaceIndexForTextWithContext(ctx aws.Context, input *SearchPlaceIndexForTextInput, opts ...request.Option) (*SearchPlaceIndexForTextOutput, error) {
4722	req, out := c.SearchPlaceIndexForTextRequest(input)
4723	req.SetContext(ctx)
4724	req.ApplyOptions(opts...)
4725	return out, req.Send()
4726}
4727
4728const opTagResource = "TagResource"
4729
4730// TagResourceRequest generates a "aws/request.Request" representing the
4731// client's request for the TagResource operation. The "output" return
4732// value will be populated with the request's response once the request completes
4733// successfully.
4734//
4735// Use "Send" method on the returned Request to send the API call to the service.
4736// the "output" return value is not valid until after Send returns without error.
4737//
4738// See TagResource for more information on using the TagResource
4739// API call, and error handling.
4740//
4741// This method is useful when you want to inject custom logic or configuration
4742// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4743//
4744//
4745//    // Example sending a request using the TagResourceRequest method.
4746//    req, resp := client.TagResourceRequest(params)
4747//
4748//    err := req.Send()
4749//    if err == nil { // resp is now filled
4750//        fmt.Println(resp)
4751//    }
4752//
4753// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/TagResource
4754func (c *LocationService) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
4755	op := &request.Operation{
4756		Name:       opTagResource,
4757		HTTPMethod: "POST",
4758		HTTPPath:   "/tags/{ResourceArn}",
4759	}
4760
4761	if input == nil {
4762		input = &TagResourceInput{}
4763	}
4764
4765	output = &TagResourceOutput{}
4766	req = c.newRequest(op, input, output)
4767	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4768	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("metadata.", nil))
4769	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4770	return
4771}
4772
4773// TagResource API operation for Amazon Location Service.
4774//
4775// Assigns one or more tags (key-value pairs) to the specified Amazon Location
4776// Service resource.
4777//
4778//    <p>Tags can help you organize and categorize your resources. You can also
4779//    use them to scope user permissions, by granting a user permission to access
4780//    or change only resources with certain tag values.</p> <p>You can use the
4781//    <code>TagResource</code> operation with an Amazon Location Service resource
4782//    that already has tags. If you specify a new tag key for the resource,
4783//    this tag is appended to the tags already associated with the resource.
4784//    If you specify a tag key that's already associated with the resource,
4785//    the new tag value that you specify replaces the previous value for that
4786//    tag. </p> <p>You can associate up to 50 tags with a resource.</p>
4787//
4788// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4789// with awserr.Error's Code and Message methods to get detailed information about
4790// the error.
4791//
4792// See the AWS API reference guide for Amazon Location Service's
4793// API operation TagResource for usage and error information.
4794//
4795// Returned Error Types:
4796//   * InternalServerException
4797//   The request has failed to process because of an unknown server error, exception,
4798//   or failure.
4799//
4800//   * ResourceNotFoundException
4801//   The resource that you've entered was not found in your AWS account.
4802//
4803//   * AccessDeniedException
4804//   The request was denied because of insufficient access or permissions. Check
4805//   with an administrator to verify your permissions.
4806//
4807//   * ValidationException
4808//   The input failed to meet the constraints specified by the AWS service.
4809//
4810//   * ThrottlingException
4811//   The request was denied because of request throttling.
4812//
4813// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/TagResource
4814func (c *LocationService) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
4815	req, out := c.TagResourceRequest(input)
4816	return out, req.Send()
4817}
4818
4819// TagResourceWithContext is the same as TagResource with the addition of
4820// the ability to pass a context and additional request options.
4821//
4822// See TagResource for details on how to use this API operation.
4823//
4824// The context must be non-nil and will be used for request cancellation. If
4825// the context is nil a panic will occur. In the future the SDK may create
4826// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4827// for more information on using Contexts.
4828func (c *LocationService) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
4829	req, out := c.TagResourceRequest(input)
4830	req.SetContext(ctx)
4831	req.ApplyOptions(opts...)
4832	return out, req.Send()
4833}
4834
4835const opUntagResource = "UntagResource"
4836
4837// UntagResourceRequest generates a "aws/request.Request" representing the
4838// client's request for the UntagResource operation. The "output" return
4839// value will be populated with the request's response once the request completes
4840// successfully.
4841//
4842// Use "Send" method on the returned Request to send the API call to the service.
4843// the "output" return value is not valid until after Send returns without error.
4844//
4845// See UntagResource for more information on using the UntagResource
4846// API call, and error handling.
4847//
4848// This method is useful when you want to inject custom logic or configuration
4849// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4850//
4851//
4852//    // Example sending a request using the UntagResourceRequest method.
4853//    req, resp := client.UntagResourceRequest(params)
4854//
4855//    err := req.Send()
4856//    if err == nil { // resp is now filled
4857//        fmt.Println(resp)
4858//    }
4859//
4860// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UntagResource
4861func (c *LocationService) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
4862	op := &request.Operation{
4863		Name:       opUntagResource,
4864		HTTPMethod: "DELETE",
4865		HTTPPath:   "/tags/{ResourceArn}",
4866	}
4867
4868	if input == nil {
4869		input = &UntagResourceInput{}
4870	}
4871
4872	output = &UntagResourceOutput{}
4873	req = c.newRequest(op, input, output)
4874	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4875	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("metadata.", nil))
4876	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4877	return
4878}
4879
4880// UntagResource API operation for Amazon Location Service.
4881//
4882// Removes one or more tags from the specified Amazon Location resource.
4883//
4884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4885// with awserr.Error's Code and Message methods to get detailed information about
4886// the error.
4887//
4888// See the AWS API reference guide for Amazon Location Service's
4889// API operation UntagResource for usage and error information.
4890//
4891// Returned Error Types:
4892//   * InternalServerException
4893//   The request has failed to process because of an unknown server error, exception,
4894//   or failure.
4895//
4896//   * ResourceNotFoundException
4897//   The resource that you've entered was not found in your AWS account.
4898//
4899//   * AccessDeniedException
4900//   The request was denied because of insufficient access or permissions. Check
4901//   with an administrator to verify your permissions.
4902//
4903//   * ValidationException
4904//   The input failed to meet the constraints specified by the AWS service.
4905//
4906//   * ThrottlingException
4907//   The request was denied because of request throttling.
4908//
4909// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UntagResource
4910func (c *LocationService) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
4911	req, out := c.UntagResourceRequest(input)
4912	return out, req.Send()
4913}
4914
4915// UntagResourceWithContext is the same as UntagResource with the addition of
4916// the ability to pass a context and additional request options.
4917//
4918// See UntagResource for details on how to use this API operation.
4919//
4920// The context must be non-nil and will be used for request cancellation. If
4921// the context is nil a panic will occur. In the future the SDK may create
4922// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4923// for more information on using Contexts.
4924func (c *LocationService) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
4925	req, out := c.UntagResourceRequest(input)
4926	req.SetContext(ctx)
4927	req.ApplyOptions(opts...)
4928	return out, req.Send()
4929}
4930
4931const opUpdateGeofenceCollection = "UpdateGeofenceCollection"
4932
4933// UpdateGeofenceCollectionRequest generates a "aws/request.Request" representing the
4934// client's request for the UpdateGeofenceCollection operation. The "output" return
4935// value will be populated with the request's response once the request completes
4936// successfully.
4937//
4938// Use "Send" method on the returned Request to send the API call to the service.
4939// the "output" return value is not valid until after Send returns without error.
4940//
4941// See UpdateGeofenceCollection for more information on using the UpdateGeofenceCollection
4942// API call, and error handling.
4943//
4944// This method is useful when you want to inject custom logic or configuration
4945// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4946//
4947//
4948//    // Example sending a request using the UpdateGeofenceCollectionRequest method.
4949//    req, resp := client.UpdateGeofenceCollectionRequest(params)
4950//
4951//    err := req.Send()
4952//    if err == nil { // resp is now filled
4953//        fmt.Println(resp)
4954//    }
4955//
4956// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdateGeofenceCollection
4957func (c *LocationService) UpdateGeofenceCollectionRequest(input *UpdateGeofenceCollectionInput) (req *request.Request, output *UpdateGeofenceCollectionOutput) {
4958	op := &request.Operation{
4959		Name:       opUpdateGeofenceCollection,
4960		HTTPMethod: "PATCH",
4961		HTTPPath:   "/geofencing/v0/collections/{CollectionName}",
4962	}
4963
4964	if input == nil {
4965		input = &UpdateGeofenceCollectionInput{}
4966	}
4967
4968	output = &UpdateGeofenceCollectionOutput{}
4969	req = c.newRequest(op, input, output)
4970	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
4971	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4972	return
4973}
4974
4975// UpdateGeofenceCollection API operation for Amazon Location Service.
4976//
4977// Updates the specified properties of a given geofence collection.
4978//
4979// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4980// with awserr.Error's Code and Message methods to get detailed information about
4981// the error.
4982//
4983// See the AWS API reference guide for Amazon Location Service's
4984// API operation UpdateGeofenceCollection for usage and error information.
4985//
4986// Returned Error Types:
4987//   * InternalServerException
4988//   The request has failed to process because of an unknown server error, exception,
4989//   or failure.
4990//
4991//   * ResourceNotFoundException
4992//   The resource that you've entered was not found in your AWS account.
4993//
4994//   * AccessDeniedException
4995//   The request was denied because of insufficient access or permissions. Check
4996//   with an administrator to verify your permissions.
4997//
4998//   * ValidationException
4999//   The input failed to meet the constraints specified by the AWS service.
5000//
5001//   * ThrottlingException
5002//   The request was denied because of request throttling.
5003//
5004// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdateGeofenceCollection
5005func (c *LocationService) UpdateGeofenceCollection(input *UpdateGeofenceCollectionInput) (*UpdateGeofenceCollectionOutput, error) {
5006	req, out := c.UpdateGeofenceCollectionRequest(input)
5007	return out, req.Send()
5008}
5009
5010// UpdateGeofenceCollectionWithContext is the same as UpdateGeofenceCollection with the addition of
5011// the ability to pass a context and additional request options.
5012//
5013// See UpdateGeofenceCollection for details on how to use this API operation.
5014//
5015// The context must be non-nil and will be used for request cancellation. If
5016// the context is nil a panic will occur. In the future the SDK may create
5017// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5018// for more information on using Contexts.
5019func (c *LocationService) UpdateGeofenceCollectionWithContext(ctx aws.Context, input *UpdateGeofenceCollectionInput, opts ...request.Option) (*UpdateGeofenceCollectionOutput, error) {
5020	req, out := c.UpdateGeofenceCollectionRequest(input)
5021	req.SetContext(ctx)
5022	req.ApplyOptions(opts...)
5023	return out, req.Send()
5024}
5025
5026const opUpdateMap = "UpdateMap"
5027
5028// UpdateMapRequest generates a "aws/request.Request" representing the
5029// client's request for the UpdateMap operation. The "output" return
5030// value will be populated with the request's response once the request completes
5031// successfully.
5032//
5033// Use "Send" method on the returned Request to send the API call to the service.
5034// the "output" return value is not valid until after Send returns without error.
5035//
5036// See UpdateMap for more information on using the UpdateMap
5037// API call, and error handling.
5038//
5039// This method is useful when you want to inject custom logic or configuration
5040// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5041//
5042//
5043//    // Example sending a request using the UpdateMapRequest method.
5044//    req, resp := client.UpdateMapRequest(params)
5045//
5046//    err := req.Send()
5047//    if err == nil { // resp is now filled
5048//        fmt.Println(resp)
5049//    }
5050//
5051// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdateMap
5052func (c *LocationService) UpdateMapRequest(input *UpdateMapInput) (req *request.Request, output *UpdateMapOutput) {
5053	op := &request.Operation{
5054		Name:       opUpdateMap,
5055		HTTPMethod: "PATCH",
5056		HTTPPath:   "/maps/v0/maps/{MapName}",
5057	}
5058
5059	if input == nil {
5060		input = &UpdateMapInput{}
5061	}
5062
5063	output = &UpdateMapOutput{}
5064	req = c.newRequest(op, input, output)
5065	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
5066	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
5067	return
5068}
5069
5070// UpdateMap API operation for Amazon Location Service.
5071//
5072// Updates the specified properties of a given map resource.
5073//
5074// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5075// with awserr.Error's Code and Message methods to get detailed information about
5076// the error.
5077//
5078// See the AWS API reference guide for Amazon Location Service's
5079// API operation UpdateMap for usage and error information.
5080//
5081// Returned Error Types:
5082//   * InternalServerException
5083//   The request has failed to process because of an unknown server error, exception,
5084//   or failure.
5085//
5086//   * ResourceNotFoundException
5087//   The resource that you've entered was not found in your AWS account.
5088//
5089//   * AccessDeniedException
5090//   The request was denied because of insufficient access or permissions. Check
5091//   with an administrator to verify your permissions.
5092//
5093//   * ValidationException
5094//   The input failed to meet the constraints specified by the AWS service.
5095//
5096//   * ThrottlingException
5097//   The request was denied because of request throttling.
5098//
5099// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdateMap
5100func (c *LocationService) UpdateMap(input *UpdateMapInput) (*UpdateMapOutput, error) {
5101	req, out := c.UpdateMapRequest(input)
5102	return out, req.Send()
5103}
5104
5105// UpdateMapWithContext is the same as UpdateMap with the addition of
5106// the ability to pass a context and additional request options.
5107//
5108// See UpdateMap for details on how to use this API operation.
5109//
5110// The context must be non-nil and will be used for request cancellation. If
5111// the context is nil a panic will occur. In the future the SDK may create
5112// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5113// for more information on using Contexts.
5114func (c *LocationService) UpdateMapWithContext(ctx aws.Context, input *UpdateMapInput, opts ...request.Option) (*UpdateMapOutput, error) {
5115	req, out := c.UpdateMapRequest(input)
5116	req.SetContext(ctx)
5117	req.ApplyOptions(opts...)
5118	return out, req.Send()
5119}
5120
5121const opUpdatePlaceIndex = "UpdatePlaceIndex"
5122
5123// UpdatePlaceIndexRequest generates a "aws/request.Request" representing the
5124// client's request for the UpdatePlaceIndex operation. The "output" return
5125// value will be populated with the request's response once the request completes
5126// successfully.
5127//
5128// Use "Send" method on the returned Request to send the API call to the service.
5129// the "output" return value is not valid until after Send returns without error.
5130//
5131// See UpdatePlaceIndex for more information on using the UpdatePlaceIndex
5132// API call, and error handling.
5133//
5134// This method is useful when you want to inject custom logic or configuration
5135// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5136//
5137//
5138//    // Example sending a request using the UpdatePlaceIndexRequest method.
5139//    req, resp := client.UpdatePlaceIndexRequest(params)
5140//
5141//    err := req.Send()
5142//    if err == nil { // resp is now filled
5143//        fmt.Println(resp)
5144//    }
5145//
5146// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdatePlaceIndex
5147func (c *LocationService) UpdatePlaceIndexRequest(input *UpdatePlaceIndexInput) (req *request.Request, output *UpdatePlaceIndexOutput) {
5148	op := &request.Operation{
5149		Name:       opUpdatePlaceIndex,
5150		HTTPMethod: "PATCH",
5151		HTTPPath:   "/places/v0/indexes/{IndexName}",
5152	}
5153
5154	if input == nil {
5155		input = &UpdatePlaceIndexInput{}
5156	}
5157
5158	output = &UpdatePlaceIndexOutput{}
5159	req = c.newRequest(op, input, output)
5160	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
5161	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
5162	return
5163}
5164
5165// UpdatePlaceIndex API operation for Amazon Location Service.
5166//
5167// Updates the specified properties of a given place index resource.
5168//
5169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5170// with awserr.Error's Code and Message methods to get detailed information about
5171// the error.
5172//
5173// See the AWS API reference guide for Amazon Location Service's
5174// API operation UpdatePlaceIndex for usage and error information.
5175//
5176// Returned Error Types:
5177//   * InternalServerException
5178//   The request has failed to process because of an unknown server error, exception,
5179//   or failure.
5180//
5181//   * ResourceNotFoundException
5182//   The resource that you've entered was not found in your AWS account.
5183//
5184//   * AccessDeniedException
5185//   The request was denied because of insufficient access or permissions. Check
5186//   with an administrator to verify your permissions.
5187//
5188//   * ValidationException
5189//   The input failed to meet the constraints specified by the AWS service.
5190//
5191//   * ThrottlingException
5192//   The request was denied because of request throttling.
5193//
5194// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdatePlaceIndex
5195func (c *LocationService) UpdatePlaceIndex(input *UpdatePlaceIndexInput) (*UpdatePlaceIndexOutput, error) {
5196	req, out := c.UpdatePlaceIndexRequest(input)
5197	return out, req.Send()
5198}
5199
5200// UpdatePlaceIndexWithContext is the same as UpdatePlaceIndex with the addition of
5201// the ability to pass a context and additional request options.
5202//
5203// See UpdatePlaceIndex for details on how to use this API operation.
5204//
5205// The context must be non-nil and will be used for request cancellation. If
5206// the context is nil a panic will occur. In the future the SDK may create
5207// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5208// for more information on using Contexts.
5209func (c *LocationService) UpdatePlaceIndexWithContext(ctx aws.Context, input *UpdatePlaceIndexInput, opts ...request.Option) (*UpdatePlaceIndexOutput, error) {
5210	req, out := c.UpdatePlaceIndexRequest(input)
5211	req.SetContext(ctx)
5212	req.ApplyOptions(opts...)
5213	return out, req.Send()
5214}
5215
5216const opUpdateRouteCalculator = "UpdateRouteCalculator"
5217
5218// UpdateRouteCalculatorRequest generates a "aws/request.Request" representing the
5219// client's request for the UpdateRouteCalculator operation. The "output" return
5220// value will be populated with the request's response once the request completes
5221// successfully.
5222//
5223// Use "Send" method on the returned Request to send the API call to the service.
5224// the "output" return value is not valid until after Send returns without error.
5225//
5226// See UpdateRouteCalculator for more information on using the UpdateRouteCalculator
5227// API call, and error handling.
5228//
5229// This method is useful when you want to inject custom logic or configuration
5230// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5231//
5232//
5233//    // Example sending a request using the UpdateRouteCalculatorRequest method.
5234//    req, resp := client.UpdateRouteCalculatorRequest(params)
5235//
5236//    err := req.Send()
5237//    if err == nil { // resp is now filled
5238//        fmt.Println(resp)
5239//    }
5240//
5241// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdateRouteCalculator
5242func (c *LocationService) UpdateRouteCalculatorRequest(input *UpdateRouteCalculatorInput) (req *request.Request, output *UpdateRouteCalculatorOutput) {
5243	op := &request.Operation{
5244		Name:       opUpdateRouteCalculator,
5245		HTTPMethod: "PATCH",
5246		HTTPPath:   "/routes/v0/calculators/{CalculatorName}",
5247	}
5248
5249	if input == nil {
5250		input = &UpdateRouteCalculatorInput{}
5251	}
5252
5253	output = &UpdateRouteCalculatorOutput{}
5254	req = c.newRequest(op, input, output)
5255	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("routes.", nil))
5256	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
5257	return
5258}
5259
5260// UpdateRouteCalculator API operation for Amazon Location Service.
5261//
5262// Updates the specified properties for a given route calculator resource.
5263//
5264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5265// with awserr.Error's Code and Message methods to get detailed information about
5266// the error.
5267//
5268// See the AWS API reference guide for Amazon Location Service's
5269// API operation UpdateRouteCalculator for usage and error information.
5270//
5271// Returned Error Types:
5272//   * InternalServerException
5273//   The request has failed to process because of an unknown server error, exception,
5274//   or failure.
5275//
5276//   * ResourceNotFoundException
5277//   The resource that you've entered was not found in your AWS account.
5278//
5279//   * AccessDeniedException
5280//   The request was denied because of insufficient access or permissions. Check
5281//   with an administrator to verify your permissions.
5282//
5283//   * ValidationException
5284//   The input failed to meet the constraints specified by the AWS service.
5285//
5286//   * ThrottlingException
5287//   The request was denied because of request throttling.
5288//
5289// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdateRouteCalculator
5290func (c *LocationService) UpdateRouteCalculator(input *UpdateRouteCalculatorInput) (*UpdateRouteCalculatorOutput, error) {
5291	req, out := c.UpdateRouteCalculatorRequest(input)
5292	return out, req.Send()
5293}
5294
5295// UpdateRouteCalculatorWithContext is the same as UpdateRouteCalculator with the addition of
5296// the ability to pass a context and additional request options.
5297//
5298// See UpdateRouteCalculator for details on how to use this API operation.
5299//
5300// The context must be non-nil and will be used for request cancellation. If
5301// the context is nil a panic will occur. In the future the SDK may create
5302// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5303// for more information on using Contexts.
5304func (c *LocationService) UpdateRouteCalculatorWithContext(ctx aws.Context, input *UpdateRouteCalculatorInput, opts ...request.Option) (*UpdateRouteCalculatorOutput, error) {
5305	req, out := c.UpdateRouteCalculatorRequest(input)
5306	req.SetContext(ctx)
5307	req.ApplyOptions(opts...)
5308	return out, req.Send()
5309}
5310
5311const opUpdateTracker = "UpdateTracker"
5312
5313// UpdateTrackerRequest generates a "aws/request.Request" representing the
5314// client's request for the UpdateTracker operation. The "output" return
5315// value will be populated with the request's response once the request completes
5316// successfully.
5317//
5318// Use "Send" method on the returned Request to send the API call to the service.
5319// the "output" return value is not valid until after Send returns without error.
5320//
5321// See UpdateTracker for more information on using the UpdateTracker
5322// API call, and error handling.
5323//
5324// This method is useful when you want to inject custom logic or configuration
5325// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5326//
5327//
5328//    // Example sending a request using the UpdateTrackerRequest method.
5329//    req, resp := client.UpdateTrackerRequest(params)
5330//
5331//    err := req.Send()
5332//    if err == nil { // resp is now filled
5333//        fmt.Println(resp)
5334//    }
5335//
5336// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdateTracker
5337func (c *LocationService) UpdateTrackerRequest(input *UpdateTrackerInput) (req *request.Request, output *UpdateTrackerOutput) {
5338	op := &request.Operation{
5339		Name:       opUpdateTracker,
5340		HTTPMethod: "PATCH",
5341		HTTPPath:   "/tracking/v0/trackers/{TrackerName}",
5342	}
5343
5344	if input == nil {
5345		input = &UpdateTrackerInput{}
5346	}
5347
5348	output = &UpdateTrackerOutput{}
5349	req = c.newRequest(op, input, output)
5350	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
5351	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
5352	return
5353}
5354
5355// UpdateTracker API operation for Amazon Location Service.
5356//
5357// Updates the specified properties of a given tracker resource.
5358//
5359// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5360// with awserr.Error's Code and Message methods to get detailed information about
5361// the error.
5362//
5363// See the AWS API reference guide for Amazon Location Service's
5364// API operation UpdateTracker for usage and error information.
5365//
5366// Returned Error Types:
5367//   * InternalServerException
5368//   The request has failed to process because of an unknown server error, exception,
5369//   or failure.
5370//
5371//   * ResourceNotFoundException
5372//   The resource that you've entered was not found in your AWS account.
5373//
5374//   * AccessDeniedException
5375//   The request was denied because of insufficient access or permissions. Check
5376//   with an administrator to verify your permissions.
5377//
5378//   * ValidationException
5379//   The input failed to meet the constraints specified by the AWS service.
5380//
5381//   * ThrottlingException
5382//   The request was denied because of request throttling.
5383//
5384// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/UpdateTracker
5385func (c *LocationService) UpdateTracker(input *UpdateTrackerInput) (*UpdateTrackerOutput, error) {
5386	req, out := c.UpdateTrackerRequest(input)
5387	return out, req.Send()
5388}
5389
5390// UpdateTrackerWithContext is the same as UpdateTracker with the addition of
5391// the ability to pass a context and additional request options.
5392//
5393// See UpdateTracker for details on how to use this API operation.
5394//
5395// The context must be non-nil and will be used for request cancellation. If
5396// the context is nil a panic will occur. In the future the SDK may create
5397// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5398// for more information on using Contexts.
5399func (c *LocationService) UpdateTrackerWithContext(ctx aws.Context, input *UpdateTrackerInput, opts ...request.Option) (*UpdateTrackerOutput, error) {
5400	req, out := c.UpdateTrackerRequest(input)
5401	req.SetContext(ctx)
5402	req.ApplyOptions(opts...)
5403	return out, req.Send()
5404}
5405
5406// The request was denied because of insufficient access or permissions. Check
5407// with an administrator to verify your permissions.
5408type AccessDeniedException struct {
5409	_            struct{}                  `type:"structure"`
5410	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5411
5412	Message_ *string `locationName:"message" type:"string"`
5413}
5414
5415// String returns the string representation
5416func (s AccessDeniedException) String() string {
5417	return awsutil.Prettify(s)
5418}
5419
5420// GoString returns the string representation
5421func (s AccessDeniedException) GoString() string {
5422	return s.String()
5423}
5424
5425func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
5426	return &AccessDeniedException{
5427		RespMetadata: v,
5428	}
5429}
5430
5431// Code returns the exception type name.
5432func (s *AccessDeniedException) Code() string {
5433	return "AccessDeniedException"
5434}
5435
5436// Message returns the exception's message.
5437func (s *AccessDeniedException) Message() string {
5438	if s.Message_ != nil {
5439		return *s.Message_
5440	}
5441	return ""
5442}
5443
5444// OrigErr always returns nil, satisfies awserr.Error interface.
5445func (s *AccessDeniedException) OrigErr() error {
5446	return nil
5447}
5448
5449func (s *AccessDeniedException) Error() string {
5450	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5451}
5452
5453// Status code returns the HTTP status code for the request's response error.
5454func (s *AccessDeniedException) StatusCode() int {
5455	return s.RespMetadata.StatusCode
5456}
5457
5458// RequestID returns the service's response RequestID for request.
5459func (s *AccessDeniedException) RequestID() string {
5460	return s.RespMetadata.RequestID
5461}
5462
5463type AssociateTrackerConsumerInput struct {
5464	_ struct{} `type:"structure"`
5465
5466	// The Amazon Resource Name (ARN) for the geofence collection to be associated
5467	// to tracker resource. Used when you need to specify a resource across all
5468	// AWS.
5469	//
5470	//    * Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer
5471	//
5472	// ConsumerArn is a required field
5473	ConsumerArn *string `type:"string" required:"true"`
5474
5475	// The name of the tracker resource to be associated with a geofence collection.
5476	//
5477	// TrackerName is a required field
5478	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
5479}
5480
5481// String returns the string representation
5482func (s AssociateTrackerConsumerInput) String() string {
5483	return awsutil.Prettify(s)
5484}
5485
5486// GoString returns the string representation
5487func (s AssociateTrackerConsumerInput) GoString() string {
5488	return s.String()
5489}
5490
5491// Validate inspects the fields of the type to determine if they are valid.
5492func (s *AssociateTrackerConsumerInput) Validate() error {
5493	invalidParams := request.ErrInvalidParams{Context: "AssociateTrackerConsumerInput"}
5494	if s.ConsumerArn == nil {
5495		invalidParams.Add(request.NewErrParamRequired("ConsumerArn"))
5496	}
5497	if s.TrackerName == nil {
5498		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
5499	}
5500	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
5501		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
5502	}
5503
5504	if invalidParams.Len() > 0 {
5505		return invalidParams
5506	}
5507	return nil
5508}
5509
5510// SetConsumerArn sets the ConsumerArn field's value.
5511func (s *AssociateTrackerConsumerInput) SetConsumerArn(v string) *AssociateTrackerConsumerInput {
5512	s.ConsumerArn = &v
5513	return s
5514}
5515
5516// SetTrackerName sets the TrackerName field's value.
5517func (s *AssociateTrackerConsumerInput) SetTrackerName(v string) *AssociateTrackerConsumerInput {
5518	s.TrackerName = &v
5519	return s
5520}
5521
5522type AssociateTrackerConsumerOutput struct {
5523	_ struct{} `type:"structure"`
5524}
5525
5526// String returns the string representation
5527func (s AssociateTrackerConsumerOutput) String() string {
5528	return awsutil.Prettify(s)
5529}
5530
5531// GoString returns the string representation
5532func (s AssociateTrackerConsumerOutput) GoString() string {
5533	return s.String()
5534}
5535
5536// Contains the tracker resource details.
5537type BatchDeleteDevicePositionHistoryError struct {
5538	_ struct{} `type:"structure"`
5539
5540	// The ID of the device for this position.
5541	//
5542	// DeviceId is a required field
5543	DeviceId *string `min:"1" type:"string" required:"true"`
5544
5545	// Contains the batch request error details associated with the request.
5546	//
5547	// Error is a required field
5548	Error *BatchItemError `type:"structure" required:"true"`
5549}
5550
5551// String returns the string representation
5552func (s BatchDeleteDevicePositionHistoryError) String() string {
5553	return awsutil.Prettify(s)
5554}
5555
5556// GoString returns the string representation
5557func (s BatchDeleteDevicePositionHistoryError) GoString() string {
5558	return s.String()
5559}
5560
5561// SetDeviceId sets the DeviceId field's value.
5562func (s *BatchDeleteDevicePositionHistoryError) SetDeviceId(v string) *BatchDeleteDevicePositionHistoryError {
5563	s.DeviceId = &v
5564	return s
5565}
5566
5567// SetError sets the Error field's value.
5568func (s *BatchDeleteDevicePositionHistoryError) SetError(v *BatchItemError) *BatchDeleteDevicePositionHistoryError {
5569	s.Error = v
5570	return s
5571}
5572
5573type BatchDeleteDevicePositionHistoryInput struct {
5574	_ struct{} `type:"structure"`
5575
5576	// Devices whose position history you want to delete.
5577	//
5578	//    * For example, for two devices: “DeviceIds” : [DeviceId1,DeviceId2]
5579	//
5580	// DeviceIds is a required field
5581	DeviceIds []*string `min:"1" type:"list" required:"true"`
5582
5583	// The name of the tracker resource to delete the device position history from.
5584	//
5585	// TrackerName is a required field
5586	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
5587}
5588
5589// String returns the string representation
5590func (s BatchDeleteDevicePositionHistoryInput) String() string {
5591	return awsutil.Prettify(s)
5592}
5593
5594// GoString returns the string representation
5595func (s BatchDeleteDevicePositionHistoryInput) GoString() string {
5596	return s.String()
5597}
5598
5599// Validate inspects the fields of the type to determine if they are valid.
5600func (s *BatchDeleteDevicePositionHistoryInput) Validate() error {
5601	invalidParams := request.ErrInvalidParams{Context: "BatchDeleteDevicePositionHistoryInput"}
5602	if s.DeviceIds == nil {
5603		invalidParams.Add(request.NewErrParamRequired("DeviceIds"))
5604	}
5605	if s.DeviceIds != nil && len(s.DeviceIds) < 1 {
5606		invalidParams.Add(request.NewErrParamMinLen("DeviceIds", 1))
5607	}
5608	if s.TrackerName == nil {
5609		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
5610	}
5611	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
5612		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
5613	}
5614
5615	if invalidParams.Len() > 0 {
5616		return invalidParams
5617	}
5618	return nil
5619}
5620
5621// SetDeviceIds sets the DeviceIds field's value.
5622func (s *BatchDeleteDevicePositionHistoryInput) SetDeviceIds(v []*string) *BatchDeleteDevicePositionHistoryInput {
5623	s.DeviceIds = v
5624	return s
5625}
5626
5627// SetTrackerName sets the TrackerName field's value.
5628func (s *BatchDeleteDevicePositionHistoryInput) SetTrackerName(v string) *BatchDeleteDevicePositionHistoryInput {
5629	s.TrackerName = &v
5630	return s
5631}
5632
5633type BatchDeleteDevicePositionHistoryOutput struct {
5634	_ struct{} `type:"structure"`
5635
5636	// Contains error details for each device history that failed to delete.
5637	//
5638	// Errors is a required field
5639	Errors []*BatchDeleteDevicePositionHistoryError `type:"list" required:"true"`
5640}
5641
5642// String returns the string representation
5643func (s BatchDeleteDevicePositionHistoryOutput) String() string {
5644	return awsutil.Prettify(s)
5645}
5646
5647// GoString returns the string representation
5648func (s BatchDeleteDevicePositionHistoryOutput) GoString() string {
5649	return s.String()
5650}
5651
5652// SetErrors sets the Errors field's value.
5653func (s *BatchDeleteDevicePositionHistoryOutput) SetErrors(v []*BatchDeleteDevicePositionHistoryError) *BatchDeleteDevicePositionHistoryOutput {
5654	s.Errors = v
5655	return s
5656}
5657
5658// Contains error details for each geofence that failed to delete from the geofence
5659// collection.
5660type BatchDeleteGeofenceError struct {
5661	_ struct{} `type:"structure"`
5662
5663	// Contains details associated to the batch error.
5664	//
5665	// Error is a required field
5666	Error *BatchItemError `type:"structure" required:"true"`
5667
5668	// The geofence associated with the error message.
5669	//
5670	// GeofenceId is a required field
5671	GeofenceId *string `min:"1" type:"string" required:"true"`
5672}
5673
5674// String returns the string representation
5675func (s BatchDeleteGeofenceError) String() string {
5676	return awsutil.Prettify(s)
5677}
5678
5679// GoString returns the string representation
5680func (s BatchDeleteGeofenceError) GoString() string {
5681	return s.String()
5682}
5683
5684// SetError sets the Error field's value.
5685func (s *BatchDeleteGeofenceError) SetError(v *BatchItemError) *BatchDeleteGeofenceError {
5686	s.Error = v
5687	return s
5688}
5689
5690// SetGeofenceId sets the GeofenceId field's value.
5691func (s *BatchDeleteGeofenceError) SetGeofenceId(v string) *BatchDeleteGeofenceError {
5692	s.GeofenceId = &v
5693	return s
5694}
5695
5696type BatchDeleteGeofenceInput struct {
5697	_ struct{} `type:"structure"`
5698
5699	// The geofence collection storing the geofences to be deleted.
5700	//
5701	// CollectionName is a required field
5702	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
5703
5704	// The batch of geofences to be deleted.
5705	//
5706	// GeofenceIds is a required field
5707	GeofenceIds []*string `min:"1" type:"list" required:"true"`
5708}
5709
5710// String returns the string representation
5711func (s BatchDeleteGeofenceInput) String() string {
5712	return awsutil.Prettify(s)
5713}
5714
5715// GoString returns the string representation
5716func (s BatchDeleteGeofenceInput) GoString() string {
5717	return s.String()
5718}
5719
5720// Validate inspects the fields of the type to determine if they are valid.
5721func (s *BatchDeleteGeofenceInput) Validate() error {
5722	invalidParams := request.ErrInvalidParams{Context: "BatchDeleteGeofenceInput"}
5723	if s.CollectionName == nil {
5724		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
5725	}
5726	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
5727		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
5728	}
5729	if s.GeofenceIds == nil {
5730		invalidParams.Add(request.NewErrParamRequired("GeofenceIds"))
5731	}
5732	if s.GeofenceIds != nil && len(s.GeofenceIds) < 1 {
5733		invalidParams.Add(request.NewErrParamMinLen("GeofenceIds", 1))
5734	}
5735
5736	if invalidParams.Len() > 0 {
5737		return invalidParams
5738	}
5739	return nil
5740}
5741
5742// SetCollectionName sets the CollectionName field's value.
5743func (s *BatchDeleteGeofenceInput) SetCollectionName(v string) *BatchDeleteGeofenceInput {
5744	s.CollectionName = &v
5745	return s
5746}
5747
5748// SetGeofenceIds sets the GeofenceIds field's value.
5749func (s *BatchDeleteGeofenceInput) SetGeofenceIds(v []*string) *BatchDeleteGeofenceInput {
5750	s.GeofenceIds = v
5751	return s
5752}
5753
5754type BatchDeleteGeofenceOutput struct {
5755	_ struct{} `type:"structure"`
5756
5757	// Contains error details for each geofence that failed to delete.
5758	//
5759	// Errors is a required field
5760	Errors []*BatchDeleteGeofenceError `type:"list" required:"true"`
5761}
5762
5763// String returns the string representation
5764func (s BatchDeleteGeofenceOutput) String() string {
5765	return awsutil.Prettify(s)
5766}
5767
5768// GoString returns the string representation
5769func (s BatchDeleteGeofenceOutput) GoString() string {
5770	return s.String()
5771}
5772
5773// SetErrors sets the Errors field's value.
5774func (s *BatchDeleteGeofenceOutput) SetErrors(v []*BatchDeleteGeofenceError) *BatchDeleteGeofenceOutput {
5775	s.Errors = v
5776	return s
5777}
5778
5779// Contains error details for each device that failed to evaluate its position
5780// against the geofences in a given geofence collection.
5781type BatchEvaluateGeofencesError struct {
5782	_ struct{} `type:"structure"`
5783
5784	// The device associated with the position evaluation error.
5785	//
5786	// DeviceId is a required field
5787	DeviceId *string `min:"1" type:"string" required:"true"`
5788
5789	// Contains details associated to the batch error.
5790	//
5791	// Error is a required field
5792	Error *BatchItemError `type:"structure" required:"true"`
5793
5794	// Specifies a timestamp for when the error occurred in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
5795	// format: YYYY-MM-DDThh:mm:ss.sssZ
5796	//
5797	// SampleTime is a required field
5798	SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
5799}
5800
5801// String returns the string representation
5802func (s BatchEvaluateGeofencesError) String() string {
5803	return awsutil.Prettify(s)
5804}
5805
5806// GoString returns the string representation
5807func (s BatchEvaluateGeofencesError) GoString() string {
5808	return s.String()
5809}
5810
5811// SetDeviceId sets the DeviceId field's value.
5812func (s *BatchEvaluateGeofencesError) SetDeviceId(v string) *BatchEvaluateGeofencesError {
5813	s.DeviceId = &v
5814	return s
5815}
5816
5817// SetError sets the Error field's value.
5818func (s *BatchEvaluateGeofencesError) SetError(v *BatchItemError) *BatchEvaluateGeofencesError {
5819	s.Error = v
5820	return s
5821}
5822
5823// SetSampleTime sets the SampleTime field's value.
5824func (s *BatchEvaluateGeofencesError) SetSampleTime(v time.Time) *BatchEvaluateGeofencesError {
5825	s.SampleTime = &v
5826	return s
5827}
5828
5829type BatchEvaluateGeofencesInput struct {
5830	_ struct{} `type:"structure"`
5831
5832	// The geofence collection used in evaluating the position of devices against
5833	// its geofences.
5834	//
5835	// CollectionName is a required field
5836	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
5837
5838	// Contains device details for each device to be evaluated against the given
5839	// geofence collection.
5840	//
5841	// DevicePositionUpdates is a required field
5842	DevicePositionUpdates []*DevicePositionUpdate `min:"1" type:"list" required:"true"`
5843}
5844
5845// String returns the string representation
5846func (s BatchEvaluateGeofencesInput) String() string {
5847	return awsutil.Prettify(s)
5848}
5849
5850// GoString returns the string representation
5851func (s BatchEvaluateGeofencesInput) GoString() string {
5852	return s.String()
5853}
5854
5855// Validate inspects the fields of the type to determine if they are valid.
5856func (s *BatchEvaluateGeofencesInput) Validate() error {
5857	invalidParams := request.ErrInvalidParams{Context: "BatchEvaluateGeofencesInput"}
5858	if s.CollectionName == nil {
5859		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
5860	}
5861	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
5862		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
5863	}
5864	if s.DevicePositionUpdates == nil {
5865		invalidParams.Add(request.NewErrParamRequired("DevicePositionUpdates"))
5866	}
5867	if s.DevicePositionUpdates != nil && len(s.DevicePositionUpdates) < 1 {
5868		invalidParams.Add(request.NewErrParamMinLen("DevicePositionUpdates", 1))
5869	}
5870	if s.DevicePositionUpdates != nil {
5871		for i, v := range s.DevicePositionUpdates {
5872			if v == nil {
5873				continue
5874			}
5875			if err := v.Validate(); err != nil {
5876				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DevicePositionUpdates", i), err.(request.ErrInvalidParams))
5877			}
5878		}
5879	}
5880
5881	if invalidParams.Len() > 0 {
5882		return invalidParams
5883	}
5884	return nil
5885}
5886
5887// SetCollectionName sets the CollectionName field's value.
5888func (s *BatchEvaluateGeofencesInput) SetCollectionName(v string) *BatchEvaluateGeofencesInput {
5889	s.CollectionName = &v
5890	return s
5891}
5892
5893// SetDevicePositionUpdates sets the DevicePositionUpdates field's value.
5894func (s *BatchEvaluateGeofencesInput) SetDevicePositionUpdates(v []*DevicePositionUpdate) *BatchEvaluateGeofencesInput {
5895	s.DevicePositionUpdates = v
5896	return s
5897}
5898
5899type BatchEvaluateGeofencesOutput struct {
5900	_ struct{} `type:"structure"`
5901
5902	// Contains error details for each device that failed to evaluate its position
5903	// against the given geofence collection.
5904	//
5905	// Errors is a required field
5906	Errors []*BatchEvaluateGeofencesError `type:"list" required:"true"`
5907}
5908
5909// String returns the string representation
5910func (s BatchEvaluateGeofencesOutput) String() string {
5911	return awsutil.Prettify(s)
5912}
5913
5914// GoString returns the string representation
5915func (s BatchEvaluateGeofencesOutput) GoString() string {
5916	return s.String()
5917}
5918
5919// SetErrors sets the Errors field's value.
5920func (s *BatchEvaluateGeofencesOutput) SetErrors(v []*BatchEvaluateGeofencesError) *BatchEvaluateGeofencesOutput {
5921	s.Errors = v
5922	return s
5923}
5924
5925// Contains error details for each device that didn't return a position.
5926type BatchGetDevicePositionError struct {
5927	_ struct{} `type:"structure"`
5928
5929	// The ID of the device that didn't return a position.
5930	//
5931	// DeviceId is a required field
5932	DeviceId *string `min:"1" type:"string" required:"true"`
5933
5934	// Contains details related to the error code.
5935	//
5936	// Error is a required field
5937	Error *BatchItemError `type:"structure" required:"true"`
5938}
5939
5940// String returns the string representation
5941func (s BatchGetDevicePositionError) String() string {
5942	return awsutil.Prettify(s)
5943}
5944
5945// GoString returns the string representation
5946func (s BatchGetDevicePositionError) GoString() string {
5947	return s.String()
5948}
5949
5950// SetDeviceId sets the DeviceId field's value.
5951func (s *BatchGetDevicePositionError) SetDeviceId(v string) *BatchGetDevicePositionError {
5952	s.DeviceId = &v
5953	return s
5954}
5955
5956// SetError sets the Error field's value.
5957func (s *BatchGetDevicePositionError) SetError(v *BatchItemError) *BatchGetDevicePositionError {
5958	s.Error = v
5959	return s
5960}
5961
5962type BatchGetDevicePositionInput struct {
5963	_ struct{} `type:"structure"`
5964
5965	// Devices whose position you want to retrieve.
5966	//
5967	//    * For example, for two devices: device-ids=DeviceId1&device-ids=DeviceId2
5968	//
5969	// DeviceIds is a required field
5970	DeviceIds []*string `min:"1" type:"list" required:"true"`
5971
5972	// The tracker resource retrieving the device position.
5973	//
5974	// TrackerName is a required field
5975	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
5976}
5977
5978// String returns the string representation
5979func (s BatchGetDevicePositionInput) String() string {
5980	return awsutil.Prettify(s)
5981}
5982
5983// GoString returns the string representation
5984func (s BatchGetDevicePositionInput) GoString() string {
5985	return s.String()
5986}
5987
5988// Validate inspects the fields of the type to determine if they are valid.
5989func (s *BatchGetDevicePositionInput) Validate() error {
5990	invalidParams := request.ErrInvalidParams{Context: "BatchGetDevicePositionInput"}
5991	if s.DeviceIds == nil {
5992		invalidParams.Add(request.NewErrParamRequired("DeviceIds"))
5993	}
5994	if s.DeviceIds != nil && len(s.DeviceIds) < 1 {
5995		invalidParams.Add(request.NewErrParamMinLen("DeviceIds", 1))
5996	}
5997	if s.TrackerName == nil {
5998		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
5999	}
6000	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
6001		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
6002	}
6003
6004	if invalidParams.Len() > 0 {
6005		return invalidParams
6006	}
6007	return nil
6008}
6009
6010// SetDeviceIds sets the DeviceIds field's value.
6011func (s *BatchGetDevicePositionInput) SetDeviceIds(v []*string) *BatchGetDevicePositionInput {
6012	s.DeviceIds = v
6013	return s
6014}
6015
6016// SetTrackerName sets the TrackerName field's value.
6017func (s *BatchGetDevicePositionInput) SetTrackerName(v string) *BatchGetDevicePositionInput {
6018	s.TrackerName = &v
6019	return s
6020}
6021
6022type BatchGetDevicePositionOutput struct {
6023	_ struct{} `type:"structure"`
6024
6025	// Contains device position details such as the device ID, position, and timestamps
6026	// for when the position was received and sampled.
6027	//
6028	// DevicePositions is a required field
6029	DevicePositions []*DevicePosition `type:"list" required:"true"`
6030
6031	// Contains error details for each device that failed to send its position to
6032	// the tracker resource.
6033	//
6034	// Errors is a required field
6035	Errors []*BatchGetDevicePositionError `type:"list" required:"true"`
6036}
6037
6038// String returns the string representation
6039func (s BatchGetDevicePositionOutput) String() string {
6040	return awsutil.Prettify(s)
6041}
6042
6043// GoString returns the string representation
6044func (s BatchGetDevicePositionOutput) GoString() string {
6045	return s.String()
6046}
6047
6048// SetDevicePositions sets the DevicePositions field's value.
6049func (s *BatchGetDevicePositionOutput) SetDevicePositions(v []*DevicePosition) *BatchGetDevicePositionOutput {
6050	s.DevicePositions = v
6051	return s
6052}
6053
6054// SetErrors sets the Errors field's value.
6055func (s *BatchGetDevicePositionOutput) SetErrors(v []*BatchGetDevicePositionError) *BatchGetDevicePositionOutput {
6056	s.Errors = v
6057	return s
6058}
6059
6060// Contains the batch request error details associated with the request.
6061type BatchItemError struct {
6062	_ struct{} `type:"structure"`
6063
6064	// The error code associated with the batch request error.
6065	Code *string `type:"string" enum:"BatchItemErrorCode"`
6066
6067	// A message with the reason for the batch request error.
6068	Message *string `type:"string"`
6069}
6070
6071// String returns the string representation
6072func (s BatchItemError) String() string {
6073	return awsutil.Prettify(s)
6074}
6075
6076// GoString returns the string representation
6077func (s BatchItemError) GoString() string {
6078	return s.String()
6079}
6080
6081// SetCode sets the Code field's value.
6082func (s *BatchItemError) SetCode(v string) *BatchItemError {
6083	s.Code = &v
6084	return s
6085}
6086
6087// SetMessage sets the Message field's value.
6088func (s *BatchItemError) SetMessage(v string) *BatchItemError {
6089	s.Message = &v
6090	return s
6091}
6092
6093// Contains error details for each geofence that failed to be stored in a given
6094// geofence collection.
6095type BatchPutGeofenceError struct {
6096	_ struct{} `type:"structure"`
6097
6098	// Contains details associated to the batch error.
6099	//
6100	// Error is a required field
6101	Error *BatchItemError `type:"structure" required:"true"`
6102
6103	// The geofence associated with the error message.
6104	//
6105	// GeofenceId is a required field
6106	GeofenceId *string `min:"1" type:"string" required:"true"`
6107}
6108
6109// String returns the string representation
6110func (s BatchPutGeofenceError) String() string {
6111	return awsutil.Prettify(s)
6112}
6113
6114// GoString returns the string representation
6115func (s BatchPutGeofenceError) GoString() string {
6116	return s.String()
6117}
6118
6119// SetError sets the Error field's value.
6120func (s *BatchPutGeofenceError) SetError(v *BatchItemError) *BatchPutGeofenceError {
6121	s.Error = v
6122	return s
6123}
6124
6125// SetGeofenceId sets the GeofenceId field's value.
6126func (s *BatchPutGeofenceError) SetGeofenceId(v string) *BatchPutGeofenceError {
6127	s.GeofenceId = &v
6128	return s
6129}
6130
6131type BatchPutGeofenceInput struct {
6132	_ struct{} `type:"structure"`
6133
6134	// The geofence collection storing the geofences.
6135	//
6136	// CollectionName is a required field
6137	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
6138
6139	// The batch of geofences to be stored in a geofence collection.
6140	//
6141	// Entries is a required field
6142	Entries []*BatchPutGeofenceRequestEntry `min:"1" type:"list" required:"true"`
6143}
6144
6145// String returns the string representation
6146func (s BatchPutGeofenceInput) String() string {
6147	return awsutil.Prettify(s)
6148}
6149
6150// GoString returns the string representation
6151func (s BatchPutGeofenceInput) GoString() string {
6152	return s.String()
6153}
6154
6155// Validate inspects the fields of the type to determine if they are valid.
6156func (s *BatchPutGeofenceInput) Validate() error {
6157	invalidParams := request.ErrInvalidParams{Context: "BatchPutGeofenceInput"}
6158	if s.CollectionName == nil {
6159		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
6160	}
6161	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
6162		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
6163	}
6164	if s.Entries == nil {
6165		invalidParams.Add(request.NewErrParamRequired("Entries"))
6166	}
6167	if s.Entries != nil && len(s.Entries) < 1 {
6168		invalidParams.Add(request.NewErrParamMinLen("Entries", 1))
6169	}
6170	if s.Entries != nil {
6171		for i, v := range s.Entries {
6172			if v == nil {
6173				continue
6174			}
6175			if err := v.Validate(); err != nil {
6176				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams))
6177			}
6178		}
6179	}
6180
6181	if invalidParams.Len() > 0 {
6182		return invalidParams
6183	}
6184	return nil
6185}
6186
6187// SetCollectionName sets the CollectionName field's value.
6188func (s *BatchPutGeofenceInput) SetCollectionName(v string) *BatchPutGeofenceInput {
6189	s.CollectionName = &v
6190	return s
6191}
6192
6193// SetEntries sets the Entries field's value.
6194func (s *BatchPutGeofenceInput) SetEntries(v []*BatchPutGeofenceRequestEntry) *BatchPutGeofenceInput {
6195	s.Entries = v
6196	return s
6197}
6198
6199type BatchPutGeofenceOutput struct {
6200	_ struct{} `type:"structure"`
6201
6202	// Contains additional error details for each geofence that failed to be stored
6203	// in a geofence collection.
6204	//
6205	// Errors is a required field
6206	Errors []*BatchPutGeofenceError `type:"list" required:"true"`
6207
6208	// Contains each geofence that was successfully stored in a geofence collection.
6209	//
6210	// Successes is a required field
6211	Successes []*BatchPutGeofenceSuccess `type:"list" required:"true"`
6212}
6213
6214// String returns the string representation
6215func (s BatchPutGeofenceOutput) String() string {
6216	return awsutil.Prettify(s)
6217}
6218
6219// GoString returns the string representation
6220func (s BatchPutGeofenceOutput) GoString() string {
6221	return s.String()
6222}
6223
6224// SetErrors sets the Errors field's value.
6225func (s *BatchPutGeofenceOutput) SetErrors(v []*BatchPutGeofenceError) *BatchPutGeofenceOutput {
6226	s.Errors = v
6227	return s
6228}
6229
6230// SetSuccesses sets the Successes field's value.
6231func (s *BatchPutGeofenceOutput) SetSuccesses(v []*BatchPutGeofenceSuccess) *BatchPutGeofenceOutput {
6232	s.Successes = v
6233	return s
6234}
6235
6236// Contains geofence geometry details.
6237type BatchPutGeofenceRequestEntry struct {
6238	_ struct{} `type:"structure"`
6239
6240	// The identifier for the geofence to be stored in a given geofence collection.
6241	//
6242	// GeofenceId is a required field
6243	GeofenceId *string `min:"1" type:"string" required:"true"`
6244
6245	// Contains the polygon details to specify the position of the geofence.
6246	//
6247	// Each geofence polygon (https://docs.aws.amazon.com/location-geofences/latest/APIReference/API_GeofenceGeometry.html)
6248	// can have a maximum of 1,000 vertices.
6249	//
6250	// Geometry is a required field
6251	Geometry *GeofenceGeometry `type:"structure" required:"true"`
6252}
6253
6254// String returns the string representation
6255func (s BatchPutGeofenceRequestEntry) String() string {
6256	return awsutil.Prettify(s)
6257}
6258
6259// GoString returns the string representation
6260func (s BatchPutGeofenceRequestEntry) GoString() string {
6261	return s.String()
6262}
6263
6264// Validate inspects the fields of the type to determine if they are valid.
6265func (s *BatchPutGeofenceRequestEntry) Validate() error {
6266	invalidParams := request.ErrInvalidParams{Context: "BatchPutGeofenceRequestEntry"}
6267	if s.GeofenceId == nil {
6268		invalidParams.Add(request.NewErrParamRequired("GeofenceId"))
6269	}
6270	if s.GeofenceId != nil && len(*s.GeofenceId) < 1 {
6271		invalidParams.Add(request.NewErrParamMinLen("GeofenceId", 1))
6272	}
6273	if s.Geometry == nil {
6274		invalidParams.Add(request.NewErrParamRequired("Geometry"))
6275	}
6276	if s.Geometry != nil {
6277		if err := s.Geometry.Validate(); err != nil {
6278			invalidParams.AddNested("Geometry", err.(request.ErrInvalidParams))
6279		}
6280	}
6281
6282	if invalidParams.Len() > 0 {
6283		return invalidParams
6284	}
6285	return nil
6286}
6287
6288// SetGeofenceId sets the GeofenceId field's value.
6289func (s *BatchPutGeofenceRequestEntry) SetGeofenceId(v string) *BatchPutGeofenceRequestEntry {
6290	s.GeofenceId = &v
6291	return s
6292}
6293
6294// SetGeometry sets the Geometry field's value.
6295func (s *BatchPutGeofenceRequestEntry) SetGeometry(v *GeofenceGeometry) *BatchPutGeofenceRequestEntry {
6296	s.Geometry = v
6297	return s
6298}
6299
6300// Contains a summary of each geofence that was successfully stored in a given
6301// geofence collection.
6302type BatchPutGeofenceSuccess struct {
6303	_ struct{} `type:"structure"`
6304
6305	// The timestamp for when the geofence was stored in a geofence collection in
6306	// ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format:
6307	// YYYY-MM-DDThh:mm:ss.sssZ
6308	//
6309	// CreateTime is a required field
6310	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
6311
6312	// The geofence successfully stored in a geofence collection.
6313	//
6314	// GeofenceId is a required field
6315	GeofenceId *string `min:"1" type:"string" required:"true"`
6316
6317	// The timestamp for when the geofence was last updated in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
6318	// format: YYYY-MM-DDThh:mm:ss.sssZ
6319	//
6320	// UpdateTime is a required field
6321	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
6322}
6323
6324// String returns the string representation
6325func (s BatchPutGeofenceSuccess) String() string {
6326	return awsutil.Prettify(s)
6327}
6328
6329// GoString returns the string representation
6330func (s BatchPutGeofenceSuccess) GoString() string {
6331	return s.String()
6332}
6333
6334// SetCreateTime sets the CreateTime field's value.
6335func (s *BatchPutGeofenceSuccess) SetCreateTime(v time.Time) *BatchPutGeofenceSuccess {
6336	s.CreateTime = &v
6337	return s
6338}
6339
6340// SetGeofenceId sets the GeofenceId field's value.
6341func (s *BatchPutGeofenceSuccess) SetGeofenceId(v string) *BatchPutGeofenceSuccess {
6342	s.GeofenceId = &v
6343	return s
6344}
6345
6346// SetUpdateTime sets the UpdateTime field's value.
6347func (s *BatchPutGeofenceSuccess) SetUpdateTime(v time.Time) *BatchPutGeofenceSuccess {
6348	s.UpdateTime = &v
6349	return s
6350}
6351
6352// Contains error details for each device that failed to update its position.
6353type BatchUpdateDevicePositionError struct {
6354	_ struct{} `type:"structure"`
6355
6356	// The device associated with the failed location update.
6357	//
6358	// DeviceId is a required field
6359	DeviceId *string `min:"1" type:"string" required:"true"`
6360
6361	// Contains details related to the error code such as the error code and error
6362	// message.
6363	//
6364	// Error is a required field
6365	Error *BatchItemError `type:"structure" required:"true"`
6366
6367	// The timestamp at which the device position was determined. Uses ISO 8601
6368	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
6369	//
6370	// SampleTime is a required field
6371	SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
6372}
6373
6374// String returns the string representation
6375func (s BatchUpdateDevicePositionError) String() string {
6376	return awsutil.Prettify(s)
6377}
6378
6379// GoString returns the string representation
6380func (s BatchUpdateDevicePositionError) GoString() string {
6381	return s.String()
6382}
6383
6384// SetDeviceId sets the DeviceId field's value.
6385func (s *BatchUpdateDevicePositionError) SetDeviceId(v string) *BatchUpdateDevicePositionError {
6386	s.DeviceId = &v
6387	return s
6388}
6389
6390// SetError sets the Error field's value.
6391func (s *BatchUpdateDevicePositionError) SetError(v *BatchItemError) *BatchUpdateDevicePositionError {
6392	s.Error = v
6393	return s
6394}
6395
6396// SetSampleTime sets the SampleTime field's value.
6397func (s *BatchUpdateDevicePositionError) SetSampleTime(v time.Time) *BatchUpdateDevicePositionError {
6398	s.SampleTime = &v
6399	return s
6400}
6401
6402type BatchUpdateDevicePositionInput struct {
6403	_ struct{} `type:"structure"`
6404
6405	// The name of the tracker resource to update.
6406	//
6407	// TrackerName is a required field
6408	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
6409
6410	// Contains the position update details for each device.
6411	//
6412	// Updates is a required field
6413	Updates []*DevicePositionUpdate `min:"1" type:"list" required:"true"`
6414}
6415
6416// String returns the string representation
6417func (s BatchUpdateDevicePositionInput) String() string {
6418	return awsutil.Prettify(s)
6419}
6420
6421// GoString returns the string representation
6422func (s BatchUpdateDevicePositionInput) GoString() string {
6423	return s.String()
6424}
6425
6426// Validate inspects the fields of the type to determine if they are valid.
6427func (s *BatchUpdateDevicePositionInput) Validate() error {
6428	invalidParams := request.ErrInvalidParams{Context: "BatchUpdateDevicePositionInput"}
6429	if s.TrackerName == nil {
6430		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
6431	}
6432	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
6433		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
6434	}
6435	if s.Updates == nil {
6436		invalidParams.Add(request.NewErrParamRequired("Updates"))
6437	}
6438	if s.Updates != nil && len(s.Updates) < 1 {
6439		invalidParams.Add(request.NewErrParamMinLen("Updates", 1))
6440	}
6441	if s.Updates != nil {
6442		for i, v := range s.Updates {
6443			if v == nil {
6444				continue
6445			}
6446			if err := v.Validate(); err != nil {
6447				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams))
6448			}
6449		}
6450	}
6451
6452	if invalidParams.Len() > 0 {
6453		return invalidParams
6454	}
6455	return nil
6456}
6457
6458// SetTrackerName sets the TrackerName field's value.
6459func (s *BatchUpdateDevicePositionInput) SetTrackerName(v string) *BatchUpdateDevicePositionInput {
6460	s.TrackerName = &v
6461	return s
6462}
6463
6464// SetUpdates sets the Updates field's value.
6465func (s *BatchUpdateDevicePositionInput) SetUpdates(v []*DevicePositionUpdate) *BatchUpdateDevicePositionInput {
6466	s.Updates = v
6467	return s
6468}
6469
6470type BatchUpdateDevicePositionOutput struct {
6471	_ struct{} `type:"structure"`
6472
6473	// Contains error details for each device that failed to update its position.
6474	//
6475	// Errors is a required field
6476	Errors []*BatchUpdateDevicePositionError `type:"list" required:"true"`
6477}
6478
6479// String returns the string representation
6480func (s BatchUpdateDevicePositionOutput) String() string {
6481	return awsutil.Prettify(s)
6482}
6483
6484// GoString returns the string representation
6485func (s BatchUpdateDevicePositionOutput) GoString() string {
6486	return s.String()
6487}
6488
6489// SetErrors sets the Errors field's value.
6490func (s *BatchUpdateDevicePositionOutput) SetErrors(v []*BatchUpdateDevicePositionError) *BatchUpdateDevicePositionOutput {
6491	s.Errors = v
6492	return s
6493}
6494
6495// Contains details about additional route preferences for requests that specify
6496// TravelMode as Car.
6497type CalculateRouteCarModeOptions struct {
6498	_ struct{} `type:"structure"`
6499
6500	// Avoids ferries when calculating routes.
6501	//
6502	// Default Value: false
6503	//
6504	// Valid Values: false | true
6505	AvoidFerries *bool `type:"boolean"`
6506
6507	// Avoids tolls when calculating routes.
6508	//
6509	// Default Value: false
6510	//
6511	// Valid Values: false | true
6512	AvoidTolls *bool `type:"boolean"`
6513}
6514
6515// String returns the string representation
6516func (s CalculateRouteCarModeOptions) String() string {
6517	return awsutil.Prettify(s)
6518}
6519
6520// GoString returns the string representation
6521func (s CalculateRouteCarModeOptions) GoString() string {
6522	return s.String()
6523}
6524
6525// SetAvoidFerries sets the AvoidFerries field's value.
6526func (s *CalculateRouteCarModeOptions) SetAvoidFerries(v bool) *CalculateRouteCarModeOptions {
6527	s.AvoidFerries = &v
6528	return s
6529}
6530
6531// SetAvoidTolls sets the AvoidTolls field's value.
6532func (s *CalculateRouteCarModeOptions) SetAvoidTolls(v bool) *CalculateRouteCarModeOptions {
6533	s.AvoidTolls = &v
6534	return s
6535}
6536
6537type CalculateRouteInput struct {
6538	_ struct{} `type:"structure"`
6539
6540	// The name of the route calculator resource that you want to use to calculate
6541	// a route.
6542	//
6543	// CalculatorName is a required field
6544	CalculatorName *string `location:"uri" locationName:"CalculatorName" min:"1" type:"string" required:"true"`
6545
6546	// Specifies route preferences when traveling by Car, such as avoiding routes
6547	// that use ferries or tolls.
6548	//
6549	// Requirements: TravelMode must be specified as Car.
6550	CarModeOptions *CalculateRouteCarModeOptions `type:"structure"`
6551
6552	// Sets the time of departure as the current time. Uses the current time to
6553	// calculate a route. Otherwise, the best time of day to travel with the best
6554	// traffic conditions is used to calculate the route.
6555	//
6556	// Default Value: false
6557	//
6558	// Valid Values: false | true
6559	DepartNow *bool `type:"boolean"`
6560
6561	// The start position for the route. Defined in WGS 84 (https://earth-info.nga.mil/GandG/wgs84/index.html)
6562	// format: [longitude, latitude].
6563	//
6564	//    * For example, [-123.115, 49.285]
6565	//
6566	// If you specify a departure that's not located on a road, Amazon Location
6567	// moves the position to the nearest road (https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html#snap-to-nearby-road).
6568	//
6569	// Valid Values: [-180 to 180,-90 to 90]
6570	//
6571	// DeparturePosition is a required field
6572	DeparturePosition []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
6573
6574	// Specifies the desired time of departure. Uses the given time to calculate
6575	// a route. Otherwise, the best time of day to travel with the best traffic
6576	// conditions is used to calculate the route.
6577	//
6578	// Setting a departure time in the past returns a 400 ValidationException error.
6579	//
6580	//    * In ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
6581	//    format: YYYY-MM-DDThh:mm:ss.sssZ. For example, 2020–07-2T12:15:20.000Z+01:00
6582	DepartureTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
6583
6584	// The finish position for the route. Defined in WGS 84 (https://earth-info.nga.mil/GandG/wgs84/index.html)
6585	// format: [longitude, latitude].
6586	//
6587	//    * For example, [-122.339, 47.615]
6588	//
6589	// If you specify a destination that's not located on a road, Amazon Location
6590	// moves the position to the nearest road (https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html#snap-to-nearby-road).
6591	//
6592	// Valid Values: [-180 to 180,-90 to 90]
6593	//
6594	// DestinationPosition is a required field
6595	DestinationPosition []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
6596
6597	// Set the unit system to specify the distance.
6598	//
6599	// Default Value: Kilometers
6600	DistanceUnit *string `type:"string" enum:"DistanceUnit"`
6601
6602	// Set to include the geometry details in the result for each path between a
6603	// pair of positions.
6604	//
6605	// Default Value: false
6606	//
6607	// Valid Values: false | true
6608	IncludeLegGeometry *bool `type:"boolean"`
6609
6610	// Specifies the mode of transport when calculating a route. Used in estimating
6611	// the speed of travel and road compatibility.
6612	//
6613	// The TravelMode you specify determines how you specify route preferences:
6614	//
6615	//    * If traveling by Car use the CarModeOptions parameter.
6616	//
6617	//    * If traveling by Truck use the TruckModeOptions parameter.
6618	//
6619	// Default Value: Car
6620	TravelMode *string `type:"string" enum:"TravelMode"`
6621
6622	// Specifies route preferences when traveling by Truck, such as avoiding routes
6623	// that use ferries or tolls, and truck specifications to consider when choosing
6624	// an optimal road.
6625	//
6626	// Requirements: TravelMode must be specified as Truck.
6627	TruckModeOptions *CalculateRouteTruckModeOptions `type:"structure"`
6628
6629	// Specifies an ordered list of up to 23 intermediate positions to include along
6630	// a route between the departure position and destination position.
6631	//
6632	//    * For example, from the DeparturePosition [-123.115, 49.285], the route
6633	//    follows the order that the waypoint positions are given [[-122.757, 49.0021],[-122.349,
6634	//    47.620]]
6635	//
6636	// If you specify a waypoint position that's not located on a road, Amazon Location
6637	// moves the position to the nearest road (https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html#snap-to-nearby-road).
6638	//
6639	// Specifying more than 23 waypoints returns a 400 ValidationException error.
6640	//
6641	// Valid Values: [-180 to 180,-90 to 90]
6642	WaypointPositions [][]*float64 `type:"list"`
6643}
6644
6645// String returns the string representation
6646func (s CalculateRouteInput) String() string {
6647	return awsutil.Prettify(s)
6648}
6649
6650// GoString returns the string representation
6651func (s CalculateRouteInput) GoString() string {
6652	return s.String()
6653}
6654
6655// Validate inspects the fields of the type to determine if they are valid.
6656func (s *CalculateRouteInput) Validate() error {
6657	invalidParams := request.ErrInvalidParams{Context: "CalculateRouteInput"}
6658	if s.CalculatorName == nil {
6659		invalidParams.Add(request.NewErrParamRequired("CalculatorName"))
6660	}
6661	if s.CalculatorName != nil && len(*s.CalculatorName) < 1 {
6662		invalidParams.Add(request.NewErrParamMinLen("CalculatorName", 1))
6663	}
6664	if s.DeparturePosition == nil {
6665		invalidParams.Add(request.NewErrParamRequired("DeparturePosition"))
6666	}
6667	if s.DeparturePosition != nil && len(s.DeparturePosition) < 2 {
6668		invalidParams.Add(request.NewErrParamMinLen("DeparturePosition", 2))
6669	}
6670	if s.DestinationPosition == nil {
6671		invalidParams.Add(request.NewErrParamRequired("DestinationPosition"))
6672	}
6673	if s.DestinationPosition != nil && len(s.DestinationPosition) < 2 {
6674		invalidParams.Add(request.NewErrParamMinLen("DestinationPosition", 2))
6675	}
6676
6677	if invalidParams.Len() > 0 {
6678		return invalidParams
6679	}
6680	return nil
6681}
6682
6683// SetCalculatorName sets the CalculatorName field's value.
6684func (s *CalculateRouteInput) SetCalculatorName(v string) *CalculateRouteInput {
6685	s.CalculatorName = &v
6686	return s
6687}
6688
6689// SetCarModeOptions sets the CarModeOptions field's value.
6690func (s *CalculateRouteInput) SetCarModeOptions(v *CalculateRouteCarModeOptions) *CalculateRouteInput {
6691	s.CarModeOptions = v
6692	return s
6693}
6694
6695// SetDepartNow sets the DepartNow field's value.
6696func (s *CalculateRouteInput) SetDepartNow(v bool) *CalculateRouteInput {
6697	s.DepartNow = &v
6698	return s
6699}
6700
6701// SetDeparturePosition sets the DeparturePosition field's value.
6702func (s *CalculateRouteInput) SetDeparturePosition(v []*float64) *CalculateRouteInput {
6703	s.DeparturePosition = v
6704	return s
6705}
6706
6707// SetDepartureTime sets the DepartureTime field's value.
6708func (s *CalculateRouteInput) SetDepartureTime(v time.Time) *CalculateRouteInput {
6709	s.DepartureTime = &v
6710	return s
6711}
6712
6713// SetDestinationPosition sets the DestinationPosition field's value.
6714func (s *CalculateRouteInput) SetDestinationPosition(v []*float64) *CalculateRouteInput {
6715	s.DestinationPosition = v
6716	return s
6717}
6718
6719// SetDistanceUnit sets the DistanceUnit field's value.
6720func (s *CalculateRouteInput) SetDistanceUnit(v string) *CalculateRouteInput {
6721	s.DistanceUnit = &v
6722	return s
6723}
6724
6725// SetIncludeLegGeometry sets the IncludeLegGeometry field's value.
6726func (s *CalculateRouteInput) SetIncludeLegGeometry(v bool) *CalculateRouteInput {
6727	s.IncludeLegGeometry = &v
6728	return s
6729}
6730
6731// SetTravelMode sets the TravelMode field's value.
6732func (s *CalculateRouteInput) SetTravelMode(v string) *CalculateRouteInput {
6733	s.TravelMode = &v
6734	return s
6735}
6736
6737// SetTruckModeOptions sets the TruckModeOptions field's value.
6738func (s *CalculateRouteInput) SetTruckModeOptions(v *CalculateRouteTruckModeOptions) *CalculateRouteInput {
6739	s.TruckModeOptions = v
6740	return s
6741}
6742
6743// SetWaypointPositions sets the WaypointPositions field's value.
6744func (s *CalculateRouteInput) SetWaypointPositions(v [][]*float64) *CalculateRouteInput {
6745	s.WaypointPositions = v
6746	return s
6747}
6748
6749// Returns the result of the route calculation. Metadata includes legs and route
6750// summary.
6751type CalculateRouteOutput struct {
6752	_ struct{} `type:"structure"`
6753
6754	// Contains details about each path between a pair of positions included along
6755	// a route such as: StartPosition, EndPosition, Distance, DurationSeconds, Geometry,
6756	// and Steps. The number of legs returned corresponds to one fewer than the
6757	// total number of positions in the request.
6758	//
6759	// For example, a route with a departure position and destination position returns
6760	// 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):
6761	//
6762	//    * The StartPosition is the departure position.
6763	//
6764	//    * The EndPosition is the destination position.
6765	//
6766	// A route with a waypoint between the departure and destination position returns
6767	// two legs with the positions snapped to a nearby road:
6768	//
6769	//    * Leg 1: The StartPosition is the departure position . The EndPosition
6770	//    is the waypoint positon.
6771	//
6772	//    * Leg 2: The StartPosition is the waypoint position. The EndPosition is
6773	//    the destination position.
6774	//
6775	// Legs is a required field
6776	Legs []*Leg `type:"list" required:"true"`
6777
6778	// Contains information about the whole route, such as: RouteBBox, DataSource,
6779	// Distance, DistanceUnit, and DurationSeconds.
6780	//
6781	// Summary is a required field
6782	Summary *CalculateRouteSummary `type:"structure" required:"true"`
6783}
6784
6785// String returns the string representation
6786func (s CalculateRouteOutput) String() string {
6787	return awsutil.Prettify(s)
6788}
6789
6790// GoString returns the string representation
6791func (s CalculateRouteOutput) GoString() string {
6792	return s.String()
6793}
6794
6795// SetLegs sets the Legs field's value.
6796func (s *CalculateRouteOutput) SetLegs(v []*Leg) *CalculateRouteOutput {
6797	s.Legs = v
6798	return s
6799}
6800
6801// SetSummary sets the Summary field's value.
6802func (s *CalculateRouteOutput) SetSummary(v *CalculateRouteSummary) *CalculateRouteOutput {
6803	s.Summary = v
6804	return s
6805}
6806
6807// A summary of the calculated route.
6808type CalculateRouteSummary struct {
6809	_ struct{} `type:"structure"`
6810
6811	// The data provider of traffic and road network data used to calculate the
6812	// route. Indicates one of the available providers:
6813	//
6814	//    * Esri
6815	//
6816	//    * Here
6817	//
6818	// For more information about data providers, see Amazon Location Service data
6819	// providers (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
6820	//
6821	// DataSource is a required field
6822	DataSource *string `type:"string" required:"true"`
6823
6824	// The total distance covered by the route. The sum of the distance travelled
6825	// between every stop on the route.
6826	//
6827	// The route distance can't be greater than 250 km. If the route exceeds 250
6828	// km, the response returns a 400 RoutesValidationException error.
6829	//
6830	// Distance is a required field
6831	Distance *float64 `type:"double" required:"true"`
6832
6833	// The unit of measurement for the distance.
6834	//
6835	// DistanceUnit is a required field
6836	DistanceUnit *string `type:"string" required:"true" enum:"DistanceUnit"`
6837
6838	// The total travel time for the route measured in seconds. The sum of the travel
6839	// time between every stop on the route.
6840	//
6841	// DurationSeconds is a required field
6842	DurationSeconds *float64 `type:"double" required:"true"`
6843
6844	// Specifies a geographical box surrounding a route. Used to zoom into a route
6845	// when displaying it in a map. For example, [min x, min y, max x, max y].
6846	//
6847	// The first 2 bbox parameters describe the lower southwest corner:
6848	//
6849	//    * The first bbox position is the X coordinate or longitude of the lower
6850	//    southwest corner.
6851	//
6852	//    * The second bbox position is the Y coordinate or latitude of the lower
6853	//    southwest corner.
6854	//
6855	// The next 2 bbox parameters describe the upper northeast corner:
6856	//
6857	//    * The third bbox position is the X coordinate, or longitude of the upper
6858	//    northeast corner.
6859	//
6860	//    * The fourth bbox position is the Y coordinate, or longitude of the upper
6861	//    northeast corner.
6862	//
6863	// RouteBBox is a required field
6864	RouteBBox []*float64 `min:"4" type:"list" required:"true" sensitive:"true"`
6865}
6866
6867// String returns the string representation
6868func (s CalculateRouteSummary) String() string {
6869	return awsutil.Prettify(s)
6870}
6871
6872// GoString returns the string representation
6873func (s CalculateRouteSummary) GoString() string {
6874	return s.String()
6875}
6876
6877// SetDataSource sets the DataSource field's value.
6878func (s *CalculateRouteSummary) SetDataSource(v string) *CalculateRouteSummary {
6879	s.DataSource = &v
6880	return s
6881}
6882
6883// SetDistance sets the Distance field's value.
6884func (s *CalculateRouteSummary) SetDistance(v float64) *CalculateRouteSummary {
6885	s.Distance = &v
6886	return s
6887}
6888
6889// SetDistanceUnit sets the DistanceUnit field's value.
6890func (s *CalculateRouteSummary) SetDistanceUnit(v string) *CalculateRouteSummary {
6891	s.DistanceUnit = &v
6892	return s
6893}
6894
6895// SetDurationSeconds sets the DurationSeconds field's value.
6896func (s *CalculateRouteSummary) SetDurationSeconds(v float64) *CalculateRouteSummary {
6897	s.DurationSeconds = &v
6898	return s
6899}
6900
6901// SetRouteBBox sets the RouteBBox field's value.
6902func (s *CalculateRouteSummary) SetRouteBBox(v []*float64) *CalculateRouteSummary {
6903	s.RouteBBox = v
6904	return s
6905}
6906
6907// Contains details about additional route preferences for requests that specify
6908// TravelMode as Truck.
6909type CalculateRouteTruckModeOptions struct {
6910	_ struct{} `type:"structure"`
6911
6912	// Avoids ferries when calculating routes.
6913	//
6914	// Default Value: false
6915	//
6916	// Valid Values: false | true
6917	AvoidFerries *bool `type:"boolean"`
6918
6919	// Avoids ferries when calculating routes.
6920	//
6921	// Default Value: false
6922	//
6923	// Valid Values: false | true
6924	AvoidTolls *bool `type:"boolean"`
6925
6926	// Specifies the truck's dimension specifications including length, height,
6927	// width, and unit of measurement. Used to avoid roads that can't support the
6928	// truck's dimensions.
6929	Dimensions *TruckDimensions `type:"structure"`
6930
6931	// Specifies the truck's weight specifications including total weight and unit
6932	// of measurement. Used to avoid roads that can't support the truck's weight.
6933	Weight *TruckWeight `type:"structure"`
6934}
6935
6936// String returns the string representation
6937func (s CalculateRouteTruckModeOptions) String() string {
6938	return awsutil.Prettify(s)
6939}
6940
6941// GoString returns the string representation
6942func (s CalculateRouteTruckModeOptions) GoString() string {
6943	return s.String()
6944}
6945
6946// SetAvoidFerries sets the AvoidFerries field's value.
6947func (s *CalculateRouteTruckModeOptions) SetAvoidFerries(v bool) *CalculateRouteTruckModeOptions {
6948	s.AvoidFerries = &v
6949	return s
6950}
6951
6952// SetAvoidTolls sets the AvoidTolls field's value.
6953func (s *CalculateRouteTruckModeOptions) SetAvoidTolls(v bool) *CalculateRouteTruckModeOptions {
6954	s.AvoidTolls = &v
6955	return s
6956}
6957
6958// SetDimensions sets the Dimensions field's value.
6959func (s *CalculateRouteTruckModeOptions) SetDimensions(v *TruckDimensions) *CalculateRouteTruckModeOptions {
6960	s.Dimensions = v
6961	return s
6962}
6963
6964// SetWeight sets the Weight field's value.
6965func (s *CalculateRouteTruckModeOptions) SetWeight(v *TruckWeight) *CalculateRouteTruckModeOptions {
6966	s.Weight = v
6967	return s
6968}
6969
6970// The request was unsuccessful because of a conflict.
6971type ConflictException struct {
6972	_            struct{}                  `type:"structure"`
6973	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6974
6975	Message_ *string `locationName:"message" type:"string"`
6976}
6977
6978// String returns the string representation
6979func (s ConflictException) String() string {
6980	return awsutil.Prettify(s)
6981}
6982
6983// GoString returns the string representation
6984func (s ConflictException) GoString() string {
6985	return s.String()
6986}
6987
6988func newErrorConflictException(v protocol.ResponseMetadata) error {
6989	return &ConflictException{
6990		RespMetadata: v,
6991	}
6992}
6993
6994// Code returns the exception type name.
6995func (s *ConflictException) Code() string {
6996	return "ConflictException"
6997}
6998
6999// Message returns the exception's message.
7000func (s *ConflictException) Message() string {
7001	if s.Message_ != nil {
7002		return *s.Message_
7003	}
7004	return ""
7005}
7006
7007// OrigErr always returns nil, satisfies awserr.Error interface.
7008func (s *ConflictException) OrigErr() error {
7009	return nil
7010}
7011
7012func (s *ConflictException) Error() string {
7013	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7014}
7015
7016// Status code returns the HTTP status code for the request's response error.
7017func (s *ConflictException) StatusCode() int {
7018	return s.RespMetadata.StatusCode
7019}
7020
7021// RequestID returns the service's response RequestID for request.
7022func (s *ConflictException) RequestID() string {
7023	return s.RespMetadata.RequestID
7024}
7025
7026type CreateGeofenceCollectionInput struct {
7027	_ struct{} `type:"structure"`
7028
7029	// A custom name for the geofence collection.
7030	//
7031	// Requirements:
7032	//
7033	//    * Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens
7034	//    (-), periods (.), and underscores (_).
7035	//
7036	//    * Must be a unique geofence collection name.
7037	//
7038	//    * No spaces allowed. For example, ExampleGeofenceCollection.
7039	//
7040	// CollectionName is a required field
7041	CollectionName *string `min:"1" type:"string" required:"true"`
7042
7043	// An optional description for the geofence collection.
7044	Description *string `type:"string"`
7045
7046	// A key identifier for an AWS KMS customer managed key (https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html).
7047	// Enter a key ID, key ARN, alias name, or alias ARN.
7048	KmsKeyId *string `min:"1" type:"string"`
7049
7050	// Specifies the pricing plan for the geofence collection.
7051	//
7052	// For additional details and restrictions on each pricing plan option, see
7053	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
7054	//
7055	// PricingPlan is a required field
7056	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
7057
7058	// Specifies the data provider for the geofence collection.
7059	//
7060	//    * Required value for the following pricing plans: MobileAssetTracking
7061	//    | MobileAssetManagement
7062	//
7063	// For more information about Data Providers (https://aws.amazon.com/location/data-providers/),
7064	// and Pricing plans (https://aws.amazon.com/location/pricing/), see the Amazon
7065	// Location Service product page.
7066	//
7067	// Amazon Location Service only uses PricingPlanDataSource to calculate billing
7068	// for your geofence collection. Your data won't be shared with the data provider,
7069	// and will remain in your AWS account or Region unless you move it.
7070	//
7071	// Valid Values: Esri | Here
7072	PricingPlanDataSource *string `type:"string"`
7073
7074	// Applies one or more tags to the geofence collection. A tag is a key-value
7075	// pair helps manage, identify, search, and filter your resources by labelling
7076	// them.
7077	//
7078	// Format: "key" : "value"
7079	//
7080	// Restrictions:
7081	//
7082	//    * Maximum 50 tags per resource
7083	//
7084	//    * Each resource tag must be unique with a maximum of one value.
7085	//
7086	//    * Maximum key length: 128 Unicode characters in UTF-8
7087	//
7088	//    * Maximum value length: 256 Unicode characters in UTF-8
7089	//
7090	//    * Can use alphanumeric characters (A–Z, a–z, 0–9), and the following
7091	//    characters: + - = . _ : / @.
7092	Tags map[string]*string `type:"map"`
7093}
7094
7095// String returns the string representation
7096func (s CreateGeofenceCollectionInput) String() string {
7097	return awsutil.Prettify(s)
7098}
7099
7100// GoString returns the string representation
7101func (s CreateGeofenceCollectionInput) GoString() string {
7102	return s.String()
7103}
7104
7105// Validate inspects the fields of the type to determine if they are valid.
7106func (s *CreateGeofenceCollectionInput) Validate() error {
7107	invalidParams := request.ErrInvalidParams{Context: "CreateGeofenceCollectionInput"}
7108	if s.CollectionName == nil {
7109		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
7110	}
7111	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
7112		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
7113	}
7114	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
7115		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
7116	}
7117	if s.PricingPlan == nil {
7118		invalidParams.Add(request.NewErrParamRequired("PricingPlan"))
7119	}
7120
7121	if invalidParams.Len() > 0 {
7122		return invalidParams
7123	}
7124	return nil
7125}
7126
7127// SetCollectionName sets the CollectionName field's value.
7128func (s *CreateGeofenceCollectionInput) SetCollectionName(v string) *CreateGeofenceCollectionInput {
7129	s.CollectionName = &v
7130	return s
7131}
7132
7133// SetDescription sets the Description field's value.
7134func (s *CreateGeofenceCollectionInput) SetDescription(v string) *CreateGeofenceCollectionInput {
7135	s.Description = &v
7136	return s
7137}
7138
7139// SetKmsKeyId sets the KmsKeyId field's value.
7140func (s *CreateGeofenceCollectionInput) SetKmsKeyId(v string) *CreateGeofenceCollectionInput {
7141	s.KmsKeyId = &v
7142	return s
7143}
7144
7145// SetPricingPlan sets the PricingPlan field's value.
7146func (s *CreateGeofenceCollectionInput) SetPricingPlan(v string) *CreateGeofenceCollectionInput {
7147	s.PricingPlan = &v
7148	return s
7149}
7150
7151// SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
7152func (s *CreateGeofenceCollectionInput) SetPricingPlanDataSource(v string) *CreateGeofenceCollectionInput {
7153	s.PricingPlanDataSource = &v
7154	return s
7155}
7156
7157// SetTags sets the Tags field's value.
7158func (s *CreateGeofenceCollectionInput) SetTags(v map[string]*string) *CreateGeofenceCollectionInput {
7159	s.Tags = v
7160	return s
7161}
7162
7163type CreateGeofenceCollectionOutput struct {
7164	_ struct{} `type:"structure"`
7165
7166	// The Amazon Resource Name (ARN) for the geofence collection resource. Used
7167	// when you need to specify a resource across all AWS.
7168	//
7169	//    * Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollection
7170	//
7171	// CollectionArn is a required field
7172	CollectionArn *string `type:"string" required:"true"`
7173
7174	// The name for the geofence collection.
7175	//
7176	// CollectionName is a required field
7177	CollectionName *string `min:"1" type:"string" required:"true"`
7178
7179	// The timestamp for when the geofence collection was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
7180	// format: YYYY-MM-DDThh:mm:ss.sssZ
7181	//
7182	// CreateTime is a required field
7183	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
7184}
7185
7186// String returns the string representation
7187func (s CreateGeofenceCollectionOutput) String() string {
7188	return awsutil.Prettify(s)
7189}
7190
7191// GoString returns the string representation
7192func (s CreateGeofenceCollectionOutput) GoString() string {
7193	return s.String()
7194}
7195
7196// SetCollectionArn sets the CollectionArn field's value.
7197func (s *CreateGeofenceCollectionOutput) SetCollectionArn(v string) *CreateGeofenceCollectionOutput {
7198	s.CollectionArn = &v
7199	return s
7200}
7201
7202// SetCollectionName sets the CollectionName field's value.
7203func (s *CreateGeofenceCollectionOutput) SetCollectionName(v string) *CreateGeofenceCollectionOutput {
7204	s.CollectionName = &v
7205	return s
7206}
7207
7208// SetCreateTime sets the CreateTime field's value.
7209func (s *CreateGeofenceCollectionOutput) SetCreateTime(v time.Time) *CreateGeofenceCollectionOutput {
7210	s.CreateTime = &v
7211	return s
7212}
7213
7214type CreateMapInput struct {
7215	_ struct{} `type:"structure"`
7216
7217	// Specifies the map style selected from an available data provider.
7218	//
7219	// Configuration is a required field
7220	Configuration *MapConfiguration `type:"structure" required:"true"`
7221
7222	// An optional description for the map resource.
7223	Description *string `type:"string"`
7224
7225	// The name for the map resource.
7226	//
7227	// Requirements:
7228	//
7229	//    * Must contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens
7230	//    (-), periods (.), and underscores (_).
7231	//
7232	//    * Must be a unique map resource name.
7233	//
7234	//    * No spaces allowed. For example, ExampleMap.
7235	//
7236	// MapName is a required field
7237	MapName *string `min:"1" type:"string" required:"true"`
7238
7239	// Specifies the pricing plan for your map resource.
7240	//
7241	// For additional details and restrictions on each pricing plan option, see
7242	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
7243	//
7244	// PricingPlan is a required field
7245	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
7246
7247	// Applies one or more tags to the map resource. A tag is a key-value pair helps
7248	// manage, identify, search, and filter your resources by labelling them.
7249	//
7250	// Format: "key" : "value"
7251	//
7252	// Restrictions:
7253	//
7254	//    * Maximum 50 tags per resource
7255	//
7256	//    * Each resource tag must be unique with a maximum of one value.
7257	//
7258	//    * Maximum key length: 128 Unicode characters in UTF-8
7259	//
7260	//    * Maximum value length: 256 Unicode characters in UTF-8
7261	//
7262	//    * Can use alphanumeric characters (A–Z, a–z, 0–9), and the following
7263	//    characters: + - = . _ : / @.
7264	Tags map[string]*string `type:"map"`
7265}
7266
7267// String returns the string representation
7268func (s CreateMapInput) String() string {
7269	return awsutil.Prettify(s)
7270}
7271
7272// GoString returns the string representation
7273func (s CreateMapInput) GoString() string {
7274	return s.String()
7275}
7276
7277// Validate inspects the fields of the type to determine if they are valid.
7278func (s *CreateMapInput) Validate() error {
7279	invalidParams := request.ErrInvalidParams{Context: "CreateMapInput"}
7280	if s.Configuration == nil {
7281		invalidParams.Add(request.NewErrParamRequired("Configuration"))
7282	}
7283	if s.MapName == nil {
7284		invalidParams.Add(request.NewErrParamRequired("MapName"))
7285	}
7286	if s.MapName != nil && len(*s.MapName) < 1 {
7287		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
7288	}
7289	if s.PricingPlan == nil {
7290		invalidParams.Add(request.NewErrParamRequired("PricingPlan"))
7291	}
7292	if s.Configuration != nil {
7293		if err := s.Configuration.Validate(); err != nil {
7294			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
7295		}
7296	}
7297
7298	if invalidParams.Len() > 0 {
7299		return invalidParams
7300	}
7301	return nil
7302}
7303
7304// SetConfiguration sets the Configuration field's value.
7305func (s *CreateMapInput) SetConfiguration(v *MapConfiguration) *CreateMapInput {
7306	s.Configuration = v
7307	return s
7308}
7309
7310// SetDescription sets the Description field's value.
7311func (s *CreateMapInput) SetDescription(v string) *CreateMapInput {
7312	s.Description = &v
7313	return s
7314}
7315
7316// SetMapName sets the MapName field's value.
7317func (s *CreateMapInput) SetMapName(v string) *CreateMapInput {
7318	s.MapName = &v
7319	return s
7320}
7321
7322// SetPricingPlan sets the PricingPlan field's value.
7323func (s *CreateMapInput) SetPricingPlan(v string) *CreateMapInput {
7324	s.PricingPlan = &v
7325	return s
7326}
7327
7328// SetTags sets the Tags field's value.
7329func (s *CreateMapInput) SetTags(v map[string]*string) *CreateMapInput {
7330	s.Tags = v
7331	return s
7332}
7333
7334type CreateMapOutput struct {
7335	_ struct{} `type:"structure"`
7336
7337	// The timestamp for when the map resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
7338	// format: YYYY-MM-DDThh:mm:ss.sssZ.
7339	//
7340	// CreateTime is a required field
7341	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
7342
7343	// The Amazon Resource Name (ARN) for the map resource. Used to specify a resource
7344	// across all AWS.
7345	//
7346	//    * Format example: arn:aws:geo:region:account-id:maps/ExampleMap
7347	//
7348	// MapArn is a required field
7349	MapArn *string `type:"string" required:"true"`
7350
7351	// The name of the map resource.
7352	//
7353	// MapName is a required field
7354	MapName *string `min:"1" type:"string" required:"true"`
7355}
7356
7357// String returns the string representation
7358func (s CreateMapOutput) String() string {
7359	return awsutil.Prettify(s)
7360}
7361
7362// GoString returns the string representation
7363func (s CreateMapOutput) GoString() string {
7364	return s.String()
7365}
7366
7367// SetCreateTime sets the CreateTime field's value.
7368func (s *CreateMapOutput) SetCreateTime(v time.Time) *CreateMapOutput {
7369	s.CreateTime = &v
7370	return s
7371}
7372
7373// SetMapArn sets the MapArn field's value.
7374func (s *CreateMapOutput) SetMapArn(v string) *CreateMapOutput {
7375	s.MapArn = &v
7376	return s
7377}
7378
7379// SetMapName sets the MapName field's value.
7380func (s *CreateMapOutput) SetMapName(v string) *CreateMapOutput {
7381	s.MapName = &v
7382	return s
7383}
7384
7385type CreatePlaceIndexInput struct {
7386	_ struct{} `type:"structure"`
7387
7388	// Specifies the data provider of geospatial data.
7389	//
7390	// This field is case-sensitive. Enter the valid values as shown. For example,
7391	// entering HERE returns an error.
7392	//
7393	// Valid values include:
7394	//
7395	//    * Esri – For additional information about Esri (https://docs.aws.amazon.com/location/latest/developerguide/esri.html)'s
7396	//    coverage in your region of interest, see Esri details on geocoding coverage
7397	//    (https://developers.arcgis.com/rest/geocode/api-reference/geocode-coverage.htm).
7398	//
7399	//    * Here – For additional information about HERE Technologies (https://docs.aws.amazon.com/location/latest/developerguide/HERE.html)'s
7400	//    coverage in your region of interest, see HERE details on goecoding coverage
7401	//    (https://developer.here.com/documentation/geocoder/dev_guide/topics/coverage-geocoder.html).
7402	//    Place index resources using HERE Technologies as a data provider can't
7403	//    store results (https://docs.aws.amazon.com/location-places/latest/APIReference/API_DataSourceConfiguration.html)
7404	//    for locations in Japan. For more information, see the AWS Service Terms
7405	//    (https://aws.amazon.com/service-terms/) for Amazon Location Service.
7406	//
7407	// For additional information , see Data providers (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html)
7408	// on the Amazon Location Service Developer Guide.
7409	//
7410	// DataSource is a required field
7411	DataSource *string `type:"string" required:"true"`
7412
7413	// Specifies the data storage option requesting Places.
7414	DataSourceConfiguration *DataSourceConfiguration `type:"structure"`
7415
7416	// The optional description for the place index resource.
7417	Description *string `type:"string"`
7418
7419	// The name of the place index resource.
7420	//
7421	// Requirements:
7422	//
7423	//    * Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens
7424	//    (-), periods (.), and underscores (_).
7425	//
7426	//    * Must be a unique place index resource name.
7427	//
7428	//    * No spaces allowed. For example, ExamplePlaceIndex.
7429	//
7430	// IndexName is a required field
7431	IndexName *string `min:"1" type:"string" required:"true"`
7432
7433	// Specifies the pricing plan for your place index resource.
7434	//
7435	// For additional details and restrictions on each pricing plan option, see
7436	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
7437	//
7438	// PricingPlan is a required field
7439	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
7440
7441	// Applies one or more tags to the place index resource. A tag is a key-value
7442	// pair helps manage, identify, search, and filter your resources by labelling
7443	// them.
7444	//
7445	// Format: "key" : "value"
7446	//
7447	// Restrictions:
7448	//
7449	//    * Maximum 50 tags per resource
7450	//
7451	//    * Each resource tag must be unique with a maximum of one value.
7452	//
7453	//    * Maximum key length: 128 Unicode characters in UTF-8
7454	//
7455	//    * Maximum value length: 256 Unicode characters in UTF-8
7456	//
7457	//    * Can use alphanumeric characters (A–Z, a–z, 0–9), and the following
7458	//    characters: + - = . _ : / @.
7459	Tags map[string]*string `type:"map"`
7460}
7461
7462// String returns the string representation
7463func (s CreatePlaceIndexInput) String() string {
7464	return awsutil.Prettify(s)
7465}
7466
7467// GoString returns the string representation
7468func (s CreatePlaceIndexInput) GoString() string {
7469	return s.String()
7470}
7471
7472// Validate inspects the fields of the type to determine if they are valid.
7473func (s *CreatePlaceIndexInput) Validate() error {
7474	invalidParams := request.ErrInvalidParams{Context: "CreatePlaceIndexInput"}
7475	if s.DataSource == nil {
7476		invalidParams.Add(request.NewErrParamRequired("DataSource"))
7477	}
7478	if s.IndexName == nil {
7479		invalidParams.Add(request.NewErrParamRequired("IndexName"))
7480	}
7481	if s.IndexName != nil && len(*s.IndexName) < 1 {
7482		invalidParams.Add(request.NewErrParamMinLen("IndexName", 1))
7483	}
7484	if s.PricingPlan == nil {
7485		invalidParams.Add(request.NewErrParamRequired("PricingPlan"))
7486	}
7487
7488	if invalidParams.Len() > 0 {
7489		return invalidParams
7490	}
7491	return nil
7492}
7493
7494// SetDataSource sets the DataSource field's value.
7495func (s *CreatePlaceIndexInput) SetDataSource(v string) *CreatePlaceIndexInput {
7496	s.DataSource = &v
7497	return s
7498}
7499
7500// SetDataSourceConfiguration sets the DataSourceConfiguration field's value.
7501func (s *CreatePlaceIndexInput) SetDataSourceConfiguration(v *DataSourceConfiguration) *CreatePlaceIndexInput {
7502	s.DataSourceConfiguration = v
7503	return s
7504}
7505
7506// SetDescription sets the Description field's value.
7507func (s *CreatePlaceIndexInput) SetDescription(v string) *CreatePlaceIndexInput {
7508	s.Description = &v
7509	return s
7510}
7511
7512// SetIndexName sets the IndexName field's value.
7513func (s *CreatePlaceIndexInput) SetIndexName(v string) *CreatePlaceIndexInput {
7514	s.IndexName = &v
7515	return s
7516}
7517
7518// SetPricingPlan sets the PricingPlan field's value.
7519func (s *CreatePlaceIndexInput) SetPricingPlan(v string) *CreatePlaceIndexInput {
7520	s.PricingPlan = &v
7521	return s
7522}
7523
7524// SetTags sets the Tags field's value.
7525func (s *CreatePlaceIndexInput) SetTags(v map[string]*string) *CreatePlaceIndexInput {
7526	s.Tags = v
7527	return s
7528}
7529
7530type CreatePlaceIndexOutput struct {
7531	_ struct{} `type:"structure"`
7532
7533	// The timestamp for when the place index resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
7534	// format: YYYY-MM-DDThh:mm:ss.sssZ.
7535	//
7536	// CreateTime is a required field
7537	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
7538
7539	// The Amazon Resource Name (ARN) for the place index resource. Used to specify
7540	// a resource across AWS.
7541	//
7542	//    * Format example: arn:aws:geo:region:account-id:place-index/ExamplePlaceIndex
7543	//
7544	// IndexArn is a required field
7545	IndexArn *string `type:"string" required:"true"`
7546
7547	// The name for the place index resource.
7548	//
7549	// IndexName is a required field
7550	IndexName *string `min:"1" type:"string" required:"true"`
7551}
7552
7553// String returns the string representation
7554func (s CreatePlaceIndexOutput) String() string {
7555	return awsutil.Prettify(s)
7556}
7557
7558// GoString returns the string representation
7559func (s CreatePlaceIndexOutput) GoString() string {
7560	return s.String()
7561}
7562
7563// SetCreateTime sets the CreateTime field's value.
7564func (s *CreatePlaceIndexOutput) SetCreateTime(v time.Time) *CreatePlaceIndexOutput {
7565	s.CreateTime = &v
7566	return s
7567}
7568
7569// SetIndexArn sets the IndexArn field's value.
7570func (s *CreatePlaceIndexOutput) SetIndexArn(v string) *CreatePlaceIndexOutput {
7571	s.IndexArn = &v
7572	return s
7573}
7574
7575// SetIndexName sets the IndexName field's value.
7576func (s *CreatePlaceIndexOutput) SetIndexName(v string) *CreatePlaceIndexOutput {
7577	s.IndexName = &v
7578	return s
7579}
7580
7581type CreateRouteCalculatorInput struct {
7582	_ struct{} `type:"structure"`
7583
7584	// The name of the route calculator resource.
7585	//
7586	// Requirements:
7587	//
7588	//    * Can use alphanumeric characters (A–Z, a–z, 0–9) , hyphens (-),
7589	//    periods (.), and underscores (_).
7590	//
7591	//    * Must be a unique Route calculator resource name.
7592	//
7593	//    * No spaces allowed. For example, ExampleRouteCalculator.
7594	//
7595	// CalculatorName is a required field
7596	CalculatorName *string `min:"1" type:"string" required:"true"`
7597
7598	// Specifies the data provider of traffic and road network data.
7599	//
7600	// This field is case-sensitive. Enter the valid values as shown. For example,
7601	// entering HERE returns an error.
7602	//
7603	// Valid values include:
7604	//
7605	//    * Esri – For additional information about Esri (https://docs.aws.amazon.com/location/latest/developerguide/esri.html)'s
7606	//    coverage in your region of interest, see Esri details on street networks
7607	//    and traffic coverage (https://doc.arcgis.com/en/arcgis-online/reference/network-coverage.htm).
7608	//
7609	//    * Here – For additional information about HERE Technologies (https://docs.aws.amazon.com/location/latest/developerguide/HERE.html)'s
7610	//    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)
7611	//    and HERE truck routing coverage (https://developer.here.com/documentation/routing-api/dev_guide/topics/coverage/truck-routing.html).
7612	//
7613	// For additional information , see Data providers (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html)
7614	// on the Amazon Location Service Developer Guide.
7615	//
7616	// DataSource is a required field
7617	DataSource *string `type:"string" required:"true"`
7618
7619	// The optional description for the route calculator resource.
7620	Description *string `type:"string"`
7621
7622	// Specifies the pricing plan for your route calculator resource.
7623	//
7624	// For additional details and restrictions on each pricing plan option, see
7625	// Amazon Location Service pricing (https://aws.amazon.com/location/pricing/).
7626	//
7627	// PricingPlan is a required field
7628	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
7629
7630	// Applies one or more tags to the route calculator resource. A tag is a key-value
7631	// pair helps manage, identify, search, and filter your resources by labelling
7632	// them.
7633	//
7634	//    * For example: { "tag1" : "value1", "tag2" : "value2"}
7635	//
7636	// Format: "key" : "value"
7637	//
7638	// Restrictions:
7639	//
7640	//    * Maximum 50 tags per resource
7641	//
7642	//    * Each resource tag must be unique with a maximum of one value.
7643	//
7644	//    * Maximum key length: 128 Unicode characters in UTF-8
7645	//
7646	//    * Maximum value length: 256 Unicode characters in UTF-8
7647	//
7648	//    * Can use alphanumeric characters (A–Z, a–z, 0–9), and the following
7649	//    characters: + - = . _ : / @.
7650	Tags map[string]*string `type:"map"`
7651}
7652
7653// String returns the string representation
7654func (s CreateRouteCalculatorInput) String() string {
7655	return awsutil.Prettify(s)
7656}
7657
7658// GoString returns the string representation
7659func (s CreateRouteCalculatorInput) GoString() string {
7660	return s.String()
7661}
7662
7663// Validate inspects the fields of the type to determine if they are valid.
7664func (s *CreateRouteCalculatorInput) Validate() error {
7665	invalidParams := request.ErrInvalidParams{Context: "CreateRouteCalculatorInput"}
7666	if s.CalculatorName == nil {
7667		invalidParams.Add(request.NewErrParamRequired("CalculatorName"))
7668	}
7669	if s.CalculatorName != nil && len(*s.CalculatorName) < 1 {
7670		invalidParams.Add(request.NewErrParamMinLen("CalculatorName", 1))
7671	}
7672	if s.DataSource == nil {
7673		invalidParams.Add(request.NewErrParamRequired("DataSource"))
7674	}
7675	if s.PricingPlan == nil {
7676		invalidParams.Add(request.NewErrParamRequired("PricingPlan"))
7677	}
7678
7679	if invalidParams.Len() > 0 {
7680		return invalidParams
7681	}
7682	return nil
7683}
7684
7685// SetCalculatorName sets the CalculatorName field's value.
7686func (s *CreateRouteCalculatorInput) SetCalculatorName(v string) *CreateRouteCalculatorInput {
7687	s.CalculatorName = &v
7688	return s
7689}
7690
7691// SetDataSource sets the DataSource field's value.
7692func (s *CreateRouteCalculatorInput) SetDataSource(v string) *CreateRouteCalculatorInput {
7693	s.DataSource = &v
7694	return s
7695}
7696
7697// SetDescription sets the Description field's value.
7698func (s *CreateRouteCalculatorInput) SetDescription(v string) *CreateRouteCalculatorInput {
7699	s.Description = &v
7700	return s
7701}
7702
7703// SetPricingPlan sets the PricingPlan field's value.
7704func (s *CreateRouteCalculatorInput) SetPricingPlan(v string) *CreateRouteCalculatorInput {
7705	s.PricingPlan = &v
7706	return s
7707}
7708
7709// SetTags sets the Tags field's value.
7710func (s *CreateRouteCalculatorInput) SetTags(v map[string]*string) *CreateRouteCalculatorInput {
7711	s.Tags = v
7712	return s
7713}
7714
7715type CreateRouteCalculatorOutput struct {
7716	_ struct{} `type:"structure"`
7717
7718	// The Amazon Resource Name (ARN) for the route calculator resource. Use the
7719	// ARN when you specify a resource across all AWS.
7720	//
7721	//    * Format example: arn:aws:geo:region:account-id:route-calculator/ExampleCalculator
7722	//
7723	// CalculatorArn is a required field
7724	CalculatorArn *string `type:"string" required:"true"`
7725
7726	// The name of the route calculator resource.
7727	//
7728	//    * For example, ExampleRouteCalculator.
7729	//
7730	// CalculatorName is a required field
7731	CalculatorName *string `min:"1" type:"string" required:"true"`
7732
7733	// The timestamp when the route calculator resource was created in ISO 8601
7734	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
7735	//
7736	//    * For example, 2020–07-2T12:15:20.000Z+01:00
7737	//
7738	// CreateTime is a required field
7739	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
7740}
7741
7742// String returns the string representation
7743func (s CreateRouteCalculatorOutput) String() string {
7744	return awsutil.Prettify(s)
7745}
7746
7747// GoString returns the string representation
7748func (s CreateRouteCalculatorOutput) GoString() string {
7749	return s.String()
7750}
7751
7752// SetCalculatorArn sets the CalculatorArn field's value.
7753func (s *CreateRouteCalculatorOutput) SetCalculatorArn(v string) *CreateRouteCalculatorOutput {
7754	s.CalculatorArn = &v
7755	return s
7756}
7757
7758// SetCalculatorName sets the CalculatorName field's value.
7759func (s *CreateRouteCalculatorOutput) SetCalculatorName(v string) *CreateRouteCalculatorOutput {
7760	s.CalculatorName = &v
7761	return s
7762}
7763
7764// SetCreateTime sets the CreateTime field's value.
7765func (s *CreateRouteCalculatorOutput) SetCreateTime(v time.Time) *CreateRouteCalculatorOutput {
7766	s.CreateTime = &v
7767	return s
7768}
7769
7770type CreateTrackerInput struct {
7771	_ struct{} `type:"structure"`
7772
7773	// An optional description for the tracker resource.
7774	Description *string `type:"string"`
7775
7776	// A key identifier for an AWS KMS customer managed key (https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html).
7777	// Enter a key ID, key ARN, alias name, or alias ARN.
7778	KmsKeyId *string `min:"1" type:"string"`
7779
7780	// Specifies the pricing plan for the tracker resource.
7781	//
7782	// For additional details and restrictions on each pricing plan option, see
7783	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
7784	//
7785	// PricingPlan is a required field
7786	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
7787
7788	// Specifies the data provider for the tracker resource.
7789	//
7790	//    * Required value for the following pricing plans: MobileAssetTracking
7791	//    | MobileAssetManagement
7792	//
7793	// For more information about Data Providers (https://aws.amazon.com/location/data-providers/),
7794	// and Pricing plans (https://aws.amazon.com/location/pricing/), see the Amazon
7795	// Location Service product page.
7796	//
7797	// Amazon Location Service only uses PricingPlanDataSource to calculate billing
7798	// for your tracker resource. Your data will not be shared with the data provider,
7799	// and will remain in your AWS account or Region unless you move it.
7800	//
7801	// Valid Values: Esri | Here
7802	PricingPlanDataSource *string `type:"string"`
7803
7804	// Applies one or more tags to the tracker resource. A tag is a key-value pair
7805	// helps manage, identify, search, and filter your resources by labelling them.
7806	//
7807	// Format: "key" : "value"
7808	//
7809	// Restrictions:
7810	//
7811	//    * Maximum 50 tags per resource
7812	//
7813	//    * Each resource tag must be unique with a maximum of one value.
7814	//
7815	//    * Maximum key length: 128 Unicode characters in UTF-8
7816	//
7817	//    * Maximum value length: 256 Unicode characters in UTF-8
7818	//
7819	//    * Can use alphanumeric characters (A–Z, a–z, 0–9), and the following
7820	//    characters: + - = . _ : / @.
7821	Tags map[string]*string `type:"map"`
7822
7823	// The name for the tracker resource.
7824	//
7825	// Requirements:
7826	//
7827	//    * Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-),
7828	//    periods (.), and underscores (_).
7829	//
7830	//    * Must be a unique tracker resource name.
7831	//
7832	//    * No spaces allowed. For example, ExampleTracker.
7833	//
7834	// TrackerName is a required field
7835	TrackerName *string `min:"1" type:"string" required:"true"`
7836}
7837
7838// String returns the string representation
7839func (s CreateTrackerInput) String() string {
7840	return awsutil.Prettify(s)
7841}
7842
7843// GoString returns the string representation
7844func (s CreateTrackerInput) GoString() string {
7845	return s.String()
7846}
7847
7848// Validate inspects the fields of the type to determine if they are valid.
7849func (s *CreateTrackerInput) Validate() error {
7850	invalidParams := request.ErrInvalidParams{Context: "CreateTrackerInput"}
7851	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
7852		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
7853	}
7854	if s.PricingPlan == nil {
7855		invalidParams.Add(request.NewErrParamRequired("PricingPlan"))
7856	}
7857	if s.TrackerName == nil {
7858		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
7859	}
7860	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
7861		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
7862	}
7863
7864	if invalidParams.Len() > 0 {
7865		return invalidParams
7866	}
7867	return nil
7868}
7869
7870// SetDescription sets the Description field's value.
7871func (s *CreateTrackerInput) SetDescription(v string) *CreateTrackerInput {
7872	s.Description = &v
7873	return s
7874}
7875
7876// SetKmsKeyId sets the KmsKeyId field's value.
7877func (s *CreateTrackerInput) SetKmsKeyId(v string) *CreateTrackerInput {
7878	s.KmsKeyId = &v
7879	return s
7880}
7881
7882// SetPricingPlan sets the PricingPlan field's value.
7883func (s *CreateTrackerInput) SetPricingPlan(v string) *CreateTrackerInput {
7884	s.PricingPlan = &v
7885	return s
7886}
7887
7888// SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
7889func (s *CreateTrackerInput) SetPricingPlanDataSource(v string) *CreateTrackerInput {
7890	s.PricingPlanDataSource = &v
7891	return s
7892}
7893
7894// SetTags sets the Tags field's value.
7895func (s *CreateTrackerInput) SetTags(v map[string]*string) *CreateTrackerInput {
7896	s.Tags = v
7897	return s
7898}
7899
7900// SetTrackerName sets the TrackerName field's value.
7901func (s *CreateTrackerInput) SetTrackerName(v string) *CreateTrackerInput {
7902	s.TrackerName = &v
7903	return s
7904}
7905
7906type CreateTrackerOutput struct {
7907	_ struct{} `type:"structure"`
7908
7909	// The timestamp for when the tracker resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
7910	// format: YYYY-MM-DDThh:mm:ss.sssZ.
7911	//
7912	// CreateTime is a required field
7913	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
7914
7915	// The Amazon Resource Name (ARN) for the tracker resource. Used when you need
7916	// to specify a resource across all AWS.
7917	//
7918	//    * Format example: arn:aws:geo:region:account-id:tracker/ExampleTracker
7919	//
7920	// TrackerArn is a required field
7921	TrackerArn *string `type:"string" required:"true"`
7922
7923	// The name of the tracker resource.
7924	//
7925	// TrackerName is a required field
7926	TrackerName *string `min:"1" type:"string" required:"true"`
7927}
7928
7929// String returns the string representation
7930func (s CreateTrackerOutput) String() string {
7931	return awsutil.Prettify(s)
7932}
7933
7934// GoString returns the string representation
7935func (s CreateTrackerOutput) GoString() string {
7936	return s.String()
7937}
7938
7939// SetCreateTime sets the CreateTime field's value.
7940func (s *CreateTrackerOutput) SetCreateTime(v time.Time) *CreateTrackerOutput {
7941	s.CreateTime = &v
7942	return s
7943}
7944
7945// SetTrackerArn sets the TrackerArn field's value.
7946func (s *CreateTrackerOutput) SetTrackerArn(v string) *CreateTrackerOutput {
7947	s.TrackerArn = &v
7948	return s
7949}
7950
7951// SetTrackerName sets the TrackerName field's value.
7952func (s *CreateTrackerOutput) SetTrackerName(v string) *CreateTrackerOutput {
7953	s.TrackerName = &v
7954	return s
7955}
7956
7957// Specifies the data storage option chosen for requesting Places.
7958//
7959// When using Amazon Location Places:
7960//
7961//    * If using HERE Technologies as a data provider, you can't store results
7962//    for locations in Japan by setting IntendedUse to Storage. parameter.
7963//
7964//    * Under the MobileAssetTracking or MobilAssetManagement pricing plan,
7965//    you can't store results from your place index resources by setting IntendedUse
7966//    to Storage. This returns a validation exception error.
7967//
7968// For more information, see the AWS Service Terms (https://aws.amazon.com/service-terms/)
7969// for Amazon Location Service.
7970type DataSourceConfiguration struct {
7971	_ struct{} `type:"structure"`
7972
7973	// Specifies how the results of an operation will be stored by the caller.
7974	//
7975	// Valid values include:
7976	//
7977	//    * SingleUse specifies that the results won't be stored.
7978	//
7979	//    * Storage specifies that the result can be cached or stored in a database.
7980	//
7981	// Default value: SingleUse
7982	IntendedUse *string `type:"string" enum:"IntendedUse"`
7983}
7984
7985// String returns the string representation
7986func (s DataSourceConfiguration) String() string {
7987	return awsutil.Prettify(s)
7988}
7989
7990// GoString returns the string representation
7991func (s DataSourceConfiguration) GoString() string {
7992	return s.String()
7993}
7994
7995// SetIntendedUse sets the IntendedUse field's value.
7996func (s *DataSourceConfiguration) SetIntendedUse(v string) *DataSourceConfiguration {
7997	s.IntendedUse = &v
7998	return s
7999}
8000
8001type DeleteGeofenceCollectionInput struct {
8002	_ struct{} `type:"structure"`
8003
8004	// The name of the geofence collection to be deleted.
8005	//
8006	// CollectionName is a required field
8007	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
8008}
8009
8010// String returns the string representation
8011func (s DeleteGeofenceCollectionInput) String() string {
8012	return awsutil.Prettify(s)
8013}
8014
8015// GoString returns the string representation
8016func (s DeleteGeofenceCollectionInput) GoString() string {
8017	return s.String()
8018}
8019
8020// Validate inspects the fields of the type to determine if they are valid.
8021func (s *DeleteGeofenceCollectionInput) Validate() error {
8022	invalidParams := request.ErrInvalidParams{Context: "DeleteGeofenceCollectionInput"}
8023	if s.CollectionName == nil {
8024		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
8025	}
8026	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
8027		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
8028	}
8029
8030	if invalidParams.Len() > 0 {
8031		return invalidParams
8032	}
8033	return nil
8034}
8035
8036// SetCollectionName sets the CollectionName field's value.
8037func (s *DeleteGeofenceCollectionInput) SetCollectionName(v string) *DeleteGeofenceCollectionInput {
8038	s.CollectionName = &v
8039	return s
8040}
8041
8042type DeleteGeofenceCollectionOutput struct {
8043	_ struct{} `type:"structure"`
8044}
8045
8046// String returns the string representation
8047func (s DeleteGeofenceCollectionOutput) String() string {
8048	return awsutil.Prettify(s)
8049}
8050
8051// GoString returns the string representation
8052func (s DeleteGeofenceCollectionOutput) GoString() string {
8053	return s.String()
8054}
8055
8056type DeleteMapInput struct {
8057	_ struct{} `type:"structure"`
8058
8059	// The name of the map resource to be deleted.
8060	//
8061	// MapName is a required field
8062	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
8063}
8064
8065// String returns the string representation
8066func (s DeleteMapInput) String() string {
8067	return awsutil.Prettify(s)
8068}
8069
8070// GoString returns the string representation
8071func (s DeleteMapInput) GoString() string {
8072	return s.String()
8073}
8074
8075// Validate inspects the fields of the type to determine if they are valid.
8076func (s *DeleteMapInput) Validate() error {
8077	invalidParams := request.ErrInvalidParams{Context: "DeleteMapInput"}
8078	if s.MapName == nil {
8079		invalidParams.Add(request.NewErrParamRequired("MapName"))
8080	}
8081	if s.MapName != nil && len(*s.MapName) < 1 {
8082		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
8083	}
8084
8085	if invalidParams.Len() > 0 {
8086		return invalidParams
8087	}
8088	return nil
8089}
8090
8091// SetMapName sets the MapName field's value.
8092func (s *DeleteMapInput) SetMapName(v string) *DeleteMapInput {
8093	s.MapName = &v
8094	return s
8095}
8096
8097type DeleteMapOutput struct {
8098	_ struct{} `type:"structure"`
8099}
8100
8101// String returns the string representation
8102func (s DeleteMapOutput) String() string {
8103	return awsutil.Prettify(s)
8104}
8105
8106// GoString returns the string representation
8107func (s DeleteMapOutput) GoString() string {
8108	return s.String()
8109}
8110
8111type DeletePlaceIndexInput struct {
8112	_ struct{} `type:"structure"`
8113
8114	// The name of the place index resource to be deleted.
8115	//
8116	// IndexName is a required field
8117	IndexName *string `location:"uri" locationName:"IndexName" min:"1" type:"string" required:"true"`
8118}
8119
8120// String returns the string representation
8121func (s DeletePlaceIndexInput) String() string {
8122	return awsutil.Prettify(s)
8123}
8124
8125// GoString returns the string representation
8126func (s DeletePlaceIndexInput) GoString() string {
8127	return s.String()
8128}
8129
8130// Validate inspects the fields of the type to determine if they are valid.
8131func (s *DeletePlaceIndexInput) Validate() error {
8132	invalidParams := request.ErrInvalidParams{Context: "DeletePlaceIndexInput"}
8133	if s.IndexName == nil {
8134		invalidParams.Add(request.NewErrParamRequired("IndexName"))
8135	}
8136	if s.IndexName != nil && len(*s.IndexName) < 1 {
8137		invalidParams.Add(request.NewErrParamMinLen("IndexName", 1))
8138	}
8139
8140	if invalidParams.Len() > 0 {
8141		return invalidParams
8142	}
8143	return nil
8144}
8145
8146// SetIndexName sets the IndexName field's value.
8147func (s *DeletePlaceIndexInput) SetIndexName(v string) *DeletePlaceIndexInput {
8148	s.IndexName = &v
8149	return s
8150}
8151
8152type DeletePlaceIndexOutput struct {
8153	_ struct{} `type:"structure"`
8154}
8155
8156// String returns the string representation
8157func (s DeletePlaceIndexOutput) String() string {
8158	return awsutil.Prettify(s)
8159}
8160
8161// GoString returns the string representation
8162func (s DeletePlaceIndexOutput) GoString() string {
8163	return s.String()
8164}
8165
8166type DeleteRouteCalculatorInput struct {
8167	_ struct{} `type:"structure"`
8168
8169	// The name of the route calculator resource to be deleted.
8170	//
8171	// CalculatorName is a required field
8172	CalculatorName *string `location:"uri" locationName:"CalculatorName" min:"1" type:"string" required:"true"`
8173}
8174
8175// String returns the string representation
8176func (s DeleteRouteCalculatorInput) String() string {
8177	return awsutil.Prettify(s)
8178}
8179
8180// GoString returns the string representation
8181func (s DeleteRouteCalculatorInput) GoString() string {
8182	return s.String()
8183}
8184
8185// Validate inspects the fields of the type to determine if they are valid.
8186func (s *DeleteRouteCalculatorInput) Validate() error {
8187	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteCalculatorInput"}
8188	if s.CalculatorName == nil {
8189		invalidParams.Add(request.NewErrParamRequired("CalculatorName"))
8190	}
8191	if s.CalculatorName != nil && len(*s.CalculatorName) < 1 {
8192		invalidParams.Add(request.NewErrParamMinLen("CalculatorName", 1))
8193	}
8194
8195	if invalidParams.Len() > 0 {
8196		return invalidParams
8197	}
8198	return nil
8199}
8200
8201// SetCalculatorName sets the CalculatorName field's value.
8202func (s *DeleteRouteCalculatorInput) SetCalculatorName(v string) *DeleteRouteCalculatorInput {
8203	s.CalculatorName = &v
8204	return s
8205}
8206
8207type DeleteRouteCalculatorOutput struct {
8208	_ struct{} `type:"structure"`
8209}
8210
8211// String returns the string representation
8212func (s DeleteRouteCalculatorOutput) String() string {
8213	return awsutil.Prettify(s)
8214}
8215
8216// GoString returns the string representation
8217func (s DeleteRouteCalculatorOutput) GoString() string {
8218	return s.String()
8219}
8220
8221type DeleteTrackerInput struct {
8222	_ struct{} `type:"structure"`
8223
8224	// The name of the tracker resource to be deleted.
8225	//
8226	// TrackerName is a required field
8227	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
8228}
8229
8230// String returns the string representation
8231func (s DeleteTrackerInput) String() string {
8232	return awsutil.Prettify(s)
8233}
8234
8235// GoString returns the string representation
8236func (s DeleteTrackerInput) GoString() string {
8237	return s.String()
8238}
8239
8240// Validate inspects the fields of the type to determine if they are valid.
8241func (s *DeleteTrackerInput) Validate() error {
8242	invalidParams := request.ErrInvalidParams{Context: "DeleteTrackerInput"}
8243	if s.TrackerName == nil {
8244		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
8245	}
8246	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
8247		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
8248	}
8249
8250	if invalidParams.Len() > 0 {
8251		return invalidParams
8252	}
8253	return nil
8254}
8255
8256// SetTrackerName sets the TrackerName field's value.
8257func (s *DeleteTrackerInput) SetTrackerName(v string) *DeleteTrackerInput {
8258	s.TrackerName = &v
8259	return s
8260}
8261
8262type DeleteTrackerOutput struct {
8263	_ struct{} `type:"structure"`
8264}
8265
8266// String returns the string representation
8267func (s DeleteTrackerOutput) String() string {
8268	return awsutil.Prettify(s)
8269}
8270
8271// GoString returns the string representation
8272func (s DeleteTrackerOutput) GoString() string {
8273	return s.String()
8274}
8275
8276type DescribeGeofenceCollectionInput struct {
8277	_ struct{} `type:"structure"`
8278
8279	// The name of the geofence collection.
8280	//
8281	// CollectionName is a required field
8282	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
8283}
8284
8285// String returns the string representation
8286func (s DescribeGeofenceCollectionInput) String() string {
8287	return awsutil.Prettify(s)
8288}
8289
8290// GoString returns the string representation
8291func (s DescribeGeofenceCollectionInput) GoString() string {
8292	return s.String()
8293}
8294
8295// Validate inspects the fields of the type to determine if they are valid.
8296func (s *DescribeGeofenceCollectionInput) Validate() error {
8297	invalidParams := request.ErrInvalidParams{Context: "DescribeGeofenceCollectionInput"}
8298	if s.CollectionName == nil {
8299		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
8300	}
8301	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
8302		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
8303	}
8304
8305	if invalidParams.Len() > 0 {
8306		return invalidParams
8307	}
8308	return nil
8309}
8310
8311// SetCollectionName sets the CollectionName field's value.
8312func (s *DescribeGeofenceCollectionInput) SetCollectionName(v string) *DescribeGeofenceCollectionInput {
8313	s.CollectionName = &v
8314	return s
8315}
8316
8317type DescribeGeofenceCollectionOutput struct {
8318	_ struct{} `type:"structure"`
8319
8320	// The Amazon Resource Name (ARN) for the geofence collection resource. Used
8321	// when you need to specify a resource across all AWS.
8322	//
8323	//    * Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollection
8324	//
8325	// CollectionArn is a required field
8326	CollectionArn *string `type:"string" required:"true"`
8327
8328	// The name of the geofence collection.
8329	//
8330	// CollectionName is a required field
8331	CollectionName *string `min:"1" type:"string" required:"true"`
8332
8333	// The timestamp for when the geofence resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
8334	// format: YYYY-MM-DDThh:mm:ss.sssZ
8335	//
8336	// CreateTime is a required field
8337	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
8338
8339	// The optional description for the geofence collection.
8340	//
8341	// Description is a required field
8342	Description *string `type:"string" required:"true"`
8343
8344	// A key identifier for an AWS KMS customer managed key (https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)
8345	// assigned to the Amazon Location resource
8346	KmsKeyId *string `min:"1" type:"string"`
8347
8348	// The pricing plan selected for the specified geofence collection.
8349	//
8350	// For additional details and restrictions on each pricing plan option, see
8351	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
8352	//
8353	// PricingPlan is a required field
8354	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
8355
8356	// The specified data provider for the geofence collection.
8357	PricingPlanDataSource *string `type:"string"`
8358
8359	// Displays the key, value pairs of tags associated with this resource.
8360	Tags map[string]*string `type:"map"`
8361
8362	// The timestamp for when the geofence collection was last updated in ISO 8601
8363	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ
8364	//
8365	// UpdateTime is a required field
8366	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
8367}
8368
8369// String returns the string representation
8370func (s DescribeGeofenceCollectionOutput) String() string {
8371	return awsutil.Prettify(s)
8372}
8373
8374// GoString returns the string representation
8375func (s DescribeGeofenceCollectionOutput) GoString() string {
8376	return s.String()
8377}
8378
8379// SetCollectionArn sets the CollectionArn field's value.
8380func (s *DescribeGeofenceCollectionOutput) SetCollectionArn(v string) *DescribeGeofenceCollectionOutput {
8381	s.CollectionArn = &v
8382	return s
8383}
8384
8385// SetCollectionName sets the CollectionName field's value.
8386func (s *DescribeGeofenceCollectionOutput) SetCollectionName(v string) *DescribeGeofenceCollectionOutput {
8387	s.CollectionName = &v
8388	return s
8389}
8390
8391// SetCreateTime sets the CreateTime field's value.
8392func (s *DescribeGeofenceCollectionOutput) SetCreateTime(v time.Time) *DescribeGeofenceCollectionOutput {
8393	s.CreateTime = &v
8394	return s
8395}
8396
8397// SetDescription sets the Description field's value.
8398func (s *DescribeGeofenceCollectionOutput) SetDescription(v string) *DescribeGeofenceCollectionOutput {
8399	s.Description = &v
8400	return s
8401}
8402
8403// SetKmsKeyId sets the KmsKeyId field's value.
8404func (s *DescribeGeofenceCollectionOutput) SetKmsKeyId(v string) *DescribeGeofenceCollectionOutput {
8405	s.KmsKeyId = &v
8406	return s
8407}
8408
8409// SetPricingPlan sets the PricingPlan field's value.
8410func (s *DescribeGeofenceCollectionOutput) SetPricingPlan(v string) *DescribeGeofenceCollectionOutput {
8411	s.PricingPlan = &v
8412	return s
8413}
8414
8415// SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
8416func (s *DescribeGeofenceCollectionOutput) SetPricingPlanDataSource(v string) *DescribeGeofenceCollectionOutput {
8417	s.PricingPlanDataSource = &v
8418	return s
8419}
8420
8421// SetTags sets the Tags field's value.
8422func (s *DescribeGeofenceCollectionOutput) SetTags(v map[string]*string) *DescribeGeofenceCollectionOutput {
8423	s.Tags = v
8424	return s
8425}
8426
8427// SetUpdateTime sets the UpdateTime field's value.
8428func (s *DescribeGeofenceCollectionOutput) SetUpdateTime(v time.Time) *DescribeGeofenceCollectionOutput {
8429	s.UpdateTime = &v
8430	return s
8431}
8432
8433type DescribeMapInput struct {
8434	_ struct{} `type:"structure"`
8435
8436	// The name of the map resource.
8437	//
8438	// MapName is a required field
8439	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
8440}
8441
8442// String returns the string representation
8443func (s DescribeMapInput) String() string {
8444	return awsutil.Prettify(s)
8445}
8446
8447// GoString returns the string representation
8448func (s DescribeMapInput) GoString() string {
8449	return s.String()
8450}
8451
8452// Validate inspects the fields of the type to determine if they are valid.
8453func (s *DescribeMapInput) Validate() error {
8454	invalidParams := request.ErrInvalidParams{Context: "DescribeMapInput"}
8455	if s.MapName == nil {
8456		invalidParams.Add(request.NewErrParamRequired("MapName"))
8457	}
8458	if s.MapName != nil && len(*s.MapName) < 1 {
8459		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
8460	}
8461
8462	if invalidParams.Len() > 0 {
8463		return invalidParams
8464	}
8465	return nil
8466}
8467
8468// SetMapName sets the MapName field's value.
8469func (s *DescribeMapInput) SetMapName(v string) *DescribeMapInput {
8470	s.MapName = &v
8471	return s
8472}
8473
8474type DescribeMapOutput struct {
8475	_ struct{} `type:"structure"`
8476
8477	// Specifies the map tile style selected from a partner data provider.
8478	//
8479	// Configuration is a required field
8480	Configuration *MapConfiguration `type:"structure" required:"true"`
8481
8482	// The timestamp for when the map resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
8483	// format: YYYY-MM-DDThh:mm:ss.sssZ.
8484	//
8485	// CreateTime is a required field
8486	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
8487
8488	// Specifies the data provider for the associated map tiles.
8489	//
8490	// DataSource is a required field
8491	DataSource *string `type:"string" required:"true"`
8492
8493	// The optional description for the map resource.
8494	//
8495	// Description is a required field
8496	Description *string `type:"string" required:"true"`
8497
8498	// The Amazon Resource Name (ARN) for the map resource. Used to specify a resource
8499	// across all AWS.
8500	//
8501	//    * Format example: arn:aws:geo:region:account-id:maps/ExampleMap
8502	//
8503	// MapArn is a required field
8504	MapArn *string `type:"string" required:"true"`
8505
8506	// The map style selected from an available provider.
8507	//
8508	// MapName is a required field
8509	MapName *string `min:"1" type:"string" required:"true"`
8510
8511	// The pricing plan selected for the specified map resource.
8512	//
8513	//    <p>For additional details and restrictions on each pricing plan option,
8514	//    see the <a href="https://aws.amazon.com/location/pricing/">Amazon Location
8515	//    Service pricing page</a>.</p>
8516	//
8517	// PricingPlan is a required field
8518	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
8519
8520	// Tags associated with the map resource.
8521	Tags map[string]*string `type:"map"`
8522
8523	// The timestamp for when the map resource was last update in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
8524	// format: YYYY-MM-DDThh:mm:ss.sssZ.
8525	//
8526	// UpdateTime is a required field
8527	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
8528}
8529
8530// String returns the string representation
8531func (s DescribeMapOutput) String() string {
8532	return awsutil.Prettify(s)
8533}
8534
8535// GoString returns the string representation
8536func (s DescribeMapOutput) GoString() string {
8537	return s.String()
8538}
8539
8540// SetConfiguration sets the Configuration field's value.
8541func (s *DescribeMapOutput) SetConfiguration(v *MapConfiguration) *DescribeMapOutput {
8542	s.Configuration = v
8543	return s
8544}
8545
8546// SetCreateTime sets the CreateTime field's value.
8547func (s *DescribeMapOutput) SetCreateTime(v time.Time) *DescribeMapOutput {
8548	s.CreateTime = &v
8549	return s
8550}
8551
8552// SetDataSource sets the DataSource field's value.
8553func (s *DescribeMapOutput) SetDataSource(v string) *DescribeMapOutput {
8554	s.DataSource = &v
8555	return s
8556}
8557
8558// SetDescription sets the Description field's value.
8559func (s *DescribeMapOutput) SetDescription(v string) *DescribeMapOutput {
8560	s.Description = &v
8561	return s
8562}
8563
8564// SetMapArn sets the MapArn field's value.
8565func (s *DescribeMapOutput) SetMapArn(v string) *DescribeMapOutput {
8566	s.MapArn = &v
8567	return s
8568}
8569
8570// SetMapName sets the MapName field's value.
8571func (s *DescribeMapOutput) SetMapName(v string) *DescribeMapOutput {
8572	s.MapName = &v
8573	return s
8574}
8575
8576// SetPricingPlan sets the PricingPlan field's value.
8577func (s *DescribeMapOutput) SetPricingPlan(v string) *DescribeMapOutput {
8578	s.PricingPlan = &v
8579	return s
8580}
8581
8582// SetTags sets the Tags field's value.
8583func (s *DescribeMapOutput) SetTags(v map[string]*string) *DescribeMapOutput {
8584	s.Tags = v
8585	return s
8586}
8587
8588// SetUpdateTime sets the UpdateTime field's value.
8589func (s *DescribeMapOutput) SetUpdateTime(v time.Time) *DescribeMapOutput {
8590	s.UpdateTime = &v
8591	return s
8592}
8593
8594type DescribePlaceIndexInput struct {
8595	_ struct{} `type:"structure"`
8596
8597	// The name of the place index resource.
8598	//
8599	// IndexName is a required field
8600	IndexName *string `location:"uri" locationName:"IndexName" min:"1" type:"string" required:"true"`
8601}
8602
8603// String returns the string representation
8604func (s DescribePlaceIndexInput) String() string {
8605	return awsutil.Prettify(s)
8606}
8607
8608// GoString returns the string representation
8609func (s DescribePlaceIndexInput) GoString() string {
8610	return s.String()
8611}
8612
8613// Validate inspects the fields of the type to determine if they are valid.
8614func (s *DescribePlaceIndexInput) Validate() error {
8615	invalidParams := request.ErrInvalidParams{Context: "DescribePlaceIndexInput"}
8616	if s.IndexName == nil {
8617		invalidParams.Add(request.NewErrParamRequired("IndexName"))
8618	}
8619	if s.IndexName != nil && len(*s.IndexName) < 1 {
8620		invalidParams.Add(request.NewErrParamMinLen("IndexName", 1))
8621	}
8622
8623	if invalidParams.Len() > 0 {
8624		return invalidParams
8625	}
8626	return nil
8627}
8628
8629// SetIndexName sets the IndexName field's value.
8630func (s *DescribePlaceIndexInput) SetIndexName(v string) *DescribePlaceIndexInput {
8631	s.IndexName = &v
8632	return s
8633}
8634
8635type DescribePlaceIndexOutput struct {
8636	_ struct{} `type:"structure"`
8637
8638	// The timestamp for when the place index resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
8639	// format: YYYY-MM-DDThh:mm:ss.sssZ.
8640	//
8641	// CreateTime is a required field
8642	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
8643
8644	// The data provider of geospatial data. Indicates one of the available providers:
8645	//
8646	//    * Esri
8647	//
8648	//    * Here
8649	//
8650	// For additional details on data providers, see the Amazon Location Service
8651	// data providers page (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
8652	//
8653	// DataSource is a required field
8654	DataSource *string `type:"string" required:"true"`
8655
8656	// The specified data storage option for requesting Places.
8657	//
8658	// DataSourceConfiguration is a required field
8659	DataSourceConfiguration *DataSourceConfiguration `type:"structure" required:"true"`
8660
8661	// The optional description for the place index resource.
8662	//
8663	// Description is a required field
8664	Description *string `type:"string" required:"true"`
8665
8666	// The Amazon Resource Name (ARN) for the place index resource. Used to specify
8667	// a resource across AWS.
8668	//
8669	//    * Format example: arn:aws:geo:region:account-id:place-index/ExamplePlaceIndex
8670	//
8671	// IndexArn is a required field
8672	IndexArn *string `type:"string" required:"true"`
8673
8674	// The name of the place index resource being described.
8675	//
8676	// IndexName is a required field
8677	IndexName *string `min:"1" type:"string" required:"true"`
8678
8679	// The pricing plan selected for the specified place index resource.
8680	//
8681	// For additional details and restrictions on each pricing plan option, see
8682	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
8683	//
8684	// PricingPlan is a required field
8685	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
8686
8687	// Tags associated with place index resource.
8688	Tags map[string]*string `type:"map"`
8689
8690	// The timestamp for when the place index resource was last updated in ISO 8601
8691	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
8692	//
8693	// UpdateTime is a required field
8694	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
8695}
8696
8697// String returns the string representation
8698func (s DescribePlaceIndexOutput) String() string {
8699	return awsutil.Prettify(s)
8700}
8701
8702// GoString returns the string representation
8703func (s DescribePlaceIndexOutput) GoString() string {
8704	return s.String()
8705}
8706
8707// SetCreateTime sets the CreateTime field's value.
8708func (s *DescribePlaceIndexOutput) SetCreateTime(v time.Time) *DescribePlaceIndexOutput {
8709	s.CreateTime = &v
8710	return s
8711}
8712
8713// SetDataSource sets the DataSource field's value.
8714func (s *DescribePlaceIndexOutput) SetDataSource(v string) *DescribePlaceIndexOutput {
8715	s.DataSource = &v
8716	return s
8717}
8718
8719// SetDataSourceConfiguration sets the DataSourceConfiguration field's value.
8720func (s *DescribePlaceIndexOutput) SetDataSourceConfiguration(v *DataSourceConfiguration) *DescribePlaceIndexOutput {
8721	s.DataSourceConfiguration = v
8722	return s
8723}
8724
8725// SetDescription sets the Description field's value.
8726func (s *DescribePlaceIndexOutput) SetDescription(v string) *DescribePlaceIndexOutput {
8727	s.Description = &v
8728	return s
8729}
8730
8731// SetIndexArn sets the IndexArn field's value.
8732func (s *DescribePlaceIndexOutput) SetIndexArn(v string) *DescribePlaceIndexOutput {
8733	s.IndexArn = &v
8734	return s
8735}
8736
8737// SetIndexName sets the IndexName field's value.
8738func (s *DescribePlaceIndexOutput) SetIndexName(v string) *DescribePlaceIndexOutput {
8739	s.IndexName = &v
8740	return s
8741}
8742
8743// SetPricingPlan sets the PricingPlan field's value.
8744func (s *DescribePlaceIndexOutput) SetPricingPlan(v string) *DescribePlaceIndexOutput {
8745	s.PricingPlan = &v
8746	return s
8747}
8748
8749// SetTags sets the Tags field's value.
8750func (s *DescribePlaceIndexOutput) SetTags(v map[string]*string) *DescribePlaceIndexOutput {
8751	s.Tags = v
8752	return s
8753}
8754
8755// SetUpdateTime sets the UpdateTime field's value.
8756func (s *DescribePlaceIndexOutput) SetUpdateTime(v time.Time) *DescribePlaceIndexOutput {
8757	s.UpdateTime = &v
8758	return s
8759}
8760
8761type DescribeRouteCalculatorInput struct {
8762	_ struct{} `type:"structure"`
8763
8764	// The name of the route calculator resource.
8765	//
8766	// CalculatorName is a required field
8767	CalculatorName *string `location:"uri" locationName:"CalculatorName" min:"1" type:"string" required:"true"`
8768}
8769
8770// String returns the string representation
8771func (s DescribeRouteCalculatorInput) String() string {
8772	return awsutil.Prettify(s)
8773}
8774
8775// GoString returns the string representation
8776func (s DescribeRouteCalculatorInput) GoString() string {
8777	return s.String()
8778}
8779
8780// Validate inspects the fields of the type to determine if they are valid.
8781func (s *DescribeRouteCalculatorInput) Validate() error {
8782	invalidParams := request.ErrInvalidParams{Context: "DescribeRouteCalculatorInput"}
8783	if s.CalculatorName == nil {
8784		invalidParams.Add(request.NewErrParamRequired("CalculatorName"))
8785	}
8786	if s.CalculatorName != nil && len(*s.CalculatorName) < 1 {
8787		invalidParams.Add(request.NewErrParamMinLen("CalculatorName", 1))
8788	}
8789
8790	if invalidParams.Len() > 0 {
8791		return invalidParams
8792	}
8793	return nil
8794}
8795
8796// SetCalculatorName sets the CalculatorName field's value.
8797func (s *DescribeRouteCalculatorInput) SetCalculatorName(v string) *DescribeRouteCalculatorInput {
8798	s.CalculatorName = &v
8799	return s
8800}
8801
8802type DescribeRouteCalculatorOutput struct {
8803	_ struct{} `type:"structure"`
8804
8805	// The Amazon Resource Name (ARN) for the Route calculator resource. Use the
8806	// ARN when you specify a resource across AWS.
8807	//
8808	//    * Format example: arn:aws:geo:region:account-id:route-calculator/ExampleCalculator
8809	//
8810	// CalculatorArn is a required field
8811	CalculatorArn *string `type:"string" required:"true"`
8812
8813	// The name of the route calculator resource being described.
8814	//
8815	// CalculatorName is a required field
8816	CalculatorName *string `min:"1" type:"string" required:"true"`
8817
8818	// The timestamp when the route calculator resource was created in ISO 8601
8819	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
8820	//
8821	//    * For example, 2020–07-2T12:15:20.000Z+01:00
8822	//
8823	// CreateTime is a required field
8824	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
8825
8826	// The data provider of traffic and road network data. Indicates one of the
8827	// available providers:
8828	//
8829	//    * Esri
8830	//
8831	//    * Here
8832	//
8833	// For more information about data providers, see Amazon Location Service data
8834	// providers (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
8835	//
8836	// DataSource is a required field
8837	DataSource *string `type:"string" required:"true"`
8838
8839	// The optional description of the route calculator resource.
8840	//
8841	// Description is a required field
8842	Description *string `type:"string" required:"true"`
8843
8844	// The pricing plan selected for the specified route calculator resource.
8845	//
8846	// For additional details and restrictions on each pricing plan option, see
8847	// Amazon Location Service pricing (https://aws.amazon.com/location/pricing/).
8848	//
8849	// PricingPlan is a required field
8850	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
8851
8852	// Tags associated with route calculator resource.
8853	Tags map[string]*string `type:"map"`
8854
8855	// The timestamp when the route calculator resource was last updated in ISO
8856	// 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
8857	//
8858	//    * For example, 2020–07-2T12:15:20.000Z+01:00
8859	//
8860	// UpdateTime is a required field
8861	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
8862}
8863
8864// String returns the string representation
8865func (s DescribeRouteCalculatorOutput) String() string {
8866	return awsutil.Prettify(s)
8867}
8868
8869// GoString returns the string representation
8870func (s DescribeRouteCalculatorOutput) GoString() string {
8871	return s.String()
8872}
8873
8874// SetCalculatorArn sets the CalculatorArn field's value.
8875func (s *DescribeRouteCalculatorOutput) SetCalculatorArn(v string) *DescribeRouteCalculatorOutput {
8876	s.CalculatorArn = &v
8877	return s
8878}
8879
8880// SetCalculatorName sets the CalculatorName field's value.
8881func (s *DescribeRouteCalculatorOutput) SetCalculatorName(v string) *DescribeRouteCalculatorOutput {
8882	s.CalculatorName = &v
8883	return s
8884}
8885
8886// SetCreateTime sets the CreateTime field's value.
8887func (s *DescribeRouteCalculatorOutput) SetCreateTime(v time.Time) *DescribeRouteCalculatorOutput {
8888	s.CreateTime = &v
8889	return s
8890}
8891
8892// SetDataSource sets the DataSource field's value.
8893func (s *DescribeRouteCalculatorOutput) SetDataSource(v string) *DescribeRouteCalculatorOutput {
8894	s.DataSource = &v
8895	return s
8896}
8897
8898// SetDescription sets the Description field's value.
8899func (s *DescribeRouteCalculatorOutput) SetDescription(v string) *DescribeRouteCalculatorOutput {
8900	s.Description = &v
8901	return s
8902}
8903
8904// SetPricingPlan sets the PricingPlan field's value.
8905func (s *DescribeRouteCalculatorOutput) SetPricingPlan(v string) *DescribeRouteCalculatorOutput {
8906	s.PricingPlan = &v
8907	return s
8908}
8909
8910// SetTags sets the Tags field's value.
8911func (s *DescribeRouteCalculatorOutput) SetTags(v map[string]*string) *DescribeRouteCalculatorOutput {
8912	s.Tags = v
8913	return s
8914}
8915
8916// SetUpdateTime sets the UpdateTime field's value.
8917func (s *DescribeRouteCalculatorOutput) SetUpdateTime(v time.Time) *DescribeRouteCalculatorOutput {
8918	s.UpdateTime = &v
8919	return s
8920}
8921
8922type DescribeTrackerInput struct {
8923	_ struct{} `type:"structure"`
8924
8925	// The name of the tracker resource.
8926	//
8927	// TrackerName is a required field
8928	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
8929}
8930
8931// String returns the string representation
8932func (s DescribeTrackerInput) String() string {
8933	return awsutil.Prettify(s)
8934}
8935
8936// GoString returns the string representation
8937func (s DescribeTrackerInput) GoString() string {
8938	return s.String()
8939}
8940
8941// Validate inspects the fields of the type to determine if they are valid.
8942func (s *DescribeTrackerInput) Validate() error {
8943	invalidParams := request.ErrInvalidParams{Context: "DescribeTrackerInput"}
8944	if s.TrackerName == nil {
8945		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
8946	}
8947	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
8948		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
8949	}
8950
8951	if invalidParams.Len() > 0 {
8952		return invalidParams
8953	}
8954	return nil
8955}
8956
8957// SetTrackerName sets the TrackerName field's value.
8958func (s *DescribeTrackerInput) SetTrackerName(v string) *DescribeTrackerInput {
8959	s.TrackerName = &v
8960	return s
8961}
8962
8963type DescribeTrackerOutput struct {
8964	_ struct{} `type:"structure"`
8965
8966	// The timestamp for when the tracker resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
8967	// format: YYYY-MM-DDThh:mm:ss.sssZ.
8968	//
8969	// CreateTime is a required field
8970	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
8971
8972	// The optional description for the tracker resource.
8973	//
8974	// Description is a required field
8975	Description *string `type:"string" required:"true"`
8976
8977	// A key identifier for an AWS KMS customer managed key (https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)
8978	// assigned to the Amazon Location resource.
8979	KmsKeyId *string `min:"1" type:"string"`
8980
8981	// The pricing plan selected for the specified tracker resource.
8982	//
8983	// For additional details and restrictions on each pricing plan option, see
8984	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
8985	//
8986	// PricingPlan is a required field
8987	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
8988
8989	// The specified data provider for the tracker resource.
8990	PricingPlanDataSource *string `type:"string"`
8991
8992	// The tags associated with the tracker resource.
8993	Tags map[string]*string `type:"map"`
8994
8995	// The Amazon Resource Name (ARN) for the tracker resource. Used when you need
8996	// to specify a resource across all AWS.
8997	//
8998	//    * Format example: arn:aws:geo:region:account-id:tracker/ExampleTracker
8999	//
9000	// TrackerArn is a required field
9001	TrackerArn *string `type:"string" required:"true"`
9002
9003	// The name of the tracker resource.
9004	//
9005	// TrackerName is a required field
9006	TrackerName *string `min:"1" type:"string" required:"true"`
9007
9008	// The timestamp for when the tracker resource was last updated in ISO 8601
9009	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
9010	//
9011	// UpdateTime is a required field
9012	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
9013}
9014
9015// String returns the string representation
9016func (s DescribeTrackerOutput) String() string {
9017	return awsutil.Prettify(s)
9018}
9019
9020// GoString returns the string representation
9021func (s DescribeTrackerOutput) GoString() string {
9022	return s.String()
9023}
9024
9025// SetCreateTime sets the CreateTime field's value.
9026func (s *DescribeTrackerOutput) SetCreateTime(v time.Time) *DescribeTrackerOutput {
9027	s.CreateTime = &v
9028	return s
9029}
9030
9031// SetDescription sets the Description field's value.
9032func (s *DescribeTrackerOutput) SetDescription(v string) *DescribeTrackerOutput {
9033	s.Description = &v
9034	return s
9035}
9036
9037// SetKmsKeyId sets the KmsKeyId field's value.
9038func (s *DescribeTrackerOutput) SetKmsKeyId(v string) *DescribeTrackerOutput {
9039	s.KmsKeyId = &v
9040	return s
9041}
9042
9043// SetPricingPlan sets the PricingPlan field's value.
9044func (s *DescribeTrackerOutput) SetPricingPlan(v string) *DescribeTrackerOutput {
9045	s.PricingPlan = &v
9046	return s
9047}
9048
9049// SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
9050func (s *DescribeTrackerOutput) SetPricingPlanDataSource(v string) *DescribeTrackerOutput {
9051	s.PricingPlanDataSource = &v
9052	return s
9053}
9054
9055// SetTags sets the Tags field's value.
9056func (s *DescribeTrackerOutput) SetTags(v map[string]*string) *DescribeTrackerOutput {
9057	s.Tags = v
9058	return s
9059}
9060
9061// SetTrackerArn sets the TrackerArn field's value.
9062func (s *DescribeTrackerOutput) SetTrackerArn(v string) *DescribeTrackerOutput {
9063	s.TrackerArn = &v
9064	return s
9065}
9066
9067// SetTrackerName sets the TrackerName field's value.
9068func (s *DescribeTrackerOutput) SetTrackerName(v string) *DescribeTrackerOutput {
9069	s.TrackerName = &v
9070	return s
9071}
9072
9073// SetUpdateTime sets the UpdateTime field's value.
9074func (s *DescribeTrackerOutput) SetUpdateTime(v time.Time) *DescribeTrackerOutput {
9075	s.UpdateTime = &v
9076	return s
9077}
9078
9079// Contains the device position details.
9080type DevicePosition struct {
9081	_ struct{} `type:"structure"`
9082
9083	// The device whose position you retrieved.
9084	DeviceId *string `min:"1" type:"string"`
9085
9086	// The last known device position.
9087	//
9088	// Position is a required field
9089	Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
9090
9091	// The timestamp for when the tracker resource received the device position
9092	// in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format:
9093	// YYYY-MM-DDThh:mm:ss.sssZ.
9094	//
9095	// ReceivedTime is a required field
9096	ReceivedTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
9097
9098	// The timestamp at which the device's position was determined. Uses ISO 8601
9099	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
9100	//
9101	// SampleTime is a required field
9102	SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
9103}
9104
9105// String returns the string representation
9106func (s DevicePosition) String() string {
9107	return awsutil.Prettify(s)
9108}
9109
9110// GoString returns the string representation
9111func (s DevicePosition) GoString() string {
9112	return s.String()
9113}
9114
9115// SetDeviceId sets the DeviceId field's value.
9116func (s *DevicePosition) SetDeviceId(v string) *DevicePosition {
9117	s.DeviceId = &v
9118	return s
9119}
9120
9121// SetPosition sets the Position field's value.
9122func (s *DevicePosition) SetPosition(v []*float64) *DevicePosition {
9123	s.Position = v
9124	return s
9125}
9126
9127// SetReceivedTime sets the ReceivedTime field's value.
9128func (s *DevicePosition) SetReceivedTime(v time.Time) *DevicePosition {
9129	s.ReceivedTime = &v
9130	return s
9131}
9132
9133// SetSampleTime sets the SampleTime field's value.
9134func (s *DevicePosition) SetSampleTime(v time.Time) *DevicePosition {
9135	s.SampleTime = &v
9136	return s
9137}
9138
9139// Contains the position update details for a device.
9140type DevicePositionUpdate struct {
9141	_ struct{} `type:"structure"`
9142
9143	// The device associated to the position update.
9144	//
9145	// DeviceId is a required field
9146	DeviceId *string `min:"1" type:"string" required:"true"`
9147
9148	// The latest device position defined in WGS 84 (https://earth-info.nga.mil/GandG/wgs84/index.html)
9149	// format: [X or longitude, Y or latitude].
9150	//
9151	// Position is a required field
9152	Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
9153
9154	// The timestamp at which the device's position was determined. Uses ISO 8601
9155	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ
9156	//
9157	// SampleTime is a required field
9158	SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
9159}
9160
9161// String returns the string representation
9162func (s DevicePositionUpdate) String() string {
9163	return awsutil.Prettify(s)
9164}
9165
9166// GoString returns the string representation
9167func (s DevicePositionUpdate) GoString() string {
9168	return s.String()
9169}
9170
9171// Validate inspects the fields of the type to determine if they are valid.
9172func (s *DevicePositionUpdate) Validate() error {
9173	invalidParams := request.ErrInvalidParams{Context: "DevicePositionUpdate"}
9174	if s.DeviceId == nil {
9175		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
9176	}
9177	if s.DeviceId != nil && len(*s.DeviceId) < 1 {
9178		invalidParams.Add(request.NewErrParamMinLen("DeviceId", 1))
9179	}
9180	if s.Position == nil {
9181		invalidParams.Add(request.NewErrParamRequired("Position"))
9182	}
9183	if s.Position != nil && len(s.Position) < 2 {
9184		invalidParams.Add(request.NewErrParamMinLen("Position", 2))
9185	}
9186	if s.SampleTime == nil {
9187		invalidParams.Add(request.NewErrParamRequired("SampleTime"))
9188	}
9189
9190	if invalidParams.Len() > 0 {
9191		return invalidParams
9192	}
9193	return nil
9194}
9195
9196// SetDeviceId sets the DeviceId field's value.
9197func (s *DevicePositionUpdate) SetDeviceId(v string) *DevicePositionUpdate {
9198	s.DeviceId = &v
9199	return s
9200}
9201
9202// SetPosition sets the Position field's value.
9203func (s *DevicePositionUpdate) SetPosition(v []*float64) *DevicePositionUpdate {
9204	s.Position = v
9205	return s
9206}
9207
9208// SetSampleTime sets the SampleTime field's value.
9209func (s *DevicePositionUpdate) SetSampleTime(v time.Time) *DevicePositionUpdate {
9210	s.SampleTime = &v
9211	return s
9212}
9213
9214type DisassociateTrackerConsumerInput struct {
9215	_ struct{} `type:"structure"`
9216
9217	// The Amazon Resource Name (ARN) for the geofence collection to be disassociated
9218	// from the tracker resource. Used when you need to specify a resource across
9219	// all AWS.
9220	//
9221	//    * Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer
9222	//
9223	// ConsumerArn is a required field
9224	ConsumerArn *string `location:"uri" locationName:"ConsumerArn" type:"string" required:"true"`
9225
9226	// The name of the tracker resource to be dissociated from the consumer.
9227	//
9228	// TrackerName is a required field
9229	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
9230}
9231
9232// String returns the string representation
9233func (s DisassociateTrackerConsumerInput) String() string {
9234	return awsutil.Prettify(s)
9235}
9236
9237// GoString returns the string representation
9238func (s DisassociateTrackerConsumerInput) GoString() string {
9239	return s.String()
9240}
9241
9242// Validate inspects the fields of the type to determine if they are valid.
9243func (s *DisassociateTrackerConsumerInput) Validate() error {
9244	invalidParams := request.ErrInvalidParams{Context: "DisassociateTrackerConsumerInput"}
9245	if s.ConsumerArn == nil {
9246		invalidParams.Add(request.NewErrParamRequired("ConsumerArn"))
9247	}
9248	if s.ConsumerArn != nil && len(*s.ConsumerArn) < 1 {
9249		invalidParams.Add(request.NewErrParamMinLen("ConsumerArn", 1))
9250	}
9251	if s.TrackerName == nil {
9252		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
9253	}
9254	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
9255		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
9256	}
9257
9258	if invalidParams.Len() > 0 {
9259		return invalidParams
9260	}
9261	return nil
9262}
9263
9264// SetConsumerArn sets the ConsumerArn field's value.
9265func (s *DisassociateTrackerConsumerInput) SetConsumerArn(v string) *DisassociateTrackerConsumerInput {
9266	s.ConsumerArn = &v
9267	return s
9268}
9269
9270// SetTrackerName sets the TrackerName field's value.
9271func (s *DisassociateTrackerConsumerInput) SetTrackerName(v string) *DisassociateTrackerConsumerInput {
9272	s.TrackerName = &v
9273	return s
9274}
9275
9276type DisassociateTrackerConsumerOutput struct {
9277	_ struct{} `type:"structure"`
9278}
9279
9280// String returns the string representation
9281func (s DisassociateTrackerConsumerOutput) String() string {
9282	return awsutil.Prettify(s)
9283}
9284
9285// GoString returns the string representation
9286func (s DisassociateTrackerConsumerOutput) GoString() string {
9287	return s.String()
9288}
9289
9290// Contains the geofence geometry details.
9291//
9292// Amazon Location doesn't currently support polygons with holes, multipolygons,
9293// polygons that are wound clockwise, or that cross the antimeridian.
9294type GeofenceGeometry struct {
9295	_ struct{} `type:"structure"`
9296
9297	// An array of 1 or more linear rings. A linear ring is an array of 4 or more
9298	// vertices, where the first and last vertex are the same to form a closed boundary.
9299	// Each vertex is a 2-dimensional point of the form: [longitude, latitude].
9300	//
9301	// The first linear ring is an outer ring, describing the polygon's boundary.
9302	// Subsequent linear rings may be inner or outer rings to describe holes and
9303	// islands. Outer rings must list their vertices in counter-clockwise order
9304	// around the ring's center, where the left side is the polygon's exterior.
9305	// Inner rings must list their vertices in clockwise order, where the left side
9306	// is the polygon's interior.
9307	Polygon [][][]*float64 `min:"1" type:"list"`
9308}
9309
9310// String returns the string representation
9311func (s GeofenceGeometry) String() string {
9312	return awsutil.Prettify(s)
9313}
9314
9315// GoString returns the string representation
9316func (s GeofenceGeometry) GoString() string {
9317	return s.String()
9318}
9319
9320// Validate inspects the fields of the type to determine if they are valid.
9321func (s *GeofenceGeometry) Validate() error {
9322	invalidParams := request.ErrInvalidParams{Context: "GeofenceGeometry"}
9323	if s.Polygon != nil && len(s.Polygon) < 1 {
9324		invalidParams.Add(request.NewErrParamMinLen("Polygon", 1))
9325	}
9326
9327	if invalidParams.Len() > 0 {
9328		return invalidParams
9329	}
9330	return nil
9331}
9332
9333// SetPolygon sets the Polygon field's value.
9334func (s *GeofenceGeometry) SetPolygon(v [][][]*float64) *GeofenceGeometry {
9335	s.Polygon = v
9336	return s
9337}
9338
9339type GetDevicePositionHistoryInput struct {
9340	_ struct{} `type:"structure"`
9341
9342	// The device whose position history you want to retrieve.
9343	//
9344	// DeviceId is a required field
9345	DeviceId *string `location:"uri" locationName:"DeviceId" min:"1" type:"string" required:"true"`
9346
9347	// Specify the end time for the position history in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
9348	// format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be the time
9349	// that the request is made.
9350	//
9351	// Requirement:
9352	//
9353	//    * The time specified for EndTimeExclusive must be after the time for StartTimeInclusive.
9354	EndTimeExclusive *time.Time `type:"timestamp" timestampFormat:"iso8601"`
9355
9356	// The pagination token specifying which page of results to return in the response.
9357	// If no token is provided, the default page is the first page.
9358	//
9359	// Default value: null
9360	NextToken *string `min:"1" type:"string"`
9361
9362	// Specify the start time for the position history in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
9363	// format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be 24 hours
9364	// prior to the time that the request is made.
9365	//
9366	// Requirement:
9367	//
9368	//    * The time specified for StartTimeInclusive must be before EndTimeExclusive.
9369	StartTimeInclusive *time.Time `type:"timestamp" timestampFormat:"iso8601"`
9370
9371	// The tracker resource receiving the request for the device position history.
9372	//
9373	// TrackerName is a required field
9374	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
9375}
9376
9377// String returns the string representation
9378func (s GetDevicePositionHistoryInput) String() string {
9379	return awsutil.Prettify(s)
9380}
9381
9382// GoString returns the string representation
9383func (s GetDevicePositionHistoryInput) GoString() string {
9384	return s.String()
9385}
9386
9387// Validate inspects the fields of the type to determine if they are valid.
9388func (s *GetDevicePositionHistoryInput) Validate() error {
9389	invalidParams := request.ErrInvalidParams{Context: "GetDevicePositionHistoryInput"}
9390	if s.DeviceId == nil {
9391		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
9392	}
9393	if s.DeviceId != nil && len(*s.DeviceId) < 1 {
9394		invalidParams.Add(request.NewErrParamMinLen("DeviceId", 1))
9395	}
9396	if s.NextToken != nil && len(*s.NextToken) < 1 {
9397		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
9398	}
9399	if s.TrackerName == nil {
9400		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
9401	}
9402	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
9403		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
9404	}
9405
9406	if invalidParams.Len() > 0 {
9407		return invalidParams
9408	}
9409	return nil
9410}
9411
9412// SetDeviceId sets the DeviceId field's value.
9413func (s *GetDevicePositionHistoryInput) SetDeviceId(v string) *GetDevicePositionHistoryInput {
9414	s.DeviceId = &v
9415	return s
9416}
9417
9418// SetEndTimeExclusive sets the EndTimeExclusive field's value.
9419func (s *GetDevicePositionHistoryInput) SetEndTimeExclusive(v time.Time) *GetDevicePositionHistoryInput {
9420	s.EndTimeExclusive = &v
9421	return s
9422}
9423
9424// SetNextToken sets the NextToken field's value.
9425func (s *GetDevicePositionHistoryInput) SetNextToken(v string) *GetDevicePositionHistoryInput {
9426	s.NextToken = &v
9427	return s
9428}
9429
9430// SetStartTimeInclusive sets the StartTimeInclusive field's value.
9431func (s *GetDevicePositionHistoryInput) SetStartTimeInclusive(v time.Time) *GetDevicePositionHistoryInput {
9432	s.StartTimeInclusive = &v
9433	return s
9434}
9435
9436// SetTrackerName sets the TrackerName field's value.
9437func (s *GetDevicePositionHistoryInput) SetTrackerName(v string) *GetDevicePositionHistoryInput {
9438	s.TrackerName = &v
9439	return s
9440}
9441
9442type GetDevicePositionHistoryOutput struct {
9443	_ struct{} `type:"structure"`
9444
9445	// Contains the position history details for the requested device.
9446	//
9447	// DevicePositions is a required field
9448	DevicePositions []*DevicePosition `type:"list" required:"true"`
9449
9450	// A pagination token indicating there are additional pages available. You can
9451	// use the token in a following request to fetch the next set of results.
9452	NextToken *string `min:"1" type:"string"`
9453}
9454
9455// String returns the string representation
9456func (s GetDevicePositionHistoryOutput) String() string {
9457	return awsutil.Prettify(s)
9458}
9459
9460// GoString returns the string representation
9461func (s GetDevicePositionHistoryOutput) GoString() string {
9462	return s.String()
9463}
9464
9465// SetDevicePositions sets the DevicePositions field's value.
9466func (s *GetDevicePositionHistoryOutput) SetDevicePositions(v []*DevicePosition) *GetDevicePositionHistoryOutput {
9467	s.DevicePositions = v
9468	return s
9469}
9470
9471// SetNextToken sets the NextToken field's value.
9472func (s *GetDevicePositionHistoryOutput) SetNextToken(v string) *GetDevicePositionHistoryOutput {
9473	s.NextToken = &v
9474	return s
9475}
9476
9477type GetDevicePositionInput struct {
9478	_ struct{} `type:"structure"`
9479
9480	// The device whose position you want to retrieve.
9481	//
9482	// DeviceId is a required field
9483	DeviceId *string `location:"uri" locationName:"DeviceId" min:"1" type:"string" required:"true"`
9484
9485	// The tracker resource receiving the position update.
9486	//
9487	// TrackerName is a required field
9488	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
9489}
9490
9491// String returns the string representation
9492func (s GetDevicePositionInput) String() string {
9493	return awsutil.Prettify(s)
9494}
9495
9496// GoString returns the string representation
9497func (s GetDevicePositionInput) GoString() string {
9498	return s.String()
9499}
9500
9501// Validate inspects the fields of the type to determine if they are valid.
9502func (s *GetDevicePositionInput) Validate() error {
9503	invalidParams := request.ErrInvalidParams{Context: "GetDevicePositionInput"}
9504	if s.DeviceId == nil {
9505		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
9506	}
9507	if s.DeviceId != nil && len(*s.DeviceId) < 1 {
9508		invalidParams.Add(request.NewErrParamMinLen("DeviceId", 1))
9509	}
9510	if s.TrackerName == nil {
9511		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
9512	}
9513	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
9514		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
9515	}
9516
9517	if invalidParams.Len() > 0 {
9518		return invalidParams
9519	}
9520	return nil
9521}
9522
9523// SetDeviceId sets the DeviceId field's value.
9524func (s *GetDevicePositionInput) SetDeviceId(v string) *GetDevicePositionInput {
9525	s.DeviceId = &v
9526	return s
9527}
9528
9529// SetTrackerName sets the TrackerName field's value.
9530func (s *GetDevicePositionInput) SetTrackerName(v string) *GetDevicePositionInput {
9531	s.TrackerName = &v
9532	return s
9533}
9534
9535type GetDevicePositionOutput struct {
9536	_ struct{} `type:"structure"`
9537
9538	// The device whose position you retrieved.
9539	DeviceId *string `min:"1" type:"string"`
9540
9541	// The last known device position.
9542	//
9543	// Position is a required field
9544	Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
9545
9546	// The timestamp for when the tracker resource received the device position
9547	// in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format:
9548	// YYYY-MM-DDThh:mm:ss.sssZ.
9549	//
9550	// ReceivedTime is a required field
9551	ReceivedTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
9552
9553	// The timestamp at which the device's position was determined. Uses ISO 8601
9554	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
9555	//
9556	// SampleTime is a required field
9557	SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
9558}
9559
9560// String returns the string representation
9561func (s GetDevicePositionOutput) String() string {
9562	return awsutil.Prettify(s)
9563}
9564
9565// GoString returns the string representation
9566func (s GetDevicePositionOutput) GoString() string {
9567	return s.String()
9568}
9569
9570// SetDeviceId sets the DeviceId field's value.
9571func (s *GetDevicePositionOutput) SetDeviceId(v string) *GetDevicePositionOutput {
9572	s.DeviceId = &v
9573	return s
9574}
9575
9576// SetPosition sets the Position field's value.
9577func (s *GetDevicePositionOutput) SetPosition(v []*float64) *GetDevicePositionOutput {
9578	s.Position = v
9579	return s
9580}
9581
9582// SetReceivedTime sets the ReceivedTime field's value.
9583func (s *GetDevicePositionOutput) SetReceivedTime(v time.Time) *GetDevicePositionOutput {
9584	s.ReceivedTime = &v
9585	return s
9586}
9587
9588// SetSampleTime sets the SampleTime field's value.
9589func (s *GetDevicePositionOutput) SetSampleTime(v time.Time) *GetDevicePositionOutput {
9590	s.SampleTime = &v
9591	return s
9592}
9593
9594type GetGeofenceInput struct {
9595	_ struct{} `type:"structure"`
9596
9597	// The geofence collection storing the target geofence.
9598	//
9599	// CollectionName is a required field
9600	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
9601
9602	// The geofence you're retrieving details for.
9603	//
9604	// GeofenceId is a required field
9605	GeofenceId *string `location:"uri" locationName:"GeofenceId" min:"1" type:"string" required:"true"`
9606}
9607
9608// String returns the string representation
9609func (s GetGeofenceInput) String() string {
9610	return awsutil.Prettify(s)
9611}
9612
9613// GoString returns the string representation
9614func (s GetGeofenceInput) GoString() string {
9615	return s.String()
9616}
9617
9618// Validate inspects the fields of the type to determine if they are valid.
9619func (s *GetGeofenceInput) Validate() error {
9620	invalidParams := request.ErrInvalidParams{Context: "GetGeofenceInput"}
9621	if s.CollectionName == nil {
9622		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
9623	}
9624	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
9625		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
9626	}
9627	if s.GeofenceId == nil {
9628		invalidParams.Add(request.NewErrParamRequired("GeofenceId"))
9629	}
9630	if s.GeofenceId != nil && len(*s.GeofenceId) < 1 {
9631		invalidParams.Add(request.NewErrParamMinLen("GeofenceId", 1))
9632	}
9633
9634	if invalidParams.Len() > 0 {
9635		return invalidParams
9636	}
9637	return nil
9638}
9639
9640// SetCollectionName sets the CollectionName field's value.
9641func (s *GetGeofenceInput) SetCollectionName(v string) *GetGeofenceInput {
9642	s.CollectionName = &v
9643	return s
9644}
9645
9646// SetGeofenceId sets the GeofenceId field's value.
9647func (s *GetGeofenceInput) SetGeofenceId(v string) *GetGeofenceInput {
9648	s.GeofenceId = &v
9649	return s
9650}
9651
9652type GetGeofenceOutput struct {
9653	_ struct{} `type:"structure"`
9654
9655	// The timestamp for when the geofence collection was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
9656	// format: YYYY-MM-DDThh:mm:ss.sssZ
9657	//
9658	// CreateTime is a required field
9659	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
9660
9661	// The geofence identifier.
9662	//
9663	// GeofenceId is a required field
9664	GeofenceId *string `min:"1" type:"string" required:"true"`
9665
9666	// Contains the geofence geometry details describing a polygon.
9667	//
9668	// Geometry is a required field
9669	Geometry *GeofenceGeometry `type:"structure" required:"true"`
9670
9671	// Identifies the state of the geofence. A geofence will hold one of the following
9672	// states:
9673	//
9674	//    * ACTIVE — The geofence has been indexed by the system.
9675	//
9676	//    * PENDING — The geofence is being processed by the system.
9677	//
9678	//    * FAILED — The geofence failed to be indexed by the system.
9679	//
9680	//    * DELETED — The geofence has been deleted from the system index.
9681	//
9682	//    * DELETING — The geofence is being deleted from the system index.
9683	//
9684	// Status is a required field
9685	Status *string `type:"string" required:"true"`
9686
9687	// The timestamp for when the geofence collection was last updated in ISO 8601
9688	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ
9689	//
9690	// UpdateTime is a required field
9691	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
9692}
9693
9694// String returns the string representation
9695func (s GetGeofenceOutput) String() string {
9696	return awsutil.Prettify(s)
9697}
9698
9699// GoString returns the string representation
9700func (s GetGeofenceOutput) GoString() string {
9701	return s.String()
9702}
9703
9704// SetCreateTime sets the CreateTime field's value.
9705func (s *GetGeofenceOutput) SetCreateTime(v time.Time) *GetGeofenceOutput {
9706	s.CreateTime = &v
9707	return s
9708}
9709
9710// SetGeofenceId sets the GeofenceId field's value.
9711func (s *GetGeofenceOutput) SetGeofenceId(v string) *GetGeofenceOutput {
9712	s.GeofenceId = &v
9713	return s
9714}
9715
9716// SetGeometry sets the Geometry field's value.
9717func (s *GetGeofenceOutput) SetGeometry(v *GeofenceGeometry) *GetGeofenceOutput {
9718	s.Geometry = v
9719	return s
9720}
9721
9722// SetStatus sets the Status field's value.
9723func (s *GetGeofenceOutput) SetStatus(v string) *GetGeofenceOutput {
9724	s.Status = &v
9725	return s
9726}
9727
9728// SetUpdateTime sets the UpdateTime field's value.
9729func (s *GetGeofenceOutput) SetUpdateTime(v time.Time) *GetGeofenceOutput {
9730	s.UpdateTime = &v
9731	return s
9732}
9733
9734type GetMapGlyphsInput struct {
9735	_ struct{} `type:"structure"`
9736
9737	// A comma-separated list of fonts to load glyphs from in order of preference.
9738	// For example, Noto Sans Regular, Arial Unicode.
9739	//
9740	// Valid fonts for Esri (https://docs.aws.amazon.com/location/latest/developerguide/esri.html)
9741	// styles:
9742	//
9743	//    * VectorEsriDarkGrayCanvas – Ubuntu Medium Italic | Ubuntu Medium |
9744	//    Ubuntu Italic | Ubuntu Regular | Ubuntu Bold
9745	//
9746	//    * VectorEsriLightGrayCanvas – Ubuntu Italic | Ubuntu Regular | Ubuntu
9747	//    Light | Ubuntu Bold
9748	//
9749	//    * VectorEsriTopographic – Noto Sans Italic | Noto Sans Regular | Noto
9750	//    Sans Bold | Noto Serif Regular | Roboto Condensed Light Italic
9751	//
9752	//    * VectorEsriStreets – Arial Regular | Arial Italic | Arial Bold
9753	//
9754	//    * VectorEsriNavigation – Arial Regular | Arial Italic | Arial Bold
9755	//
9756	// Valid fonts for HERE Technologies (https://docs.aws.amazon.com/location/latest/developerguide/HERE.html)
9757	// styles:
9758	//
9759	//    * VectorHereBerlin – Fira GO Regular | Fira GO Bold
9760	//
9761	// FontStack is a required field
9762	FontStack *string `location:"uri" locationName:"FontStack" type:"string" required:"true"`
9763
9764	// A Unicode range of characters to download glyphs for. Each response will
9765	// contain 256 characters. For example, 0–255 includes all characters from
9766	// range U+0000 to 00FF. Must be aligned to multiples of 256.
9767	//
9768	// FontUnicodeRange is a required field
9769	FontUnicodeRange *string `location:"uri" locationName:"FontUnicodeRange" type:"string" required:"true"`
9770
9771	// The map resource associated with the glyph file.
9772	//
9773	// MapName is a required field
9774	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
9775}
9776
9777// String returns the string representation
9778func (s GetMapGlyphsInput) String() string {
9779	return awsutil.Prettify(s)
9780}
9781
9782// GoString returns the string representation
9783func (s GetMapGlyphsInput) GoString() string {
9784	return s.String()
9785}
9786
9787// Validate inspects the fields of the type to determine if they are valid.
9788func (s *GetMapGlyphsInput) Validate() error {
9789	invalidParams := request.ErrInvalidParams{Context: "GetMapGlyphsInput"}
9790	if s.FontStack == nil {
9791		invalidParams.Add(request.NewErrParamRequired("FontStack"))
9792	}
9793	if s.FontStack != nil && len(*s.FontStack) < 1 {
9794		invalidParams.Add(request.NewErrParamMinLen("FontStack", 1))
9795	}
9796	if s.FontUnicodeRange == nil {
9797		invalidParams.Add(request.NewErrParamRequired("FontUnicodeRange"))
9798	}
9799	if s.FontUnicodeRange != nil && len(*s.FontUnicodeRange) < 1 {
9800		invalidParams.Add(request.NewErrParamMinLen("FontUnicodeRange", 1))
9801	}
9802	if s.MapName == nil {
9803		invalidParams.Add(request.NewErrParamRequired("MapName"))
9804	}
9805	if s.MapName != nil && len(*s.MapName) < 1 {
9806		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
9807	}
9808
9809	if invalidParams.Len() > 0 {
9810		return invalidParams
9811	}
9812	return nil
9813}
9814
9815// SetFontStack sets the FontStack field's value.
9816func (s *GetMapGlyphsInput) SetFontStack(v string) *GetMapGlyphsInput {
9817	s.FontStack = &v
9818	return s
9819}
9820
9821// SetFontUnicodeRange sets the FontUnicodeRange field's value.
9822func (s *GetMapGlyphsInput) SetFontUnicodeRange(v string) *GetMapGlyphsInput {
9823	s.FontUnicodeRange = &v
9824	return s
9825}
9826
9827// SetMapName sets the MapName field's value.
9828func (s *GetMapGlyphsInput) SetMapName(v string) *GetMapGlyphsInput {
9829	s.MapName = &v
9830	return s
9831}
9832
9833type GetMapGlyphsOutput struct {
9834	_ struct{} `type:"structure" payload:"Blob"`
9835
9836	// The blob's content type.
9837	Blob []byte `type:"blob"`
9838
9839	// The map glyph content type. For example, application/octet-stream.
9840	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
9841}
9842
9843// String returns the string representation
9844func (s GetMapGlyphsOutput) String() string {
9845	return awsutil.Prettify(s)
9846}
9847
9848// GoString returns the string representation
9849func (s GetMapGlyphsOutput) GoString() string {
9850	return s.String()
9851}
9852
9853// SetBlob sets the Blob field's value.
9854func (s *GetMapGlyphsOutput) SetBlob(v []byte) *GetMapGlyphsOutput {
9855	s.Blob = v
9856	return s
9857}
9858
9859// SetContentType sets the ContentType field's value.
9860func (s *GetMapGlyphsOutput) SetContentType(v string) *GetMapGlyphsOutput {
9861	s.ContentType = &v
9862	return s
9863}
9864
9865type GetMapSpritesInput struct {
9866	_ struct{} `type:"structure"`
9867
9868	// The name of the sprite file. Use the following file names for the sprite
9869	// sheet:
9870	//
9871	//    * sprites.png
9872	//
9873	//    * sprites@2x.png for high pixel density displays
9874	//
9875	// For the JSON document contain image offsets. Use the following file names:
9876	//
9877	//    * sprites.json
9878	//
9879	//    * sprites@2x.json for high pixel density displays
9880	//
9881	// FileName is a required field
9882	FileName *string `location:"uri" locationName:"FileName" type:"string" required:"true"`
9883
9884	// The map resource associated with the sprite file.
9885	//
9886	// MapName is a required field
9887	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
9888}
9889
9890// String returns the string representation
9891func (s GetMapSpritesInput) String() string {
9892	return awsutil.Prettify(s)
9893}
9894
9895// GoString returns the string representation
9896func (s GetMapSpritesInput) GoString() string {
9897	return s.String()
9898}
9899
9900// Validate inspects the fields of the type to determine if they are valid.
9901func (s *GetMapSpritesInput) Validate() error {
9902	invalidParams := request.ErrInvalidParams{Context: "GetMapSpritesInput"}
9903	if s.FileName == nil {
9904		invalidParams.Add(request.NewErrParamRequired("FileName"))
9905	}
9906	if s.FileName != nil && len(*s.FileName) < 1 {
9907		invalidParams.Add(request.NewErrParamMinLen("FileName", 1))
9908	}
9909	if s.MapName == nil {
9910		invalidParams.Add(request.NewErrParamRequired("MapName"))
9911	}
9912	if s.MapName != nil && len(*s.MapName) < 1 {
9913		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
9914	}
9915
9916	if invalidParams.Len() > 0 {
9917		return invalidParams
9918	}
9919	return nil
9920}
9921
9922// SetFileName sets the FileName field's value.
9923func (s *GetMapSpritesInput) SetFileName(v string) *GetMapSpritesInput {
9924	s.FileName = &v
9925	return s
9926}
9927
9928// SetMapName sets the MapName field's value.
9929func (s *GetMapSpritesInput) SetMapName(v string) *GetMapSpritesInput {
9930	s.MapName = &v
9931	return s
9932}
9933
9934type GetMapSpritesOutput struct {
9935	_ struct{} `type:"structure" payload:"Blob"`
9936
9937	// Contains the body of the sprite sheet or JSON offset file.
9938	Blob []byte `type:"blob"`
9939
9940	// The content type of the sprite sheet and offsets. For example, the sprite
9941	// sheet content type is image/png, and the sprite offset JSON document is application/json.
9942	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
9943}
9944
9945// String returns the string representation
9946func (s GetMapSpritesOutput) String() string {
9947	return awsutil.Prettify(s)
9948}
9949
9950// GoString returns the string representation
9951func (s GetMapSpritesOutput) GoString() string {
9952	return s.String()
9953}
9954
9955// SetBlob sets the Blob field's value.
9956func (s *GetMapSpritesOutput) SetBlob(v []byte) *GetMapSpritesOutput {
9957	s.Blob = v
9958	return s
9959}
9960
9961// SetContentType sets the ContentType field's value.
9962func (s *GetMapSpritesOutput) SetContentType(v string) *GetMapSpritesOutput {
9963	s.ContentType = &v
9964	return s
9965}
9966
9967type GetMapStyleDescriptorInput struct {
9968	_ struct{} `type:"structure"`
9969
9970	// The map resource to retrieve the style descriptor from.
9971	//
9972	// MapName is a required field
9973	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
9974}
9975
9976// String returns the string representation
9977func (s GetMapStyleDescriptorInput) String() string {
9978	return awsutil.Prettify(s)
9979}
9980
9981// GoString returns the string representation
9982func (s GetMapStyleDescriptorInput) GoString() string {
9983	return s.String()
9984}
9985
9986// Validate inspects the fields of the type to determine if they are valid.
9987func (s *GetMapStyleDescriptorInput) Validate() error {
9988	invalidParams := request.ErrInvalidParams{Context: "GetMapStyleDescriptorInput"}
9989	if s.MapName == nil {
9990		invalidParams.Add(request.NewErrParamRequired("MapName"))
9991	}
9992	if s.MapName != nil && len(*s.MapName) < 1 {
9993		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
9994	}
9995
9996	if invalidParams.Len() > 0 {
9997		return invalidParams
9998	}
9999	return nil
10000}
10001
10002// SetMapName sets the MapName field's value.
10003func (s *GetMapStyleDescriptorInput) SetMapName(v string) *GetMapStyleDescriptorInput {
10004	s.MapName = &v
10005	return s
10006}
10007
10008type GetMapStyleDescriptorOutput struct {
10009	_ struct{} `type:"structure" payload:"Blob"`
10010
10011	// Contains the body of the style descriptor.
10012	Blob []byte `type:"blob"`
10013
10014	// The style descriptor's content type. For example, application/json.
10015	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
10016}
10017
10018// String returns the string representation
10019func (s GetMapStyleDescriptorOutput) String() string {
10020	return awsutil.Prettify(s)
10021}
10022
10023// GoString returns the string representation
10024func (s GetMapStyleDescriptorOutput) GoString() string {
10025	return s.String()
10026}
10027
10028// SetBlob sets the Blob field's value.
10029func (s *GetMapStyleDescriptorOutput) SetBlob(v []byte) *GetMapStyleDescriptorOutput {
10030	s.Blob = v
10031	return s
10032}
10033
10034// SetContentType sets the ContentType field's value.
10035func (s *GetMapStyleDescriptorOutput) SetContentType(v string) *GetMapStyleDescriptorOutput {
10036	s.ContentType = &v
10037	return s
10038}
10039
10040type GetMapTileInput struct {
10041	_ struct{} `type:"structure"`
10042
10043	// The map resource to retrieve the map tiles from.
10044	//
10045	// MapName is a required field
10046	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
10047
10048	// The X axis value for the map tile.
10049	//
10050	// X is a required field
10051	X *string `location:"uri" locationName:"X" type:"string" required:"true"`
10052
10053	// The Y axis value for the map tile.
10054	//
10055	// Y is a required field
10056	Y *string `location:"uri" locationName:"Y" type:"string" required:"true"`
10057
10058	// The zoom value for the map tile.
10059	//
10060	// Z is a required field
10061	Z *string `location:"uri" locationName:"Z" type:"string" required:"true"`
10062}
10063
10064// String returns the string representation
10065func (s GetMapTileInput) String() string {
10066	return awsutil.Prettify(s)
10067}
10068
10069// GoString returns the string representation
10070func (s GetMapTileInput) GoString() string {
10071	return s.String()
10072}
10073
10074// Validate inspects the fields of the type to determine if they are valid.
10075func (s *GetMapTileInput) Validate() error {
10076	invalidParams := request.ErrInvalidParams{Context: "GetMapTileInput"}
10077	if s.MapName == nil {
10078		invalidParams.Add(request.NewErrParamRequired("MapName"))
10079	}
10080	if s.MapName != nil && len(*s.MapName) < 1 {
10081		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
10082	}
10083	if s.X == nil {
10084		invalidParams.Add(request.NewErrParamRequired("X"))
10085	}
10086	if s.X != nil && len(*s.X) < 1 {
10087		invalidParams.Add(request.NewErrParamMinLen("X", 1))
10088	}
10089	if s.Y == nil {
10090		invalidParams.Add(request.NewErrParamRequired("Y"))
10091	}
10092	if s.Y != nil && len(*s.Y) < 1 {
10093		invalidParams.Add(request.NewErrParamMinLen("Y", 1))
10094	}
10095	if s.Z == nil {
10096		invalidParams.Add(request.NewErrParamRequired("Z"))
10097	}
10098	if s.Z != nil && len(*s.Z) < 1 {
10099		invalidParams.Add(request.NewErrParamMinLen("Z", 1))
10100	}
10101
10102	if invalidParams.Len() > 0 {
10103		return invalidParams
10104	}
10105	return nil
10106}
10107
10108// SetMapName sets the MapName field's value.
10109func (s *GetMapTileInput) SetMapName(v string) *GetMapTileInput {
10110	s.MapName = &v
10111	return s
10112}
10113
10114// SetX sets the X field's value.
10115func (s *GetMapTileInput) SetX(v string) *GetMapTileInput {
10116	s.X = &v
10117	return s
10118}
10119
10120// SetY sets the Y field's value.
10121func (s *GetMapTileInput) SetY(v string) *GetMapTileInput {
10122	s.Y = &v
10123	return s
10124}
10125
10126// SetZ sets the Z field's value.
10127func (s *GetMapTileInput) SetZ(v string) *GetMapTileInput {
10128	s.Z = &v
10129	return s
10130}
10131
10132type GetMapTileOutput struct {
10133	_ struct{} `type:"structure" payload:"Blob"`
10134
10135	// Contains Mapbox Vector Tile (MVT) data.
10136	Blob []byte `type:"blob"`
10137
10138	// The map tile's content type. For example, application/vnd.mapbox-vector-tile.
10139	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
10140}
10141
10142// String returns the string representation
10143func (s GetMapTileOutput) String() string {
10144	return awsutil.Prettify(s)
10145}
10146
10147// GoString returns the string representation
10148func (s GetMapTileOutput) GoString() string {
10149	return s.String()
10150}
10151
10152// SetBlob sets the Blob field's value.
10153func (s *GetMapTileOutput) SetBlob(v []byte) *GetMapTileOutput {
10154	s.Blob = v
10155	return s
10156}
10157
10158// SetContentType sets the ContentType field's value.
10159func (s *GetMapTileOutput) SetContentType(v string) *GetMapTileOutput {
10160	s.ContentType = &v
10161	return s
10162}
10163
10164// The request has failed to process because of an unknown server error, exception,
10165// or failure.
10166type InternalServerException struct {
10167	_            struct{}                  `type:"structure"`
10168	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10169
10170	Message_ *string `locationName:"message" type:"string"`
10171}
10172
10173// String returns the string representation
10174func (s InternalServerException) String() string {
10175	return awsutil.Prettify(s)
10176}
10177
10178// GoString returns the string representation
10179func (s InternalServerException) GoString() string {
10180	return s.String()
10181}
10182
10183func newErrorInternalServerException(v protocol.ResponseMetadata) error {
10184	return &InternalServerException{
10185		RespMetadata: v,
10186	}
10187}
10188
10189// Code returns the exception type name.
10190func (s *InternalServerException) Code() string {
10191	return "InternalServerException"
10192}
10193
10194// Message returns the exception's message.
10195func (s *InternalServerException) Message() string {
10196	if s.Message_ != nil {
10197		return *s.Message_
10198	}
10199	return ""
10200}
10201
10202// OrigErr always returns nil, satisfies awserr.Error interface.
10203func (s *InternalServerException) OrigErr() error {
10204	return nil
10205}
10206
10207func (s *InternalServerException) Error() string {
10208	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10209}
10210
10211// Status code returns the HTTP status code for the request's response error.
10212func (s *InternalServerException) StatusCode() int {
10213	return s.RespMetadata.StatusCode
10214}
10215
10216// RequestID returns the service's response RequestID for request.
10217func (s *InternalServerException) RequestID() string {
10218	return s.RespMetadata.RequestID
10219}
10220
10221// Contains the calculated route's details for each path between a pair of positions.
10222// The number of legs returned corresponds to one fewer than the total number
10223// of positions in the request.
10224//
10225// For example, a route with a departure position and destination position returns
10226// 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):
10227//
10228//    * The StartPosition is the departure position.
10229//
10230//    * The EndPosition is the destination position.
10231//
10232// A route with a waypoint between the departure and destination position returns
10233// two legs with the positions snapped to a nearby road:
10234//
10235//    * Leg 1: The StartPosition is the departure position . The EndPosition
10236//    is the waypoint positon.
10237//
10238//    * Leg 2: The StartPosition is the waypoint position. The EndPosition is
10239//    the destination position.
10240type Leg struct {
10241	_ struct{} `type:"structure"`
10242
10243	// The distance between the leg's StartPosition and EndPosition along a calculated
10244	// route.
10245	//
10246	//    * The default measurement is Kilometers unless the request specifies a
10247	//    DistanceUnit of Miles.
10248	//
10249	// Distance is a required field
10250	Distance *float64 `type:"double" required:"true"`
10251
10252	// The estimated travel time between the leg's StartPosition and EndPosition.
10253	// The travel mode and departure time that you specify in the request determines
10254	// the calculated time.
10255	//
10256	// DurationSeconds is a required field
10257	DurationSeconds *float64 `type:"double" required:"true"`
10258
10259	// The terminating position of the leg. Follows the format [longitude,latitude].
10260	//
10261	// If the EndPosition isn't located on a road, it's snapped to a nearby road
10262	// (https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html#snap-to-nearby-road).
10263	//
10264	// EndPosition is a required field
10265	EndPosition []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
10266
10267	// Contains the calculated route's path as a linestring geometry.
10268	Geometry *LegGeometry `type:"structure"`
10269
10270	// The starting position of the leg. Follows the format [longitude,latitude].
10271	//
10272	// If the StartPosition isn't located on a road, it's snapped to a nearby road
10273	// (https://docs.aws.amazon.com/location/latest/developerguide/calculate-route.html#snap-to-nearby-road).
10274	//
10275	// StartPosition is a required field
10276	StartPosition []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
10277
10278	// Contains a list of steps, which represent subsections of a leg. Each step
10279	// provides instructions for how to move to the next step in the leg such as
10280	// the step's start position, end position, travel distance, travel duration,
10281	// and geometry offset.
10282	//
10283	// Steps is a required field
10284	Steps []*Step `type:"list" required:"true"`
10285}
10286
10287// String returns the string representation
10288func (s Leg) String() string {
10289	return awsutil.Prettify(s)
10290}
10291
10292// GoString returns the string representation
10293func (s Leg) GoString() string {
10294	return s.String()
10295}
10296
10297// SetDistance sets the Distance field's value.
10298func (s *Leg) SetDistance(v float64) *Leg {
10299	s.Distance = &v
10300	return s
10301}
10302
10303// SetDurationSeconds sets the DurationSeconds field's value.
10304func (s *Leg) SetDurationSeconds(v float64) *Leg {
10305	s.DurationSeconds = &v
10306	return s
10307}
10308
10309// SetEndPosition sets the EndPosition field's value.
10310func (s *Leg) SetEndPosition(v []*float64) *Leg {
10311	s.EndPosition = v
10312	return s
10313}
10314
10315// SetGeometry sets the Geometry field's value.
10316func (s *Leg) SetGeometry(v *LegGeometry) *Leg {
10317	s.Geometry = v
10318	return s
10319}
10320
10321// SetStartPosition sets the StartPosition field's value.
10322func (s *Leg) SetStartPosition(v []*float64) *Leg {
10323	s.StartPosition = v
10324	return s
10325}
10326
10327// SetSteps sets the Steps field's value.
10328func (s *Leg) SetSteps(v []*Step) *Leg {
10329	s.Steps = v
10330	return s
10331}
10332
10333// Contains the geometry details for each path between a pair of positions.
10334// Used in plotting a route leg on a map.
10335type LegGeometry struct {
10336	_ struct{} `type:"structure"`
10337
10338	// An ordered list of positions used to plot a route on a map.
10339	//
10340	// The first position is closest to the start position for the leg, and the
10341	// last position is the closest to the end position for the leg.
10342	//
10343	//    * For example, [[-123.117, 49.284],[-123.115, 49.285],[-123.115, 49.285]]
10344	LineString [][]*float64 `min:"2" type:"list"`
10345}
10346
10347// String returns the string representation
10348func (s LegGeometry) String() string {
10349	return awsutil.Prettify(s)
10350}
10351
10352// GoString returns the string representation
10353func (s LegGeometry) GoString() string {
10354	return s.String()
10355}
10356
10357// SetLineString sets the LineString field's value.
10358func (s *LegGeometry) SetLineString(v [][]*float64) *LegGeometry {
10359	s.LineString = v
10360	return s
10361}
10362
10363type ListDevicePositionsInput struct {
10364	_ struct{} `type:"structure"`
10365
10366	// An optional limit for the number of entries returned in a single call.
10367	//
10368	// Default value: 100
10369	MaxResults *int64 `min:"1" type:"integer"`
10370
10371	// The pagination token specifying which page of results to return in the response.
10372	// If no token is provided, the default page is the first page.
10373	//
10374	// Default value: null
10375	NextToken *string `min:"1" type:"string"`
10376
10377	// The tracker resource containing the requested devices.
10378	//
10379	// TrackerName is a required field
10380	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
10381}
10382
10383// String returns the string representation
10384func (s ListDevicePositionsInput) String() string {
10385	return awsutil.Prettify(s)
10386}
10387
10388// GoString returns the string representation
10389func (s ListDevicePositionsInput) GoString() string {
10390	return s.String()
10391}
10392
10393// Validate inspects the fields of the type to determine if they are valid.
10394func (s *ListDevicePositionsInput) Validate() error {
10395	invalidParams := request.ErrInvalidParams{Context: "ListDevicePositionsInput"}
10396	if s.MaxResults != nil && *s.MaxResults < 1 {
10397		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10398	}
10399	if s.NextToken != nil && len(*s.NextToken) < 1 {
10400		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10401	}
10402	if s.TrackerName == nil {
10403		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
10404	}
10405	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
10406		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
10407	}
10408
10409	if invalidParams.Len() > 0 {
10410		return invalidParams
10411	}
10412	return nil
10413}
10414
10415// SetMaxResults sets the MaxResults field's value.
10416func (s *ListDevicePositionsInput) SetMaxResults(v int64) *ListDevicePositionsInput {
10417	s.MaxResults = &v
10418	return s
10419}
10420
10421// SetNextToken sets the NextToken field's value.
10422func (s *ListDevicePositionsInput) SetNextToken(v string) *ListDevicePositionsInput {
10423	s.NextToken = &v
10424	return s
10425}
10426
10427// SetTrackerName sets the TrackerName field's value.
10428func (s *ListDevicePositionsInput) SetTrackerName(v string) *ListDevicePositionsInput {
10429	s.TrackerName = &v
10430	return s
10431}
10432
10433type ListDevicePositionsOutput struct {
10434	_ struct{} `type:"structure"`
10435
10436	// Contains details about each device's last known position. These details includes
10437	// the device ID, the time when the position was sampled on the device, the
10438	// time that the service received the update, and the most recent coordinates.
10439	//
10440	// Entries is a required field
10441	Entries []*ListDevicePositionsResponseEntry `type:"list" required:"true"`
10442
10443	// A pagination token indicating there are additional pages available. You can
10444	// use the token in a following request to fetch the next set of results.
10445	NextToken *string `min:"1" type:"string"`
10446}
10447
10448// String returns the string representation
10449func (s ListDevicePositionsOutput) String() string {
10450	return awsutil.Prettify(s)
10451}
10452
10453// GoString returns the string representation
10454func (s ListDevicePositionsOutput) GoString() string {
10455	return s.String()
10456}
10457
10458// SetEntries sets the Entries field's value.
10459func (s *ListDevicePositionsOutput) SetEntries(v []*ListDevicePositionsResponseEntry) *ListDevicePositionsOutput {
10460	s.Entries = v
10461	return s
10462}
10463
10464// SetNextToken sets the NextToken field's value.
10465func (s *ListDevicePositionsOutput) SetNextToken(v string) *ListDevicePositionsOutput {
10466	s.NextToken = &v
10467	return s
10468}
10469
10470// Contains the tracker resource details.
10471type ListDevicePositionsResponseEntry struct {
10472	_ struct{} `type:"structure"`
10473
10474	// The ID of the device for this position.
10475	//
10476	// DeviceId is a required field
10477	DeviceId *string `min:"1" type:"string" required:"true"`
10478
10479	// The last known device position. Empty if no positions currently stored.
10480	//
10481	// Position is a required field
10482	Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
10483
10484	// The timestamp at which the device position was determined. Uses ISO 8601
10485	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
10486	//
10487	// SampleTime is a required field
10488	SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
10489}
10490
10491// String returns the string representation
10492func (s ListDevicePositionsResponseEntry) String() string {
10493	return awsutil.Prettify(s)
10494}
10495
10496// GoString returns the string representation
10497func (s ListDevicePositionsResponseEntry) GoString() string {
10498	return s.String()
10499}
10500
10501// SetDeviceId sets the DeviceId field's value.
10502func (s *ListDevicePositionsResponseEntry) SetDeviceId(v string) *ListDevicePositionsResponseEntry {
10503	s.DeviceId = &v
10504	return s
10505}
10506
10507// SetPosition sets the Position field's value.
10508func (s *ListDevicePositionsResponseEntry) SetPosition(v []*float64) *ListDevicePositionsResponseEntry {
10509	s.Position = v
10510	return s
10511}
10512
10513// SetSampleTime sets the SampleTime field's value.
10514func (s *ListDevicePositionsResponseEntry) SetSampleTime(v time.Time) *ListDevicePositionsResponseEntry {
10515	s.SampleTime = &v
10516	return s
10517}
10518
10519type ListGeofenceCollectionsInput struct {
10520	_ struct{} `type:"structure"`
10521
10522	// An optional limit for the number of resources returned in a single call.
10523	//
10524	// Default value: 100
10525	MaxResults *int64 `min:"1" type:"integer"`
10526
10527	// The pagination token specifying which page of results to return in the response.
10528	// If no token is provided, the default page is the first page.
10529	//
10530	// Default value: null
10531	NextToken *string `min:"1" type:"string"`
10532}
10533
10534// String returns the string representation
10535func (s ListGeofenceCollectionsInput) String() string {
10536	return awsutil.Prettify(s)
10537}
10538
10539// GoString returns the string representation
10540func (s ListGeofenceCollectionsInput) GoString() string {
10541	return s.String()
10542}
10543
10544// Validate inspects the fields of the type to determine if they are valid.
10545func (s *ListGeofenceCollectionsInput) Validate() error {
10546	invalidParams := request.ErrInvalidParams{Context: "ListGeofenceCollectionsInput"}
10547	if s.MaxResults != nil && *s.MaxResults < 1 {
10548		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10549	}
10550	if s.NextToken != nil && len(*s.NextToken) < 1 {
10551		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10552	}
10553
10554	if invalidParams.Len() > 0 {
10555		return invalidParams
10556	}
10557	return nil
10558}
10559
10560// SetMaxResults sets the MaxResults field's value.
10561func (s *ListGeofenceCollectionsInput) SetMaxResults(v int64) *ListGeofenceCollectionsInput {
10562	s.MaxResults = &v
10563	return s
10564}
10565
10566// SetNextToken sets the NextToken field's value.
10567func (s *ListGeofenceCollectionsInput) SetNextToken(v string) *ListGeofenceCollectionsInput {
10568	s.NextToken = &v
10569	return s
10570}
10571
10572type ListGeofenceCollectionsOutput struct {
10573	_ struct{} `type:"structure"`
10574
10575	// Lists the geofence collections that exist in your AWS account.
10576	//
10577	// Entries is a required field
10578	Entries []*ListGeofenceCollectionsResponseEntry `type:"list" required:"true"`
10579
10580	// A pagination token indicating there are additional pages available. You can
10581	// use the token in a following request to fetch the next set of results.
10582	NextToken *string `min:"1" type:"string"`
10583}
10584
10585// String returns the string representation
10586func (s ListGeofenceCollectionsOutput) String() string {
10587	return awsutil.Prettify(s)
10588}
10589
10590// GoString returns the string representation
10591func (s ListGeofenceCollectionsOutput) GoString() string {
10592	return s.String()
10593}
10594
10595// SetEntries sets the Entries field's value.
10596func (s *ListGeofenceCollectionsOutput) SetEntries(v []*ListGeofenceCollectionsResponseEntry) *ListGeofenceCollectionsOutput {
10597	s.Entries = v
10598	return s
10599}
10600
10601// SetNextToken sets the NextToken field's value.
10602func (s *ListGeofenceCollectionsOutput) SetNextToken(v string) *ListGeofenceCollectionsOutput {
10603	s.NextToken = &v
10604	return s
10605}
10606
10607// Contains the geofence collection details.
10608type ListGeofenceCollectionsResponseEntry struct {
10609	_ struct{} `type:"structure"`
10610
10611	// The name of the geofence collection.
10612	//
10613	// CollectionName is a required field
10614	CollectionName *string `min:"1" type:"string" required:"true"`
10615
10616	// The timestamp for when the geofence collection was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
10617	// format: YYYY-MM-DDThh:mm:ss.sssZ
10618	//
10619	// CreateTime is a required field
10620	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
10621
10622	// The description for the geofence collection
10623	//
10624	// Description is a required field
10625	Description *string `type:"string" required:"true"`
10626
10627	// The pricing plan for the specified geofence collection.
10628	//
10629	// For additional details and restrictions on each pricing plan option, see
10630	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
10631	//
10632	// PricingPlan is a required field
10633	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
10634
10635	// The specified data provider for the geofence collection.
10636	PricingPlanDataSource *string `type:"string"`
10637
10638	// Specifies a timestamp for when the resource was last updated in ISO 8601
10639	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ
10640	//
10641	// UpdateTime is a required field
10642	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
10643}
10644
10645// String returns the string representation
10646func (s ListGeofenceCollectionsResponseEntry) String() string {
10647	return awsutil.Prettify(s)
10648}
10649
10650// GoString returns the string representation
10651func (s ListGeofenceCollectionsResponseEntry) GoString() string {
10652	return s.String()
10653}
10654
10655// SetCollectionName sets the CollectionName field's value.
10656func (s *ListGeofenceCollectionsResponseEntry) SetCollectionName(v string) *ListGeofenceCollectionsResponseEntry {
10657	s.CollectionName = &v
10658	return s
10659}
10660
10661// SetCreateTime sets the CreateTime field's value.
10662func (s *ListGeofenceCollectionsResponseEntry) SetCreateTime(v time.Time) *ListGeofenceCollectionsResponseEntry {
10663	s.CreateTime = &v
10664	return s
10665}
10666
10667// SetDescription sets the Description field's value.
10668func (s *ListGeofenceCollectionsResponseEntry) SetDescription(v string) *ListGeofenceCollectionsResponseEntry {
10669	s.Description = &v
10670	return s
10671}
10672
10673// SetPricingPlan sets the PricingPlan field's value.
10674func (s *ListGeofenceCollectionsResponseEntry) SetPricingPlan(v string) *ListGeofenceCollectionsResponseEntry {
10675	s.PricingPlan = &v
10676	return s
10677}
10678
10679// SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
10680func (s *ListGeofenceCollectionsResponseEntry) SetPricingPlanDataSource(v string) *ListGeofenceCollectionsResponseEntry {
10681	s.PricingPlanDataSource = &v
10682	return s
10683}
10684
10685// SetUpdateTime sets the UpdateTime field's value.
10686func (s *ListGeofenceCollectionsResponseEntry) SetUpdateTime(v time.Time) *ListGeofenceCollectionsResponseEntry {
10687	s.UpdateTime = &v
10688	return s
10689}
10690
10691// Contains a list of geofences stored in a given geofence collection.
10692type ListGeofenceResponseEntry struct {
10693	_ struct{} `type:"structure"`
10694
10695	// The timestamp for when the geofence was stored in a geofence collection in
10696	// ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format:
10697	// YYYY-MM-DDThh:mm:ss.sssZ
10698	//
10699	// CreateTime is a required field
10700	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
10701
10702	// The geofence identifier.
10703	//
10704	// GeofenceId is a required field
10705	GeofenceId *string `min:"1" type:"string" required:"true"`
10706
10707	// Contains the geofence geometry details describing a polygon.
10708	//
10709	// Geometry is a required field
10710	Geometry *GeofenceGeometry `type:"structure" required:"true"`
10711
10712	// Identifies the state of the geofence. A geofence will hold one of the following
10713	// states:
10714	//
10715	//    * ACTIVE — The geofence has been indexed by the system.
10716	//
10717	//    * PENDING — The geofence is being processed by the system.
10718	//
10719	//    * FAILED — The geofence failed to be indexed by the system.
10720	//
10721	//    * DELETED — The geofence has been deleted from the system index.
10722	//
10723	//    * DELETING — The geofence is being deleted from the system index.
10724	//
10725	// Status is a required field
10726	Status *string `type:"string" required:"true"`
10727
10728	// The timestamp for when the geofence was last updated in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
10729	// format: YYYY-MM-DDThh:mm:ss.sssZ
10730	//
10731	// UpdateTime is a required field
10732	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
10733}
10734
10735// String returns the string representation
10736func (s ListGeofenceResponseEntry) String() string {
10737	return awsutil.Prettify(s)
10738}
10739
10740// GoString returns the string representation
10741func (s ListGeofenceResponseEntry) GoString() string {
10742	return s.String()
10743}
10744
10745// SetCreateTime sets the CreateTime field's value.
10746func (s *ListGeofenceResponseEntry) SetCreateTime(v time.Time) *ListGeofenceResponseEntry {
10747	s.CreateTime = &v
10748	return s
10749}
10750
10751// SetGeofenceId sets the GeofenceId field's value.
10752func (s *ListGeofenceResponseEntry) SetGeofenceId(v string) *ListGeofenceResponseEntry {
10753	s.GeofenceId = &v
10754	return s
10755}
10756
10757// SetGeometry sets the Geometry field's value.
10758func (s *ListGeofenceResponseEntry) SetGeometry(v *GeofenceGeometry) *ListGeofenceResponseEntry {
10759	s.Geometry = v
10760	return s
10761}
10762
10763// SetStatus sets the Status field's value.
10764func (s *ListGeofenceResponseEntry) SetStatus(v string) *ListGeofenceResponseEntry {
10765	s.Status = &v
10766	return s
10767}
10768
10769// SetUpdateTime sets the UpdateTime field's value.
10770func (s *ListGeofenceResponseEntry) SetUpdateTime(v time.Time) *ListGeofenceResponseEntry {
10771	s.UpdateTime = &v
10772	return s
10773}
10774
10775type ListGeofencesInput struct {
10776	_ struct{} `type:"structure"`
10777
10778	// The name of the geofence collection storing the list of geofences.
10779	//
10780	// CollectionName is a required field
10781	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
10782
10783	// The pagination token specifying which page of results to return in the response.
10784	// If no token is provided, the default page is the first page.
10785	//
10786	// Default value: null
10787	NextToken *string `min:"1" type:"string"`
10788}
10789
10790// String returns the string representation
10791func (s ListGeofencesInput) String() string {
10792	return awsutil.Prettify(s)
10793}
10794
10795// GoString returns the string representation
10796func (s ListGeofencesInput) GoString() string {
10797	return s.String()
10798}
10799
10800// Validate inspects the fields of the type to determine if they are valid.
10801func (s *ListGeofencesInput) Validate() error {
10802	invalidParams := request.ErrInvalidParams{Context: "ListGeofencesInput"}
10803	if s.CollectionName == nil {
10804		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
10805	}
10806	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
10807		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
10808	}
10809	if s.NextToken != nil && len(*s.NextToken) < 1 {
10810		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10811	}
10812
10813	if invalidParams.Len() > 0 {
10814		return invalidParams
10815	}
10816	return nil
10817}
10818
10819// SetCollectionName sets the CollectionName field's value.
10820func (s *ListGeofencesInput) SetCollectionName(v string) *ListGeofencesInput {
10821	s.CollectionName = &v
10822	return s
10823}
10824
10825// SetNextToken sets the NextToken field's value.
10826func (s *ListGeofencesInput) SetNextToken(v string) *ListGeofencesInput {
10827	s.NextToken = &v
10828	return s
10829}
10830
10831type ListGeofencesOutput struct {
10832	_ struct{} `type:"structure"`
10833
10834	// Contains a list of geofences stored in the geofence collection.
10835	//
10836	// Entries is a required field
10837	Entries []*ListGeofenceResponseEntry `type:"list" required:"true"`
10838
10839	// A pagination token indicating there are additional pages available. You can
10840	// use the token in a following request to fetch the next set of results.
10841	NextToken *string `min:"1" type:"string"`
10842}
10843
10844// String returns the string representation
10845func (s ListGeofencesOutput) String() string {
10846	return awsutil.Prettify(s)
10847}
10848
10849// GoString returns the string representation
10850func (s ListGeofencesOutput) GoString() string {
10851	return s.String()
10852}
10853
10854// SetEntries sets the Entries field's value.
10855func (s *ListGeofencesOutput) SetEntries(v []*ListGeofenceResponseEntry) *ListGeofencesOutput {
10856	s.Entries = v
10857	return s
10858}
10859
10860// SetNextToken sets the NextToken field's value.
10861func (s *ListGeofencesOutput) SetNextToken(v string) *ListGeofencesOutput {
10862	s.NextToken = &v
10863	return s
10864}
10865
10866type ListMapsInput struct {
10867	_ struct{} `type:"structure"`
10868
10869	// An optional limit for the number of resources returned in a single call.
10870	//
10871	// Default value: 100
10872	MaxResults *int64 `min:"1" type:"integer"`
10873
10874	// The pagination token specifying which page of results to return in the response.
10875	// If no token is provided, the default page is the first page.
10876	//
10877	// Default value: null
10878	NextToken *string `min:"1" type:"string"`
10879}
10880
10881// String returns the string representation
10882func (s ListMapsInput) String() string {
10883	return awsutil.Prettify(s)
10884}
10885
10886// GoString returns the string representation
10887func (s ListMapsInput) GoString() string {
10888	return s.String()
10889}
10890
10891// Validate inspects the fields of the type to determine if they are valid.
10892func (s *ListMapsInput) Validate() error {
10893	invalidParams := request.ErrInvalidParams{Context: "ListMapsInput"}
10894	if s.MaxResults != nil && *s.MaxResults < 1 {
10895		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10896	}
10897	if s.NextToken != nil && len(*s.NextToken) < 1 {
10898		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10899	}
10900
10901	if invalidParams.Len() > 0 {
10902		return invalidParams
10903	}
10904	return nil
10905}
10906
10907// SetMaxResults sets the MaxResults field's value.
10908func (s *ListMapsInput) SetMaxResults(v int64) *ListMapsInput {
10909	s.MaxResults = &v
10910	return s
10911}
10912
10913// SetNextToken sets the NextToken field's value.
10914func (s *ListMapsInput) SetNextToken(v string) *ListMapsInput {
10915	s.NextToken = &v
10916	return s
10917}
10918
10919type ListMapsOutput struct {
10920	_ struct{} `type:"structure"`
10921
10922	// Contains a list of maps in your AWS account
10923	//
10924	// Entries is a required field
10925	Entries []*ListMapsResponseEntry `type:"list" required:"true"`
10926
10927	// A pagination token indicating there are additional pages available. You can
10928	// use the token in a following request to fetch the next set of results.
10929	NextToken *string `min:"1" type:"string"`
10930}
10931
10932// String returns the string representation
10933func (s ListMapsOutput) String() string {
10934	return awsutil.Prettify(s)
10935}
10936
10937// GoString returns the string representation
10938func (s ListMapsOutput) GoString() string {
10939	return s.String()
10940}
10941
10942// SetEntries sets the Entries field's value.
10943func (s *ListMapsOutput) SetEntries(v []*ListMapsResponseEntry) *ListMapsOutput {
10944	s.Entries = v
10945	return s
10946}
10947
10948// SetNextToken sets the NextToken field's value.
10949func (s *ListMapsOutput) SetNextToken(v string) *ListMapsOutput {
10950	s.NextToken = &v
10951	return s
10952}
10953
10954// Contains details of an existing map resource in your AWS account.
10955type ListMapsResponseEntry struct {
10956	_ struct{} `type:"structure"`
10957
10958	// The timestamp for when the map resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
10959	// format: YYYY-MM-DDThh:mm:ss.sssZ.
10960	//
10961	// CreateTime is a required field
10962	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
10963
10964	// Specifies the data provider for the associated map tiles.
10965	//
10966	// DataSource is a required field
10967	DataSource *string `type:"string" required:"true"`
10968
10969	// The description for the map resource.
10970	//
10971	// Description is a required field
10972	Description *string `type:"string" required:"true"`
10973
10974	// The name of the associated map resource.
10975	//
10976	// MapName is a required field
10977	MapName *string `min:"1" type:"string" required:"true"`
10978
10979	// The pricing plan for the specified map resource.
10980	//
10981	// For additional details and restrictions on each pricing plan option, see
10982	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
10983	//
10984	// PricingPlan is a required field
10985	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
10986
10987	// The timestamp for when the map resource was last updated in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
10988	// format: YYYY-MM-DDThh:mm:ss.sssZ.
10989	//
10990	// UpdateTime is a required field
10991	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
10992}
10993
10994// String returns the string representation
10995func (s ListMapsResponseEntry) String() string {
10996	return awsutil.Prettify(s)
10997}
10998
10999// GoString returns the string representation
11000func (s ListMapsResponseEntry) GoString() string {
11001	return s.String()
11002}
11003
11004// SetCreateTime sets the CreateTime field's value.
11005func (s *ListMapsResponseEntry) SetCreateTime(v time.Time) *ListMapsResponseEntry {
11006	s.CreateTime = &v
11007	return s
11008}
11009
11010// SetDataSource sets the DataSource field's value.
11011func (s *ListMapsResponseEntry) SetDataSource(v string) *ListMapsResponseEntry {
11012	s.DataSource = &v
11013	return s
11014}
11015
11016// SetDescription sets the Description field's value.
11017func (s *ListMapsResponseEntry) SetDescription(v string) *ListMapsResponseEntry {
11018	s.Description = &v
11019	return s
11020}
11021
11022// SetMapName sets the MapName field's value.
11023func (s *ListMapsResponseEntry) SetMapName(v string) *ListMapsResponseEntry {
11024	s.MapName = &v
11025	return s
11026}
11027
11028// SetPricingPlan sets the PricingPlan field's value.
11029func (s *ListMapsResponseEntry) SetPricingPlan(v string) *ListMapsResponseEntry {
11030	s.PricingPlan = &v
11031	return s
11032}
11033
11034// SetUpdateTime sets the UpdateTime field's value.
11035func (s *ListMapsResponseEntry) SetUpdateTime(v time.Time) *ListMapsResponseEntry {
11036	s.UpdateTime = &v
11037	return s
11038}
11039
11040type ListPlaceIndexesInput struct {
11041	_ struct{} `type:"structure"`
11042
11043	// An optional limit for the maximum number of results returned in a single
11044	// call.
11045	//
11046	// Default value: 100
11047	MaxResults *int64 `min:"1" type:"integer"`
11048
11049	// The pagination token specifying which page of results to return in the response.
11050	// If no token is provided, the default page is the first page.
11051	//
11052	// Default value: null
11053	NextToken *string `min:"1" type:"string"`
11054}
11055
11056// String returns the string representation
11057func (s ListPlaceIndexesInput) String() string {
11058	return awsutil.Prettify(s)
11059}
11060
11061// GoString returns the string representation
11062func (s ListPlaceIndexesInput) GoString() string {
11063	return s.String()
11064}
11065
11066// Validate inspects the fields of the type to determine if they are valid.
11067func (s *ListPlaceIndexesInput) Validate() error {
11068	invalidParams := request.ErrInvalidParams{Context: "ListPlaceIndexesInput"}
11069	if s.MaxResults != nil && *s.MaxResults < 1 {
11070		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11071	}
11072	if s.NextToken != nil && len(*s.NextToken) < 1 {
11073		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11074	}
11075
11076	if invalidParams.Len() > 0 {
11077		return invalidParams
11078	}
11079	return nil
11080}
11081
11082// SetMaxResults sets the MaxResults field's value.
11083func (s *ListPlaceIndexesInput) SetMaxResults(v int64) *ListPlaceIndexesInput {
11084	s.MaxResults = &v
11085	return s
11086}
11087
11088// SetNextToken sets the NextToken field's value.
11089func (s *ListPlaceIndexesInput) SetNextToken(v string) *ListPlaceIndexesInput {
11090	s.NextToken = &v
11091	return s
11092}
11093
11094type ListPlaceIndexesOutput struct {
11095	_ struct{} `type:"structure"`
11096
11097	// Lists the place index resources that exist in your AWS account
11098	//
11099	// Entries is a required field
11100	Entries []*ListPlaceIndexesResponseEntry `type:"list" required:"true"`
11101
11102	// A pagination token indicating there are additional pages available. You can
11103	// use the token in a following request to fetch the next set of results.
11104	NextToken *string `min:"1" type:"string"`
11105}
11106
11107// String returns the string representation
11108func (s ListPlaceIndexesOutput) String() string {
11109	return awsutil.Prettify(s)
11110}
11111
11112// GoString returns the string representation
11113func (s ListPlaceIndexesOutput) GoString() string {
11114	return s.String()
11115}
11116
11117// SetEntries sets the Entries field's value.
11118func (s *ListPlaceIndexesOutput) SetEntries(v []*ListPlaceIndexesResponseEntry) *ListPlaceIndexesOutput {
11119	s.Entries = v
11120	return s
11121}
11122
11123// SetNextToken sets the NextToken field's value.
11124func (s *ListPlaceIndexesOutput) SetNextToken(v string) *ListPlaceIndexesOutput {
11125	s.NextToken = &v
11126	return s
11127}
11128
11129// A place index resource listed in your AWS account.
11130type ListPlaceIndexesResponseEntry struct {
11131	_ struct{} `type:"structure"`
11132
11133	// The timestamp for when the place index resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
11134	// format: YYYY-MM-DDThh:mm:ss.sssZ.
11135	//
11136	// CreateTime is a required field
11137	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
11138
11139	// The data provider of geospatial data. Indicates one of the available providers:
11140	//
11141	//    * Esri
11142	//
11143	//    * Here
11144	//
11145	// For additional details on data providers, see the Amazon Location Service
11146	// data providers page (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
11147	//
11148	// DataSource is a required field
11149	DataSource *string `type:"string" required:"true"`
11150
11151	// The optional description for the place index resource.
11152	//
11153	// Description is a required field
11154	Description *string `type:"string" required:"true"`
11155
11156	// The name of the place index resource.
11157	//
11158	// IndexName is a required field
11159	IndexName *string `min:"1" type:"string" required:"true"`
11160
11161	// The pricing plan for the specified place index resource.
11162	//
11163	// For additional details and restrictions on each pricing plan option, see
11164	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
11165	//
11166	// PricingPlan is a required field
11167	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
11168
11169	// The timestamp for when the place index resource was last updated in ISO 8601
11170	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
11171	//
11172	// UpdateTime is a required field
11173	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
11174}
11175
11176// String returns the string representation
11177func (s ListPlaceIndexesResponseEntry) String() string {
11178	return awsutil.Prettify(s)
11179}
11180
11181// GoString returns the string representation
11182func (s ListPlaceIndexesResponseEntry) GoString() string {
11183	return s.String()
11184}
11185
11186// SetCreateTime sets the CreateTime field's value.
11187func (s *ListPlaceIndexesResponseEntry) SetCreateTime(v time.Time) *ListPlaceIndexesResponseEntry {
11188	s.CreateTime = &v
11189	return s
11190}
11191
11192// SetDataSource sets the DataSource field's value.
11193func (s *ListPlaceIndexesResponseEntry) SetDataSource(v string) *ListPlaceIndexesResponseEntry {
11194	s.DataSource = &v
11195	return s
11196}
11197
11198// SetDescription sets the Description field's value.
11199func (s *ListPlaceIndexesResponseEntry) SetDescription(v string) *ListPlaceIndexesResponseEntry {
11200	s.Description = &v
11201	return s
11202}
11203
11204// SetIndexName sets the IndexName field's value.
11205func (s *ListPlaceIndexesResponseEntry) SetIndexName(v string) *ListPlaceIndexesResponseEntry {
11206	s.IndexName = &v
11207	return s
11208}
11209
11210// SetPricingPlan sets the PricingPlan field's value.
11211func (s *ListPlaceIndexesResponseEntry) SetPricingPlan(v string) *ListPlaceIndexesResponseEntry {
11212	s.PricingPlan = &v
11213	return s
11214}
11215
11216// SetUpdateTime sets the UpdateTime field's value.
11217func (s *ListPlaceIndexesResponseEntry) SetUpdateTime(v time.Time) *ListPlaceIndexesResponseEntry {
11218	s.UpdateTime = &v
11219	return s
11220}
11221
11222type ListRouteCalculatorsInput struct {
11223	_ struct{} `type:"structure"`
11224
11225	// An optional maximum number of results returned in a single call.
11226	//
11227	// Default Value: 100
11228	MaxResults *int64 `min:"1" type:"integer"`
11229
11230	// The pagination token specifying which page of results to return in the response.
11231	// If no token is provided, the default page is the first page.
11232	//
11233	// Default Value: null
11234	NextToken *string `min:"1" type:"string"`
11235}
11236
11237// String returns the string representation
11238func (s ListRouteCalculatorsInput) String() string {
11239	return awsutil.Prettify(s)
11240}
11241
11242// GoString returns the string representation
11243func (s ListRouteCalculatorsInput) GoString() string {
11244	return s.String()
11245}
11246
11247// Validate inspects the fields of the type to determine if they are valid.
11248func (s *ListRouteCalculatorsInput) Validate() error {
11249	invalidParams := request.ErrInvalidParams{Context: "ListRouteCalculatorsInput"}
11250	if s.MaxResults != nil && *s.MaxResults < 1 {
11251		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11252	}
11253	if s.NextToken != nil && len(*s.NextToken) < 1 {
11254		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11255	}
11256
11257	if invalidParams.Len() > 0 {
11258		return invalidParams
11259	}
11260	return nil
11261}
11262
11263// SetMaxResults sets the MaxResults field's value.
11264func (s *ListRouteCalculatorsInput) SetMaxResults(v int64) *ListRouteCalculatorsInput {
11265	s.MaxResults = &v
11266	return s
11267}
11268
11269// SetNextToken sets the NextToken field's value.
11270func (s *ListRouteCalculatorsInput) SetNextToken(v string) *ListRouteCalculatorsInput {
11271	s.NextToken = &v
11272	return s
11273}
11274
11275type ListRouteCalculatorsOutput struct {
11276	_ struct{} `type:"structure"`
11277
11278	// Lists the route calculator resources that exist in your AWS account
11279	//
11280	// Entries is a required field
11281	Entries []*ListRouteCalculatorsResponseEntry `type:"list" required:"true"`
11282
11283	// A pagination token indicating there are additional pages available. You can
11284	// use the token in a subsequent request to fetch the next set of results.
11285	NextToken *string `min:"1" type:"string"`
11286}
11287
11288// String returns the string representation
11289func (s ListRouteCalculatorsOutput) String() string {
11290	return awsutil.Prettify(s)
11291}
11292
11293// GoString returns the string representation
11294func (s ListRouteCalculatorsOutput) GoString() string {
11295	return s.String()
11296}
11297
11298// SetEntries sets the Entries field's value.
11299func (s *ListRouteCalculatorsOutput) SetEntries(v []*ListRouteCalculatorsResponseEntry) *ListRouteCalculatorsOutput {
11300	s.Entries = v
11301	return s
11302}
11303
11304// SetNextToken sets the NextToken field's value.
11305func (s *ListRouteCalculatorsOutput) SetNextToken(v string) *ListRouteCalculatorsOutput {
11306	s.NextToken = &v
11307	return s
11308}
11309
11310// A route calculator resource listed in your AWS account.
11311type ListRouteCalculatorsResponseEntry struct {
11312	_ struct{} `type:"structure"`
11313
11314	// The name of the route calculator resource.
11315	//
11316	// CalculatorName is a required field
11317	CalculatorName *string `min:"1" type:"string" required:"true"`
11318
11319	// The timestamp when the route calculator resource was created in ISO 8601
11320	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
11321	//
11322	//    * For example, 2020–07-2T12:15:20.000Z+01:00
11323	//
11324	// CreateTime is a required field
11325	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
11326
11327	// The data provider of traffic and road network data. Indicates one of the
11328	// available providers:
11329	//
11330	//    * Esri
11331	//
11332	//    * Here
11333	//
11334	// For more information about data providers, see Amazon Location Service data
11335	// providers (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
11336	//
11337	// DataSource is a required field
11338	DataSource *string `type:"string" required:"true"`
11339
11340	// The optional description of the route calculator resource.
11341	//
11342	// Description is a required field
11343	Description *string `type:"string" required:"true"`
11344
11345	// The pricing plan for the specified route calculator resource.
11346	//
11347	// For additional details and restrictions on each pricing plan option, see
11348	// Amazon Location Service pricing (https://aws.amazon.com/location/pricing/).
11349	//
11350	// PricingPlan is a required field
11351	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
11352
11353	// The timestamp when the route calculator resource was last updated in ISO
11354	// 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
11355	//
11356	//    * For example, 2020–07-2T12:15:20.000Z+01:00
11357	//
11358	// UpdateTime is a required field
11359	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
11360}
11361
11362// String returns the string representation
11363func (s ListRouteCalculatorsResponseEntry) String() string {
11364	return awsutil.Prettify(s)
11365}
11366
11367// GoString returns the string representation
11368func (s ListRouteCalculatorsResponseEntry) GoString() string {
11369	return s.String()
11370}
11371
11372// SetCalculatorName sets the CalculatorName field's value.
11373func (s *ListRouteCalculatorsResponseEntry) SetCalculatorName(v string) *ListRouteCalculatorsResponseEntry {
11374	s.CalculatorName = &v
11375	return s
11376}
11377
11378// SetCreateTime sets the CreateTime field's value.
11379func (s *ListRouteCalculatorsResponseEntry) SetCreateTime(v time.Time) *ListRouteCalculatorsResponseEntry {
11380	s.CreateTime = &v
11381	return s
11382}
11383
11384// SetDataSource sets the DataSource field's value.
11385func (s *ListRouteCalculatorsResponseEntry) SetDataSource(v string) *ListRouteCalculatorsResponseEntry {
11386	s.DataSource = &v
11387	return s
11388}
11389
11390// SetDescription sets the Description field's value.
11391func (s *ListRouteCalculatorsResponseEntry) SetDescription(v string) *ListRouteCalculatorsResponseEntry {
11392	s.Description = &v
11393	return s
11394}
11395
11396// SetPricingPlan sets the PricingPlan field's value.
11397func (s *ListRouteCalculatorsResponseEntry) SetPricingPlan(v string) *ListRouteCalculatorsResponseEntry {
11398	s.PricingPlan = &v
11399	return s
11400}
11401
11402// SetUpdateTime sets the UpdateTime field's value.
11403func (s *ListRouteCalculatorsResponseEntry) SetUpdateTime(v time.Time) *ListRouteCalculatorsResponseEntry {
11404	s.UpdateTime = &v
11405	return s
11406}
11407
11408type ListTagsForResourceInput struct {
11409	_ struct{} `type:"structure"`
11410
11411	// The Amazon Resource Name (ARN) of the resource whose tags you want to retrieve.
11412	//
11413	//    * Format example: arn:aws:geo:region:account-id:resourcetype/ExampleResource
11414	//
11415	// ResourceArn is a required field
11416	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
11417}
11418
11419// String returns the string representation
11420func (s ListTagsForResourceInput) String() string {
11421	return awsutil.Prettify(s)
11422}
11423
11424// GoString returns the string representation
11425func (s ListTagsForResourceInput) GoString() string {
11426	return s.String()
11427}
11428
11429// Validate inspects the fields of the type to determine if they are valid.
11430func (s *ListTagsForResourceInput) Validate() error {
11431	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
11432	if s.ResourceArn == nil {
11433		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
11434	}
11435	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
11436		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
11437	}
11438
11439	if invalidParams.Len() > 0 {
11440		return invalidParams
11441	}
11442	return nil
11443}
11444
11445// SetResourceArn sets the ResourceArn field's value.
11446func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
11447	s.ResourceArn = &v
11448	return s
11449}
11450
11451type ListTagsForResourceOutput struct {
11452	_ struct{} `type:"structure"`
11453
11454	// Tags that have been applied to the specified resource. Tags are mapped from
11455	// the tag key to the tag value: "TagKey" : "TagValue".
11456	//
11457	//    * Format example: {"tag1" : "value1", "tag2" : "value2"}
11458	Tags map[string]*string `type:"map"`
11459}
11460
11461// String returns the string representation
11462func (s ListTagsForResourceOutput) String() string {
11463	return awsutil.Prettify(s)
11464}
11465
11466// GoString returns the string representation
11467func (s ListTagsForResourceOutput) GoString() string {
11468	return s.String()
11469}
11470
11471// SetTags sets the Tags field's value.
11472func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
11473	s.Tags = v
11474	return s
11475}
11476
11477type ListTrackerConsumersInput struct {
11478	_ struct{} `type:"structure"`
11479
11480	// An optional limit for the number of resources returned in a single call.
11481	//
11482	// Default value: 100
11483	MaxResults *int64 `min:"1" type:"integer"`
11484
11485	// The pagination token specifying which page of results to return in the response.
11486	// If no token is provided, the default page is the first page.
11487	//
11488	// Default value: null
11489	NextToken *string `min:"1" type:"string"`
11490
11491	// The tracker resource whose associated geofence collections you want to list.
11492	//
11493	// TrackerName is a required field
11494	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
11495}
11496
11497// String returns the string representation
11498func (s ListTrackerConsumersInput) String() string {
11499	return awsutil.Prettify(s)
11500}
11501
11502// GoString returns the string representation
11503func (s ListTrackerConsumersInput) GoString() string {
11504	return s.String()
11505}
11506
11507// Validate inspects the fields of the type to determine if they are valid.
11508func (s *ListTrackerConsumersInput) Validate() error {
11509	invalidParams := request.ErrInvalidParams{Context: "ListTrackerConsumersInput"}
11510	if s.MaxResults != nil && *s.MaxResults < 1 {
11511		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11512	}
11513	if s.NextToken != nil && len(*s.NextToken) < 1 {
11514		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11515	}
11516	if s.TrackerName == nil {
11517		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
11518	}
11519	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
11520		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
11521	}
11522
11523	if invalidParams.Len() > 0 {
11524		return invalidParams
11525	}
11526	return nil
11527}
11528
11529// SetMaxResults sets the MaxResults field's value.
11530func (s *ListTrackerConsumersInput) SetMaxResults(v int64) *ListTrackerConsumersInput {
11531	s.MaxResults = &v
11532	return s
11533}
11534
11535// SetNextToken sets the NextToken field's value.
11536func (s *ListTrackerConsumersInput) SetNextToken(v string) *ListTrackerConsumersInput {
11537	s.NextToken = &v
11538	return s
11539}
11540
11541// SetTrackerName sets the TrackerName field's value.
11542func (s *ListTrackerConsumersInput) SetTrackerName(v string) *ListTrackerConsumersInput {
11543	s.TrackerName = &v
11544	return s
11545}
11546
11547type ListTrackerConsumersOutput struct {
11548	_ struct{} `type:"structure"`
11549
11550	// Contains the list of geofence collection ARNs associated to the tracker resource.
11551	//
11552	// ConsumerArns is a required field
11553	ConsumerArns []*string `type:"list" required:"true"`
11554
11555	// A pagination token indicating there are additional pages available. You can
11556	// use the token in a following request to fetch the next set of results.
11557	NextToken *string `min:"1" type:"string"`
11558}
11559
11560// String returns the string representation
11561func (s ListTrackerConsumersOutput) String() string {
11562	return awsutil.Prettify(s)
11563}
11564
11565// GoString returns the string representation
11566func (s ListTrackerConsumersOutput) GoString() string {
11567	return s.String()
11568}
11569
11570// SetConsumerArns sets the ConsumerArns field's value.
11571func (s *ListTrackerConsumersOutput) SetConsumerArns(v []*string) *ListTrackerConsumersOutput {
11572	s.ConsumerArns = v
11573	return s
11574}
11575
11576// SetNextToken sets the NextToken field's value.
11577func (s *ListTrackerConsumersOutput) SetNextToken(v string) *ListTrackerConsumersOutput {
11578	s.NextToken = &v
11579	return s
11580}
11581
11582type ListTrackersInput struct {
11583	_ struct{} `type:"structure"`
11584
11585	// An optional limit for the number of resources returned in a single call.
11586	//
11587	// Default value: 100
11588	MaxResults *int64 `min:"1" type:"integer"`
11589
11590	// The pagination token specifying which page of results to return in the response.
11591	// If no token is provided, the default page is the first page.
11592	//
11593	// Default value: null
11594	NextToken *string `min:"1" type:"string"`
11595}
11596
11597// String returns the string representation
11598func (s ListTrackersInput) String() string {
11599	return awsutil.Prettify(s)
11600}
11601
11602// GoString returns the string representation
11603func (s ListTrackersInput) GoString() string {
11604	return s.String()
11605}
11606
11607// Validate inspects the fields of the type to determine if they are valid.
11608func (s *ListTrackersInput) Validate() error {
11609	invalidParams := request.ErrInvalidParams{Context: "ListTrackersInput"}
11610	if s.MaxResults != nil && *s.MaxResults < 1 {
11611		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11612	}
11613	if s.NextToken != nil && len(*s.NextToken) < 1 {
11614		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11615	}
11616
11617	if invalidParams.Len() > 0 {
11618		return invalidParams
11619	}
11620	return nil
11621}
11622
11623// SetMaxResults sets the MaxResults field's value.
11624func (s *ListTrackersInput) SetMaxResults(v int64) *ListTrackersInput {
11625	s.MaxResults = &v
11626	return s
11627}
11628
11629// SetNextToken sets the NextToken field's value.
11630func (s *ListTrackersInput) SetNextToken(v string) *ListTrackersInput {
11631	s.NextToken = &v
11632	return s
11633}
11634
11635type ListTrackersOutput struct {
11636	_ struct{} `type:"structure"`
11637
11638	// Contains tracker resources in your AWS account. Details include tracker name,
11639	// description and timestamps for when the tracker was created and last updated.
11640	//
11641	// Entries is a required field
11642	Entries []*ListTrackersResponseEntry `type:"list" required:"true"`
11643
11644	// A pagination token indicating there are additional pages available. You can
11645	// use the token in a following request to fetch the next set of results.
11646	NextToken *string `min:"1" type:"string"`
11647}
11648
11649// String returns the string representation
11650func (s ListTrackersOutput) String() string {
11651	return awsutil.Prettify(s)
11652}
11653
11654// GoString returns the string representation
11655func (s ListTrackersOutput) GoString() string {
11656	return s.String()
11657}
11658
11659// SetEntries sets the Entries field's value.
11660func (s *ListTrackersOutput) SetEntries(v []*ListTrackersResponseEntry) *ListTrackersOutput {
11661	s.Entries = v
11662	return s
11663}
11664
11665// SetNextToken sets the NextToken field's value.
11666func (s *ListTrackersOutput) SetNextToken(v string) *ListTrackersOutput {
11667	s.NextToken = &v
11668	return s
11669}
11670
11671// Contains the tracker resource details.
11672type ListTrackersResponseEntry struct {
11673	_ struct{} `type:"structure"`
11674
11675	// The timestamp for when the tracker resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
11676	// format: YYYY-MM-DDThh:mm:ss.sssZ.
11677	//
11678	// CreateTime is a required field
11679	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
11680
11681	// The description for the tracker resource.
11682	//
11683	// Description is a required field
11684	Description *string `type:"string" required:"true"`
11685
11686	// The pricing plan for the specified tracker resource.
11687	//
11688	// For additional details and restrictions on each pricing plan option, see
11689	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
11690	//
11691	// PricingPlan is a required field
11692	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
11693
11694	// The specified data provider for the tracker resource.
11695	PricingPlanDataSource *string `type:"string"`
11696
11697	// The name of the tracker resource.
11698	//
11699	// TrackerName is a required field
11700	TrackerName *string `min:"1" type:"string" required:"true"`
11701
11702	// The timestamp at which the device's position was determined. Uses ISO 8601
11703	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
11704	//
11705	// UpdateTime is a required field
11706	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
11707}
11708
11709// String returns the string representation
11710func (s ListTrackersResponseEntry) String() string {
11711	return awsutil.Prettify(s)
11712}
11713
11714// GoString returns the string representation
11715func (s ListTrackersResponseEntry) GoString() string {
11716	return s.String()
11717}
11718
11719// SetCreateTime sets the CreateTime field's value.
11720func (s *ListTrackersResponseEntry) SetCreateTime(v time.Time) *ListTrackersResponseEntry {
11721	s.CreateTime = &v
11722	return s
11723}
11724
11725// SetDescription sets the Description field's value.
11726func (s *ListTrackersResponseEntry) SetDescription(v string) *ListTrackersResponseEntry {
11727	s.Description = &v
11728	return s
11729}
11730
11731// SetPricingPlan sets the PricingPlan field's value.
11732func (s *ListTrackersResponseEntry) SetPricingPlan(v string) *ListTrackersResponseEntry {
11733	s.PricingPlan = &v
11734	return s
11735}
11736
11737// SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
11738func (s *ListTrackersResponseEntry) SetPricingPlanDataSource(v string) *ListTrackersResponseEntry {
11739	s.PricingPlanDataSource = &v
11740	return s
11741}
11742
11743// SetTrackerName sets the TrackerName field's value.
11744func (s *ListTrackersResponseEntry) SetTrackerName(v string) *ListTrackersResponseEntry {
11745	s.TrackerName = &v
11746	return s
11747}
11748
11749// SetUpdateTime sets the UpdateTime field's value.
11750func (s *ListTrackersResponseEntry) SetUpdateTime(v time.Time) *ListTrackersResponseEntry {
11751	s.UpdateTime = &v
11752	return s
11753}
11754
11755// Specifies the map tile style selected from an available provider.
11756type MapConfiguration struct {
11757	_ struct{} `type:"structure"`
11758
11759	// Specifies the map style selected from an available data provider. For additional
11760	// information on each map style and to preview each map style, see Esri map
11761	// styles (location/latest/developerguide/esri.html#esri-map-styles) and HERE
11762	// map styles (location/latest/developerguide/HERE.html#HERE-map-styles).
11763	//
11764	// Valid Esri (https://docs.aws.amazon.com/location/latest/developerguide/esri.html)
11765	// styles:
11766	//
11767	//    * VectorEsriDarkGrayCanvas – The Esri Dark Gray Canvas map style. A
11768	//    vector basemap with a dark gray, neutral background with minimal colors,
11769	//    labels, and features that's designed to draw attention to your thematic
11770	//    content.
11771	//
11772	//    * RasterEsriImagery – The Esri Imagery map style. A raster basemap that
11773	//    provides one meter or better satellite and aerial imagery in many parts
11774	//    of the world and lower resolution satellite imagery worldwide.
11775	//
11776	//    * VectorEsriLightGrayCanvas – The Esri Light Gray Canvas map style,
11777	//    which provides a detailed vector basemap with a light gray, neutral background
11778	//    style with minimal colors, labels, and features that's designed to draw
11779	//    attention to your thematic content.
11780	//
11781	//    * VectorEsriTopographic – The Esri Light map style, which provides a
11782	//    detailed vector basemap with a classic Esri map style.
11783	//
11784	//    * VectorEsriStreets – The Esri World Streets map style, which provides
11785	//    a detailed vector basemap for the world symbolized with a classic Esri
11786	//    street map style. The vector tile layer is similar in content and style
11787	//    to the World Street Map raster map.
11788	//
11789	//    * VectorEsriNavigation – The Esri World Navigation map style, which
11790	//    provides a detailed basemap for the world symbolized with a custom navigation
11791	//    map style that's designed for use during the day in mobile devices.
11792	//
11793	// Valid HERE Technologies (https://docs.aws.amazon.com/location/latest/developerguide/HERE.html)
11794	// styles:
11795	//
11796	//    * VectorHereBerlin – The HERE Berlin map style is a high contrast detailed
11797	//    base map of the world that blends 3D and 2D rendering. When using HERE
11798	//    as your data provider, and selecting the Style VectorHereBerlin, you may
11799	//    not use HERE Technologies maps for Asset Management. See the AWS Service
11800	//    Terms (https://aws.amazon.com/service-terms/) for Amazon Location Service.
11801	//
11802	// Style is a required field
11803	Style *string `min:"1" type:"string" required:"true"`
11804}
11805
11806// String returns the string representation
11807func (s MapConfiguration) String() string {
11808	return awsutil.Prettify(s)
11809}
11810
11811// GoString returns the string representation
11812func (s MapConfiguration) GoString() string {
11813	return s.String()
11814}
11815
11816// Validate inspects the fields of the type to determine if they are valid.
11817func (s *MapConfiguration) Validate() error {
11818	invalidParams := request.ErrInvalidParams{Context: "MapConfiguration"}
11819	if s.Style == nil {
11820		invalidParams.Add(request.NewErrParamRequired("Style"))
11821	}
11822	if s.Style != nil && len(*s.Style) < 1 {
11823		invalidParams.Add(request.NewErrParamMinLen("Style", 1))
11824	}
11825
11826	if invalidParams.Len() > 0 {
11827		return invalidParams
11828	}
11829	return nil
11830}
11831
11832// SetStyle sets the Style field's value.
11833func (s *MapConfiguration) SetStyle(v string) *MapConfiguration {
11834	s.Style = &v
11835	return s
11836}
11837
11838// Contains details about addresses or points of interest that match the search
11839// criteria.
11840type Place struct {
11841	_ struct{} `type:"structure"`
11842
11843	// The numerical portion of an address, such as a building number.
11844	AddressNumber *string `type:"string"`
11845
11846	// A country/region specified using ISO 3166 (https://www.iso.org/iso-3166-country-codes.html)
11847	// 3-digit country/region code. For example, CAN.
11848	Country *string `type:"string"`
11849
11850	// Places uses a point geometry to specify a location or a Place.
11851	//
11852	// Geometry is a required field
11853	Geometry *PlaceGeometry `type:"structure" required:"true"`
11854
11855	// The full name and address of the point of interest such as a city, region,
11856	// or country. For example, 123 Any Street, Any Town, USA.
11857	Label *string `type:"string"`
11858
11859	// A name for a local area, such as a city or town name. For example, Toronto.
11860	Municipality *string `type:"string"`
11861
11862	// The name of a community district. For example, Downtown.
11863	Neighborhood *string `type:"string"`
11864
11865	// A group of numbers and letters in a country-specific format, which accompanies
11866	// the address for the purpose of identifying a location.
11867	PostalCode *string `type:"string"`
11868
11869	// A name for an area or geographical division, such as a province or state
11870	// name. For example, British Columbia.
11871	Region *string `type:"string"`
11872
11873	// The name for a street or a road to identify a location. For example, Main
11874	// Street.
11875	Street *string `type:"string"`
11876
11877	// A country, or an area that's part of a larger region . For example, Metro
11878	// Vancouver.
11879	SubRegion *string `type:"string"`
11880}
11881
11882// String returns the string representation
11883func (s Place) String() string {
11884	return awsutil.Prettify(s)
11885}
11886
11887// GoString returns the string representation
11888func (s Place) GoString() string {
11889	return s.String()
11890}
11891
11892// SetAddressNumber sets the AddressNumber field's value.
11893func (s *Place) SetAddressNumber(v string) *Place {
11894	s.AddressNumber = &v
11895	return s
11896}
11897
11898// SetCountry sets the Country field's value.
11899func (s *Place) SetCountry(v string) *Place {
11900	s.Country = &v
11901	return s
11902}
11903
11904// SetGeometry sets the Geometry field's value.
11905func (s *Place) SetGeometry(v *PlaceGeometry) *Place {
11906	s.Geometry = v
11907	return s
11908}
11909
11910// SetLabel sets the Label field's value.
11911func (s *Place) SetLabel(v string) *Place {
11912	s.Label = &v
11913	return s
11914}
11915
11916// SetMunicipality sets the Municipality field's value.
11917func (s *Place) SetMunicipality(v string) *Place {
11918	s.Municipality = &v
11919	return s
11920}
11921
11922// SetNeighborhood sets the Neighborhood field's value.
11923func (s *Place) SetNeighborhood(v string) *Place {
11924	s.Neighborhood = &v
11925	return s
11926}
11927
11928// SetPostalCode sets the PostalCode field's value.
11929func (s *Place) SetPostalCode(v string) *Place {
11930	s.PostalCode = &v
11931	return s
11932}
11933
11934// SetRegion sets the Region field's value.
11935func (s *Place) SetRegion(v string) *Place {
11936	s.Region = &v
11937	return s
11938}
11939
11940// SetStreet sets the Street field's value.
11941func (s *Place) SetStreet(v string) *Place {
11942	s.Street = &v
11943	return s
11944}
11945
11946// SetSubRegion sets the SubRegion field's value.
11947func (s *Place) SetSubRegion(v string) *Place {
11948	s.SubRegion = &v
11949	return s
11950}
11951
11952// Places uses a point geometry to specify a location or a Place.
11953type PlaceGeometry struct {
11954	_ struct{} `type:"structure"`
11955
11956	// A single point geometry specifies a location for a Place using WGS 84 (https://gisgeography.com/wgs84-world-geodetic-system/)
11957	// coordinates:
11958	//
11959	//    * x — Specifies the x coordinate or longitude.
11960	//
11961	//    * y — Specifies the y coordinate or latitude.
11962	Point []*float64 `min:"2" type:"list" sensitive:"true"`
11963}
11964
11965// String returns the string representation
11966func (s PlaceGeometry) String() string {
11967	return awsutil.Prettify(s)
11968}
11969
11970// GoString returns the string representation
11971func (s PlaceGeometry) GoString() string {
11972	return s.String()
11973}
11974
11975// SetPoint sets the Point field's value.
11976func (s *PlaceGeometry) SetPoint(v []*float64) *PlaceGeometry {
11977	s.Point = v
11978	return s
11979}
11980
11981type PutGeofenceInput struct {
11982	_ struct{} `type:"structure"`
11983
11984	// The geofence collection to store the geofence in.
11985	//
11986	// CollectionName is a required field
11987	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
11988
11989	// An identifier for the geofence. For example, ExampleGeofence-1.
11990	//
11991	// GeofenceId is a required field
11992	GeofenceId *string `location:"uri" locationName:"GeofenceId" min:"1" type:"string" required:"true"`
11993
11994	// Contains the polygon details to specify the position of the geofence.
11995	//
11996	// Each geofence polygon (https://docs.aws.amazon.com/location-geofences/latest/APIReference/API_GeofenceGeometry.html)
11997	// can have a maximum of 1,000 vertices.
11998	//
11999	// Geometry is a required field
12000	Geometry *GeofenceGeometry `type:"structure" required:"true"`
12001}
12002
12003// String returns the string representation
12004func (s PutGeofenceInput) String() string {
12005	return awsutil.Prettify(s)
12006}
12007
12008// GoString returns the string representation
12009func (s PutGeofenceInput) GoString() string {
12010	return s.String()
12011}
12012
12013// Validate inspects the fields of the type to determine if they are valid.
12014func (s *PutGeofenceInput) Validate() error {
12015	invalidParams := request.ErrInvalidParams{Context: "PutGeofenceInput"}
12016	if s.CollectionName == nil {
12017		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
12018	}
12019	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
12020		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
12021	}
12022	if s.GeofenceId == nil {
12023		invalidParams.Add(request.NewErrParamRequired("GeofenceId"))
12024	}
12025	if s.GeofenceId != nil && len(*s.GeofenceId) < 1 {
12026		invalidParams.Add(request.NewErrParamMinLen("GeofenceId", 1))
12027	}
12028	if s.Geometry == nil {
12029		invalidParams.Add(request.NewErrParamRequired("Geometry"))
12030	}
12031	if s.Geometry != nil {
12032		if err := s.Geometry.Validate(); err != nil {
12033			invalidParams.AddNested("Geometry", err.(request.ErrInvalidParams))
12034		}
12035	}
12036
12037	if invalidParams.Len() > 0 {
12038		return invalidParams
12039	}
12040	return nil
12041}
12042
12043// SetCollectionName sets the CollectionName field's value.
12044func (s *PutGeofenceInput) SetCollectionName(v string) *PutGeofenceInput {
12045	s.CollectionName = &v
12046	return s
12047}
12048
12049// SetGeofenceId sets the GeofenceId field's value.
12050func (s *PutGeofenceInput) SetGeofenceId(v string) *PutGeofenceInput {
12051	s.GeofenceId = &v
12052	return s
12053}
12054
12055// SetGeometry sets the Geometry field's value.
12056func (s *PutGeofenceInput) SetGeometry(v *GeofenceGeometry) *PutGeofenceInput {
12057	s.Geometry = v
12058	return s
12059}
12060
12061type PutGeofenceOutput struct {
12062	_ struct{} `type:"structure"`
12063
12064	// The timestamp for when the geofence was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
12065	// format: YYYY-MM-DDThh:mm:ss.sssZ
12066	//
12067	// CreateTime is a required field
12068	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
12069
12070	// The geofence identifier entered in the request.
12071	//
12072	// GeofenceId is a required field
12073	GeofenceId *string `min:"1" type:"string" required:"true"`
12074
12075	// The timestamp for when the geofence was last updated in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
12076	// format: YYYY-MM-DDThh:mm:ss.sssZ
12077	//
12078	// UpdateTime is a required field
12079	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
12080}
12081
12082// String returns the string representation
12083func (s PutGeofenceOutput) String() string {
12084	return awsutil.Prettify(s)
12085}
12086
12087// GoString returns the string representation
12088func (s PutGeofenceOutput) GoString() string {
12089	return s.String()
12090}
12091
12092// SetCreateTime sets the CreateTime field's value.
12093func (s *PutGeofenceOutput) SetCreateTime(v time.Time) *PutGeofenceOutput {
12094	s.CreateTime = &v
12095	return s
12096}
12097
12098// SetGeofenceId sets the GeofenceId field's value.
12099func (s *PutGeofenceOutput) SetGeofenceId(v string) *PutGeofenceOutput {
12100	s.GeofenceId = &v
12101	return s
12102}
12103
12104// SetUpdateTime sets the UpdateTime field's value.
12105func (s *PutGeofenceOutput) SetUpdateTime(v time.Time) *PutGeofenceOutput {
12106	s.UpdateTime = &v
12107	return s
12108}
12109
12110// The resource that you've entered was not found in your AWS account.
12111type ResourceNotFoundException struct {
12112	_            struct{}                  `type:"structure"`
12113	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12114
12115	Message_ *string `locationName:"message" type:"string"`
12116}
12117
12118// String returns the string representation
12119func (s ResourceNotFoundException) String() string {
12120	return awsutil.Prettify(s)
12121}
12122
12123// GoString returns the string representation
12124func (s ResourceNotFoundException) GoString() string {
12125	return s.String()
12126}
12127
12128func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
12129	return &ResourceNotFoundException{
12130		RespMetadata: v,
12131	}
12132}
12133
12134// Code returns the exception type name.
12135func (s *ResourceNotFoundException) Code() string {
12136	return "ResourceNotFoundException"
12137}
12138
12139// Message returns the exception's message.
12140func (s *ResourceNotFoundException) Message() string {
12141	if s.Message_ != nil {
12142		return *s.Message_
12143	}
12144	return ""
12145}
12146
12147// OrigErr always returns nil, satisfies awserr.Error interface.
12148func (s *ResourceNotFoundException) OrigErr() error {
12149	return nil
12150}
12151
12152func (s *ResourceNotFoundException) Error() string {
12153	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12154}
12155
12156// Status code returns the HTTP status code for the request's response error.
12157func (s *ResourceNotFoundException) StatusCode() int {
12158	return s.RespMetadata.StatusCode
12159}
12160
12161// RequestID returns the service's response RequestID for request.
12162func (s *ResourceNotFoundException) RequestID() string {
12163	return s.RespMetadata.RequestID
12164}
12165
12166// Specifies a single point of interest, or Place as a result of a search query
12167// obtained from a dataset configured in the place index resource.
12168type SearchForPositionResult struct {
12169	_ struct{} `type:"structure"`
12170
12171	// Contains details about the relevant point of interest.
12172	//
12173	// Place is a required field
12174	Place *Place `type:"structure" required:"true"`
12175}
12176
12177// String returns the string representation
12178func (s SearchForPositionResult) String() string {
12179	return awsutil.Prettify(s)
12180}
12181
12182// GoString returns the string representation
12183func (s SearchForPositionResult) GoString() string {
12184	return s.String()
12185}
12186
12187// SetPlace sets the Place field's value.
12188func (s *SearchForPositionResult) SetPlace(v *Place) *SearchForPositionResult {
12189	s.Place = v
12190	return s
12191}
12192
12193// Contains relevant Places returned by calling SearchPlaceIndexForText.
12194type SearchForTextResult struct {
12195	_ struct{} `type:"structure"`
12196
12197	// Contains details about the relevant point of interest.
12198	//
12199	// Place is a required field
12200	Place *Place `type:"structure" required:"true"`
12201}
12202
12203// String returns the string representation
12204func (s SearchForTextResult) String() string {
12205	return awsutil.Prettify(s)
12206}
12207
12208// GoString returns the string representation
12209func (s SearchForTextResult) GoString() string {
12210	return s.String()
12211}
12212
12213// SetPlace sets the Place field's value.
12214func (s *SearchForTextResult) SetPlace(v *Place) *SearchForTextResult {
12215	s.Place = v
12216	return s
12217}
12218
12219type SearchPlaceIndexForPositionInput struct {
12220	_ struct{} `type:"structure"`
12221
12222	// The name of the place index resource you want to use for the search.
12223	//
12224	// IndexName is a required field
12225	IndexName *string `location:"uri" locationName:"IndexName" min:"1" type:"string" required:"true"`
12226
12227	// An optional paramer. The maximum number of results returned per request.
12228	//
12229	// Default value: 50
12230	MaxResults *int64 `min:"1" type:"integer"`
12231
12232	// Specifies a coordinate for the query defined by a longitude, and latitude.
12233	//
12234	//    * The first position is the X coordinate, or longitude.
12235	//
12236	//    * The second position is the Y coordinate, or latitude.
12237	//
12238	// For example, position=xLongitude&position=yLatitude .
12239	//
12240	// Position is a required field
12241	Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
12242}
12243
12244// String returns the string representation
12245func (s SearchPlaceIndexForPositionInput) String() string {
12246	return awsutil.Prettify(s)
12247}
12248
12249// GoString returns the string representation
12250func (s SearchPlaceIndexForPositionInput) GoString() string {
12251	return s.String()
12252}
12253
12254// Validate inspects the fields of the type to determine if they are valid.
12255func (s *SearchPlaceIndexForPositionInput) Validate() error {
12256	invalidParams := request.ErrInvalidParams{Context: "SearchPlaceIndexForPositionInput"}
12257	if s.IndexName == nil {
12258		invalidParams.Add(request.NewErrParamRequired("IndexName"))
12259	}
12260	if s.IndexName != nil && len(*s.IndexName) < 1 {
12261		invalidParams.Add(request.NewErrParamMinLen("IndexName", 1))
12262	}
12263	if s.MaxResults != nil && *s.MaxResults < 1 {
12264		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12265	}
12266	if s.Position == nil {
12267		invalidParams.Add(request.NewErrParamRequired("Position"))
12268	}
12269	if s.Position != nil && len(s.Position) < 2 {
12270		invalidParams.Add(request.NewErrParamMinLen("Position", 2))
12271	}
12272
12273	if invalidParams.Len() > 0 {
12274		return invalidParams
12275	}
12276	return nil
12277}
12278
12279// SetIndexName sets the IndexName field's value.
12280func (s *SearchPlaceIndexForPositionInput) SetIndexName(v string) *SearchPlaceIndexForPositionInput {
12281	s.IndexName = &v
12282	return s
12283}
12284
12285// SetMaxResults sets the MaxResults field's value.
12286func (s *SearchPlaceIndexForPositionInput) SetMaxResults(v int64) *SearchPlaceIndexForPositionInput {
12287	s.MaxResults = &v
12288	return s
12289}
12290
12291// SetPosition sets the Position field's value.
12292func (s *SearchPlaceIndexForPositionInput) SetPosition(v []*float64) *SearchPlaceIndexForPositionInput {
12293	s.Position = v
12294	return s
12295}
12296
12297type SearchPlaceIndexForPositionOutput struct {
12298	_ struct{} `type:"structure"`
12299
12300	// Returns a list of Places closest to the specified position. Each result contains
12301	// additional information about the Places returned.
12302	//
12303	// Results is a required field
12304	Results []*SearchForPositionResult `type:"list" required:"true"`
12305
12306	// Contains a summary of the request.
12307	//
12308	// Summary is a required field
12309	Summary *SearchPlaceIndexForPositionSummary `type:"structure" required:"true"`
12310}
12311
12312// String returns the string representation
12313func (s SearchPlaceIndexForPositionOutput) String() string {
12314	return awsutil.Prettify(s)
12315}
12316
12317// GoString returns the string representation
12318func (s SearchPlaceIndexForPositionOutput) GoString() string {
12319	return s.String()
12320}
12321
12322// SetResults sets the Results field's value.
12323func (s *SearchPlaceIndexForPositionOutput) SetResults(v []*SearchForPositionResult) *SearchPlaceIndexForPositionOutput {
12324	s.Results = v
12325	return s
12326}
12327
12328// SetSummary sets the Summary field's value.
12329func (s *SearchPlaceIndexForPositionOutput) SetSummary(v *SearchPlaceIndexForPositionSummary) *SearchPlaceIndexForPositionOutput {
12330	s.Summary = v
12331	return s
12332}
12333
12334// A summary of the reverse geocoding request sent using SearchPlaceIndexForPosition.
12335type SearchPlaceIndexForPositionSummary struct {
12336	_ struct{} `type:"structure"`
12337
12338	// The data provider of geospatial data. Indicates one of the available providers:
12339	//
12340	//    * Esri
12341	//
12342	//    * HERE
12343	//
12344	// For additional details on data providers, see the Amazon Location Service
12345	// data providers page (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
12346	//
12347	// DataSource is a required field
12348	DataSource *string `type:"string" required:"true"`
12349
12350	// An optional parameter. The maximum number of results returned per request.
12351	//
12352	// Default value: 50
12353	MaxResults *int64 `min:"1" type:"integer"`
12354
12355	// The position given in the reverse geocoding request.
12356	//
12357	// Position is a required field
12358	Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
12359}
12360
12361// String returns the string representation
12362func (s SearchPlaceIndexForPositionSummary) String() string {
12363	return awsutil.Prettify(s)
12364}
12365
12366// GoString returns the string representation
12367func (s SearchPlaceIndexForPositionSummary) GoString() string {
12368	return s.String()
12369}
12370
12371// SetDataSource sets the DataSource field's value.
12372func (s *SearchPlaceIndexForPositionSummary) SetDataSource(v string) *SearchPlaceIndexForPositionSummary {
12373	s.DataSource = &v
12374	return s
12375}
12376
12377// SetMaxResults sets the MaxResults field's value.
12378func (s *SearchPlaceIndexForPositionSummary) SetMaxResults(v int64) *SearchPlaceIndexForPositionSummary {
12379	s.MaxResults = &v
12380	return s
12381}
12382
12383// SetPosition sets the Position field's value.
12384func (s *SearchPlaceIndexForPositionSummary) SetPosition(v []*float64) *SearchPlaceIndexForPositionSummary {
12385	s.Position = v
12386	return s
12387}
12388
12389type SearchPlaceIndexForTextInput struct {
12390	_ struct{} `type:"structure"`
12391
12392	// Searches for results closest to the given position. An optional parameter
12393	// defined by longitude, and latitude.
12394	//
12395	//    * The first bias position is the X coordinate, or longitude.
12396	//
12397	//    * The second bias position is the Y coordinate, or latitude.
12398	//
12399	// For example, bias=xLongitude&bias=yLatitude.
12400	BiasPosition []*float64 `min:"2" type:"list" sensitive:"true"`
12401
12402	// Filters the results by returning only Places within the provided bounding
12403	// box. An optional parameter.
12404	//
12405	// The first 2 bbox parameters describe the lower southwest corner:
12406	//
12407	//    * The first bbox position is the X coordinate or longitude of the lower
12408	//    southwest corner.
12409	//
12410	//    * The second bbox position is the Y coordinate or latitude of the lower
12411	//    southwest corner.
12412	//
12413	// For example, bbox=xLongitudeSW&bbox=yLatitudeSW.
12414	//
12415	// The next bbox parameters describe the upper northeast corner:
12416	//
12417	//    * The third bbox position is the X coordinate, or longitude of the upper
12418	//    northeast corner.
12419	//
12420	//    * The fourth bbox position is the Y coordinate, or longitude of the upper
12421	//    northeast corner.
12422	//
12423	// For example, bbox=xLongitudeNE&bbox=yLatitudeNE
12424	FilterBBox []*float64 `min:"4" type:"list" sensitive:"true"`
12425
12426	// Limits the search to the given a list of countries/regions. An optional parameter.
12427	//
12428	//    * Use the ISO 3166 (https://www.iso.org/iso-3166-country-codes.html) 3-digit
12429	//    country code. For example, Australia uses three upper-case characters:
12430	//    AUS.
12431	FilterCountries []*string `min:"1" type:"list"`
12432
12433	// The name of the place index resource you want to use for the search.
12434	//
12435	// IndexName is a required field
12436	IndexName *string `location:"uri" locationName:"IndexName" min:"1" type:"string" required:"true"`
12437
12438	// An optional parameter. The maximum number of results returned per request.
12439	//
12440	// The default: 50
12441	MaxResults *int64 `min:"1" type:"integer"`
12442
12443	// The address, name, city, or region to be used in the search. In free-form
12444	// text format. For example, 123 Any Street.
12445	//
12446	// Text is a required field
12447	Text *string `min:"1" type:"string" required:"true" sensitive:"true"`
12448}
12449
12450// String returns the string representation
12451func (s SearchPlaceIndexForTextInput) String() string {
12452	return awsutil.Prettify(s)
12453}
12454
12455// GoString returns the string representation
12456func (s SearchPlaceIndexForTextInput) GoString() string {
12457	return s.String()
12458}
12459
12460// Validate inspects the fields of the type to determine if they are valid.
12461func (s *SearchPlaceIndexForTextInput) Validate() error {
12462	invalidParams := request.ErrInvalidParams{Context: "SearchPlaceIndexForTextInput"}
12463	if s.BiasPosition != nil && len(s.BiasPosition) < 2 {
12464		invalidParams.Add(request.NewErrParamMinLen("BiasPosition", 2))
12465	}
12466	if s.FilterBBox != nil && len(s.FilterBBox) < 4 {
12467		invalidParams.Add(request.NewErrParamMinLen("FilterBBox", 4))
12468	}
12469	if s.FilterCountries != nil && len(s.FilterCountries) < 1 {
12470		invalidParams.Add(request.NewErrParamMinLen("FilterCountries", 1))
12471	}
12472	if s.IndexName == nil {
12473		invalidParams.Add(request.NewErrParamRequired("IndexName"))
12474	}
12475	if s.IndexName != nil && len(*s.IndexName) < 1 {
12476		invalidParams.Add(request.NewErrParamMinLen("IndexName", 1))
12477	}
12478	if s.MaxResults != nil && *s.MaxResults < 1 {
12479		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12480	}
12481	if s.Text == nil {
12482		invalidParams.Add(request.NewErrParamRequired("Text"))
12483	}
12484	if s.Text != nil && len(*s.Text) < 1 {
12485		invalidParams.Add(request.NewErrParamMinLen("Text", 1))
12486	}
12487
12488	if invalidParams.Len() > 0 {
12489		return invalidParams
12490	}
12491	return nil
12492}
12493
12494// SetBiasPosition sets the BiasPosition field's value.
12495func (s *SearchPlaceIndexForTextInput) SetBiasPosition(v []*float64) *SearchPlaceIndexForTextInput {
12496	s.BiasPosition = v
12497	return s
12498}
12499
12500// SetFilterBBox sets the FilterBBox field's value.
12501func (s *SearchPlaceIndexForTextInput) SetFilterBBox(v []*float64) *SearchPlaceIndexForTextInput {
12502	s.FilterBBox = v
12503	return s
12504}
12505
12506// SetFilterCountries sets the FilterCountries field's value.
12507func (s *SearchPlaceIndexForTextInput) SetFilterCountries(v []*string) *SearchPlaceIndexForTextInput {
12508	s.FilterCountries = v
12509	return s
12510}
12511
12512// SetIndexName sets the IndexName field's value.
12513func (s *SearchPlaceIndexForTextInput) SetIndexName(v string) *SearchPlaceIndexForTextInput {
12514	s.IndexName = &v
12515	return s
12516}
12517
12518// SetMaxResults sets the MaxResults field's value.
12519func (s *SearchPlaceIndexForTextInput) SetMaxResults(v int64) *SearchPlaceIndexForTextInput {
12520	s.MaxResults = &v
12521	return s
12522}
12523
12524// SetText sets the Text field's value.
12525func (s *SearchPlaceIndexForTextInput) SetText(v string) *SearchPlaceIndexForTextInput {
12526	s.Text = &v
12527	return s
12528}
12529
12530type SearchPlaceIndexForTextOutput struct {
12531	_ struct{} `type:"structure"`
12532
12533	// A list of Places closest to the specified position. Each result contains
12534	// additional information about the specific point of interest.
12535	//
12536	// Results is a required field
12537	Results []*SearchForTextResult `type:"list" required:"true"`
12538
12539	// Contains a summary of the request. Contains the BiasPosition, DataSource,
12540	// FilterBBox, FilterCountries, MaxResults, ResultBBox, and Text.
12541	//
12542	// Summary is a required field
12543	Summary *SearchPlaceIndexForTextSummary `type:"structure" required:"true"`
12544}
12545
12546// String returns the string representation
12547func (s SearchPlaceIndexForTextOutput) String() string {
12548	return awsutil.Prettify(s)
12549}
12550
12551// GoString returns the string representation
12552func (s SearchPlaceIndexForTextOutput) GoString() string {
12553	return s.String()
12554}
12555
12556// SetResults sets the Results field's value.
12557func (s *SearchPlaceIndexForTextOutput) SetResults(v []*SearchForTextResult) *SearchPlaceIndexForTextOutput {
12558	s.Results = v
12559	return s
12560}
12561
12562// SetSummary sets the Summary field's value.
12563func (s *SearchPlaceIndexForTextOutput) SetSummary(v *SearchPlaceIndexForTextSummary) *SearchPlaceIndexForTextOutput {
12564	s.Summary = v
12565	return s
12566}
12567
12568// A summary of the geocoding request sent using SearchPlaceIndexForText.
12569type SearchPlaceIndexForTextSummary struct {
12570	_ struct{} `type:"structure"`
12571
12572	// Contains the coordinates for the bias position entered in the geocoding request.
12573	BiasPosition []*float64 `min:"2" type:"list" sensitive:"true"`
12574
12575	// The data provider of geospatial data. Indicates one of the available providers:
12576	//
12577	//    * Esri
12578	//
12579	//    * HERE
12580	//
12581	// For additional details on data providers, see the Amazon Location Service
12582	// data providers page (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
12583	//
12584	// DataSource is a required field
12585	DataSource *string `type:"string" required:"true"`
12586
12587	// Contains the coordinates for the optional bounding box coordinated entered
12588	// in the geocoding request.
12589	FilterBBox []*float64 `min:"4" type:"list" sensitive:"true"`
12590
12591	// Contains the country filter entered in the geocoding request.
12592	FilterCountries []*string `min:"1" type:"list"`
12593
12594	// Contains the maximum number of results indicated for the request.
12595	MaxResults *int64 `min:"1" type:"integer"`
12596
12597	// A bounding box that contains the search results within the specified area
12598	// indicated by FilterBBox. A subset of bounding box specified using FilterBBox.
12599	ResultBBox []*float64 `min:"4" type:"list" sensitive:"true"`
12600
12601	// The address, name, city or region to be used in the geocoding request. In
12602	// free-form text format. For example, Vancouver.
12603	//
12604	// Text is a required field
12605	Text *string `type:"string" required:"true" sensitive:"true"`
12606}
12607
12608// String returns the string representation
12609func (s SearchPlaceIndexForTextSummary) String() string {
12610	return awsutil.Prettify(s)
12611}
12612
12613// GoString returns the string representation
12614func (s SearchPlaceIndexForTextSummary) GoString() string {
12615	return s.String()
12616}
12617
12618// SetBiasPosition sets the BiasPosition field's value.
12619func (s *SearchPlaceIndexForTextSummary) SetBiasPosition(v []*float64) *SearchPlaceIndexForTextSummary {
12620	s.BiasPosition = v
12621	return s
12622}
12623
12624// SetDataSource sets the DataSource field's value.
12625func (s *SearchPlaceIndexForTextSummary) SetDataSource(v string) *SearchPlaceIndexForTextSummary {
12626	s.DataSource = &v
12627	return s
12628}
12629
12630// SetFilterBBox sets the FilterBBox field's value.
12631func (s *SearchPlaceIndexForTextSummary) SetFilterBBox(v []*float64) *SearchPlaceIndexForTextSummary {
12632	s.FilterBBox = v
12633	return s
12634}
12635
12636// SetFilterCountries sets the FilterCountries field's value.
12637func (s *SearchPlaceIndexForTextSummary) SetFilterCountries(v []*string) *SearchPlaceIndexForTextSummary {
12638	s.FilterCountries = v
12639	return s
12640}
12641
12642// SetMaxResults sets the MaxResults field's value.
12643func (s *SearchPlaceIndexForTextSummary) SetMaxResults(v int64) *SearchPlaceIndexForTextSummary {
12644	s.MaxResults = &v
12645	return s
12646}
12647
12648// SetResultBBox sets the ResultBBox field's value.
12649func (s *SearchPlaceIndexForTextSummary) SetResultBBox(v []*float64) *SearchPlaceIndexForTextSummary {
12650	s.ResultBBox = v
12651	return s
12652}
12653
12654// SetText sets the Text field's value.
12655func (s *SearchPlaceIndexForTextSummary) SetText(v string) *SearchPlaceIndexForTextSummary {
12656	s.Text = &v
12657	return s
12658}
12659
12660// The operation was denied because the request would exceed the maximum quota
12661// (https://docs.aws.amazon.com/location/latest/developerguide/location-quotas.html)
12662// set for Amazon Location Service.
12663type ServiceQuotaExceededException struct {
12664	_            struct{}                  `type:"structure"`
12665	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12666
12667	// A message with the reason for the service quota exceeded exception error.
12668	Message_ *string `locationName:"message" type:"string"`
12669}
12670
12671// String returns the string representation
12672func (s ServiceQuotaExceededException) String() string {
12673	return awsutil.Prettify(s)
12674}
12675
12676// GoString returns the string representation
12677func (s ServiceQuotaExceededException) GoString() string {
12678	return s.String()
12679}
12680
12681func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
12682	return &ServiceQuotaExceededException{
12683		RespMetadata: v,
12684	}
12685}
12686
12687// Code returns the exception type name.
12688func (s *ServiceQuotaExceededException) Code() string {
12689	return "ServiceQuotaExceededException"
12690}
12691
12692// Message returns the exception's message.
12693func (s *ServiceQuotaExceededException) Message() string {
12694	if s.Message_ != nil {
12695		return *s.Message_
12696	}
12697	return ""
12698}
12699
12700// OrigErr always returns nil, satisfies awserr.Error interface.
12701func (s *ServiceQuotaExceededException) OrigErr() error {
12702	return nil
12703}
12704
12705func (s *ServiceQuotaExceededException) Error() string {
12706	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12707}
12708
12709// Status code returns the HTTP status code for the request's response error.
12710func (s *ServiceQuotaExceededException) StatusCode() int {
12711	return s.RespMetadata.StatusCode
12712}
12713
12714// RequestID returns the service's response RequestID for request.
12715func (s *ServiceQuotaExceededException) RequestID() string {
12716	return s.RespMetadata.RequestID
12717}
12718
12719// Represents an element of a leg within a route. A step contains instructions
12720// for how to move to the next step in the leg.
12721type Step struct {
12722	_ struct{} `type:"structure"`
12723
12724	// The travel distance between the step's StartPosition and EndPosition.
12725	//
12726	// Distance is a required field
12727	Distance *float64 `type:"double" required:"true"`
12728
12729	// The estimated travel time, in seconds, from the step's StartPosition to the
12730	// EndPosition. . The travel mode and departure time that you specify in the
12731	// request determines the calculated time.
12732	//
12733	// DurationSeconds is a required field
12734	DurationSeconds *float64 `type:"double" required:"true"`
12735
12736	// The end position of a step. If the position the last step in the leg, this
12737	// position is the same as the end position of the leg.
12738	//
12739	// EndPosition is a required field
12740	EndPosition []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
12741
12742	// Represents the start position, or index, in a sequence of steps within the
12743	// leg's line string geometry. For example, the index of the first step in a
12744	// leg geometry is 0.
12745	//
12746	// Included in the response for queries that set IncludeLegGeometry to True.
12747	GeometryOffset *int64 `type:"integer"`
12748
12749	// The starting position of a step. If the position is the first step in the
12750	// leg, this position is the same as the start position of the leg.
12751	//
12752	// StartPosition is a required field
12753	StartPosition []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
12754}
12755
12756// String returns the string representation
12757func (s Step) String() string {
12758	return awsutil.Prettify(s)
12759}
12760
12761// GoString returns the string representation
12762func (s Step) GoString() string {
12763	return s.String()
12764}
12765
12766// SetDistance sets the Distance field's value.
12767func (s *Step) SetDistance(v float64) *Step {
12768	s.Distance = &v
12769	return s
12770}
12771
12772// SetDurationSeconds sets the DurationSeconds field's value.
12773func (s *Step) SetDurationSeconds(v float64) *Step {
12774	s.DurationSeconds = &v
12775	return s
12776}
12777
12778// SetEndPosition sets the EndPosition field's value.
12779func (s *Step) SetEndPosition(v []*float64) *Step {
12780	s.EndPosition = v
12781	return s
12782}
12783
12784// SetGeometryOffset sets the GeometryOffset field's value.
12785func (s *Step) SetGeometryOffset(v int64) *Step {
12786	s.GeometryOffset = &v
12787	return s
12788}
12789
12790// SetStartPosition sets the StartPosition field's value.
12791func (s *Step) SetStartPosition(v []*float64) *Step {
12792	s.StartPosition = v
12793	return s
12794}
12795
12796type TagResourceInput struct {
12797	_ struct{} `type:"structure"`
12798
12799	// The Amazon Resource Name (ARN) of the resource whose tags you want to update.
12800	//
12801	//    * Format example: arn:aws:geo:region:account-id:resourcetype/ExampleResource
12802	//
12803	// ResourceArn is a required field
12804	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
12805
12806	// Tags that have been applied to the specified resource. Tags are mapped from
12807	// the tag key to the tag value: "TagKey" : "TagValue".
12808	//
12809	//    * Format example: {"tag1" : "value1", "tag2" : "value2"}
12810	//
12811	// Tags is a required field
12812	Tags map[string]*string `type:"map" required:"true"`
12813}
12814
12815// String returns the string representation
12816func (s TagResourceInput) String() string {
12817	return awsutil.Prettify(s)
12818}
12819
12820// GoString returns the string representation
12821func (s TagResourceInput) GoString() string {
12822	return s.String()
12823}
12824
12825// Validate inspects the fields of the type to determine if they are valid.
12826func (s *TagResourceInput) Validate() error {
12827	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
12828	if s.ResourceArn == nil {
12829		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
12830	}
12831	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
12832		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
12833	}
12834	if s.Tags == nil {
12835		invalidParams.Add(request.NewErrParamRequired("Tags"))
12836	}
12837
12838	if invalidParams.Len() > 0 {
12839		return invalidParams
12840	}
12841	return nil
12842}
12843
12844// SetResourceArn sets the ResourceArn field's value.
12845func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
12846	s.ResourceArn = &v
12847	return s
12848}
12849
12850// SetTags sets the Tags field's value.
12851func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
12852	s.Tags = v
12853	return s
12854}
12855
12856type TagResourceOutput struct {
12857	_ struct{} `type:"structure"`
12858}
12859
12860// String returns the string representation
12861func (s TagResourceOutput) String() string {
12862	return awsutil.Prettify(s)
12863}
12864
12865// GoString returns the string representation
12866func (s TagResourceOutput) GoString() string {
12867	return s.String()
12868}
12869
12870// The request was denied because of request throttling.
12871type ThrottlingException struct {
12872	_            struct{}                  `type:"structure"`
12873	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12874
12875	Message_ *string `locationName:"message" type:"string"`
12876}
12877
12878// String returns the string representation
12879func (s ThrottlingException) String() string {
12880	return awsutil.Prettify(s)
12881}
12882
12883// GoString returns the string representation
12884func (s ThrottlingException) GoString() string {
12885	return s.String()
12886}
12887
12888func newErrorThrottlingException(v protocol.ResponseMetadata) error {
12889	return &ThrottlingException{
12890		RespMetadata: v,
12891	}
12892}
12893
12894// Code returns the exception type name.
12895func (s *ThrottlingException) Code() string {
12896	return "ThrottlingException"
12897}
12898
12899// Message returns the exception's message.
12900func (s *ThrottlingException) Message() string {
12901	if s.Message_ != nil {
12902		return *s.Message_
12903	}
12904	return ""
12905}
12906
12907// OrigErr always returns nil, satisfies awserr.Error interface.
12908func (s *ThrottlingException) OrigErr() error {
12909	return nil
12910}
12911
12912func (s *ThrottlingException) Error() string {
12913	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12914}
12915
12916// Status code returns the HTTP status code for the request's response error.
12917func (s *ThrottlingException) StatusCode() int {
12918	return s.RespMetadata.StatusCode
12919}
12920
12921// RequestID returns the service's response RequestID for request.
12922func (s *ThrottlingException) RequestID() string {
12923	return s.RespMetadata.RequestID
12924}
12925
12926// Contains details about the truck dimensions in the unit of measurement that
12927// you specify. Used to filter out roads that can't support or allow the specified
12928// dimensions for requests that specify TravelMode as Truck.
12929type TruckDimensions struct {
12930	_ struct{} `type:"structure"`
12931
12932	// The height of the truck.
12933	//
12934	//    * For example, 4.5.
12935	Height *float64 `type:"double"`
12936
12937	// The length of the truck.
12938	//
12939	//    * For example, 15.5.
12940	Length *float64 `type:"double"`
12941
12942	// Specifies the unit of measurement for the truck dimensions.
12943	//
12944	// Default Value: Meters
12945	Unit *string `type:"string" enum:"DimensionUnit"`
12946
12947	// The width of the truck.
12948	//
12949	//    * For example, 4.5.
12950	Width *float64 `type:"double"`
12951}
12952
12953// String returns the string representation
12954func (s TruckDimensions) String() string {
12955	return awsutil.Prettify(s)
12956}
12957
12958// GoString returns the string representation
12959func (s TruckDimensions) GoString() string {
12960	return s.String()
12961}
12962
12963// SetHeight sets the Height field's value.
12964func (s *TruckDimensions) SetHeight(v float64) *TruckDimensions {
12965	s.Height = &v
12966	return s
12967}
12968
12969// SetLength sets the Length field's value.
12970func (s *TruckDimensions) SetLength(v float64) *TruckDimensions {
12971	s.Length = &v
12972	return s
12973}
12974
12975// SetUnit sets the Unit field's value.
12976func (s *TruckDimensions) SetUnit(v string) *TruckDimensions {
12977	s.Unit = &v
12978	return s
12979}
12980
12981// SetWidth sets the Width field's value.
12982func (s *TruckDimensions) SetWidth(v float64) *TruckDimensions {
12983	s.Width = &v
12984	return s
12985}
12986
12987// Contains details about the truck's weight specifications. Used to avoid roads
12988// that can't support or allow the total weight for requests that specify TravelMode
12989// as Truck.
12990type TruckWeight struct {
12991	_ struct{} `type:"structure"`
12992
12993	// The total weight of the truck.
12994	//
12995	//    * For example, 3500.
12996	Total *float64 `type:"double"`
12997
12998	// The unit of measurement to use for the truck weight.
12999	//
13000	// Default Value: Kilograms
13001	Unit *string `type:"string" enum:"VehicleWeightUnit"`
13002}
13003
13004// String returns the string representation
13005func (s TruckWeight) String() string {
13006	return awsutil.Prettify(s)
13007}
13008
13009// GoString returns the string representation
13010func (s TruckWeight) GoString() string {
13011	return s.String()
13012}
13013
13014// SetTotal sets the Total field's value.
13015func (s *TruckWeight) SetTotal(v float64) *TruckWeight {
13016	s.Total = &v
13017	return s
13018}
13019
13020// SetUnit sets the Unit field's value.
13021func (s *TruckWeight) SetUnit(v string) *TruckWeight {
13022	s.Unit = &v
13023	return s
13024}
13025
13026type UntagResourceInput struct {
13027	_ struct{} `type:"structure"`
13028
13029	// The Amazon Resource Name (ARN) of the resource from which you want to remove
13030	// tags.
13031	//
13032	//    * Format example: arn:aws:geo:region:account-id:resourcetype/ExampleResource
13033	//
13034	// ResourceArn is a required field
13035	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
13036
13037	// The list of tag keys to remove from the specified resource.
13038	//
13039	// TagKeys is a required field
13040	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
13041}
13042
13043// String returns the string representation
13044func (s UntagResourceInput) String() string {
13045	return awsutil.Prettify(s)
13046}
13047
13048// GoString returns the string representation
13049func (s UntagResourceInput) GoString() string {
13050	return s.String()
13051}
13052
13053// Validate inspects the fields of the type to determine if they are valid.
13054func (s *UntagResourceInput) Validate() error {
13055	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
13056	if s.ResourceArn == nil {
13057		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
13058	}
13059	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
13060		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
13061	}
13062	if s.TagKeys == nil {
13063		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
13064	}
13065	if s.TagKeys != nil && len(s.TagKeys) < 1 {
13066		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
13067	}
13068
13069	if invalidParams.Len() > 0 {
13070		return invalidParams
13071	}
13072	return nil
13073}
13074
13075// SetResourceArn sets the ResourceArn field's value.
13076func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
13077	s.ResourceArn = &v
13078	return s
13079}
13080
13081// SetTagKeys sets the TagKeys field's value.
13082func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
13083	s.TagKeys = v
13084	return s
13085}
13086
13087type UntagResourceOutput struct {
13088	_ struct{} `type:"structure"`
13089}
13090
13091// String returns the string representation
13092func (s UntagResourceOutput) String() string {
13093	return awsutil.Prettify(s)
13094}
13095
13096// GoString returns the string representation
13097func (s UntagResourceOutput) GoString() string {
13098	return s.String()
13099}
13100
13101type UpdateGeofenceCollectionInput struct {
13102	_ struct{} `type:"structure"`
13103
13104	// The name of the geofence collection to update.
13105	//
13106	// CollectionName is a required field
13107	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
13108
13109	// Updates the description for the geofence collection.
13110	Description *string `type:"string"`
13111
13112	// Updates the pricing plan for the geofence collection.
13113	//
13114	// For more information about each pricing plan option restrictions, see Amazon
13115	// Location Service pricing (https://aws.amazon.com/location/pricing/).
13116	PricingPlan *string `type:"string" enum:"PricingPlan"`
13117
13118	// Updates the data provider for the geofence collection.
13119	//
13120	// A required value for the following pricing plans: MobileAssetTracking| MobileAssetManagement
13121	//
13122	// For more information about data providers (https://aws.amazon.com/location/data-providers/)
13123	// and pricing plans (https://aws.amazon.com/location/pricing/), see the Amazon
13124	// Location Service product page.
13125	//
13126	// This can only be updated when updating the PricingPlan in the same request.
13127	//
13128	// Amazon Location Service uses PricingPlanDataSource to calculate billing for
13129	// your geofence collection. Your data won't be shared with the data provider,
13130	// and will remain in your AWS account and Region unless you move it.
13131	PricingPlanDataSource *string `type:"string"`
13132}
13133
13134// String returns the string representation
13135func (s UpdateGeofenceCollectionInput) String() string {
13136	return awsutil.Prettify(s)
13137}
13138
13139// GoString returns the string representation
13140func (s UpdateGeofenceCollectionInput) GoString() string {
13141	return s.String()
13142}
13143
13144// Validate inspects the fields of the type to determine if they are valid.
13145func (s *UpdateGeofenceCollectionInput) Validate() error {
13146	invalidParams := request.ErrInvalidParams{Context: "UpdateGeofenceCollectionInput"}
13147	if s.CollectionName == nil {
13148		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
13149	}
13150	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
13151		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
13152	}
13153
13154	if invalidParams.Len() > 0 {
13155		return invalidParams
13156	}
13157	return nil
13158}
13159
13160// SetCollectionName sets the CollectionName field's value.
13161func (s *UpdateGeofenceCollectionInput) SetCollectionName(v string) *UpdateGeofenceCollectionInput {
13162	s.CollectionName = &v
13163	return s
13164}
13165
13166// SetDescription sets the Description field's value.
13167func (s *UpdateGeofenceCollectionInput) SetDescription(v string) *UpdateGeofenceCollectionInput {
13168	s.Description = &v
13169	return s
13170}
13171
13172// SetPricingPlan sets the PricingPlan field's value.
13173func (s *UpdateGeofenceCollectionInput) SetPricingPlan(v string) *UpdateGeofenceCollectionInput {
13174	s.PricingPlan = &v
13175	return s
13176}
13177
13178// SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
13179func (s *UpdateGeofenceCollectionInput) SetPricingPlanDataSource(v string) *UpdateGeofenceCollectionInput {
13180	s.PricingPlanDataSource = &v
13181	return s
13182}
13183
13184type UpdateGeofenceCollectionOutput struct {
13185	_ struct{} `type:"structure"`
13186
13187	// The Amazon Resource Name (ARN) of the updated geofence collection. Used to
13188	// specify a resource across AWS.
13189	//
13190	//    * Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollection
13191	//
13192	// CollectionArn is a required field
13193	CollectionArn *string `type:"string" required:"true"`
13194
13195	// The name of the updated geofence collection.
13196	//
13197	// CollectionName is a required field
13198	CollectionName *string `min:"1" type:"string" required:"true"`
13199
13200	// The time when the geofence collection was last updated in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
13201	// format: YYYY-MM-DDThh:mm:ss.sssZ
13202	//
13203	// UpdateTime is a required field
13204	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
13205}
13206
13207// String returns the string representation
13208func (s UpdateGeofenceCollectionOutput) String() string {
13209	return awsutil.Prettify(s)
13210}
13211
13212// GoString returns the string representation
13213func (s UpdateGeofenceCollectionOutput) GoString() string {
13214	return s.String()
13215}
13216
13217// SetCollectionArn sets the CollectionArn field's value.
13218func (s *UpdateGeofenceCollectionOutput) SetCollectionArn(v string) *UpdateGeofenceCollectionOutput {
13219	s.CollectionArn = &v
13220	return s
13221}
13222
13223// SetCollectionName sets the CollectionName field's value.
13224func (s *UpdateGeofenceCollectionOutput) SetCollectionName(v string) *UpdateGeofenceCollectionOutput {
13225	s.CollectionName = &v
13226	return s
13227}
13228
13229// SetUpdateTime sets the UpdateTime field's value.
13230func (s *UpdateGeofenceCollectionOutput) SetUpdateTime(v time.Time) *UpdateGeofenceCollectionOutput {
13231	s.UpdateTime = &v
13232	return s
13233}
13234
13235type UpdateMapInput struct {
13236	_ struct{} `type:"structure"`
13237
13238	// Updates the description for the map resource.
13239	Description *string `type:"string"`
13240
13241	// The name of the map resource to update.
13242	//
13243	// MapName is a required field
13244	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
13245
13246	// Updates the pricing plan for the map resource.
13247	//
13248	// For more information about each pricing plan option restrictions, see Amazon
13249	// Location Service pricing (https://aws.amazon.com/location/pricing/).
13250	PricingPlan *string `type:"string" enum:"PricingPlan"`
13251}
13252
13253// String returns the string representation
13254func (s UpdateMapInput) String() string {
13255	return awsutil.Prettify(s)
13256}
13257
13258// GoString returns the string representation
13259func (s UpdateMapInput) GoString() string {
13260	return s.String()
13261}
13262
13263// Validate inspects the fields of the type to determine if they are valid.
13264func (s *UpdateMapInput) Validate() error {
13265	invalidParams := request.ErrInvalidParams{Context: "UpdateMapInput"}
13266	if s.MapName == nil {
13267		invalidParams.Add(request.NewErrParamRequired("MapName"))
13268	}
13269	if s.MapName != nil && len(*s.MapName) < 1 {
13270		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
13271	}
13272
13273	if invalidParams.Len() > 0 {
13274		return invalidParams
13275	}
13276	return nil
13277}
13278
13279// SetDescription sets the Description field's value.
13280func (s *UpdateMapInput) SetDescription(v string) *UpdateMapInput {
13281	s.Description = &v
13282	return s
13283}
13284
13285// SetMapName sets the MapName field's value.
13286func (s *UpdateMapInput) SetMapName(v string) *UpdateMapInput {
13287	s.MapName = &v
13288	return s
13289}
13290
13291// SetPricingPlan sets the PricingPlan field's value.
13292func (s *UpdateMapInput) SetPricingPlan(v string) *UpdateMapInput {
13293	s.PricingPlan = &v
13294	return s
13295}
13296
13297type UpdateMapOutput struct {
13298	_ struct{} `type:"structure"`
13299
13300	// The Amazon Resource Name (ARN) of the updated map resource. Used to specify
13301	// a resource across AWS.
13302	//
13303	//    * Format example: arn:aws:geo:region:account-id:maps/ExampleMap
13304	//
13305	// MapArn is a required field
13306	MapArn *string `type:"string" required:"true"`
13307
13308	// The name of the updated map resource.
13309	//
13310	// MapName is a required field
13311	MapName *string `min:"1" type:"string" required:"true"`
13312
13313	// The timestamp for when the map resource was last updated in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
13314	// format: YYYY-MM-DDThh:mm:ss.sssZ.
13315	//
13316	// UpdateTime is a required field
13317	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
13318}
13319
13320// String returns the string representation
13321func (s UpdateMapOutput) String() string {
13322	return awsutil.Prettify(s)
13323}
13324
13325// GoString returns the string representation
13326func (s UpdateMapOutput) GoString() string {
13327	return s.String()
13328}
13329
13330// SetMapArn sets the MapArn field's value.
13331func (s *UpdateMapOutput) SetMapArn(v string) *UpdateMapOutput {
13332	s.MapArn = &v
13333	return s
13334}
13335
13336// SetMapName sets the MapName field's value.
13337func (s *UpdateMapOutput) SetMapName(v string) *UpdateMapOutput {
13338	s.MapName = &v
13339	return s
13340}
13341
13342// SetUpdateTime sets the UpdateTime field's value.
13343func (s *UpdateMapOutput) SetUpdateTime(v time.Time) *UpdateMapOutput {
13344	s.UpdateTime = &v
13345	return s
13346}
13347
13348type UpdatePlaceIndexInput struct {
13349	_ struct{} `type:"structure"`
13350
13351	// Updates the data storage option for the place index resource.
13352	DataSourceConfiguration *DataSourceConfiguration `type:"structure"`
13353
13354	// Updates the description for the place index resource.
13355	Description *string `type:"string"`
13356
13357	// The name of the place index resource to update.
13358	//
13359	// IndexName is a required field
13360	IndexName *string `location:"uri" locationName:"IndexName" min:"1" type:"string" required:"true"`
13361
13362	// Updates the pricing plan for the place index resource.
13363	//
13364	// For more information about each pricing plan option restrictions, see Amazon
13365	// Location Service pricing (https://aws.amazon.com/location/pricing/).
13366	PricingPlan *string `type:"string" enum:"PricingPlan"`
13367}
13368
13369// String returns the string representation
13370func (s UpdatePlaceIndexInput) String() string {
13371	return awsutil.Prettify(s)
13372}
13373
13374// GoString returns the string representation
13375func (s UpdatePlaceIndexInput) GoString() string {
13376	return s.String()
13377}
13378
13379// Validate inspects the fields of the type to determine if they are valid.
13380func (s *UpdatePlaceIndexInput) Validate() error {
13381	invalidParams := request.ErrInvalidParams{Context: "UpdatePlaceIndexInput"}
13382	if s.IndexName == nil {
13383		invalidParams.Add(request.NewErrParamRequired("IndexName"))
13384	}
13385	if s.IndexName != nil && len(*s.IndexName) < 1 {
13386		invalidParams.Add(request.NewErrParamMinLen("IndexName", 1))
13387	}
13388
13389	if invalidParams.Len() > 0 {
13390		return invalidParams
13391	}
13392	return nil
13393}
13394
13395// SetDataSourceConfiguration sets the DataSourceConfiguration field's value.
13396func (s *UpdatePlaceIndexInput) SetDataSourceConfiguration(v *DataSourceConfiguration) *UpdatePlaceIndexInput {
13397	s.DataSourceConfiguration = v
13398	return s
13399}
13400
13401// SetDescription sets the Description field's value.
13402func (s *UpdatePlaceIndexInput) SetDescription(v string) *UpdatePlaceIndexInput {
13403	s.Description = &v
13404	return s
13405}
13406
13407// SetIndexName sets the IndexName field's value.
13408func (s *UpdatePlaceIndexInput) SetIndexName(v string) *UpdatePlaceIndexInput {
13409	s.IndexName = &v
13410	return s
13411}
13412
13413// SetPricingPlan sets the PricingPlan field's value.
13414func (s *UpdatePlaceIndexInput) SetPricingPlan(v string) *UpdatePlaceIndexInput {
13415	s.PricingPlan = &v
13416	return s
13417}
13418
13419type UpdatePlaceIndexOutput struct {
13420	_ struct{} `type:"structure"`
13421
13422	// The Amazon Resource Name (ARN) of the upated place index resource. Used to
13423	// specify a resource across AWS.
13424	//
13425	//    * Format example: arn:aws:geo:region:account-id:place- index/ExamplePlaceIndex
13426	//
13427	// IndexArn is a required field
13428	IndexArn *string `type:"string" required:"true"`
13429
13430	// The name of the updated place index resource.
13431	//
13432	// IndexName is a required field
13433	IndexName *string `min:"1" type:"string" required:"true"`
13434
13435	// The timestamp for when the place index resource was last updated in ISO 8601
13436	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
13437	//
13438	// UpdateTime is a required field
13439	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
13440}
13441
13442// String returns the string representation
13443func (s UpdatePlaceIndexOutput) String() string {
13444	return awsutil.Prettify(s)
13445}
13446
13447// GoString returns the string representation
13448func (s UpdatePlaceIndexOutput) GoString() string {
13449	return s.String()
13450}
13451
13452// SetIndexArn sets the IndexArn field's value.
13453func (s *UpdatePlaceIndexOutput) SetIndexArn(v string) *UpdatePlaceIndexOutput {
13454	s.IndexArn = &v
13455	return s
13456}
13457
13458// SetIndexName sets the IndexName field's value.
13459func (s *UpdatePlaceIndexOutput) SetIndexName(v string) *UpdatePlaceIndexOutput {
13460	s.IndexName = &v
13461	return s
13462}
13463
13464// SetUpdateTime sets the UpdateTime field's value.
13465func (s *UpdatePlaceIndexOutput) SetUpdateTime(v time.Time) *UpdatePlaceIndexOutput {
13466	s.UpdateTime = &v
13467	return s
13468}
13469
13470type UpdateRouteCalculatorInput struct {
13471	_ struct{} `type:"structure"`
13472
13473	// The name of the route calculator resource to update.
13474	//
13475	// CalculatorName is a required field
13476	CalculatorName *string `location:"uri" locationName:"CalculatorName" min:"1" type:"string" required:"true"`
13477
13478	// Updates the description for the route calculator resource.
13479	Description *string `type:"string"`
13480
13481	// Updates the pricing plan for the route calculator resource.
13482	//
13483	// For more information about each pricing plan option restrictions, see Amazon
13484	// Location Service pricing (https://aws.amazon.com/location/pricing/).
13485	PricingPlan *string `type:"string" enum:"PricingPlan"`
13486}
13487
13488// String returns the string representation
13489func (s UpdateRouteCalculatorInput) String() string {
13490	return awsutil.Prettify(s)
13491}
13492
13493// GoString returns the string representation
13494func (s UpdateRouteCalculatorInput) GoString() string {
13495	return s.String()
13496}
13497
13498// Validate inspects the fields of the type to determine if they are valid.
13499func (s *UpdateRouteCalculatorInput) Validate() error {
13500	invalidParams := request.ErrInvalidParams{Context: "UpdateRouteCalculatorInput"}
13501	if s.CalculatorName == nil {
13502		invalidParams.Add(request.NewErrParamRequired("CalculatorName"))
13503	}
13504	if s.CalculatorName != nil && len(*s.CalculatorName) < 1 {
13505		invalidParams.Add(request.NewErrParamMinLen("CalculatorName", 1))
13506	}
13507
13508	if invalidParams.Len() > 0 {
13509		return invalidParams
13510	}
13511	return nil
13512}
13513
13514// SetCalculatorName sets the CalculatorName field's value.
13515func (s *UpdateRouteCalculatorInput) SetCalculatorName(v string) *UpdateRouteCalculatorInput {
13516	s.CalculatorName = &v
13517	return s
13518}
13519
13520// SetDescription sets the Description field's value.
13521func (s *UpdateRouteCalculatorInput) SetDescription(v string) *UpdateRouteCalculatorInput {
13522	s.Description = &v
13523	return s
13524}
13525
13526// SetPricingPlan sets the PricingPlan field's value.
13527func (s *UpdateRouteCalculatorInput) SetPricingPlan(v string) *UpdateRouteCalculatorInput {
13528	s.PricingPlan = &v
13529	return s
13530}
13531
13532type UpdateRouteCalculatorOutput struct {
13533	_ struct{} `type:"structure"`
13534
13535	// The Amazon Resource Name (ARN) of the updated route calculator resource.
13536	// Used to specify a resource across AWS.
13537	//
13538	//    * Format example: arn:aws:geo:region:account-id:route- calculator/ExampleCalculator
13539	//
13540	// CalculatorArn is a required field
13541	CalculatorArn *string `type:"string" required:"true"`
13542
13543	// The name of the updated route calculator resource.
13544	//
13545	// CalculatorName is a required field
13546	CalculatorName *string `min:"1" type:"string" required:"true"`
13547
13548	// The timestamp for when the route calculator was last updated in ISO 8601
13549	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
13550	//
13551	// UpdateTime is a required field
13552	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
13553}
13554
13555// String returns the string representation
13556func (s UpdateRouteCalculatorOutput) String() string {
13557	return awsutil.Prettify(s)
13558}
13559
13560// GoString returns the string representation
13561func (s UpdateRouteCalculatorOutput) GoString() string {
13562	return s.String()
13563}
13564
13565// SetCalculatorArn sets the CalculatorArn field's value.
13566func (s *UpdateRouteCalculatorOutput) SetCalculatorArn(v string) *UpdateRouteCalculatorOutput {
13567	s.CalculatorArn = &v
13568	return s
13569}
13570
13571// SetCalculatorName sets the CalculatorName field's value.
13572func (s *UpdateRouteCalculatorOutput) SetCalculatorName(v string) *UpdateRouteCalculatorOutput {
13573	s.CalculatorName = &v
13574	return s
13575}
13576
13577// SetUpdateTime sets the UpdateTime field's value.
13578func (s *UpdateRouteCalculatorOutput) SetUpdateTime(v time.Time) *UpdateRouteCalculatorOutput {
13579	s.UpdateTime = &v
13580	return s
13581}
13582
13583type UpdateTrackerInput struct {
13584	_ struct{} `type:"structure"`
13585
13586	// Updates the description for the tracker resource.
13587	Description *string `type:"string"`
13588
13589	// Updates the pricing plan for the tracker resource.
13590	//
13591	// For more information about each pricing plan option restrictions, see Amazon
13592	// Location Service pricing (https://aws.amazon.com/location/pricing/).
13593	PricingPlan *string `type:"string" enum:"PricingPlan"`
13594
13595	// Updates the data provider for the tracker resource.
13596	//
13597	// A required value for the following pricing plans: MobileAssetTracking| MobileAssetManagement
13598	//
13599	// For more information about data providers (https://aws.amazon.com/location/data-providers/)
13600	// and pricing plans (https://aws.amazon.com/location/pricing/), see the Amazon
13601	// Location Service product page
13602	//
13603	// This can only be updated when updating the PricingPlan in the same request.
13604	//
13605	// Amazon Location Service uses PricingPlanDataSource to calculate billing for
13606	// your tracker resource. Your data won't be shared with the data provider,
13607	// and will remain in your AWS account and Region unless you move it.
13608	PricingPlanDataSource *string `type:"string"`
13609
13610	// The name of the tracker resource to update.
13611	//
13612	// TrackerName is a required field
13613	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
13614}
13615
13616// String returns the string representation
13617func (s UpdateTrackerInput) String() string {
13618	return awsutil.Prettify(s)
13619}
13620
13621// GoString returns the string representation
13622func (s UpdateTrackerInput) GoString() string {
13623	return s.String()
13624}
13625
13626// Validate inspects the fields of the type to determine if they are valid.
13627func (s *UpdateTrackerInput) Validate() error {
13628	invalidParams := request.ErrInvalidParams{Context: "UpdateTrackerInput"}
13629	if s.TrackerName == nil {
13630		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
13631	}
13632	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
13633		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
13634	}
13635
13636	if invalidParams.Len() > 0 {
13637		return invalidParams
13638	}
13639	return nil
13640}
13641
13642// SetDescription sets the Description field's value.
13643func (s *UpdateTrackerInput) SetDescription(v string) *UpdateTrackerInput {
13644	s.Description = &v
13645	return s
13646}
13647
13648// SetPricingPlan sets the PricingPlan field's value.
13649func (s *UpdateTrackerInput) SetPricingPlan(v string) *UpdateTrackerInput {
13650	s.PricingPlan = &v
13651	return s
13652}
13653
13654// SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
13655func (s *UpdateTrackerInput) SetPricingPlanDataSource(v string) *UpdateTrackerInput {
13656	s.PricingPlanDataSource = &v
13657	return s
13658}
13659
13660// SetTrackerName sets the TrackerName field's value.
13661func (s *UpdateTrackerInput) SetTrackerName(v string) *UpdateTrackerInput {
13662	s.TrackerName = &v
13663	return s
13664}
13665
13666type UpdateTrackerOutput struct {
13667	_ struct{} `type:"structure"`
13668
13669	// The Amazon Resource Name (ARN) of the updated tracker resource. Used to specify
13670	// a resource across AWS.
13671	//
13672	//    * Format example: arn:aws:geo:region:account-id:tracker/ExampleTracker
13673	//
13674	// TrackerArn is a required field
13675	TrackerArn *string `type:"string" required:"true"`
13676
13677	// The name of the updated tracker resource.
13678	//
13679	// TrackerName is a required field
13680	TrackerName *string `min:"1" type:"string" required:"true"`
13681
13682	// The timestamp for when the tracker resource was last updated in ISO 8601
13683	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
13684	//
13685	// UpdateTime is a required field
13686	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
13687}
13688
13689// String returns the string representation
13690func (s UpdateTrackerOutput) String() string {
13691	return awsutil.Prettify(s)
13692}
13693
13694// GoString returns the string representation
13695func (s UpdateTrackerOutput) GoString() string {
13696	return s.String()
13697}
13698
13699// SetTrackerArn sets the TrackerArn field's value.
13700func (s *UpdateTrackerOutput) SetTrackerArn(v string) *UpdateTrackerOutput {
13701	s.TrackerArn = &v
13702	return s
13703}
13704
13705// SetTrackerName sets the TrackerName field's value.
13706func (s *UpdateTrackerOutput) SetTrackerName(v string) *UpdateTrackerOutput {
13707	s.TrackerName = &v
13708	return s
13709}
13710
13711// SetUpdateTime sets the UpdateTime field's value.
13712func (s *UpdateTrackerOutput) SetUpdateTime(v time.Time) *UpdateTrackerOutput {
13713	s.UpdateTime = &v
13714	return s
13715}
13716
13717// The input failed to meet the constraints specified by the AWS service.
13718type ValidationException struct {
13719	_            struct{}                  `type:"structure"`
13720	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13721
13722	// The field where the invalid entry was detected.
13723	//
13724	// FieldList is a required field
13725	FieldList []*ValidationExceptionField `locationName:"fieldList" type:"list" required:"true"`
13726
13727	Message_ *string `locationName:"message" type:"string"`
13728
13729	// A message with the reason for the validation exception error.
13730	//
13731	// Reason is a required field
13732	Reason *string `locationName:"reason" type:"string" required:"true" enum:"ValidationExceptionReason"`
13733}
13734
13735// String returns the string representation
13736func (s ValidationException) String() string {
13737	return awsutil.Prettify(s)
13738}
13739
13740// GoString returns the string representation
13741func (s ValidationException) GoString() string {
13742	return s.String()
13743}
13744
13745func newErrorValidationException(v protocol.ResponseMetadata) error {
13746	return &ValidationException{
13747		RespMetadata: v,
13748	}
13749}
13750
13751// Code returns the exception type name.
13752func (s *ValidationException) Code() string {
13753	return "ValidationException"
13754}
13755
13756// Message returns the exception's message.
13757func (s *ValidationException) Message() string {
13758	if s.Message_ != nil {
13759		return *s.Message_
13760	}
13761	return ""
13762}
13763
13764// OrigErr always returns nil, satisfies awserr.Error interface.
13765func (s *ValidationException) OrigErr() error {
13766	return nil
13767}
13768
13769func (s *ValidationException) Error() string {
13770	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13771}
13772
13773// Status code returns the HTTP status code for the request's response error.
13774func (s *ValidationException) StatusCode() int {
13775	return s.RespMetadata.StatusCode
13776}
13777
13778// RequestID returns the service's response RequestID for request.
13779func (s *ValidationException) RequestID() string {
13780	return s.RespMetadata.RequestID
13781}
13782
13783// The input failed to meet the constraints specified by the AWS service in
13784// a specified field.
13785type ValidationExceptionField struct {
13786	_ struct{} `type:"structure"`
13787
13788	// A message with the reason for the validation exception error.
13789	//
13790	// Message is a required field
13791	Message *string `locationName:"message" type:"string" required:"true"`
13792
13793	// The field name where the invalid entry was detected.
13794	//
13795	// Name is a required field
13796	Name *string `locationName:"name" type:"string" required:"true"`
13797}
13798
13799// String returns the string representation
13800func (s ValidationExceptionField) String() string {
13801	return awsutil.Prettify(s)
13802}
13803
13804// GoString returns the string representation
13805func (s ValidationExceptionField) GoString() string {
13806	return s.String()
13807}
13808
13809// SetMessage sets the Message field's value.
13810func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
13811	s.Message = &v
13812	return s
13813}
13814
13815// SetName sets the Name field's value.
13816func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
13817	s.Name = &v
13818	return s
13819}
13820
13821const (
13822	// BatchItemErrorCodeAccessDeniedError is a BatchItemErrorCode enum value
13823	BatchItemErrorCodeAccessDeniedError = "AccessDeniedError"
13824
13825	// BatchItemErrorCodeConflictError is a BatchItemErrorCode enum value
13826	BatchItemErrorCodeConflictError = "ConflictError"
13827
13828	// BatchItemErrorCodeInternalServerError is a BatchItemErrorCode enum value
13829	BatchItemErrorCodeInternalServerError = "InternalServerError"
13830
13831	// BatchItemErrorCodeResourceNotFoundError is a BatchItemErrorCode enum value
13832	BatchItemErrorCodeResourceNotFoundError = "ResourceNotFoundError"
13833
13834	// BatchItemErrorCodeThrottlingError is a BatchItemErrorCode enum value
13835	BatchItemErrorCodeThrottlingError = "ThrottlingError"
13836
13837	// BatchItemErrorCodeValidationError is a BatchItemErrorCode enum value
13838	BatchItemErrorCodeValidationError = "ValidationError"
13839)
13840
13841// BatchItemErrorCode_Values returns all elements of the BatchItemErrorCode enum
13842func BatchItemErrorCode_Values() []string {
13843	return []string{
13844		BatchItemErrorCodeAccessDeniedError,
13845		BatchItemErrorCodeConflictError,
13846		BatchItemErrorCodeInternalServerError,
13847		BatchItemErrorCodeResourceNotFoundError,
13848		BatchItemErrorCodeThrottlingError,
13849		BatchItemErrorCodeValidationError,
13850	}
13851}
13852
13853const (
13854	// DimensionUnitMeters is a DimensionUnit enum value
13855	DimensionUnitMeters = "Meters"
13856
13857	// DimensionUnitFeet is a DimensionUnit enum value
13858	DimensionUnitFeet = "Feet"
13859)
13860
13861// DimensionUnit_Values returns all elements of the DimensionUnit enum
13862func DimensionUnit_Values() []string {
13863	return []string{
13864		DimensionUnitMeters,
13865		DimensionUnitFeet,
13866	}
13867}
13868
13869const (
13870	// DistanceUnitKilometers is a DistanceUnit enum value
13871	DistanceUnitKilometers = "Kilometers"
13872
13873	// DistanceUnitMiles is a DistanceUnit enum value
13874	DistanceUnitMiles = "Miles"
13875)
13876
13877// DistanceUnit_Values returns all elements of the DistanceUnit enum
13878func DistanceUnit_Values() []string {
13879	return []string{
13880		DistanceUnitKilometers,
13881		DistanceUnitMiles,
13882	}
13883}
13884
13885const (
13886	// IntendedUseSingleUse is a IntendedUse enum value
13887	IntendedUseSingleUse = "SingleUse"
13888
13889	// IntendedUseStorage is a IntendedUse enum value
13890	IntendedUseStorage = "Storage"
13891)
13892
13893// IntendedUse_Values returns all elements of the IntendedUse enum
13894func IntendedUse_Values() []string {
13895	return []string{
13896		IntendedUseSingleUse,
13897		IntendedUseStorage,
13898	}
13899}
13900
13901const (
13902	// PricingPlanRequestBasedUsage is a PricingPlan enum value
13903	PricingPlanRequestBasedUsage = "RequestBasedUsage"
13904
13905	// PricingPlanMobileAssetTracking is a PricingPlan enum value
13906	PricingPlanMobileAssetTracking = "MobileAssetTracking"
13907
13908	// PricingPlanMobileAssetManagement is a PricingPlan enum value
13909	PricingPlanMobileAssetManagement = "MobileAssetManagement"
13910)
13911
13912// PricingPlan_Values returns all elements of the PricingPlan enum
13913func PricingPlan_Values() []string {
13914	return []string{
13915		PricingPlanRequestBasedUsage,
13916		PricingPlanMobileAssetTracking,
13917		PricingPlanMobileAssetManagement,
13918	}
13919}
13920
13921const (
13922	// TravelModeCar is a TravelMode enum value
13923	TravelModeCar = "Car"
13924
13925	// TravelModeTruck is a TravelMode enum value
13926	TravelModeTruck = "Truck"
13927
13928	// TravelModeWalking is a TravelMode enum value
13929	TravelModeWalking = "Walking"
13930)
13931
13932// TravelMode_Values returns all elements of the TravelMode enum
13933func TravelMode_Values() []string {
13934	return []string{
13935		TravelModeCar,
13936		TravelModeTruck,
13937		TravelModeWalking,
13938	}
13939}
13940
13941const (
13942	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
13943	ValidationExceptionReasonUnknownOperation = "UnknownOperation"
13944
13945	// ValidationExceptionReasonMissing is a ValidationExceptionReason enum value
13946	ValidationExceptionReasonMissing = "Missing"
13947
13948	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
13949	ValidationExceptionReasonCannotParse = "CannotParse"
13950
13951	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
13952	ValidationExceptionReasonFieldValidationFailed = "FieldValidationFailed"
13953
13954	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
13955	ValidationExceptionReasonOther = "Other"
13956)
13957
13958// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
13959func ValidationExceptionReason_Values() []string {
13960	return []string{
13961		ValidationExceptionReasonUnknownOperation,
13962		ValidationExceptionReasonMissing,
13963		ValidationExceptionReasonCannotParse,
13964		ValidationExceptionReasonFieldValidationFailed,
13965		ValidationExceptionReasonOther,
13966	}
13967}
13968
13969const (
13970	// VehicleWeightUnitKilograms is a VehicleWeightUnit enum value
13971	VehicleWeightUnitKilograms = "Kilograms"
13972
13973	// VehicleWeightUnitPounds is a VehicleWeightUnit enum value
13974	VehicleWeightUnitPounds = "Pounds"
13975)
13976
13977// VehicleWeightUnit_Values returns all elements of the VehicleWeightUnit enum
13978func VehicleWeightUnit_Values() []string {
13979	return []string{
13980		VehicleWeightUnitKilograms,
13981		VehicleWeightUnitPounds,
13982	}
13983}
13984