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// Currently not supported — Cross-account configurations, such as creating
68// associations between a tracker resource in one account and a geofence collection
69// in another account.
70//
71// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
72// with awserr.Error's Code and Message methods to get detailed information about
73// the error.
74//
75// See the AWS API reference guide for Amazon Location Service's
76// API operation AssociateTrackerConsumer for usage and error information.
77//
78// Returned Error Types:
79//   * InternalServerException
80//   The request has failed to process because of an unknown server error, exception,
81//   or failure.
82//
83//   * ResourceNotFoundException
84//   The resource that you've entered was not found in your AWS account.
85//
86//   * ConflictException
87//   The request was unsuccessful due to a conflict.
88//
89//   * AccessDeniedException
90//   The request was denied due to insufficient access or permission. Check with
91//   an administrator to verify your permissions.
92//
93//   * ValidationException
94//   The input failed to meet the constraints specified by the AWS service.
95//
96//   * ThrottlingException
97//   The request was denied due to request throttling.
98//
99// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/AssociateTrackerConsumer
100func (c *LocationService) AssociateTrackerConsumer(input *AssociateTrackerConsumerInput) (*AssociateTrackerConsumerOutput, error) {
101	req, out := c.AssociateTrackerConsumerRequest(input)
102	return out, req.Send()
103}
104
105// AssociateTrackerConsumerWithContext is the same as AssociateTrackerConsumer with the addition of
106// the ability to pass a context and additional request options.
107//
108// See AssociateTrackerConsumer for details on how to use this API operation.
109//
110// The context must be non-nil and will be used for request cancellation. If
111// the context is nil a panic will occur. In the future the SDK may create
112// sub-contexts for http.Requests. See https://golang.org/pkg/context/
113// for more information on using Contexts.
114func (c *LocationService) AssociateTrackerConsumerWithContext(ctx aws.Context, input *AssociateTrackerConsumerInput, opts ...request.Option) (*AssociateTrackerConsumerOutput, error) {
115	req, out := c.AssociateTrackerConsumerRequest(input)
116	req.SetContext(ctx)
117	req.ApplyOptions(opts...)
118	return out, req.Send()
119}
120
121const opBatchDeleteGeofence = "BatchDeleteGeofence"
122
123// BatchDeleteGeofenceRequest generates a "aws/request.Request" representing the
124// client's request for the BatchDeleteGeofence operation. The "output" return
125// value will be populated with the request's response once the request completes
126// successfully.
127//
128// Use "Send" method on the returned Request to send the API call to the service.
129// the "output" return value is not valid until after Send returns without error.
130//
131// See BatchDeleteGeofence for more information on using the BatchDeleteGeofence
132// API call, and error handling.
133//
134// This method is useful when you want to inject custom logic or configuration
135// into the SDK's request lifecycle. Such as custom headers, or retry logic.
136//
137//
138//    // Example sending a request using the BatchDeleteGeofenceRequest method.
139//    req, resp := client.BatchDeleteGeofenceRequest(params)
140//
141//    err := req.Send()
142//    if err == nil { // resp is now filled
143//        fmt.Println(resp)
144//    }
145//
146// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchDeleteGeofence
147func (c *LocationService) BatchDeleteGeofenceRequest(input *BatchDeleteGeofenceInput) (req *request.Request, output *BatchDeleteGeofenceOutput) {
148	op := &request.Operation{
149		Name:       opBatchDeleteGeofence,
150		HTTPMethod: "POST",
151		HTTPPath:   "/geofencing/v0/collections/{CollectionName}/delete-geofences",
152	}
153
154	if input == nil {
155		input = &BatchDeleteGeofenceInput{}
156	}
157
158	output = &BatchDeleteGeofenceOutput{}
159	req = c.newRequest(op, input, output)
160	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
161	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
162	return
163}
164
165// BatchDeleteGeofence API operation for Amazon Location Service.
166//
167// Deletes a batch of geofences from a geofence collection.
168//
169// This action deletes the resource permanently. You can't undo this action.
170//
171// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
172// with awserr.Error's Code and Message methods to get detailed information about
173// the error.
174//
175// See the AWS API reference guide for Amazon Location Service's
176// API operation BatchDeleteGeofence for usage and error information.
177//
178// Returned Error Types:
179//   * InternalServerException
180//   The request has failed to process because of an unknown server error, exception,
181//   or failure.
182//
183//   * ResourceNotFoundException
184//   The resource that you've entered was not found in your AWS account.
185//
186//   * AccessDeniedException
187//   The request was denied due to insufficient access or permission. Check with
188//   an administrator to verify your permissions.
189//
190//   * ValidationException
191//   The input failed to meet the constraints specified by the AWS service.
192//
193//   * ThrottlingException
194//   The request was denied due to request throttling.
195//
196// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchDeleteGeofence
197func (c *LocationService) BatchDeleteGeofence(input *BatchDeleteGeofenceInput) (*BatchDeleteGeofenceOutput, error) {
198	req, out := c.BatchDeleteGeofenceRequest(input)
199	return out, req.Send()
200}
201
202// BatchDeleteGeofenceWithContext is the same as BatchDeleteGeofence with the addition of
203// the ability to pass a context and additional request options.
204//
205// See BatchDeleteGeofence for details on how to use this API operation.
206//
207// The context must be non-nil and will be used for request cancellation. If
208// the context is nil a panic will occur. In the future the SDK may create
209// sub-contexts for http.Requests. See https://golang.org/pkg/context/
210// for more information on using Contexts.
211func (c *LocationService) BatchDeleteGeofenceWithContext(ctx aws.Context, input *BatchDeleteGeofenceInput, opts ...request.Option) (*BatchDeleteGeofenceOutput, error) {
212	req, out := c.BatchDeleteGeofenceRequest(input)
213	req.SetContext(ctx)
214	req.ApplyOptions(opts...)
215	return out, req.Send()
216}
217
218const opBatchEvaluateGeofences = "BatchEvaluateGeofences"
219
220// BatchEvaluateGeofencesRequest generates a "aws/request.Request" representing the
221// client's request for the BatchEvaluateGeofences operation. The "output" return
222// value will be populated with the request's response once the request completes
223// successfully.
224//
225// Use "Send" method on the returned Request to send the API call to the service.
226// the "output" return value is not valid until after Send returns without error.
227//
228// See BatchEvaluateGeofences for more information on using the BatchEvaluateGeofences
229// API call, and error handling.
230//
231// This method is useful when you want to inject custom logic or configuration
232// into the SDK's request lifecycle. Such as custom headers, or retry logic.
233//
234//
235//    // Example sending a request using the BatchEvaluateGeofencesRequest method.
236//    req, resp := client.BatchEvaluateGeofencesRequest(params)
237//
238//    err := req.Send()
239//    if err == nil { // resp is now filled
240//        fmt.Println(resp)
241//    }
242//
243// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchEvaluateGeofences
244func (c *LocationService) BatchEvaluateGeofencesRequest(input *BatchEvaluateGeofencesInput) (req *request.Request, output *BatchEvaluateGeofencesOutput) {
245	op := &request.Operation{
246		Name:       opBatchEvaluateGeofences,
247		HTTPMethod: "POST",
248		HTTPPath:   "/geofencing/v0/collections/{CollectionName}/positions",
249	}
250
251	if input == nil {
252		input = &BatchEvaluateGeofencesInput{}
253	}
254
255	output = &BatchEvaluateGeofencesOutput{}
256	req = c.newRequest(op, input, output)
257	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
258	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
259	return
260}
261
262// BatchEvaluateGeofences API operation for Amazon Location Service.
263//
264// Evaluates device positions against the geofence geometries from a given geofence
265// collection. The evaluation determines if the device has entered or exited
266// a geofenced area, which publishes ENTER or EXIT geofence events to Amazon
267// EventBridge.
268//
269// The last geofence that a device was observed within, if any, is tracked for
270// 30 days after the most recent device position update
271//
272// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
273// with awserr.Error's Code and Message methods to get detailed information about
274// the error.
275//
276// See the AWS API reference guide for Amazon Location Service's
277// API operation BatchEvaluateGeofences for usage and error information.
278//
279// Returned Error Types:
280//   * InternalServerException
281//   The request has failed to process because of an unknown server error, exception,
282//   or failure.
283//
284//   * ResourceNotFoundException
285//   The resource that you've entered was not found in your AWS account.
286//
287//   * AccessDeniedException
288//   The request was denied due to insufficient access or permission. Check with
289//   an administrator to verify your permissions.
290//
291//   * ValidationException
292//   The input failed to meet the constraints specified by the AWS service.
293//
294//   * ThrottlingException
295//   The request was denied due to request throttling.
296//
297// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchEvaluateGeofences
298func (c *LocationService) BatchEvaluateGeofences(input *BatchEvaluateGeofencesInput) (*BatchEvaluateGeofencesOutput, error) {
299	req, out := c.BatchEvaluateGeofencesRequest(input)
300	return out, req.Send()
301}
302
303// BatchEvaluateGeofencesWithContext is the same as BatchEvaluateGeofences with the addition of
304// the ability to pass a context and additional request options.
305//
306// See BatchEvaluateGeofences for details on how to use this API operation.
307//
308// The context must be non-nil and will be used for request cancellation. If
309// the context is nil a panic will occur. In the future the SDK may create
310// sub-contexts for http.Requests. See https://golang.org/pkg/context/
311// for more information on using Contexts.
312func (c *LocationService) BatchEvaluateGeofencesWithContext(ctx aws.Context, input *BatchEvaluateGeofencesInput, opts ...request.Option) (*BatchEvaluateGeofencesOutput, error) {
313	req, out := c.BatchEvaluateGeofencesRequest(input)
314	req.SetContext(ctx)
315	req.ApplyOptions(opts...)
316	return out, req.Send()
317}
318
319const opBatchGetDevicePosition = "BatchGetDevicePosition"
320
321// BatchGetDevicePositionRequest generates a "aws/request.Request" representing the
322// client's request for the BatchGetDevicePosition operation. The "output" return
323// value will be populated with the request's response once the request completes
324// successfully.
325//
326// Use "Send" method on the returned Request to send the API call to the service.
327// the "output" return value is not valid until after Send returns without error.
328//
329// See BatchGetDevicePosition for more information on using the BatchGetDevicePosition
330// API call, and error handling.
331//
332// This method is useful when you want to inject custom logic or configuration
333// into the SDK's request lifecycle. Such as custom headers, or retry logic.
334//
335//
336//    // Example sending a request using the BatchGetDevicePositionRequest method.
337//    req, resp := client.BatchGetDevicePositionRequest(params)
338//
339//    err := req.Send()
340//    if err == nil { // resp is now filled
341//        fmt.Println(resp)
342//    }
343//
344// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchGetDevicePosition
345func (c *LocationService) BatchGetDevicePositionRequest(input *BatchGetDevicePositionInput) (req *request.Request, output *BatchGetDevicePositionOutput) {
346	op := &request.Operation{
347		Name:       opBatchGetDevicePosition,
348		HTTPMethod: "POST",
349		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/get-positions",
350	}
351
352	if input == nil {
353		input = &BatchGetDevicePositionInput{}
354	}
355
356	output = &BatchGetDevicePositionOutput{}
357	req = c.newRequest(op, input, output)
358	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
359	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
360	return
361}
362
363// BatchGetDevicePosition API operation for Amazon Location Service.
364//
365// A batch request to retrieve all device positions.
366//
367// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
368// with awserr.Error's Code and Message methods to get detailed information about
369// the error.
370//
371// See the AWS API reference guide for Amazon Location Service's
372// API operation BatchGetDevicePosition for usage and error information.
373//
374// Returned Error Types:
375//   * InternalServerException
376//   The request has failed to process because of an unknown server error, exception,
377//   or failure.
378//
379//   * ResourceNotFoundException
380//   The resource that you've entered was not found in your AWS account.
381//
382//   * AccessDeniedException
383//   The request was denied due to insufficient access or permission. Check with
384//   an administrator to verify your permissions.
385//
386//   * ValidationException
387//   The input failed to meet the constraints specified by the AWS service.
388//
389//   * ThrottlingException
390//   The request was denied due to request throttling.
391//
392// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchGetDevicePosition
393func (c *LocationService) BatchGetDevicePosition(input *BatchGetDevicePositionInput) (*BatchGetDevicePositionOutput, error) {
394	req, out := c.BatchGetDevicePositionRequest(input)
395	return out, req.Send()
396}
397
398// BatchGetDevicePositionWithContext is the same as BatchGetDevicePosition with the addition of
399// the ability to pass a context and additional request options.
400//
401// See BatchGetDevicePosition for details on how to use this API operation.
402//
403// The context must be non-nil and will be used for request cancellation. If
404// the context is nil a panic will occur. In the future the SDK may create
405// sub-contexts for http.Requests. See https://golang.org/pkg/context/
406// for more information on using Contexts.
407func (c *LocationService) BatchGetDevicePositionWithContext(ctx aws.Context, input *BatchGetDevicePositionInput, opts ...request.Option) (*BatchGetDevicePositionOutput, error) {
408	req, out := c.BatchGetDevicePositionRequest(input)
409	req.SetContext(ctx)
410	req.ApplyOptions(opts...)
411	return out, req.Send()
412}
413
414const opBatchPutGeofence = "BatchPutGeofence"
415
416// BatchPutGeofenceRequest generates a "aws/request.Request" representing the
417// client's request for the BatchPutGeofence operation. The "output" return
418// value will be populated with the request's response once the request completes
419// successfully.
420//
421// Use "Send" method on the returned Request to send the API call to the service.
422// the "output" return value is not valid until after Send returns without error.
423//
424// See BatchPutGeofence for more information on using the BatchPutGeofence
425// API call, and error handling.
426//
427// This method is useful when you want to inject custom logic or configuration
428// into the SDK's request lifecycle. Such as custom headers, or retry logic.
429//
430//
431//    // Example sending a request using the BatchPutGeofenceRequest method.
432//    req, resp := client.BatchPutGeofenceRequest(params)
433//
434//    err := req.Send()
435//    if err == nil { // resp is now filled
436//        fmt.Println(resp)
437//    }
438//
439// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchPutGeofence
440func (c *LocationService) BatchPutGeofenceRequest(input *BatchPutGeofenceInput) (req *request.Request, output *BatchPutGeofenceOutput) {
441	op := &request.Operation{
442		Name:       opBatchPutGeofence,
443		HTTPMethod: "POST",
444		HTTPPath:   "/geofencing/v0/collections/{CollectionName}/put-geofences",
445	}
446
447	if input == nil {
448		input = &BatchPutGeofenceInput{}
449	}
450
451	output = &BatchPutGeofenceOutput{}
452	req = c.newRequest(op, input, output)
453	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
454	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
455	return
456}
457
458// BatchPutGeofence API operation for Amazon Location Service.
459//
460// A batch request for storing geofence geometries into a given geofence collection.
461//
462// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
463// with awserr.Error's Code and Message methods to get detailed information about
464// the error.
465//
466// See the AWS API reference guide for Amazon Location Service's
467// API operation BatchPutGeofence for usage and error information.
468//
469// Returned Error Types:
470//   * InternalServerException
471//   The request has failed to process because of an unknown server error, exception,
472//   or failure.
473//
474//   * ResourceNotFoundException
475//   The resource that you've entered was not found in your AWS account.
476//
477//   * AccessDeniedException
478//   The request was denied due to insufficient access or permission. Check with
479//   an administrator to verify your permissions.
480//
481//   * ValidationException
482//   The input failed to meet the constraints specified by the AWS service.
483//
484//   * ThrottlingException
485//   The request was denied due to request throttling.
486//
487// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchPutGeofence
488func (c *LocationService) BatchPutGeofence(input *BatchPutGeofenceInput) (*BatchPutGeofenceOutput, error) {
489	req, out := c.BatchPutGeofenceRequest(input)
490	return out, req.Send()
491}
492
493// BatchPutGeofenceWithContext is the same as BatchPutGeofence with the addition of
494// the ability to pass a context and additional request options.
495//
496// See BatchPutGeofence for details on how to use this API operation.
497//
498// The context must be non-nil and will be used for request cancellation. If
499// the context is nil a panic will occur. In the future the SDK may create
500// sub-contexts for http.Requests. See https://golang.org/pkg/context/
501// for more information on using Contexts.
502func (c *LocationService) BatchPutGeofenceWithContext(ctx aws.Context, input *BatchPutGeofenceInput, opts ...request.Option) (*BatchPutGeofenceOutput, error) {
503	req, out := c.BatchPutGeofenceRequest(input)
504	req.SetContext(ctx)
505	req.ApplyOptions(opts...)
506	return out, req.Send()
507}
508
509const opBatchUpdateDevicePosition = "BatchUpdateDevicePosition"
510
511// BatchUpdateDevicePositionRequest generates a "aws/request.Request" representing the
512// client's request for the BatchUpdateDevicePosition operation. The "output" return
513// value will be populated with the request's response once the request completes
514// successfully.
515//
516// Use "Send" method on the returned Request to send the API call to the service.
517// the "output" return value is not valid until after Send returns without error.
518//
519// See BatchUpdateDevicePosition for more information on using the BatchUpdateDevicePosition
520// API call, and error handling.
521//
522// This method is useful when you want to inject custom logic or configuration
523// into the SDK's request lifecycle. Such as custom headers, or retry logic.
524//
525//
526//    // Example sending a request using the BatchUpdateDevicePositionRequest method.
527//    req, resp := client.BatchUpdateDevicePositionRequest(params)
528//
529//    err := req.Send()
530//    if err == nil { // resp is now filled
531//        fmt.Println(resp)
532//    }
533//
534// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchUpdateDevicePosition
535func (c *LocationService) BatchUpdateDevicePositionRequest(input *BatchUpdateDevicePositionInput) (req *request.Request, output *BatchUpdateDevicePositionOutput) {
536	op := &request.Operation{
537		Name:       opBatchUpdateDevicePosition,
538		HTTPMethod: "POST",
539		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/positions",
540	}
541
542	if input == nil {
543		input = &BatchUpdateDevicePositionInput{}
544	}
545
546	output = &BatchUpdateDevicePositionOutput{}
547	req = c.newRequest(op, input, output)
548	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
549	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
550	return
551}
552
553// BatchUpdateDevicePosition API operation for Amazon Location Service.
554//
555// Uploads position update data for one or more devices to a tracker resource.
556// Amazon Location uses the data when reporting the last known device position
557// and position history.
558//
559// Only one position update is stored per sample time. Location data is sampled
560// at a fixed rate of one position per 30-second interval, and retained for
561// one year before it is deleted.
562//
563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
564// with awserr.Error's Code and Message methods to get detailed information about
565// the error.
566//
567// See the AWS API reference guide for Amazon Location Service's
568// API operation BatchUpdateDevicePosition for usage and error information.
569//
570// Returned Error Types:
571//   * InternalServerException
572//   The request has failed to process because of an unknown server error, exception,
573//   or failure.
574//
575//   * ResourceNotFoundException
576//   The resource that you've entered was not found in your AWS account.
577//
578//   * AccessDeniedException
579//   The request was denied due to insufficient access or permission. Check with
580//   an administrator to verify your permissions.
581//
582//   * ValidationException
583//   The input failed to meet the constraints specified by the AWS service.
584//
585//   * ThrottlingException
586//   The request was denied due to request throttling.
587//
588// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/BatchUpdateDevicePosition
589func (c *LocationService) BatchUpdateDevicePosition(input *BatchUpdateDevicePositionInput) (*BatchUpdateDevicePositionOutput, error) {
590	req, out := c.BatchUpdateDevicePositionRequest(input)
591	return out, req.Send()
592}
593
594// BatchUpdateDevicePositionWithContext is the same as BatchUpdateDevicePosition with the addition of
595// the ability to pass a context and additional request options.
596//
597// See BatchUpdateDevicePosition for details on how to use this API operation.
598//
599// The context must be non-nil and will be used for request cancellation. If
600// the context is nil a panic will occur. In the future the SDK may create
601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
602// for more information on using Contexts.
603func (c *LocationService) BatchUpdateDevicePositionWithContext(ctx aws.Context, input *BatchUpdateDevicePositionInput, opts ...request.Option) (*BatchUpdateDevicePositionOutput, error) {
604	req, out := c.BatchUpdateDevicePositionRequest(input)
605	req.SetContext(ctx)
606	req.ApplyOptions(opts...)
607	return out, req.Send()
608}
609
610const opCreateGeofenceCollection = "CreateGeofenceCollection"
611
612// CreateGeofenceCollectionRequest generates a "aws/request.Request" representing the
613// client's request for the CreateGeofenceCollection operation. The "output" return
614// value will be populated with the request's response once the request completes
615// successfully.
616//
617// Use "Send" method on the returned Request to send the API call to the service.
618// the "output" return value is not valid until after Send returns without error.
619//
620// See CreateGeofenceCollection for more information on using the CreateGeofenceCollection
621// API call, and error handling.
622//
623// This method is useful when you want to inject custom logic or configuration
624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
625//
626//
627//    // Example sending a request using the CreateGeofenceCollectionRequest method.
628//    req, resp := client.CreateGeofenceCollectionRequest(params)
629//
630//    err := req.Send()
631//    if err == nil { // resp is now filled
632//        fmt.Println(resp)
633//    }
634//
635// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateGeofenceCollection
636func (c *LocationService) CreateGeofenceCollectionRequest(input *CreateGeofenceCollectionInput) (req *request.Request, output *CreateGeofenceCollectionOutput) {
637	op := &request.Operation{
638		Name:       opCreateGeofenceCollection,
639		HTTPMethod: "POST",
640		HTTPPath:   "/geofencing/v0/collections",
641	}
642
643	if input == nil {
644		input = &CreateGeofenceCollectionInput{}
645	}
646
647	output = &CreateGeofenceCollectionOutput{}
648	req = c.newRequest(op, input, output)
649	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
650	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
651	return
652}
653
654// CreateGeofenceCollection API operation for Amazon Location Service.
655//
656// Creates a geofence collection, which manages and stores geofences.
657//
658// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
659// with awserr.Error's Code and Message methods to get detailed information about
660// the error.
661//
662// See the AWS API reference guide for Amazon Location Service's
663// API operation CreateGeofenceCollection for usage and error information.
664//
665// Returned Error Types:
666//   * InternalServerException
667//   The request has failed to process because of an unknown server error, exception,
668//   or failure.
669//
670//   * ConflictException
671//   The request was unsuccessful due to a conflict.
672//
673//   * AccessDeniedException
674//   The request was denied due to insufficient access or permission. Check with
675//   an administrator to verify your permissions.
676//
677//   * ValidationException
678//   The input failed to meet the constraints specified by the AWS service.
679//
680//   * ThrottlingException
681//   The request was denied due to request throttling.
682//
683// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateGeofenceCollection
684func (c *LocationService) CreateGeofenceCollection(input *CreateGeofenceCollectionInput) (*CreateGeofenceCollectionOutput, error) {
685	req, out := c.CreateGeofenceCollectionRequest(input)
686	return out, req.Send()
687}
688
689// CreateGeofenceCollectionWithContext is the same as CreateGeofenceCollection with the addition of
690// the ability to pass a context and additional request options.
691//
692// See CreateGeofenceCollection for details on how to use this API operation.
693//
694// The context must be non-nil and will be used for request cancellation. If
695// the context is nil a panic will occur. In the future the SDK may create
696// sub-contexts for http.Requests. See https://golang.org/pkg/context/
697// for more information on using Contexts.
698func (c *LocationService) CreateGeofenceCollectionWithContext(ctx aws.Context, input *CreateGeofenceCollectionInput, opts ...request.Option) (*CreateGeofenceCollectionOutput, error) {
699	req, out := c.CreateGeofenceCollectionRequest(input)
700	req.SetContext(ctx)
701	req.ApplyOptions(opts...)
702	return out, req.Send()
703}
704
705const opCreateMap = "CreateMap"
706
707// CreateMapRequest generates a "aws/request.Request" representing the
708// client's request for the CreateMap operation. The "output" return
709// value will be populated with the request's response once the request completes
710// successfully.
711//
712// Use "Send" method on the returned Request to send the API call to the service.
713// the "output" return value is not valid until after Send returns without error.
714//
715// See CreateMap for more information on using the CreateMap
716// API call, and error handling.
717//
718// This method is useful when you want to inject custom logic or configuration
719// into the SDK's request lifecycle. Such as custom headers, or retry logic.
720//
721//
722//    // Example sending a request using the CreateMapRequest method.
723//    req, resp := client.CreateMapRequest(params)
724//
725//    err := req.Send()
726//    if err == nil { // resp is now filled
727//        fmt.Println(resp)
728//    }
729//
730// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateMap
731func (c *LocationService) CreateMapRequest(input *CreateMapInput) (req *request.Request, output *CreateMapOutput) {
732	op := &request.Operation{
733		Name:       opCreateMap,
734		HTTPMethod: "POST",
735		HTTPPath:   "/maps/v0/maps",
736	}
737
738	if input == nil {
739		input = &CreateMapInput{}
740	}
741
742	output = &CreateMapOutput{}
743	req = c.newRequest(op, input, output)
744	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
745	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
746	return
747}
748
749// CreateMap API operation for Amazon Location Service.
750//
751// Creates a map resource in your AWS account, which provides map tiles of different
752// styles sourced from global location data providers.
753//
754// By using Maps, you agree that AWS may transmit your API queries to your selected
755// third party provider for processing, which may be outside the AWS region
756// you are currently using. For more information, see the AWS Service Terms
757// (https://aws.amazon.com/service-terms/) for Amazon Location Service.
758//
759// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
760// with awserr.Error's Code and Message methods to get detailed information about
761// the error.
762//
763// See the AWS API reference guide for Amazon Location Service's
764// API operation CreateMap for usage and error information.
765//
766// Returned Error Types:
767//   * InternalServerException
768//   The request has failed to process because of an unknown server error, exception,
769//   or failure.
770//
771//   * ConflictException
772//   The request was unsuccessful due to a conflict.
773//
774//   * AccessDeniedException
775//   The request was denied due to insufficient access or permission. Check with
776//   an administrator to verify your permissions.
777//
778//   * ValidationException
779//   The input failed to meet the constraints specified by the AWS service.
780//
781//   * ThrottlingException
782//   The request was denied due to request throttling.
783//
784// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateMap
785func (c *LocationService) CreateMap(input *CreateMapInput) (*CreateMapOutput, error) {
786	req, out := c.CreateMapRequest(input)
787	return out, req.Send()
788}
789
790// CreateMapWithContext is the same as CreateMap with the addition of
791// the ability to pass a context and additional request options.
792//
793// See CreateMap for details on how to use this API operation.
794//
795// The context must be non-nil and will be used for request cancellation. If
796// the context is nil a panic will occur. In the future the SDK may create
797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
798// for more information on using Contexts.
799func (c *LocationService) CreateMapWithContext(ctx aws.Context, input *CreateMapInput, opts ...request.Option) (*CreateMapOutput, error) {
800	req, out := c.CreateMapRequest(input)
801	req.SetContext(ctx)
802	req.ApplyOptions(opts...)
803	return out, req.Send()
804}
805
806const opCreatePlaceIndex = "CreatePlaceIndex"
807
808// CreatePlaceIndexRequest generates a "aws/request.Request" representing the
809// client's request for the CreatePlaceIndex operation. The "output" return
810// value will be populated with the request's response once the request completes
811// successfully.
812//
813// Use "Send" method on the returned Request to send the API call to the service.
814// the "output" return value is not valid until after Send returns without error.
815//
816// See CreatePlaceIndex for more information on using the CreatePlaceIndex
817// API call, and error handling.
818//
819// This method is useful when you want to inject custom logic or configuration
820// into the SDK's request lifecycle. Such as custom headers, or retry logic.
821//
822//
823//    // Example sending a request using the CreatePlaceIndexRequest method.
824//    req, resp := client.CreatePlaceIndexRequest(params)
825//
826//    err := req.Send()
827//    if err == nil { // resp is now filled
828//        fmt.Println(resp)
829//    }
830//
831// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreatePlaceIndex
832func (c *LocationService) CreatePlaceIndexRequest(input *CreatePlaceIndexInput) (req *request.Request, output *CreatePlaceIndexOutput) {
833	op := &request.Operation{
834		Name:       opCreatePlaceIndex,
835		HTTPMethod: "POST",
836		HTTPPath:   "/places/v0/indexes",
837	}
838
839	if input == nil {
840		input = &CreatePlaceIndexInput{}
841	}
842
843	output = &CreatePlaceIndexOutput{}
844	req = c.newRequest(op, input, output)
845	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
846	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
847	return
848}
849
850// CreatePlaceIndex API operation for Amazon Location Service.
851//
852// Creates a Place index resource in your AWS account, which supports Places
853// functions with geospatial data sourced from your chosen data provider.
854//
855// By using Places, you agree that AWS may transmit your API queries to your
856// selected third party provider for processing, which may be outside the AWS
857// region you are currently using.
858//
859// Because of licensing limitations, you may not use HERE to store results for
860// locations in Japan. For more information, see the AWS Service Terms (https://aws.amazon.com/service-terms/)
861// for Amazon Location Service.
862//
863// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
864// with awserr.Error's Code and Message methods to get detailed information about
865// the error.
866//
867// See the AWS API reference guide for Amazon Location Service's
868// API operation CreatePlaceIndex for usage and error information.
869//
870// Returned Error Types:
871//   * InternalServerException
872//   The request has failed to process because of an unknown server error, exception,
873//   or failure.
874//
875//   * ConflictException
876//   The request was unsuccessful due to a conflict.
877//
878//   * AccessDeniedException
879//   The request was denied due to insufficient access or permission. Check with
880//   an administrator to verify your permissions.
881//
882//   * ValidationException
883//   The input failed to meet the constraints specified by the AWS service.
884//
885//   * ThrottlingException
886//   The request was denied due to request throttling.
887//
888// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreatePlaceIndex
889func (c *LocationService) CreatePlaceIndex(input *CreatePlaceIndexInput) (*CreatePlaceIndexOutput, error) {
890	req, out := c.CreatePlaceIndexRequest(input)
891	return out, req.Send()
892}
893
894// CreatePlaceIndexWithContext is the same as CreatePlaceIndex with the addition of
895// the ability to pass a context and additional request options.
896//
897// See CreatePlaceIndex for details on how to use this API operation.
898//
899// The context must be non-nil and will be used for request cancellation. If
900// the context is nil a panic will occur. In the future the SDK may create
901// sub-contexts for http.Requests. See https://golang.org/pkg/context/
902// for more information on using Contexts.
903func (c *LocationService) CreatePlaceIndexWithContext(ctx aws.Context, input *CreatePlaceIndexInput, opts ...request.Option) (*CreatePlaceIndexOutput, error) {
904	req, out := c.CreatePlaceIndexRequest(input)
905	req.SetContext(ctx)
906	req.ApplyOptions(opts...)
907	return out, req.Send()
908}
909
910const opCreateTracker = "CreateTracker"
911
912// CreateTrackerRequest generates a "aws/request.Request" representing the
913// client's request for the CreateTracker operation. The "output" return
914// value will be populated with the request's response once the request completes
915// successfully.
916//
917// Use "Send" method on the returned Request to send the API call to the service.
918// the "output" return value is not valid until after Send returns without error.
919//
920// See CreateTracker for more information on using the CreateTracker
921// API call, and error handling.
922//
923// This method is useful when you want to inject custom logic or configuration
924// into the SDK's request lifecycle. Such as custom headers, or retry logic.
925//
926//
927//    // Example sending a request using the CreateTrackerRequest method.
928//    req, resp := client.CreateTrackerRequest(params)
929//
930//    err := req.Send()
931//    if err == nil { // resp is now filled
932//        fmt.Println(resp)
933//    }
934//
935// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateTracker
936func (c *LocationService) CreateTrackerRequest(input *CreateTrackerInput) (req *request.Request, output *CreateTrackerOutput) {
937	op := &request.Operation{
938		Name:       opCreateTracker,
939		HTTPMethod: "POST",
940		HTTPPath:   "/tracking/v0/trackers",
941	}
942
943	if input == nil {
944		input = &CreateTrackerInput{}
945	}
946
947	output = &CreateTrackerOutput{}
948	req = c.newRequest(op, input, output)
949	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
950	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
951	return
952}
953
954// CreateTracker API operation for Amazon Location Service.
955//
956// Creates a tracker resource in your AWS account, which lets you retrieve current
957// and historical location of devices.
958//
959// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
960// with awserr.Error's Code and Message methods to get detailed information about
961// the error.
962//
963// See the AWS API reference guide for Amazon Location Service's
964// API operation CreateTracker for usage and error information.
965//
966// Returned Error Types:
967//   * InternalServerException
968//   The request has failed to process because of an unknown server error, exception,
969//   or failure.
970//
971//   * ConflictException
972//   The request was unsuccessful due to a conflict.
973//
974//   * AccessDeniedException
975//   The request was denied due to insufficient access or permission. Check with
976//   an administrator to verify your permissions.
977//
978//   * ValidationException
979//   The input failed to meet the constraints specified by the AWS service.
980//
981//   * ThrottlingException
982//   The request was denied due to request throttling.
983//
984// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/CreateTracker
985func (c *LocationService) CreateTracker(input *CreateTrackerInput) (*CreateTrackerOutput, error) {
986	req, out := c.CreateTrackerRequest(input)
987	return out, req.Send()
988}
989
990// CreateTrackerWithContext is the same as CreateTracker with the addition of
991// the ability to pass a context and additional request options.
992//
993// See CreateTracker for details on how to use this API operation.
994//
995// The context must be non-nil and will be used for request cancellation. If
996// the context is nil a panic will occur. In the future the SDK may create
997// sub-contexts for http.Requests. See https://golang.org/pkg/context/
998// for more information on using Contexts.
999func (c *LocationService) CreateTrackerWithContext(ctx aws.Context, input *CreateTrackerInput, opts ...request.Option) (*CreateTrackerOutput, error) {
1000	req, out := c.CreateTrackerRequest(input)
1001	req.SetContext(ctx)
1002	req.ApplyOptions(opts...)
1003	return out, req.Send()
1004}
1005
1006const opDeleteGeofenceCollection = "DeleteGeofenceCollection"
1007
1008// DeleteGeofenceCollectionRequest generates a "aws/request.Request" representing the
1009// client's request for the DeleteGeofenceCollection operation. The "output" return
1010// value will be populated with the request's response once the request completes
1011// successfully.
1012//
1013// Use "Send" method on the returned Request to send the API call to the service.
1014// the "output" return value is not valid until after Send returns without error.
1015//
1016// See DeleteGeofenceCollection for more information on using the DeleteGeofenceCollection
1017// API call, and error handling.
1018//
1019// This method is useful when you want to inject custom logic or configuration
1020// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1021//
1022//
1023//    // Example sending a request using the DeleteGeofenceCollectionRequest method.
1024//    req, resp := client.DeleteGeofenceCollectionRequest(params)
1025//
1026//    err := req.Send()
1027//    if err == nil { // resp is now filled
1028//        fmt.Println(resp)
1029//    }
1030//
1031// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteGeofenceCollection
1032func (c *LocationService) DeleteGeofenceCollectionRequest(input *DeleteGeofenceCollectionInput) (req *request.Request, output *DeleteGeofenceCollectionOutput) {
1033	op := &request.Operation{
1034		Name:       opDeleteGeofenceCollection,
1035		HTTPMethod: "DELETE",
1036		HTTPPath:   "/geofencing/v0/collections/{CollectionName}",
1037	}
1038
1039	if input == nil {
1040		input = &DeleteGeofenceCollectionInput{}
1041	}
1042
1043	output = &DeleteGeofenceCollectionOutput{}
1044	req = c.newRequest(op, input, output)
1045	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1046	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
1047	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1048	return
1049}
1050
1051// DeleteGeofenceCollection API operation for Amazon Location Service.
1052//
1053// Deletes a geofence collection from your AWS account.
1054//
1055// This action deletes the resource permanently. You can't undo this action.
1056// If the geofence collection is the target of a tracker resource, the devices
1057// will no longer be monitored.
1058//
1059// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1060// with awserr.Error's Code and Message methods to get detailed information about
1061// the error.
1062//
1063// See the AWS API reference guide for Amazon Location Service's
1064// API operation DeleteGeofenceCollection for usage and error information.
1065//
1066// Returned Error Types:
1067//   * InternalServerException
1068//   The request has failed to process because of an unknown server error, exception,
1069//   or failure.
1070//
1071//   * ResourceNotFoundException
1072//   The resource that you've entered was not found in your AWS account.
1073//
1074//   * AccessDeniedException
1075//   The request was denied due to insufficient access or permission. Check with
1076//   an administrator to verify your permissions.
1077//
1078//   * ValidationException
1079//   The input failed to meet the constraints specified by the AWS service.
1080//
1081//   * ThrottlingException
1082//   The request was denied due to request throttling.
1083//
1084// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteGeofenceCollection
1085func (c *LocationService) DeleteGeofenceCollection(input *DeleteGeofenceCollectionInput) (*DeleteGeofenceCollectionOutput, error) {
1086	req, out := c.DeleteGeofenceCollectionRequest(input)
1087	return out, req.Send()
1088}
1089
1090// DeleteGeofenceCollectionWithContext is the same as DeleteGeofenceCollection with the addition of
1091// the ability to pass a context and additional request options.
1092//
1093// See DeleteGeofenceCollection for details on how to use this API operation.
1094//
1095// The context must be non-nil and will be used for request cancellation. If
1096// the context is nil a panic will occur. In the future the SDK may create
1097// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1098// for more information on using Contexts.
1099func (c *LocationService) DeleteGeofenceCollectionWithContext(ctx aws.Context, input *DeleteGeofenceCollectionInput, opts ...request.Option) (*DeleteGeofenceCollectionOutput, error) {
1100	req, out := c.DeleteGeofenceCollectionRequest(input)
1101	req.SetContext(ctx)
1102	req.ApplyOptions(opts...)
1103	return out, req.Send()
1104}
1105
1106const opDeleteMap = "DeleteMap"
1107
1108// DeleteMapRequest generates a "aws/request.Request" representing the
1109// client's request for the DeleteMap operation. The "output" return
1110// value will be populated with the request's response once the request completes
1111// successfully.
1112//
1113// Use "Send" method on the returned Request to send the API call to the service.
1114// the "output" return value is not valid until after Send returns without error.
1115//
1116// See DeleteMap for more information on using the DeleteMap
1117// API call, and error handling.
1118//
1119// This method is useful when you want to inject custom logic or configuration
1120// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1121//
1122//
1123//    // Example sending a request using the DeleteMapRequest method.
1124//    req, resp := client.DeleteMapRequest(params)
1125//
1126//    err := req.Send()
1127//    if err == nil { // resp is now filled
1128//        fmt.Println(resp)
1129//    }
1130//
1131// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteMap
1132func (c *LocationService) DeleteMapRequest(input *DeleteMapInput) (req *request.Request, output *DeleteMapOutput) {
1133	op := &request.Operation{
1134		Name:       opDeleteMap,
1135		HTTPMethod: "DELETE",
1136		HTTPPath:   "/maps/v0/maps/{MapName}",
1137	}
1138
1139	if input == nil {
1140		input = &DeleteMapInput{}
1141	}
1142
1143	output = &DeleteMapOutput{}
1144	req = c.newRequest(op, input, output)
1145	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1146	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
1147	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1148	return
1149}
1150
1151// DeleteMap API operation for Amazon Location Service.
1152//
1153// Deletes a map resource from your AWS account.
1154//
1155// This action deletes the resource permanently. You cannot undo this action.
1156// If the map is being used in an application, the map may not render.
1157//
1158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1159// with awserr.Error's Code and Message methods to get detailed information about
1160// the error.
1161//
1162// See the AWS API reference guide for Amazon Location Service's
1163// API operation DeleteMap for usage and error information.
1164//
1165// Returned Error Types:
1166//   * InternalServerException
1167//   The request has failed to process because of an unknown server error, exception,
1168//   or failure.
1169//
1170//   * ResourceNotFoundException
1171//   The resource that you've entered was not found in your AWS account.
1172//
1173//   * AccessDeniedException
1174//   The request was denied due to insufficient access or permission. Check with
1175//   an administrator to verify your permissions.
1176//
1177//   * ValidationException
1178//   The input failed to meet the constraints specified by the AWS service.
1179//
1180//   * ThrottlingException
1181//   The request was denied due to request throttling.
1182//
1183// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteMap
1184func (c *LocationService) DeleteMap(input *DeleteMapInput) (*DeleteMapOutput, error) {
1185	req, out := c.DeleteMapRequest(input)
1186	return out, req.Send()
1187}
1188
1189// DeleteMapWithContext is the same as DeleteMap with the addition of
1190// the ability to pass a context and additional request options.
1191//
1192// See DeleteMap for details on how to use this API operation.
1193//
1194// The context must be non-nil and will be used for request cancellation. If
1195// the context is nil a panic will occur. In the future the SDK may create
1196// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1197// for more information on using Contexts.
1198func (c *LocationService) DeleteMapWithContext(ctx aws.Context, input *DeleteMapInput, opts ...request.Option) (*DeleteMapOutput, error) {
1199	req, out := c.DeleteMapRequest(input)
1200	req.SetContext(ctx)
1201	req.ApplyOptions(opts...)
1202	return out, req.Send()
1203}
1204
1205const opDeletePlaceIndex = "DeletePlaceIndex"
1206
1207// DeletePlaceIndexRequest generates a "aws/request.Request" representing the
1208// client's request for the DeletePlaceIndex operation. The "output" return
1209// value will be populated with the request's response once the request completes
1210// successfully.
1211//
1212// Use "Send" method on the returned Request to send the API call to the service.
1213// the "output" return value is not valid until after Send returns without error.
1214//
1215// See DeletePlaceIndex for more information on using the DeletePlaceIndex
1216// API call, and error handling.
1217//
1218// This method is useful when you want to inject custom logic or configuration
1219// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1220//
1221//
1222//    // Example sending a request using the DeletePlaceIndexRequest method.
1223//    req, resp := client.DeletePlaceIndexRequest(params)
1224//
1225//    err := req.Send()
1226//    if err == nil { // resp is now filled
1227//        fmt.Println(resp)
1228//    }
1229//
1230// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeletePlaceIndex
1231func (c *LocationService) DeletePlaceIndexRequest(input *DeletePlaceIndexInput) (req *request.Request, output *DeletePlaceIndexOutput) {
1232	op := &request.Operation{
1233		Name:       opDeletePlaceIndex,
1234		HTTPMethod: "DELETE",
1235		HTTPPath:   "/places/v0/indexes/{IndexName}",
1236	}
1237
1238	if input == nil {
1239		input = &DeletePlaceIndexInput{}
1240	}
1241
1242	output = &DeletePlaceIndexOutput{}
1243	req = c.newRequest(op, input, output)
1244	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1245	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
1246	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1247	return
1248}
1249
1250// DeletePlaceIndex API operation for Amazon Location Service.
1251//
1252// Deletes a Place index resource from your AWS account.
1253//
1254// This action deletes the resource permanently. You cannot undo this action.
1255//
1256// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1257// with awserr.Error's Code and Message methods to get detailed information about
1258// the error.
1259//
1260// See the AWS API reference guide for Amazon Location Service's
1261// API operation DeletePlaceIndex for usage and error information.
1262//
1263// Returned Error Types:
1264//   * InternalServerException
1265//   The request has failed to process because of an unknown server error, exception,
1266//   or failure.
1267//
1268//   * ResourceNotFoundException
1269//   The resource that you've entered was not found in your AWS account.
1270//
1271//   * AccessDeniedException
1272//   The request was denied due to insufficient access or permission. Check with
1273//   an administrator to verify your permissions.
1274//
1275//   * ValidationException
1276//   The input failed to meet the constraints specified by the AWS service.
1277//
1278//   * ThrottlingException
1279//   The request was denied due to request throttling.
1280//
1281// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeletePlaceIndex
1282func (c *LocationService) DeletePlaceIndex(input *DeletePlaceIndexInput) (*DeletePlaceIndexOutput, error) {
1283	req, out := c.DeletePlaceIndexRequest(input)
1284	return out, req.Send()
1285}
1286
1287// DeletePlaceIndexWithContext is the same as DeletePlaceIndex with the addition of
1288// the ability to pass a context and additional request options.
1289//
1290// See DeletePlaceIndex for details on how to use this API operation.
1291//
1292// The context must be non-nil and will be used for request cancellation. If
1293// the context is nil a panic will occur. In the future the SDK may create
1294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1295// for more information on using Contexts.
1296func (c *LocationService) DeletePlaceIndexWithContext(ctx aws.Context, input *DeletePlaceIndexInput, opts ...request.Option) (*DeletePlaceIndexOutput, error) {
1297	req, out := c.DeletePlaceIndexRequest(input)
1298	req.SetContext(ctx)
1299	req.ApplyOptions(opts...)
1300	return out, req.Send()
1301}
1302
1303const opDeleteTracker = "DeleteTracker"
1304
1305// DeleteTrackerRequest generates a "aws/request.Request" representing the
1306// client's request for the DeleteTracker operation. The "output" return
1307// value will be populated with the request's response once the request completes
1308// successfully.
1309//
1310// Use "Send" method on the returned Request to send the API call to the service.
1311// the "output" return value is not valid until after Send returns without error.
1312//
1313// See DeleteTracker for more information on using the DeleteTracker
1314// API call, and error handling.
1315//
1316// This method is useful when you want to inject custom logic or configuration
1317// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1318//
1319//
1320//    // Example sending a request using the DeleteTrackerRequest method.
1321//    req, resp := client.DeleteTrackerRequest(params)
1322//
1323//    err := req.Send()
1324//    if err == nil { // resp is now filled
1325//        fmt.Println(resp)
1326//    }
1327//
1328// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteTracker
1329func (c *LocationService) DeleteTrackerRequest(input *DeleteTrackerInput) (req *request.Request, output *DeleteTrackerOutput) {
1330	op := &request.Operation{
1331		Name:       opDeleteTracker,
1332		HTTPMethod: "DELETE",
1333		HTTPPath:   "/tracking/v0/trackers/{TrackerName}",
1334	}
1335
1336	if input == nil {
1337		input = &DeleteTrackerInput{}
1338	}
1339
1340	output = &DeleteTrackerOutput{}
1341	req = c.newRequest(op, input, output)
1342	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1343	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
1344	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1345	return
1346}
1347
1348// DeleteTracker API operation for Amazon Location Service.
1349//
1350// Deletes a tracker resource from your AWS account.
1351//
1352// This action deletes the resource permanently. You can't undo this action.
1353// If the tracker resource is in use, you may encounter an error. Make sure
1354// that the target resource is not a dependency for your applications.
1355//
1356// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1357// with awserr.Error's Code and Message methods to get detailed information about
1358// the error.
1359//
1360// See the AWS API reference guide for Amazon Location Service's
1361// API operation DeleteTracker for usage and error information.
1362//
1363// Returned Error Types:
1364//   * InternalServerException
1365//   The request has failed to process because of an unknown server error, exception,
1366//   or failure.
1367//
1368//   * ResourceNotFoundException
1369//   The resource that you've entered was not found in your AWS account.
1370//
1371//   * AccessDeniedException
1372//   The request was denied due to insufficient access or permission. Check with
1373//   an administrator to verify your permissions.
1374//
1375//   * ValidationException
1376//   The input failed to meet the constraints specified by the AWS service.
1377//
1378//   * ThrottlingException
1379//   The request was denied due to request throttling.
1380//
1381// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DeleteTracker
1382func (c *LocationService) DeleteTracker(input *DeleteTrackerInput) (*DeleteTrackerOutput, error) {
1383	req, out := c.DeleteTrackerRequest(input)
1384	return out, req.Send()
1385}
1386
1387// DeleteTrackerWithContext is the same as DeleteTracker with the addition of
1388// the ability to pass a context and additional request options.
1389//
1390// See DeleteTracker for details on how to use this API operation.
1391//
1392// The context must be non-nil and will be used for request cancellation. If
1393// the context is nil a panic will occur. In the future the SDK may create
1394// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1395// for more information on using Contexts.
1396func (c *LocationService) DeleteTrackerWithContext(ctx aws.Context, input *DeleteTrackerInput, opts ...request.Option) (*DeleteTrackerOutput, error) {
1397	req, out := c.DeleteTrackerRequest(input)
1398	req.SetContext(ctx)
1399	req.ApplyOptions(opts...)
1400	return out, req.Send()
1401}
1402
1403const opDescribeGeofenceCollection = "DescribeGeofenceCollection"
1404
1405// DescribeGeofenceCollectionRequest generates a "aws/request.Request" representing the
1406// client's request for the DescribeGeofenceCollection operation. The "output" return
1407// value will be populated with the request's response once the request completes
1408// successfully.
1409//
1410// Use "Send" method on the returned Request to send the API call to the service.
1411// the "output" return value is not valid until after Send returns without error.
1412//
1413// See DescribeGeofenceCollection for more information on using the DescribeGeofenceCollection
1414// API call, and error handling.
1415//
1416// This method is useful when you want to inject custom logic or configuration
1417// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1418//
1419//
1420//    // Example sending a request using the DescribeGeofenceCollectionRequest method.
1421//    req, resp := client.DescribeGeofenceCollectionRequest(params)
1422//
1423//    err := req.Send()
1424//    if err == nil { // resp is now filled
1425//        fmt.Println(resp)
1426//    }
1427//
1428// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeGeofenceCollection
1429func (c *LocationService) DescribeGeofenceCollectionRequest(input *DescribeGeofenceCollectionInput) (req *request.Request, output *DescribeGeofenceCollectionOutput) {
1430	op := &request.Operation{
1431		Name:       opDescribeGeofenceCollection,
1432		HTTPMethod: "GET",
1433		HTTPPath:   "/geofencing/v0/collections/{CollectionName}",
1434	}
1435
1436	if input == nil {
1437		input = &DescribeGeofenceCollectionInput{}
1438	}
1439
1440	output = &DescribeGeofenceCollectionOutput{}
1441	req = c.newRequest(op, input, output)
1442	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
1443	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1444	return
1445}
1446
1447// DescribeGeofenceCollection API operation for Amazon Location Service.
1448//
1449// Retrieves the geofence collection details.
1450//
1451// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1452// with awserr.Error's Code and Message methods to get detailed information about
1453// the error.
1454//
1455// See the AWS API reference guide for Amazon Location Service's
1456// API operation DescribeGeofenceCollection for usage and error information.
1457//
1458// Returned Error Types:
1459//   * InternalServerException
1460//   The request has failed to process because of an unknown server error, exception,
1461//   or failure.
1462//
1463//   * ResourceNotFoundException
1464//   The resource that you've entered was not found in your AWS account.
1465//
1466//   * AccessDeniedException
1467//   The request was denied due to insufficient access or permission. Check with
1468//   an administrator to verify your permissions.
1469//
1470//   * ValidationException
1471//   The input failed to meet the constraints specified by the AWS service.
1472//
1473//   * ThrottlingException
1474//   The request was denied due to request throttling.
1475//
1476// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeGeofenceCollection
1477func (c *LocationService) DescribeGeofenceCollection(input *DescribeGeofenceCollectionInput) (*DescribeGeofenceCollectionOutput, error) {
1478	req, out := c.DescribeGeofenceCollectionRequest(input)
1479	return out, req.Send()
1480}
1481
1482// DescribeGeofenceCollectionWithContext is the same as DescribeGeofenceCollection with the addition of
1483// the ability to pass a context and additional request options.
1484//
1485// See DescribeGeofenceCollection for details on how to use this API operation.
1486//
1487// The context must be non-nil and will be used for request cancellation. If
1488// the context is nil a panic will occur. In the future the SDK may create
1489// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1490// for more information on using Contexts.
1491func (c *LocationService) DescribeGeofenceCollectionWithContext(ctx aws.Context, input *DescribeGeofenceCollectionInput, opts ...request.Option) (*DescribeGeofenceCollectionOutput, error) {
1492	req, out := c.DescribeGeofenceCollectionRequest(input)
1493	req.SetContext(ctx)
1494	req.ApplyOptions(opts...)
1495	return out, req.Send()
1496}
1497
1498const opDescribeMap = "DescribeMap"
1499
1500// DescribeMapRequest generates a "aws/request.Request" representing the
1501// client's request for the DescribeMap operation. The "output" return
1502// value will be populated with the request's response once the request completes
1503// successfully.
1504//
1505// Use "Send" method on the returned Request to send the API call to the service.
1506// the "output" return value is not valid until after Send returns without error.
1507//
1508// See DescribeMap for more information on using the DescribeMap
1509// API call, and error handling.
1510//
1511// This method is useful when you want to inject custom logic or configuration
1512// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1513//
1514//
1515//    // Example sending a request using the DescribeMapRequest method.
1516//    req, resp := client.DescribeMapRequest(params)
1517//
1518//    err := req.Send()
1519//    if err == nil { // resp is now filled
1520//        fmt.Println(resp)
1521//    }
1522//
1523// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeMap
1524func (c *LocationService) DescribeMapRequest(input *DescribeMapInput) (req *request.Request, output *DescribeMapOutput) {
1525	op := &request.Operation{
1526		Name:       opDescribeMap,
1527		HTTPMethod: "GET",
1528		HTTPPath:   "/maps/v0/maps/{MapName}",
1529	}
1530
1531	if input == nil {
1532		input = &DescribeMapInput{}
1533	}
1534
1535	output = &DescribeMapOutput{}
1536	req = c.newRequest(op, input, output)
1537	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
1538	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1539	return
1540}
1541
1542// DescribeMap API operation for Amazon Location Service.
1543//
1544// Retrieves the map resource details.
1545//
1546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1547// with awserr.Error's Code and Message methods to get detailed information about
1548// the error.
1549//
1550// See the AWS API reference guide for Amazon Location Service's
1551// API operation DescribeMap for usage and error information.
1552//
1553// Returned Error Types:
1554//   * InternalServerException
1555//   The request has failed to process because of an unknown server error, exception,
1556//   or failure.
1557//
1558//   * ResourceNotFoundException
1559//   The resource that you've entered was not found in your AWS account.
1560//
1561//   * AccessDeniedException
1562//   The request was denied due to insufficient access or permission. Check with
1563//   an administrator to verify your permissions.
1564//
1565//   * ValidationException
1566//   The input failed to meet the constraints specified by the AWS service.
1567//
1568//   * ThrottlingException
1569//   The request was denied due to request throttling.
1570//
1571// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeMap
1572func (c *LocationService) DescribeMap(input *DescribeMapInput) (*DescribeMapOutput, error) {
1573	req, out := c.DescribeMapRequest(input)
1574	return out, req.Send()
1575}
1576
1577// DescribeMapWithContext is the same as DescribeMap with the addition of
1578// the ability to pass a context and additional request options.
1579//
1580// See DescribeMap for details on how to use this API operation.
1581//
1582// The context must be non-nil and will be used for request cancellation. If
1583// the context is nil a panic will occur. In the future the SDK may create
1584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1585// for more information on using Contexts.
1586func (c *LocationService) DescribeMapWithContext(ctx aws.Context, input *DescribeMapInput, opts ...request.Option) (*DescribeMapOutput, error) {
1587	req, out := c.DescribeMapRequest(input)
1588	req.SetContext(ctx)
1589	req.ApplyOptions(opts...)
1590	return out, req.Send()
1591}
1592
1593const opDescribePlaceIndex = "DescribePlaceIndex"
1594
1595// DescribePlaceIndexRequest generates a "aws/request.Request" representing the
1596// client's request for the DescribePlaceIndex operation. The "output" return
1597// value will be populated with the request's response once the request completes
1598// successfully.
1599//
1600// Use "Send" method on the returned Request to send the API call to the service.
1601// the "output" return value is not valid until after Send returns without error.
1602//
1603// See DescribePlaceIndex for more information on using the DescribePlaceIndex
1604// API call, and error handling.
1605//
1606// This method is useful when you want to inject custom logic or configuration
1607// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1608//
1609//
1610//    // Example sending a request using the DescribePlaceIndexRequest method.
1611//    req, resp := client.DescribePlaceIndexRequest(params)
1612//
1613//    err := req.Send()
1614//    if err == nil { // resp is now filled
1615//        fmt.Println(resp)
1616//    }
1617//
1618// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribePlaceIndex
1619func (c *LocationService) DescribePlaceIndexRequest(input *DescribePlaceIndexInput) (req *request.Request, output *DescribePlaceIndexOutput) {
1620	op := &request.Operation{
1621		Name:       opDescribePlaceIndex,
1622		HTTPMethod: "GET",
1623		HTTPPath:   "/places/v0/indexes/{IndexName}",
1624	}
1625
1626	if input == nil {
1627		input = &DescribePlaceIndexInput{}
1628	}
1629
1630	output = &DescribePlaceIndexOutput{}
1631	req = c.newRequest(op, input, output)
1632	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
1633	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1634	return
1635}
1636
1637// DescribePlaceIndex API operation for Amazon Location Service.
1638//
1639// Retrieves the Place index resource details.
1640//
1641// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1642// with awserr.Error's Code and Message methods to get detailed information about
1643// the error.
1644//
1645// See the AWS API reference guide for Amazon Location Service's
1646// API operation DescribePlaceIndex for usage and error information.
1647//
1648// Returned Error Types:
1649//   * InternalServerException
1650//   The request has failed to process because of an unknown server error, exception,
1651//   or failure.
1652//
1653//   * ResourceNotFoundException
1654//   The resource that you've entered was not found in your AWS account.
1655//
1656//   * AccessDeniedException
1657//   The request was denied due to insufficient access or permission. Check with
1658//   an administrator to verify your permissions.
1659//
1660//   * ValidationException
1661//   The input failed to meet the constraints specified by the AWS service.
1662//
1663//   * ThrottlingException
1664//   The request was denied due to request throttling.
1665//
1666// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribePlaceIndex
1667func (c *LocationService) DescribePlaceIndex(input *DescribePlaceIndexInput) (*DescribePlaceIndexOutput, error) {
1668	req, out := c.DescribePlaceIndexRequest(input)
1669	return out, req.Send()
1670}
1671
1672// DescribePlaceIndexWithContext is the same as DescribePlaceIndex with the addition of
1673// the ability to pass a context and additional request options.
1674//
1675// See DescribePlaceIndex for details on how to use this API operation.
1676//
1677// The context must be non-nil and will be used for request cancellation. If
1678// the context is nil a panic will occur. In the future the SDK may create
1679// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1680// for more information on using Contexts.
1681func (c *LocationService) DescribePlaceIndexWithContext(ctx aws.Context, input *DescribePlaceIndexInput, opts ...request.Option) (*DescribePlaceIndexOutput, error) {
1682	req, out := c.DescribePlaceIndexRequest(input)
1683	req.SetContext(ctx)
1684	req.ApplyOptions(opts...)
1685	return out, req.Send()
1686}
1687
1688const opDescribeTracker = "DescribeTracker"
1689
1690// DescribeTrackerRequest generates a "aws/request.Request" representing the
1691// client's request for the DescribeTracker operation. The "output" return
1692// value will be populated with the request's response once the request completes
1693// successfully.
1694//
1695// Use "Send" method on the returned Request to send the API call to the service.
1696// the "output" return value is not valid until after Send returns without error.
1697//
1698// See DescribeTracker for more information on using the DescribeTracker
1699// API call, and error handling.
1700//
1701// This method is useful when you want to inject custom logic or configuration
1702// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1703//
1704//
1705//    // Example sending a request using the DescribeTrackerRequest method.
1706//    req, resp := client.DescribeTrackerRequest(params)
1707//
1708//    err := req.Send()
1709//    if err == nil { // resp is now filled
1710//        fmt.Println(resp)
1711//    }
1712//
1713// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeTracker
1714func (c *LocationService) DescribeTrackerRequest(input *DescribeTrackerInput) (req *request.Request, output *DescribeTrackerOutput) {
1715	op := &request.Operation{
1716		Name:       opDescribeTracker,
1717		HTTPMethod: "GET",
1718		HTTPPath:   "/tracking/v0/trackers/{TrackerName}",
1719	}
1720
1721	if input == nil {
1722		input = &DescribeTrackerInput{}
1723	}
1724
1725	output = &DescribeTrackerOutput{}
1726	req = c.newRequest(op, input, output)
1727	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
1728	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1729	return
1730}
1731
1732// DescribeTracker API operation for Amazon Location Service.
1733//
1734// Retrieves the tracker resource details.
1735//
1736// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1737// with awserr.Error's Code and Message methods to get detailed information about
1738// the error.
1739//
1740// See the AWS API reference guide for Amazon Location Service's
1741// API operation DescribeTracker for usage and error information.
1742//
1743// Returned Error Types:
1744//   * InternalServerException
1745//   The request has failed to process because of an unknown server error, exception,
1746//   or failure.
1747//
1748//   * ResourceNotFoundException
1749//   The resource that you've entered was not found in your AWS account.
1750//
1751//   * AccessDeniedException
1752//   The request was denied due to insufficient access or permission. Check with
1753//   an administrator to verify your permissions.
1754//
1755//   * ValidationException
1756//   The input failed to meet the constraints specified by the AWS service.
1757//
1758//   * ThrottlingException
1759//   The request was denied due to request throttling.
1760//
1761// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DescribeTracker
1762func (c *LocationService) DescribeTracker(input *DescribeTrackerInput) (*DescribeTrackerOutput, error) {
1763	req, out := c.DescribeTrackerRequest(input)
1764	return out, req.Send()
1765}
1766
1767// DescribeTrackerWithContext is the same as DescribeTracker with the addition of
1768// the ability to pass a context and additional request options.
1769//
1770// See DescribeTracker for details on how to use this API operation.
1771//
1772// The context must be non-nil and will be used for request cancellation. If
1773// the context is nil a panic will occur. In the future the SDK may create
1774// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1775// for more information on using Contexts.
1776func (c *LocationService) DescribeTrackerWithContext(ctx aws.Context, input *DescribeTrackerInput, opts ...request.Option) (*DescribeTrackerOutput, error) {
1777	req, out := c.DescribeTrackerRequest(input)
1778	req.SetContext(ctx)
1779	req.ApplyOptions(opts...)
1780	return out, req.Send()
1781}
1782
1783const opDisassociateTrackerConsumer = "DisassociateTrackerConsumer"
1784
1785// DisassociateTrackerConsumerRequest generates a "aws/request.Request" representing the
1786// client's request for the DisassociateTrackerConsumer operation. The "output" return
1787// value will be populated with the request's response once the request completes
1788// successfully.
1789//
1790// Use "Send" method on the returned Request to send the API call to the service.
1791// the "output" return value is not valid until after Send returns without error.
1792//
1793// See DisassociateTrackerConsumer for more information on using the DisassociateTrackerConsumer
1794// API call, and error handling.
1795//
1796// This method is useful when you want to inject custom logic or configuration
1797// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1798//
1799//
1800//    // Example sending a request using the DisassociateTrackerConsumerRequest method.
1801//    req, resp := client.DisassociateTrackerConsumerRequest(params)
1802//
1803//    err := req.Send()
1804//    if err == nil { // resp is now filled
1805//        fmt.Println(resp)
1806//    }
1807//
1808// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DisassociateTrackerConsumer
1809func (c *LocationService) DisassociateTrackerConsumerRequest(input *DisassociateTrackerConsumerInput) (req *request.Request, output *DisassociateTrackerConsumerOutput) {
1810	op := &request.Operation{
1811		Name:       opDisassociateTrackerConsumer,
1812		HTTPMethod: "DELETE",
1813		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/consumers/{ConsumerArn}",
1814	}
1815
1816	if input == nil {
1817		input = &DisassociateTrackerConsumerInput{}
1818	}
1819
1820	output = &DisassociateTrackerConsumerOutput{}
1821	req = c.newRequest(op, input, output)
1822	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1823	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
1824	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1825	return
1826}
1827
1828// DisassociateTrackerConsumer API operation for Amazon Location Service.
1829//
1830// Removes the association between a tracker resource and a geofence collection.
1831//
1832// Once you unlink a tracker resource from a geofence collection, the tracker
1833// positions will no longer be automatically evaluated against geofences.
1834//
1835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1836// with awserr.Error's Code and Message methods to get detailed information about
1837// the error.
1838//
1839// See the AWS API reference guide for Amazon Location Service's
1840// API operation DisassociateTrackerConsumer for usage and error information.
1841//
1842// Returned Error Types:
1843//   * InternalServerException
1844//   The request has failed to process because of an unknown server error, exception,
1845//   or failure.
1846//
1847//   * ResourceNotFoundException
1848//   The resource that you've entered was not found in your AWS account.
1849//
1850//   * AccessDeniedException
1851//   The request was denied due to insufficient access or permission. Check with
1852//   an administrator to verify your permissions.
1853//
1854//   * ValidationException
1855//   The input failed to meet the constraints specified by the AWS service.
1856//
1857//   * ThrottlingException
1858//   The request was denied due to request throttling.
1859//
1860// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/DisassociateTrackerConsumer
1861func (c *LocationService) DisassociateTrackerConsumer(input *DisassociateTrackerConsumerInput) (*DisassociateTrackerConsumerOutput, error) {
1862	req, out := c.DisassociateTrackerConsumerRequest(input)
1863	return out, req.Send()
1864}
1865
1866// DisassociateTrackerConsumerWithContext is the same as DisassociateTrackerConsumer with the addition of
1867// the ability to pass a context and additional request options.
1868//
1869// See DisassociateTrackerConsumer for details on how to use this API operation.
1870//
1871// The context must be non-nil and will be used for request cancellation. If
1872// the context is nil a panic will occur. In the future the SDK may create
1873// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1874// for more information on using Contexts.
1875func (c *LocationService) DisassociateTrackerConsumerWithContext(ctx aws.Context, input *DisassociateTrackerConsumerInput, opts ...request.Option) (*DisassociateTrackerConsumerOutput, error) {
1876	req, out := c.DisassociateTrackerConsumerRequest(input)
1877	req.SetContext(ctx)
1878	req.ApplyOptions(opts...)
1879	return out, req.Send()
1880}
1881
1882const opGetDevicePosition = "GetDevicePosition"
1883
1884// GetDevicePositionRequest generates a "aws/request.Request" representing the
1885// client's request for the GetDevicePosition operation. The "output" return
1886// value will be populated with the request's response once the request completes
1887// successfully.
1888//
1889// Use "Send" method on the returned Request to send the API call to the service.
1890// the "output" return value is not valid until after Send returns without error.
1891//
1892// See GetDevicePosition for more information on using the GetDevicePosition
1893// API call, and error handling.
1894//
1895// This method is useful when you want to inject custom logic or configuration
1896// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1897//
1898//
1899//    // Example sending a request using the GetDevicePositionRequest method.
1900//    req, resp := client.GetDevicePositionRequest(params)
1901//
1902//    err := req.Send()
1903//    if err == nil { // resp is now filled
1904//        fmt.Println(resp)
1905//    }
1906//
1907// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetDevicePosition
1908func (c *LocationService) GetDevicePositionRequest(input *GetDevicePositionInput) (req *request.Request, output *GetDevicePositionOutput) {
1909	op := &request.Operation{
1910		Name:       opGetDevicePosition,
1911		HTTPMethod: "GET",
1912		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/devices/{DeviceId}/positions/latest",
1913	}
1914
1915	if input == nil {
1916		input = &GetDevicePositionInput{}
1917	}
1918
1919	output = &GetDevicePositionOutput{}
1920	req = c.newRequest(op, input, output)
1921	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
1922	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1923	return
1924}
1925
1926// GetDevicePosition API operation for Amazon Location Service.
1927//
1928// Retrieves a device's most recent position according to its sample time.
1929//
1930// Device positions are deleted after one year.
1931//
1932// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1933// with awserr.Error's Code and Message methods to get detailed information about
1934// the error.
1935//
1936// See the AWS API reference guide for Amazon Location Service's
1937// API operation GetDevicePosition for usage and error information.
1938//
1939// Returned Error Types:
1940//   * InternalServerException
1941//   The request has failed to process because of an unknown server error, exception,
1942//   or failure.
1943//
1944//   * ResourceNotFoundException
1945//   The resource that you've entered was not found in your AWS account.
1946//
1947//   * AccessDeniedException
1948//   The request was denied due to insufficient access or permission. Check with
1949//   an administrator to verify your permissions.
1950//
1951//   * ValidationException
1952//   The input failed to meet the constraints specified by the AWS service.
1953//
1954//   * ThrottlingException
1955//   The request was denied due to request throttling.
1956//
1957// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetDevicePosition
1958func (c *LocationService) GetDevicePosition(input *GetDevicePositionInput) (*GetDevicePositionOutput, error) {
1959	req, out := c.GetDevicePositionRequest(input)
1960	return out, req.Send()
1961}
1962
1963// GetDevicePositionWithContext is the same as GetDevicePosition with the addition of
1964// the ability to pass a context and additional request options.
1965//
1966// See GetDevicePosition for details on how to use this API operation.
1967//
1968// The context must be non-nil and will be used for request cancellation. If
1969// the context is nil a panic will occur. In the future the SDK may create
1970// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1971// for more information on using Contexts.
1972func (c *LocationService) GetDevicePositionWithContext(ctx aws.Context, input *GetDevicePositionInput, opts ...request.Option) (*GetDevicePositionOutput, error) {
1973	req, out := c.GetDevicePositionRequest(input)
1974	req.SetContext(ctx)
1975	req.ApplyOptions(opts...)
1976	return out, req.Send()
1977}
1978
1979const opGetDevicePositionHistory = "GetDevicePositionHistory"
1980
1981// GetDevicePositionHistoryRequest generates a "aws/request.Request" representing the
1982// client's request for the GetDevicePositionHistory operation. The "output" return
1983// value will be populated with the request's response once the request completes
1984// successfully.
1985//
1986// Use "Send" method on the returned Request to send the API call to the service.
1987// the "output" return value is not valid until after Send returns without error.
1988//
1989// See GetDevicePositionHistory for more information on using the GetDevicePositionHistory
1990// API call, and error handling.
1991//
1992// This method is useful when you want to inject custom logic or configuration
1993// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1994//
1995//
1996//    // Example sending a request using the GetDevicePositionHistoryRequest method.
1997//    req, resp := client.GetDevicePositionHistoryRequest(params)
1998//
1999//    err := req.Send()
2000//    if err == nil { // resp is now filled
2001//        fmt.Println(resp)
2002//    }
2003//
2004// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetDevicePositionHistory
2005func (c *LocationService) GetDevicePositionHistoryRequest(input *GetDevicePositionHistoryInput) (req *request.Request, output *GetDevicePositionHistoryOutput) {
2006	op := &request.Operation{
2007		Name:       opGetDevicePositionHistory,
2008		HTTPMethod: "POST",
2009		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/devices/{DeviceId}/list-positions",
2010		Paginator: &request.Paginator{
2011			InputTokens:     []string{"NextToken"},
2012			OutputTokens:    []string{"NextToken"},
2013			LimitToken:      "",
2014			TruncationToken: "",
2015		},
2016	}
2017
2018	if input == nil {
2019		input = &GetDevicePositionHistoryInput{}
2020	}
2021
2022	output = &GetDevicePositionHistoryOutput{}
2023	req = c.newRequest(op, input, output)
2024	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
2025	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2026	return
2027}
2028
2029// GetDevicePositionHistory API operation for Amazon Location Service.
2030//
2031// Retrieves the device position history from a tracker resource within a specified
2032// range of time.
2033//
2034// Device positions are deleted after 1 year.
2035//
2036// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2037// with awserr.Error's Code and Message methods to get detailed information about
2038// the error.
2039//
2040// See the AWS API reference guide for Amazon Location Service's
2041// API operation GetDevicePositionHistory for usage and error information.
2042//
2043// Returned Error Types:
2044//   * InternalServerException
2045//   The request has failed to process because of an unknown server error, exception,
2046//   or failure.
2047//
2048//   * ResourceNotFoundException
2049//   The resource that you've entered was not found in your AWS account.
2050//
2051//   * AccessDeniedException
2052//   The request was denied due to insufficient access or permission. Check with
2053//   an administrator to verify your permissions.
2054//
2055//   * ValidationException
2056//   The input failed to meet the constraints specified by the AWS service.
2057//
2058//   * ThrottlingException
2059//   The request was denied due to request throttling.
2060//
2061// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetDevicePositionHistory
2062func (c *LocationService) GetDevicePositionHistory(input *GetDevicePositionHistoryInput) (*GetDevicePositionHistoryOutput, error) {
2063	req, out := c.GetDevicePositionHistoryRequest(input)
2064	return out, req.Send()
2065}
2066
2067// GetDevicePositionHistoryWithContext is the same as GetDevicePositionHistory with the addition of
2068// the ability to pass a context and additional request options.
2069//
2070// See GetDevicePositionHistory for details on how to use this API operation.
2071//
2072// The context must be non-nil and will be used for request cancellation. If
2073// the context is nil a panic will occur. In the future the SDK may create
2074// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2075// for more information on using Contexts.
2076func (c *LocationService) GetDevicePositionHistoryWithContext(ctx aws.Context, input *GetDevicePositionHistoryInput, opts ...request.Option) (*GetDevicePositionHistoryOutput, error) {
2077	req, out := c.GetDevicePositionHistoryRequest(input)
2078	req.SetContext(ctx)
2079	req.ApplyOptions(opts...)
2080	return out, req.Send()
2081}
2082
2083// GetDevicePositionHistoryPages iterates over the pages of a GetDevicePositionHistory operation,
2084// calling the "fn" function with the response data for each page. To stop
2085// iterating, return false from the fn function.
2086//
2087// See GetDevicePositionHistory method for more information on how to use this operation.
2088//
2089// Note: This operation can generate multiple requests to a service.
2090//
2091//    // Example iterating over at most 3 pages of a GetDevicePositionHistory operation.
2092//    pageNum := 0
2093//    err := client.GetDevicePositionHistoryPages(params,
2094//        func(page *locationservice.GetDevicePositionHistoryOutput, lastPage bool) bool {
2095//            pageNum++
2096//            fmt.Println(page)
2097//            return pageNum <= 3
2098//        })
2099//
2100func (c *LocationService) GetDevicePositionHistoryPages(input *GetDevicePositionHistoryInput, fn func(*GetDevicePositionHistoryOutput, bool) bool) error {
2101	return c.GetDevicePositionHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
2102}
2103
2104// GetDevicePositionHistoryPagesWithContext same as GetDevicePositionHistoryPages except
2105// it takes a Context and allows setting request options on the pages.
2106//
2107// The context must be non-nil and will be used for request cancellation. If
2108// the context is nil a panic will occur. In the future the SDK may create
2109// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2110// for more information on using Contexts.
2111func (c *LocationService) GetDevicePositionHistoryPagesWithContext(ctx aws.Context, input *GetDevicePositionHistoryInput, fn func(*GetDevicePositionHistoryOutput, bool) bool, opts ...request.Option) error {
2112	p := request.Pagination{
2113		NewRequest: func() (*request.Request, error) {
2114			var inCpy *GetDevicePositionHistoryInput
2115			if input != nil {
2116				tmp := *input
2117				inCpy = &tmp
2118			}
2119			req, _ := c.GetDevicePositionHistoryRequest(inCpy)
2120			req.SetContext(ctx)
2121			req.ApplyOptions(opts...)
2122			return req, nil
2123		},
2124	}
2125
2126	for p.Next() {
2127		if !fn(p.Page().(*GetDevicePositionHistoryOutput), !p.HasNextPage()) {
2128			break
2129		}
2130	}
2131
2132	return p.Err()
2133}
2134
2135const opGetGeofence = "GetGeofence"
2136
2137// GetGeofenceRequest generates a "aws/request.Request" representing the
2138// client's request for the GetGeofence operation. The "output" return
2139// value will be populated with the request's response once the request completes
2140// successfully.
2141//
2142// Use "Send" method on the returned Request to send the API call to the service.
2143// the "output" return value is not valid until after Send returns without error.
2144//
2145// See GetGeofence for more information on using the GetGeofence
2146// API call, and error handling.
2147//
2148// This method is useful when you want to inject custom logic or configuration
2149// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2150//
2151//
2152//    // Example sending a request using the GetGeofenceRequest method.
2153//    req, resp := client.GetGeofenceRequest(params)
2154//
2155//    err := req.Send()
2156//    if err == nil { // resp is now filled
2157//        fmt.Println(resp)
2158//    }
2159//
2160// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetGeofence
2161func (c *LocationService) GetGeofenceRequest(input *GetGeofenceInput) (req *request.Request, output *GetGeofenceOutput) {
2162	op := &request.Operation{
2163		Name:       opGetGeofence,
2164		HTTPMethod: "GET",
2165		HTTPPath:   "/geofencing/v0/collections/{CollectionName}/geofences/{GeofenceId}",
2166	}
2167
2168	if input == nil {
2169		input = &GetGeofenceInput{}
2170	}
2171
2172	output = &GetGeofenceOutput{}
2173	req = c.newRequest(op, input, output)
2174	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
2175	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2176	return
2177}
2178
2179// GetGeofence API operation for Amazon Location Service.
2180//
2181// Retrieves the geofence details from a geofence collection.
2182//
2183// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2184// with awserr.Error's Code and Message methods to get detailed information about
2185// the error.
2186//
2187// See the AWS API reference guide for Amazon Location Service's
2188// API operation GetGeofence for usage and error information.
2189//
2190// Returned Error Types:
2191//   * InternalServerException
2192//   The request has failed to process because of an unknown server error, exception,
2193//   or failure.
2194//
2195//   * ResourceNotFoundException
2196//   The resource that you've entered was not found in your AWS account.
2197//
2198//   * AccessDeniedException
2199//   The request was denied due to insufficient access or permission. Check with
2200//   an administrator to verify your permissions.
2201//
2202//   * ValidationException
2203//   The input failed to meet the constraints specified by the AWS service.
2204//
2205//   * ThrottlingException
2206//   The request was denied due to request throttling.
2207//
2208// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetGeofence
2209func (c *LocationService) GetGeofence(input *GetGeofenceInput) (*GetGeofenceOutput, error) {
2210	req, out := c.GetGeofenceRequest(input)
2211	return out, req.Send()
2212}
2213
2214// GetGeofenceWithContext is the same as GetGeofence with the addition of
2215// the ability to pass a context and additional request options.
2216//
2217// See GetGeofence for details on how to use this API operation.
2218//
2219// The context must be non-nil and will be used for request cancellation. If
2220// the context is nil a panic will occur. In the future the SDK may create
2221// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2222// for more information on using Contexts.
2223func (c *LocationService) GetGeofenceWithContext(ctx aws.Context, input *GetGeofenceInput, opts ...request.Option) (*GetGeofenceOutput, error) {
2224	req, out := c.GetGeofenceRequest(input)
2225	req.SetContext(ctx)
2226	req.ApplyOptions(opts...)
2227	return out, req.Send()
2228}
2229
2230const opGetMapGlyphs = "GetMapGlyphs"
2231
2232// GetMapGlyphsRequest generates a "aws/request.Request" representing the
2233// client's request for the GetMapGlyphs operation. The "output" return
2234// value will be populated with the request's response once the request completes
2235// successfully.
2236//
2237// Use "Send" method on the returned Request to send the API call to the service.
2238// the "output" return value is not valid until after Send returns without error.
2239//
2240// See GetMapGlyphs for more information on using the GetMapGlyphs
2241// API call, and error handling.
2242//
2243// This method is useful when you want to inject custom logic or configuration
2244// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2245//
2246//
2247//    // Example sending a request using the GetMapGlyphsRequest method.
2248//    req, resp := client.GetMapGlyphsRequest(params)
2249//
2250//    err := req.Send()
2251//    if err == nil { // resp is now filled
2252//        fmt.Println(resp)
2253//    }
2254//
2255// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapGlyphs
2256func (c *LocationService) GetMapGlyphsRequest(input *GetMapGlyphsInput) (req *request.Request, output *GetMapGlyphsOutput) {
2257	op := &request.Operation{
2258		Name:       opGetMapGlyphs,
2259		HTTPMethod: "GET",
2260		HTTPPath:   "/maps/v0/maps/{MapName}/glyphs/{FontStack}/{FontUnicodeRange}",
2261	}
2262
2263	if input == nil {
2264		input = &GetMapGlyphsInput{}
2265	}
2266
2267	output = &GetMapGlyphsOutput{}
2268	req = c.newRequest(op, input, output)
2269	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
2270	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2271	return
2272}
2273
2274// GetMapGlyphs API operation for Amazon Location Service.
2275//
2276// Retrieves glyphs used to display labels on a map.
2277//
2278// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2279// with awserr.Error's Code and Message methods to get detailed information about
2280// the error.
2281//
2282// See the AWS API reference guide for Amazon Location Service's
2283// API operation GetMapGlyphs for usage and error information.
2284//
2285// Returned Error Types:
2286//   * InternalServerException
2287//   The request has failed to process because of an unknown server error, exception,
2288//   or failure.
2289//
2290//   * ResourceNotFoundException
2291//   The resource that you've entered was not found in your AWS account.
2292//
2293//   * AccessDeniedException
2294//   The request was denied due to insufficient access or permission. Check with
2295//   an administrator to verify your permissions.
2296//
2297//   * ValidationException
2298//   The input failed to meet the constraints specified by the AWS service.
2299//
2300//   * ThrottlingException
2301//   The request was denied due to request throttling.
2302//
2303// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapGlyphs
2304func (c *LocationService) GetMapGlyphs(input *GetMapGlyphsInput) (*GetMapGlyphsOutput, error) {
2305	req, out := c.GetMapGlyphsRequest(input)
2306	return out, req.Send()
2307}
2308
2309// GetMapGlyphsWithContext is the same as GetMapGlyphs with the addition of
2310// the ability to pass a context and additional request options.
2311//
2312// See GetMapGlyphs for details on how to use this API operation.
2313//
2314// The context must be non-nil and will be used for request cancellation. If
2315// the context is nil a panic will occur. In the future the SDK may create
2316// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2317// for more information on using Contexts.
2318func (c *LocationService) GetMapGlyphsWithContext(ctx aws.Context, input *GetMapGlyphsInput, opts ...request.Option) (*GetMapGlyphsOutput, error) {
2319	req, out := c.GetMapGlyphsRequest(input)
2320	req.SetContext(ctx)
2321	req.ApplyOptions(opts...)
2322	return out, req.Send()
2323}
2324
2325const opGetMapSprites = "GetMapSprites"
2326
2327// GetMapSpritesRequest generates a "aws/request.Request" representing the
2328// client's request for the GetMapSprites operation. The "output" return
2329// value will be populated with the request's response once the request completes
2330// successfully.
2331//
2332// Use "Send" method on the returned Request to send the API call to the service.
2333// the "output" return value is not valid until after Send returns without error.
2334//
2335// See GetMapSprites for more information on using the GetMapSprites
2336// API call, and error handling.
2337//
2338// This method is useful when you want to inject custom logic or configuration
2339// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2340//
2341//
2342//    // Example sending a request using the GetMapSpritesRequest method.
2343//    req, resp := client.GetMapSpritesRequest(params)
2344//
2345//    err := req.Send()
2346//    if err == nil { // resp is now filled
2347//        fmt.Println(resp)
2348//    }
2349//
2350// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapSprites
2351func (c *LocationService) GetMapSpritesRequest(input *GetMapSpritesInput) (req *request.Request, output *GetMapSpritesOutput) {
2352	op := &request.Operation{
2353		Name:       opGetMapSprites,
2354		HTTPMethod: "GET",
2355		HTTPPath:   "/maps/v0/maps/{MapName}/sprites/{FileName}",
2356	}
2357
2358	if input == nil {
2359		input = &GetMapSpritesInput{}
2360	}
2361
2362	output = &GetMapSpritesOutput{}
2363	req = c.newRequest(op, input, output)
2364	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
2365	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2366	return
2367}
2368
2369// GetMapSprites API operation for Amazon Location Service.
2370//
2371// Retrieves the sprite sheet corresponding to a map resource. The sprite sheet
2372// is a PNG image paired with a JSON document describing the offsets of individual
2373// icons that will be displayed on a rendered map.
2374//
2375// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2376// with awserr.Error's Code and Message methods to get detailed information about
2377// the error.
2378//
2379// See the AWS API reference guide for Amazon Location Service's
2380// API operation GetMapSprites for usage and error information.
2381//
2382// Returned Error Types:
2383//   * InternalServerException
2384//   The request has failed to process because of an unknown server error, exception,
2385//   or failure.
2386//
2387//   * ResourceNotFoundException
2388//   The resource that you've entered was not found in your AWS account.
2389//
2390//   * AccessDeniedException
2391//   The request was denied due to insufficient access or permission. Check with
2392//   an administrator to verify your permissions.
2393//
2394//   * ValidationException
2395//   The input failed to meet the constraints specified by the AWS service.
2396//
2397//   * ThrottlingException
2398//   The request was denied due to request throttling.
2399//
2400// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapSprites
2401func (c *LocationService) GetMapSprites(input *GetMapSpritesInput) (*GetMapSpritesOutput, error) {
2402	req, out := c.GetMapSpritesRequest(input)
2403	return out, req.Send()
2404}
2405
2406// GetMapSpritesWithContext is the same as GetMapSprites with the addition of
2407// the ability to pass a context and additional request options.
2408//
2409// See GetMapSprites for details on how to use this API operation.
2410//
2411// The context must be non-nil and will be used for request cancellation. If
2412// the context is nil a panic will occur. In the future the SDK may create
2413// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2414// for more information on using Contexts.
2415func (c *LocationService) GetMapSpritesWithContext(ctx aws.Context, input *GetMapSpritesInput, opts ...request.Option) (*GetMapSpritesOutput, error) {
2416	req, out := c.GetMapSpritesRequest(input)
2417	req.SetContext(ctx)
2418	req.ApplyOptions(opts...)
2419	return out, req.Send()
2420}
2421
2422const opGetMapStyleDescriptor = "GetMapStyleDescriptor"
2423
2424// GetMapStyleDescriptorRequest generates a "aws/request.Request" representing the
2425// client's request for the GetMapStyleDescriptor operation. The "output" return
2426// value will be populated with the request's response once the request completes
2427// successfully.
2428//
2429// Use "Send" method on the returned Request to send the API call to the service.
2430// the "output" return value is not valid until after Send returns without error.
2431//
2432// See GetMapStyleDescriptor for more information on using the GetMapStyleDescriptor
2433// API call, and error handling.
2434//
2435// This method is useful when you want to inject custom logic or configuration
2436// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2437//
2438//
2439//    // Example sending a request using the GetMapStyleDescriptorRequest method.
2440//    req, resp := client.GetMapStyleDescriptorRequest(params)
2441//
2442//    err := req.Send()
2443//    if err == nil { // resp is now filled
2444//        fmt.Println(resp)
2445//    }
2446//
2447// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapStyleDescriptor
2448func (c *LocationService) GetMapStyleDescriptorRequest(input *GetMapStyleDescriptorInput) (req *request.Request, output *GetMapStyleDescriptorOutput) {
2449	op := &request.Operation{
2450		Name:       opGetMapStyleDescriptor,
2451		HTTPMethod: "GET",
2452		HTTPPath:   "/maps/v0/maps/{MapName}/style-descriptor",
2453	}
2454
2455	if input == nil {
2456		input = &GetMapStyleDescriptorInput{}
2457	}
2458
2459	output = &GetMapStyleDescriptorOutput{}
2460	req = c.newRequest(op, input, output)
2461	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
2462	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2463	return
2464}
2465
2466// GetMapStyleDescriptor API operation for Amazon Location Service.
2467//
2468// Retrieves the map style descriptor from a map resource.
2469//
2470// The style descriptor contains specifications on how features render on a
2471// map. For example, what data to display, what order to display the data in,
2472// and the style for the data. Style descriptors follow the Mapbox Style Specification.
2473//
2474// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2475// with awserr.Error's Code and Message methods to get detailed information about
2476// the error.
2477//
2478// See the AWS API reference guide for Amazon Location Service's
2479// API operation GetMapStyleDescriptor for usage and error information.
2480//
2481// Returned Error Types:
2482//   * InternalServerException
2483//   The request has failed to process because of an unknown server error, exception,
2484//   or failure.
2485//
2486//   * ResourceNotFoundException
2487//   The resource that you've entered was not found in your AWS account.
2488//
2489//   * AccessDeniedException
2490//   The request was denied due to insufficient access or permission. Check with
2491//   an administrator to verify your permissions.
2492//
2493//   * ValidationException
2494//   The input failed to meet the constraints specified by the AWS service.
2495//
2496//   * ThrottlingException
2497//   The request was denied due to request throttling.
2498//
2499// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapStyleDescriptor
2500func (c *LocationService) GetMapStyleDescriptor(input *GetMapStyleDescriptorInput) (*GetMapStyleDescriptorOutput, error) {
2501	req, out := c.GetMapStyleDescriptorRequest(input)
2502	return out, req.Send()
2503}
2504
2505// GetMapStyleDescriptorWithContext is the same as GetMapStyleDescriptor with the addition of
2506// the ability to pass a context and additional request options.
2507//
2508// See GetMapStyleDescriptor for details on how to use this API operation.
2509//
2510// The context must be non-nil and will be used for request cancellation. If
2511// the context is nil a panic will occur. In the future the SDK may create
2512// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2513// for more information on using Contexts.
2514func (c *LocationService) GetMapStyleDescriptorWithContext(ctx aws.Context, input *GetMapStyleDescriptorInput, opts ...request.Option) (*GetMapStyleDescriptorOutput, error) {
2515	req, out := c.GetMapStyleDescriptorRequest(input)
2516	req.SetContext(ctx)
2517	req.ApplyOptions(opts...)
2518	return out, req.Send()
2519}
2520
2521const opGetMapTile = "GetMapTile"
2522
2523// GetMapTileRequest generates a "aws/request.Request" representing the
2524// client's request for the GetMapTile operation. The "output" return
2525// value will be populated with the request's response once the request completes
2526// successfully.
2527//
2528// Use "Send" method on the returned Request to send the API call to the service.
2529// the "output" return value is not valid until after Send returns without error.
2530//
2531// See GetMapTile for more information on using the GetMapTile
2532// API call, and error handling.
2533//
2534// This method is useful when you want to inject custom logic or configuration
2535// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2536//
2537//
2538//    // Example sending a request using the GetMapTileRequest method.
2539//    req, resp := client.GetMapTileRequest(params)
2540//
2541//    err := req.Send()
2542//    if err == nil { // resp is now filled
2543//        fmt.Println(resp)
2544//    }
2545//
2546// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapTile
2547func (c *LocationService) GetMapTileRequest(input *GetMapTileInput) (req *request.Request, output *GetMapTileOutput) {
2548	op := &request.Operation{
2549		Name:       opGetMapTile,
2550		HTTPMethod: "GET",
2551		HTTPPath:   "/maps/v0/maps/{MapName}/tiles/{Z}/{X}/{Y}",
2552	}
2553
2554	if input == nil {
2555		input = &GetMapTileInput{}
2556	}
2557
2558	output = &GetMapTileOutput{}
2559	req = c.newRequest(op, input, output)
2560	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
2561	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2562	return
2563}
2564
2565// GetMapTile API operation for Amazon Location Service.
2566//
2567// Retrieves a vector data tile from the map resource. Map tiles are used by
2568// clients to render a map. They are addressed using a grid arrangement with
2569// an X coordinate, Y coordinate, and Z (zoom) level.
2570//
2571// The origin (0, 0) is the top left of the map. Increasing the zoom level by
2572// 1 doubles both the X and Y dimensions, so a tile containing data for the
2573// entire world at (0/0/0) will be split into 4 tiles at zoom 1 (1/0/0, 1/0/1,
2574// 1/1/0, 1/1/1).
2575//
2576// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2577// with awserr.Error's Code and Message methods to get detailed information about
2578// the error.
2579//
2580// See the AWS API reference guide for Amazon Location Service's
2581// API operation GetMapTile for usage and error information.
2582//
2583// Returned Error Types:
2584//   * InternalServerException
2585//   The request has failed to process because of an unknown server error, exception,
2586//   or failure.
2587//
2588//   * ResourceNotFoundException
2589//   The resource that you've entered was not found in your AWS account.
2590//
2591//   * AccessDeniedException
2592//   The request was denied due to insufficient access or permission. Check with
2593//   an administrator to verify your permissions.
2594//
2595//   * ValidationException
2596//   The input failed to meet the constraints specified by the AWS service.
2597//
2598//   * ThrottlingException
2599//   The request was denied due to request throttling.
2600//
2601// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/GetMapTile
2602func (c *LocationService) GetMapTile(input *GetMapTileInput) (*GetMapTileOutput, error) {
2603	req, out := c.GetMapTileRequest(input)
2604	return out, req.Send()
2605}
2606
2607// GetMapTileWithContext is the same as GetMapTile with the addition of
2608// the ability to pass a context and additional request options.
2609//
2610// See GetMapTile for details on how to use this API operation.
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) GetMapTileWithContext(ctx aws.Context, input *GetMapTileInput, opts ...request.Option) (*GetMapTileOutput, error) {
2617	req, out := c.GetMapTileRequest(input)
2618	req.SetContext(ctx)
2619	req.ApplyOptions(opts...)
2620	return out, req.Send()
2621}
2622
2623const opListGeofenceCollections = "ListGeofenceCollections"
2624
2625// ListGeofenceCollectionsRequest generates a "aws/request.Request" representing the
2626// client's request for the ListGeofenceCollections operation. The "output" return
2627// value will be populated with the request's response once the request completes
2628// successfully.
2629//
2630// Use "Send" method on the returned Request to send the API call to the service.
2631// the "output" return value is not valid until after Send returns without error.
2632//
2633// See ListGeofenceCollections for more information on using the ListGeofenceCollections
2634// API call, and error handling.
2635//
2636// This method is useful when you want to inject custom logic or configuration
2637// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2638//
2639//
2640//    // Example sending a request using the ListGeofenceCollectionsRequest method.
2641//    req, resp := client.ListGeofenceCollectionsRequest(params)
2642//
2643//    err := req.Send()
2644//    if err == nil { // resp is now filled
2645//        fmt.Println(resp)
2646//    }
2647//
2648// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListGeofenceCollections
2649func (c *LocationService) ListGeofenceCollectionsRequest(input *ListGeofenceCollectionsInput) (req *request.Request, output *ListGeofenceCollectionsOutput) {
2650	op := &request.Operation{
2651		Name:       opListGeofenceCollections,
2652		HTTPMethod: "POST",
2653		HTTPPath:   "/geofencing/v0/list-collections",
2654		Paginator: &request.Paginator{
2655			InputTokens:     []string{"NextToken"},
2656			OutputTokens:    []string{"NextToken"},
2657			LimitToken:      "MaxResults",
2658			TruncationToken: "",
2659		},
2660	}
2661
2662	if input == nil {
2663		input = &ListGeofenceCollectionsInput{}
2664	}
2665
2666	output = &ListGeofenceCollectionsOutput{}
2667	req = c.newRequest(op, input, output)
2668	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
2669	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2670	return
2671}
2672
2673// ListGeofenceCollections API operation for Amazon Location Service.
2674//
2675// Lists geofence collections in your AWS account.
2676//
2677// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2678// with awserr.Error's Code and Message methods to get detailed information about
2679// the error.
2680//
2681// See the AWS API reference guide for Amazon Location Service's
2682// API operation ListGeofenceCollections for usage and error information.
2683//
2684// Returned Error Types:
2685//   * InternalServerException
2686//   The request has failed to process because of an unknown server error, exception,
2687//   or failure.
2688//
2689//   * AccessDeniedException
2690//   The request was denied due to insufficient access or permission. Check with
2691//   an administrator to verify your permissions.
2692//
2693//   * ValidationException
2694//   The input failed to meet the constraints specified by the AWS service.
2695//
2696//   * ThrottlingException
2697//   The request was denied due to request throttling.
2698//
2699// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListGeofenceCollections
2700func (c *LocationService) ListGeofenceCollections(input *ListGeofenceCollectionsInput) (*ListGeofenceCollectionsOutput, error) {
2701	req, out := c.ListGeofenceCollectionsRequest(input)
2702	return out, req.Send()
2703}
2704
2705// ListGeofenceCollectionsWithContext is the same as ListGeofenceCollections with the addition of
2706// the ability to pass a context and additional request options.
2707//
2708// See ListGeofenceCollections for details on how to use this API operation.
2709//
2710// The context must be non-nil and will be used for request cancellation. If
2711// the context is nil a panic will occur. In the future the SDK may create
2712// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2713// for more information on using Contexts.
2714func (c *LocationService) ListGeofenceCollectionsWithContext(ctx aws.Context, input *ListGeofenceCollectionsInput, opts ...request.Option) (*ListGeofenceCollectionsOutput, error) {
2715	req, out := c.ListGeofenceCollectionsRequest(input)
2716	req.SetContext(ctx)
2717	req.ApplyOptions(opts...)
2718	return out, req.Send()
2719}
2720
2721// ListGeofenceCollectionsPages iterates over the pages of a ListGeofenceCollections operation,
2722// calling the "fn" function with the response data for each page. To stop
2723// iterating, return false from the fn function.
2724//
2725// See ListGeofenceCollections method for more information on how to use this operation.
2726//
2727// Note: This operation can generate multiple requests to a service.
2728//
2729//    // Example iterating over at most 3 pages of a ListGeofenceCollections operation.
2730//    pageNum := 0
2731//    err := client.ListGeofenceCollectionsPages(params,
2732//        func(page *locationservice.ListGeofenceCollectionsOutput, lastPage bool) bool {
2733//            pageNum++
2734//            fmt.Println(page)
2735//            return pageNum <= 3
2736//        })
2737//
2738func (c *LocationService) ListGeofenceCollectionsPages(input *ListGeofenceCollectionsInput, fn func(*ListGeofenceCollectionsOutput, bool) bool) error {
2739	return c.ListGeofenceCollectionsPagesWithContext(aws.BackgroundContext(), input, fn)
2740}
2741
2742// ListGeofenceCollectionsPagesWithContext same as ListGeofenceCollectionsPages except
2743// it takes a Context and allows setting request options on the pages.
2744//
2745// The context must be non-nil and will be used for request cancellation. If
2746// the context is nil a panic will occur. In the future the SDK may create
2747// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2748// for more information on using Contexts.
2749func (c *LocationService) ListGeofenceCollectionsPagesWithContext(ctx aws.Context, input *ListGeofenceCollectionsInput, fn func(*ListGeofenceCollectionsOutput, bool) bool, opts ...request.Option) error {
2750	p := request.Pagination{
2751		NewRequest: func() (*request.Request, error) {
2752			var inCpy *ListGeofenceCollectionsInput
2753			if input != nil {
2754				tmp := *input
2755				inCpy = &tmp
2756			}
2757			req, _ := c.ListGeofenceCollectionsRequest(inCpy)
2758			req.SetContext(ctx)
2759			req.ApplyOptions(opts...)
2760			return req, nil
2761		},
2762	}
2763
2764	for p.Next() {
2765		if !fn(p.Page().(*ListGeofenceCollectionsOutput), !p.HasNextPage()) {
2766			break
2767		}
2768	}
2769
2770	return p.Err()
2771}
2772
2773const opListGeofences = "ListGeofences"
2774
2775// ListGeofencesRequest generates a "aws/request.Request" representing the
2776// client's request for the ListGeofences operation. The "output" return
2777// value will be populated with the request's response once the request completes
2778// successfully.
2779//
2780// Use "Send" method on the returned Request to send the API call to the service.
2781// the "output" return value is not valid until after Send returns without error.
2782//
2783// See ListGeofences for more information on using the ListGeofences
2784// API call, and error handling.
2785//
2786// This method is useful when you want to inject custom logic or configuration
2787// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2788//
2789//
2790//    // Example sending a request using the ListGeofencesRequest method.
2791//    req, resp := client.ListGeofencesRequest(params)
2792//
2793//    err := req.Send()
2794//    if err == nil { // resp is now filled
2795//        fmt.Println(resp)
2796//    }
2797//
2798// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListGeofences
2799func (c *LocationService) ListGeofencesRequest(input *ListGeofencesInput) (req *request.Request, output *ListGeofencesOutput) {
2800	op := &request.Operation{
2801		Name:       opListGeofences,
2802		HTTPMethod: "POST",
2803		HTTPPath:   "/geofencing/v0/collections/{CollectionName}/list-geofences",
2804		Paginator: &request.Paginator{
2805			InputTokens:     []string{"NextToken"},
2806			OutputTokens:    []string{"NextToken"},
2807			LimitToken:      "",
2808			TruncationToken: "",
2809		},
2810	}
2811
2812	if input == nil {
2813		input = &ListGeofencesInput{}
2814	}
2815
2816	output = &ListGeofencesOutput{}
2817	req = c.newRequest(op, input, output)
2818	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
2819	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2820	return
2821}
2822
2823// ListGeofences API operation for Amazon Location Service.
2824//
2825// Lists geofences stored in a given geofence collection.
2826//
2827// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2828// with awserr.Error's Code and Message methods to get detailed information about
2829// the error.
2830//
2831// See the AWS API reference guide for Amazon Location Service's
2832// API operation ListGeofences for usage and error information.
2833//
2834// Returned Error Types:
2835//   * InternalServerException
2836//   The request has failed to process because of an unknown server error, exception,
2837//   or failure.
2838//
2839//   * ResourceNotFoundException
2840//   The resource that you've entered was not found in your AWS account.
2841//
2842//   * AccessDeniedException
2843//   The request was denied due to insufficient access or permission. Check with
2844//   an administrator to verify your permissions.
2845//
2846//   * ValidationException
2847//   The input failed to meet the constraints specified by the AWS service.
2848//
2849//   * ThrottlingException
2850//   The request was denied due to request throttling.
2851//
2852// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListGeofences
2853func (c *LocationService) ListGeofences(input *ListGeofencesInput) (*ListGeofencesOutput, error) {
2854	req, out := c.ListGeofencesRequest(input)
2855	return out, req.Send()
2856}
2857
2858// ListGeofencesWithContext is the same as ListGeofences with the addition of
2859// the ability to pass a context and additional request options.
2860//
2861// See ListGeofences for details on how to use this API operation.
2862//
2863// The context must be non-nil and will be used for request cancellation. If
2864// the context is nil a panic will occur. In the future the SDK may create
2865// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2866// for more information on using Contexts.
2867func (c *LocationService) ListGeofencesWithContext(ctx aws.Context, input *ListGeofencesInput, opts ...request.Option) (*ListGeofencesOutput, error) {
2868	req, out := c.ListGeofencesRequest(input)
2869	req.SetContext(ctx)
2870	req.ApplyOptions(opts...)
2871	return out, req.Send()
2872}
2873
2874// ListGeofencesPages iterates over the pages of a ListGeofences operation,
2875// calling the "fn" function with the response data for each page. To stop
2876// iterating, return false from the fn function.
2877//
2878// See ListGeofences method for more information on how to use this operation.
2879//
2880// Note: This operation can generate multiple requests to a service.
2881//
2882//    // Example iterating over at most 3 pages of a ListGeofences operation.
2883//    pageNum := 0
2884//    err := client.ListGeofencesPages(params,
2885//        func(page *locationservice.ListGeofencesOutput, lastPage bool) bool {
2886//            pageNum++
2887//            fmt.Println(page)
2888//            return pageNum <= 3
2889//        })
2890//
2891func (c *LocationService) ListGeofencesPages(input *ListGeofencesInput, fn func(*ListGeofencesOutput, bool) bool) error {
2892	return c.ListGeofencesPagesWithContext(aws.BackgroundContext(), input, fn)
2893}
2894
2895// ListGeofencesPagesWithContext same as ListGeofencesPages except
2896// it takes a Context and allows setting request options on the pages.
2897//
2898// The context must be non-nil and will be used for request cancellation. If
2899// the context is nil a panic will occur. In the future the SDK may create
2900// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2901// for more information on using Contexts.
2902func (c *LocationService) ListGeofencesPagesWithContext(ctx aws.Context, input *ListGeofencesInput, fn func(*ListGeofencesOutput, bool) bool, opts ...request.Option) error {
2903	p := request.Pagination{
2904		NewRequest: func() (*request.Request, error) {
2905			var inCpy *ListGeofencesInput
2906			if input != nil {
2907				tmp := *input
2908				inCpy = &tmp
2909			}
2910			req, _ := c.ListGeofencesRequest(inCpy)
2911			req.SetContext(ctx)
2912			req.ApplyOptions(opts...)
2913			return req, nil
2914		},
2915	}
2916
2917	for p.Next() {
2918		if !fn(p.Page().(*ListGeofencesOutput), !p.HasNextPage()) {
2919			break
2920		}
2921	}
2922
2923	return p.Err()
2924}
2925
2926const opListMaps = "ListMaps"
2927
2928// ListMapsRequest generates a "aws/request.Request" representing the
2929// client's request for the ListMaps operation. The "output" return
2930// value will be populated with the request's response once the request completes
2931// successfully.
2932//
2933// Use "Send" method on the returned Request to send the API call to the service.
2934// the "output" return value is not valid until after Send returns without error.
2935//
2936// See ListMaps for more information on using the ListMaps
2937// API call, and error handling.
2938//
2939// This method is useful when you want to inject custom logic or configuration
2940// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2941//
2942//
2943//    // Example sending a request using the ListMapsRequest method.
2944//    req, resp := client.ListMapsRequest(params)
2945//
2946//    err := req.Send()
2947//    if err == nil { // resp is now filled
2948//        fmt.Println(resp)
2949//    }
2950//
2951// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListMaps
2952func (c *LocationService) ListMapsRequest(input *ListMapsInput) (req *request.Request, output *ListMapsOutput) {
2953	op := &request.Operation{
2954		Name:       opListMaps,
2955		HTTPMethod: "POST",
2956		HTTPPath:   "/maps/v0/list-maps",
2957		Paginator: &request.Paginator{
2958			InputTokens:     []string{"NextToken"},
2959			OutputTokens:    []string{"NextToken"},
2960			LimitToken:      "MaxResults",
2961			TruncationToken: "",
2962		},
2963	}
2964
2965	if input == nil {
2966		input = &ListMapsInput{}
2967	}
2968
2969	output = &ListMapsOutput{}
2970	req = c.newRequest(op, input, output)
2971	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("maps.", nil))
2972	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2973	return
2974}
2975
2976// ListMaps API operation for Amazon Location Service.
2977//
2978// Lists map resources in your AWS account.
2979//
2980// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2981// with awserr.Error's Code and Message methods to get detailed information about
2982// the error.
2983//
2984// See the AWS API reference guide for Amazon Location Service's
2985// API operation ListMaps for usage and error information.
2986//
2987// Returned Error Types:
2988//   * InternalServerException
2989//   The request has failed to process because of an unknown server error, exception,
2990//   or failure.
2991//
2992//   * AccessDeniedException
2993//   The request was denied due to insufficient access or permission. Check with
2994//   an administrator to verify your permissions.
2995//
2996//   * ValidationException
2997//   The input failed to meet the constraints specified by the AWS service.
2998//
2999//   * ThrottlingException
3000//   The request was denied due to request throttling.
3001//
3002// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListMaps
3003func (c *LocationService) ListMaps(input *ListMapsInput) (*ListMapsOutput, error) {
3004	req, out := c.ListMapsRequest(input)
3005	return out, req.Send()
3006}
3007
3008// ListMapsWithContext is the same as ListMaps with the addition of
3009// the ability to pass a context and additional request options.
3010//
3011// See ListMaps for details on how to use this API operation.
3012//
3013// The context must be non-nil and will be used for request cancellation. If
3014// the context is nil a panic will occur. In the future the SDK may create
3015// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3016// for more information on using Contexts.
3017func (c *LocationService) ListMapsWithContext(ctx aws.Context, input *ListMapsInput, opts ...request.Option) (*ListMapsOutput, error) {
3018	req, out := c.ListMapsRequest(input)
3019	req.SetContext(ctx)
3020	req.ApplyOptions(opts...)
3021	return out, req.Send()
3022}
3023
3024// ListMapsPages iterates over the pages of a ListMaps operation,
3025// calling the "fn" function with the response data for each page. To stop
3026// iterating, return false from the fn function.
3027//
3028// See ListMaps method for more information on how to use this operation.
3029//
3030// Note: This operation can generate multiple requests to a service.
3031//
3032//    // Example iterating over at most 3 pages of a ListMaps operation.
3033//    pageNum := 0
3034//    err := client.ListMapsPages(params,
3035//        func(page *locationservice.ListMapsOutput, lastPage bool) bool {
3036//            pageNum++
3037//            fmt.Println(page)
3038//            return pageNum <= 3
3039//        })
3040//
3041func (c *LocationService) ListMapsPages(input *ListMapsInput, fn func(*ListMapsOutput, bool) bool) error {
3042	return c.ListMapsPagesWithContext(aws.BackgroundContext(), input, fn)
3043}
3044
3045// ListMapsPagesWithContext same as ListMapsPages except
3046// it takes a Context and allows setting request options on the pages.
3047//
3048// The context must be non-nil and will be used for request cancellation. If
3049// the context is nil a panic will occur. In the future the SDK may create
3050// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3051// for more information on using Contexts.
3052func (c *LocationService) ListMapsPagesWithContext(ctx aws.Context, input *ListMapsInput, fn func(*ListMapsOutput, bool) bool, opts ...request.Option) error {
3053	p := request.Pagination{
3054		NewRequest: func() (*request.Request, error) {
3055			var inCpy *ListMapsInput
3056			if input != nil {
3057				tmp := *input
3058				inCpy = &tmp
3059			}
3060			req, _ := c.ListMapsRequest(inCpy)
3061			req.SetContext(ctx)
3062			req.ApplyOptions(opts...)
3063			return req, nil
3064		},
3065	}
3066
3067	for p.Next() {
3068		if !fn(p.Page().(*ListMapsOutput), !p.HasNextPage()) {
3069			break
3070		}
3071	}
3072
3073	return p.Err()
3074}
3075
3076const opListPlaceIndexes = "ListPlaceIndexes"
3077
3078// ListPlaceIndexesRequest generates a "aws/request.Request" representing the
3079// client's request for the ListPlaceIndexes operation. The "output" return
3080// value will be populated with the request's response once the request completes
3081// successfully.
3082//
3083// Use "Send" method on the returned Request to send the API call to the service.
3084// the "output" return value is not valid until after Send returns without error.
3085//
3086// See ListPlaceIndexes for more information on using the ListPlaceIndexes
3087// API call, and error handling.
3088//
3089// This method is useful when you want to inject custom logic or configuration
3090// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3091//
3092//
3093//    // Example sending a request using the ListPlaceIndexesRequest method.
3094//    req, resp := client.ListPlaceIndexesRequest(params)
3095//
3096//    err := req.Send()
3097//    if err == nil { // resp is now filled
3098//        fmt.Println(resp)
3099//    }
3100//
3101// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListPlaceIndexes
3102func (c *LocationService) ListPlaceIndexesRequest(input *ListPlaceIndexesInput) (req *request.Request, output *ListPlaceIndexesOutput) {
3103	op := &request.Operation{
3104		Name:       opListPlaceIndexes,
3105		HTTPMethod: "POST",
3106		HTTPPath:   "/places/v0/list-indexes",
3107		Paginator: &request.Paginator{
3108			InputTokens:     []string{"NextToken"},
3109			OutputTokens:    []string{"NextToken"},
3110			LimitToken:      "MaxResults",
3111			TruncationToken: "",
3112		},
3113	}
3114
3115	if input == nil {
3116		input = &ListPlaceIndexesInput{}
3117	}
3118
3119	output = &ListPlaceIndexesOutput{}
3120	req = c.newRequest(op, input, output)
3121	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
3122	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3123	return
3124}
3125
3126// ListPlaceIndexes API operation for Amazon Location Service.
3127//
3128// Lists Place index resources in your AWS account.
3129//
3130// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3131// with awserr.Error's Code and Message methods to get detailed information about
3132// the error.
3133//
3134// See the AWS API reference guide for Amazon Location Service's
3135// API operation ListPlaceIndexes for usage and error information.
3136//
3137// Returned Error Types:
3138//   * InternalServerException
3139//   The request has failed to process because of an unknown server error, exception,
3140//   or failure.
3141//
3142//   * AccessDeniedException
3143//   The request was denied due to insufficient access or permission. Check with
3144//   an administrator to verify your permissions.
3145//
3146//   * ValidationException
3147//   The input failed to meet the constraints specified by the AWS service.
3148//
3149//   * ThrottlingException
3150//   The request was denied due to request throttling.
3151//
3152// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListPlaceIndexes
3153func (c *LocationService) ListPlaceIndexes(input *ListPlaceIndexesInput) (*ListPlaceIndexesOutput, error) {
3154	req, out := c.ListPlaceIndexesRequest(input)
3155	return out, req.Send()
3156}
3157
3158// ListPlaceIndexesWithContext is the same as ListPlaceIndexes with the addition of
3159// the ability to pass a context and additional request options.
3160//
3161// See ListPlaceIndexes for details on how to use this API operation.
3162//
3163// The context must be non-nil and will be used for request cancellation. If
3164// the context is nil a panic will occur. In the future the SDK may create
3165// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3166// for more information on using Contexts.
3167func (c *LocationService) ListPlaceIndexesWithContext(ctx aws.Context, input *ListPlaceIndexesInput, opts ...request.Option) (*ListPlaceIndexesOutput, error) {
3168	req, out := c.ListPlaceIndexesRequest(input)
3169	req.SetContext(ctx)
3170	req.ApplyOptions(opts...)
3171	return out, req.Send()
3172}
3173
3174// ListPlaceIndexesPages iterates over the pages of a ListPlaceIndexes operation,
3175// calling the "fn" function with the response data for each page. To stop
3176// iterating, return false from the fn function.
3177//
3178// See ListPlaceIndexes method for more information on how to use this operation.
3179//
3180// Note: This operation can generate multiple requests to a service.
3181//
3182//    // Example iterating over at most 3 pages of a ListPlaceIndexes operation.
3183//    pageNum := 0
3184//    err := client.ListPlaceIndexesPages(params,
3185//        func(page *locationservice.ListPlaceIndexesOutput, lastPage bool) bool {
3186//            pageNum++
3187//            fmt.Println(page)
3188//            return pageNum <= 3
3189//        })
3190//
3191func (c *LocationService) ListPlaceIndexesPages(input *ListPlaceIndexesInput, fn func(*ListPlaceIndexesOutput, bool) bool) error {
3192	return c.ListPlaceIndexesPagesWithContext(aws.BackgroundContext(), input, fn)
3193}
3194
3195// ListPlaceIndexesPagesWithContext same as ListPlaceIndexesPages except
3196// it takes a Context and allows setting request options on the pages.
3197//
3198// The context must be non-nil and will be used for request cancellation. If
3199// the context is nil a panic will occur. In the future the SDK may create
3200// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3201// for more information on using Contexts.
3202func (c *LocationService) ListPlaceIndexesPagesWithContext(ctx aws.Context, input *ListPlaceIndexesInput, fn func(*ListPlaceIndexesOutput, bool) bool, opts ...request.Option) error {
3203	p := request.Pagination{
3204		NewRequest: func() (*request.Request, error) {
3205			var inCpy *ListPlaceIndexesInput
3206			if input != nil {
3207				tmp := *input
3208				inCpy = &tmp
3209			}
3210			req, _ := c.ListPlaceIndexesRequest(inCpy)
3211			req.SetContext(ctx)
3212			req.ApplyOptions(opts...)
3213			return req, nil
3214		},
3215	}
3216
3217	for p.Next() {
3218		if !fn(p.Page().(*ListPlaceIndexesOutput), !p.HasNextPage()) {
3219			break
3220		}
3221	}
3222
3223	return p.Err()
3224}
3225
3226const opListTrackerConsumers = "ListTrackerConsumers"
3227
3228// ListTrackerConsumersRequest generates a "aws/request.Request" representing the
3229// client's request for the ListTrackerConsumers operation. The "output" return
3230// value will be populated with the request's response once the request completes
3231// successfully.
3232//
3233// Use "Send" method on the returned Request to send the API call to the service.
3234// the "output" return value is not valid until after Send returns without error.
3235//
3236// See ListTrackerConsumers for more information on using the ListTrackerConsumers
3237// API call, and error handling.
3238//
3239// This method is useful when you want to inject custom logic or configuration
3240// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3241//
3242//
3243//    // Example sending a request using the ListTrackerConsumersRequest method.
3244//    req, resp := client.ListTrackerConsumersRequest(params)
3245//
3246//    err := req.Send()
3247//    if err == nil { // resp is now filled
3248//        fmt.Println(resp)
3249//    }
3250//
3251// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListTrackerConsumers
3252func (c *LocationService) ListTrackerConsumersRequest(input *ListTrackerConsumersInput) (req *request.Request, output *ListTrackerConsumersOutput) {
3253	op := &request.Operation{
3254		Name:       opListTrackerConsumers,
3255		HTTPMethod: "POST",
3256		HTTPPath:   "/tracking/v0/trackers/{TrackerName}/list-consumers",
3257		Paginator: &request.Paginator{
3258			InputTokens:     []string{"NextToken"},
3259			OutputTokens:    []string{"NextToken"},
3260			LimitToken:      "MaxResults",
3261			TruncationToken: "",
3262		},
3263	}
3264
3265	if input == nil {
3266		input = &ListTrackerConsumersInput{}
3267	}
3268
3269	output = &ListTrackerConsumersOutput{}
3270	req = c.newRequest(op, input, output)
3271	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
3272	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3273	return
3274}
3275
3276// ListTrackerConsumers API operation for Amazon Location Service.
3277//
3278// Lists geofence collections currently associated to the given tracker resource.
3279//
3280// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3281// with awserr.Error's Code and Message methods to get detailed information about
3282// the error.
3283//
3284// See the AWS API reference guide for Amazon Location Service's
3285// API operation ListTrackerConsumers for usage and error information.
3286//
3287// Returned Error Types:
3288//   * InternalServerException
3289//   The request has failed to process because of an unknown server error, exception,
3290//   or failure.
3291//
3292//   * ResourceNotFoundException
3293//   The resource that you've entered was not found in your AWS account.
3294//
3295//   * AccessDeniedException
3296//   The request was denied due to insufficient access or permission. Check with
3297//   an administrator to verify your permissions.
3298//
3299//   * ValidationException
3300//   The input failed to meet the constraints specified by the AWS service.
3301//
3302//   * ThrottlingException
3303//   The request was denied due to request throttling.
3304//
3305// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListTrackerConsumers
3306func (c *LocationService) ListTrackerConsumers(input *ListTrackerConsumersInput) (*ListTrackerConsumersOutput, error) {
3307	req, out := c.ListTrackerConsumersRequest(input)
3308	return out, req.Send()
3309}
3310
3311// ListTrackerConsumersWithContext is the same as ListTrackerConsumers with the addition of
3312// the ability to pass a context and additional request options.
3313//
3314// See ListTrackerConsumers for details on how to use this API operation.
3315//
3316// The context must be non-nil and will be used for request cancellation. If
3317// the context is nil a panic will occur. In the future the SDK may create
3318// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3319// for more information on using Contexts.
3320func (c *LocationService) ListTrackerConsumersWithContext(ctx aws.Context, input *ListTrackerConsumersInput, opts ...request.Option) (*ListTrackerConsumersOutput, error) {
3321	req, out := c.ListTrackerConsumersRequest(input)
3322	req.SetContext(ctx)
3323	req.ApplyOptions(opts...)
3324	return out, req.Send()
3325}
3326
3327// ListTrackerConsumersPages iterates over the pages of a ListTrackerConsumers operation,
3328// calling the "fn" function with the response data for each page. To stop
3329// iterating, return false from the fn function.
3330//
3331// See ListTrackerConsumers method for more information on how to use this operation.
3332//
3333// Note: This operation can generate multiple requests to a service.
3334//
3335//    // Example iterating over at most 3 pages of a ListTrackerConsumers operation.
3336//    pageNum := 0
3337//    err := client.ListTrackerConsumersPages(params,
3338//        func(page *locationservice.ListTrackerConsumersOutput, lastPage bool) bool {
3339//            pageNum++
3340//            fmt.Println(page)
3341//            return pageNum <= 3
3342//        })
3343//
3344func (c *LocationService) ListTrackerConsumersPages(input *ListTrackerConsumersInput, fn func(*ListTrackerConsumersOutput, bool) bool) error {
3345	return c.ListTrackerConsumersPagesWithContext(aws.BackgroundContext(), input, fn)
3346}
3347
3348// ListTrackerConsumersPagesWithContext same as ListTrackerConsumersPages except
3349// it takes a Context and allows setting request options on the pages.
3350//
3351// The context must be non-nil and will be used for request cancellation. If
3352// the context is nil a panic will occur. In the future the SDK may create
3353// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3354// for more information on using Contexts.
3355func (c *LocationService) ListTrackerConsumersPagesWithContext(ctx aws.Context, input *ListTrackerConsumersInput, fn func(*ListTrackerConsumersOutput, bool) bool, opts ...request.Option) error {
3356	p := request.Pagination{
3357		NewRequest: func() (*request.Request, error) {
3358			var inCpy *ListTrackerConsumersInput
3359			if input != nil {
3360				tmp := *input
3361				inCpy = &tmp
3362			}
3363			req, _ := c.ListTrackerConsumersRequest(inCpy)
3364			req.SetContext(ctx)
3365			req.ApplyOptions(opts...)
3366			return req, nil
3367		},
3368	}
3369
3370	for p.Next() {
3371		if !fn(p.Page().(*ListTrackerConsumersOutput), !p.HasNextPage()) {
3372			break
3373		}
3374	}
3375
3376	return p.Err()
3377}
3378
3379const opListTrackers = "ListTrackers"
3380
3381// ListTrackersRequest generates a "aws/request.Request" representing the
3382// client's request for the ListTrackers operation. The "output" return
3383// value will be populated with the request's response once the request completes
3384// successfully.
3385//
3386// Use "Send" method on the returned Request to send the API call to the service.
3387// the "output" return value is not valid until after Send returns without error.
3388//
3389// See ListTrackers for more information on using the ListTrackers
3390// API call, and error handling.
3391//
3392// This method is useful when you want to inject custom logic or configuration
3393// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3394//
3395//
3396//    // Example sending a request using the ListTrackersRequest method.
3397//    req, resp := client.ListTrackersRequest(params)
3398//
3399//    err := req.Send()
3400//    if err == nil { // resp is now filled
3401//        fmt.Println(resp)
3402//    }
3403//
3404// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListTrackers
3405func (c *LocationService) ListTrackersRequest(input *ListTrackersInput) (req *request.Request, output *ListTrackersOutput) {
3406	op := &request.Operation{
3407		Name:       opListTrackers,
3408		HTTPMethod: "POST",
3409		HTTPPath:   "/tracking/v0/list-trackers",
3410		Paginator: &request.Paginator{
3411			InputTokens:     []string{"NextToken"},
3412			OutputTokens:    []string{"NextToken"},
3413			LimitToken:      "MaxResults",
3414			TruncationToken: "",
3415		},
3416	}
3417
3418	if input == nil {
3419		input = &ListTrackersInput{}
3420	}
3421
3422	output = &ListTrackersOutput{}
3423	req = c.newRequest(op, input, output)
3424	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("tracking.", nil))
3425	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3426	return
3427}
3428
3429// ListTrackers API operation for Amazon Location Service.
3430//
3431// Lists tracker resources in your AWS account.
3432//
3433// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3434// with awserr.Error's Code and Message methods to get detailed information about
3435// the error.
3436//
3437// See the AWS API reference guide for Amazon Location Service's
3438// API operation ListTrackers for usage and error information.
3439//
3440// Returned Error Types:
3441//   * InternalServerException
3442//   The request has failed to process because of an unknown server error, exception,
3443//   or failure.
3444//
3445//   * AccessDeniedException
3446//   The request was denied due to insufficient access or permission. Check with
3447//   an administrator to verify your permissions.
3448//
3449//   * ValidationException
3450//   The input failed to meet the constraints specified by the AWS service.
3451//
3452//   * ThrottlingException
3453//   The request was denied due to request throttling.
3454//
3455// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/ListTrackers
3456func (c *LocationService) ListTrackers(input *ListTrackersInput) (*ListTrackersOutput, error) {
3457	req, out := c.ListTrackersRequest(input)
3458	return out, req.Send()
3459}
3460
3461// ListTrackersWithContext is the same as ListTrackers with the addition of
3462// the ability to pass a context and additional request options.
3463//
3464// See ListTrackers for details on how to use this API operation.
3465//
3466// The context must be non-nil and will be used for request cancellation. If
3467// the context is nil a panic will occur. In the future the SDK may create
3468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3469// for more information on using Contexts.
3470func (c *LocationService) ListTrackersWithContext(ctx aws.Context, input *ListTrackersInput, opts ...request.Option) (*ListTrackersOutput, error) {
3471	req, out := c.ListTrackersRequest(input)
3472	req.SetContext(ctx)
3473	req.ApplyOptions(opts...)
3474	return out, req.Send()
3475}
3476
3477// ListTrackersPages iterates over the pages of a ListTrackers operation,
3478// calling the "fn" function with the response data for each page. To stop
3479// iterating, return false from the fn function.
3480//
3481// See ListTrackers method for more information on how to use this operation.
3482//
3483// Note: This operation can generate multiple requests to a service.
3484//
3485//    // Example iterating over at most 3 pages of a ListTrackers operation.
3486//    pageNum := 0
3487//    err := client.ListTrackersPages(params,
3488//        func(page *locationservice.ListTrackersOutput, lastPage bool) bool {
3489//            pageNum++
3490//            fmt.Println(page)
3491//            return pageNum <= 3
3492//        })
3493//
3494func (c *LocationService) ListTrackersPages(input *ListTrackersInput, fn func(*ListTrackersOutput, bool) bool) error {
3495	return c.ListTrackersPagesWithContext(aws.BackgroundContext(), input, fn)
3496}
3497
3498// ListTrackersPagesWithContext same as ListTrackersPages except
3499// it takes a Context and allows setting request options on the pages.
3500//
3501// The context must be non-nil and will be used for request cancellation. If
3502// the context is nil a panic will occur. In the future the SDK may create
3503// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3504// for more information on using Contexts.
3505func (c *LocationService) ListTrackersPagesWithContext(ctx aws.Context, input *ListTrackersInput, fn func(*ListTrackersOutput, bool) bool, opts ...request.Option) error {
3506	p := request.Pagination{
3507		NewRequest: func() (*request.Request, error) {
3508			var inCpy *ListTrackersInput
3509			if input != nil {
3510				tmp := *input
3511				inCpy = &tmp
3512			}
3513			req, _ := c.ListTrackersRequest(inCpy)
3514			req.SetContext(ctx)
3515			req.ApplyOptions(opts...)
3516			return req, nil
3517		},
3518	}
3519
3520	for p.Next() {
3521		if !fn(p.Page().(*ListTrackersOutput), !p.HasNextPage()) {
3522			break
3523		}
3524	}
3525
3526	return p.Err()
3527}
3528
3529const opPutGeofence = "PutGeofence"
3530
3531// PutGeofenceRequest generates a "aws/request.Request" representing the
3532// client's request for the PutGeofence operation. The "output" return
3533// value will be populated with the request's response once the request completes
3534// successfully.
3535//
3536// Use "Send" method on the returned Request to send the API call to the service.
3537// the "output" return value is not valid until after Send returns without error.
3538//
3539// See PutGeofence for more information on using the PutGeofence
3540// API call, and error handling.
3541//
3542// This method is useful when you want to inject custom logic or configuration
3543// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3544//
3545//
3546//    // Example sending a request using the PutGeofenceRequest method.
3547//    req, resp := client.PutGeofenceRequest(params)
3548//
3549//    err := req.Send()
3550//    if err == nil { // resp is now filled
3551//        fmt.Println(resp)
3552//    }
3553//
3554// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/PutGeofence
3555func (c *LocationService) PutGeofenceRequest(input *PutGeofenceInput) (req *request.Request, output *PutGeofenceOutput) {
3556	op := &request.Operation{
3557		Name:       opPutGeofence,
3558		HTTPMethod: "PUT",
3559		HTTPPath:   "/geofencing/v0/collections/{CollectionName}/geofences/{GeofenceId}",
3560	}
3561
3562	if input == nil {
3563		input = &PutGeofenceInput{}
3564	}
3565
3566	output = &PutGeofenceOutput{}
3567	req = c.newRequest(op, input, output)
3568	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("geofencing.", nil))
3569	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3570	return
3571}
3572
3573// PutGeofence API operation for Amazon Location Service.
3574//
3575// Stores a geofence geometry in a given geofence collection, or updates the
3576// geometry of an existing geofence if a geofence ID is included in the request.
3577//
3578// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3579// with awserr.Error's Code and Message methods to get detailed information about
3580// the error.
3581//
3582// See the AWS API reference guide for Amazon Location Service's
3583// API operation PutGeofence for usage and error information.
3584//
3585// Returned Error Types:
3586//   * InternalServerException
3587//   The request has failed to process because of an unknown server error, exception,
3588//   or failure.
3589//
3590//   * ResourceNotFoundException
3591//   The resource that you've entered was not found in your AWS account.
3592//
3593//   * ConflictException
3594//   The request was unsuccessful due to a conflict.
3595//
3596//   * AccessDeniedException
3597//   The request was denied due to insufficient access or permission. Check with
3598//   an administrator to verify your permissions.
3599//
3600//   * ValidationException
3601//   The input failed to meet the constraints specified by the AWS service.
3602//
3603//   * ThrottlingException
3604//   The request was denied due to request throttling.
3605//
3606// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/PutGeofence
3607func (c *LocationService) PutGeofence(input *PutGeofenceInput) (*PutGeofenceOutput, error) {
3608	req, out := c.PutGeofenceRequest(input)
3609	return out, req.Send()
3610}
3611
3612// PutGeofenceWithContext is the same as PutGeofence with the addition of
3613// the ability to pass a context and additional request options.
3614//
3615// See PutGeofence for details on how to use this API operation.
3616//
3617// The context must be non-nil and will be used for request cancellation. If
3618// the context is nil a panic will occur. In the future the SDK may create
3619// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3620// for more information on using Contexts.
3621func (c *LocationService) PutGeofenceWithContext(ctx aws.Context, input *PutGeofenceInput, opts ...request.Option) (*PutGeofenceOutput, error) {
3622	req, out := c.PutGeofenceRequest(input)
3623	req.SetContext(ctx)
3624	req.ApplyOptions(opts...)
3625	return out, req.Send()
3626}
3627
3628const opSearchPlaceIndexForPosition = "SearchPlaceIndexForPosition"
3629
3630// SearchPlaceIndexForPositionRequest generates a "aws/request.Request" representing the
3631// client's request for the SearchPlaceIndexForPosition operation. The "output" return
3632// value will be populated with the request's response once the request completes
3633// successfully.
3634//
3635// Use "Send" method on the returned Request to send the API call to the service.
3636// the "output" return value is not valid until after Send returns without error.
3637//
3638// See SearchPlaceIndexForPosition for more information on using the SearchPlaceIndexForPosition
3639// API call, and error handling.
3640//
3641// This method is useful when you want to inject custom logic or configuration
3642// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3643//
3644//
3645//    // Example sending a request using the SearchPlaceIndexForPositionRequest method.
3646//    req, resp := client.SearchPlaceIndexForPositionRequest(params)
3647//
3648//    err := req.Send()
3649//    if err == nil { // resp is now filled
3650//        fmt.Println(resp)
3651//    }
3652//
3653// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/SearchPlaceIndexForPosition
3654func (c *LocationService) SearchPlaceIndexForPositionRequest(input *SearchPlaceIndexForPositionInput) (req *request.Request, output *SearchPlaceIndexForPositionOutput) {
3655	op := &request.Operation{
3656		Name:       opSearchPlaceIndexForPosition,
3657		HTTPMethod: "POST",
3658		HTTPPath:   "/places/v0/indexes/{IndexName}/search/position",
3659	}
3660
3661	if input == nil {
3662		input = &SearchPlaceIndexForPositionInput{}
3663	}
3664
3665	output = &SearchPlaceIndexForPositionOutput{}
3666	req = c.newRequest(op, input, output)
3667	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
3668	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3669	return
3670}
3671
3672// SearchPlaceIndexForPosition API operation for Amazon Location Service.
3673//
3674// Reverse geocodes a given coordinate and returns a legible address. Allows
3675// you to search for Places or points of interest near a given position.
3676//
3677// By using Places, you agree that AWS may transmit your API queries to your
3678// selected third party provider for processing, which may be outside the AWS
3679// region you are currently using.
3680//
3681// Because of licensing limitations, you may not use HERE to store results for
3682// locations in Japan. For more information, see the AWS Service Terms (https://aws.amazon.com/service-terms/)
3683// for Amazon Location Service.
3684//
3685// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3686// with awserr.Error's Code and Message methods to get detailed information about
3687// the error.
3688//
3689// See the AWS API reference guide for Amazon Location Service's
3690// API operation SearchPlaceIndexForPosition for usage and error information.
3691//
3692// Returned Error Types:
3693//   * InternalServerException
3694//   The request has failed to process because of an unknown server error, exception,
3695//   or failure.
3696//
3697//   * ResourceNotFoundException
3698//   The resource that you've entered was not found in your AWS account.
3699//
3700//   * AccessDeniedException
3701//   The request was denied due to insufficient access or permission. Check with
3702//   an administrator to verify your permissions.
3703//
3704//   * ValidationException
3705//   The input failed to meet the constraints specified by the AWS service.
3706//
3707//   * ThrottlingException
3708//   The request was denied due to request throttling.
3709//
3710// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/SearchPlaceIndexForPosition
3711func (c *LocationService) SearchPlaceIndexForPosition(input *SearchPlaceIndexForPositionInput) (*SearchPlaceIndexForPositionOutput, error) {
3712	req, out := c.SearchPlaceIndexForPositionRequest(input)
3713	return out, req.Send()
3714}
3715
3716// SearchPlaceIndexForPositionWithContext is the same as SearchPlaceIndexForPosition with the addition of
3717// the ability to pass a context and additional request options.
3718//
3719// See SearchPlaceIndexForPosition for details on how to use this API operation.
3720//
3721// The context must be non-nil and will be used for request cancellation. If
3722// the context is nil a panic will occur. In the future the SDK may create
3723// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3724// for more information on using Contexts.
3725func (c *LocationService) SearchPlaceIndexForPositionWithContext(ctx aws.Context, input *SearchPlaceIndexForPositionInput, opts ...request.Option) (*SearchPlaceIndexForPositionOutput, error) {
3726	req, out := c.SearchPlaceIndexForPositionRequest(input)
3727	req.SetContext(ctx)
3728	req.ApplyOptions(opts...)
3729	return out, req.Send()
3730}
3731
3732const opSearchPlaceIndexForText = "SearchPlaceIndexForText"
3733
3734// SearchPlaceIndexForTextRequest generates a "aws/request.Request" representing the
3735// client's request for the SearchPlaceIndexForText operation. The "output" return
3736// value will be populated with the request's response once the request completes
3737// successfully.
3738//
3739// Use "Send" method on the returned Request to send the API call to the service.
3740// the "output" return value is not valid until after Send returns without error.
3741//
3742// See SearchPlaceIndexForText for more information on using the SearchPlaceIndexForText
3743// API call, and error handling.
3744//
3745// This method is useful when you want to inject custom logic or configuration
3746// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3747//
3748//
3749//    // Example sending a request using the SearchPlaceIndexForTextRequest method.
3750//    req, resp := client.SearchPlaceIndexForTextRequest(params)
3751//
3752//    err := req.Send()
3753//    if err == nil { // resp is now filled
3754//        fmt.Println(resp)
3755//    }
3756//
3757// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/SearchPlaceIndexForText
3758func (c *LocationService) SearchPlaceIndexForTextRequest(input *SearchPlaceIndexForTextInput) (req *request.Request, output *SearchPlaceIndexForTextOutput) {
3759	op := &request.Operation{
3760		Name:       opSearchPlaceIndexForText,
3761		HTTPMethod: "POST",
3762		HTTPPath:   "/places/v0/indexes/{IndexName}/search/text",
3763	}
3764
3765	if input == nil {
3766		input = &SearchPlaceIndexForTextInput{}
3767	}
3768
3769	output = &SearchPlaceIndexForTextOutput{}
3770	req = c.newRequest(op, input, output)
3771	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("places.", nil))
3772	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3773	return
3774}
3775
3776// SearchPlaceIndexForText API operation for Amazon Location Service.
3777//
3778// Geocodes free-form text, such as an address, name, city, or region to allow
3779// you to search for Places or points of interest.
3780//
3781// Includes the option to apply additional parameters to narrow your list of
3782// results.
3783//
3784// You can search for places near a given position using BiasPosition, or filter
3785// results within a bounding box using FilterBBox. Providing both parameters
3786// simultaneously returns an error.
3787//
3788// By using Places, you agree that AWS may transmit your API queries to your
3789// selected third party provider for processing, which may be outside the AWS
3790// region you are currently using.
3791//
3792// Also, when using HERE as your data provider, you may not (a) use HERE Places
3793// for Asset Management, or (b) select the Storage option for the IntendedUse
3794// parameter when requesting Places in Japan. For more information, see the
3795// AWS Service Terms (https://aws.amazon.com/service-terms/) for Amazon Location
3796// Service.
3797//
3798// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3799// with awserr.Error's Code and Message methods to get detailed information about
3800// the error.
3801//
3802// See the AWS API reference guide for Amazon Location Service's
3803// API operation SearchPlaceIndexForText for usage and error information.
3804//
3805// Returned Error Types:
3806//   * InternalServerException
3807//   The request has failed to process because of an unknown server error, exception,
3808//   or failure.
3809//
3810//   * ResourceNotFoundException
3811//   The resource that you've entered was not found in your AWS account.
3812//
3813//   * AccessDeniedException
3814//   The request was denied due to insufficient access or permission. Check with
3815//   an administrator to verify your permissions.
3816//
3817//   * ValidationException
3818//   The input failed to meet the constraints specified by the AWS service.
3819//
3820//   * ThrottlingException
3821//   The request was denied due to request throttling.
3822//
3823// See also, https://docs.aws.amazon.com/goto/WebAPI/location-2020-11-19/SearchPlaceIndexForText
3824func (c *LocationService) SearchPlaceIndexForText(input *SearchPlaceIndexForTextInput) (*SearchPlaceIndexForTextOutput, error) {
3825	req, out := c.SearchPlaceIndexForTextRequest(input)
3826	return out, req.Send()
3827}
3828
3829// SearchPlaceIndexForTextWithContext is the same as SearchPlaceIndexForText with the addition of
3830// the ability to pass a context and additional request options.
3831//
3832// See SearchPlaceIndexForText for details on how to use this API operation.
3833//
3834// The context must be non-nil and will be used for request cancellation. If
3835// the context is nil a panic will occur. In the future the SDK may create
3836// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3837// for more information on using Contexts.
3838func (c *LocationService) SearchPlaceIndexForTextWithContext(ctx aws.Context, input *SearchPlaceIndexForTextInput, opts ...request.Option) (*SearchPlaceIndexForTextOutput, error) {
3839	req, out := c.SearchPlaceIndexForTextRequest(input)
3840	req.SetContext(ctx)
3841	req.ApplyOptions(opts...)
3842	return out, req.Send()
3843}
3844
3845// The request was denied due to insufficient access or permission. Check with
3846// an administrator to verify your permissions.
3847type AccessDeniedException struct {
3848	_            struct{}                  `type:"structure"`
3849	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3850
3851	Message_ *string `locationName:"message" type:"string"`
3852}
3853
3854// String returns the string representation
3855func (s AccessDeniedException) String() string {
3856	return awsutil.Prettify(s)
3857}
3858
3859// GoString returns the string representation
3860func (s AccessDeniedException) GoString() string {
3861	return s.String()
3862}
3863
3864func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
3865	return &AccessDeniedException{
3866		RespMetadata: v,
3867	}
3868}
3869
3870// Code returns the exception type name.
3871func (s *AccessDeniedException) Code() string {
3872	return "AccessDeniedException"
3873}
3874
3875// Message returns the exception's message.
3876func (s *AccessDeniedException) Message() string {
3877	if s.Message_ != nil {
3878		return *s.Message_
3879	}
3880	return ""
3881}
3882
3883// OrigErr always returns nil, satisfies awserr.Error interface.
3884func (s *AccessDeniedException) OrigErr() error {
3885	return nil
3886}
3887
3888func (s *AccessDeniedException) Error() string {
3889	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3890}
3891
3892// Status code returns the HTTP status code for the request's response error.
3893func (s *AccessDeniedException) StatusCode() int {
3894	return s.RespMetadata.StatusCode
3895}
3896
3897// RequestID returns the service's response RequestID for request.
3898func (s *AccessDeniedException) RequestID() string {
3899	return s.RespMetadata.RequestID
3900}
3901
3902type AssociateTrackerConsumerInput struct {
3903	_ struct{} `type:"structure"`
3904
3905	// The Amazon Resource Name (ARN) for the geofence collection to be associated
3906	// to tracker resource. Used when you need to specify a resource across all
3907	// AWS.
3908	//
3909	//    * Format example: arn:partition:service:region:account-id:resource-type:resource-id
3910	//
3911	// ConsumerArn is a required field
3912	ConsumerArn *string `type:"string" required:"true"`
3913
3914	// The name of the tracker resource to be associated with a geofence collection.
3915	//
3916	// TrackerName is a required field
3917	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
3918}
3919
3920// String returns the string representation
3921func (s AssociateTrackerConsumerInput) String() string {
3922	return awsutil.Prettify(s)
3923}
3924
3925// GoString returns the string representation
3926func (s AssociateTrackerConsumerInput) GoString() string {
3927	return s.String()
3928}
3929
3930// Validate inspects the fields of the type to determine if they are valid.
3931func (s *AssociateTrackerConsumerInput) Validate() error {
3932	invalidParams := request.ErrInvalidParams{Context: "AssociateTrackerConsumerInput"}
3933	if s.ConsumerArn == nil {
3934		invalidParams.Add(request.NewErrParamRequired("ConsumerArn"))
3935	}
3936	if s.TrackerName == nil {
3937		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
3938	}
3939	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
3940		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
3941	}
3942
3943	if invalidParams.Len() > 0 {
3944		return invalidParams
3945	}
3946	return nil
3947}
3948
3949// SetConsumerArn sets the ConsumerArn field's value.
3950func (s *AssociateTrackerConsumerInput) SetConsumerArn(v string) *AssociateTrackerConsumerInput {
3951	s.ConsumerArn = &v
3952	return s
3953}
3954
3955// SetTrackerName sets the TrackerName field's value.
3956func (s *AssociateTrackerConsumerInput) SetTrackerName(v string) *AssociateTrackerConsumerInput {
3957	s.TrackerName = &v
3958	return s
3959}
3960
3961type AssociateTrackerConsumerOutput struct {
3962	_ struct{} `type:"structure"`
3963}
3964
3965// String returns the string representation
3966func (s AssociateTrackerConsumerOutput) String() string {
3967	return awsutil.Prettify(s)
3968}
3969
3970// GoString returns the string representation
3971func (s AssociateTrackerConsumerOutput) GoString() string {
3972	return s.String()
3973}
3974
3975// Contains error details for each geofence that failed to delete from the geofence
3976// collection.
3977type BatchDeleteGeofenceError struct {
3978	_ struct{} `type:"structure"`
3979
3980	// Contains details associated to the batch error.
3981	//
3982	// Error is a required field
3983	Error *BatchItemError `type:"structure" required:"true"`
3984
3985	// The geofence associated with the error message.
3986	//
3987	// GeofenceId is a required field
3988	GeofenceId *string `min:"1" type:"string" required:"true"`
3989}
3990
3991// String returns the string representation
3992func (s BatchDeleteGeofenceError) String() string {
3993	return awsutil.Prettify(s)
3994}
3995
3996// GoString returns the string representation
3997func (s BatchDeleteGeofenceError) GoString() string {
3998	return s.String()
3999}
4000
4001// SetError sets the Error field's value.
4002func (s *BatchDeleteGeofenceError) SetError(v *BatchItemError) *BatchDeleteGeofenceError {
4003	s.Error = v
4004	return s
4005}
4006
4007// SetGeofenceId sets the GeofenceId field's value.
4008func (s *BatchDeleteGeofenceError) SetGeofenceId(v string) *BatchDeleteGeofenceError {
4009	s.GeofenceId = &v
4010	return s
4011}
4012
4013type BatchDeleteGeofenceInput struct {
4014	_ struct{} `type:"structure"`
4015
4016	// The geofence collection storing the geofences to be deleted.
4017	//
4018	// CollectionName is a required field
4019	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
4020
4021	// The batch of geofences to be deleted.
4022	//
4023	// GeofenceIds is a required field
4024	GeofenceIds []*string `min:"1" type:"list" required:"true"`
4025}
4026
4027// String returns the string representation
4028func (s BatchDeleteGeofenceInput) String() string {
4029	return awsutil.Prettify(s)
4030}
4031
4032// GoString returns the string representation
4033func (s BatchDeleteGeofenceInput) GoString() string {
4034	return s.String()
4035}
4036
4037// Validate inspects the fields of the type to determine if they are valid.
4038func (s *BatchDeleteGeofenceInput) Validate() error {
4039	invalidParams := request.ErrInvalidParams{Context: "BatchDeleteGeofenceInput"}
4040	if s.CollectionName == nil {
4041		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
4042	}
4043	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
4044		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
4045	}
4046	if s.GeofenceIds == nil {
4047		invalidParams.Add(request.NewErrParamRequired("GeofenceIds"))
4048	}
4049	if s.GeofenceIds != nil && len(s.GeofenceIds) < 1 {
4050		invalidParams.Add(request.NewErrParamMinLen("GeofenceIds", 1))
4051	}
4052
4053	if invalidParams.Len() > 0 {
4054		return invalidParams
4055	}
4056	return nil
4057}
4058
4059// SetCollectionName sets the CollectionName field's value.
4060func (s *BatchDeleteGeofenceInput) SetCollectionName(v string) *BatchDeleteGeofenceInput {
4061	s.CollectionName = &v
4062	return s
4063}
4064
4065// SetGeofenceIds sets the GeofenceIds field's value.
4066func (s *BatchDeleteGeofenceInput) SetGeofenceIds(v []*string) *BatchDeleteGeofenceInput {
4067	s.GeofenceIds = v
4068	return s
4069}
4070
4071type BatchDeleteGeofenceOutput struct {
4072	_ struct{} `type:"structure"`
4073
4074	// Contains error details for each geofence that failed to delete.
4075	//
4076	// Errors is a required field
4077	Errors []*BatchDeleteGeofenceError `type:"list" required:"true"`
4078}
4079
4080// String returns the string representation
4081func (s BatchDeleteGeofenceOutput) String() string {
4082	return awsutil.Prettify(s)
4083}
4084
4085// GoString returns the string representation
4086func (s BatchDeleteGeofenceOutput) GoString() string {
4087	return s.String()
4088}
4089
4090// SetErrors sets the Errors field's value.
4091func (s *BatchDeleteGeofenceOutput) SetErrors(v []*BatchDeleteGeofenceError) *BatchDeleteGeofenceOutput {
4092	s.Errors = v
4093	return s
4094}
4095
4096// Contains error details for each device that failed to evaluate its position
4097// against the geofences in a given geofence collection.
4098type BatchEvaluateGeofencesError struct {
4099	_ struct{} `type:"structure"`
4100
4101	// The device associated with the position evaluation error.
4102	//
4103	// DeviceId is a required field
4104	DeviceId *string `min:"1" type:"string" required:"true"`
4105
4106	// Contains details associated to the batch error.
4107	//
4108	// Error is a required field
4109	Error *BatchItemError `type:"structure" required:"true"`
4110
4111	// Specifies a timestamp for when the error occurred in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
4112	// format: YYYY-MM-DDThh:mm:ss.sssZ
4113	//
4114	// SampleTime is a required field
4115	SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
4116}
4117
4118// String returns the string representation
4119func (s BatchEvaluateGeofencesError) String() string {
4120	return awsutil.Prettify(s)
4121}
4122
4123// GoString returns the string representation
4124func (s BatchEvaluateGeofencesError) GoString() string {
4125	return s.String()
4126}
4127
4128// SetDeviceId sets the DeviceId field's value.
4129func (s *BatchEvaluateGeofencesError) SetDeviceId(v string) *BatchEvaluateGeofencesError {
4130	s.DeviceId = &v
4131	return s
4132}
4133
4134// SetError sets the Error field's value.
4135func (s *BatchEvaluateGeofencesError) SetError(v *BatchItemError) *BatchEvaluateGeofencesError {
4136	s.Error = v
4137	return s
4138}
4139
4140// SetSampleTime sets the SampleTime field's value.
4141func (s *BatchEvaluateGeofencesError) SetSampleTime(v time.Time) *BatchEvaluateGeofencesError {
4142	s.SampleTime = &v
4143	return s
4144}
4145
4146type BatchEvaluateGeofencesInput struct {
4147	_ struct{} `type:"structure"`
4148
4149	// The geofence collection used in evaluating the position of devices against
4150	// its geofences.
4151	//
4152	// CollectionName is a required field
4153	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
4154
4155	// Contains device details for each device to be evaluated against the given
4156	// geofence collection.
4157	//
4158	// DevicePositionUpdates is a required field
4159	DevicePositionUpdates []*DevicePositionUpdate `min:"1" type:"list" required:"true"`
4160}
4161
4162// String returns the string representation
4163func (s BatchEvaluateGeofencesInput) String() string {
4164	return awsutil.Prettify(s)
4165}
4166
4167// GoString returns the string representation
4168func (s BatchEvaluateGeofencesInput) GoString() string {
4169	return s.String()
4170}
4171
4172// Validate inspects the fields of the type to determine if they are valid.
4173func (s *BatchEvaluateGeofencesInput) Validate() error {
4174	invalidParams := request.ErrInvalidParams{Context: "BatchEvaluateGeofencesInput"}
4175	if s.CollectionName == nil {
4176		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
4177	}
4178	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
4179		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
4180	}
4181	if s.DevicePositionUpdates == nil {
4182		invalidParams.Add(request.NewErrParamRequired("DevicePositionUpdates"))
4183	}
4184	if s.DevicePositionUpdates != nil && len(s.DevicePositionUpdates) < 1 {
4185		invalidParams.Add(request.NewErrParamMinLen("DevicePositionUpdates", 1))
4186	}
4187	if s.DevicePositionUpdates != nil {
4188		for i, v := range s.DevicePositionUpdates {
4189			if v == nil {
4190				continue
4191			}
4192			if err := v.Validate(); err != nil {
4193				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DevicePositionUpdates", i), err.(request.ErrInvalidParams))
4194			}
4195		}
4196	}
4197
4198	if invalidParams.Len() > 0 {
4199		return invalidParams
4200	}
4201	return nil
4202}
4203
4204// SetCollectionName sets the CollectionName field's value.
4205func (s *BatchEvaluateGeofencesInput) SetCollectionName(v string) *BatchEvaluateGeofencesInput {
4206	s.CollectionName = &v
4207	return s
4208}
4209
4210// SetDevicePositionUpdates sets the DevicePositionUpdates field's value.
4211func (s *BatchEvaluateGeofencesInput) SetDevicePositionUpdates(v []*DevicePositionUpdate) *BatchEvaluateGeofencesInput {
4212	s.DevicePositionUpdates = v
4213	return s
4214}
4215
4216type BatchEvaluateGeofencesOutput struct {
4217	_ struct{} `type:"structure"`
4218
4219	// Contains error details for each device that failed to evaluate its position
4220	// against the given geofence collection.
4221	//
4222	// Errors is a required field
4223	Errors []*BatchEvaluateGeofencesError `type:"list" required:"true"`
4224}
4225
4226// String returns the string representation
4227func (s BatchEvaluateGeofencesOutput) String() string {
4228	return awsutil.Prettify(s)
4229}
4230
4231// GoString returns the string representation
4232func (s BatchEvaluateGeofencesOutput) GoString() string {
4233	return s.String()
4234}
4235
4236// SetErrors sets the Errors field's value.
4237func (s *BatchEvaluateGeofencesOutput) SetErrors(v []*BatchEvaluateGeofencesError) *BatchEvaluateGeofencesOutput {
4238	s.Errors = v
4239	return s
4240}
4241
4242// Contains error details for each device that didn't return a position.
4243type BatchGetDevicePositionError struct {
4244	_ struct{} `type:"structure"`
4245
4246	// The ID of the device that didn't return a position.
4247	//
4248	// DeviceId is a required field
4249	DeviceId *string `min:"1" type:"string" required:"true"`
4250
4251	// Contains details related to the error code.
4252	//
4253	// Error is a required field
4254	Error *BatchItemError `type:"structure" required:"true"`
4255}
4256
4257// String returns the string representation
4258func (s BatchGetDevicePositionError) String() string {
4259	return awsutil.Prettify(s)
4260}
4261
4262// GoString returns the string representation
4263func (s BatchGetDevicePositionError) GoString() string {
4264	return s.String()
4265}
4266
4267// SetDeviceId sets the DeviceId field's value.
4268func (s *BatchGetDevicePositionError) SetDeviceId(v string) *BatchGetDevicePositionError {
4269	s.DeviceId = &v
4270	return s
4271}
4272
4273// SetError sets the Error field's value.
4274func (s *BatchGetDevicePositionError) SetError(v *BatchItemError) *BatchGetDevicePositionError {
4275	s.Error = v
4276	return s
4277}
4278
4279type BatchGetDevicePositionInput struct {
4280	_ struct{} `type:"structure"`
4281
4282	// Devices whose position you want to retrieve.
4283	//
4284	//    * For example, for two devices: device-ids=DeviceId1&device-ids=DeviceId2
4285	//
4286	// DeviceIds is a required field
4287	DeviceIds []*string `min:"1" type:"list" required:"true"`
4288
4289	// The tracker resource retrieving the device position.
4290	//
4291	// TrackerName is a required field
4292	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
4293}
4294
4295// String returns the string representation
4296func (s BatchGetDevicePositionInput) String() string {
4297	return awsutil.Prettify(s)
4298}
4299
4300// GoString returns the string representation
4301func (s BatchGetDevicePositionInput) GoString() string {
4302	return s.String()
4303}
4304
4305// Validate inspects the fields of the type to determine if they are valid.
4306func (s *BatchGetDevicePositionInput) Validate() error {
4307	invalidParams := request.ErrInvalidParams{Context: "BatchGetDevicePositionInput"}
4308	if s.DeviceIds == nil {
4309		invalidParams.Add(request.NewErrParamRequired("DeviceIds"))
4310	}
4311	if s.DeviceIds != nil && len(s.DeviceIds) < 1 {
4312		invalidParams.Add(request.NewErrParamMinLen("DeviceIds", 1))
4313	}
4314	if s.TrackerName == nil {
4315		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
4316	}
4317	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
4318		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
4319	}
4320
4321	if invalidParams.Len() > 0 {
4322		return invalidParams
4323	}
4324	return nil
4325}
4326
4327// SetDeviceIds sets the DeviceIds field's value.
4328func (s *BatchGetDevicePositionInput) SetDeviceIds(v []*string) *BatchGetDevicePositionInput {
4329	s.DeviceIds = v
4330	return s
4331}
4332
4333// SetTrackerName sets the TrackerName field's value.
4334func (s *BatchGetDevicePositionInput) SetTrackerName(v string) *BatchGetDevicePositionInput {
4335	s.TrackerName = &v
4336	return s
4337}
4338
4339type BatchGetDevicePositionOutput struct {
4340	_ struct{} `type:"structure"`
4341
4342	// Contains device position details such as the device ID, position, and timestamps
4343	// for when the position was received and sampled.
4344	//
4345	// DevicePositions is a required field
4346	DevicePositions []*DevicePosition `type:"list" required:"true"`
4347
4348	// Contains error details for each device that failed to send its position to
4349	// the tracker resource.
4350	//
4351	// Errors is a required field
4352	Errors []*BatchGetDevicePositionError `type:"list" required:"true"`
4353}
4354
4355// String returns the string representation
4356func (s BatchGetDevicePositionOutput) String() string {
4357	return awsutil.Prettify(s)
4358}
4359
4360// GoString returns the string representation
4361func (s BatchGetDevicePositionOutput) GoString() string {
4362	return s.String()
4363}
4364
4365// SetDevicePositions sets the DevicePositions field's value.
4366func (s *BatchGetDevicePositionOutput) SetDevicePositions(v []*DevicePosition) *BatchGetDevicePositionOutput {
4367	s.DevicePositions = v
4368	return s
4369}
4370
4371// SetErrors sets the Errors field's value.
4372func (s *BatchGetDevicePositionOutput) SetErrors(v []*BatchGetDevicePositionError) *BatchGetDevicePositionOutput {
4373	s.Errors = v
4374	return s
4375}
4376
4377// Contains the batch request error details associated with the request.
4378type BatchItemError struct {
4379	_ struct{} `type:"structure"`
4380
4381	// The error code associated with the batch request error.
4382	Code *string `type:"string" enum:"BatchItemErrorCode"`
4383
4384	// A message with the reason for the batch request error.
4385	Message *string `type:"string"`
4386}
4387
4388// String returns the string representation
4389func (s BatchItemError) String() string {
4390	return awsutil.Prettify(s)
4391}
4392
4393// GoString returns the string representation
4394func (s BatchItemError) GoString() string {
4395	return s.String()
4396}
4397
4398// SetCode sets the Code field's value.
4399func (s *BatchItemError) SetCode(v string) *BatchItemError {
4400	s.Code = &v
4401	return s
4402}
4403
4404// SetMessage sets the Message field's value.
4405func (s *BatchItemError) SetMessage(v string) *BatchItemError {
4406	s.Message = &v
4407	return s
4408}
4409
4410// Contains error details for each geofence that failed to be stored in a given
4411// geofence collection.
4412type BatchPutGeofenceError struct {
4413	_ struct{} `type:"structure"`
4414
4415	// Contains details associated to the batch error.
4416	//
4417	// Error is a required field
4418	Error *BatchItemError `type:"structure" required:"true"`
4419
4420	// The geofence associated with the error message.
4421	//
4422	// GeofenceId is a required field
4423	GeofenceId *string `min:"1" type:"string" required:"true"`
4424}
4425
4426// String returns the string representation
4427func (s BatchPutGeofenceError) String() string {
4428	return awsutil.Prettify(s)
4429}
4430
4431// GoString returns the string representation
4432func (s BatchPutGeofenceError) GoString() string {
4433	return s.String()
4434}
4435
4436// SetError sets the Error field's value.
4437func (s *BatchPutGeofenceError) SetError(v *BatchItemError) *BatchPutGeofenceError {
4438	s.Error = v
4439	return s
4440}
4441
4442// SetGeofenceId sets the GeofenceId field's value.
4443func (s *BatchPutGeofenceError) SetGeofenceId(v string) *BatchPutGeofenceError {
4444	s.GeofenceId = &v
4445	return s
4446}
4447
4448type BatchPutGeofenceInput struct {
4449	_ struct{} `type:"structure"`
4450
4451	// The geofence collection storing the geofences.
4452	//
4453	// CollectionName is a required field
4454	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
4455
4456	// The batch of geofences to be stored in a geofence collection.
4457	//
4458	// Entries is a required field
4459	Entries []*BatchPutGeofenceRequestEntry `min:"1" type:"list" required:"true"`
4460}
4461
4462// String returns the string representation
4463func (s BatchPutGeofenceInput) String() string {
4464	return awsutil.Prettify(s)
4465}
4466
4467// GoString returns the string representation
4468func (s BatchPutGeofenceInput) GoString() string {
4469	return s.String()
4470}
4471
4472// Validate inspects the fields of the type to determine if they are valid.
4473func (s *BatchPutGeofenceInput) Validate() error {
4474	invalidParams := request.ErrInvalidParams{Context: "BatchPutGeofenceInput"}
4475	if s.CollectionName == nil {
4476		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
4477	}
4478	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
4479		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
4480	}
4481	if s.Entries == nil {
4482		invalidParams.Add(request.NewErrParamRequired("Entries"))
4483	}
4484	if s.Entries != nil && len(s.Entries) < 1 {
4485		invalidParams.Add(request.NewErrParamMinLen("Entries", 1))
4486	}
4487	if s.Entries != nil {
4488		for i, v := range s.Entries {
4489			if v == nil {
4490				continue
4491			}
4492			if err := v.Validate(); err != nil {
4493				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams))
4494			}
4495		}
4496	}
4497
4498	if invalidParams.Len() > 0 {
4499		return invalidParams
4500	}
4501	return nil
4502}
4503
4504// SetCollectionName sets the CollectionName field's value.
4505func (s *BatchPutGeofenceInput) SetCollectionName(v string) *BatchPutGeofenceInput {
4506	s.CollectionName = &v
4507	return s
4508}
4509
4510// SetEntries sets the Entries field's value.
4511func (s *BatchPutGeofenceInput) SetEntries(v []*BatchPutGeofenceRequestEntry) *BatchPutGeofenceInput {
4512	s.Entries = v
4513	return s
4514}
4515
4516type BatchPutGeofenceOutput struct {
4517	_ struct{} `type:"structure"`
4518
4519	// Contains additional error details for each geofence that failed to be stored
4520	// in a geofence collection.
4521	//
4522	// Errors is a required field
4523	Errors []*BatchPutGeofenceError `type:"list" required:"true"`
4524
4525	// Contains each geofence that was successfully stored in a geofence collection.
4526	//
4527	// Successes is a required field
4528	Successes []*BatchPutGeofenceSuccess `type:"list" required:"true"`
4529}
4530
4531// String returns the string representation
4532func (s BatchPutGeofenceOutput) String() string {
4533	return awsutil.Prettify(s)
4534}
4535
4536// GoString returns the string representation
4537func (s BatchPutGeofenceOutput) GoString() string {
4538	return s.String()
4539}
4540
4541// SetErrors sets the Errors field's value.
4542func (s *BatchPutGeofenceOutput) SetErrors(v []*BatchPutGeofenceError) *BatchPutGeofenceOutput {
4543	s.Errors = v
4544	return s
4545}
4546
4547// SetSuccesses sets the Successes field's value.
4548func (s *BatchPutGeofenceOutput) SetSuccesses(v []*BatchPutGeofenceSuccess) *BatchPutGeofenceOutput {
4549	s.Successes = v
4550	return s
4551}
4552
4553// Contains geofence geometry details.
4554type BatchPutGeofenceRequestEntry struct {
4555	_ struct{} `type:"structure"`
4556
4557	// The identifier for the geofence to be stored in a given geofence collection.
4558	//
4559	// GeofenceId is a required field
4560	GeofenceId *string `min:"1" type:"string" required:"true"`
4561
4562	// Contains the polygon details to specify the position of the geofence.
4563	//
4564	// Each geofence polygon (https://docs.aws.amazon.com/location-geofences/latest/APIReference/API_GeofenceGeometry.html)
4565	// can have a maximum of 1,000 vertices.
4566	//
4567	// Geometry is a required field
4568	Geometry *GeofenceGeometry `type:"structure" required:"true"`
4569}
4570
4571// String returns the string representation
4572func (s BatchPutGeofenceRequestEntry) String() string {
4573	return awsutil.Prettify(s)
4574}
4575
4576// GoString returns the string representation
4577func (s BatchPutGeofenceRequestEntry) GoString() string {
4578	return s.String()
4579}
4580
4581// Validate inspects the fields of the type to determine if they are valid.
4582func (s *BatchPutGeofenceRequestEntry) Validate() error {
4583	invalidParams := request.ErrInvalidParams{Context: "BatchPutGeofenceRequestEntry"}
4584	if s.GeofenceId == nil {
4585		invalidParams.Add(request.NewErrParamRequired("GeofenceId"))
4586	}
4587	if s.GeofenceId != nil && len(*s.GeofenceId) < 1 {
4588		invalidParams.Add(request.NewErrParamMinLen("GeofenceId", 1))
4589	}
4590	if s.Geometry == nil {
4591		invalidParams.Add(request.NewErrParamRequired("Geometry"))
4592	}
4593	if s.Geometry != nil {
4594		if err := s.Geometry.Validate(); err != nil {
4595			invalidParams.AddNested("Geometry", err.(request.ErrInvalidParams))
4596		}
4597	}
4598
4599	if invalidParams.Len() > 0 {
4600		return invalidParams
4601	}
4602	return nil
4603}
4604
4605// SetGeofenceId sets the GeofenceId field's value.
4606func (s *BatchPutGeofenceRequestEntry) SetGeofenceId(v string) *BatchPutGeofenceRequestEntry {
4607	s.GeofenceId = &v
4608	return s
4609}
4610
4611// SetGeometry sets the Geometry field's value.
4612func (s *BatchPutGeofenceRequestEntry) SetGeometry(v *GeofenceGeometry) *BatchPutGeofenceRequestEntry {
4613	s.Geometry = v
4614	return s
4615}
4616
4617// Contains a summary of each geofence that was successfully stored in a given
4618// geofence collection.
4619type BatchPutGeofenceSuccess struct {
4620	_ struct{} `type:"structure"`
4621
4622	// The timestamp for when the geofence was stored in a geofence collection in
4623	// ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format:
4624	// YYYY-MM-DDThh:mm:ss.sssZ
4625	//
4626	// CreateTime is a required field
4627	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
4628
4629	// The geofence successfully stored in a geofence collection.
4630	//
4631	// GeofenceId is a required field
4632	GeofenceId *string `min:"1" type:"string" required:"true"`
4633
4634	// The timestamp for when the geofence was last updated in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
4635	// format: YYYY-MM-DDThh:mm:ss.sssZ
4636	//
4637	// UpdateTime is a required field
4638	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
4639}
4640
4641// String returns the string representation
4642func (s BatchPutGeofenceSuccess) String() string {
4643	return awsutil.Prettify(s)
4644}
4645
4646// GoString returns the string representation
4647func (s BatchPutGeofenceSuccess) GoString() string {
4648	return s.String()
4649}
4650
4651// SetCreateTime sets the CreateTime field's value.
4652func (s *BatchPutGeofenceSuccess) SetCreateTime(v time.Time) *BatchPutGeofenceSuccess {
4653	s.CreateTime = &v
4654	return s
4655}
4656
4657// SetGeofenceId sets the GeofenceId field's value.
4658func (s *BatchPutGeofenceSuccess) SetGeofenceId(v string) *BatchPutGeofenceSuccess {
4659	s.GeofenceId = &v
4660	return s
4661}
4662
4663// SetUpdateTime sets the UpdateTime field's value.
4664func (s *BatchPutGeofenceSuccess) SetUpdateTime(v time.Time) *BatchPutGeofenceSuccess {
4665	s.UpdateTime = &v
4666	return s
4667}
4668
4669// Contains error details for each device that failed to update its position.
4670type BatchUpdateDevicePositionError struct {
4671	_ struct{} `type:"structure"`
4672
4673	// The device associated with the failed location update.
4674	//
4675	// DeviceId is a required field
4676	DeviceId *string `min:"1" type:"string" required:"true"`
4677
4678	// Contains details related to the error code such as the error code and error
4679	// message.
4680	//
4681	// Error is a required field
4682	Error *BatchItemError `type:"structure" required:"true"`
4683
4684	// The timestamp at which the device position was determined. Uses ISO 8601
4685	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
4686	//
4687	// SampleTime is a required field
4688	SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
4689}
4690
4691// String returns the string representation
4692func (s BatchUpdateDevicePositionError) String() string {
4693	return awsutil.Prettify(s)
4694}
4695
4696// GoString returns the string representation
4697func (s BatchUpdateDevicePositionError) GoString() string {
4698	return s.String()
4699}
4700
4701// SetDeviceId sets the DeviceId field's value.
4702func (s *BatchUpdateDevicePositionError) SetDeviceId(v string) *BatchUpdateDevicePositionError {
4703	s.DeviceId = &v
4704	return s
4705}
4706
4707// SetError sets the Error field's value.
4708func (s *BatchUpdateDevicePositionError) SetError(v *BatchItemError) *BatchUpdateDevicePositionError {
4709	s.Error = v
4710	return s
4711}
4712
4713// SetSampleTime sets the SampleTime field's value.
4714func (s *BatchUpdateDevicePositionError) SetSampleTime(v time.Time) *BatchUpdateDevicePositionError {
4715	s.SampleTime = &v
4716	return s
4717}
4718
4719type BatchUpdateDevicePositionInput struct {
4720	_ struct{} `type:"structure"`
4721
4722	// The name of the tracker resource to update.
4723	//
4724	// TrackerName is a required field
4725	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
4726
4727	// Contains the position update details for each device.
4728	//
4729	// Updates is a required field
4730	Updates []*DevicePositionUpdate `min:"1" type:"list" required:"true"`
4731}
4732
4733// String returns the string representation
4734func (s BatchUpdateDevicePositionInput) String() string {
4735	return awsutil.Prettify(s)
4736}
4737
4738// GoString returns the string representation
4739func (s BatchUpdateDevicePositionInput) GoString() string {
4740	return s.String()
4741}
4742
4743// Validate inspects the fields of the type to determine if they are valid.
4744func (s *BatchUpdateDevicePositionInput) Validate() error {
4745	invalidParams := request.ErrInvalidParams{Context: "BatchUpdateDevicePositionInput"}
4746	if s.TrackerName == nil {
4747		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
4748	}
4749	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
4750		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
4751	}
4752	if s.Updates == nil {
4753		invalidParams.Add(request.NewErrParamRequired("Updates"))
4754	}
4755	if s.Updates != nil && len(s.Updates) < 1 {
4756		invalidParams.Add(request.NewErrParamMinLen("Updates", 1))
4757	}
4758	if s.Updates != nil {
4759		for i, v := range s.Updates {
4760			if v == nil {
4761				continue
4762			}
4763			if err := v.Validate(); err != nil {
4764				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Updates", i), err.(request.ErrInvalidParams))
4765			}
4766		}
4767	}
4768
4769	if invalidParams.Len() > 0 {
4770		return invalidParams
4771	}
4772	return nil
4773}
4774
4775// SetTrackerName sets the TrackerName field's value.
4776func (s *BatchUpdateDevicePositionInput) SetTrackerName(v string) *BatchUpdateDevicePositionInput {
4777	s.TrackerName = &v
4778	return s
4779}
4780
4781// SetUpdates sets the Updates field's value.
4782func (s *BatchUpdateDevicePositionInput) SetUpdates(v []*DevicePositionUpdate) *BatchUpdateDevicePositionInput {
4783	s.Updates = v
4784	return s
4785}
4786
4787type BatchUpdateDevicePositionOutput struct {
4788	_ struct{} `type:"structure"`
4789
4790	// Contains error details for each device that failed to update its position.
4791	//
4792	// Errors is a required field
4793	Errors []*BatchUpdateDevicePositionError `type:"list" required:"true"`
4794}
4795
4796// String returns the string representation
4797func (s BatchUpdateDevicePositionOutput) String() string {
4798	return awsutil.Prettify(s)
4799}
4800
4801// GoString returns the string representation
4802func (s BatchUpdateDevicePositionOutput) GoString() string {
4803	return s.String()
4804}
4805
4806// SetErrors sets the Errors field's value.
4807func (s *BatchUpdateDevicePositionOutput) SetErrors(v []*BatchUpdateDevicePositionError) *BatchUpdateDevicePositionOutput {
4808	s.Errors = v
4809	return s
4810}
4811
4812// The request was unsuccessful due to a conflict.
4813type ConflictException struct {
4814	_            struct{}                  `type:"structure"`
4815	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4816
4817	Message_ *string `locationName:"message" type:"string"`
4818}
4819
4820// String returns the string representation
4821func (s ConflictException) String() string {
4822	return awsutil.Prettify(s)
4823}
4824
4825// GoString returns the string representation
4826func (s ConflictException) GoString() string {
4827	return s.String()
4828}
4829
4830func newErrorConflictException(v protocol.ResponseMetadata) error {
4831	return &ConflictException{
4832		RespMetadata: v,
4833	}
4834}
4835
4836// Code returns the exception type name.
4837func (s *ConflictException) Code() string {
4838	return "ConflictException"
4839}
4840
4841// Message returns the exception's message.
4842func (s *ConflictException) Message() string {
4843	if s.Message_ != nil {
4844		return *s.Message_
4845	}
4846	return ""
4847}
4848
4849// OrigErr always returns nil, satisfies awserr.Error interface.
4850func (s *ConflictException) OrigErr() error {
4851	return nil
4852}
4853
4854func (s *ConflictException) Error() string {
4855	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4856}
4857
4858// Status code returns the HTTP status code for the request's response error.
4859func (s *ConflictException) StatusCode() int {
4860	return s.RespMetadata.StatusCode
4861}
4862
4863// RequestID returns the service's response RequestID for request.
4864func (s *ConflictException) RequestID() string {
4865	return s.RespMetadata.RequestID
4866}
4867
4868type CreateGeofenceCollectionInput struct {
4869	_ struct{} `type:"structure"`
4870
4871	// A custom name for the geofence collection.
4872	//
4873	// Requirements:
4874	//
4875	//    * Contain only alphanumeric characters (A–Z, a–z, 0-9), hyphens (-),
4876	//    periods (.), and underscores (_).
4877	//
4878	//    * Must be a unique geofence collection name.
4879	//
4880	//    * No spaces allowed. For example, ExampleGeofenceCollection.
4881	//
4882	// CollectionName is a required field
4883	CollectionName *string `min:"1" type:"string" required:"true"`
4884
4885	// An optional description for the geofence collection.
4886	Description *string `type:"string"`
4887
4888	// Specifies the pricing plan for your geofence collection.
4889	//
4890	// For additional details and restrictions on each pricing plan option, see
4891	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
4892	//
4893	// PricingPlan is a required field
4894	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
4895
4896	// Specifies the plan data source. Required if the Mobile Asset Tracking (MAT)
4897	// or the Mobile Asset Management (MAM) pricing plan is selected.
4898	//
4899	// Billing is determined by the resource usage, the associated pricing plan,
4900	// and the data source that was specified. For more information about each pricing
4901	// plan option and restrictions, see the Amazon Location Service pricing page
4902	// (https://aws.amazon.com/location/pricing/).
4903	//
4904	// Valid Values: Esri | Here
4905	PricingPlanDataSource *string `type:"string"`
4906}
4907
4908// String returns the string representation
4909func (s CreateGeofenceCollectionInput) String() string {
4910	return awsutil.Prettify(s)
4911}
4912
4913// GoString returns the string representation
4914func (s CreateGeofenceCollectionInput) GoString() string {
4915	return s.String()
4916}
4917
4918// Validate inspects the fields of the type to determine if they are valid.
4919func (s *CreateGeofenceCollectionInput) Validate() error {
4920	invalidParams := request.ErrInvalidParams{Context: "CreateGeofenceCollectionInput"}
4921	if s.CollectionName == nil {
4922		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
4923	}
4924	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
4925		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
4926	}
4927	if s.PricingPlan == nil {
4928		invalidParams.Add(request.NewErrParamRequired("PricingPlan"))
4929	}
4930
4931	if invalidParams.Len() > 0 {
4932		return invalidParams
4933	}
4934	return nil
4935}
4936
4937// SetCollectionName sets the CollectionName field's value.
4938func (s *CreateGeofenceCollectionInput) SetCollectionName(v string) *CreateGeofenceCollectionInput {
4939	s.CollectionName = &v
4940	return s
4941}
4942
4943// SetDescription sets the Description field's value.
4944func (s *CreateGeofenceCollectionInput) SetDescription(v string) *CreateGeofenceCollectionInput {
4945	s.Description = &v
4946	return s
4947}
4948
4949// SetPricingPlan sets the PricingPlan field's value.
4950func (s *CreateGeofenceCollectionInput) SetPricingPlan(v string) *CreateGeofenceCollectionInput {
4951	s.PricingPlan = &v
4952	return s
4953}
4954
4955// SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
4956func (s *CreateGeofenceCollectionInput) SetPricingPlanDataSource(v string) *CreateGeofenceCollectionInput {
4957	s.PricingPlanDataSource = &v
4958	return s
4959}
4960
4961type CreateGeofenceCollectionOutput struct {
4962	_ struct{} `type:"structure"`
4963
4964	// The Amazon Resource Name (ARN) for the geofence collection resource. Used
4965	// when you need to specify a resource across all AWS.
4966	//
4967	// CollectionArn is a required field
4968	CollectionArn *string `type:"string" required:"true"`
4969
4970	// The name for the geofence collection.
4971	//
4972	// CollectionName is a required field
4973	CollectionName *string `min:"1" type:"string" required:"true"`
4974
4975	// The timestamp for when the geofence collection was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
4976	// format: YYYY-MM-DDThh:mm:ss.sssZ
4977	//
4978	// CreateTime is a required field
4979	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
4980}
4981
4982// String returns the string representation
4983func (s CreateGeofenceCollectionOutput) String() string {
4984	return awsutil.Prettify(s)
4985}
4986
4987// GoString returns the string representation
4988func (s CreateGeofenceCollectionOutput) GoString() string {
4989	return s.String()
4990}
4991
4992// SetCollectionArn sets the CollectionArn field's value.
4993func (s *CreateGeofenceCollectionOutput) SetCollectionArn(v string) *CreateGeofenceCollectionOutput {
4994	s.CollectionArn = &v
4995	return s
4996}
4997
4998// SetCollectionName sets the CollectionName field's value.
4999func (s *CreateGeofenceCollectionOutput) SetCollectionName(v string) *CreateGeofenceCollectionOutput {
5000	s.CollectionName = &v
5001	return s
5002}
5003
5004// SetCreateTime sets the CreateTime field's value.
5005func (s *CreateGeofenceCollectionOutput) SetCreateTime(v time.Time) *CreateGeofenceCollectionOutput {
5006	s.CreateTime = &v
5007	return s
5008}
5009
5010type CreateMapInput struct {
5011	_ struct{} `type:"structure"`
5012
5013	// Specifies the map style selected from an available data provider.
5014	//
5015	// Configuration is a required field
5016	Configuration *MapConfiguration `type:"structure" required:"true"`
5017
5018	// An optional description for the map resource.
5019	Description *string `type:"string"`
5020
5021	// The name for the map resource.
5022	//
5023	// Requirements:
5024	//
5025	//    * Must contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens
5026	//    (-), periods (.), and underscores (_).
5027	//
5028	//    * Must be a unique map resource name.
5029	//
5030	//    * No spaces allowed. For example, ExampleMap.
5031	//
5032	// MapName is a required field
5033	MapName *string `min:"1" type:"string" required:"true"`
5034
5035	// Specifies the pricing plan for your map resource.
5036	//
5037	// For additional details and restrictions on each pricing plan option, see
5038	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
5039	//
5040	// PricingPlan is a required field
5041	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
5042}
5043
5044// String returns the string representation
5045func (s CreateMapInput) String() string {
5046	return awsutil.Prettify(s)
5047}
5048
5049// GoString returns the string representation
5050func (s CreateMapInput) GoString() string {
5051	return s.String()
5052}
5053
5054// Validate inspects the fields of the type to determine if they are valid.
5055func (s *CreateMapInput) Validate() error {
5056	invalidParams := request.ErrInvalidParams{Context: "CreateMapInput"}
5057	if s.Configuration == nil {
5058		invalidParams.Add(request.NewErrParamRequired("Configuration"))
5059	}
5060	if s.MapName == nil {
5061		invalidParams.Add(request.NewErrParamRequired("MapName"))
5062	}
5063	if s.MapName != nil && len(*s.MapName) < 1 {
5064		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
5065	}
5066	if s.PricingPlan == nil {
5067		invalidParams.Add(request.NewErrParamRequired("PricingPlan"))
5068	}
5069	if s.Configuration != nil {
5070		if err := s.Configuration.Validate(); err != nil {
5071			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
5072		}
5073	}
5074
5075	if invalidParams.Len() > 0 {
5076		return invalidParams
5077	}
5078	return nil
5079}
5080
5081// SetConfiguration sets the Configuration field's value.
5082func (s *CreateMapInput) SetConfiguration(v *MapConfiguration) *CreateMapInput {
5083	s.Configuration = v
5084	return s
5085}
5086
5087// SetDescription sets the Description field's value.
5088func (s *CreateMapInput) SetDescription(v string) *CreateMapInput {
5089	s.Description = &v
5090	return s
5091}
5092
5093// SetMapName sets the MapName field's value.
5094func (s *CreateMapInput) SetMapName(v string) *CreateMapInput {
5095	s.MapName = &v
5096	return s
5097}
5098
5099// SetPricingPlan sets the PricingPlan field's value.
5100func (s *CreateMapInput) SetPricingPlan(v string) *CreateMapInput {
5101	s.PricingPlan = &v
5102	return s
5103}
5104
5105type CreateMapOutput struct {
5106	_ struct{} `type:"structure"`
5107
5108	// The timestamp for when the map resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
5109	// format: YYYY-MM-DDThh:mm:ss.sssZ.
5110	//
5111	// CreateTime is a required field
5112	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
5113
5114	// The Amazon Resource Name (ARN) for the map resource. Used when you need to
5115	// specify a resource across all AWS.
5116	//
5117	//    * Format example: arn:partition:service:region:account-id:resource-type:resource-id
5118	//
5119	// MapArn is a required field
5120	MapArn *string `type:"string" required:"true"`
5121
5122	// The name of the map resource.
5123	//
5124	// MapName is a required field
5125	MapName *string `min:"1" type:"string" required:"true"`
5126}
5127
5128// String returns the string representation
5129func (s CreateMapOutput) String() string {
5130	return awsutil.Prettify(s)
5131}
5132
5133// GoString returns the string representation
5134func (s CreateMapOutput) GoString() string {
5135	return s.String()
5136}
5137
5138// SetCreateTime sets the CreateTime field's value.
5139func (s *CreateMapOutput) SetCreateTime(v time.Time) *CreateMapOutput {
5140	s.CreateTime = &v
5141	return s
5142}
5143
5144// SetMapArn sets the MapArn field's value.
5145func (s *CreateMapOutput) SetMapArn(v string) *CreateMapOutput {
5146	s.MapArn = &v
5147	return s
5148}
5149
5150// SetMapName sets the MapName field's value.
5151func (s *CreateMapOutput) SetMapName(v string) *CreateMapOutput {
5152	s.MapName = &v
5153	return s
5154}
5155
5156type CreatePlaceIndexInput struct {
5157	_ struct{} `type:"structure"`
5158
5159	// Specifies the data provider of geospatial data.
5160	//
5161	// This field is case-sensitive. Enter the valid values as shown. For example,
5162	// entering HERE will return an error.
5163	//
5164	// Valid values include:
5165	//
5166	//    * Esri
5167	//
5168	//    * Here
5169	//
5170	// For additional details on data providers, see the Amazon Location Service
5171	// data providers page (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
5172	//
5173	// DataSource is a required field
5174	DataSource *string `type:"string" required:"true"`
5175
5176	// Specifies the data storage option for requesting Places.
5177	DataSourceConfiguration *DataSourceConfiguration `type:"structure"`
5178
5179	// The optional description for the Place index resource.
5180	Description *string `type:"string"`
5181
5182	// The name of the Place index resource.
5183	//
5184	// Requirements:
5185	//
5186	//    * Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-),
5187	//    periods (.), and underscores (_).
5188	//
5189	//    * Must be a unique Place index resource name.
5190	//
5191	//    * No spaces allowed. For example, ExamplePlaceIndex.
5192	//
5193	// IndexName is a required field
5194	IndexName *string `min:"1" type:"string" required:"true"`
5195
5196	// Specifies the pricing plan for your Place index resource.
5197	//
5198	// For additional details and restrictions on each pricing plan option, see
5199	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
5200	//
5201	// PricingPlan is a required field
5202	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
5203}
5204
5205// String returns the string representation
5206func (s CreatePlaceIndexInput) String() string {
5207	return awsutil.Prettify(s)
5208}
5209
5210// GoString returns the string representation
5211func (s CreatePlaceIndexInput) GoString() string {
5212	return s.String()
5213}
5214
5215// Validate inspects the fields of the type to determine if they are valid.
5216func (s *CreatePlaceIndexInput) Validate() error {
5217	invalidParams := request.ErrInvalidParams{Context: "CreatePlaceIndexInput"}
5218	if s.DataSource == nil {
5219		invalidParams.Add(request.NewErrParamRequired("DataSource"))
5220	}
5221	if s.IndexName == nil {
5222		invalidParams.Add(request.NewErrParamRequired("IndexName"))
5223	}
5224	if s.IndexName != nil && len(*s.IndexName) < 1 {
5225		invalidParams.Add(request.NewErrParamMinLen("IndexName", 1))
5226	}
5227	if s.PricingPlan == nil {
5228		invalidParams.Add(request.NewErrParamRequired("PricingPlan"))
5229	}
5230
5231	if invalidParams.Len() > 0 {
5232		return invalidParams
5233	}
5234	return nil
5235}
5236
5237// SetDataSource sets the DataSource field's value.
5238func (s *CreatePlaceIndexInput) SetDataSource(v string) *CreatePlaceIndexInput {
5239	s.DataSource = &v
5240	return s
5241}
5242
5243// SetDataSourceConfiguration sets the DataSourceConfiguration field's value.
5244func (s *CreatePlaceIndexInput) SetDataSourceConfiguration(v *DataSourceConfiguration) *CreatePlaceIndexInput {
5245	s.DataSourceConfiguration = v
5246	return s
5247}
5248
5249// SetDescription sets the Description field's value.
5250func (s *CreatePlaceIndexInput) SetDescription(v string) *CreatePlaceIndexInput {
5251	s.Description = &v
5252	return s
5253}
5254
5255// SetIndexName sets the IndexName field's value.
5256func (s *CreatePlaceIndexInput) SetIndexName(v string) *CreatePlaceIndexInput {
5257	s.IndexName = &v
5258	return s
5259}
5260
5261// SetPricingPlan sets the PricingPlan field's value.
5262func (s *CreatePlaceIndexInput) SetPricingPlan(v string) *CreatePlaceIndexInput {
5263	s.PricingPlan = &v
5264	return s
5265}
5266
5267type CreatePlaceIndexOutput struct {
5268	_ struct{} `type:"structure"`
5269
5270	// The timestamp for when the Place index resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
5271	// format: YYYY-MM-DDThh:mm:ss.sssZ.
5272	//
5273	// CreateTime is a required field
5274	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
5275
5276	// The Amazon Resource Name (ARN) for the Place index resource. Used when you
5277	// need to specify a resource across all AWS.
5278	//
5279	// IndexArn is a required field
5280	IndexArn *string `type:"string" required:"true"`
5281
5282	// The name for the Place index resource.
5283	//
5284	// IndexName is a required field
5285	IndexName *string `min:"1" type:"string" required:"true"`
5286}
5287
5288// String returns the string representation
5289func (s CreatePlaceIndexOutput) String() string {
5290	return awsutil.Prettify(s)
5291}
5292
5293// GoString returns the string representation
5294func (s CreatePlaceIndexOutput) GoString() string {
5295	return s.String()
5296}
5297
5298// SetCreateTime sets the CreateTime field's value.
5299func (s *CreatePlaceIndexOutput) SetCreateTime(v time.Time) *CreatePlaceIndexOutput {
5300	s.CreateTime = &v
5301	return s
5302}
5303
5304// SetIndexArn sets the IndexArn field's value.
5305func (s *CreatePlaceIndexOutput) SetIndexArn(v string) *CreatePlaceIndexOutput {
5306	s.IndexArn = &v
5307	return s
5308}
5309
5310// SetIndexName sets the IndexName field's value.
5311func (s *CreatePlaceIndexOutput) SetIndexName(v string) *CreatePlaceIndexOutput {
5312	s.IndexName = &v
5313	return s
5314}
5315
5316type CreateTrackerInput struct {
5317	_ struct{} `type:"structure"`
5318
5319	// An optional description for the tracker resource.
5320	Description *string `type:"string"`
5321
5322	// Specifies the pricing plan for your tracker resource.
5323	//
5324	// For additional details and restrictions on each pricing plan option, see
5325	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
5326	//
5327	// PricingPlan is a required field
5328	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
5329
5330	// Specifies the plan data source. Required if the Mobile Asset Tracking (MAT)
5331	// or the Mobile Asset Management (MAM) pricing plan is selected.
5332	//
5333	// Billing is determined by the resource usage, the associated pricing plan,
5334	// and data source that was specified. For more information about each pricing
5335	// plan option and restrictions, see the Amazon Location Service pricing page
5336	// (https://aws.amazon.com/location/pricing/).
5337	//
5338	// Valid Values: Esri | Here
5339	PricingPlanDataSource *string `type:"string"`
5340
5341	// The name for the tracker resource.
5342	//
5343	// Requirements:
5344	//
5345	//    * Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-),
5346	//    periods (.), and underscores (_).
5347	//
5348	//    * Must be a unique tracker resource name.
5349	//
5350	//    * No spaces allowed. For example, ExampleTracker.
5351	//
5352	// TrackerName is a required field
5353	TrackerName *string `min:"1" type:"string" required:"true"`
5354}
5355
5356// String returns the string representation
5357func (s CreateTrackerInput) String() string {
5358	return awsutil.Prettify(s)
5359}
5360
5361// GoString returns the string representation
5362func (s CreateTrackerInput) GoString() string {
5363	return s.String()
5364}
5365
5366// Validate inspects the fields of the type to determine if they are valid.
5367func (s *CreateTrackerInput) Validate() error {
5368	invalidParams := request.ErrInvalidParams{Context: "CreateTrackerInput"}
5369	if s.PricingPlan == nil {
5370		invalidParams.Add(request.NewErrParamRequired("PricingPlan"))
5371	}
5372	if s.TrackerName == nil {
5373		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
5374	}
5375	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
5376		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
5377	}
5378
5379	if invalidParams.Len() > 0 {
5380		return invalidParams
5381	}
5382	return nil
5383}
5384
5385// SetDescription sets the Description field's value.
5386func (s *CreateTrackerInput) SetDescription(v string) *CreateTrackerInput {
5387	s.Description = &v
5388	return s
5389}
5390
5391// SetPricingPlan sets the PricingPlan field's value.
5392func (s *CreateTrackerInput) SetPricingPlan(v string) *CreateTrackerInput {
5393	s.PricingPlan = &v
5394	return s
5395}
5396
5397// SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
5398func (s *CreateTrackerInput) SetPricingPlanDataSource(v string) *CreateTrackerInput {
5399	s.PricingPlanDataSource = &v
5400	return s
5401}
5402
5403// SetTrackerName sets the TrackerName field's value.
5404func (s *CreateTrackerInput) SetTrackerName(v string) *CreateTrackerInput {
5405	s.TrackerName = &v
5406	return s
5407}
5408
5409type CreateTrackerOutput struct {
5410	_ struct{} `type:"structure"`
5411
5412	// The timestamp for when the tracker resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
5413	// format: YYYY-MM-DDThh:mm:ss.sssZ.
5414	//
5415	// CreateTime is a required field
5416	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
5417
5418	// The Amazon Resource Name (ARN) for the tracker resource. Used when you need
5419	// to specify a resource across all AWS.
5420	//
5421	// TrackerArn is a required field
5422	TrackerArn *string `type:"string" required:"true"`
5423
5424	// The name of the tracker resource.
5425	//
5426	// TrackerName is a required field
5427	TrackerName *string `min:"1" type:"string" required:"true"`
5428}
5429
5430// String returns the string representation
5431func (s CreateTrackerOutput) String() string {
5432	return awsutil.Prettify(s)
5433}
5434
5435// GoString returns the string representation
5436func (s CreateTrackerOutput) GoString() string {
5437	return s.String()
5438}
5439
5440// SetCreateTime sets the CreateTime field's value.
5441func (s *CreateTrackerOutput) SetCreateTime(v time.Time) *CreateTrackerOutput {
5442	s.CreateTime = &v
5443	return s
5444}
5445
5446// SetTrackerArn sets the TrackerArn field's value.
5447func (s *CreateTrackerOutput) SetTrackerArn(v string) *CreateTrackerOutput {
5448	s.TrackerArn = &v
5449	return s
5450}
5451
5452// SetTrackerName sets the TrackerName field's value.
5453func (s *CreateTrackerOutput) SetTrackerName(v string) *CreateTrackerOutput {
5454	s.TrackerName = &v
5455	return s
5456}
5457
5458// Specifies the data storage option chosen for requesting Places.
5459//
5460// By using Places, you agree that AWS may transmit your API queries to your
5461// selected third party provider for processing, which may be outside the AWS
5462// region you are currently using.
5463//
5464// Also, when using HERE as your data provider, you may not (a) use HERE Places
5465// for Asset Management, or (b) select the Storage option for the IntendedUse
5466// parameter when requesting Places in Japan. For more information, see the
5467// AWS Service Terms (https://aws.amazon.com/service-terms/) for Amazon Location
5468// Service.
5469type DataSourceConfiguration struct {
5470	_ struct{} `type:"structure"`
5471
5472	// Specifies how the results of an operation will be stored by the caller.
5473	//
5474	// Valid values include:
5475	//
5476	//    * SingleUse specifies that the results won't be stored.
5477	//
5478	//    * Storage specifies that the result can be cached or stored in a database.
5479	//
5480	// Default value: SingleUse
5481	IntendedUse *string `type:"string" enum:"IntendedUse"`
5482}
5483
5484// String returns the string representation
5485func (s DataSourceConfiguration) String() string {
5486	return awsutil.Prettify(s)
5487}
5488
5489// GoString returns the string representation
5490func (s DataSourceConfiguration) GoString() string {
5491	return s.String()
5492}
5493
5494// SetIntendedUse sets the IntendedUse field's value.
5495func (s *DataSourceConfiguration) SetIntendedUse(v string) *DataSourceConfiguration {
5496	s.IntendedUse = &v
5497	return s
5498}
5499
5500type DeleteGeofenceCollectionInput struct {
5501	_ struct{} `type:"structure"`
5502
5503	// The name of the geofence collection to be deleted.
5504	//
5505	// CollectionName is a required field
5506	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
5507}
5508
5509// String returns the string representation
5510func (s DeleteGeofenceCollectionInput) String() string {
5511	return awsutil.Prettify(s)
5512}
5513
5514// GoString returns the string representation
5515func (s DeleteGeofenceCollectionInput) GoString() string {
5516	return s.String()
5517}
5518
5519// Validate inspects the fields of the type to determine if they are valid.
5520func (s *DeleteGeofenceCollectionInput) Validate() error {
5521	invalidParams := request.ErrInvalidParams{Context: "DeleteGeofenceCollectionInput"}
5522	if s.CollectionName == nil {
5523		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
5524	}
5525	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
5526		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
5527	}
5528
5529	if invalidParams.Len() > 0 {
5530		return invalidParams
5531	}
5532	return nil
5533}
5534
5535// SetCollectionName sets the CollectionName field's value.
5536func (s *DeleteGeofenceCollectionInput) SetCollectionName(v string) *DeleteGeofenceCollectionInput {
5537	s.CollectionName = &v
5538	return s
5539}
5540
5541type DeleteGeofenceCollectionOutput struct {
5542	_ struct{} `type:"structure"`
5543}
5544
5545// String returns the string representation
5546func (s DeleteGeofenceCollectionOutput) String() string {
5547	return awsutil.Prettify(s)
5548}
5549
5550// GoString returns the string representation
5551func (s DeleteGeofenceCollectionOutput) GoString() string {
5552	return s.String()
5553}
5554
5555type DeleteMapInput struct {
5556	_ struct{} `type:"structure"`
5557
5558	// The name of the map resource to be deleted.
5559	//
5560	// MapName is a required field
5561	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
5562}
5563
5564// String returns the string representation
5565func (s DeleteMapInput) String() string {
5566	return awsutil.Prettify(s)
5567}
5568
5569// GoString returns the string representation
5570func (s DeleteMapInput) GoString() string {
5571	return s.String()
5572}
5573
5574// Validate inspects the fields of the type to determine if they are valid.
5575func (s *DeleteMapInput) Validate() error {
5576	invalidParams := request.ErrInvalidParams{Context: "DeleteMapInput"}
5577	if s.MapName == nil {
5578		invalidParams.Add(request.NewErrParamRequired("MapName"))
5579	}
5580	if s.MapName != nil && len(*s.MapName) < 1 {
5581		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
5582	}
5583
5584	if invalidParams.Len() > 0 {
5585		return invalidParams
5586	}
5587	return nil
5588}
5589
5590// SetMapName sets the MapName field's value.
5591func (s *DeleteMapInput) SetMapName(v string) *DeleteMapInput {
5592	s.MapName = &v
5593	return s
5594}
5595
5596type DeleteMapOutput struct {
5597	_ struct{} `type:"structure"`
5598}
5599
5600// String returns the string representation
5601func (s DeleteMapOutput) String() string {
5602	return awsutil.Prettify(s)
5603}
5604
5605// GoString returns the string representation
5606func (s DeleteMapOutput) GoString() string {
5607	return s.String()
5608}
5609
5610type DeletePlaceIndexInput struct {
5611	_ struct{} `type:"structure"`
5612
5613	// The name of the Place index resource to be deleted.
5614	//
5615	// IndexName is a required field
5616	IndexName *string `location:"uri" locationName:"IndexName" min:"1" type:"string" required:"true"`
5617}
5618
5619// String returns the string representation
5620func (s DeletePlaceIndexInput) String() string {
5621	return awsutil.Prettify(s)
5622}
5623
5624// GoString returns the string representation
5625func (s DeletePlaceIndexInput) GoString() string {
5626	return s.String()
5627}
5628
5629// Validate inspects the fields of the type to determine if they are valid.
5630func (s *DeletePlaceIndexInput) Validate() error {
5631	invalidParams := request.ErrInvalidParams{Context: "DeletePlaceIndexInput"}
5632	if s.IndexName == nil {
5633		invalidParams.Add(request.NewErrParamRequired("IndexName"))
5634	}
5635	if s.IndexName != nil && len(*s.IndexName) < 1 {
5636		invalidParams.Add(request.NewErrParamMinLen("IndexName", 1))
5637	}
5638
5639	if invalidParams.Len() > 0 {
5640		return invalidParams
5641	}
5642	return nil
5643}
5644
5645// SetIndexName sets the IndexName field's value.
5646func (s *DeletePlaceIndexInput) SetIndexName(v string) *DeletePlaceIndexInput {
5647	s.IndexName = &v
5648	return s
5649}
5650
5651type DeletePlaceIndexOutput struct {
5652	_ struct{} `type:"structure"`
5653}
5654
5655// String returns the string representation
5656func (s DeletePlaceIndexOutput) String() string {
5657	return awsutil.Prettify(s)
5658}
5659
5660// GoString returns the string representation
5661func (s DeletePlaceIndexOutput) GoString() string {
5662	return s.String()
5663}
5664
5665type DeleteTrackerInput struct {
5666	_ struct{} `type:"structure"`
5667
5668	// The name of the tracker resource to be deleted.
5669	//
5670	// TrackerName is a required field
5671	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
5672}
5673
5674// String returns the string representation
5675func (s DeleteTrackerInput) String() string {
5676	return awsutil.Prettify(s)
5677}
5678
5679// GoString returns the string representation
5680func (s DeleteTrackerInput) GoString() string {
5681	return s.String()
5682}
5683
5684// Validate inspects the fields of the type to determine if they are valid.
5685func (s *DeleteTrackerInput) Validate() error {
5686	invalidParams := request.ErrInvalidParams{Context: "DeleteTrackerInput"}
5687	if s.TrackerName == nil {
5688		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
5689	}
5690	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
5691		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
5692	}
5693
5694	if invalidParams.Len() > 0 {
5695		return invalidParams
5696	}
5697	return nil
5698}
5699
5700// SetTrackerName sets the TrackerName field's value.
5701func (s *DeleteTrackerInput) SetTrackerName(v string) *DeleteTrackerInput {
5702	s.TrackerName = &v
5703	return s
5704}
5705
5706type DeleteTrackerOutput struct {
5707	_ struct{} `type:"structure"`
5708}
5709
5710// String returns the string representation
5711func (s DeleteTrackerOutput) String() string {
5712	return awsutil.Prettify(s)
5713}
5714
5715// GoString returns the string representation
5716func (s DeleteTrackerOutput) GoString() string {
5717	return s.String()
5718}
5719
5720type DescribeGeofenceCollectionInput struct {
5721	_ struct{} `type:"structure"`
5722
5723	// The name of the geofence collection.
5724	//
5725	// CollectionName is a required field
5726	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
5727}
5728
5729// String returns the string representation
5730func (s DescribeGeofenceCollectionInput) String() string {
5731	return awsutil.Prettify(s)
5732}
5733
5734// GoString returns the string representation
5735func (s DescribeGeofenceCollectionInput) GoString() string {
5736	return s.String()
5737}
5738
5739// Validate inspects the fields of the type to determine if they are valid.
5740func (s *DescribeGeofenceCollectionInput) Validate() error {
5741	invalidParams := request.ErrInvalidParams{Context: "DescribeGeofenceCollectionInput"}
5742	if s.CollectionName == nil {
5743		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
5744	}
5745	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
5746		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
5747	}
5748
5749	if invalidParams.Len() > 0 {
5750		return invalidParams
5751	}
5752	return nil
5753}
5754
5755// SetCollectionName sets the CollectionName field's value.
5756func (s *DescribeGeofenceCollectionInput) SetCollectionName(v string) *DescribeGeofenceCollectionInput {
5757	s.CollectionName = &v
5758	return s
5759}
5760
5761type DescribeGeofenceCollectionOutput struct {
5762	_ struct{} `type:"structure"`
5763
5764	// The Amazon Resource Name (ARN) for the geofence collection resource. Used
5765	// when you need to specify a resource across all AWS.
5766	//
5767	// CollectionArn is a required field
5768	CollectionArn *string `type:"string" required:"true"`
5769
5770	// The name of the geofence collection.
5771	//
5772	// CollectionName is a required field
5773	CollectionName *string `min:"1" type:"string" required:"true"`
5774
5775	// The timestamp for when the geofence resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
5776	// format: YYYY-MM-DDThh:mm:ss.sssZ
5777	//
5778	// CreateTime is a required field
5779	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
5780
5781	// The optional description for the geofence collection.
5782	//
5783	// Description is a required field
5784	Description *string `type:"string" required:"true"`
5785
5786	// The pricing plan selected for the specified geofence collection.
5787	//
5788	// For additional details and restrictions on each pricing plan option, see
5789	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
5790	//
5791	// PricingPlan is a required field
5792	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
5793
5794	// The data source selected for the geofence collection and associated pricing
5795	// plan.
5796	PricingPlanDataSource *string `type:"string"`
5797
5798	// The timestamp for when the geofence collection was last updated in ISO 8601
5799	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ
5800	//
5801	// UpdateTime is a required field
5802	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
5803}
5804
5805// String returns the string representation
5806func (s DescribeGeofenceCollectionOutput) String() string {
5807	return awsutil.Prettify(s)
5808}
5809
5810// GoString returns the string representation
5811func (s DescribeGeofenceCollectionOutput) GoString() string {
5812	return s.String()
5813}
5814
5815// SetCollectionArn sets the CollectionArn field's value.
5816func (s *DescribeGeofenceCollectionOutput) SetCollectionArn(v string) *DescribeGeofenceCollectionOutput {
5817	s.CollectionArn = &v
5818	return s
5819}
5820
5821// SetCollectionName sets the CollectionName field's value.
5822func (s *DescribeGeofenceCollectionOutput) SetCollectionName(v string) *DescribeGeofenceCollectionOutput {
5823	s.CollectionName = &v
5824	return s
5825}
5826
5827// SetCreateTime sets the CreateTime field's value.
5828func (s *DescribeGeofenceCollectionOutput) SetCreateTime(v time.Time) *DescribeGeofenceCollectionOutput {
5829	s.CreateTime = &v
5830	return s
5831}
5832
5833// SetDescription sets the Description field's value.
5834func (s *DescribeGeofenceCollectionOutput) SetDescription(v string) *DescribeGeofenceCollectionOutput {
5835	s.Description = &v
5836	return s
5837}
5838
5839// SetPricingPlan sets the PricingPlan field's value.
5840func (s *DescribeGeofenceCollectionOutput) SetPricingPlan(v string) *DescribeGeofenceCollectionOutput {
5841	s.PricingPlan = &v
5842	return s
5843}
5844
5845// SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
5846func (s *DescribeGeofenceCollectionOutput) SetPricingPlanDataSource(v string) *DescribeGeofenceCollectionOutput {
5847	s.PricingPlanDataSource = &v
5848	return s
5849}
5850
5851// SetUpdateTime sets the UpdateTime field's value.
5852func (s *DescribeGeofenceCollectionOutput) SetUpdateTime(v time.Time) *DescribeGeofenceCollectionOutput {
5853	s.UpdateTime = &v
5854	return s
5855}
5856
5857type DescribeMapInput struct {
5858	_ struct{} `type:"structure"`
5859
5860	// The name of the map resource.
5861	//
5862	// MapName is a required field
5863	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
5864}
5865
5866// String returns the string representation
5867func (s DescribeMapInput) String() string {
5868	return awsutil.Prettify(s)
5869}
5870
5871// GoString returns the string representation
5872func (s DescribeMapInput) GoString() string {
5873	return s.String()
5874}
5875
5876// Validate inspects the fields of the type to determine if they are valid.
5877func (s *DescribeMapInput) Validate() error {
5878	invalidParams := request.ErrInvalidParams{Context: "DescribeMapInput"}
5879	if s.MapName == nil {
5880		invalidParams.Add(request.NewErrParamRequired("MapName"))
5881	}
5882	if s.MapName != nil && len(*s.MapName) < 1 {
5883		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
5884	}
5885
5886	if invalidParams.Len() > 0 {
5887		return invalidParams
5888	}
5889	return nil
5890}
5891
5892// SetMapName sets the MapName field's value.
5893func (s *DescribeMapInput) SetMapName(v string) *DescribeMapInput {
5894	s.MapName = &v
5895	return s
5896}
5897
5898type DescribeMapOutput struct {
5899	_ struct{} `type:"structure"`
5900
5901	// Specifies the map tile style selected from a partner data provider.
5902	//
5903	// Configuration is a required field
5904	Configuration *MapConfiguration `type:"structure" required:"true"`
5905
5906	// The timestamp for when the map resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
5907	// format: YYYY-MM-DDThh:mm:ss.sssZ.
5908	//
5909	// CreateTime is a required field
5910	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
5911
5912	// Specifies the data provider for the associated map tiles.
5913	//
5914	// DataSource is a required field
5915	DataSource *string `type:"string" required:"true"`
5916
5917	// The optional description for the map resource.
5918	//
5919	// Description is a required field
5920	Description *string `type:"string" required:"true"`
5921
5922	// The Amazon Resource Name (ARN) for the map resource. Used when you need to
5923	// specify a resource across all AWS.
5924	//
5925	// MapArn is a required field
5926	MapArn *string `type:"string" required:"true"`
5927
5928	// The map style selected from an available provider.
5929	//
5930	// MapName is a required field
5931	MapName *string `min:"1" type:"string" required:"true"`
5932
5933	// The pricing plan selected for the specified map resource.
5934	//
5935	//    <p>For additional details and restrictions on each pricing plan option,
5936	//    see the <a href="https://aws.amazon.com/location/pricing/">Amazon Location
5937	//    Service pricing page</a>.</p>
5938	//
5939	// PricingPlan is a required field
5940	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
5941
5942	// The timestamp for when the map resource was last update in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
5943	// format: YYYY-MM-DDThh:mm:ss.sssZ.
5944	//
5945	// UpdateTime is a required field
5946	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
5947}
5948
5949// String returns the string representation
5950func (s DescribeMapOutput) String() string {
5951	return awsutil.Prettify(s)
5952}
5953
5954// GoString returns the string representation
5955func (s DescribeMapOutput) GoString() string {
5956	return s.String()
5957}
5958
5959// SetConfiguration sets the Configuration field's value.
5960func (s *DescribeMapOutput) SetConfiguration(v *MapConfiguration) *DescribeMapOutput {
5961	s.Configuration = v
5962	return s
5963}
5964
5965// SetCreateTime sets the CreateTime field's value.
5966func (s *DescribeMapOutput) SetCreateTime(v time.Time) *DescribeMapOutput {
5967	s.CreateTime = &v
5968	return s
5969}
5970
5971// SetDataSource sets the DataSource field's value.
5972func (s *DescribeMapOutput) SetDataSource(v string) *DescribeMapOutput {
5973	s.DataSource = &v
5974	return s
5975}
5976
5977// SetDescription sets the Description field's value.
5978func (s *DescribeMapOutput) SetDescription(v string) *DescribeMapOutput {
5979	s.Description = &v
5980	return s
5981}
5982
5983// SetMapArn sets the MapArn field's value.
5984func (s *DescribeMapOutput) SetMapArn(v string) *DescribeMapOutput {
5985	s.MapArn = &v
5986	return s
5987}
5988
5989// SetMapName sets the MapName field's value.
5990func (s *DescribeMapOutput) SetMapName(v string) *DescribeMapOutput {
5991	s.MapName = &v
5992	return s
5993}
5994
5995// SetPricingPlan sets the PricingPlan field's value.
5996func (s *DescribeMapOutput) SetPricingPlan(v string) *DescribeMapOutput {
5997	s.PricingPlan = &v
5998	return s
5999}
6000
6001// SetUpdateTime sets the UpdateTime field's value.
6002func (s *DescribeMapOutput) SetUpdateTime(v time.Time) *DescribeMapOutput {
6003	s.UpdateTime = &v
6004	return s
6005}
6006
6007type DescribePlaceIndexInput struct {
6008	_ struct{} `type:"structure"`
6009
6010	// The name of the Place index resource.
6011	//
6012	// IndexName is a required field
6013	IndexName *string `location:"uri" locationName:"IndexName" min:"1" type:"string" required:"true"`
6014}
6015
6016// String returns the string representation
6017func (s DescribePlaceIndexInput) String() string {
6018	return awsutil.Prettify(s)
6019}
6020
6021// GoString returns the string representation
6022func (s DescribePlaceIndexInput) GoString() string {
6023	return s.String()
6024}
6025
6026// Validate inspects the fields of the type to determine if they are valid.
6027func (s *DescribePlaceIndexInput) Validate() error {
6028	invalidParams := request.ErrInvalidParams{Context: "DescribePlaceIndexInput"}
6029	if s.IndexName == nil {
6030		invalidParams.Add(request.NewErrParamRequired("IndexName"))
6031	}
6032	if s.IndexName != nil && len(*s.IndexName) < 1 {
6033		invalidParams.Add(request.NewErrParamMinLen("IndexName", 1))
6034	}
6035
6036	if invalidParams.Len() > 0 {
6037		return invalidParams
6038	}
6039	return nil
6040}
6041
6042// SetIndexName sets the IndexName field's value.
6043func (s *DescribePlaceIndexInput) SetIndexName(v string) *DescribePlaceIndexInput {
6044	s.IndexName = &v
6045	return s
6046}
6047
6048type DescribePlaceIndexOutput struct {
6049	_ struct{} `type:"structure"`
6050
6051	// The timestamp for when the Place index resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
6052	// format: YYYY-MM-DDThh:mm:ss.sssZ.
6053	//
6054	// CreateTime is a required field
6055	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
6056
6057	// The data provider of geospatial data. Indicates one of the available providers:
6058	//
6059	//    * Esri
6060	//
6061	//    * Here
6062	//
6063	// For additional details on data providers, see the Amazon Location Service
6064	// data providers page (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
6065	//
6066	// DataSource is a required field
6067	DataSource *string `type:"string" required:"true"`
6068
6069	// The specified data storage option for requesting Places.
6070	//
6071	// DataSourceConfiguration is a required field
6072	DataSourceConfiguration *DataSourceConfiguration `type:"structure" required:"true"`
6073
6074	// The optional description for the Place index resource.
6075	//
6076	// Description is a required field
6077	Description *string `type:"string" required:"true"`
6078
6079	// The Amazon Resource Name (ARN) for the Place index resource. Used when you
6080	// need to specify a resource across all AWS.
6081	//
6082	// IndexArn is a required field
6083	IndexArn *string `type:"string" required:"true"`
6084
6085	// The name of the Place index resource being described.
6086	//
6087	// IndexName is a required field
6088	IndexName *string `min:"1" type:"string" required:"true"`
6089
6090	// The pricing plan selected for the specified Place index resource.
6091	//
6092	// For additional details and restrictions on each pricing plan option, see
6093	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
6094	//
6095	// PricingPlan is a required field
6096	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
6097
6098	// The timestamp for when the Place index resource was last updated in ISO 8601
6099	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
6100	//
6101	// UpdateTime is a required field
6102	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
6103}
6104
6105// String returns the string representation
6106func (s DescribePlaceIndexOutput) String() string {
6107	return awsutil.Prettify(s)
6108}
6109
6110// GoString returns the string representation
6111func (s DescribePlaceIndexOutput) GoString() string {
6112	return s.String()
6113}
6114
6115// SetCreateTime sets the CreateTime field's value.
6116func (s *DescribePlaceIndexOutput) SetCreateTime(v time.Time) *DescribePlaceIndexOutput {
6117	s.CreateTime = &v
6118	return s
6119}
6120
6121// SetDataSource sets the DataSource field's value.
6122func (s *DescribePlaceIndexOutput) SetDataSource(v string) *DescribePlaceIndexOutput {
6123	s.DataSource = &v
6124	return s
6125}
6126
6127// SetDataSourceConfiguration sets the DataSourceConfiguration field's value.
6128func (s *DescribePlaceIndexOutput) SetDataSourceConfiguration(v *DataSourceConfiguration) *DescribePlaceIndexOutput {
6129	s.DataSourceConfiguration = v
6130	return s
6131}
6132
6133// SetDescription sets the Description field's value.
6134func (s *DescribePlaceIndexOutput) SetDescription(v string) *DescribePlaceIndexOutput {
6135	s.Description = &v
6136	return s
6137}
6138
6139// SetIndexArn sets the IndexArn field's value.
6140func (s *DescribePlaceIndexOutput) SetIndexArn(v string) *DescribePlaceIndexOutput {
6141	s.IndexArn = &v
6142	return s
6143}
6144
6145// SetIndexName sets the IndexName field's value.
6146func (s *DescribePlaceIndexOutput) SetIndexName(v string) *DescribePlaceIndexOutput {
6147	s.IndexName = &v
6148	return s
6149}
6150
6151// SetPricingPlan sets the PricingPlan field's value.
6152func (s *DescribePlaceIndexOutput) SetPricingPlan(v string) *DescribePlaceIndexOutput {
6153	s.PricingPlan = &v
6154	return s
6155}
6156
6157// SetUpdateTime sets the UpdateTime field's value.
6158func (s *DescribePlaceIndexOutput) SetUpdateTime(v time.Time) *DescribePlaceIndexOutput {
6159	s.UpdateTime = &v
6160	return s
6161}
6162
6163type DescribeTrackerInput struct {
6164	_ struct{} `type:"structure"`
6165
6166	// The name of the tracker resource.
6167	//
6168	// TrackerName is a required field
6169	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
6170}
6171
6172// String returns the string representation
6173func (s DescribeTrackerInput) String() string {
6174	return awsutil.Prettify(s)
6175}
6176
6177// GoString returns the string representation
6178func (s DescribeTrackerInput) GoString() string {
6179	return s.String()
6180}
6181
6182// Validate inspects the fields of the type to determine if they are valid.
6183func (s *DescribeTrackerInput) Validate() error {
6184	invalidParams := request.ErrInvalidParams{Context: "DescribeTrackerInput"}
6185	if s.TrackerName == nil {
6186		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
6187	}
6188	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
6189		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
6190	}
6191
6192	if invalidParams.Len() > 0 {
6193		return invalidParams
6194	}
6195	return nil
6196}
6197
6198// SetTrackerName sets the TrackerName field's value.
6199func (s *DescribeTrackerInput) SetTrackerName(v string) *DescribeTrackerInput {
6200	s.TrackerName = &v
6201	return s
6202}
6203
6204type DescribeTrackerOutput struct {
6205	_ struct{} `type:"structure"`
6206
6207	// The timestamp for when the tracker resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
6208	// format: YYYY-MM-DDThh:mm:ss.sssZ.
6209	//
6210	// CreateTime is a required field
6211	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
6212
6213	// The optional description for the tracker resource.
6214	//
6215	// Description is a required field
6216	Description *string `type:"string" required:"true"`
6217
6218	// The pricing plan selected for the specified tracker resource.
6219	//
6220	// For additional details and restrictions on each pricing plan option, see
6221	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
6222	//
6223	// PricingPlan is a required field
6224	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
6225
6226	// The data source selected for the tracker resource and associated pricing
6227	// plan.
6228	PricingPlanDataSource *string `type:"string"`
6229
6230	// The Amazon Resource Name (ARN) for the tracker resource. Used when you need
6231	// to specify a resource across all AWS.
6232	//
6233	// TrackerArn is a required field
6234	TrackerArn *string `type:"string" required:"true"`
6235
6236	// The name of the tracker resource.
6237	//
6238	// TrackerName is a required field
6239	TrackerName *string `min:"1" type:"string" required:"true"`
6240
6241	// The timestamp for when the tracker resource was last updated in ISO 8601
6242	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
6243	//
6244	// UpdateTime is a required field
6245	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
6246}
6247
6248// String returns the string representation
6249func (s DescribeTrackerOutput) String() string {
6250	return awsutil.Prettify(s)
6251}
6252
6253// GoString returns the string representation
6254func (s DescribeTrackerOutput) GoString() string {
6255	return s.String()
6256}
6257
6258// SetCreateTime sets the CreateTime field's value.
6259func (s *DescribeTrackerOutput) SetCreateTime(v time.Time) *DescribeTrackerOutput {
6260	s.CreateTime = &v
6261	return s
6262}
6263
6264// SetDescription sets the Description field's value.
6265func (s *DescribeTrackerOutput) SetDescription(v string) *DescribeTrackerOutput {
6266	s.Description = &v
6267	return s
6268}
6269
6270// SetPricingPlan sets the PricingPlan field's value.
6271func (s *DescribeTrackerOutput) SetPricingPlan(v string) *DescribeTrackerOutput {
6272	s.PricingPlan = &v
6273	return s
6274}
6275
6276// SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
6277func (s *DescribeTrackerOutput) SetPricingPlanDataSource(v string) *DescribeTrackerOutput {
6278	s.PricingPlanDataSource = &v
6279	return s
6280}
6281
6282// SetTrackerArn sets the TrackerArn field's value.
6283func (s *DescribeTrackerOutput) SetTrackerArn(v string) *DescribeTrackerOutput {
6284	s.TrackerArn = &v
6285	return s
6286}
6287
6288// SetTrackerName sets the TrackerName field's value.
6289func (s *DescribeTrackerOutput) SetTrackerName(v string) *DescribeTrackerOutput {
6290	s.TrackerName = &v
6291	return s
6292}
6293
6294// SetUpdateTime sets the UpdateTime field's value.
6295func (s *DescribeTrackerOutput) SetUpdateTime(v time.Time) *DescribeTrackerOutput {
6296	s.UpdateTime = &v
6297	return s
6298}
6299
6300// Contains the device position details.
6301type DevicePosition struct {
6302	_ struct{} `type:"structure"`
6303
6304	// The device whose position you retrieved.
6305	DeviceId *string `min:"1" type:"string"`
6306
6307	// The last known device position.
6308	//
6309	// Position is a required field
6310	Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
6311
6312	// The timestamp for when the tracker resource received the device position
6313	// in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format:
6314	// YYYY-MM-DDThh:mm:ss.sssZ.
6315	//
6316	// ReceivedTime is a required field
6317	ReceivedTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
6318
6319	// The timestamp at which the device's position was determined. Uses ISO 8601
6320	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
6321	//
6322	// SampleTime is a required field
6323	SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
6324}
6325
6326// String returns the string representation
6327func (s DevicePosition) String() string {
6328	return awsutil.Prettify(s)
6329}
6330
6331// GoString returns the string representation
6332func (s DevicePosition) GoString() string {
6333	return s.String()
6334}
6335
6336// SetDeviceId sets the DeviceId field's value.
6337func (s *DevicePosition) SetDeviceId(v string) *DevicePosition {
6338	s.DeviceId = &v
6339	return s
6340}
6341
6342// SetPosition sets the Position field's value.
6343func (s *DevicePosition) SetPosition(v []*float64) *DevicePosition {
6344	s.Position = v
6345	return s
6346}
6347
6348// SetReceivedTime sets the ReceivedTime field's value.
6349func (s *DevicePosition) SetReceivedTime(v time.Time) *DevicePosition {
6350	s.ReceivedTime = &v
6351	return s
6352}
6353
6354// SetSampleTime sets the SampleTime field's value.
6355func (s *DevicePosition) SetSampleTime(v time.Time) *DevicePosition {
6356	s.SampleTime = &v
6357	return s
6358}
6359
6360// Contains the position update details for a device.
6361type DevicePositionUpdate struct {
6362	_ struct{} `type:"structure"`
6363
6364	// The device associated to the position update.
6365	//
6366	// DeviceId is a required field
6367	DeviceId *string `min:"1" type:"string" required:"true"`
6368
6369	// The latest device position defined in WGS 84 (https://earth-info.nga.mil/GandG/wgs84/index.html)
6370	// format: [X or longitude, Y or latitude].
6371	//
6372	// Position is a required field
6373	Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
6374
6375	// The timestamp at which the device's position was determined. Uses ISO 8601
6376	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ
6377	//
6378	// SampleTime is a required field
6379	SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
6380}
6381
6382// String returns the string representation
6383func (s DevicePositionUpdate) String() string {
6384	return awsutil.Prettify(s)
6385}
6386
6387// GoString returns the string representation
6388func (s DevicePositionUpdate) GoString() string {
6389	return s.String()
6390}
6391
6392// Validate inspects the fields of the type to determine if they are valid.
6393func (s *DevicePositionUpdate) Validate() error {
6394	invalidParams := request.ErrInvalidParams{Context: "DevicePositionUpdate"}
6395	if s.DeviceId == nil {
6396		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
6397	}
6398	if s.DeviceId != nil && len(*s.DeviceId) < 1 {
6399		invalidParams.Add(request.NewErrParamMinLen("DeviceId", 1))
6400	}
6401	if s.Position == nil {
6402		invalidParams.Add(request.NewErrParamRequired("Position"))
6403	}
6404	if s.Position != nil && len(s.Position) < 2 {
6405		invalidParams.Add(request.NewErrParamMinLen("Position", 2))
6406	}
6407	if s.SampleTime == nil {
6408		invalidParams.Add(request.NewErrParamRequired("SampleTime"))
6409	}
6410
6411	if invalidParams.Len() > 0 {
6412		return invalidParams
6413	}
6414	return nil
6415}
6416
6417// SetDeviceId sets the DeviceId field's value.
6418func (s *DevicePositionUpdate) SetDeviceId(v string) *DevicePositionUpdate {
6419	s.DeviceId = &v
6420	return s
6421}
6422
6423// SetPosition sets the Position field's value.
6424func (s *DevicePositionUpdate) SetPosition(v []*float64) *DevicePositionUpdate {
6425	s.Position = v
6426	return s
6427}
6428
6429// SetSampleTime sets the SampleTime field's value.
6430func (s *DevicePositionUpdate) SetSampleTime(v time.Time) *DevicePositionUpdate {
6431	s.SampleTime = &v
6432	return s
6433}
6434
6435type DisassociateTrackerConsumerInput struct {
6436	_ struct{} `type:"structure"`
6437
6438	// The Amazon Resource Name (ARN) for the geofence collection to be disassociated
6439	// from the tracker resource. Used when you need to specify a resource across
6440	// all AWS.
6441	//
6442	//    * Format example: arn:partition:service:region:account-id:resource-type:resource-id
6443	//
6444	// ConsumerArn is a required field
6445	ConsumerArn *string `location:"uri" locationName:"ConsumerArn" type:"string" required:"true"`
6446
6447	// The name of the tracker resource to be dissociated from the consumer.
6448	//
6449	// TrackerName is a required field
6450	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
6451}
6452
6453// String returns the string representation
6454func (s DisassociateTrackerConsumerInput) String() string {
6455	return awsutil.Prettify(s)
6456}
6457
6458// GoString returns the string representation
6459func (s DisassociateTrackerConsumerInput) GoString() string {
6460	return s.String()
6461}
6462
6463// Validate inspects the fields of the type to determine if they are valid.
6464func (s *DisassociateTrackerConsumerInput) Validate() error {
6465	invalidParams := request.ErrInvalidParams{Context: "DisassociateTrackerConsumerInput"}
6466	if s.ConsumerArn == nil {
6467		invalidParams.Add(request.NewErrParamRequired("ConsumerArn"))
6468	}
6469	if s.ConsumerArn != nil && len(*s.ConsumerArn) < 1 {
6470		invalidParams.Add(request.NewErrParamMinLen("ConsumerArn", 1))
6471	}
6472	if s.TrackerName == nil {
6473		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
6474	}
6475	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
6476		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
6477	}
6478
6479	if invalidParams.Len() > 0 {
6480		return invalidParams
6481	}
6482	return nil
6483}
6484
6485// SetConsumerArn sets the ConsumerArn field's value.
6486func (s *DisassociateTrackerConsumerInput) SetConsumerArn(v string) *DisassociateTrackerConsumerInput {
6487	s.ConsumerArn = &v
6488	return s
6489}
6490
6491// SetTrackerName sets the TrackerName field's value.
6492func (s *DisassociateTrackerConsumerInput) SetTrackerName(v string) *DisassociateTrackerConsumerInput {
6493	s.TrackerName = &v
6494	return s
6495}
6496
6497type DisassociateTrackerConsumerOutput struct {
6498	_ struct{} `type:"structure"`
6499}
6500
6501// String returns the string representation
6502func (s DisassociateTrackerConsumerOutput) String() string {
6503	return awsutil.Prettify(s)
6504}
6505
6506// GoString returns the string representation
6507func (s DisassociateTrackerConsumerOutput) GoString() string {
6508	return s.String()
6509}
6510
6511// Contains the geofence geometry details.
6512//
6513// Amazon Location does not currently support polygons with holes, multipolygons,
6514// polygons that are wound clockwise, or that cross the antimeridian.
6515type GeofenceGeometry struct {
6516	_ struct{} `type:"structure"`
6517
6518	// An array of 1 or more linear rings. A linear ring is an array of 4 or more
6519	// vertices, where the first and last vertex are the same to form a closed boundary.
6520	// Each vertex is a 2-dimensional point of the form: [longitude, latitude].
6521	//
6522	// The first linear ring is an outer ring, describing the polygon's boundary.
6523	// Subsequent linear rings may be inner or outer rings to describe holes and
6524	// islands. Outer rings must list their vertices in counter-clockwise order
6525	// around the ring's center, where the left side is the polygon's exterior.
6526	// Inner rings must list their vertices in clockwise order, where the left side
6527	// is the polygon's interior.
6528	Polygon [][][]*float64 `min:"1" type:"list"`
6529}
6530
6531// String returns the string representation
6532func (s GeofenceGeometry) String() string {
6533	return awsutil.Prettify(s)
6534}
6535
6536// GoString returns the string representation
6537func (s GeofenceGeometry) GoString() string {
6538	return s.String()
6539}
6540
6541// Validate inspects the fields of the type to determine if they are valid.
6542func (s *GeofenceGeometry) Validate() error {
6543	invalidParams := request.ErrInvalidParams{Context: "GeofenceGeometry"}
6544	if s.Polygon != nil && len(s.Polygon) < 1 {
6545		invalidParams.Add(request.NewErrParamMinLen("Polygon", 1))
6546	}
6547
6548	if invalidParams.Len() > 0 {
6549		return invalidParams
6550	}
6551	return nil
6552}
6553
6554// SetPolygon sets the Polygon field's value.
6555func (s *GeofenceGeometry) SetPolygon(v [][][]*float64) *GeofenceGeometry {
6556	s.Polygon = v
6557	return s
6558}
6559
6560type GetDevicePositionHistoryInput struct {
6561	_ struct{} `type:"structure"`
6562
6563	// The device whose position history you want to retrieve.
6564	//
6565	// DeviceId is a required field
6566	DeviceId *string `location:"uri" locationName:"DeviceId" min:"1" type:"string" required:"true"`
6567
6568	// Specify the end time for the position history in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
6569	// format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be the time
6570	// that the request is made.
6571	//
6572	// Requirement:
6573	//
6574	//    * The time specified for EndTimeExclusive must be after the time for StartTimeInclusive.
6575	EndTimeExclusive *time.Time `type:"timestamp" timestampFormat:"iso8601"`
6576
6577	// The pagination token specifying which page of results to return in the response.
6578	// If no token is provided, the default page is the first page.
6579	//
6580	// Default value: null
6581	NextToken *string `min:"1" type:"string"`
6582
6583	// Specify the start time for the position history in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
6584	// format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be 24 hours
6585	// prior to the time that the request is made.
6586	//
6587	// Requirement:
6588	//
6589	//    * The time specified for StartTimeInclusive must be before EndTimeExclusive.
6590	StartTimeInclusive *time.Time `type:"timestamp" timestampFormat:"iso8601"`
6591
6592	// The tracker resource receiving the request for the device position history.
6593	//
6594	// TrackerName is a required field
6595	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
6596}
6597
6598// String returns the string representation
6599func (s GetDevicePositionHistoryInput) String() string {
6600	return awsutil.Prettify(s)
6601}
6602
6603// GoString returns the string representation
6604func (s GetDevicePositionHistoryInput) GoString() string {
6605	return s.String()
6606}
6607
6608// Validate inspects the fields of the type to determine if they are valid.
6609func (s *GetDevicePositionHistoryInput) Validate() error {
6610	invalidParams := request.ErrInvalidParams{Context: "GetDevicePositionHistoryInput"}
6611	if s.DeviceId == nil {
6612		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
6613	}
6614	if s.DeviceId != nil && len(*s.DeviceId) < 1 {
6615		invalidParams.Add(request.NewErrParamMinLen("DeviceId", 1))
6616	}
6617	if s.NextToken != nil && len(*s.NextToken) < 1 {
6618		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6619	}
6620	if s.TrackerName == nil {
6621		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
6622	}
6623	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
6624		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
6625	}
6626
6627	if invalidParams.Len() > 0 {
6628		return invalidParams
6629	}
6630	return nil
6631}
6632
6633// SetDeviceId sets the DeviceId field's value.
6634func (s *GetDevicePositionHistoryInput) SetDeviceId(v string) *GetDevicePositionHistoryInput {
6635	s.DeviceId = &v
6636	return s
6637}
6638
6639// SetEndTimeExclusive sets the EndTimeExclusive field's value.
6640func (s *GetDevicePositionHistoryInput) SetEndTimeExclusive(v time.Time) *GetDevicePositionHistoryInput {
6641	s.EndTimeExclusive = &v
6642	return s
6643}
6644
6645// SetNextToken sets the NextToken field's value.
6646func (s *GetDevicePositionHistoryInput) SetNextToken(v string) *GetDevicePositionHistoryInput {
6647	s.NextToken = &v
6648	return s
6649}
6650
6651// SetStartTimeInclusive sets the StartTimeInclusive field's value.
6652func (s *GetDevicePositionHistoryInput) SetStartTimeInclusive(v time.Time) *GetDevicePositionHistoryInput {
6653	s.StartTimeInclusive = &v
6654	return s
6655}
6656
6657// SetTrackerName sets the TrackerName field's value.
6658func (s *GetDevicePositionHistoryInput) SetTrackerName(v string) *GetDevicePositionHistoryInput {
6659	s.TrackerName = &v
6660	return s
6661}
6662
6663type GetDevicePositionHistoryOutput struct {
6664	_ struct{} `type:"structure"`
6665
6666	// Contains the position history details for the requested device.
6667	//
6668	// DevicePositions is a required field
6669	DevicePositions []*DevicePosition `type:"list" required:"true"`
6670
6671	// A pagination token indicating there are additional pages available. You can
6672	// use the token in a following request to fetch the next set of results.
6673	NextToken *string `min:"1" type:"string"`
6674}
6675
6676// String returns the string representation
6677func (s GetDevicePositionHistoryOutput) String() string {
6678	return awsutil.Prettify(s)
6679}
6680
6681// GoString returns the string representation
6682func (s GetDevicePositionHistoryOutput) GoString() string {
6683	return s.String()
6684}
6685
6686// SetDevicePositions sets the DevicePositions field's value.
6687func (s *GetDevicePositionHistoryOutput) SetDevicePositions(v []*DevicePosition) *GetDevicePositionHistoryOutput {
6688	s.DevicePositions = v
6689	return s
6690}
6691
6692// SetNextToken sets the NextToken field's value.
6693func (s *GetDevicePositionHistoryOutput) SetNextToken(v string) *GetDevicePositionHistoryOutput {
6694	s.NextToken = &v
6695	return s
6696}
6697
6698type GetDevicePositionInput struct {
6699	_ struct{} `type:"structure"`
6700
6701	// The device whose position you want to retrieve.
6702	//
6703	// DeviceId is a required field
6704	DeviceId *string `location:"uri" locationName:"DeviceId" min:"1" type:"string" required:"true"`
6705
6706	// The tracker resource receiving the position update.
6707	//
6708	// TrackerName is a required field
6709	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
6710}
6711
6712// String returns the string representation
6713func (s GetDevicePositionInput) String() string {
6714	return awsutil.Prettify(s)
6715}
6716
6717// GoString returns the string representation
6718func (s GetDevicePositionInput) GoString() string {
6719	return s.String()
6720}
6721
6722// Validate inspects the fields of the type to determine if they are valid.
6723func (s *GetDevicePositionInput) Validate() error {
6724	invalidParams := request.ErrInvalidParams{Context: "GetDevicePositionInput"}
6725	if s.DeviceId == nil {
6726		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
6727	}
6728	if s.DeviceId != nil && len(*s.DeviceId) < 1 {
6729		invalidParams.Add(request.NewErrParamMinLen("DeviceId", 1))
6730	}
6731	if s.TrackerName == nil {
6732		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
6733	}
6734	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
6735		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
6736	}
6737
6738	if invalidParams.Len() > 0 {
6739		return invalidParams
6740	}
6741	return nil
6742}
6743
6744// SetDeviceId sets the DeviceId field's value.
6745func (s *GetDevicePositionInput) SetDeviceId(v string) *GetDevicePositionInput {
6746	s.DeviceId = &v
6747	return s
6748}
6749
6750// SetTrackerName sets the TrackerName field's value.
6751func (s *GetDevicePositionInput) SetTrackerName(v string) *GetDevicePositionInput {
6752	s.TrackerName = &v
6753	return s
6754}
6755
6756type GetDevicePositionOutput struct {
6757	_ struct{} `type:"structure"`
6758
6759	// The device whose position you retrieved.
6760	DeviceId *string `min:"1" type:"string"`
6761
6762	// The last known device position.
6763	//
6764	// Position is a required field
6765	Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
6766
6767	// The timestamp for when the tracker resource received the device position
6768	// in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format:
6769	// YYYY-MM-DDThh:mm:ss.sssZ.
6770	//
6771	// ReceivedTime is a required field
6772	ReceivedTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
6773
6774	// The timestamp at which the device's position was determined. Uses ISO 8601
6775	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
6776	//
6777	// SampleTime is a required field
6778	SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
6779}
6780
6781// String returns the string representation
6782func (s GetDevicePositionOutput) String() string {
6783	return awsutil.Prettify(s)
6784}
6785
6786// GoString returns the string representation
6787func (s GetDevicePositionOutput) GoString() string {
6788	return s.String()
6789}
6790
6791// SetDeviceId sets the DeviceId field's value.
6792func (s *GetDevicePositionOutput) SetDeviceId(v string) *GetDevicePositionOutput {
6793	s.DeviceId = &v
6794	return s
6795}
6796
6797// SetPosition sets the Position field's value.
6798func (s *GetDevicePositionOutput) SetPosition(v []*float64) *GetDevicePositionOutput {
6799	s.Position = v
6800	return s
6801}
6802
6803// SetReceivedTime sets the ReceivedTime field's value.
6804func (s *GetDevicePositionOutput) SetReceivedTime(v time.Time) *GetDevicePositionOutput {
6805	s.ReceivedTime = &v
6806	return s
6807}
6808
6809// SetSampleTime sets the SampleTime field's value.
6810func (s *GetDevicePositionOutput) SetSampleTime(v time.Time) *GetDevicePositionOutput {
6811	s.SampleTime = &v
6812	return s
6813}
6814
6815type GetGeofenceInput struct {
6816	_ struct{} `type:"structure"`
6817
6818	// The geofence collection storing the target geofence.
6819	//
6820	// CollectionName is a required field
6821	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
6822
6823	// The geofence you're retrieving details for.
6824	//
6825	// GeofenceId is a required field
6826	GeofenceId *string `location:"uri" locationName:"GeofenceId" min:"1" type:"string" required:"true"`
6827}
6828
6829// String returns the string representation
6830func (s GetGeofenceInput) String() string {
6831	return awsutil.Prettify(s)
6832}
6833
6834// GoString returns the string representation
6835func (s GetGeofenceInput) GoString() string {
6836	return s.String()
6837}
6838
6839// Validate inspects the fields of the type to determine if they are valid.
6840func (s *GetGeofenceInput) Validate() error {
6841	invalidParams := request.ErrInvalidParams{Context: "GetGeofenceInput"}
6842	if s.CollectionName == nil {
6843		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
6844	}
6845	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
6846		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
6847	}
6848	if s.GeofenceId == nil {
6849		invalidParams.Add(request.NewErrParamRequired("GeofenceId"))
6850	}
6851	if s.GeofenceId != nil && len(*s.GeofenceId) < 1 {
6852		invalidParams.Add(request.NewErrParamMinLen("GeofenceId", 1))
6853	}
6854
6855	if invalidParams.Len() > 0 {
6856		return invalidParams
6857	}
6858	return nil
6859}
6860
6861// SetCollectionName sets the CollectionName field's value.
6862func (s *GetGeofenceInput) SetCollectionName(v string) *GetGeofenceInput {
6863	s.CollectionName = &v
6864	return s
6865}
6866
6867// SetGeofenceId sets the GeofenceId field's value.
6868func (s *GetGeofenceInput) SetGeofenceId(v string) *GetGeofenceInput {
6869	s.GeofenceId = &v
6870	return s
6871}
6872
6873type GetGeofenceOutput struct {
6874	_ struct{} `type:"structure"`
6875
6876	// The timestamp for when the geofence collection was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
6877	// format: YYYY-MM-DDThh:mm:ss.sssZ
6878	//
6879	// CreateTime is a required field
6880	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
6881
6882	// The geofence identifier.
6883	//
6884	// GeofenceId is a required field
6885	GeofenceId *string `min:"1" type:"string" required:"true"`
6886
6887	// Contains the geofence geometry details describing a polygon.
6888	//
6889	// Geometry is a required field
6890	Geometry *GeofenceGeometry `type:"structure" required:"true"`
6891
6892	// Identifies the state of the geofence. A geofence will hold one of the following
6893	// states:
6894	//
6895	//    * ACTIVE — The geofence has been indexed by the system.
6896	//
6897	//    * PENDING — The geofence is being processed by the system.
6898	//
6899	//    * FAILED — The geofence failed to be indexed by the system.
6900	//
6901	//    * DELETED — The geofence has been deleted from the system index.
6902	//
6903	//    * DELETING — The geofence is being deleted from the system index.
6904	//
6905	// Status is a required field
6906	Status *string `type:"string" required:"true"`
6907
6908	// The timestamp for when the geofence collection was last updated in ISO 8601
6909	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ
6910	//
6911	// UpdateTime is a required field
6912	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
6913}
6914
6915// String returns the string representation
6916func (s GetGeofenceOutput) String() string {
6917	return awsutil.Prettify(s)
6918}
6919
6920// GoString returns the string representation
6921func (s GetGeofenceOutput) GoString() string {
6922	return s.String()
6923}
6924
6925// SetCreateTime sets the CreateTime field's value.
6926func (s *GetGeofenceOutput) SetCreateTime(v time.Time) *GetGeofenceOutput {
6927	s.CreateTime = &v
6928	return s
6929}
6930
6931// SetGeofenceId sets the GeofenceId field's value.
6932func (s *GetGeofenceOutput) SetGeofenceId(v string) *GetGeofenceOutput {
6933	s.GeofenceId = &v
6934	return s
6935}
6936
6937// SetGeometry sets the Geometry field's value.
6938func (s *GetGeofenceOutput) SetGeometry(v *GeofenceGeometry) *GetGeofenceOutput {
6939	s.Geometry = v
6940	return s
6941}
6942
6943// SetStatus sets the Status field's value.
6944func (s *GetGeofenceOutput) SetStatus(v string) *GetGeofenceOutput {
6945	s.Status = &v
6946	return s
6947}
6948
6949// SetUpdateTime sets the UpdateTime field's value.
6950func (s *GetGeofenceOutput) SetUpdateTime(v time.Time) *GetGeofenceOutput {
6951	s.UpdateTime = &v
6952	return s
6953}
6954
6955type GetMapGlyphsInput struct {
6956	_ struct{} `type:"structure"`
6957
6958	// A comma-separated list of fonts to load glyphs from in order of preference..
6959	// For example, Noto Sans, Arial Unicode.
6960	//
6961	// FontStack is a required field
6962	FontStack *string `location:"uri" locationName:"FontStack" type:"string" required:"true"`
6963
6964	// A Unicode range of characters to download glyphs for. Each response will
6965	// contain 256 characters. For example, 0-255 includes all characters from range
6966	// U+0000 to 00FF. Must be aligned to multiples of 256.
6967	//
6968	// FontUnicodeRange is a required field
6969	FontUnicodeRange *string `location:"uri" locationName:"FontUnicodeRange" type:"string" required:"true"`
6970
6971	// The map resource associated with the glyph file.
6972	//
6973	// MapName is a required field
6974	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
6975}
6976
6977// String returns the string representation
6978func (s GetMapGlyphsInput) String() string {
6979	return awsutil.Prettify(s)
6980}
6981
6982// GoString returns the string representation
6983func (s GetMapGlyphsInput) GoString() string {
6984	return s.String()
6985}
6986
6987// Validate inspects the fields of the type to determine if they are valid.
6988func (s *GetMapGlyphsInput) Validate() error {
6989	invalidParams := request.ErrInvalidParams{Context: "GetMapGlyphsInput"}
6990	if s.FontStack == nil {
6991		invalidParams.Add(request.NewErrParamRequired("FontStack"))
6992	}
6993	if s.FontStack != nil && len(*s.FontStack) < 1 {
6994		invalidParams.Add(request.NewErrParamMinLen("FontStack", 1))
6995	}
6996	if s.FontUnicodeRange == nil {
6997		invalidParams.Add(request.NewErrParamRequired("FontUnicodeRange"))
6998	}
6999	if s.FontUnicodeRange != nil && len(*s.FontUnicodeRange) < 1 {
7000		invalidParams.Add(request.NewErrParamMinLen("FontUnicodeRange", 1))
7001	}
7002	if s.MapName == nil {
7003		invalidParams.Add(request.NewErrParamRequired("MapName"))
7004	}
7005	if s.MapName != nil && len(*s.MapName) < 1 {
7006		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
7007	}
7008
7009	if invalidParams.Len() > 0 {
7010		return invalidParams
7011	}
7012	return nil
7013}
7014
7015// SetFontStack sets the FontStack field's value.
7016func (s *GetMapGlyphsInput) SetFontStack(v string) *GetMapGlyphsInput {
7017	s.FontStack = &v
7018	return s
7019}
7020
7021// SetFontUnicodeRange sets the FontUnicodeRange field's value.
7022func (s *GetMapGlyphsInput) SetFontUnicodeRange(v string) *GetMapGlyphsInput {
7023	s.FontUnicodeRange = &v
7024	return s
7025}
7026
7027// SetMapName sets the MapName field's value.
7028func (s *GetMapGlyphsInput) SetMapName(v string) *GetMapGlyphsInput {
7029	s.MapName = &v
7030	return s
7031}
7032
7033type GetMapGlyphsOutput struct {
7034	_ struct{} `type:"structure" payload:"Blob"`
7035
7036	// The blob's content type.
7037	Blob []byte `type:"blob"`
7038
7039	// The map glyph content type. For example, application/octet-stream.
7040	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
7041}
7042
7043// String returns the string representation
7044func (s GetMapGlyphsOutput) String() string {
7045	return awsutil.Prettify(s)
7046}
7047
7048// GoString returns the string representation
7049func (s GetMapGlyphsOutput) GoString() string {
7050	return s.String()
7051}
7052
7053// SetBlob sets the Blob field's value.
7054func (s *GetMapGlyphsOutput) SetBlob(v []byte) *GetMapGlyphsOutput {
7055	s.Blob = v
7056	return s
7057}
7058
7059// SetContentType sets the ContentType field's value.
7060func (s *GetMapGlyphsOutput) SetContentType(v string) *GetMapGlyphsOutput {
7061	s.ContentType = &v
7062	return s
7063}
7064
7065type GetMapSpritesInput struct {
7066	_ struct{} `type:"structure"`
7067
7068	// The name of the sprite file. Use the following file names for the sprite
7069	// sheet:
7070	//
7071	//    * sprites.png
7072	//
7073	//    * sprites@2x.png for high pixel density displays
7074	//
7075	// For the JSON document contain image offsets. Use the following file names:
7076	//
7077	//    * sprites.json
7078	//
7079	//    * sprites@2x.json for high pixel density displays
7080	//
7081	// FileName is a required field
7082	FileName *string `location:"uri" locationName:"FileName" type:"string" required:"true"`
7083
7084	// The map resource associated with the sprite file.
7085	//
7086	// MapName is a required field
7087	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
7088}
7089
7090// String returns the string representation
7091func (s GetMapSpritesInput) String() string {
7092	return awsutil.Prettify(s)
7093}
7094
7095// GoString returns the string representation
7096func (s GetMapSpritesInput) GoString() string {
7097	return s.String()
7098}
7099
7100// Validate inspects the fields of the type to determine if they are valid.
7101func (s *GetMapSpritesInput) Validate() error {
7102	invalidParams := request.ErrInvalidParams{Context: "GetMapSpritesInput"}
7103	if s.FileName == nil {
7104		invalidParams.Add(request.NewErrParamRequired("FileName"))
7105	}
7106	if s.FileName != nil && len(*s.FileName) < 1 {
7107		invalidParams.Add(request.NewErrParamMinLen("FileName", 1))
7108	}
7109	if s.MapName == nil {
7110		invalidParams.Add(request.NewErrParamRequired("MapName"))
7111	}
7112	if s.MapName != nil && len(*s.MapName) < 1 {
7113		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
7114	}
7115
7116	if invalidParams.Len() > 0 {
7117		return invalidParams
7118	}
7119	return nil
7120}
7121
7122// SetFileName sets the FileName field's value.
7123func (s *GetMapSpritesInput) SetFileName(v string) *GetMapSpritesInput {
7124	s.FileName = &v
7125	return s
7126}
7127
7128// SetMapName sets the MapName field's value.
7129func (s *GetMapSpritesInput) SetMapName(v string) *GetMapSpritesInput {
7130	s.MapName = &v
7131	return s
7132}
7133
7134type GetMapSpritesOutput struct {
7135	_ struct{} `type:"structure" payload:"Blob"`
7136
7137	// Contains the body of the sprite sheet or JSON offset file.
7138	Blob []byte `type:"blob"`
7139
7140	// The content type of the sprite sheet and offsets. For example, the sprite
7141	// sheet content type is image/png, and the sprite offset JSON document is application/json.
7142	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
7143}
7144
7145// String returns the string representation
7146func (s GetMapSpritesOutput) String() string {
7147	return awsutil.Prettify(s)
7148}
7149
7150// GoString returns the string representation
7151func (s GetMapSpritesOutput) GoString() string {
7152	return s.String()
7153}
7154
7155// SetBlob sets the Blob field's value.
7156func (s *GetMapSpritesOutput) SetBlob(v []byte) *GetMapSpritesOutput {
7157	s.Blob = v
7158	return s
7159}
7160
7161// SetContentType sets the ContentType field's value.
7162func (s *GetMapSpritesOutput) SetContentType(v string) *GetMapSpritesOutput {
7163	s.ContentType = &v
7164	return s
7165}
7166
7167type GetMapStyleDescriptorInput struct {
7168	_ struct{} `type:"structure"`
7169
7170	// The map resource to retrieve the style descriptor from.
7171	//
7172	// MapName is a required field
7173	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
7174}
7175
7176// String returns the string representation
7177func (s GetMapStyleDescriptorInput) String() string {
7178	return awsutil.Prettify(s)
7179}
7180
7181// GoString returns the string representation
7182func (s GetMapStyleDescriptorInput) GoString() string {
7183	return s.String()
7184}
7185
7186// Validate inspects the fields of the type to determine if they are valid.
7187func (s *GetMapStyleDescriptorInput) Validate() error {
7188	invalidParams := request.ErrInvalidParams{Context: "GetMapStyleDescriptorInput"}
7189	if s.MapName == nil {
7190		invalidParams.Add(request.NewErrParamRequired("MapName"))
7191	}
7192	if s.MapName != nil && len(*s.MapName) < 1 {
7193		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
7194	}
7195
7196	if invalidParams.Len() > 0 {
7197		return invalidParams
7198	}
7199	return nil
7200}
7201
7202// SetMapName sets the MapName field's value.
7203func (s *GetMapStyleDescriptorInput) SetMapName(v string) *GetMapStyleDescriptorInput {
7204	s.MapName = &v
7205	return s
7206}
7207
7208type GetMapStyleDescriptorOutput struct {
7209	_ struct{} `type:"structure" payload:"Blob"`
7210
7211	// Contains the body of the style descriptor.
7212	Blob []byte `type:"blob"`
7213
7214	// The style descriptor's content type. For example, application/json.
7215	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
7216}
7217
7218// String returns the string representation
7219func (s GetMapStyleDescriptorOutput) String() string {
7220	return awsutil.Prettify(s)
7221}
7222
7223// GoString returns the string representation
7224func (s GetMapStyleDescriptorOutput) GoString() string {
7225	return s.String()
7226}
7227
7228// SetBlob sets the Blob field's value.
7229func (s *GetMapStyleDescriptorOutput) SetBlob(v []byte) *GetMapStyleDescriptorOutput {
7230	s.Blob = v
7231	return s
7232}
7233
7234// SetContentType sets the ContentType field's value.
7235func (s *GetMapStyleDescriptorOutput) SetContentType(v string) *GetMapStyleDescriptorOutput {
7236	s.ContentType = &v
7237	return s
7238}
7239
7240type GetMapTileInput struct {
7241	_ struct{} `type:"structure"`
7242
7243	// The map resource to retrieve the map tiles from.
7244	//
7245	// MapName is a required field
7246	MapName *string `location:"uri" locationName:"MapName" min:"1" type:"string" required:"true"`
7247
7248	// The X axis value for the map tile.
7249	//
7250	// X is a required field
7251	X *string `location:"uri" locationName:"X" type:"string" required:"true"`
7252
7253	// The Y axis value for the map tile.
7254	//
7255	// Y is a required field
7256	Y *string `location:"uri" locationName:"Y" type:"string" required:"true"`
7257
7258	// The zoom value for the map tile.
7259	//
7260	// Z is a required field
7261	Z *string `location:"uri" locationName:"Z" type:"string" required:"true"`
7262}
7263
7264// String returns the string representation
7265func (s GetMapTileInput) String() string {
7266	return awsutil.Prettify(s)
7267}
7268
7269// GoString returns the string representation
7270func (s GetMapTileInput) GoString() string {
7271	return s.String()
7272}
7273
7274// Validate inspects the fields of the type to determine if they are valid.
7275func (s *GetMapTileInput) Validate() error {
7276	invalidParams := request.ErrInvalidParams{Context: "GetMapTileInput"}
7277	if s.MapName == nil {
7278		invalidParams.Add(request.NewErrParamRequired("MapName"))
7279	}
7280	if s.MapName != nil && len(*s.MapName) < 1 {
7281		invalidParams.Add(request.NewErrParamMinLen("MapName", 1))
7282	}
7283	if s.X == nil {
7284		invalidParams.Add(request.NewErrParamRequired("X"))
7285	}
7286	if s.X != nil && len(*s.X) < 1 {
7287		invalidParams.Add(request.NewErrParamMinLen("X", 1))
7288	}
7289	if s.Y == nil {
7290		invalidParams.Add(request.NewErrParamRequired("Y"))
7291	}
7292	if s.Y != nil && len(*s.Y) < 1 {
7293		invalidParams.Add(request.NewErrParamMinLen("Y", 1))
7294	}
7295	if s.Z == nil {
7296		invalidParams.Add(request.NewErrParamRequired("Z"))
7297	}
7298	if s.Z != nil && len(*s.Z) < 1 {
7299		invalidParams.Add(request.NewErrParamMinLen("Z", 1))
7300	}
7301
7302	if invalidParams.Len() > 0 {
7303		return invalidParams
7304	}
7305	return nil
7306}
7307
7308// SetMapName sets the MapName field's value.
7309func (s *GetMapTileInput) SetMapName(v string) *GetMapTileInput {
7310	s.MapName = &v
7311	return s
7312}
7313
7314// SetX sets the X field's value.
7315func (s *GetMapTileInput) SetX(v string) *GetMapTileInput {
7316	s.X = &v
7317	return s
7318}
7319
7320// SetY sets the Y field's value.
7321func (s *GetMapTileInput) SetY(v string) *GetMapTileInput {
7322	s.Y = &v
7323	return s
7324}
7325
7326// SetZ sets the Z field's value.
7327func (s *GetMapTileInput) SetZ(v string) *GetMapTileInput {
7328	s.Z = &v
7329	return s
7330}
7331
7332type GetMapTileOutput struct {
7333	_ struct{} `type:"structure" payload:"Blob"`
7334
7335	// Contains Mapbox Vector Tile (MVT) data.
7336	Blob []byte `type:"blob"`
7337
7338	// The map tile's content type. For example, application/vnd.mapbox-vector-tile.
7339	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
7340}
7341
7342// String returns the string representation
7343func (s GetMapTileOutput) String() string {
7344	return awsutil.Prettify(s)
7345}
7346
7347// GoString returns the string representation
7348func (s GetMapTileOutput) GoString() string {
7349	return s.String()
7350}
7351
7352// SetBlob sets the Blob field's value.
7353func (s *GetMapTileOutput) SetBlob(v []byte) *GetMapTileOutput {
7354	s.Blob = v
7355	return s
7356}
7357
7358// SetContentType sets the ContentType field's value.
7359func (s *GetMapTileOutput) SetContentType(v string) *GetMapTileOutput {
7360	s.ContentType = &v
7361	return s
7362}
7363
7364// The request has failed to process because of an unknown server error, exception,
7365// or failure.
7366type InternalServerException struct {
7367	_            struct{}                  `type:"structure"`
7368	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7369
7370	Message_ *string `locationName:"message" type:"string"`
7371}
7372
7373// String returns the string representation
7374func (s InternalServerException) String() string {
7375	return awsutil.Prettify(s)
7376}
7377
7378// GoString returns the string representation
7379func (s InternalServerException) GoString() string {
7380	return s.String()
7381}
7382
7383func newErrorInternalServerException(v protocol.ResponseMetadata) error {
7384	return &InternalServerException{
7385		RespMetadata: v,
7386	}
7387}
7388
7389// Code returns the exception type name.
7390func (s *InternalServerException) Code() string {
7391	return "InternalServerException"
7392}
7393
7394// Message returns the exception's message.
7395func (s *InternalServerException) Message() string {
7396	if s.Message_ != nil {
7397		return *s.Message_
7398	}
7399	return ""
7400}
7401
7402// OrigErr always returns nil, satisfies awserr.Error interface.
7403func (s *InternalServerException) OrigErr() error {
7404	return nil
7405}
7406
7407func (s *InternalServerException) Error() string {
7408	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7409}
7410
7411// Status code returns the HTTP status code for the request's response error.
7412func (s *InternalServerException) StatusCode() int {
7413	return s.RespMetadata.StatusCode
7414}
7415
7416// RequestID returns the service's response RequestID for request.
7417func (s *InternalServerException) RequestID() string {
7418	return s.RespMetadata.RequestID
7419}
7420
7421type ListGeofenceCollectionsInput struct {
7422	_ struct{} `type:"structure"`
7423
7424	// An optional limit for the number of resources returned in a single call.
7425	//
7426	// Default value: 100
7427	MaxResults *int64 `min:"1" type:"integer"`
7428
7429	// The pagination token specifying which page of results to return in the response.
7430	// If no token is provided, the default page is the first page.
7431	//
7432	// Default value: null
7433	NextToken *string `min:"1" type:"string"`
7434}
7435
7436// String returns the string representation
7437func (s ListGeofenceCollectionsInput) String() string {
7438	return awsutil.Prettify(s)
7439}
7440
7441// GoString returns the string representation
7442func (s ListGeofenceCollectionsInput) GoString() string {
7443	return s.String()
7444}
7445
7446// Validate inspects the fields of the type to determine if they are valid.
7447func (s *ListGeofenceCollectionsInput) Validate() error {
7448	invalidParams := request.ErrInvalidParams{Context: "ListGeofenceCollectionsInput"}
7449	if s.MaxResults != nil && *s.MaxResults < 1 {
7450		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7451	}
7452	if s.NextToken != nil && len(*s.NextToken) < 1 {
7453		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7454	}
7455
7456	if invalidParams.Len() > 0 {
7457		return invalidParams
7458	}
7459	return nil
7460}
7461
7462// SetMaxResults sets the MaxResults field's value.
7463func (s *ListGeofenceCollectionsInput) SetMaxResults(v int64) *ListGeofenceCollectionsInput {
7464	s.MaxResults = &v
7465	return s
7466}
7467
7468// SetNextToken sets the NextToken field's value.
7469func (s *ListGeofenceCollectionsInput) SetNextToken(v string) *ListGeofenceCollectionsInput {
7470	s.NextToken = &v
7471	return s
7472}
7473
7474type ListGeofenceCollectionsOutput struct {
7475	_ struct{} `type:"structure"`
7476
7477	// Lists the geofence collections that exist in your AWS account.
7478	//
7479	// Entries is a required field
7480	Entries []*ListGeofenceCollectionsResponseEntry `type:"list" required:"true"`
7481
7482	// A pagination token indicating there are additional pages available. You can
7483	// use the token in a following request to fetch the next set of results.
7484	NextToken *string `min:"1" type:"string"`
7485}
7486
7487// String returns the string representation
7488func (s ListGeofenceCollectionsOutput) String() string {
7489	return awsutil.Prettify(s)
7490}
7491
7492// GoString returns the string representation
7493func (s ListGeofenceCollectionsOutput) GoString() string {
7494	return s.String()
7495}
7496
7497// SetEntries sets the Entries field's value.
7498func (s *ListGeofenceCollectionsOutput) SetEntries(v []*ListGeofenceCollectionsResponseEntry) *ListGeofenceCollectionsOutput {
7499	s.Entries = v
7500	return s
7501}
7502
7503// SetNextToken sets the NextToken field's value.
7504func (s *ListGeofenceCollectionsOutput) SetNextToken(v string) *ListGeofenceCollectionsOutput {
7505	s.NextToken = &v
7506	return s
7507}
7508
7509// Contains the geofence collection details.
7510type ListGeofenceCollectionsResponseEntry struct {
7511	_ struct{} `type:"structure"`
7512
7513	// The name of the geofence collection.
7514	//
7515	// CollectionName is a required field
7516	CollectionName *string `min:"1" type:"string" required:"true"`
7517
7518	// The timestamp for when the geofence collection was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
7519	// format: YYYY-MM-DDThh:mm:ss.sssZ
7520	//
7521	// CreateTime is a required field
7522	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
7523
7524	// The description for the geofence collection
7525	//
7526	// Description is a required field
7527	Description *string `type:"string" required:"true"`
7528
7529	// The pricing plan for the specified geofence collection.
7530	//
7531	// For additional details and restrictions on each pricing plan option, see
7532	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
7533	//
7534	// PricingPlan is a required field
7535	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
7536
7537	// The data source selected for the geofence collection and associated pricing
7538	// plan.
7539	PricingPlanDataSource *string `type:"string"`
7540
7541	// Specifies a timestamp for when the resource was last updated in ISO 8601
7542	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ
7543	//
7544	// UpdateTime is a required field
7545	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
7546}
7547
7548// String returns the string representation
7549func (s ListGeofenceCollectionsResponseEntry) String() string {
7550	return awsutil.Prettify(s)
7551}
7552
7553// GoString returns the string representation
7554func (s ListGeofenceCollectionsResponseEntry) GoString() string {
7555	return s.String()
7556}
7557
7558// SetCollectionName sets the CollectionName field's value.
7559func (s *ListGeofenceCollectionsResponseEntry) SetCollectionName(v string) *ListGeofenceCollectionsResponseEntry {
7560	s.CollectionName = &v
7561	return s
7562}
7563
7564// SetCreateTime sets the CreateTime field's value.
7565func (s *ListGeofenceCollectionsResponseEntry) SetCreateTime(v time.Time) *ListGeofenceCollectionsResponseEntry {
7566	s.CreateTime = &v
7567	return s
7568}
7569
7570// SetDescription sets the Description field's value.
7571func (s *ListGeofenceCollectionsResponseEntry) SetDescription(v string) *ListGeofenceCollectionsResponseEntry {
7572	s.Description = &v
7573	return s
7574}
7575
7576// SetPricingPlan sets the PricingPlan field's value.
7577func (s *ListGeofenceCollectionsResponseEntry) SetPricingPlan(v string) *ListGeofenceCollectionsResponseEntry {
7578	s.PricingPlan = &v
7579	return s
7580}
7581
7582// SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
7583func (s *ListGeofenceCollectionsResponseEntry) SetPricingPlanDataSource(v string) *ListGeofenceCollectionsResponseEntry {
7584	s.PricingPlanDataSource = &v
7585	return s
7586}
7587
7588// SetUpdateTime sets the UpdateTime field's value.
7589func (s *ListGeofenceCollectionsResponseEntry) SetUpdateTime(v time.Time) *ListGeofenceCollectionsResponseEntry {
7590	s.UpdateTime = &v
7591	return s
7592}
7593
7594// Contains a list of geofences stored in a given geofence collection.
7595type ListGeofenceResponseEntry struct {
7596	_ struct{} `type:"structure"`
7597
7598	// The timestamp for when the geofence was stored in a geofence collection in
7599	// ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format:
7600	// YYYY-MM-DDThh:mm:ss.sssZ
7601	//
7602	// CreateTime is a required field
7603	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
7604
7605	// The geofence identifier.
7606	//
7607	// GeofenceId is a required field
7608	GeofenceId *string `min:"1" type:"string" required:"true"`
7609
7610	// Contains the geofence geometry details describing a polygon.
7611	//
7612	// Geometry is a required field
7613	Geometry *GeofenceGeometry `type:"structure" required:"true"`
7614
7615	// Identifies the state of the geofence. A geofence will hold one of the following
7616	// states:
7617	//
7618	//    * ACTIVE — The geofence has been indexed by the system.
7619	//
7620	//    * PENDING — The geofence is being processed by the system.
7621	//
7622	//    * FAILED — The geofence failed to be indexed by the system.
7623	//
7624	//    * DELETED — The geofence has been deleted from the system index.
7625	//
7626	//    * DELETING — The geofence is being deleted from the system index.
7627	//
7628	// Status is a required field
7629	Status *string `type:"string" required:"true"`
7630
7631	// The timestamp for when the geofence was last updated in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
7632	// format: YYYY-MM-DDThh:mm:ss.sssZ
7633	//
7634	// UpdateTime is a required field
7635	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
7636}
7637
7638// String returns the string representation
7639func (s ListGeofenceResponseEntry) String() string {
7640	return awsutil.Prettify(s)
7641}
7642
7643// GoString returns the string representation
7644func (s ListGeofenceResponseEntry) GoString() string {
7645	return s.String()
7646}
7647
7648// SetCreateTime sets the CreateTime field's value.
7649func (s *ListGeofenceResponseEntry) SetCreateTime(v time.Time) *ListGeofenceResponseEntry {
7650	s.CreateTime = &v
7651	return s
7652}
7653
7654// SetGeofenceId sets the GeofenceId field's value.
7655func (s *ListGeofenceResponseEntry) SetGeofenceId(v string) *ListGeofenceResponseEntry {
7656	s.GeofenceId = &v
7657	return s
7658}
7659
7660// SetGeometry sets the Geometry field's value.
7661func (s *ListGeofenceResponseEntry) SetGeometry(v *GeofenceGeometry) *ListGeofenceResponseEntry {
7662	s.Geometry = v
7663	return s
7664}
7665
7666// SetStatus sets the Status field's value.
7667func (s *ListGeofenceResponseEntry) SetStatus(v string) *ListGeofenceResponseEntry {
7668	s.Status = &v
7669	return s
7670}
7671
7672// SetUpdateTime sets the UpdateTime field's value.
7673func (s *ListGeofenceResponseEntry) SetUpdateTime(v time.Time) *ListGeofenceResponseEntry {
7674	s.UpdateTime = &v
7675	return s
7676}
7677
7678type ListGeofencesInput struct {
7679	_ struct{} `type:"structure"`
7680
7681	// The name of the geofence collection storing the list of geofences.
7682	//
7683	// CollectionName is a required field
7684	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
7685
7686	// The pagination token specifying which page of results to return in the response.
7687	// If no token is provided, the default page is the first page.
7688	//
7689	// Default value: null
7690	NextToken *string `min:"1" type:"string"`
7691}
7692
7693// String returns the string representation
7694func (s ListGeofencesInput) String() string {
7695	return awsutil.Prettify(s)
7696}
7697
7698// GoString returns the string representation
7699func (s ListGeofencesInput) GoString() string {
7700	return s.String()
7701}
7702
7703// Validate inspects the fields of the type to determine if they are valid.
7704func (s *ListGeofencesInput) Validate() error {
7705	invalidParams := request.ErrInvalidParams{Context: "ListGeofencesInput"}
7706	if s.CollectionName == nil {
7707		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
7708	}
7709	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
7710		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
7711	}
7712	if s.NextToken != nil && len(*s.NextToken) < 1 {
7713		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7714	}
7715
7716	if invalidParams.Len() > 0 {
7717		return invalidParams
7718	}
7719	return nil
7720}
7721
7722// SetCollectionName sets the CollectionName field's value.
7723func (s *ListGeofencesInput) SetCollectionName(v string) *ListGeofencesInput {
7724	s.CollectionName = &v
7725	return s
7726}
7727
7728// SetNextToken sets the NextToken field's value.
7729func (s *ListGeofencesInput) SetNextToken(v string) *ListGeofencesInput {
7730	s.NextToken = &v
7731	return s
7732}
7733
7734type ListGeofencesOutput struct {
7735	_ struct{} `type:"structure"`
7736
7737	// Contains a list of geofences stored in the geofence collection.
7738	//
7739	// Entries is a required field
7740	Entries []*ListGeofenceResponseEntry `type:"list" required:"true"`
7741
7742	// A pagination token indicating there are additional pages available. You can
7743	// use the token in a following request to fetch the next set of results.
7744	NextToken *string `min:"1" type:"string"`
7745}
7746
7747// String returns the string representation
7748func (s ListGeofencesOutput) String() string {
7749	return awsutil.Prettify(s)
7750}
7751
7752// GoString returns the string representation
7753func (s ListGeofencesOutput) GoString() string {
7754	return s.String()
7755}
7756
7757// SetEntries sets the Entries field's value.
7758func (s *ListGeofencesOutput) SetEntries(v []*ListGeofenceResponseEntry) *ListGeofencesOutput {
7759	s.Entries = v
7760	return s
7761}
7762
7763// SetNextToken sets the NextToken field's value.
7764func (s *ListGeofencesOutput) SetNextToken(v string) *ListGeofencesOutput {
7765	s.NextToken = &v
7766	return s
7767}
7768
7769type ListMapsInput struct {
7770	_ struct{} `type:"structure"`
7771
7772	// An optional limit for the number of resources returned in a single call.
7773	//
7774	// Default value: 100
7775	MaxResults *int64 `min:"1" type:"integer"`
7776
7777	// The pagination token specifying which page of results to return in the response.
7778	// If no token is provided, the default page is the first page.
7779	//
7780	// Default value: null
7781	NextToken *string `min:"1" type:"string"`
7782}
7783
7784// String returns the string representation
7785func (s ListMapsInput) String() string {
7786	return awsutil.Prettify(s)
7787}
7788
7789// GoString returns the string representation
7790func (s ListMapsInput) GoString() string {
7791	return s.String()
7792}
7793
7794// Validate inspects the fields of the type to determine if they are valid.
7795func (s *ListMapsInput) Validate() error {
7796	invalidParams := request.ErrInvalidParams{Context: "ListMapsInput"}
7797	if s.MaxResults != nil && *s.MaxResults < 1 {
7798		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7799	}
7800	if s.NextToken != nil && len(*s.NextToken) < 1 {
7801		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7802	}
7803
7804	if invalidParams.Len() > 0 {
7805		return invalidParams
7806	}
7807	return nil
7808}
7809
7810// SetMaxResults sets the MaxResults field's value.
7811func (s *ListMapsInput) SetMaxResults(v int64) *ListMapsInput {
7812	s.MaxResults = &v
7813	return s
7814}
7815
7816// SetNextToken sets the NextToken field's value.
7817func (s *ListMapsInput) SetNextToken(v string) *ListMapsInput {
7818	s.NextToken = &v
7819	return s
7820}
7821
7822type ListMapsOutput struct {
7823	_ struct{} `type:"structure"`
7824
7825	// Contains a list of maps in your AWS account
7826	//
7827	// Entries is a required field
7828	Entries []*ListMapsResponseEntry `type:"list" required:"true"`
7829
7830	// A pagination token indicating there are additional pages available. You can
7831	// use the token in a following request to fetch the next set of results.
7832	NextToken *string `min:"1" type:"string"`
7833}
7834
7835// String returns the string representation
7836func (s ListMapsOutput) String() string {
7837	return awsutil.Prettify(s)
7838}
7839
7840// GoString returns the string representation
7841func (s ListMapsOutput) GoString() string {
7842	return s.String()
7843}
7844
7845// SetEntries sets the Entries field's value.
7846func (s *ListMapsOutput) SetEntries(v []*ListMapsResponseEntry) *ListMapsOutput {
7847	s.Entries = v
7848	return s
7849}
7850
7851// SetNextToken sets the NextToken field's value.
7852func (s *ListMapsOutput) SetNextToken(v string) *ListMapsOutput {
7853	s.NextToken = &v
7854	return s
7855}
7856
7857// Contains details of an existing map resource in your AWS account.
7858type ListMapsResponseEntry struct {
7859	_ struct{} `type:"structure"`
7860
7861	// The timestamp for when the map resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
7862	// format: YYYY-MM-DDThh:mm:ss.sssZ.
7863	//
7864	// CreateTime is a required field
7865	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
7866
7867	// Specifies the data provider for the associated map tiles.
7868	//
7869	// DataSource is a required field
7870	DataSource *string `type:"string" required:"true"`
7871
7872	// The description for the map resource.
7873	//
7874	// Description is a required field
7875	Description *string `type:"string" required:"true"`
7876
7877	// The name of the associated map resource.
7878	//
7879	// MapName is a required field
7880	MapName *string `min:"1" type:"string" required:"true"`
7881
7882	// The pricing plan for the specified map resource.
7883	//
7884	// For additional details and restrictions on each pricing plan option, see
7885	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
7886	//
7887	// PricingPlan is a required field
7888	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
7889
7890	// The timestamp for when the map resource was last updated in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
7891	// format: YYYY-MM-DDThh:mm:ss.sssZ.
7892	//
7893	// UpdateTime is a required field
7894	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
7895}
7896
7897// String returns the string representation
7898func (s ListMapsResponseEntry) String() string {
7899	return awsutil.Prettify(s)
7900}
7901
7902// GoString returns the string representation
7903func (s ListMapsResponseEntry) GoString() string {
7904	return s.String()
7905}
7906
7907// SetCreateTime sets the CreateTime field's value.
7908func (s *ListMapsResponseEntry) SetCreateTime(v time.Time) *ListMapsResponseEntry {
7909	s.CreateTime = &v
7910	return s
7911}
7912
7913// SetDataSource sets the DataSource field's value.
7914func (s *ListMapsResponseEntry) SetDataSource(v string) *ListMapsResponseEntry {
7915	s.DataSource = &v
7916	return s
7917}
7918
7919// SetDescription sets the Description field's value.
7920func (s *ListMapsResponseEntry) SetDescription(v string) *ListMapsResponseEntry {
7921	s.Description = &v
7922	return s
7923}
7924
7925// SetMapName sets the MapName field's value.
7926func (s *ListMapsResponseEntry) SetMapName(v string) *ListMapsResponseEntry {
7927	s.MapName = &v
7928	return s
7929}
7930
7931// SetPricingPlan sets the PricingPlan field's value.
7932func (s *ListMapsResponseEntry) SetPricingPlan(v string) *ListMapsResponseEntry {
7933	s.PricingPlan = &v
7934	return s
7935}
7936
7937// SetUpdateTime sets the UpdateTime field's value.
7938func (s *ListMapsResponseEntry) SetUpdateTime(v time.Time) *ListMapsResponseEntry {
7939	s.UpdateTime = &v
7940	return s
7941}
7942
7943type ListPlaceIndexesInput struct {
7944	_ struct{} `type:"structure"`
7945
7946	// An optional limit for the maximum number of results returned in a single
7947	// call.
7948	//
7949	// Default value: 100
7950	MaxResults *int64 `min:"1" type:"integer"`
7951
7952	// The pagination token specifying which page of results to return in the response.
7953	// If no token is provided, the default page is the first page.
7954	//
7955	// Default value: null
7956	NextToken *string `min:"1" type:"string"`
7957}
7958
7959// String returns the string representation
7960func (s ListPlaceIndexesInput) String() string {
7961	return awsutil.Prettify(s)
7962}
7963
7964// GoString returns the string representation
7965func (s ListPlaceIndexesInput) GoString() string {
7966	return s.String()
7967}
7968
7969// Validate inspects the fields of the type to determine if they are valid.
7970func (s *ListPlaceIndexesInput) Validate() error {
7971	invalidParams := request.ErrInvalidParams{Context: "ListPlaceIndexesInput"}
7972	if s.MaxResults != nil && *s.MaxResults < 1 {
7973		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7974	}
7975	if s.NextToken != nil && len(*s.NextToken) < 1 {
7976		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7977	}
7978
7979	if invalidParams.Len() > 0 {
7980		return invalidParams
7981	}
7982	return nil
7983}
7984
7985// SetMaxResults sets the MaxResults field's value.
7986func (s *ListPlaceIndexesInput) SetMaxResults(v int64) *ListPlaceIndexesInput {
7987	s.MaxResults = &v
7988	return s
7989}
7990
7991// SetNextToken sets the NextToken field's value.
7992func (s *ListPlaceIndexesInput) SetNextToken(v string) *ListPlaceIndexesInput {
7993	s.NextToken = &v
7994	return s
7995}
7996
7997type ListPlaceIndexesOutput struct {
7998	_ struct{} `type:"structure"`
7999
8000	// Lists the Place index resources that exist in your AWS account
8001	//
8002	// Entries is a required field
8003	Entries []*ListPlaceIndexesResponseEntry `type:"list" required:"true"`
8004
8005	// A pagination token indicating there are additional pages available. You can
8006	// use the token in a following request to fetch the next set of results.
8007	NextToken *string `min:"1" type:"string"`
8008}
8009
8010// String returns the string representation
8011func (s ListPlaceIndexesOutput) String() string {
8012	return awsutil.Prettify(s)
8013}
8014
8015// GoString returns the string representation
8016func (s ListPlaceIndexesOutput) GoString() string {
8017	return s.String()
8018}
8019
8020// SetEntries sets the Entries field's value.
8021func (s *ListPlaceIndexesOutput) SetEntries(v []*ListPlaceIndexesResponseEntry) *ListPlaceIndexesOutput {
8022	s.Entries = v
8023	return s
8024}
8025
8026// SetNextToken sets the NextToken field's value.
8027func (s *ListPlaceIndexesOutput) SetNextToken(v string) *ListPlaceIndexesOutput {
8028	s.NextToken = &v
8029	return s
8030}
8031
8032// A Place index resource listed in your AWS account.
8033type ListPlaceIndexesResponseEntry struct {
8034	_ struct{} `type:"structure"`
8035
8036	// The timestamp for when the Place index resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
8037	// format: YYYY-MM-DDThh:mm:ss.sssZ.
8038	//
8039	// CreateTime is a required field
8040	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
8041
8042	// The data provider of geospatial data. Indicates one of the available providers:
8043	//
8044	//    * Esri
8045	//
8046	//    * HERE
8047	//
8048	// For additional details on data providers, see the Amazon Location Service
8049	// data providers page (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
8050	//
8051	// DataSource is a required field
8052	DataSource *string `type:"string" required:"true"`
8053
8054	// The optional description for the Place index resource.
8055	//
8056	// Description is a required field
8057	Description *string `type:"string" required:"true"`
8058
8059	// The name of the Place index resource.
8060	//
8061	// IndexName is a required field
8062	IndexName *string `min:"1" type:"string" required:"true"`
8063
8064	// The pricing plan for the specified Place index resource.
8065	//
8066	// For additional details and restrictions on each pricing plan option, see
8067	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
8068	//
8069	// PricingPlan is a required field
8070	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
8071
8072	// The timestamp for when the Place index resource was last updated in ISO 8601
8073	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
8074	//
8075	// UpdateTime is a required field
8076	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
8077}
8078
8079// String returns the string representation
8080func (s ListPlaceIndexesResponseEntry) String() string {
8081	return awsutil.Prettify(s)
8082}
8083
8084// GoString returns the string representation
8085func (s ListPlaceIndexesResponseEntry) GoString() string {
8086	return s.String()
8087}
8088
8089// SetCreateTime sets the CreateTime field's value.
8090func (s *ListPlaceIndexesResponseEntry) SetCreateTime(v time.Time) *ListPlaceIndexesResponseEntry {
8091	s.CreateTime = &v
8092	return s
8093}
8094
8095// SetDataSource sets the DataSource field's value.
8096func (s *ListPlaceIndexesResponseEntry) SetDataSource(v string) *ListPlaceIndexesResponseEntry {
8097	s.DataSource = &v
8098	return s
8099}
8100
8101// SetDescription sets the Description field's value.
8102func (s *ListPlaceIndexesResponseEntry) SetDescription(v string) *ListPlaceIndexesResponseEntry {
8103	s.Description = &v
8104	return s
8105}
8106
8107// SetIndexName sets the IndexName field's value.
8108func (s *ListPlaceIndexesResponseEntry) SetIndexName(v string) *ListPlaceIndexesResponseEntry {
8109	s.IndexName = &v
8110	return s
8111}
8112
8113// SetPricingPlan sets the PricingPlan field's value.
8114func (s *ListPlaceIndexesResponseEntry) SetPricingPlan(v string) *ListPlaceIndexesResponseEntry {
8115	s.PricingPlan = &v
8116	return s
8117}
8118
8119// SetUpdateTime sets the UpdateTime field's value.
8120func (s *ListPlaceIndexesResponseEntry) SetUpdateTime(v time.Time) *ListPlaceIndexesResponseEntry {
8121	s.UpdateTime = &v
8122	return s
8123}
8124
8125type ListTrackerConsumersInput struct {
8126	_ struct{} `type:"structure"`
8127
8128	// An optional limit for the number of resources returned in a single call.
8129	//
8130	// Default value: 100
8131	MaxResults *int64 `min:"1" type:"integer"`
8132
8133	// The pagination token specifying which page of results to return in the response.
8134	// If no token is provided, the default page is the first page.
8135	//
8136	// Default value: null
8137	NextToken *string `min:"1" type:"string"`
8138
8139	// The tracker resource whose associated geofence collections you want to list.
8140	//
8141	// TrackerName is a required field
8142	TrackerName *string `location:"uri" locationName:"TrackerName" min:"1" type:"string" required:"true"`
8143}
8144
8145// String returns the string representation
8146func (s ListTrackerConsumersInput) String() string {
8147	return awsutil.Prettify(s)
8148}
8149
8150// GoString returns the string representation
8151func (s ListTrackerConsumersInput) GoString() string {
8152	return s.String()
8153}
8154
8155// Validate inspects the fields of the type to determine if they are valid.
8156func (s *ListTrackerConsumersInput) Validate() error {
8157	invalidParams := request.ErrInvalidParams{Context: "ListTrackerConsumersInput"}
8158	if s.MaxResults != nil && *s.MaxResults < 1 {
8159		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8160	}
8161	if s.NextToken != nil && len(*s.NextToken) < 1 {
8162		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8163	}
8164	if s.TrackerName == nil {
8165		invalidParams.Add(request.NewErrParamRequired("TrackerName"))
8166	}
8167	if s.TrackerName != nil && len(*s.TrackerName) < 1 {
8168		invalidParams.Add(request.NewErrParamMinLen("TrackerName", 1))
8169	}
8170
8171	if invalidParams.Len() > 0 {
8172		return invalidParams
8173	}
8174	return nil
8175}
8176
8177// SetMaxResults sets the MaxResults field's value.
8178func (s *ListTrackerConsumersInput) SetMaxResults(v int64) *ListTrackerConsumersInput {
8179	s.MaxResults = &v
8180	return s
8181}
8182
8183// SetNextToken sets the NextToken field's value.
8184func (s *ListTrackerConsumersInput) SetNextToken(v string) *ListTrackerConsumersInput {
8185	s.NextToken = &v
8186	return s
8187}
8188
8189// SetTrackerName sets the TrackerName field's value.
8190func (s *ListTrackerConsumersInput) SetTrackerName(v string) *ListTrackerConsumersInput {
8191	s.TrackerName = &v
8192	return s
8193}
8194
8195type ListTrackerConsumersOutput struct {
8196	_ struct{} `type:"structure"`
8197
8198	// Contains the list of geofence collection ARNs associated to the tracker resource.
8199	//
8200	// ConsumerArns is a required field
8201	ConsumerArns []*string `type:"list" required:"true"`
8202
8203	// A pagination token indicating there are additional pages available. You can
8204	// use the token in a following request to fetch the next set of results.
8205	NextToken *string `min:"1" type:"string"`
8206}
8207
8208// String returns the string representation
8209func (s ListTrackerConsumersOutput) String() string {
8210	return awsutil.Prettify(s)
8211}
8212
8213// GoString returns the string representation
8214func (s ListTrackerConsumersOutput) GoString() string {
8215	return s.String()
8216}
8217
8218// SetConsumerArns sets the ConsumerArns field's value.
8219func (s *ListTrackerConsumersOutput) SetConsumerArns(v []*string) *ListTrackerConsumersOutput {
8220	s.ConsumerArns = v
8221	return s
8222}
8223
8224// SetNextToken sets the NextToken field's value.
8225func (s *ListTrackerConsumersOutput) SetNextToken(v string) *ListTrackerConsumersOutput {
8226	s.NextToken = &v
8227	return s
8228}
8229
8230type ListTrackersInput struct {
8231	_ struct{} `type:"structure"`
8232
8233	// An optional limit for the number of resources returned in a single call.
8234	//
8235	// Default value: 100
8236	MaxResults *int64 `min:"1" type:"integer"`
8237
8238	// The pagination token specifying which page of results to return in the response.
8239	// If no token is provided, the default page is the first page.
8240	//
8241	// Default value: null
8242	NextToken *string `min:"1" type:"string"`
8243}
8244
8245// String returns the string representation
8246func (s ListTrackersInput) String() string {
8247	return awsutil.Prettify(s)
8248}
8249
8250// GoString returns the string representation
8251func (s ListTrackersInput) GoString() string {
8252	return s.String()
8253}
8254
8255// Validate inspects the fields of the type to determine if they are valid.
8256func (s *ListTrackersInput) Validate() error {
8257	invalidParams := request.ErrInvalidParams{Context: "ListTrackersInput"}
8258	if s.MaxResults != nil && *s.MaxResults < 1 {
8259		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8260	}
8261	if s.NextToken != nil && len(*s.NextToken) < 1 {
8262		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8263	}
8264
8265	if invalidParams.Len() > 0 {
8266		return invalidParams
8267	}
8268	return nil
8269}
8270
8271// SetMaxResults sets the MaxResults field's value.
8272func (s *ListTrackersInput) SetMaxResults(v int64) *ListTrackersInput {
8273	s.MaxResults = &v
8274	return s
8275}
8276
8277// SetNextToken sets the NextToken field's value.
8278func (s *ListTrackersInput) SetNextToken(v string) *ListTrackersInput {
8279	s.NextToken = &v
8280	return s
8281}
8282
8283type ListTrackersOutput struct {
8284	_ struct{} `type:"structure"`
8285
8286	// Contains tracker resources in your AWS account. Details include tracker name,
8287	// description and timestamps for when the tracker was created and last updated.
8288	//
8289	// Entries is a required field
8290	Entries []*ListTrackersResponseEntry `type:"list" required:"true"`
8291
8292	// A pagination token indicating there are additional pages available. You can
8293	// use the token in a following request to fetch the next set of results.
8294	NextToken *string `min:"1" type:"string"`
8295}
8296
8297// String returns the string representation
8298func (s ListTrackersOutput) String() string {
8299	return awsutil.Prettify(s)
8300}
8301
8302// GoString returns the string representation
8303func (s ListTrackersOutput) GoString() string {
8304	return s.String()
8305}
8306
8307// SetEntries sets the Entries field's value.
8308func (s *ListTrackersOutput) SetEntries(v []*ListTrackersResponseEntry) *ListTrackersOutput {
8309	s.Entries = v
8310	return s
8311}
8312
8313// SetNextToken sets the NextToken field's value.
8314func (s *ListTrackersOutput) SetNextToken(v string) *ListTrackersOutput {
8315	s.NextToken = &v
8316	return s
8317}
8318
8319// Contains the tracker resource details.
8320type ListTrackersResponseEntry struct {
8321	_ struct{} `type:"structure"`
8322
8323	// The timestamp for when the tracker resource was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
8324	// format: YYYY-MM-DDThh:mm:ss.sssZ.
8325	//
8326	// CreateTime is a required field
8327	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
8328
8329	// The description for the tracker resource.
8330	//
8331	// Description is a required field
8332	Description *string `type:"string" required:"true"`
8333
8334	// The pricing plan for the specified tracker resource.
8335	//
8336	// For additional details and restrictions on each pricing plan option, see
8337	// the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/).
8338	//
8339	// PricingPlan is a required field
8340	PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"`
8341
8342	// The data source selected for the tracker resource and associated pricing
8343	// plan.
8344	PricingPlanDataSource *string `type:"string"`
8345
8346	// The name of the tracker resource.
8347	//
8348	// TrackerName is a required field
8349	TrackerName *string `min:"1" type:"string" required:"true"`
8350
8351	// The timestamp at which the device's position was determined. Uses ISO 8601
8352	// (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ.
8353	//
8354	// UpdateTime is a required field
8355	UpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
8356}
8357
8358// String returns the string representation
8359func (s ListTrackersResponseEntry) String() string {
8360	return awsutil.Prettify(s)
8361}
8362
8363// GoString returns the string representation
8364func (s ListTrackersResponseEntry) GoString() string {
8365	return s.String()
8366}
8367
8368// SetCreateTime sets the CreateTime field's value.
8369func (s *ListTrackersResponseEntry) SetCreateTime(v time.Time) *ListTrackersResponseEntry {
8370	s.CreateTime = &v
8371	return s
8372}
8373
8374// SetDescription sets the Description field's value.
8375func (s *ListTrackersResponseEntry) SetDescription(v string) *ListTrackersResponseEntry {
8376	s.Description = &v
8377	return s
8378}
8379
8380// SetPricingPlan sets the PricingPlan field's value.
8381func (s *ListTrackersResponseEntry) SetPricingPlan(v string) *ListTrackersResponseEntry {
8382	s.PricingPlan = &v
8383	return s
8384}
8385
8386// SetPricingPlanDataSource sets the PricingPlanDataSource field's value.
8387func (s *ListTrackersResponseEntry) SetPricingPlanDataSource(v string) *ListTrackersResponseEntry {
8388	s.PricingPlanDataSource = &v
8389	return s
8390}
8391
8392// SetTrackerName sets the TrackerName field's value.
8393func (s *ListTrackersResponseEntry) SetTrackerName(v string) *ListTrackersResponseEntry {
8394	s.TrackerName = &v
8395	return s
8396}
8397
8398// SetUpdateTime sets the UpdateTime field's value.
8399func (s *ListTrackersResponseEntry) SetUpdateTime(v time.Time) *ListTrackersResponseEntry {
8400	s.UpdateTime = &v
8401	return s
8402}
8403
8404// Specifies the map tile style selected from an available provider.
8405type MapConfiguration struct {
8406	_ struct{} `type:"structure"`
8407
8408	// Specifies the map style selected from an available data provider.
8409	//
8410	// Valid styles: VectorEsriStreets, VectorEsriTopographic, VectorEsriNavigation,
8411	// VectorEsriDarkGrayCanvas, VectorEsriLightGrayCanvas, VectorHereBerlin.
8412	//
8413	// When using HERE as your data provider, and selecting the Style VectorHereBerlin,
8414	// you may not use HERE Maps for Asset Management. See the AWS Service Terms
8415	// (https://aws.amazon.com/service-terms/) for Amazon Location Service.
8416	//
8417	// Style is a required field
8418	Style *string `min:"1" type:"string" required:"true"`
8419}
8420
8421// String returns the string representation
8422func (s MapConfiguration) String() string {
8423	return awsutil.Prettify(s)
8424}
8425
8426// GoString returns the string representation
8427func (s MapConfiguration) GoString() string {
8428	return s.String()
8429}
8430
8431// Validate inspects the fields of the type to determine if they are valid.
8432func (s *MapConfiguration) Validate() error {
8433	invalidParams := request.ErrInvalidParams{Context: "MapConfiguration"}
8434	if s.Style == nil {
8435		invalidParams.Add(request.NewErrParamRequired("Style"))
8436	}
8437	if s.Style != nil && len(*s.Style) < 1 {
8438		invalidParams.Add(request.NewErrParamMinLen("Style", 1))
8439	}
8440
8441	if invalidParams.Len() > 0 {
8442		return invalidParams
8443	}
8444	return nil
8445}
8446
8447// SetStyle sets the Style field's value.
8448func (s *MapConfiguration) SetStyle(v string) *MapConfiguration {
8449	s.Style = &v
8450	return s
8451}
8452
8453// Contains details about addresses or points of interest that match the search
8454// criteria.
8455type Place struct {
8456	_ struct{} `type:"structure"`
8457
8458	// The numerical portion of an address, such as a building number.
8459	AddressNumber *string `type:"string"`
8460
8461	// A country/region specified using ISO 3166 (https://www.iso.org/iso-3166-country-codes.html)
8462	// 3-digit country/region code. For example, CAN.
8463	Country *string `type:"string"`
8464
8465	// Places uses a point geometry to specify a location or a Place.
8466	//
8467	// Geometry is a required field
8468	Geometry *PlaceGeometry `type:"structure" required:"true"`
8469
8470	// The full name and address of the point of interest such as a city, region,
8471	// or country. For example, 123 Any Street, Any Town, USA.
8472	Label *string `type:"string"`
8473
8474	// A name for a local area, such as a city or town name. For example, Toronto.
8475	Municipality *string `type:"string"`
8476
8477	// The name of a community district. For example, Downtown.
8478	Neighborhood *string `type:"string"`
8479
8480	// A group of numbers and letters in a country-specific format, which accompanies
8481	// the address for the purpose of identifying a location.
8482	PostalCode *string `type:"string"`
8483
8484	// A name for an area or geographical division, such as a province or state
8485	// name. For example, British Columbia.
8486	Region *string `type:"string"`
8487
8488	// The name for a street or a road to identify a location. For example, Main
8489	// Street.
8490	Street *string `type:"string"`
8491
8492	// A country, or an area that's part of a larger region . For example, Metro
8493	// Vancouver.
8494	SubRegion *string `type:"string"`
8495}
8496
8497// String returns the string representation
8498func (s Place) String() string {
8499	return awsutil.Prettify(s)
8500}
8501
8502// GoString returns the string representation
8503func (s Place) GoString() string {
8504	return s.String()
8505}
8506
8507// SetAddressNumber sets the AddressNumber field's value.
8508func (s *Place) SetAddressNumber(v string) *Place {
8509	s.AddressNumber = &v
8510	return s
8511}
8512
8513// SetCountry sets the Country field's value.
8514func (s *Place) SetCountry(v string) *Place {
8515	s.Country = &v
8516	return s
8517}
8518
8519// SetGeometry sets the Geometry field's value.
8520func (s *Place) SetGeometry(v *PlaceGeometry) *Place {
8521	s.Geometry = v
8522	return s
8523}
8524
8525// SetLabel sets the Label field's value.
8526func (s *Place) SetLabel(v string) *Place {
8527	s.Label = &v
8528	return s
8529}
8530
8531// SetMunicipality sets the Municipality field's value.
8532func (s *Place) SetMunicipality(v string) *Place {
8533	s.Municipality = &v
8534	return s
8535}
8536
8537// SetNeighborhood sets the Neighborhood field's value.
8538func (s *Place) SetNeighborhood(v string) *Place {
8539	s.Neighborhood = &v
8540	return s
8541}
8542
8543// SetPostalCode sets the PostalCode field's value.
8544func (s *Place) SetPostalCode(v string) *Place {
8545	s.PostalCode = &v
8546	return s
8547}
8548
8549// SetRegion sets the Region field's value.
8550func (s *Place) SetRegion(v string) *Place {
8551	s.Region = &v
8552	return s
8553}
8554
8555// SetStreet sets the Street field's value.
8556func (s *Place) SetStreet(v string) *Place {
8557	s.Street = &v
8558	return s
8559}
8560
8561// SetSubRegion sets the SubRegion field's value.
8562func (s *Place) SetSubRegion(v string) *Place {
8563	s.SubRegion = &v
8564	return s
8565}
8566
8567// Places uses a point geometry to specify a location or a Place.
8568type PlaceGeometry struct {
8569	_ struct{} `type:"structure"`
8570
8571	// A single point geometry specifies a location for a Place using WGS 84 (https://gisgeography.com/wgs84-world-geodetic-system/)
8572	// coordinates:
8573	//
8574	//    * x — Specifies the x coordinate or longitude.
8575	//
8576	//    * y — Specifies the y coordinate or latitude.
8577	Point []*float64 `min:"2" type:"list" sensitive:"true"`
8578}
8579
8580// String returns the string representation
8581func (s PlaceGeometry) String() string {
8582	return awsutil.Prettify(s)
8583}
8584
8585// GoString returns the string representation
8586func (s PlaceGeometry) GoString() string {
8587	return s.String()
8588}
8589
8590// SetPoint sets the Point field's value.
8591func (s *PlaceGeometry) SetPoint(v []*float64) *PlaceGeometry {
8592	s.Point = v
8593	return s
8594}
8595
8596type PutGeofenceInput struct {
8597	_ struct{} `type:"structure"`
8598
8599	// The geofence collection to store the geofence in.
8600	//
8601	// CollectionName is a required field
8602	CollectionName *string `location:"uri" locationName:"CollectionName" min:"1" type:"string" required:"true"`
8603
8604	// An identifier for the geofence. For example, ExampleGeofence-1.
8605	//
8606	// GeofenceId is a required field
8607	GeofenceId *string `location:"uri" locationName:"GeofenceId" min:"1" type:"string" required:"true"`
8608
8609	// Contains the polygon details to specify the position of the geofence.
8610	//
8611	// Each geofence polygon (https://docs.aws.amazon.com/location-geofences/latest/APIReference/API_GeofenceGeometry.html)
8612	// can have a maximum of 1,000 vertices.
8613	//
8614	// Geometry is a required field
8615	Geometry *GeofenceGeometry `type:"structure" required:"true"`
8616}
8617
8618// String returns the string representation
8619func (s PutGeofenceInput) String() string {
8620	return awsutil.Prettify(s)
8621}
8622
8623// GoString returns the string representation
8624func (s PutGeofenceInput) GoString() string {
8625	return s.String()
8626}
8627
8628// Validate inspects the fields of the type to determine if they are valid.
8629func (s *PutGeofenceInput) Validate() error {
8630	invalidParams := request.ErrInvalidParams{Context: "PutGeofenceInput"}
8631	if s.CollectionName == nil {
8632		invalidParams.Add(request.NewErrParamRequired("CollectionName"))
8633	}
8634	if s.CollectionName != nil && len(*s.CollectionName) < 1 {
8635		invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1))
8636	}
8637	if s.GeofenceId == nil {
8638		invalidParams.Add(request.NewErrParamRequired("GeofenceId"))
8639	}
8640	if s.GeofenceId != nil && len(*s.GeofenceId) < 1 {
8641		invalidParams.Add(request.NewErrParamMinLen("GeofenceId", 1))
8642	}
8643	if s.Geometry == nil {
8644		invalidParams.Add(request.NewErrParamRequired("Geometry"))
8645	}
8646	if s.Geometry != nil {
8647		if err := s.Geometry.Validate(); err != nil {
8648			invalidParams.AddNested("Geometry", err.(request.ErrInvalidParams))
8649		}
8650	}
8651
8652	if invalidParams.Len() > 0 {
8653		return invalidParams
8654	}
8655	return nil
8656}
8657
8658// SetCollectionName sets the CollectionName field's value.
8659func (s *PutGeofenceInput) SetCollectionName(v string) *PutGeofenceInput {
8660	s.CollectionName = &v
8661	return s
8662}
8663
8664// SetGeofenceId sets the GeofenceId field's value.
8665func (s *PutGeofenceInput) SetGeofenceId(v string) *PutGeofenceInput {
8666	s.GeofenceId = &v
8667	return s
8668}
8669
8670// SetGeometry sets the Geometry field's value.
8671func (s *PutGeofenceInput) SetGeometry(v *GeofenceGeometry) *PutGeofenceInput {
8672	s.Geometry = v
8673	return s
8674}
8675
8676type PutGeofenceOutput struct {
8677	_ struct{} `type:"structure"`
8678
8679	// The timestamp for when the geofence was created in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
8680	// format: YYYY-MM-DDThh:mm:ss.sssZ
8681	//
8682	// CreateTime is a required field
8683	CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
8684
8685	// The geofence identifier entered in the request.
8686	//
8687	// GeofenceId is a required field
8688	GeofenceId *string `min:"1" type:"string" required:"true"`
8689
8690	// The timestamp for when the geofence was last updated in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html)
8691	// 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 PutGeofenceOutput) String() string {
8699	return awsutil.Prettify(s)
8700}
8701
8702// GoString returns the string representation
8703func (s PutGeofenceOutput) GoString() string {
8704	return s.String()
8705}
8706
8707// SetCreateTime sets the CreateTime field's value.
8708func (s *PutGeofenceOutput) SetCreateTime(v time.Time) *PutGeofenceOutput {
8709	s.CreateTime = &v
8710	return s
8711}
8712
8713// SetGeofenceId sets the GeofenceId field's value.
8714func (s *PutGeofenceOutput) SetGeofenceId(v string) *PutGeofenceOutput {
8715	s.GeofenceId = &v
8716	return s
8717}
8718
8719// SetUpdateTime sets the UpdateTime field's value.
8720func (s *PutGeofenceOutput) SetUpdateTime(v time.Time) *PutGeofenceOutput {
8721	s.UpdateTime = &v
8722	return s
8723}
8724
8725// The resource that you've entered was not found in your AWS account.
8726type ResourceNotFoundException struct {
8727	_            struct{}                  `type:"structure"`
8728	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8729
8730	Message_ *string `locationName:"message" type:"string"`
8731}
8732
8733// String returns the string representation
8734func (s ResourceNotFoundException) String() string {
8735	return awsutil.Prettify(s)
8736}
8737
8738// GoString returns the string representation
8739func (s ResourceNotFoundException) GoString() string {
8740	return s.String()
8741}
8742
8743func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
8744	return &ResourceNotFoundException{
8745		RespMetadata: v,
8746	}
8747}
8748
8749// Code returns the exception type name.
8750func (s *ResourceNotFoundException) Code() string {
8751	return "ResourceNotFoundException"
8752}
8753
8754// Message returns the exception's message.
8755func (s *ResourceNotFoundException) Message() string {
8756	if s.Message_ != nil {
8757		return *s.Message_
8758	}
8759	return ""
8760}
8761
8762// OrigErr always returns nil, satisfies awserr.Error interface.
8763func (s *ResourceNotFoundException) OrigErr() error {
8764	return nil
8765}
8766
8767func (s *ResourceNotFoundException) Error() string {
8768	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8769}
8770
8771// Status code returns the HTTP status code for the request's response error.
8772func (s *ResourceNotFoundException) StatusCode() int {
8773	return s.RespMetadata.StatusCode
8774}
8775
8776// RequestID returns the service's response RequestID for request.
8777func (s *ResourceNotFoundException) RequestID() string {
8778	return s.RespMetadata.RequestID
8779}
8780
8781// Specifies a single point of interest, or Place as a result of a search query
8782// obtained from a dataset configured in the Place index Resource.
8783type SearchForPositionResult struct {
8784	_ struct{} `type:"structure"`
8785
8786	// Contains details about the relevant point of interest.
8787	//
8788	// Place is a required field
8789	Place *Place `type:"structure" required:"true"`
8790}
8791
8792// String returns the string representation
8793func (s SearchForPositionResult) String() string {
8794	return awsutil.Prettify(s)
8795}
8796
8797// GoString returns the string representation
8798func (s SearchForPositionResult) GoString() string {
8799	return s.String()
8800}
8801
8802// SetPlace sets the Place field's value.
8803func (s *SearchForPositionResult) SetPlace(v *Place) *SearchForPositionResult {
8804	s.Place = v
8805	return s
8806}
8807
8808// Contains relevant Places returned by calling SearchPlaceIndexForText.
8809type SearchForTextResult struct {
8810	_ struct{} `type:"structure"`
8811
8812	// Contains details about the relevant point of interest.
8813	//
8814	// Place is a required field
8815	Place *Place `type:"structure" required:"true"`
8816}
8817
8818// String returns the string representation
8819func (s SearchForTextResult) String() string {
8820	return awsutil.Prettify(s)
8821}
8822
8823// GoString returns the string representation
8824func (s SearchForTextResult) GoString() string {
8825	return s.String()
8826}
8827
8828// SetPlace sets the Place field's value.
8829func (s *SearchForTextResult) SetPlace(v *Place) *SearchForTextResult {
8830	s.Place = v
8831	return s
8832}
8833
8834type SearchPlaceIndexForPositionInput struct {
8835	_ struct{} `type:"structure"`
8836
8837	// The name of the Place index resource you want to use for the search.
8838	//
8839	// IndexName is a required field
8840	IndexName *string `location:"uri" locationName:"IndexName" min:"1" type:"string" required:"true"`
8841
8842	// An optional paramer. The maximum number of results returned per request.
8843	//
8844	// Default value: 50
8845	MaxResults *int64 `min:"1" type:"integer"`
8846
8847	// Specifies a coordinate for the query defined by a longitude, and latitude.
8848	//
8849	//    * The first position is the X coordinate, or longitude.
8850	//
8851	//    * The second position is the Y coordinate, or latitude.
8852	//
8853	// For example, position=xLongitude&position=yLatitude .
8854	//
8855	// Position is a required field
8856	Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
8857}
8858
8859// String returns the string representation
8860func (s SearchPlaceIndexForPositionInput) String() string {
8861	return awsutil.Prettify(s)
8862}
8863
8864// GoString returns the string representation
8865func (s SearchPlaceIndexForPositionInput) GoString() string {
8866	return s.String()
8867}
8868
8869// Validate inspects the fields of the type to determine if they are valid.
8870func (s *SearchPlaceIndexForPositionInput) Validate() error {
8871	invalidParams := request.ErrInvalidParams{Context: "SearchPlaceIndexForPositionInput"}
8872	if s.IndexName == nil {
8873		invalidParams.Add(request.NewErrParamRequired("IndexName"))
8874	}
8875	if s.IndexName != nil && len(*s.IndexName) < 1 {
8876		invalidParams.Add(request.NewErrParamMinLen("IndexName", 1))
8877	}
8878	if s.MaxResults != nil && *s.MaxResults < 1 {
8879		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8880	}
8881	if s.Position == nil {
8882		invalidParams.Add(request.NewErrParamRequired("Position"))
8883	}
8884	if s.Position != nil && len(s.Position) < 2 {
8885		invalidParams.Add(request.NewErrParamMinLen("Position", 2))
8886	}
8887
8888	if invalidParams.Len() > 0 {
8889		return invalidParams
8890	}
8891	return nil
8892}
8893
8894// SetIndexName sets the IndexName field's value.
8895func (s *SearchPlaceIndexForPositionInput) SetIndexName(v string) *SearchPlaceIndexForPositionInput {
8896	s.IndexName = &v
8897	return s
8898}
8899
8900// SetMaxResults sets the MaxResults field's value.
8901func (s *SearchPlaceIndexForPositionInput) SetMaxResults(v int64) *SearchPlaceIndexForPositionInput {
8902	s.MaxResults = &v
8903	return s
8904}
8905
8906// SetPosition sets the Position field's value.
8907func (s *SearchPlaceIndexForPositionInput) SetPosition(v []*float64) *SearchPlaceIndexForPositionInput {
8908	s.Position = v
8909	return s
8910}
8911
8912type SearchPlaceIndexForPositionOutput struct {
8913	_ struct{} `type:"structure"`
8914
8915	// Returns a list of Places closest to the specified position. Each result contains
8916	// additional information about the Places returned.
8917	//
8918	// Results is a required field
8919	Results []*SearchForPositionResult `type:"list" required:"true"`
8920
8921	// Contains a summary of the request.
8922	//
8923	// Summary is a required field
8924	Summary *SearchPlaceIndexForPositionSummary `type:"structure" required:"true"`
8925}
8926
8927// String returns the string representation
8928func (s SearchPlaceIndexForPositionOutput) String() string {
8929	return awsutil.Prettify(s)
8930}
8931
8932// GoString returns the string representation
8933func (s SearchPlaceIndexForPositionOutput) GoString() string {
8934	return s.String()
8935}
8936
8937// SetResults sets the Results field's value.
8938func (s *SearchPlaceIndexForPositionOutput) SetResults(v []*SearchForPositionResult) *SearchPlaceIndexForPositionOutput {
8939	s.Results = v
8940	return s
8941}
8942
8943// SetSummary sets the Summary field's value.
8944func (s *SearchPlaceIndexForPositionOutput) SetSummary(v *SearchPlaceIndexForPositionSummary) *SearchPlaceIndexForPositionOutput {
8945	s.Summary = v
8946	return s
8947}
8948
8949// A summary of the reverse geocoding request sent using SearchPlaceIndexForPosition.
8950type SearchPlaceIndexForPositionSummary struct {
8951	_ struct{} `type:"structure"`
8952
8953	// The data provider of geospatial data. Indicates one of the available providers:
8954	//
8955	//    * Esri
8956	//
8957	//    * HERE
8958	//
8959	// For additional details on data providers, see the Amazon Location Service
8960	// data providers page (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
8961	//
8962	// DataSource is a required field
8963	DataSource *string `type:"string" required:"true"`
8964
8965	// An optional parameter. The maximum number of results returned per request.
8966	//
8967	// Default value: 50
8968	MaxResults *int64 `min:"1" type:"integer"`
8969
8970	// The position given in the reverse geocoding request.
8971	//
8972	// Position is a required field
8973	Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"`
8974}
8975
8976// String returns the string representation
8977func (s SearchPlaceIndexForPositionSummary) String() string {
8978	return awsutil.Prettify(s)
8979}
8980
8981// GoString returns the string representation
8982func (s SearchPlaceIndexForPositionSummary) GoString() string {
8983	return s.String()
8984}
8985
8986// SetDataSource sets the DataSource field's value.
8987func (s *SearchPlaceIndexForPositionSummary) SetDataSource(v string) *SearchPlaceIndexForPositionSummary {
8988	s.DataSource = &v
8989	return s
8990}
8991
8992// SetMaxResults sets the MaxResults field's value.
8993func (s *SearchPlaceIndexForPositionSummary) SetMaxResults(v int64) *SearchPlaceIndexForPositionSummary {
8994	s.MaxResults = &v
8995	return s
8996}
8997
8998// SetPosition sets the Position field's value.
8999func (s *SearchPlaceIndexForPositionSummary) SetPosition(v []*float64) *SearchPlaceIndexForPositionSummary {
9000	s.Position = v
9001	return s
9002}
9003
9004type SearchPlaceIndexForTextInput struct {
9005	_ struct{} `type:"structure"`
9006
9007	// Searches for results closest to the given position. An optional parameter
9008	// defined by longitude, and latitude.
9009	//
9010	//    * The first bias position is the X coordinate, or longitude.
9011	//
9012	//    * The second bias position is the Y coordinate, or latitude.
9013	//
9014	// For example, bias=xLongitude&bias=yLatitude.
9015	BiasPosition []*float64 `min:"2" type:"list" sensitive:"true"`
9016
9017	// Filters the results by returning only Places within the provided bounding
9018	// box. An optional parameter.
9019	//
9020	// The first 2 bbox parameters describe the lower southwest corner:
9021	//
9022	//    * The first bbox position is the X coordinate or longitude of the lower
9023	//    southwest corner.
9024	//
9025	//    * The second bbox position is the Y coordinate or latitude of the lower
9026	//    southwest corner.
9027	//
9028	// For example, bbox=xLongitudeSW&bbox=yLatitudeSW.
9029	//
9030	// The next bbox parameters describe the upper northeast corner:
9031	//
9032	//    * The third bbox position is the X coordinate, or longitude of the upper
9033	//    northeast corner.
9034	//
9035	//    * The fourth bbox position is the Y coordinate, or longitude of the upper
9036	//    northeast corner.
9037	//
9038	// For example, bbox=xLongitudeNE&bbox=yLatitudeNE
9039	FilterBBox []*float64 `min:"4" type:"list" sensitive:"true"`
9040
9041	// Limits the search to the given a list of countries/regions. An optional parameter.
9042	//
9043	//    * Use the ISO 3166 (https://www.iso.org/iso-3166-country-codes.html) 3-digit
9044	//    country code. For example, Australia uses three upper-case characters:
9045	//    AUS.
9046	FilterCountries []*string `min:"1" type:"list"`
9047
9048	// The name of the Place index resource you want to use for the search.
9049	//
9050	// IndexName is a required field
9051	IndexName *string `location:"uri" locationName:"IndexName" min:"1" type:"string" required:"true"`
9052
9053	// An optional parameter. The maximum number of results returned per request.
9054	//
9055	// The default: 50
9056	MaxResults *int64 `min:"1" type:"integer"`
9057
9058	// The address, name, city, or region to be used in the search. In free-form
9059	// text format. For example, 123 Any Street.
9060	//
9061	// Text is a required field
9062	Text *string `min:"1" type:"string" required:"true" sensitive:"true"`
9063}
9064
9065// String returns the string representation
9066func (s SearchPlaceIndexForTextInput) String() string {
9067	return awsutil.Prettify(s)
9068}
9069
9070// GoString returns the string representation
9071func (s SearchPlaceIndexForTextInput) GoString() string {
9072	return s.String()
9073}
9074
9075// Validate inspects the fields of the type to determine if they are valid.
9076func (s *SearchPlaceIndexForTextInput) Validate() error {
9077	invalidParams := request.ErrInvalidParams{Context: "SearchPlaceIndexForTextInput"}
9078	if s.BiasPosition != nil && len(s.BiasPosition) < 2 {
9079		invalidParams.Add(request.NewErrParamMinLen("BiasPosition", 2))
9080	}
9081	if s.FilterBBox != nil && len(s.FilterBBox) < 4 {
9082		invalidParams.Add(request.NewErrParamMinLen("FilterBBox", 4))
9083	}
9084	if s.FilterCountries != nil && len(s.FilterCountries) < 1 {
9085		invalidParams.Add(request.NewErrParamMinLen("FilterCountries", 1))
9086	}
9087	if s.IndexName == nil {
9088		invalidParams.Add(request.NewErrParamRequired("IndexName"))
9089	}
9090	if s.IndexName != nil && len(*s.IndexName) < 1 {
9091		invalidParams.Add(request.NewErrParamMinLen("IndexName", 1))
9092	}
9093	if s.MaxResults != nil && *s.MaxResults < 1 {
9094		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9095	}
9096	if s.Text == nil {
9097		invalidParams.Add(request.NewErrParamRequired("Text"))
9098	}
9099	if s.Text != nil && len(*s.Text) < 1 {
9100		invalidParams.Add(request.NewErrParamMinLen("Text", 1))
9101	}
9102
9103	if invalidParams.Len() > 0 {
9104		return invalidParams
9105	}
9106	return nil
9107}
9108
9109// SetBiasPosition sets the BiasPosition field's value.
9110func (s *SearchPlaceIndexForTextInput) SetBiasPosition(v []*float64) *SearchPlaceIndexForTextInput {
9111	s.BiasPosition = v
9112	return s
9113}
9114
9115// SetFilterBBox sets the FilterBBox field's value.
9116func (s *SearchPlaceIndexForTextInput) SetFilterBBox(v []*float64) *SearchPlaceIndexForTextInput {
9117	s.FilterBBox = v
9118	return s
9119}
9120
9121// SetFilterCountries sets the FilterCountries field's value.
9122func (s *SearchPlaceIndexForTextInput) SetFilterCountries(v []*string) *SearchPlaceIndexForTextInput {
9123	s.FilterCountries = v
9124	return s
9125}
9126
9127// SetIndexName sets the IndexName field's value.
9128func (s *SearchPlaceIndexForTextInput) SetIndexName(v string) *SearchPlaceIndexForTextInput {
9129	s.IndexName = &v
9130	return s
9131}
9132
9133// SetMaxResults sets the MaxResults field's value.
9134func (s *SearchPlaceIndexForTextInput) SetMaxResults(v int64) *SearchPlaceIndexForTextInput {
9135	s.MaxResults = &v
9136	return s
9137}
9138
9139// SetText sets the Text field's value.
9140func (s *SearchPlaceIndexForTextInput) SetText(v string) *SearchPlaceIndexForTextInput {
9141	s.Text = &v
9142	return s
9143}
9144
9145type SearchPlaceIndexForTextOutput struct {
9146	_ struct{} `type:"structure"`
9147
9148	// A list of Places closest to the specified position. Each result contains
9149	// additional information about the specific point of interest.
9150	//
9151	// Results is a required field
9152	Results []*SearchForTextResult `type:"list" required:"true"`
9153
9154	// Contains a summary of the request. Contains the BiasPosition, DataSource,
9155	// FilterBBox, FilterCountries, MaxResults, ResultBBox, and Text.
9156	//
9157	// Summary is a required field
9158	Summary *SearchPlaceIndexForTextSummary `type:"structure" required:"true"`
9159}
9160
9161// String returns the string representation
9162func (s SearchPlaceIndexForTextOutput) String() string {
9163	return awsutil.Prettify(s)
9164}
9165
9166// GoString returns the string representation
9167func (s SearchPlaceIndexForTextOutput) GoString() string {
9168	return s.String()
9169}
9170
9171// SetResults sets the Results field's value.
9172func (s *SearchPlaceIndexForTextOutput) SetResults(v []*SearchForTextResult) *SearchPlaceIndexForTextOutput {
9173	s.Results = v
9174	return s
9175}
9176
9177// SetSummary sets the Summary field's value.
9178func (s *SearchPlaceIndexForTextOutput) SetSummary(v *SearchPlaceIndexForTextSummary) *SearchPlaceIndexForTextOutput {
9179	s.Summary = v
9180	return s
9181}
9182
9183// A summary of the geocoding request sent using SearchPlaceIndexForText.
9184type SearchPlaceIndexForTextSummary struct {
9185	_ struct{} `type:"structure"`
9186
9187	// Contains the coordinates for the bias position entered in the geocoding request.
9188	BiasPosition []*float64 `min:"2" type:"list" sensitive:"true"`
9189
9190	// The data provider of geospatial data. Indicates one of the available providers:
9191	//
9192	//    * Esri
9193	//
9194	//    * HERE
9195	//
9196	// For additional details on data providers, see the Amazon Location Service
9197	// data providers page (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html).
9198	//
9199	// DataSource is a required field
9200	DataSource *string `type:"string" required:"true"`
9201
9202	// Contains the coordinates for the optional bounding box coordinated entered
9203	// in the geocoding request.
9204	FilterBBox []*float64 `min:"4" type:"list" sensitive:"true"`
9205
9206	// Contains the country filter entered in the geocoding request.
9207	FilterCountries []*string `min:"1" type:"list"`
9208
9209	// Contains the maximum number of results indicated for the request.
9210	MaxResults *int64 `min:"1" type:"integer"`
9211
9212	// A bounding box that contains the search results within the specified area
9213	// indicated by FilterBBox. A subset of bounding box specified using FilterBBox.
9214	ResultBBox []*float64 `min:"4" type:"list" sensitive:"true"`
9215
9216	// The address, name, city or region to be used in the geocoding request. In
9217	// free-form text format. For example, Vancouver.
9218	//
9219	// Text is a required field
9220	Text *string `type:"string" required:"true" sensitive:"true"`
9221}
9222
9223// String returns the string representation
9224func (s SearchPlaceIndexForTextSummary) String() string {
9225	return awsutil.Prettify(s)
9226}
9227
9228// GoString returns the string representation
9229func (s SearchPlaceIndexForTextSummary) GoString() string {
9230	return s.String()
9231}
9232
9233// SetBiasPosition sets the BiasPosition field's value.
9234func (s *SearchPlaceIndexForTextSummary) SetBiasPosition(v []*float64) *SearchPlaceIndexForTextSummary {
9235	s.BiasPosition = v
9236	return s
9237}
9238
9239// SetDataSource sets the DataSource field's value.
9240func (s *SearchPlaceIndexForTextSummary) SetDataSource(v string) *SearchPlaceIndexForTextSummary {
9241	s.DataSource = &v
9242	return s
9243}
9244
9245// SetFilterBBox sets the FilterBBox field's value.
9246func (s *SearchPlaceIndexForTextSummary) SetFilterBBox(v []*float64) *SearchPlaceIndexForTextSummary {
9247	s.FilterBBox = v
9248	return s
9249}
9250
9251// SetFilterCountries sets the FilterCountries field's value.
9252func (s *SearchPlaceIndexForTextSummary) SetFilterCountries(v []*string) *SearchPlaceIndexForTextSummary {
9253	s.FilterCountries = v
9254	return s
9255}
9256
9257// SetMaxResults sets the MaxResults field's value.
9258func (s *SearchPlaceIndexForTextSummary) SetMaxResults(v int64) *SearchPlaceIndexForTextSummary {
9259	s.MaxResults = &v
9260	return s
9261}
9262
9263// SetResultBBox sets the ResultBBox field's value.
9264func (s *SearchPlaceIndexForTextSummary) SetResultBBox(v []*float64) *SearchPlaceIndexForTextSummary {
9265	s.ResultBBox = v
9266	return s
9267}
9268
9269// SetText sets the Text field's value.
9270func (s *SearchPlaceIndexForTextSummary) SetText(v string) *SearchPlaceIndexForTextSummary {
9271	s.Text = &v
9272	return s
9273}
9274
9275// The request was denied due to request throttling.
9276type ThrottlingException struct {
9277	_            struct{}                  `type:"structure"`
9278	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9279
9280	Message_ *string `locationName:"message" type:"string"`
9281}
9282
9283// String returns the string representation
9284func (s ThrottlingException) String() string {
9285	return awsutil.Prettify(s)
9286}
9287
9288// GoString returns the string representation
9289func (s ThrottlingException) GoString() string {
9290	return s.String()
9291}
9292
9293func newErrorThrottlingException(v protocol.ResponseMetadata) error {
9294	return &ThrottlingException{
9295		RespMetadata: v,
9296	}
9297}
9298
9299// Code returns the exception type name.
9300func (s *ThrottlingException) Code() string {
9301	return "ThrottlingException"
9302}
9303
9304// Message returns the exception's message.
9305func (s *ThrottlingException) Message() string {
9306	if s.Message_ != nil {
9307		return *s.Message_
9308	}
9309	return ""
9310}
9311
9312// OrigErr always returns nil, satisfies awserr.Error interface.
9313func (s *ThrottlingException) OrigErr() error {
9314	return nil
9315}
9316
9317func (s *ThrottlingException) Error() string {
9318	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9319}
9320
9321// Status code returns the HTTP status code for the request's response error.
9322func (s *ThrottlingException) StatusCode() int {
9323	return s.RespMetadata.StatusCode
9324}
9325
9326// RequestID returns the service's response RequestID for request.
9327func (s *ThrottlingException) RequestID() string {
9328	return s.RespMetadata.RequestID
9329}
9330
9331// The input failed to meet the constraints specified by the AWS service.
9332type ValidationException struct {
9333	_            struct{}                  `type:"structure"`
9334	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9335
9336	// The field where the invalid entry was detected.
9337	//
9338	// FieldList is a required field
9339	FieldList []*ValidationExceptionField `locationName:"fieldList" type:"list" required:"true"`
9340
9341	Message_ *string `locationName:"message" type:"string"`
9342
9343	// A message with the reason for the validation exception error.
9344	//
9345	// Reason is a required field
9346	Reason *string `locationName:"reason" type:"string" required:"true" enum:"ValidationExceptionReason"`
9347}
9348
9349// String returns the string representation
9350func (s ValidationException) String() string {
9351	return awsutil.Prettify(s)
9352}
9353
9354// GoString returns the string representation
9355func (s ValidationException) GoString() string {
9356	return s.String()
9357}
9358
9359func newErrorValidationException(v protocol.ResponseMetadata) error {
9360	return &ValidationException{
9361		RespMetadata: v,
9362	}
9363}
9364
9365// Code returns the exception type name.
9366func (s *ValidationException) Code() string {
9367	return "ValidationException"
9368}
9369
9370// Message returns the exception's message.
9371func (s *ValidationException) Message() string {
9372	if s.Message_ != nil {
9373		return *s.Message_
9374	}
9375	return ""
9376}
9377
9378// OrigErr always returns nil, satisfies awserr.Error interface.
9379func (s *ValidationException) OrigErr() error {
9380	return nil
9381}
9382
9383func (s *ValidationException) Error() string {
9384	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9385}
9386
9387// Status code returns the HTTP status code for the request's response error.
9388func (s *ValidationException) StatusCode() int {
9389	return s.RespMetadata.StatusCode
9390}
9391
9392// RequestID returns the service's response RequestID for request.
9393func (s *ValidationException) RequestID() string {
9394	return s.RespMetadata.RequestID
9395}
9396
9397// The input failed to meet the constraints specified by the AWS service in
9398// a specified field.
9399type ValidationExceptionField struct {
9400	_ struct{} `type:"structure"`
9401
9402	// A message with the reason for the validation exception error.
9403	//
9404	// Message is a required field
9405	Message *string `locationName:"message" type:"string" required:"true"`
9406
9407	// The field name where the invalid entry was detected.
9408	//
9409	// Name is a required field
9410	Name *string `locationName:"name" type:"string" required:"true"`
9411}
9412
9413// String returns the string representation
9414func (s ValidationExceptionField) String() string {
9415	return awsutil.Prettify(s)
9416}
9417
9418// GoString returns the string representation
9419func (s ValidationExceptionField) GoString() string {
9420	return s.String()
9421}
9422
9423// SetMessage sets the Message field's value.
9424func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
9425	s.Message = &v
9426	return s
9427}
9428
9429// SetName sets the Name field's value.
9430func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
9431	s.Name = &v
9432	return s
9433}
9434
9435const (
9436	// BatchItemErrorCodeAccessDeniedError is a BatchItemErrorCode enum value
9437	BatchItemErrorCodeAccessDeniedError = "AccessDeniedError"
9438
9439	// BatchItemErrorCodeConflictError is a BatchItemErrorCode enum value
9440	BatchItemErrorCodeConflictError = "ConflictError"
9441
9442	// BatchItemErrorCodeInternalServerError is a BatchItemErrorCode enum value
9443	BatchItemErrorCodeInternalServerError = "InternalServerError"
9444
9445	// BatchItemErrorCodeResourceNotFoundError is a BatchItemErrorCode enum value
9446	BatchItemErrorCodeResourceNotFoundError = "ResourceNotFoundError"
9447
9448	// BatchItemErrorCodeThrottlingError is a BatchItemErrorCode enum value
9449	BatchItemErrorCodeThrottlingError = "ThrottlingError"
9450
9451	// BatchItemErrorCodeValidationError is a BatchItemErrorCode enum value
9452	BatchItemErrorCodeValidationError = "ValidationError"
9453)
9454
9455// BatchItemErrorCode_Values returns all elements of the BatchItemErrorCode enum
9456func BatchItemErrorCode_Values() []string {
9457	return []string{
9458		BatchItemErrorCodeAccessDeniedError,
9459		BatchItemErrorCodeConflictError,
9460		BatchItemErrorCodeInternalServerError,
9461		BatchItemErrorCodeResourceNotFoundError,
9462		BatchItemErrorCodeThrottlingError,
9463		BatchItemErrorCodeValidationError,
9464	}
9465}
9466
9467const (
9468	// IntendedUseSingleUse is a IntendedUse enum value
9469	IntendedUseSingleUse = "SingleUse"
9470
9471	// IntendedUseStorage is a IntendedUse enum value
9472	IntendedUseStorage = "Storage"
9473)
9474
9475// IntendedUse_Values returns all elements of the IntendedUse enum
9476func IntendedUse_Values() []string {
9477	return []string{
9478		IntendedUseSingleUse,
9479		IntendedUseStorage,
9480	}
9481}
9482
9483const (
9484	// PricingPlanRequestBasedUsage is a PricingPlan enum value
9485	PricingPlanRequestBasedUsage = "RequestBasedUsage"
9486
9487	// PricingPlanMobileAssetTracking is a PricingPlan enum value
9488	PricingPlanMobileAssetTracking = "MobileAssetTracking"
9489
9490	// PricingPlanMobileAssetManagement is a PricingPlan enum value
9491	PricingPlanMobileAssetManagement = "MobileAssetManagement"
9492)
9493
9494// PricingPlan_Values returns all elements of the PricingPlan enum
9495func PricingPlan_Values() []string {
9496	return []string{
9497		PricingPlanRequestBasedUsage,
9498		PricingPlanMobileAssetTracking,
9499		PricingPlanMobileAssetManagement,
9500	}
9501}
9502
9503const (
9504	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
9505	ValidationExceptionReasonUnknownOperation = "UnknownOperation"
9506
9507	// ValidationExceptionReasonMissing is a ValidationExceptionReason enum value
9508	ValidationExceptionReasonMissing = "Missing"
9509
9510	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
9511	ValidationExceptionReasonCannotParse = "CannotParse"
9512
9513	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
9514	ValidationExceptionReasonFieldValidationFailed = "FieldValidationFailed"
9515
9516	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
9517	ValidationExceptionReasonOther = "Other"
9518)
9519
9520// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
9521func ValidationExceptionReason_Values() []string {
9522	return []string{
9523		ValidationExceptionReasonUnknownOperation,
9524		ValidationExceptionReasonMissing,
9525		ValidationExceptionReasonCannotParse,
9526		ValidationExceptionReasonFieldValidationFailed,
9527		ValidationExceptionReasonOther,
9528	}
9529}
9530