1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package iotwireless
4
5import (
6	"fmt"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12	"github.com/aws/aws-sdk-go/private/protocol/restjson"
13)
14
15const opAssociateAwsAccountWithPartnerAccount = "AssociateAwsAccountWithPartnerAccount"
16
17// AssociateAwsAccountWithPartnerAccountRequest generates a "aws/request.Request" representing the
18// client's request for the AssociateAwsAccountWithPartnerAccount operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See AssociateAwsAccountWithPartnerAccount for more information on using the AssociateAwsAccountWithPartnerAccount
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the AssociateAwsAccountWithPartnerAccountRequest method.
33//    req, resp := client.AssociateAwsAccountWithPartnerAccountRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/AssociateAwsAccountWithPartnerAccount
41func (c *IoTWireless) AssociateAwsAccountWithPartnerAccountRequest(input *AssociateAwsAccountWithPartnerAccountInput) (req *request.Request, output *AssociateAwsAccountWithPartnerAccountOutput) {
42	op := &request.Operation{
43		Name:       opAssociateAwsAccountWithPartnerAccount,
44		HTTPMethod: "POST",
45		HTTPPath:   "/partner-accounts",
46	}
47
48	if input == nil {
49		input = &AssociateAwsAccountWithPartnerAccountInput{}
50	}
51
52	output = &AssociateAwsAccountWithPartnerAccountOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// AssociateAwsAccountWithPartnerAccount API operation for AWS IoT Wireless.
58//
59// Associates a partner account with your AWS account.
60//
61// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
62// with awserr.Error's Code and Message methods to get detailed information about
63// the error.
64//
65// See the AWS API reference guide for AWS IoT Wireless's
66// API operation AssociateAwsAccountWithPartnerAccount for usage and error information.
67//
68// Returned Error Types:
69//   * ValidationException
70//   The input did not meet the specified constraints.
71//
72//   * ResourceNotFoundException
73//   Resource does not exist.
74//
75//   * InternalServerException
76//   An unexpected error occurred while processing a request.
77//
78//   * ThrottlingException
79//   The request was denied because it exceeded the allowed API request rate.
80//
81//   * ConflictException
82//   Adding, updating, or deleting the resource can cause an inconsistent state.
83//
84//   * AccessDeniedException
85//   User does not have permission to perform this action.
86//
87// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/AssociateAwsAccountWithPartnerAccount
88func (c *IoTWireless) AssociateAwsAccountWithPartnerAccount(input *AssociateAwsAccountWithPartnerAccountInput) (*AssociateAwsAccountWithPartnerAccountOutput, error) {
89	req, out := c.AssociateAwsAccountWithPartnerAccountRequest(input)
90	return out, req.Send()
91}
92
93// AssociateAwsAccountWithPartnerAccountWithContext is the same as AssociateAwsAccountWithPartnerAccount with the addition of
94// the ability to pass a context and additional request options.
95//
96// See AssociateAwsAccountWithPartnerAccount for details on how to use this API operation.
97//
98// The context must be non-nil and will be used for request cancellation. If
99// the context is nil a panic will occur. In the future the SDK may create
100// sub-contexts for http.Requests. See https://golang.org/pkg/context/
101// for more information on using Contexts.
102func (c *IoTWireless) AssociateAwsAccountWithPartnerAccountWithContext(ctx aws.Context, input *AssociateAwsAccountWithPartnerAccountInput, opts ...request.Option) (*AssociateAwsAccountWithPartnerAccountOutput, error) {
103	req, out := c.AssociateAwsAccountWithPartnerAccountRequest(input)
104	req.SetContext(ctx)
105	req.ApplyOptions(opts...)
106	return out, req.Send()
107}
108
109const opAssociateWirelessDeviceWithThing = "AssociateWirelessDeviceWithThing"
110
111// AssociateWirelessDeviceWithThingRequest generates a "aws/request.Request" representing the
112// client's request for the AssociateWirelessDeviceWithThing operation. The "output" return
113// value will be populated with the request's response once the request completes
114// successfully.
115//
116// Use "Send" method on the returned Request to send the API call to the service.
117// the "output" return value is not valid until after Send returns without error.
118//
119// See AssociateWirelessDeviceWithThing for more information on using the AssociateWirelessDeviceWithThing
120// API call, and error handling.
121//
122// This method is useful when you want to inject custom logic or configuration
123// into the SDK's request lifecycle. Such as custom headers, or retry logic.
124//
125//
126//    // Example sending a request using the AssociateWirelessDeviceWithThingRequest method.
127//    req, resp := client.AssociateWirelessDeviceWithThingRequest(params)
128//
129//    err := req.Send()
130//    if err == nil { // resp is now filled
131//        fmt.Println(resp)
132//    }
133//
134// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/AssociateWirelessDeviceWithThing
135func (c *IoTWireless) AssociateWirelessDeviceWithThingRequest(input *AssociateWirelessDeviceWithThingInput) (req *request.Request, output *AssociateWirelessDeviceWithThingOutput) {
136	op := &request.Operation{
137		Name:       opAssociateWirelessDeviceWithThing,
138		HTTPMethod: "PUT",
139		HTTPPath:   "/wireless-devices/{Id}/thing",
140	}
141
142	if input == nil {
143		input = &AssociateWirelessDeviceWithThingInput{}
144	}
145
146	output = &AssociateWirelessDeviceWithThingOutput{}
147	req = c.newRequest(op, input, output)
148	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
149	return
150}
151
152// AssociateWirelessDeviceWithThing API operation for AWS IoT Wireless.
153//
154// Associates a wireless device with a thing.
155//
156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
157// with awserr.Error's Code and Message methods to get detailed information about
158// the error.
159//
160// See the AWS API reference guide for AWS IoT Wireless's
161// API operation AssociateWirelessDeviceWithThing for usage and error information.
162//
163// Returned Error Types:
164//   * ValidationException
165//   The input did not meet the specified constraints.
166//
167//   * AccessDeniedException
168//   User does not have permission to perform this action.
169//
170//   * ResourceNotFoundException
171//   Resource does not exist.
172//
173//   * ConflictException
174//   Adding, updating, or deleting the resource can cause an inconsistent state.
175//
176//   * ThrottlingException
177//   The request was denied because it exceeded the allowed API request rate.
178//
179//   * InternalServerException
180//   An unexpected error occurred while processing a request.
181//
182// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/AssociateWirelessDeviceWithThing
183func (c *IoTWireless) AssociateWirelessDeviceWithThing(input *AssociateWirelessDeviceWithThingInput) (*AssociateWirelessDeviceWithThingOutput, error) {
184	req, out := c.AssociateWirelessDeviceWithThingRequest(input)
185	return out, req.Send()
186}
187
188// AssociateWirelessDeviceWithThingWithContext is the same as AssociateWirelessDeviceWithThing with the addition of
189// the ability to pass a context and additional request options.
190//
191// See AssociateWirelessDeviceWithThing for details on how to use this API operation.
192//
193// The context must be non-nil and will be used for request cancellation. If
194// the context is nil a panic will occur. In the future the SDK may create
195// sub-contexts for http.Requests. See https://golang.org/pkg/context/
196// for more information on using Contexts.
197func (c *IoTWireless) AssociateWirelessDeviceWithThingWithContext(ctx aws.Context, input *AssociateWirelessDeviceWithThingInput, opts ...request.Option) (*AssociateWirelessDeviceWithThingOutput, error) {
198	req, out := c.AssociateWirelessDeviceWithThingRequest(input)
199	req.SetContext(ctx)
200	req.ApplyOptions(opts...)
201	return out, req.Send()
202}
203
204const opAssociateWirelessGatewayWithCertificate = "AssociateWirelessGatewayWithCertificate"
205
206// AssociateWirelessGatewayWithCertificateRequest generates a "aws/request.Request" representing the
207// client's request for the AssociateWirelessGatewayWithCertificate operation. The "output" return
208// value will be populated with the request's response once the request completes
209// successfully.
210//
211// Use "Send" method on the returned Request to send the API call to the service.
212// the "output" return value is not valid until after Send returns without error.
213//
214// See AssociateWirelessGatewayWithCertificate for more information on using the AssociateWirelessGatewayWithCertificate
215// API call, and error handling.
216//
217// This method is useful when you want to inject custom logic or configuration
218// into the SDK's request lifecycle. Such as custom headers, or retry logic.
219//
220//
221//    // Example sending a request using the AssociateWirelessGatewayWithCertificateRequest method.
222//    req, resp := client.AssociateWirelessGatewayWithCertificateRequest(params)
223//
224//    err := req.Send()
225//    if err == nil { // resp is now filled
226//        fmt.Println(resp)
227//    }
228//
229// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/AssociateWirelessGatewayWithCertificate
230func (c *IoTWireless) AssociateWirelessGatewayWithCertificateRequest(input *AssociateWirelessGatewayWithCertificateInput) (req *request.Request, output *AssociateWirelessGatewayWithCertificateOutput) {
231	op := &request.Operation{
232		Name:       opAssociateWirelessGatewayWithCertificate,
233		HTTPMethod: "PUT",
234		HTTPPath:   "/wireless-gateways/{Id}/certificate",
235	}
236
237	if input == nil {
238		input = &AssociateWirelessGatewayWithCertificateInput{}
239	}
240
241	output = &AssociateWirelessGatewayWithCertificateOutput{}
242	req = c.newRequest(op, input, output)
243	return
244}
245
246// AssociateWirelessGatewayWithCertificate API operation for AWS IoT Wireless.
247//
248// Associates a wireless gateway with a certificate.
249//
250// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
251// with awserr.Error's Code and Message methods to get detailed information about
252// the error.
253//
254// See the AWS API reference guide for AWS IoT Wireless's
255// API operation AssociateWirelessGatewayWithCertificate for usage and error information.
256//
257// Returned Error Types:
258//   * ValidationException
259//   The input did not meet the specified constraints.
260//
261//   * AccessDeniedException
262//   User does not have permission to perform this action.
263//
264//   * ResourceNotFoundException
265//   Resource does not exist.
266//
267//   * ConflictException
268//   Adding, updating, or deleting the resource can cause an inconsistent state.
269//
270//   * InternalServerException
271//   An unexpected error occurred while processing a request.
272//
273//   * ThrottlingException
274//   The request was denied because it exceeded the allowed API request rate.
275//
276// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/AssociateWirelessGatewayWithCertificate
277func (c *IoTWireless) AssociateWirelessGatewayWithCertificate(input *AssociateWirelessGatewayWithCertificateInput) (*AssociateWirelessGatewayWithCertificateOutput, error) {
278	req, out := c.AssociateWirelessGatewayWithCertificateRequest(input)
279	return out, req.Send()
280}
281
282// AssociateWirelessGatewayWithCertificateWithContext is the same as AssociateWirelessGatewayWithCertificate with the addition of
283// the ability to pass a context and additional request options.
284//
285// See AssociateWirelessGatewayWithCertificate for details on how to use this API operation.
286//
287// The context must be non-nil and will be used for request cancellation. If
288// the context is nil a panic will occur. In the future the SDK may create
289// sub-contexts for http.Requests. See https://golang.org/pkg/context/
290// for more information on using Contexts.
291func (c *IoTWireless) AssociateWirelessGatewayWithCertificateWithContext(ctx aws.Context, input *AssociateWirelessGatewayWithCertificateInput, opts ...request.Option) (*AssociateWirelessGatewayWithCertificateOutput, error) {
292	req, out := c.AssociateWirelessGatewayWithCertificateRequest(input)
293	req.SetContext(ctx)
294	req.ApplyOptions(opts...)
295	return out, req.Send()
296}
297
298const opAssociateWirelessGatewayWithThing = "AssociateWirelessGatewayWithThing"
299
300// AssociateWirelessGatewayWithThingRequest generates a "aws/request.Request" representing the
301// client's request for the AssociateWirelessGatewayWithThing operation. The "output" return
302// value will be populated with the request's response once the request completes
303// successfully.
304//
305// Use "Send" method on the returned Request to send the API call to the service.
306// the "output" return value is not valid until after Send returns without error.
307//
308// See AssociateWirelessGatewayWithThing for more information on using the AssociateWirelessGatewayWithThing
309// API call, and error handling.
310//
311// This method is useful when you want to inject custom logic or configuration
312// into the SDK's request lifecycle. Such as custom headers, or retry logic.
313//
314//
315//    // Example sending a request using the AssociateWirelessGatewayWithThingRequest method.
316//    req, resp := client.AssociateWirelessGatewayWithThingRequest(params)
317//
318//    err := req.Send()
319//    if err == nil { // resp is now filled
320//        fmt.Println(resp)
321//    }
322//
323// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/AssociateWirelessGatewayWithThing
324func (c *IoTWireless) AssociateWirelessGatewayWithThingRequest(input *AssociateWirelessGatewayWithThingInput) (req *request.Request, output *AssociateWirelessGatewayWithThingOutput) {
325	op := &request.Operation{
326		Name:       opAssociateWirelessGatewayWithThing,
327		HTTPMethod: "PUT",
328		HTTPPath:   "/wireless-gateways/{Id}/thing",
329	}
330
331	if input == nil {
332		input = &AssociateWirelessGatewayWithThingInput{}
333	}
334
335	output = &AssociateWirelessGatewayWithThingOutput{}
336	req = c.newRequest(op, input, output)
337	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
338	return
339}
340
341// AssociateWirelessGatewayWithThing API operation for AWS IoT Wireless.
342//
343// Associates a wireless gateway with a thing.
344//
345// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
346// with awserr.Error's Code and Message methods to get detailed information about
347// the error.
348//
349// See the AWS API reference guide for AWS IoT Wireless's
350// API operation AssociateWirelessGatewayWithThing for usage and error information.
351//
352// Returned Error Types:
353//   * ValidationException
354//   The input did not meet the specified constraints.
355//
356//   * ResourceNotFoundException
357//   Resource does not exist.
358//
359//   * AccessDeniedException
360//   User does not have permission to perform this action.
361//
362//   * ConflictException
363//   Adding, updating, or deleting the resource can cause an inconsistent state.
364//
365//   * ThrottlingException
366//   The request was denied because it exceeded the allowed API request rate.
367//
368//   * InternalServerException
369//   An unexpected error occurred while processing a request.
370//
371// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/AssociateWirelessGatewayWithThing
372func (c *IoTWireless) AssociateWirelessGatewayWithThing(input *AssociateWirelessGatewayWithThingInput) (*AssociateWirelessGatewayWithThingOutput, error) {
373	req, out := c.AssociateWirelessGatewayWithThingRequest(input)
374	return out, req.Send()
375}
376
377// AssociateWirelessGatewayWithThingWithContext is the same as AssociateWirelessGatewayWithThing with the addition of
378// the ability to pass a context and additional request options.
379//
380// See AssociateWirelessGatewayWithThing for details on how to use this API operation.
381//
382// The context must be non-nil and will be used for request cancellation. If
383// the context is nil a panic will occur. In the future the SDK may create
384// sub-contexts for http.Requests. See https://golang.org/pkg/context/
385// for more information on using Contexts.
386func (c *IoTWireless) AssociateWirelessGatewayWithThingWithContext(ctx aws.Context, input *AssociateWirelessGatewayWithThingInput, opts ...request.Option) (*AssociateWirelessGatewayWithThingOutput, error) {
387	req, out := c.AssociateWirelessGatewayWithThingRequest(input)
388	req.SetContext(ctx)
389	req.ApplyOptions(opts...)
390	return out, req.Send()
391}
392
393const opCreateDestination = "CreateDestination"
394
395// CreateDestinationRequest generates a "aws/request.Request" representing the
396// client's request for the CreateDestination operation. The "output" return
397// value will be populated with the request's response once the request completes
398// successfully.
399//
400// Use "Send" method on the returned Request to send the API call to the service.
401// the "output" return value is not valid until after Send returns without error.
402//
403// See CreateDestination for more information on using the CreateDestination
404// API call, and error handling.
405//
406// This method is useful when you want to inject custom logic or configuration
407// into the SDK's request lifecycle. Such as custom headers, or retry logic.
408//
409//
410//    // Example sending a request using the CreateDestinationRequest method.
411//    req, resp := client.CreateDestinationRequest(params)
412//
413//    err := req.Send()
414//    if err == nil { // resp is now filled
415//        fmt.Println(resp)
416//    }
417//
418// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateDestination
419func (c *IoTWireless) CreateDestinationRequest(input *CreateDestinationInput) (req *request.Request, output *CreateDestinationOutput) {
420	op := &request.Operation{
421		Name:       opCreateDestination,
422		HTTPMethod: "POST",
423		HTTPPath:   "/destinations",
424	}
425
426	if input == nil {
427		input = &CreateDestinationInput{}
428	}
429
430	output = &CreateDestinationOutput{}
431	req = c.newRequest(op, input, output)
432	return
433}
434
435// CreateDestination API operation for AWS IoT Wireless.
436//
437// Creates a new destination that maps a device message to an AWS IoT rule.
438//
439// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
440// with awserr.Error's Code and Message methods to get detailed information about
441// the error.
442//
443// See the AWS API reference guide for AWS IoT Wireless's
444// API operation CreateDestination for usage and error information.
445//
446// Returned Error Types:
447//   * ValidationException
448//   The input did not meet the specified constraints.
449//
450//   * ResourceNotFoundException
451//   Resource does not exist.
452//
453//   * AccessDeniedException
454//   User does not have permission to perform this action.
455//
456//   * ConflictException
457//   Adding, updating, or deleting the resource can cause an inconsistent state.
458//
459//   * InternalServerException
460//   An unexpected error occurred while processing a request.
461//
462//   * ThrottlingException
463//   The request was denied because it exceeded the allowed API request rate.
464//
465// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateDestination
466func (c *IoTWireless) CreateDestination(input *CreateDestinationInput) (*CreateDestinationOutput, error) {
467	req, out := c.CreateDestinationRequest(input)
468	return out, req.Send()
469}
470
471// CreateDestinationWithContext is the same as CreateDestination with the addition of
472// the ability to pass a context and additional request options.
473//
474// See CreateDestination for details on how to use this API operation.
475//
476// The context must be non-nil and will be used for request cancellation. If
477// the context is nil a panic will occur. In the future the SDK may create
478// sub-contexts for http.Requests. See https://golang.org/pkg/context/
479// for more information on using Contexts.
480func (c *IoTWireless) CreateDestinationWithContext(ctx aws.Context, input *CreateDestinationInput, opts ...request.Option) (*CreateDestinationOutput, error) {
481	req, out := c.CreateDestinationRequest(input)
482	req.SetContext(ctx)
483	req.ApplyOptions(opts...)
484	return out, req.Send()
485}
486
487const opCreateDeviceProfile = "CreateDeviceProfile"
488
489// CreateDeviceProfileRequest generates a "aws/request.Request" representing the
490// client's request for the CreateDeviceProfile operation. The "output" return
491// value will be populated with the request's response once the request completes
492// successfully.
493//
494// Use "Send" method on the returned Request to send the API call to the service.
495// the "output" return value is not valid until after Send returns without error.
496//
497// See CreateDeviceProfile for more information on using the CreateDeviceProfile
498// API call, and error handling.
499//
500// This method is useful when you want to inject custom logic or configuration
501// into the SDK's request lifecycle. Such as custom headers, or retry logic.
502//
503//
504//    // Example sending a request using the CreateDeviceProfileRequest method.
505//    req, resp := client.CreateDeviceProfileRequest(params)
506//
507//    err := req.Send()
508//    if err == nil { // resp is now filled
509//        fmt.Println(resp)
510//    }
511//
512// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateDeviceProfile
513func (c *IoTWireless) CreateDeviceProfileRequest(input *CreateDeviceProfileInput) (req *request.Request, output *CreateDeviceProfileOutput) {
514	op := &request.Operation{
515		Name:       opCreateDeviceProfile,
516		HTTPMethod: "POST",
517		HTTPPath:   "/device-profiles",
518	}
519
520	if input == nil {
521		input = &CreateDeviceProfileInput{}
522	}
523
524	output = &CreateDeviceProfileOutput{}
525	req = c.newRequest(op, input, output)
526	return
527}
528
529// CreateDeviceProfile API operation for AWS IoT Wireless.
530//
531// Creates a new device profile.
532//
533// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
534// with awserr.Error's Code and Message methods to get detailed information about
535// the error.
536//
537// See the AWS API reference guide for AWS IoT Wireless's
538// API operation CreateDeviceProfile for usage and error information.
539//
540// Returned Error Types:
541//   * ValidationException
542//   The input did not meet the specified constraints.
543//
544//   * AccessDeniedException
545//   User does not have permission to perform this action.
546//
547//   * ConflictException
548//   Adding, updating, or deleting the resource can cause an inconsistent state.
549//
550//   * InternalServerException
551//   An unexpected error occurred while processing a request.
552//
553//   * ThrottlingException
554//   The request was denied because it exceeded the allowed API request rate.
555//
556// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateDeviceProfile
557func (c *IoTWireless) CreateDeviceProfile(input *CreateDeviceProfileInput) (*CreateDeviceProfileOutput, error) {
558	req, out := c.CreateDeviceProfileRequest(input)
559	return out, req.Send()
560}
561
562// CreateDeviceProfileWithContext is the same as CreateDeviceProfile with the addition of
563// the ability to pass a context and additional request options.
564//
565// See CreateDeviceProfile for details on how to use this API operation.
566//
567// The context must be non-nil and will be used for request cancellation. If
568// the context is nil a panic will occur. In the future the SDK may create
569// sub-contexts for http.Requests. See https://golang.org/pkg/context/
570// for more information on using Contexts.
571func (c *IoTWireless) CreateDeviceProfileWithContext(ctx aws.Context, input *CreateDeviceProfileInput, opts ...request.Option) (*CreateDeviceProfileOutput, error) {
572	req, out := c.CreateDeviceProfileRequest(input)
573	req.SetContext(ctx)
574	req.ApplyOptions(opts...)
575	return out, req.Send()
576}
577
578const opCreateServiceProfile = "CreateServiceProfile"
579
580// CreateServiceProfileRequest generates a "aws/request.Request" representing the
581// client's request for the CreateServiceProfile operation. The "output" return
582// value will be populated with the request's response once the request completes
583// successfully.
584//
585// Use "Send" method on the returned Request to send the API call to the service.
586// the "output" return value is not valid until after Send returns without error.
587//
588// See CreateServiceProfile for more information on using the CreateServiceProfile
589// API call, and error handling.
590//
591// This method is useful when you want to inject custom logic or configuration
592// into the SDK's request lifecycle. Such as custom headers, or retry logic.
593//
594//
595//    // Example sending a request using the CreateServiceProfileRequest method.
596//    req, resp := client.CreateServiceProfileRequest(params)
597//
598//    err := req.Send()
599//    if err == nil { // resp is now filled
600//        fmt.Println(resp)
601//    }
602//
603// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateServiceProfile
604func (c *IoTWireless) CreateServiceProfileRequest(input *CreateServiceProfileInput) (req *request.Request, output *CreateServiceProfileOutput) {
605	op := &request.Operation{
606		Name:       opCreateServiceProfile,
607		HTTPMethod: "POST",
608		HTTPPath:   "/service-profiles",
609	}
610
611	if input == nil {
612		input = &CreateServiceProfileInput{}
613	}
614
615	output = &CreateServiceProfileOutput{}
616	req = c.newRequest(op, input, output)
617	return
618}
619
620// CreateServiceProfile API operation for AWS IoT Wireless.
621//
622// Creates a new service profile.
623//
624// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
625// with awserr.Error's Code and Message methods to get detailed information about
626// the error.
627//
628// See the AWS API reference guide for AWS IoT Wireless's
629// API operation CreateServiceProfile for usage and error information.
630//
631// Returned Error Types:
632//   * ValidationException
633//   The input did not meet the specified constraints.
634//
635//   * AccessDeniedException
636//   User does not have permission to perform this action.
637//
638//   * ConflictException
639//   Adding, updating, or deleting the resource can cause an inconsistent state.
640//
641//   * InternalServerException
642//   An unexpected error occurred while processing a request.
643//
644//   * ThrottlingException
645//   The request was denied because it exceeded the allowed API request rate.
646//
647// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateServiceProfile
648func (c *IoTWireless) CreateServiceProfile(input *CreateServiceProfileInput) (*CreateServiceProfileOutput, error) {
649	req, out := c.CreateServiceProfileRequest(input)
650	return out, req.Send()
651}
652
653// CreateServiceProfileWithContext is the same as CreateServiceProfile with the addition of
654// the ability to pass a context and additional request options.
655//
656// See CreateServiceProfile for details on how to use this API operation.
657//
658// The context must be non-nil and will be used for request cancellation. If
659// the context is nil a panic will occur. In the future the SDK may create
660// sub-contexts for http.Requests. See https://golang.org/pkg/context/
661// for more information on using Contexts.
662func (c *IoTWireless) CreateServiceProfileWithContext(ctx aws.Context, input *CreateServiceProfileInput, opts ...request.Option) (*CreateServiceProfileOutput, error) {
663	req, out := c.CreateServiceProfileRequest(input)
664	req.SetContext(ctx)
665	req.ApplyOptions(opts...)
666	return out, req.Send()
667}
668
669const opCreateWirelessDevice = "CreateWirelessDevice"
670
671// CreateWirelessDeviceRequest generates a "aws/request.Request" representing the
672// client's request for the CreateWirelessDevice operation. The "output" return
673// value will be populated with the request's response once the request completes
674// successfully.
675//
676// Use "Send" method on the returned Request to send the API call to the service.
677// the "output" return value is not valid until after Send returns without error.
678//
679// See CreateWirelessDevice for more information on using the CreateWirelessDevice
680// API call, and error handling.
681//
682// This method is useful when you want to inject custom logic or configuration
683// into the SDK's request lifecycle. Such as custom headers, or retry logic.
684//
685//
686//    // Example sending a request using the CreateWirelessDeviceRequest method.
687//    req, resp := client.CreateWirelessDeviceRequest(params)
688//
689//    err := req.Send()
690//    if err == nil { // resp is now filled
691//        fmt.Println(resp)
692//    }
693//
694// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateWirelessDevice
695func (c *IoTWireless) CreateWirelessDeviceRequest(input *CreateWirelessDeviceInput) (req *request.Request, output *CreateWirelessDeviceOutput) {
696	op := &request.Operation{
697		Name:       opCreateWirelessDevice,
698		HTTPMethod: "POST",
699		HTTPPath:   "/wireless-devices",
700	}
701
702	if input == nil {
703		input = &CreateWirelessDeviceInput{}
704	}
705
706	output = &CreateWirelessDeviceOutput{}
707	req = c.newRequest(op, input, output)
708	return
709}
710
711// CreateWirelessDevice API operation for AWS IoT Wireless.
712//
713// Provisions a wireless device.
714//
715// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
716// with awserr.Error's Code and Message methods to get detailed information about
717// the error.
718//
719// See the AWS API reference guide for AWS IoT Wireless's
720// API operation CreateWirelessDevice for usage and error information.
721//
722// Returned Error Types:
723//   * ValidationException
724//   The input did not meet the specified constraints.
725//
726//   * ResourceNotFoundException
727//   Resource does not exist.
728//
729//   * AccessDeniedException
730//   User does not have permission to perform this action.
731//
732//   * ConflictException
733//   Adding, updating, or deleting the resource can cause an inconsistent state.
734//
735//   * InternalServerException
736//   An unexpected error occurred while processing a request.
737//
738//   * ThrottlingException
739//   The request was denied because it exceeded the allowed API request rate.
740//
741// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateWirelessDevice
742func (c *IoTWireless) CreateWirelessDevice(input *CreateWirelessDeviceInput) (*CreateWirelessDeviceOutput, error) {
743	req, out := c.CreateWirelessDeviceRequest(input)
744	return out, req.Send()
745}
746
747// CreateWirelessDeviceWithContext is the same as CreateWirelessDevice with the addition of
748// the ability to pass a context and additional request options.
749//
750// See CreateWirelessDevice for details on how to use this API operation.
751//
752// The context must be non-nil and will be used for request cancellation. If
753// the context is nil a panic will occur. In the future the SDK may create
754// sub-contexts for http.Requests. See https://golang.org/pkg/context/
755// for more information on using Contexts.
756func (c *IoTWireless) CreateWirelessDeviceWithContext(ctx aws.Context, input *CreateWirelessDeviceInput, opts ...request.Option) (*CreateWirelessDeviceOutput, error) {
757	req, out := c.CreateWirelessDeviceRequest(input)
758	req.SetContext(ctx)
759	req.ApplyOptions(opts...)
760	return out, req.Send()
761}
762
763const opCreateWirelessGateway = "CreateWirelessGateway"
764
765// CreateWirelessGatewayRequest generates a "aws/request.Request" representing the
766// client's request for the CreateWirelessGateway operation. The "output" return
767// value will be populated with the request's response once the request completes
768// successfully.
769//
770// Use "Send" method on the returned Request to send the API call to the service.
771// the "output" return value is not valid until after Send returns without error.
772//
773// See CreateWirelessGateway for more information on using the CreateWirelessGateway
774// API call, and error handling.
775//
776// This method is useful when you want to inject custom logic or configuration
777// into the SDK's request lifecycle. Such as custom headers, or retry logic.
778//
779//
780//    // Example sending a request using the CreateWirelessGatewayRequest method.
781//    req, resp := client.CreateWirelessGatewayRequest(params)
782//
783//    err := req.Send()
784//    if err == nil { // resp is now filled
785//        fmt.Println(resp)
786//    }
787//
788// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateWirelessGateway
789func (c *IoTWireless) CreateWirelessGatewayRequest(input *CreateWirelessGatewayInput) (req *request.Request, output *CreateWirelessGatewayOutput) {
790	op := &request.Operation{
791		Name:       opCreateWirelessGateway,
792		HTTPMethod: "POST",
793		HTTPPath:   "/wireless-gateways",
794	}
795
796	if input == nil {
797		input = &CreateWirelessGatewayInput{}
798	}
799
800	output = &CreateWirelessGatewayOutput{}
801	req = c.newRequest(op, input, output)
802	return
803}
804
805// CreateWirelessGateway API operation for AWS IoT Wireless.
806//
807// Provisions a wireless gateway.
808//
809// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
810// with awserr.Error's Code and Message methods to get detailed information about
811// the error.
812//
813// See the AWS API reference guide for AWS IoT Wireless's
814// API operation CreateWirelessGateway for usage and error information.
815//
816// Returned Error Types:
817//   * ValidationException
818//   The input did not meet the specified constraints.
819//
820//   * AccessDeniedException
821//   User does not have permission to perform this action.
822//
823//   * ConflictException
824//   Adding, updating, or deleting the resource can cause an inconsistent state.
825//
826//   * InternalServerException
827//   An unexpected error occurred while processing a request.
828//
829//   * ThrottlingException
830//   The request was denied because it exceeded the allowed API request rate.
831//
832// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateWirelessGateway
833func (c *IoTWireless) CreateWirelessGateway(input *CreateWirelessGatewayInput) (*CreateWirelessGatewayOutput, error) {
834	req, out := c.CreateWirelessGatewayRequest(input)
835	return out, req.Send()
836}
837
838// CreateWirelessGatewayWithContext is the same as CreateWirelessGateway with the addition of
839// the ability to pass a context and additional request options.
840//
841// See CreateWirelessGateway for details on how to use this API operation.
842//
843// The context must be non-nil and will be used for request cancellation. If
844// the context is nil a panic will occur. In the future the SDK may create
845// sub-contexts for http.Requests. See https://golang.org/pkg/context/
846// for more information on using Contexts.
847func (c *IoTWireless) CreateWirelessGatewayWithContext(ctx aws.Context, input *CreateWirelessGatewayInput, opts ...request.Option) (*CreateWirelessGatewayOutput, error) {
848	req, out := c.CreateWirelessGatewayRequest(input)
849	req.SetContext(ctx)
850	req.ApplyOptions(opts...)
851	return out, req.Send()
852}
853
854const opCreateWirelessGatewayTask = "CreateWirelessGatewayTask"
855
856// CreateWirelessGatewayTaskRequest generates a "aws/request.Request" representing the
857// client's request for the CreateWirelessGatewayTask operation. The "output" return
858// value will be populated with the request's response once the request completes
859// successfully.
860//
861// Use "Send" method on the returned Request to send the API call to the service.
862// the "output" return value is not valid until after Send returns without error.
863//
864// See CreateWirelessGatewayTask for more information on using the CreateWirelessGatewayTask
865// API call, and error handling.
866//
867// This method is useful when you want to inject custom logic or configuration
868// into the SDK's request lifecycle. Such as custom headers, or retry logic.
869//
870//
871//    // Example sending a request using the CreateWirelessGatewayTaskRequest method.
872//    req, resp := client.CreateWirelessGatewayTaskRequest(params)
873//
874//    err := req.Send()
875//    if err == nil { // resp is now filled
876//        fmt.Println(resp)
877//    }
878//
879// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateWirelessGatewayTask
880func (c *IoTWireless) CreateWirelessGatewayTaskRequest(input *CreateWirelessGatewayTaskInput) (req *request.Request, output *CreateWirelessGatewayTaskOutput) {
881	op := &request.Operation{
882		Name:       opCreateWirelessGatewayTask,
883		HTTPMethod: "POST",
884		HTTPPath:   "/wireless-gateways/{Id}/tasks",
885	}
886
887	if input == nil {
888		input = &CreateWirelessGatewayTaskInput{}
889	}
890
891	output = &CreateWirelessGatewayTaskOutput{}
892	req = c.newRequest(op, input, output)
893	return
894}
895
896// CreateWirelessGatewayTask API operation for AWS IoT Wireless.
897//
898// Creates a task for a wireless gateway.
899//
900// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
901// with awserr.Error's Code and Message methods to get detailed information about
902// the error.
903//
904// See the AWS API reference guide for AWS IoT Wireless's
905// API operation CreateWirelessGatewayTask for usage and error information.
906//
907// Returned Error Types:
908//   * ValidationException
909//   The input did not meet the specified constraints.
910//
911//   * AccessDeniedException
912//   User does not have permission to perform this action.
913//
914//   * ResourceNotFoundException
915//   Resource does not exist.
916//
917//   * ConflictException
918//   Adding, updating, or deleting the resource can cause an inconsistent state.
919//
920//   * InternalServerException
921//   An unexpected error occurred while processing a request.
922//
923//   * ThrottlingException
924//   The request was denied because it exceeded the allowed API request rate.
925//
926// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateWirelessGatewayTask
927func (c *IoTWireless) CreateWirelessGatewayTask(input *CreateWirelessGatewayTaskInput) (*CreateWirelessGatewayTaskOutput, error) {
928	req, out := c.CreateWirelessGatewayTaskRequest(input)
929	return out, req.Send()
930}
931
932// CreateWirelessGatewayTaskWithContext is the same as CreateWirelessGatewayTask with the addition of
933// the ability to pass a context and additional request options.
934//
935// See CreateWirelessGatewayTask for details on how to use this API operation.
936//
937// The context must be non-nil and will be used for request cancellation. If
938// the context is nil a panic will occur. In the future the SDK may create
939// sub-contexts for http.Requests. See https://golang.org/pkg/context/
940// for more information on using Contexts.
941func (c *IoTWireless) CreateWirelessGatewayTaskWithContext(ctx aws.Context, input *CreateWirelessGatewayTaskInput, opts ...request.Option) (*CreateWirelessGatewayTaskOutput, error) {
942	req, out := c.CreateWirelessGatewayTaskRequest(input)
943	req.SetContext(ctx)
944	req.ApplyOptions(opts...)
945	return out, req.Send()
946}
947
948const opCreateWirelessGatewayTaskDefinition = "CreateWirelessGatewayTaskDefinition"
949
950// CreateWirelessGatewayTaskDefinitionRequest generates a "aws/request.Request" representing the
951// client's request for the CreateWirelessGatewayTaskDefinition operation. The "output" return
952// value will be populated with the request's response once the request completes
953// successfully.
954//
955// Use "Send" method on the returned Request to send the API call to the service.
956// the "output" return value is not valid until after Send returns without error.
957//
958// See CreateWirelessGatewayTaskDefinition for more information on using the CreateWirelessGatewayTaskDefinition
959// API call, and error handling.
960//
961// This method is useful when you want to inject custom logic or configuration
962// into the SDK's request lifecycle. Such as custom headers, or retry logic.
963//
964//
965//    // Example sending a request using the CreateWirelessGatewayTaskDefinitionRequest method.
966//    req, resp := client.CreateWirelessGatewayTaskDefinitionRequest(params)
967//
968//    err := req.Send()
969//    if err == nil { // resp is now filled
970//        fmt.Println(resp)
971//    }
972//
973// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateWirelessGatewayTaskDefinition
974func (c *IoTWireless) CreateWirelessGatewayTaskDefinitionRequest(input *CreateWirelessGatewayTaskDefinitionInput) (req *request.Request, output *CreateWirelessGatewayTaskDefinitionOutput) {
975	op := &request.Operation{
976		Name:       opCreateWirelessGatewayTaskDefinition,
977		HTTPMethod: "POST",
978		HTTPPath:   "/wireless-gateway-task-definitions",
979	}
980
981	if input == nil {
982		input = &CreateWirelessGatewayTaskDefinitionInput{}
983	}
984
985	output = &CreateWirelessGatewayTaskDefinitionOutput{}
986	req = c.newRequest(op, input, output)
987	return
988}
989
990// CreateWirelessGatewayTaskDefinition API operation for AWS IoT Wireless.
991//
992// Creates a gateway task definition.
993//
994// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
995// with awserr.Error's Code and Message methods to get detailed information about
996// the error.
997//
998// See the AWS API reference guide for AWS IoT Wireless's
999// API operation CreateWirelessGatewayTaskDefinition for usage and error information.
1000//
1001// Returned Error Types:
1002//   * ValidationException
1003//   The input did not meet the specified constraints.
1004//
1005//   * AccessDeniedException
1006//   User does not have permission to perform this action.
1007//
1008//   * ResourceNotFoundException
1009//   Resource does not exist.
1010//
1011//   * ConflictException
1012//   Adding, updating, or deleting the resource can cause an inconsistent state.
1013//
1014//   * InternalServerException
1015//   An unexpected error occurred while processing a request.
1016//
1017//   * ThrottlingException
1018//   The request was denied because it exceeded the allowed API request rate.
1019//
1020// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/CreateWirelessGatewayTaskDefinition
1021func (c *IoTWireless) CreateWirelessGatewayTaskDefinition(input *CreateWirelessGatewayTaskDefinitionInput) (*CreateWirelessGatewayTaskDefinitionOutput, error) {
1022	req, out := c.CreateWirelessGatewayTaskDefinitionRequest(input)
1023	return out, req.Send()
1024}
1025
1026// CreateWirelessGatewayTaskDefinitionWithContext is the same as CreateWirelessGatewayTaskDefinition with the addition of
1027// the ability to pass a context and additional request options.
1028//
1029// See CreateWirelessGatewayTaskDefinition for details on how to use this API operation.
1030//
1031// The context must be non-nil and will be used for request cancellation. If
1032// the context is nil a panic will occur. In the future the SDK may create
1033// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1034// for more information on using Contexts.
1035func (c *IoTWireless) CreateWirelessGatewayTaskDefinitionWithContext(ctx aws.Context, input *CreateWirelessGatewayTaskDefinitionInput, opts ...request.Option) (*CreateWirelessGatewayTaskDefinitionOutput, error) {
1036	req, out := c.CreateWirelessGatewayTaskDefinitionRequest(input)
1037	req.SetContext(ctx)
1038	req.ApplyOptions(opts...)
1039	return out, req.Send()
1040}
1041
1042const opDeleteDestination = "DeleteDestination"
1043
1044// DeleteDestinationRequest generates a "aws/request.Request" representing the
1045// client's request for the DeleteDestination operation. The "output" return
1046// value will be populated with the request's response once the request completes
1047// successfully.
1048//
1049// Use "Send" method on the returned Request to send the API call to the service.
1050// the "output" return value is not valid until after Send returns without error.
1051//
1052// See DeleteDestination for more information on using the DeleteDestination
1053// API call, and error handling.
1054//
1055// This method is useful when you want to inject custom logic or configuration
1056// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1057//
1058//
1059//    // Example sending a request using the DeleteDestinationRequest method.
1060//    req, resp := client.DeleteDestinationRequest(params)
1061//
1062//    err := req.Send()
1063//    if err == nil { // resp is now filled
1064//        fmt.Println(resp)
1065//    }
1066//
1067// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteDestination
1068func (c *IoTWireless) DeleteDestinationRequest(input *DeleteDestinationInput) (req *request.Request, output *DeleteDestinationOutput) {
1069	op := &request.Operation{
1070		Name:       opDeleteDestination,
1071		HTTPMethod: "DELETE",
1072		HTTPPath:   "/destinations/{Name}",
1073	}
1074
1075	if input == nil {
1076		input = &DeleteDestinationInput{}
1077	}
1078
1079	output = &DeleteDestinationOutput{}
1080	req = c.newRequest(op, input, output)
1081	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1082	return
1083}
1084
1085// DeleteDestination API operation for AWS IoT Wireless.
1086//
1087// Deletes a destination.
1088//
1089// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1090// with awserr.Error's Code and Message methods to get detailed information about
1091// the error.
1092//
1093// See the AWS API reference guide for AWS IoT Wireless's
1094// API operation DeleteDestination for usage and error information.
1095//
1096// Returned Error Types:
1097//   * ValidationException
1098//   The input did not meet the specified constraints.
1099//
1100//   * ResourceNotFoundException
1101//   Resource does not exist.
1102//
1103//   * AccessDeniedException
1104//   User does not have permission to perform this action.
1105//
1106//   * InternalServerException
1107//   An unexpected error occurred while processing a request.
1108//
1109//   * ConflictException
1110//   Adding, updating, or deleting the resource can cause an inconsistent state.
1111//
1112//   * ThrottlingException
1113//   The request was denied because it exceeded the allowed API request rate.
1114//
1115// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteDestination
1116func (c *IoTWireless) DeleteDestination(input *DeleteDestinationInput) (*DeleteDestinationOutput, error) {
1117	req, out := c.DeleteDestinationRequest(input)
1118	return out, req.Send()
1119}
1120
1121// DeleteDestinationWithContext is the same as DeleteDestination with the addition of
1122// the ability to pass a context and additional request options.
1123//
1124// See DeleteDestination for details on how to use this API operation.
1125//
1126// The context must be non-nil and will be used for request cancellation. If
1127// the context is nil a panic will occur. In the future the SDK may create
1128// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1129// for more information on using Contexts.
1130func (c *IoTWireless) DeleteDestinationWithContext(ctx aws.Context, input *DeleteDestinationInput, opts ...request.Option) (*DeleteDestinationOutput, error) {
1131	req, out := c.DeleteDestinationRequest(input)
1132	req.SetContext(ctx)
1133	req.ApplyOptions(opts...)
1134	return out, req.Send()
1135}
1136
1137const opDeleteDeviceProfile = "DeleteDeviceProfile"
1138
1139// DeleteDeviceProfileRequest generates a "aws/request.Request" representing the
1140// client's request for the DeleteDeviceProfile operation. The "output" return
1141// value will be populated with the request's response once the request completes
1142// successfully.
1143//
1144// Use "Send" method on the returned Request to send the API call to the service.
1145// the "output" return value is not valid until after Send returns without error.
1146//
1147// See DeleteDeviceProfile for more information on using the DeleteDeviceProfile
1148// API call, and error handling.
1149//
1150// This method is useful when you want to inject custom logic or configuration
1151// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1152//
1153//
1154//    // Example sending a request using the DeleteDeviceProfileRequest method.
1155//    req, resp := client.DeleteDeviceProfileRequest(params)
1156//
1157//    err := req.Send()
1158//    if err == nil { // resp is now filled
1159//        fmt.Println(resp)
1160//    }
1161//
1162// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteDeviceProfile
1163func (c *IoTWireless) DeleteDeviceProfileRequest(input *DeleteDeviceProfileInput) (req *request.Request, output *DeleteDeviceProfileOutput) {
1164	op := &request.Operation{
1165		Name:       opDeleteDeviceProfile,
1166		HTTPMethod: "DELETE",
1167		HTTPPath:   "/device-profiles/{Id}",
1168	}
1169
1170	if input == nil {
1171		input = &DeleteDeviceProfileInput{}
1172	}
1173
1174	output = &DeleteDeviceProfileOutput{}
1175	req = c.newRequest(op, input, output)
1176	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1177	return
1178}
1179
1180// DeleteDeviceProfile API operation for AWS IoT Wireless.
1181//
1182// Deletes a device profile.
1183//
1184// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1185// with awserr.Error's Code and Message methods to get detailed information about
1186// the error.
1187//
1188// See the AWS API reference guide for AWS IoT Wireless's
1189// API operation DeleteDeviceProfile for usage and error information.
1190//
1191// Returned Error Types:
1192//   * ValidationException
1193//   The input did not meet the specified constraints.
1194//
1195//   * AccessDeniedException
1196//   User does not have permission to perform this action.
1197//
1198//   * ResourceNotFoundException
1199//   Resource does not exist.
1200//
1201//   * InternalServerException
1202//   An unexpected error occurred while processing a request.
1203//
1204//   * ConflictException
1205//   Adding, updating, or deleting the resource can cause an inconsistent state.
1206//
1207//   * ThrottlingException
1208//   The request was denied because it exceeded the allowed API request rate.
1209//
1210// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteDeviceProfile
1211func (c *IoTWireless) DeleteDeviceProfile(input *DeleteDeviceProfileInput) (*DeleteDeviceProfileOutput, error) {
1212	req, out := c.DeleteDeviceProfileRequest(input)
1213	return out, req.Send()
1214}
1215
1216// DeleteDeviceProfileWithContext is the same as DeleteDeviceProfile with the addition of
1217// the ability to pass a context and additional request options.
1218//
1219// See DeleteDeviceProfile for details on how to use this API operation.
1220//
1221// The context must be non-nil and will be used for request cancellation. If
1222// the context is nil a panic will occur. In the future the SDK may create
1223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1224// for more information on using Contexts.
1225func (c *IoTWireless) DeleteDeviceProfileWithContext(ctx aws.Context, input *DeleteDeviceProfileInput, opts ...request.Option) (*DeleteDeviceProfileOutput, error) {
1226	req, out := c.DeleteDeviceProfileRequest(input)
1227	req.SetContext(ctx)
1228	req.ApplyOptions(opts...)
1229	return out, req.Send()
1230}
1231
1232const opDeleteServiceProfile = "DeleteServiceProfile"
1233
1234// DeleteServiceProfileRequest generates a "aws/request.Request" representing the
1235// client's request for the DeleteServiceProfile operation. The "output" return
1236// value will be populated with the request's response once the request completes
1237// successfully.
1238//
1239// Use "Send" method on the returned Request to send the API call to the service.
1240// the "output" return value is not valid until after Send returns without error.
1241//
1242// See DeleteServiceProfile for more information on using the DeleteServiceProfile
1243// API call, and error handling.
1244//
1245// This method is useful when you want to inject custom logic or configuration
1246// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1247//
1248//
1249//    // Example sending a request using the DeleteServiceProfileRequest method.
1250//    req, resp := client.DeleteServiceProfileRequest(params)
1251//
1252//    err := req.Send()
1253//    if err == nil { // resp is now filled
1254//        fmt.Println(resp)
1255//    }
1256//
1257// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteServiceProfile
1258func (c *IoTWireless) DeleteServiceProfileRequest(input *DeleteServiceProfileInput) (req *request.Request, output *DeleteServiceProfileOutput) {
1259	op := &request.Operation{
1260		Name:       opDeleteServiceProfile,
1261		HTTPMethod: "DELETE",
1262		HTTPPath:   "/service-profiles/{Id}",
1263	}
1264
1265	if input == nil {
1266		input = &DeleteServiceProfileInput{}
1267	}
1268
1269	output = &DeleteServiceProfileOutput{}
1270	req = c.newRequest(op, input, output)
1271	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1272	return
1273}
1274
1275// DeleteServiceProfile API operation for AWS IoT Wireless.
1276//
1277// Deletes a service profile.
1278//
1279// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1280// with awserr.Error's Code and Message methods to get detailed information about
1281// the error.
1282//
1283// See the AWS API reference guide for AWS IoT Wireless's
1284// API operation DeleteServiceProfile for usage and error information.
1285//
1286// Returned Error Types:
1287//   * ValidationException
1288//   The input did not meet the specified constraints.
1289//
1290//   * AccessDeniedException
1291//   User does not have permission to perform this action.
1292//
1293//   * ResourceNotFoundException
1294//   Resource does not exist.
1295//
1296//   * InternalServerException
1297//   An unexpected error occurred while processing a request.
1298//
1299//   * ConflictException
1300//   Adding, updating, or deleting the resource can cause an inconsistent state.
1301//
1302//   * ThrottlingException
1303//   The request was denied because it exceeded the allowed API request rate.
1304//
1305// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteServiceProfile
1306func (c *IoTWireless) DeleteServiceProfile(input *DeleteServiceProfileInput) (*DeleteServiceProfileOutput, error) {
1307	req, out := c.DeleteServiceProfileRequest(input)
1308	return out, req.Send()
1309}
1310
1311// DeleteServiceProfileWithContext is the same as DeleteServiceProfile with the addition of
1312// the ability to pass a context and additional request options.
1313//
1314// See DeleteServiceProfile for details on how to use this API operation.
1315//
1316// The context must be non-nil and will be used for request cancellation. If
1317// the context is nil a panic will occur. In the future the SDK may create
1318// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1319// for more information on using Contexts.
1320func (c *IoTWireless) DeleteServiceProfileWithContext(ctx aws.Context, input *DeleteServiceProfileInput, opts ...request.Option) (*DeleteServiceProfileOutput, error) {
1321	req, out := c.DeleteServiceProfileRequest(input)
1322	req.SetContext(ctx)
1323	req.ApplyOptions(opts...)
1324	return out, req.Send()
1325}
1326
1327const opDeleteWirelessDevice = "DeleteWirelessDevice"
1328
1329// DeleteWirelessDeviceRequest generates a "aws/request.Request" representing the
1330// client's request for the DeleteWirelessDevice operation. The "output" return
1331// value will be populated with the request's response once the request completes
1332// successfully.
1333//
1334// Use "Send" method on the returned Request to send the API call to the service.
1335// the "output" return value is not valid until after Send returns without error.
1336//
1337// See DeleteWirelessDevice for more information on using the DeleteWirelessDevice
1338// API call, and error handling.
1339//
1340// This method is useful when you want to inject custom logic or configuration
1341// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1342//
1343//
1344//    // Example sending a request using the DeleteWirelessDeviceRequest method.
1345//    req, resp := client.DeleteWirelessDeviceRequest(params)
1346//
1347//    err := req.Send()
1348//    if err == nil { // resp is now filled
1349//        fmt.Println(resp)
1350//    }
1351//
1352// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteWirelessDevice
1353func (c *IoTWireless) DeleteWirelessDeviceRequest(input *DeleteWirelessDeviceInput) (req *request.Request, output *DeleteWirelessDeviceOutput) {
1354	op := &request.Operation{
1355		Name:       opDeleteWirelessDevice,
1356		HTTPMethod: "DELETE",
1357		HTTPPath:   "/wireless-devices/{Id}",
1358	}
1359
1360	if input == nil {
1361		input = &DeleteWirelessDeviceInput{}
1362	}
1363
1364	output = &DeleteWirelessDeviceOutput{}
1365	req = c.newRequest(op, input, output)
1366	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1367	return
1368}
1369
1370// DeleteWirelessDevice API operation for AWS IoT Wireless.
1371//
1372// Deletes a wireless device.
1373//
1374// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1375// with awserr.Error's Code and Message methods to get detailed information about
1376// the error.
1377//
1378// See the AWS API reference guide for AWS IoT Wireless's
1379// API operation DeleteWirelessDevice for usage and error information.
1380//
1381// Returned Error Types:
1382//   * ValidationException
1383//   The input did not meet the specified constraints.
1384//
1385//   * ResourceNotFoundException
1386//   Resource does not exist.
1387//
1388//   * AccessDeniedException
1389//   User does not have permission to perform this action.
1390//
1391//   * InternalServerException
1392//   An unexpected error occurred while processing a request.
1393//
1394//   * ThrottlingException
1395//   The request was denied because it exceeded the allowed API request rate.
1396//
1397// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteWirelessDevice
1398func (c *IoTWireless) DeleteWirelessDevice(input *DeleteWirelessDeviceInput) (*DeleteWirelessDeviceOutput, error) {
1399	req, out := c.DeleteWirelessDeviceRequest(input)
1400	return out, req.Send()
1401}
1402
1403// DeleteWirelessDeviceWithContext is the same as DeleteWirelessDevice with the addition of
1404// the ability to pass a context and additional request options.
1405//
1406// See DeleteWirelessDevice for details on how to use this API operation.
1407//
1408// The context must be non-nil and will be used for request cancellation. If
1409// the context is nil a panic will occur. In the future the SDK may create
1410// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1411// for more information on using Contexts.
1412func (c *IoTWireless) DeleteWirelessDeviceWithContext(ctx aws.Context, input *DeleteWirelessDeviceInput, opts ...request.Option) (*DeleteWirelessDeviceOutput, error) {
1413	req, out := c.DeleteWirelessDeviceRequest(input)
1414	req.SetContext(ctx)
1415	req.ApplyOptions(opts...)
1416	return out, req.Send()
1417}
1418
1419const opDeleteWirelessGateway = "DeleteWirelessGateway"
1420
1421// DeleteWirelessGatewayRequest generates a "aws/request.Request" representing the
1422// client's request for the DeleteWirelessGateway operation. The "output" return
1423// value will be populated with the request's response once the request completes
1424// successfully.
1425//
1426// Use "Send" method on the returned Request to send the API call to the service.
1427// the "output" return value is not valid until after Send returns without error.
1428//
1429// See DeleteWirelessGateway for more information on using the DeleteWirelessGateway
1430// API call, and error handling.
1431//
1432// This method is useful when you want to inject custom logic or configuration
1433// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1434//
1435//
1436//    // Example sending a request using the DeleteWirelessGatewayRequest method.
1437//    req, resp := client.DeleteWirelessGatewayRequest(params)
1438//
1439//    err := req.Send()
1440//    if err == nil { // resp is now filled
1441//        fmt.Println(resp)
1442//    }
1443//
1444// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteWirelessGateway
1445func (c *IoTWireless) DeleteWirelessGatewayRequest(input *DeleteWirelessGatewayInput) (req *request.Request, output *DeleteWirelessGatewayOutput) {
1446	op := &request.Operation{
1447		Name:       opDeleteWirelessGateway,
1448		HTTPMethod: "DELETE",
1449		HTTPPath:   "/wireless-gateways/{Id}",
1450	}
1451
1452	if input == nil {
1453		input = &DeleteWirelessGatewayInput{}
1454	}
1455
1456	output = &DeleteWirelessGatewayOutput{}
1457	req = c.newRequest(op, input, output)
1458	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1459	return
1460}
1461
1462// DeleteWirelessGateway API operation for AWS IoT Wireless.
1463//
1464// Deletes a wireless gateway.
1465//
1466// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1467// with awserr.Error's Code and Message methods to get detailed information about
1468// the error.
1469//
1470// See the AWS API reference guide for AWS IoT Wireless's
1471// API operation DeleteWirelessGateway for usage and error information.
1472//
1473// Returned Error Types:
1474//   * ValidationException
1475//   The input did not meet the specified constraints.
1476//
1477//   * ResourceNotFoundException
1478//   Resource does not exist.
1479//
1480//   * AccessDeniedException
1481//   User does not have permission to perform this action.
1482//
1483//   * InternalServerException
1484//   An unexpected error occurred while processing a request.
1485//
1486//   * ThrottlingException
1487//   The request was denied because it exceeded the allowed API request rate.
1488//
1489// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteWirelessGateway
1490func (c *IoTWireless) DeleteWirelessGateway(input *DeleteWirelessGatewayInput) (*DeleteWirelessGatewayOutput, error) {
1491	req, out := c.DeleteWirelessGatewayRequest(input)
1492	return out, req.Send()
1493}
1494
1495// DeleteWirelessGatewayWithContext is the same as DeleteWirelessGateway with the addition of
1496// the ability to pass a context and additional request options.
1497//
1498// See DeleteWirelessGateway for details on how to use this API operation.
1499//
1500// The context must be non-nil and will be used for request cancellation. If
1501// the context is nil a panic will occur. In the future the SDK may create
1502// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1503// for more information on using Contexts.
1504func (c *IoTWireless) DeleteWirelessGatewayWithContext(ctx aws.Context, input *DeleteWirelessGatewayInput, opts ...request.Option) (*DeleteWirelessGatewayOutput, error) {
1505	req, out := c.DeleteWirelessGatewayRequest(input)
1506	req.SetContext(ctx)
1507	req.ApplyOptions(opts...)
1508	return out, req.Send()
1509}
1510
1511const opDeleteWirelessGatewayTask = "DeleteWirelessGatewayTask"
1512
1513// DeleteWirelessGatewayTaskRequest generates a "aws/request.Request" representing the
1514// client's request for the DeleteWirelessGatewayTask operation. The "output" return
1515// value will be populated with the request's response once the request completes
1516// successfully.
1517//
1518// Use "Send" method on the returned Request to send the API call to the service.
1519// the "output" return value is not valid until after Send returns without error.
1520//
1521// See DeleteWirelessGatewayTask for more information on using the DeleteWirelessGatewayTask
1522// API call, and error handling.
1523//
1524// This method is useful when you want to inject custom logic or configuration
1525// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1526//
1527//
1528//    // Example sending a request using the DeleteWirelessGatewayTaskRequest method.
1529//    req, resp := client.DeleteWirelessGatewayTaskRequest(params)
1530//
1531//    err := req.Send()
1532//    if err == nil { // resp is now filled
1533//        fmt.Println(resp)
1534//    }
1535//
1536// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteWirelessGatewayTask
1537func (c *IoTWireless) DeleteWirelessGatewayTaskRequest(input *DeleteWirelessGatewayTaskInput) (req *request.Request, output *DeleteWirelessGatewayTaskOutput) {
1538	op := &request.Operation{
1539		Name:       opDeleteWirelessGatewayTask,
1540		HTTPMethod: "DELETE",
1541		HTTPPath:   "/wireless-gateways/{Id}/tasks",
1542	}
1543
1544	if input == nil {
1545		input = &DeleteWirelessGatewayTaskInput{}
1546	}
1547
1548	output = &DeleteWirelessGatewayTaskOutput{}
1549	req = c.newRequest(op, input, output)
1550	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1551	return
1552}
1553
1554// DeleteWirelessGatewayTask API operation for AWS IoT Wireless.
1555//
1556// Deletes a wireless gateway task.
1557//
1558// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1559// with awserr.Error's Code and Message methods to get detailed information about
1560// the error.
1561//
1562// See the AWS API reference guide for AWS IoT Wireless's
1563// API operation DeleteWirelessGatewayTask for usage and error information.
1564//
1565// Returned Error Types:
1566//   * ValidationException
1567//   The input did not meet the specified constraints.
1568//
1569//   * AccessDeniedException
1570//   User does not have permission to perform this action.
1571//
1572//   * ResourceNotFoundException
1573//   Resource does not exist.
1574//
1575//   * InternalServerException
1576//   An unexpected error occurred while processing a request.
1577//
1578//   * ThrottlingException
1579//   The request was denied because it exceeded the allowed API request rate.
1580//
1581// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteWirelessGatewayTask
1582func (c *IoTWireless) DeleteWirelessGatewayTask(input *DeleteWirelessGatewayTaskInput) (*DeleteWirelessGatewayTaskOutput, error) {
1583	req, out := c.DeleteWirelessGatewayTaskRequest(input)
1584	return out, req.Send()
1585}
1586
1587// DeleteWirelessGatewayTaskWithContext is the same as DeleteWirelessGatewayTask with the addition of
1588// the ability to pass a context and additional request options.
1589//
1590// See DeleteWirelessGatewayTask for details on how to use this API operation.
1591//
1592// The context must be non-nil and will be used for request cancellation. If
1593// the context is nil a panic will occur. In the future the SDK may create
1594// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1595// for more information on using Contexts.
1596func (c *IoTWireless) DeleteWirelessGatewayTaskWithContext(ctx aws.Context, input *DeleteWirelessGatewayTaskInput, opts ...request.Option) (*DeleteWirelessGatewayTaskOutput, error) {
1597	req, out := c.DeleteWirelessGatewayTaskRequest(input)
1598	req.SetContext(ctx)
1599	req.ApplyOptions(opts...)
1600	return out, req.Send()
1601}
1602
1603const opDeleteWirelessGatewayTaskDefinition = "DeleteWirelessGatewayTaskDefinition"
1604
1605// DeleteWirelessGatewayTaskDefinitionRequest generates a "aws/request.Request" representing the
1606// client's request for the DeleteWirelessGatewayTaskDefinition operation. The "output" return
1607// value will be populated with the request's response once the request completes
1608// successfully.
1609//
1610// Use "Send" method on the returned Request to send the API call to the service.
1611// the "output" return value is not valid until after Send returns without error.
1612//
1613// See DeleteWirelessGatewayTaskDefinition for more information on using the DeleteWirelessGatewayTaskDefinition
1614// API call, and error handling.
1615//
1616// This method is useful when you want to inject custom logic or configuration
1617// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1618//
1619//
1620//    // Example sending a request using the DeleteWirelessGatewayTaskDefinitionRequest method.
1621//    req, resp := client.DeleteWirelessGatewayTaskDefinitionRequest(params)
1622//
1623//    err := req.Send()
1624//    if err == nil { // resp is now filled
1625//        fmt.Println(resp)
1626//    }
1627//
1628// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteWirelessGatewayTaskDefinition
1629func (c *IoTWireless) DeleteWirelessGatewayTaskDefinitionRequest(input *DeleteWirelessGatewayTaskDefinitionInput) (req *request.Request, output *DeleteWirelessGatewayTaskDefinitionOutput) {
1630	op := &request.Operation{
1631		Name:       opDeleteWirelessGatewayTaskDefinition,
1632		HTTPMethod: "DELETE",
1633		HTTPPath:   "/wireless-gateway-task-definitions/{Id}",
1634	}
1635
1636	if input == nil {
1637		input = &DeleteWirelessGatewayTaskDefinitionInput{}
1638	}
1639
1640	output = &DeleteWirelessGatewayTaskDefinitionOutput{}
1641	req = c.newRequest(op, input, output)
1642	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1643	return
1644}
1645
1646// DeleteWirelessGatewayTaskDefinition API operation for AWS IoT Wireless.
1647//
1648// Deletes a wireless gateway task definition. Deleting this task definition
1649// does not affect tasks that are currently in progress.
1650//
1651// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1652// with awserr.Error's Code and Message methods to get detailed information about
1653// the error.
1654//
1655// See the AWS API reference guide for AWS IoT Wireless's
1656// API operation DeleteWirelessGatewayTaskDefinition for usage and error information.
1657//
1658// Returned Error Types:
1659//   * ValidationException
1660//   The input did not meet the specified constraints.
1661//
1662//   * AccessDeniedException
1663//   User does not have permission to perform this action.
1664//
1665//   * ResourceNotFoundException
1666//   Resource does not exist.
1667//
1668//   * InternalServerException
1669//   An unexpected error occurred while processing a request.
1670//
1671//   * ThrottlingException
1672//   The request was denied because it exceeded the allowed API request rate.
1673//
1674// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DeleteWirelessGatewayTaskDefinition
1675func (c *IoTWireless) DeleteWirelessGatewayTaskDefinition(input *DeleteWirelessGatewayTaskDefinitionInput) (*DeleteWirelessGatewayTaskDefinitionOutput, error) {
1676	req, out := c.DeleteWirelessGatewayTaskDefinitionRequest(input)
1677	return out, req.Send()
1678}
1679
1680// DeleteWirelessGatewayTaskDefinitionWithContext is the same as DeleteWirelessGatewayTaskDefinition with the addition of
1681// the ability to pass a context and additional request options.
1682//
1683// See DeleteWirelessGatewayTaskDefinition for details on how to use this API operation.
1684//
1685// The context must be non-nil and will be used for request cancellation. If
1686// the context is nil a panic will occur. In the future the SDK may create
1687// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1688// for more information on using Contexts.
1689func (c *IoTWireless) DeleteWirelessGatewayTaskDefinitionWithContext(ctx aws.Context, input *DeleteWirelessGatewayTaskDefinitionInput, opts ...request.Option) (*DeleteWirelessGatewayTaskDefinitionOutput, error) {
1690	req, out := c.DeleteWirelessGatewayTaskDefinitionRequest(input)
1691	req.SetContext(ctx)
1692	req.ApplyOptions(opts...)
1693	return out, req.Send()
1694}
1695
1696const opDisassociateAwsAccountFromPartnerAccount = "DisassociateAwsAccountFromPartnerAccount"
1697
1698// DisassociateAwsAccountFromPartnerAccountRequest generates a "aws/request.Request" representing the
1699// client's request for the DisassociateAwsAccountFromPartnerAccount operation. The "output" return
1700// value will be populated with the request's response once the request completes
1701// successfully.
1702//
1703// Use "Send" method on the returned Request to send the API call to the service.
1704// the "output" return value is not valid until after Send returns without error.
1705//
1706// See DisassociateAwsAccountFromPartnerAccount for more information on using the DisassociateAwsAccountFromPartnerAccount
1707// API call, and error handling.
1708//
1709// This method is useful when you want to inject custom logic or configuration
1710// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1711//
1712//
1713//    // Example sending a request using the DisassociateAwsAccountFromPartnerAccountRequest method.
1714//    req, resp := client.DisassociateAwsAccountFromPartnerAccountRequest(params)
1715//
1716//    err := req.Send()
1717//    if err == nil { // resp is now filled
1718//        fmt.Println(resp)
1719//    }
1720//
1721// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DisassociateAwsAccountFromPartnerAccount
1722func (c *IoTWireless) DisassociateAwsAccountFromPartnerAccountRequest(input *DisassociateAwsAccountFromPartnerAccountInput) (req *request.Request, output *DisassociateAwsAccountFromPartnerAccountOutput) {
1723	op := &request.Operation{
1724		Name:       opDisassociateAwsAccountFromPartnerAccount,
1725		HTTPMethod: "DELETE",
1726		HTTPPath:   "/partner-accounts/{PartnerAccountId}",
1727	}
1728
1729	if input == nil {
1730		input = &DisassociateAwsAccountFromPartnerAccountInput{}
1731	}
1732
1733	output = &DisassociateAwsAccountFromPartnerAccountOutput{}
1734	req = c.newRequest(op, input, output)
1735	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1736	return
1737}
1738
1739// DisassociateAwsAccountFromPartnerAccount API operation for AWS IoT Wireless.
1740//
1741// Disassociates your AWS account from a partner account. If PartnerAccountId
1742// and PartnerType are null, disassociates your AWS account from all partner
1743// accounts.
1744//
1745// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1746// with awserr.Error's Code and Message methods to get detailed information about
1747// the error.
1748//
1749// See the AWS API reference guide for AWS IoT Wireless's
1750// API operation DisassociateAwsAccountFromPartnerAccount for usage and error information.
1751//
1752// Returned Error Types:
1753//   * ValidationException
1754//   The input did not meet the specified constraints.
1755//
1756//   * ResourceNotFoundException
1757//   Resource does not exist.
1758//
1759//   * InternalServerException
1760//   An unexpected error occurred while processing a request.
1761//
1762//   * ThrottlingException
1763//   The request was denied because it exceeded the allowed API request rate.
1764//
1765// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DisassociateAwsAccountFromPartnerAccount
1766func (c *IoTWireless) DisassociateAwsAccountFromPartnerAccount(input *DisassociateAwsAccountFromPartnerAccountInput) (*DisassociateAwsAccountFromPartnerAccountOutput, error) {
1767	req, out := c.DisassociateAwsAccountFromPartnerAccountRequest(input)
1768	return out, req.Send()
1769}
1770
1771// DisassociateAwsAccountFromPartnerAccountWithContext is the same as DisassociateAwsAccountFromPartnerAccount with the addition of
1772// the ability to pass a context and additional request options.
1773//
1774// See DisassociateAwsAccountFromPartnerAccount for details on how to use this API operation.
1775//
1776// The context must be non-nil and will be used for request cancellation. If
1777// the context is nil a panic will occur. In the future the SDK may create
1778// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1779// for more information on using Contexts.
1780func (c *IoTWireless) DisassociateAwsAccountFromPartnerAccountWithContext(ctx aws.Context, input *DisassociateAwsAccountFromPartnerAccountInput, opts ...request.Option) (*DisassociateAwsAccountFromPartnerAccountOutput, error) {
1781	req, out := c.DisassociateAwsAccountFromPartnerAccountRequest(input)
1782	req.SetContext(ctx)
1783	req.ApplyOptions(opts...)
1784	return out, req.Send()
1785}
1786
1787const opDisassociateWirelessDeviceFromThing = "DisassociateWirelessDeviceFromThing"
1788
1789// DisassociateWirelessDeviceFromThingRequest generates a "aws/request.Request" representing the
1790// client's request for the DisassociateWirelessDeviceFromThing operation. The "output" return
1791// value will be populated with the request's response once the request completes
1792// successfully.
1793//
1794// Use "Send" method on the returned Request to send the API call to the service.
1795// the "output" return value is not valid until after Send returns without error.
1796//
1797// See DisassociateWirelessDeviceFromThing for more information on using the DisassociateWirelessDeviceFromThing
1798// API call, and error handling.
1799//
1800// This method is useful when you want to inject custom logic or configuration
1801// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1802//
1803//
1804//    // Example sending a request using the DisassociateWirelessDeviceFromThingRequest method.
1805//    req, resp := client.DisassociateWirelessDeviceFromThingRequest(params)
1806//
1807//    err := req.Send()
1808//    if err == nil { // resp is now filled
1809//        fmt.Println(resp)
1810//    }
1811//
1812// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DisassociateWirelessDeviceFromThing
1813func (c *IoTWireless) DisassociateWirelessDeviceFromThingRequest(input *DisassociateWirelessDeviceFromThingInput) (req *request.Request, output *DisassociateWirelessDeviceFromThingOutput) {
1814	op := &request.Operation{
1815		Name:       opDisassociateWirelessDeviceFromThing,
1816		HTTPMethod: "DELETE",
1817		HTTPPath:   "/wireless-devices/{Id}/thing",
1818	}
1819
1820	if input == nil {
1821		input = &DisassociateWirelessDeviceFromThingInput{}
1822	}
1823
1824	output = &DisassociateWirelessDeviceFromThingOutput{}
1825	req = c.newRequest(op, input, output)
1826	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1827	return
1828}
1829
1830// DisassociateWirelessDeviceFromThing API operation for AWS IoT Wireless.
1831//
1832// Disassociates a wireless device from its currently associated thing.
1833//
1834// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1835// with awserr.Error's Code and Message methods to get detailed information about
1836// the error.
1837//
1838// See the AWS API reference guide for AWS IoT Wireless's
1839// API operation DisassociateWirelessDeviceFromThing for usage and error information.
1840//
1841// Returned Error Types:
1842//   * ValidationException
1843//   The input did not meet the specified constraints.
1844//
1845//   * AccessDeniedException
1846//   User does not have permission to perform this action.
1847//
1848//   * ResourceNotFoundException
1849//   Resource does not exist.
1850//
1851//   * ConflictException
1852//   Adding, updating, or deleting the resource can cause an inconsistent state.
1853//
1854//   * ThrottlingException
1855//   The request was denied because it exceeded the allowed API request rate.
1856//
1857//   * InternalServerException
1858//   An unexpected error occurred while processing a request.
1859//
1860// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DisassociateWirelessDeviceFromThing
1861func (c *IoTWireless) DisassociateWirelessDeviceFromThing(input *DisassociateWirelessDeviceFromThingInput) (*DisassociateWirelessDeviceFromThingOutput, error) {
1862	req, out := c.DisassociateWirelessDeviceFromThingRequest(input)
1863	return out, req.Send()
1864}
1865
1866// DisassociateWirelessDeviceFromThingWithContext is the same as DisassociateWirelessDeviceFromThing with the addition of
1867// the ability to pass a context and additional request options.
1868//
1869// See DisassociateWirelessDeviceFromThing 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 *IoTWireless) DisassociateWirelessDeviceFromThingWithContext(ctx aws.Context, input *DisassociateWirelessDeviceFromThingInput, opts ...request.Option) (*DisassociateWirelessDeviceFromThingOutput, error) {
1876	req, out := c.DisassociateWirelessDeviceFromThingRequest(input)
1877	req.SetContext(ctx)
1878	req.ApplyOptions(opts...)
1879	return out, req.Send()
1880}
1881
1882const opDisassociateWirelessGatewayFromCertificate = "DisassociateWirelessGatewayFromCertificate"
1883
1884// DisassociateWirelessGatewayFromCertificateRequest generates a "aws/request.Request" representing the
1885// client's request for the DisassociateWirelessGatewayFromCertificate 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 DisassociateWirelessGatewayFromCertificate for more information on using the DisassociateWirelessGatewayFromCertificate
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 DisassociateWirelessGatewayFromCertificateRequest method.
1900//    req, resp := client.DisassociateWirelessGatewayFromCertificateRequest(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/iotwireless-2020-11-22/DisassociateWirelessGatewayFromCertificate
1908func (c *IoTWireless) DisassociateWirelessGatewayFromCertificateRequest(input *DisassociateWirelessGatewayFromCertificateInput) (req *request.Request, output *DisassociateWirelessGatewayFromCertificateOutput) {
1909	op := &request.Operation{
1910		Name:       opDisassociateWirelessGatewayFromCertificate,
1911		HTTPMethod: "DELETE",
1912		HTTPPath:   "/wireless-gateways/{Id}/certificate",
1913	}
1914
1915	if input == nil {
1916		input = &DisassociateWirelessGatewayFromCertificateInput{}
1917	}
1918
1919	output = &DisassociateWirelessGatewayFromCertificateOutput{}
1920	req = c.newRequest(op, input, output)
1921	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1922	return
1923}
1924
1925// DisassociateWirelessGatewayFromCertificate API operation for AWS IoT Wireless.
1926//
1927// Disassociates a wireless gateway from its currently associated certificate.
1928//
1929// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1930// with awserr.Error's Code and Message methods to get detailed information about
1931// the error.
1932//
1933// See the AWS API reference guide for AWS IoT Wireless's
1934// API operation DisassociateWirelessGatewayFromCertificate for usage and error information.
1935//
1936// Returned Error Types:
1937//   * ValidationException
1938//   The input did not meet the specified constraints.
1939//
1940//   * AccessDeniedException
1941//   User does not have permission to perform this action.
1942//
1943//   * ResourceNotFoundException
1944//   Resource does not exist.
1945//
1946//   * InternalServerException
1947//   An unexpected error occurred while processing a request.
1948//
1949//   * ThrottlingException
1950//   The request was denied because it exceeded the allowed API request rate.
1951//
1952// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DisassociateWirelessGatewayFromCertificate
1953func (c *IoTWireless) DisassociateWirelessGatewayFromCertificate(input *DisassociateWirelessGatewayFromCertificateInput) (*DisassociateWirelessGatewayFromCertificateOutput, error) {
1954	req, out := c.DisassociateWirelessGatewayFromCertificateRequest(input)
1955	return out, req.Send()
1956}
1957
1958// DisassociateWirelessGatewayFromCertificateWithContext is the same as DisassociateWirelessGatewayFromCertificate with the addition of
1959// the ability to pass a context and additional request options.
1960//
1961// See DisassociateWirelessGatewayFromCertificate for details on how to use this API operation.
1962//
1963// The context must be non-nil and will be used for request cancellation. If
1964// the context is nil a panic will occur. In the future the SDK may create
1965// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1966// for more information on using Contexts.
1967func (c *IoTWireless) DisassociateWirelessGatewayFromCertificateWithContext(ctx aws.Context, input *DisassociateWirelessGatewayFromCertificateInput, opts ...request.Option) (*DisassociateWirelessGatewayFromCertificateOutput, error) {
1968	req, out := c.DisassociateWirelessGatewayFromCertificateRequest(input)
1969	req.SetContext(ctx)
1970	req.ApplyOptions(opts...)
1971	return out, req.Send()
1972}
1973
1974const opDisassociateWirelessGatewayFromThing = "DisassociateWirelessGatewayFromThing"
1975
1976// DisassociateWirelessGatewayFromThingRequest generates a "aws/request.Request" representing the
1977// client's request for the DisassociateWirelessGatewayFromThing operation. The "output" return
1978// value will be populated with the request's response once the request completes
1979// successfully.
1980//
1981// Use "Send" method on the returned Request to send the API call to the service.
1982// the "output" return value is not valid until after Send returns without error.
1983//
1984// See DisassociateWirelessGatewayFromThing for more information on using the DisassociateWirelessGatewayFromThing
1985// API call, and error handling.
1986//
1987// This method is useful when you want to inject custom logic or configuration
1988// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1989//
1990//
1991//    // Example sending a request using the DisassociateWirelessGatewayFromThingRequest method.
1992//    req, resp := client.DisassociateWirelessGatewayFromThingRequest(params)
1993//
1994//    err := req.Send()
1995//    if err == nil { // resp is now filled
1996//        fmt.Println(resp)
1997//    }
1998//
1999// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DisassociateWirelessGatewayFromThing
2000func (c *IoTWireless) DisassociateWirelessGatewayFromThingRequest(input *DisassociateWirelessGatewayFromThingInput) (req *request.Request, output *DisassociateWirelessGatewayFromThingOutput) {
2001	op := &request.Operation{
2002		Name:       opDisassociateWirelessGatewayFromThing,
2003		HTTPMethod: "DELETE",
2004		HTTPPath:   "/wireless-gateways/{Id}/thing",
2005	}
2006
2007	if input == nil {
2008		input = &DisassociateWirelessGatewayFromThingInput{}
2009	}
2010
2011	output = &DisassociateWirelessGatewayFromThingOutput{}
2012	req = c.newRequest(op, input, output)
2013	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2014	return
2015}
2016
2017// DisassociateWirelessGatewayFromThing API operation for AWS IoT Wireless.
2018//
2019// Disassociates a wireless gateway from its currently associated thing.
2020//
2021// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2022// with awserr.Error's Code and Message methods to get detailed information about
2023// the error.
2024//
2025// See the AWS API reference guide for AWS IoT Wireless's
2026// API operation DisassociateWirelessGatewayFromThing for usage and error information.
2027//
2028// Returned Error Types:
2029//   * ValidationException
2030//   The input did not meet the specified constraints.
2031//
2032//   * AccessDeniedException
2033//   User does not have permission to perform this action.
2034//
2035//   * ResourceNotFoundException
2036//   Resource does not exist.
2037//
2038//   * ConflictException
2039//   Adding, updating, or deleting the resource can cause an inconsistent state.
2040//
2041//   * ThrottlingException
2042//   The request was denied because it exceeded the allowed API request rate.
2043//
2044//   * InternalServerException
2045//   An unexpected error occurred while processing a request.
2046//
2047// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/DisassociateWirelessGatewayFromThing
2048func (c *IoTWireless) DisassociateWirelessGatewayFromThing(input *DisassociateWirelessGatewayFromThingInput) (*DisassociateWirelessGatewayFromThingOutput, error) {
2049	req, out := c.DisassociateWirelessGatewayFromThingRequest(input)
2050	return out, req.Send()
2051}
2052
2053// DisassociateWirelessGatewayFromThingWithContext is the same as DisassociateWirelessGatewayFromThing with the addition of
2054// the ability to pass a context and additional request options.
2055//
2056// See DisassociateWirelessGatewayFromThing for details on how to use this API operation.
2057//
2058// The context must be non-nil and will be used for request cancellation. If
2059// the context is nil a panic will occur. In the future the SDK may create
2060// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2061// for more information on using Contexts.
2062func (c *IoTWireless) DisassociateWirelessGatewayFromThingWithContext(ctx aws.Context, input *DisassociateWirelessGatewayFromThingInput, opts ...request.Option) (*DisassociateWirelessGatewayFromThingOutput, error) {
2063	req, out := c.DisassociateWirelessGatewayFromThingRequest(input)
2064	req.SetContext(ctx)
2065	req.ApplyOptions(opts...)
2066	return out, req.Send()
2067}
2068
2069const opGetDestination = "GetDestination"
2070
2071// GetDestinationRequest generates a "aws/request.Request" representing the
2072// client's request for the GetDestination operation. The "output" return
2073// value will be populated with the request's response once the request completes
2074// successfully.
2075//
2076// Use "Send" method on the returned Request to send the API call to the service.
2077// the "output" return value is not valid until after Send returns without error.
2078//
2079// See GetDestination for more information on using the GetDestination
2080// API call, and error handling.
2081//
2082// This method is useful when you want to inject custom logic or configuration
2083// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2084//
2085//
2086//    // Example sending a request using the GetDestinationRequest method.
2087//    req, resp := client.GetDestinationRequest(params)
2088//
2089//    err := req.Send()
2090//    if err == nil { // resp is now filled
2091//        fmt.Println(resp)
2092//    }
2093//
2094// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetDestination
2095func (c *IoTWireless) GetDestinationRequest(input *GetDestinationInput) (req *request.Request, output *GetDestinationOutput) {
2096	op := &request.Operation{
2097		Name:       opGetDestination,
2098		HTTPMethod: "GET",
2099		HTTPPath:   "/destinations/{Name}",
2100	}
2101
2102	if input == nil {
2103		input = &GetDestinationInput{}
2104	}
2105
2106	output = &GetDestinationOutput{}
2107	req = c.newRequest(op, input, output)
2108	return
2109}
2110
2111// GetDestination API operation for AWS IoT Wireless.
2112//
2113// Gets information about a destination.
2114//
2115// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2116// with awserr.Error's Code and Message methods to get detailed information about
2117// the error.
2118//
2119// See the AWS API reference guide for AWS IoT Wireless's
2120// API operation GetDestination for usage and error information.
2121//
2122// Returned Error Types:
2123//   * ValidationException
2124//   The input did not meet the specified constraints.
2125//
2126//   * ResourceNotFoundException
2127//   Resource does not exist.
2128//
2129//   * AccessDeniedException
2130//   User does not have permission to perform this action.
2131//
2132//   * InternalServerException
2133//   An unexpected error occurred while processing a request.
2134//
2135//   * ThrottlingException
2136//   The request was denied because it exceeded the allowed API request rate.
2137//
2138// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetDestination
2139func (c *IoTWireless) GetDestination(input *GetDestinationInput) (*GetDestinationOutput, error) {
2140	req, out := c.GetDestinationRequest(input)
2141	return out, req.Send()
2142}
2143
2144// GetDestinationWithContext is the same as GetDestination with the addition of
2145// the ability to pass a context and additional request options.
2146//
2147// See GetDestination for details on how to use this API operation.
2148//
2149// The context must be non-nil and will be used for request cancellation. If
2150// the context is nil a panic will occur. In the future the SDK may create
2151// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2152// for more information on using Contexts.
2153func (c *IoTWireless) GetDestinationWithContext(ctx aws.Context, input *GetDestinationInput, opts ...request.Option) (*GetDestinationOutput, error) {
2154	req, out := c.GetDestinationRequest(input)
2155	req.SetContext(ctx)
2156	req.ApplyOptions(opts...)
2157	return out, req.Send()
2158}
2159
2160const opGetDeviceProfile = "GetDeviceProfile"
2161
2162// GetDeviceProfileRequest generates a "aws/request.Request" representing the
2163// client's request for the GetDeviceProfile operation. The "output" return
2164// value will be populated with the request's response once the request completes
2165// successfully.
2166//
2167// Use "Send" method on the returned Request to send the API call to the service.
2168// the "output" return value is not valid until after Send returns without error.
2169//
2170// See GetDeviceProfile for more information on using the GetDeviceProfile
2171// API call, and error handling.
2172//
2173// This method is useful when you want to inject custom logic or configuration
2174// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2175//
2176//
2177//    // Example sending a request using the GetDeviceProfileRequest method.
2178//    req, resp := client.GetDeviceProfileRequest(params)
2179//
2180//    err := req.Send()
2181//    if err == nil { // resp is now filled
2182//        fmt.Println(resp)
2183//    }
2184//
2185// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetDeviceProfile
2186func (c *IoTWireless) GetDeviceProfileRequest(input *GetDeviceProfileInput) (req *request.Request, output *GetDeviceProfileOutput) {
2187	op := &request.Operation{
2188		Name:       opGetDeviceProfile,
2189		HTTPMethod: "GET",
2190		HTTPPath:   "/device-profiles/{Id}",
2191	}
2192
2193	if input == nil {
2194		input = &GetDeviceProfileInput{}
2195	}
2196
2197	output = &GetDeviceProfileOutput{}
2198	req = c.newRequest(op, input, output)
2199	return
2200}
2201
2202// GetDeviceProfile API operation for AWS IoT Wireless.
2203//
2204// Gets information about a device profile.
2205//
2206// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2207// with awserr.Error's Code and Message methods to get detailed information about
2208// the error.
2209//
2210// See the AWS API reference guide for AWS IoT Wireless's
2211// API operation GetDeviceProfile for usage and error information.
2212//
2213// Returned Error Types:
2214//   * ValidationException
2215//   The input did not meet the specified constraints.
2216//
2217//   * AccessDeniedException
2218//   User does not have permission to perform this action.
2219//
2220//   * ResourceNotFoundException
2221//   Resource does not exist.
2222//
2223//   * InternalServerException
2224//   An unexpected error occurred while processing a request.
2225//
2226//   * ThrottlingException
2227//   The request was denied because it exceeded the allowed API request rate.
2228//
2229// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetDeviceProfile
2230func (c *IoTWireless) GetDeviceProfile(input *GetDeviceProfileInput) (*GetDeviceProfileOutput, error) {
2231	req, out := c.GetDeviceProfileRequest(input)
2232	return out, req.Send()
2233}
2234
2235// GetDeviceProfileWithContext is the same as GetDeviceProfile with the addition of
2236// the ability to pass a context and additional request options.
2237//
2238// See GetDeviceProfile for details on how to use this API operation.
2239//
2240// The context must be non-nil and will be used for request cancellation. If
2241// the context is nil a panic will occur. In the future the SDK may create
2242// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2243// for more information on using Contexts.
2244func (c *IoTWireless) GetDeviceProfileWithContext(ctx aws.Context, input *GetDeviceProfileInput, opts ...request.Option) (*GetDeviceProfileOutput, error) {
2245	req, out := c.GetDeviceProfileRequest(input)
2246	req.SetContext(ctx)
2247	req.ApplyOptions(opts...)
2248	return out, req.Send()
2249}
2250
2251const opGetPartnerAccount = "GetPartnerAccount"
2252
2253// GetPartnerAccountRequest generates a "aws/request.Request" representing the
2254// client's request for the GetPartnerAccount operation. The "output" return
2255// value will be populated with the request's response once the request completes
2256// successfully.
2257//
2258// Use "Send" method on the returned Request to send the API call to the service.
2259// the "output" return value is not valid until after Send returns without error.
2260//
2261// See GetPartnerAccount for more information on using the GetPartnerAccount
2262// API call, and error handling.
2263//
2264// This method is useful when you want to inject custom logic or configuration
2265// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2266//
2267//
2268//    // Example sending a request using the GetPartnerAccountRequest method.
2269//    req, resp := client.GetPartnerAccountRequest(params)
2270//
2271//    err := req.Send()
2272//    if err == nil { // resp is now filled
2273//        fmt.Println(resp)
2274//    }
2275//
2276// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetPartnerAccount
2277func (c *IoTWireless) GetPartnerAccountRequest(input *GetPartnerAccountInput) (req *request.Request, output *GetPartnerAccountOutput) {
2278	op := &request.Operation{
2279		Name:       opGetPartnerAccount,
2280		HTTPMethod: "GET",
2281		HTTPPath:   "/partner-accounts/{PartnerAccountId}",
2282	}
2283
2284	if input == nil {
2285		input = &GetPartnerAccountInput{}
2286	}
2287
2288	output = &GetPartnerAccountOutput{}
2289	req = c.newRequest(op, input, output)
2290	return
2291}
2292
2293// GetPartnerAccount API operation for AWS IoT Wireless.
2294//
2295// Gets information about a partner account. If PartnerAccountId and PartnerType
2296// are null, returns all partner accounts.
2297//
2298// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2299// with awserr.Error's Code and Message methods to get detailed information about
2300// the error.
2301//
2302// See the AWS API reference guide for AWS IoT Wireless's
2303// API operation GetPartnerAccount for usage and error information.
2304//
2305// Returned Error Types:
2306//   * ValidationException
2307//   The input did not meet the specified constraints.
2308//
2309//   * ResourceNotFoundException
2310//   Resource does not exist.
2311//
2312//   * InternalServerException
2313//   An unexpected error occurred while processing a request.
2314//
2315//   * ThrottlingException
2316//   The request was denied because it exceeded the allowed API request rate.
2317//
2318// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetPartnerAccount
2319func (c *IoTWireless) GetPartnerAccount(input *GetPartnerAccountInput) (*GetPartnerAccountOutput, error) {
2320	req, out := c.GetPartnerAccountRequest(input)
2321	return out, req.Send()
2322}
2323
2324// GetPartnerAccountWithContext is the same as GetPartnerAccount with the addition of
2325// the ability to pass a context and additional request options.
2326//
2327// See GetPartnerAccount for details on how to use this API operation.
2328//
2329// The context must be non-nil and will be used for request cancellation. If
2330// the context is nil a panic will occur. In the future the SDK may create
2331// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2332// for more information on using Contexts.
2333func (c *IoTWireless) GetPartnerAccountWithContext(ctx aws.Context, input *GetPartnerAccountInput, opts ...request.Option) (*GetPartnerAccountOutput, error) {
2334	req, out := c.GetPartnerAccountRequest(input)
2335	req.SetContext(ctx)
2336	req.ApplyOptions(opts...)
2337	return out, req.Send()
2338}
2339
2340const opGetServiceEndpoint = "GetServiceEndpoint"
2341
2342// GetServiceEndpointRequest generates a "aws/request.Request" representing the
2343// client's request for the GetServiceEndpoint operation. The "output" return
2344// value will be populated with the request's response once the request completes
2345// successfully.
2346//
2347// Use "Send" method on the returned Request to send the API call to the service.
2348// the "output" return value is not valid until after Send returns without error.
2349//
2350// See GetServiceEndpoint for more information on using the GetServiceEndpoint
2351// API call, and error handling.
2352//
2353// This method is useful when you want to inject custom logic or configuration
2354// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2355//
2356//
2357//    // Example sending a request using the GetServiceEndpointRequest method.
2358//    req, resp := client.GetServiceEndpointRequest(params)
2359//
2360//    err := req.Send()
2361//    if err == nil { // resp is now filled
2362//        fmt.Println(resp)
2363//    }
2364//
2365// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetServiceEndpoint
2366func (c *IoTWireless) GetServiceEndpointRequest(input *GetServiceEndpointInput) (req *request.Request, output *GetServiceEndpointOutput) {
2367	op := &request.Operation{
2368		Name:       opGetServiceEndpoint,
2369		HTTPMethod: "GET",
2370		HTTPPath:   "/service-endpoint",
2371	}
2372
2373	if input == nil {
2374		input = &GetServiceEndpointInput{}
2375	}
2376
2377	output = &GetServiceEndpointOutput{}
2378	req = c.newRequest(op, input, output)
2379	return
2380}
2381
2382// GetServiceEndpoint API operation for AWS IoT Wireless.
2383//
2384// Gets the account-specific endpoint for Configuration and Update Server (CUPS)
2385// protocol or LoRaWAN Network Server (LNS) connections.
2386//
2387// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2388// with awserr.Error's Code and Message methods to get detailed information about
2389// the error.
2390//
2391// See the AWS API reference guide for AWS IoT Wireless's
2392// API operation GetServiceEndpoint for usage and error information.
2393//
2394// Returned Error Types:
2395//   * ValidationException
2396//   The input did not meet the specified constraints.
2397//
2398//   * AccessDeniedException
2399//   User does not have permission to perform this action.
2400//
2401//   * InternalServerException
2402//   An unexpected error occurred while processing a request.
2403//
2404//   * ThrottlingException
2405//   The request was denied because it exceeded the allowed API request rate.
2406//
2407// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetServiceEndpoint
2408func (c *IoTWireless) GetServiceEndpoint(input *GetServiceEndpointInput) (*GetServiceEndpointOutput, error) {
2409	req, out := c.GetServiceEndpointRequest(input)
2410	return out, req.Send()
2411}
2412
2413// GetServiceEndpointWithContext is the same as GetServiceEndpoint with the addition of
2414// the ability to pass a context and additional request options.
2415//
2416// See GetServiceEndpoint for details on how to use this API operation.
2417//
2418// The context must be non-nil and will be used for request cancellation. If
2419// the context is nil a panic will occur. In the future the SDK may create
2420// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2421// for more information on using Contexts.
2422func (c *IoTWireless) GetServiceEndpointWithContext(ctx aws.Context, input *GetServiceEndpointInput, opts ...request.Option) (*GetServiceEndpointOutput, error) {
2423	req, out := c.GetServiceEndpointRequest(input)
2424	req.SetContext(ctx)
2425	req.ApplyOptions(opts...)
2426	return out, req.Send()
2427}
2428
2429const opGetServiceProfile = "GetServiceProfile"
2430
2431// GetServiceProfileRequest generates a "aws/request.Request" representing the
2432// client's request for the GetServiceProfile operation. The "output" return
2433// value will be populated with the request's response once the request completes
2434// successfully.
2435//
2436// Use "Send" method on the returned Request to send the API call to the service.
2437// the "output" return value is not valid until after Send returns without error.
2438//
2439// See GetServiceProfile for more information on using the GetServiceProfile
2440// API call, and error handling.
2441//
2442// This method is useful when you want to inject custom logic or configuration
2443// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2444//
2445//
2446//    // Example sending a request using the GetServiceProfileRequest method.
2447//    req, resp := client.GetServiceProfileRequest(params)
2448//
2449//    err := req.Send()
2450//    if err == nil { // resp is now filled
2451//        fmt.Println(resp)
2452//    }
2453//
2454// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetServiceProfile
2455func (c *IoTWireless) GetServiceProfileRequest(input *GetServiceProfileInput) (req *request.Request, output *GetServiceProfileOutput) {
2456	op := &request.Operation{
2457		Name:       opGetServiceProfile,
2458		HTTPMethod: "GET",
2459		HTTPPath:   "/service-profiles/{Id}",
2460	}
2461
2462	if input == nil {
2463		input = &GetServiceProfileInput{}
2464	}
2465
2466	output = &GetServiceProfileOutput{}
2467	req = c.newRequest(op, input, output)
2468	return
2469}
2470
2471// GetServiceProfile API operation for AWS IoT Wireless.
2472//
2473// Gets information about a service profile.
2474//
2475// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2476// with awserr.Error's Code and Message methods to get detailed information about
2477// the error.
2478//
2479// See the AWS API reference guide for AWS IoT Wireless's
2480// API operation GetServiceProfile for usage and error information.
2481//
2482// Returned Error Types:
2483//   * ValidationException
2484//   The input did not meet the specified constraints.
2485//
2486//   * AccessDeniedException
2487//   User does not have permission to perform this action.
2488//
2489//   * ResourceNotFoundException
2490//   Resource does not exist.
2491//
2492//   * InternalServerException
2493//   An unexpected error occurred while processing a request.
2494//
2495//   * ThrottlingException
2496//   The request was denied because it exceeded the allowed API request rate.
2497//
2498// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetServiceProfile
2499func (c *IoTWireless) GetServiceProfile(input *GetServiceProfileInput) (*GetServiceProfileOutput, error) {
2500	req, out := c.GetServiceProfileRequest(input)
2501	return out, req.Send()
2502}
2503
2504// GetServiceProfileWithContext is the same as GetServiceProfile with the addition of
2505// the ability to pass a context and additional request options.
2506//
2507// See GetServiceProfile for details on how to use this API operation.
2508//
2509// The context must be non-nil and will be used for request cancellation. If
2510// the context is nil a panic will occur. In the future the SDK may create
2511// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2512// for more information on using Contexts.
2513func (c *IoTWireless) GetServiceProfileWithContext(ctx aws.Context, input *GetServiceProfileInput, opts ...request.Option) (*GetServiceProfileOutput, error) {
2514	req, out := c.GetServiceProfileRequest(input)
2515	req.SetContext(ctx)
2516	req.ApplyOptions(opts...)
2517	return out, req.Send()
2518}
2519
2520const opGetWirelessDevice = "GetWirelessDevice"
2521
2522// GetWirelessDeviceRequest generates a "aws/request.Request" representing the
2523// client's request for the GetWirelessDevice operation. The "output" return
2524// value will be populated with the request's response once the request completes
2525// successfully.
2526//
2527// Use "Send" method on the returned Request to send the API call to the service.
2528// the "output" return value is not valid until after Send returns without error.
2529//
2530// See GetWirelessDevice for more information on using the GetWirelessDevice
2531// API call, and error handling.
2532//
2533// This method is useful when you want to inject custom logic or configuration
2534// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2535//
2536//
2537//    // Example sending a request using the GetWirelessDeviceRequest method.
2538//    req, resp := client.GetWirelessDeviceRequest(params)
2539//
2540//    err := req.Send()
2541//    if err == nil { // resp is now filled
2542//        fmt.Println(resp)
2543//    }
2544//
2545// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessDevice
2546func (c *IoTWireless) GetWirelessDeviceRequest(input *GetWirelessDeviceInput) (req *request.Request, output *GetWirelessDeviceOutput) {
2547	op := &request.Operation{
2548		Name:       opGetWirelessDevice,
2549		HTTPMethod: "GET",
2550		HTTPPath:   "/wireless-devices/{Identifier}",
2551	}
2552
2553	if input == nil {
2554		input = &GetWirelessDeviceInput{}
2555	}
2556
2557	output = &GetWirelessDeviceOutput{}
2558	req = c.newRequest(op, input, output)
2559	return
2560}
2561
2562// GetWirelessDevice API operation for AWS IoT Wireless.
2563//
2564// Gets information about a wireless device.
2565//
2566// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2567// with awserr.Error's Code and Message methods to get detailed information about
2568// the error.
2569//
2570// See the AWS API reference guide for AWS IoT Wireless's
2571// API operation GetWirelessDevice for usage and error information.
2572//
2573// Returned Error Types:
2574//   * ValidationException
2575//   The input did not meet the specified constraints.
2576//
2577//   * AccessDeniedException
2578//   User does not have permission to perform this action.
2579//
2580//   * ResourceNotFoundException
2581//   Resource does not exist.
2582//
2583//   * InternalServerException
2584//   An unexpected error occurred while processing a request.
2585//
2586//   * ThrottlingException
2587//   The request was denied because it exceeded the allowed API request rate.
2588//
2589// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessDevice
2590func (c *IoTWireless) GetWirelessDevice(input *GetWirelessDeviceInput) (*GetWirelessDeviceOutput, error) {
2591	req, out := c.GetWirelessDeviceRequest(input)
2592	return out, req.Send()
2593}
2594
2595// GetWirelessDeviceWithContext is the same as GetWirelessDevice with the addition of
2596// the ability to pass a context and additional request options.
2597//
2598// See GetWirelessDevice for details on how to use this API operation.
2599//
2600// The context must be non-nil and will be used for request cancellation. If
2601// the context is nil a panic will occur. In the future the SDK may create
2602// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2603// for more information on using Contexts.
2604func (c *IoTWireless) GetWirelessDeviceWithContext(ctx aws.Context, input *GetWirelessDeviceInput, opts ...request.Option) (*GetWirelessDeviceOutput, error) {
2605	req, out := c.GetWirelessDeviceRequest(input)
2606	req.SetContext(ctx)
2607	req.ApplyOptions(opts...)
2608	return out, req.Send()
2609}
2610
2611const opGetWirelessDeviceStatistics = "GetWirelessDeviceStatistics"
2612
2613// GetWirelessDeviceStatisticsRequest generates a "aws/request.Request" representing the
2614// client's request for the GetWirelessDeviceStatistics operation. The "output" return
2615// value will be populated with the request's response once the request completes
2616// successfully.
2617//
2618// Use "Send" method on the returned Request to send the API call to the service.
2619// the "output" return value is not valid until after Send returns without error.
2620//
2621// See GetWirelessDeviceStatistics for more information on using the GetWirelessDeviceStatistics
2622// API call, and error handling.
2623//
2624// This method is useful when you want to inject custom logic or configuration
2625// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2626//
2627//
2628//    // Example sending a request using the GetWirelessDeviceStatisticsRequest method.
2629//    req, resp := client.GetWirelessDeviceStatisticsRequest(params)
2630//
2631//    err := req.Send()
2632//    if err == nil { // resp is now filled
2633//        fmt.Println(resp)
2634//    }
2635//
2636// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessDeviceStatistics
2637func (c *IoTWireless) GetWirelessDeviceStatisticsRequest(input *GetWirelessDeviceStatisticsInput) (req *request.Request, output *GetWirelessDeviceStatisticsOutput) {
2638	op := &request.Operation{
2639		Name:       opGetWirelessDeviceStatistics,
2640		HTTPMethod: "GET",
2641		HTTPPath:   "/wireless-devices/{Id}/statistics",
2642	}
2643
2644	if input == nil {
2645		input = &GetWirelessDeviceStatisticsInput{}
2646	}
2647
2648	output = &GetWirelessDeviceStatisticsOutput{}
2649	req = c.newRequest(op, input, output)
2650	return
2651}
2652
2653// GetWirelessDeviceStatistics API operation for AWS IoT Wireless.
2654//
2655// Gets operating information about a wireless device.
2656//
2657// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2658// with awserr.Error's Code and Message methods to get detailed information about
2659// the error.
2660//
2661// See the AWS API reference guide for AWS IoT Wireless's
2662// API operation GetWirelessDeviceStatistics for usage and error information.
2663//
2664// Returned Error Types:
2665//   * ValidationException
2666//   The input did not meet the specified constraints.
2667//
2668//   * AccessDeniedException
2669//   User does not have permission to perform this action.
2670//
2671//   * ResourceNotFoundException
2672//   Resource does not exist.
2673//
2674//   * InternalServerException
2675//   An unexpected error occurred while processing a request.
2676//
2677//   * ThrottlingException
2678//   The request was denied because it exceeded the allowed API request rate.
2679//
2680// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessDeviceStatistics
2681func (c *IoTWireless) GetWirelessDeviceStatistics(input *GetWirelessDeviceStatisticsInput) (*GetWirelessDeviceStatisticsOutput, error) {
2682	req, out := c.GetWirelessDeviceStatisticsRequest(input)
2683	return out, req.Send()
2684}
2685
2686// GetWirelessDeviceStatisticsWithContext is the same as GetWirelessDeviceStatistics with the addition of
2687// the ability to pass a context and additional request options.
2688//
2689// See GetWirelessDeviceStatistics for details on how to use this API operation.
2690//
2691// The context must be non-nil and will be used for request cancellation. If
2692// the context is nil a panic will occur. In the future the SDK may create
2693// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2694// for more information on using Contexts.
2695func (c *IoTWireless) GetWirelessDeviceStatisticsWithContext(ctx aws.Context, input *GetWirelessDeviceStatisticsInput, opts ...request.Option) (*GetWirelessDeviceStatisticsOutput, error) {
2696	req, out := c.GetWirelessDeviceStatisticsRequest(input)
2697	req.SetContext(ctx)
2698	req.ApplyOptions(opts...)
2699	return out, req.Send()
2700}
2701
2702const opGetWirelessGateway = "GetWirelessGateway"
2703
2704// GetWirelessGatewayRequest generates a "aws/request.Request" representing the
2705// client's request for the GetWirelessGateway operation. The "output" return
2706// value will be populated with the request's response once the request completes
2707// successfully.
2708//
2709// Use "Send" method on the returned Request to send the API call to the service.
2710// the "output" return value is not valid until after Send returns without error.
2711//
2712// See GetWirelessGateway for more information on using the GetWirelessGateway
2713// API call, and error handling.
2714//
2715// This method is useful when you want to inject custom logic or configuration
2716// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2717//
2718//
2719//    // Example sending a request using the GetWirelessGatewayRequest method.
2720//    req, resp := client.GetWirelessGatewayRequest(params)
2721//
2722//    err := req.Send()
2723//    if err == nil { // resp is now filled
2724//        fmt.Println(resp)
2725//    }
2726//
2727// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGateway
2728func (c *IoTWireless) GetWirelessGatewayRequest(input *GetWirelessGatewayInput) (req *request.Request, output *GetWirelessGatewayOutput) {
2729	op := &request.Operation{
2730		Name:       opGetWirelessGateway,
2731		HTTPMethod: "GET",
2732		HTTPPath:   "/wireless-gateways/{Identifier}",
2733	}
2734
2735	if input == nil {
2736		input = &GetWirelessGatewayInput{}
2737	}
2738
2739	output = &GetWirelessGatewayOutput{}
2740	req = c.newRequest(op, input, output)
2741	return
2742}
2743
2744// GetWirelessGateway API operation for AWS IoT Wireless.
2745//
2746// Gets information about a wireless gateway.
2747//
2748// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2749// with awserr.Error's Code and Message methods to get detailed information about
2750// the error.
2751//
2752// See the AWS API reference guide for AWS IoT Wireless's
2753// API operation GetWirelessGateway for usage and error information.
2754//
2755// Returned Error Types:
2756//   * ValidationException
2757//   The input did not meet the specified constraints.
2758//
2759//   * ResourceNotFoundException
2760//   Resource does not exist.
2761//
2762//   * AccessDeniedException
2763//   User does not have permission to perform this action.
2764//
2765//   * InternalServerException
2766//   An unexpected error occurred while processing a request.
2767//
2768//   * ThrottlingException
2769//   The request was denied because it exceeded the allowed API request rate.
2770//
2771// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGateway
2772func (c *IoTWireless) GetWirelessGateway(input *GetWirelessGatewayInput) (*GetWirelessGatewayOutput, error) {
2773	req, out := c.GetWirelessGatewayRequest(input)
2774	return out, req.Send()
2775}
2776
2777// GetWirelessGatewayWithContext is the same as GetWirelessGateway with the addition of
2778// the ability to pass a context and additional request options.
2779//
2780// See GetWirelessGateway for details on how to use this API operation.
2781//
2782// The context must be non-nil and will be used for request cancellation. If
2783// the context is nil a panic will occur. In the future the SDK may create
2784// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2785// for more information on using Contexts.
2786func (c *IoTWireless) GetWirelessGatewayWithContext(ctx aws.Context, input *GetWirelessGatewayInput, opts ...request.Option) (*GetWirelessGatewayOutput, error) {
2787	req, out := c.GetWirelessGatewayRequest(input)
2788	req.SetContext(ctx)
2789	req.ApplyOptions(opts...)
2790	return out, req.Send()
2791}
2792
2793const opGetWirelessGatewayCertificate = "GetWirelessGatewayCertificate"
2794
2795// GetWirelessGatewayCertificateRequest generates a "aws/request.Request" representing the
2796// client's request for the GetWirelessGatewayCertificate operation. The "output" return
2797// value will be populated with the request's response once the request completes
2798// successfully.
2799//
2800// Use "Send" method on the returned Request to send the API call to the service.
2801// the "output" return value is not valid until after Send returns without error.
2802//
2803// See GetWirelessGatewayCertificate for more information on using the GetWirelessGatewayCertificate
2804// API call, and error handling.
2805//
2806// This method is useful when you want to inject custom logic or configuration
2807// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2808//
2809//
2810//    // Example sending a request using the GetWirelessGatewayCertificateRequest method.
2811//    req, resp := client.GetWirelessGatewayCertificateRequest(params)
2812//
2813//    err := req.Send()
2814//    if err == nil { // resp is now filled
2815//        fmt.Println(resp)
2816//    }
2817//
2818// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayCertificate
2819func (c *IoTWireless) GetWirelessGatewayCertificateRequest(input *GetWirelessGatewayCertificateInput) (req *request.Request, output *GetWirelessGatewayCertificateOutput) {
2820	op := &request.Operation{
2821		Name:       opGetWirelessGatewayCertificate,
2822		HTTPMethod: "GET",
2823		HTTPPath:   "/wireless-gateways/{Id}/certificate",
2824	}
2825
2826	if input == nil {
2827		input = &GetWirelessGatewayCertificateInput{}
2828	}
2829
2830	output = &GetWirelessGatewayCertificateOutput{}
2831	req = c.newRequest(op, input, output)
2832	return
2833}
2834
2835// GetWirelessGatewayCertificate API operation for AWS IoT Wireless.
2836//
2837// Gets the ID of the certificate that is currently associated with a wireless
2838// gateway.
2839//
2840// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2841// with awserr.Error's Code and Message methods to get detailed information about
2842// the error.
2843//
2844// See the AWS API reference guide for AWS IoT Wireless's
2845// API operation GetWirelessGatewayCertificate for usage and error information.
2846//
2847// Returned Error Types:
2848//   * ValidationException
2849//   The input did not meet the specified constraints.
2850//
2851//   * AccessDeniedException
2852//   User does not have permission to perform this action.
2853//
2854//   * ResourceNotFoundException
2855//   Resource does not exist.
2856//
2857//   * InternalServerException
2858//   An unexpected error occurred while processing a request.
2859//
2860//   * ThrottlingException
2861//   The request was denied because it exceeded the allowed API request rate.
2862//
2863// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayCertificate
2864func (c *IoTWireless) GetWirelessGatewayCertificate(input *GetWirelessGatewayCertificateInput) (*GetWirelessGatewayCertificateOutput, error) {
2865	req, out := c.GetWirelessGatewayCertificateRequest(input)
2866	return out, req.Send()
2867}
2868
2869// GetWirelessGatewayCertificateWithContext is the same as GetWirelessGatewayCertificate with the addition of
2870// the ability to pass a context and additional request options.
2871//
2872// See GetWirelessGatewayCertificate for details on how to use this API operation.
2873//
2874// The context must be non-nil and will be used for request cancellation. If
2875// the context is nil a panic will occur. In the future the SDK may create
2876// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2877// for more information on using Contexts.
2878func (c *IoTWireless) GetWirelessGatewayCertificateWithContext(ctx aws.Context, input *GetWirelessGatewayCertificateInput, opts ...request.Option) (*GetWirelessGatewayCertificateOutput, error) {
2879	req, out := c.GetWirelessGatewayCertificateRequest(input)
2880	req.SetContext(ctx)
2881	req.ApplyOptions(opts...)
2882	return out, req.Send()
2883}
2884
2885const opGetWirelessGatewayFirmwareInformation = "GetWirelessGatewayFirmwareInformation"
2886
2887// GetWirelessGatewayFirmwareInformationRequest generates a "aws/request.Request" representing the
2888// client's request for the GetWirelessGatewayFirmwareInformation operation. The "output" return
2889// value will be populated with the request's response once the request completes
2890// successfully.
2891//
2892// Use "Send" method on the returned Request to send the API call to the service.
2893// the "output" return value is not valid until after Send returns without error.
2894//
2895// See GetWirelessGatewayFirmwareInformation for more information on using the GetWirelessGatewayFirmwareInformation
2896// API call, and error handling.
2897//
2898// This method is useful when you want to inject custom logic or configuration
2899// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2900//
2901//
2902//    // Example sending a request using the GetWirelessGatewayFirmwareInformationRequest method.
2903//    req, resp := client.GetWirelessGatewayFirmwareInformationRequest(params)
2904//
2905//    err := req.Send()
2906//    if err == nil { // resp is now filled
2907//        fmt.Println(resp)
2908//    }
2909//
2910// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayFirmwareInformation
2911func (c *IoTWireless) GetWirelessGatewayFirmwareInformationRequest(input *GetWirelessGatewayFirmwareInformationInput) (req *request.Request, output *GetWirelessGatewayFirmwareInformationOutput) {
2912	op := &request.Operation{
2913		Name:       opGetWirelessGatewayFirmwareInformation,
2914		HTTPMethod: "GET",
2915		HTTPPath:   "/wireless-gateways/{Id}/firmware-information",
2916	}
2917
2918	if input == nil {
2919		input = &GetWirelessGatewayFirmwareInformationInput{}
2920	}
2921
2922	output = &GetWirelessGatewayFirmwareInformationOutput{}
2923	req = c.newRequest(op, input, output)
2924	return
2925}
2926
2927// GetWirelessGatewayFirmwareInformation API operation for AWS IoT Wireless.
2928//
2929// Gets the firmware version and other information about a wireless gateway.
2930//
2931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2932// with awserr.Error's Code and Message methods to get detailed information about
2933// the error.
2934//
2935// See the AWS API reference guide for AWS IoT Wireless's
2936// API operation GetWirelessGatewayFirmwareInformation for usage and error information.
2937//
2938// Returned Error Types:
2939//   * ValidationException
2940//   The input did not meet the specified constraints.
2941//
2942//   * AccessDeniedException
2943//   User does not have permission to perform this action.
2944//
2945//   * ResourceNotFoundException
2946//   Resource does not exist.
2947//
2948//   * InternalServerException
2949//   An unexpected error occurred while processing a request.
2950//
2951//   * ThrottlingException
2952//   The request was denied because it exceeded the allowed API request rate.
2953//
2954// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayFirmwareInformation
2955func (c *IoTWireless) GetWirelessGatewayFirmwareInformation(input *GetWirelessGatewayFirmwareInformationInput) (*GetWirelessGatewayFirmwareInformationOutput, error) {
2956	req, out := c.GetWirelessGatewayFirmwareInformationRequest(input)
2957	return out, req.Send()
2958}
2959
2960// GetWirelessGatewayFirmwareInformationWithContext is the same as GetWirelessGatewayFirmwareInformation with the addition of
2961// the ability to pass a context and additional request options.
2962//
2963// See GetWirelessGatewayFirmwareInformation for details on how to use this API operation.
2964//
2965// The context must be non-nil and will be used for request cancellation. If
2966// the context is nil a panic will occur. In the future the SDK may create
2967// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2968// for more information on using Contexts.
2969func (c *IoTWireless) GetWirelessGatewayFirmwareInformationWithContext(ctx aws.Context, input *GetWirelessGatewayFirmwareInformationInput, opts ...request.Option) (*GetWirelessGatewayFirmwareInformationOutput, error) {
2970	req, out := c.GetWirelessGatewayFirmwareInformationRequest(input)
2971	req.SetContext(ctx)
2972	req.ApplyOptions(opts...)
2973	return out, req.Send()
2974}
2975
2976const opGetWirelessGatewayStatistics = "GetWirelessGatewayStatistics"
2977
2978// GetWirelessGatewayStatisticsRequest generates a "aws/request.Request" representing the
2979// client's request for the GetWirelessGatewayStatistics operation. The "output" return
2980// value will be populated with the request's response once the request completes
2981// successfully.
2982//
2983// Use "Send" method on the returned Request to send the API call to the service.
2984// the "output" return value is not valid until after Send returns without error.
2985//
2986// See GetWirelessGatewayStatistics for more information on using the GetWirelessGatewayStatistics
2987// API call, and error handling.
2988//
2989// This method is useful when you want to inject custom logic or configuration
2990// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2991//
2992//
2993//    // Example sending a request using the GetWirelessGatewayStatisticsRequest method.
2994//    req, resp := client.GetWirelessGatewayStatisticsRequest(params)
2995//
2996//    err := req.Send()
2997//    if err == nil { // resp is now filled
2998//        fmt.Println(resp)
2999//    }
3000//
3001// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayStatistics
3002func (c *IoTWireless) GetWirelessGatewayStatisticsRequest(input *GetWirelessGatewayStatisticsInput) (req *request.Request, output *GetWirelessGatewayStatisticsOutput) {
3003	op := &request.Operation{
3004		Name:       opGetWirelessGatewayStatistics,
3005		HTTPMethod: "GET",
3006		HTTPPath:   "/wireless-gateways/{Id}/statistics",
3007	}
3008
3009	if input == nil {
3010		input = &GetWirelessGatewayStatisticsInput{}
3011	}
3012
3013	output = &GetWirelessGatewayStatisticsOutput{}
3014	req = c.newRequest(op, input, output)
3015	return
3016}
3017
3018// GetWirelessGatewayStatistics API operation for AWS IoT Wireless.
3019//
3020// Gets operating information about a wireless gateway.
3021//
3022// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3023// with awserr.Error's Code and Message methods to get detailed information about
3024// the error.
3025//
3026// See the AWS API reference guide for AWS IoT Wireless's
3027// API operation GetWirelessGatewayStatistics for usage and error information.
3028//
3029// Returned Error Types:
3030//   * ValidationException
3031//   The input did not meet the specified constraints.
3032//
3033//   * AccessDeniedException
3034//   User does not have permission to perform this action.
3035//
3036//   * ResourceNotFoundException
3037//   Resource does not exist.
3038//
3039//   * InternalServerException
3040//   An unexpected error occurred while processing a request.
3041//
3042//   * ThrottlingException
3043//   The request was denied because it exceeded the allowed API request rate.
3044//
3045// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayStatistics
3046func (c *IoTWireless) GetWirelessGatewayStatistics(input *GetWirelessGatewayStatisticsInput) (*GetWirelessGatewayStatisticsOutput, error) {
3047	req, out := c.GetWirelessGatewayStatisticsRequest(input)
3048	return out, req.Send()
3049}
3050
3051// GetWirelessGatewayStatisticsWithContext is the same as GetWirelessGatewayStatistics with the addition of
3052// the ability to pass a context and additional request options.
3053//
3054// See GetWirelessGatewayStatistics for details on how to use this API operation.
3055//
3056// The context must be non-nil and will be used for request cancellation. If
3057// the context is nil a panic will occur. In the future the SDK may create
3058// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3059// for more information on using Contexts.
3060func (c *IoTWireless) GetWirelessGatewayStatisticsWithContext(ctx aws.Context, input *GetWirelessGatewayStatisticsInput, opts ...request.Option) (*GetWirelessGatewayStatisticsOutput, error) {
3061	req, out := c.GetWirelessGatewayStatisticsRequest(input)
3062	req.SetContext(ctx)
3063	req.ApplyOptions(opts...)
3064	return out, req.Send()
3065}
3066
3067const opGetWirelessGatewayTask = "GetWirelessGatewayTask"
3068
3069// GetWirelessGatewayTaskRequest generates a "aws/request.Request" representing the
3070// client's request for the GetWirelessGatewayTask operation. The "output" return
3071// value will be populated with the request's response once the request completes
3072// successfully.
3073//
3074// Use "Send" method on the returned Request to send the API call to the service.
3075// the "output" return value is not valid until after Send returns without error.
3076//
3077// See GetWirelessGatewayTask for more information on using the GetWirelessGatewayTask
3078// API call, and error handling.
3079//
3080// This method is useful when you want to inject custom logic or configuration
3081// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3082//
3083//
3084//    // Example sending a request using the GetWirelessGatewayTaskRequest method.
3085//    req, resp := client.GetWirelessGatewayTaskRequest(params)
3086//
3087//    err := req.Send()
3088//    if err == nil { // resp is now filled
3089//        fmt.Println(resp)
3090//    }
3091//
3092// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayTask
3093func (c *IoTWireless) GetWirelessGatewayTaskRequest(input *GetWirelessGatewayTaskInput) (req *request.Request, output *GetWirelessGatewayTaskOutput) {
3094	op := &request.Operation{
3095		Name:       opGetWirelessGatewayTask,
3096		HTTPMethod: "GET",
3097		HTTPPath:   "/wireless-gateways/{Id}/tasks",
3098	}
3099
3100	if input == nil {
3101		input = &GetWirelessGatewayTaskInput{}
3102	}
3103
3104	output = &GetWirelessGatewayTaskOutput{}
3105	req = c.newRequest(op, input, output)
3106	return
3107}
3108
3109// GetWirelessGatewayTask API operation for AWS IoT Wireless.
3110//
3111// Gets information about a wireless gateway task.
3112//
3113// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3114// with awserr.Error's Code and Message methods to get detailed information about
3115// the error.
3116//
3117// See the AWS API reference guide for AWS IoT Wireless's
3118// API operation GetWirelessGatewayTask for usage and error information.
3119//
3120// Returned Error Types:
3121//   * ValidationException
3122//   The input did not meet the specified constraints.
3123//
3124//   * AccessDeniedException
3125//   User does not have permission to perform this action.
3126//
3127//   * ResourceNotFoundException
3128//   Resource does not exist.
3129//
3130//   * InternalServerException
3131//   An unexpected error occurred while processing a request.
3132//
3133//   * ThrottlingException
3134//   The request was denied because it exceeded the allowed API request rate.
3135//
3136// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayTask
3137func (c *IoTWireless) GetWirelessGatewayTask(input *GetWirelessGatewayTaskInput) (*GetWirelessGatewayTaskOutput, error) {
3138	req, out := c.GetWirelessGatewayTaskRequest(input)
3139	return out, req.Send()
3140}
3141
3142// GetWirelessGatewayTaskWithContext is the same as GetWirelessGatewayTask with the addition of
3143// the ability to pass a context and additional request options.
3144//
3145// See GetWirelessGatewayTask for details on how to use this API operation.
3146//
3147// The context must be non-nil and will be used for request cancellation. If
3148// the context is nil a panic will occur. In the future the SDK may create
3149// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3150// for more information on using Contexts.
3151func (c *IoTWireless) GetWirelessGatewayTaskWithContext(ctx aws.Context, input *GetWirelessGatewayTaskInput, opts ...request.Option) (*GetWirelessGatewayTaskOutput, error) {
3152	req, out := c.GetWirelessGatewayTaskRequest(input)
3153	req.SetContext(ctx)
3154	req.ApplyOptions(opts...)
3155	return out, req.Send()
3156}
3157
3158const opGetWirelessGatewayTaskDefinition = "GetWirelessGatewayTaskDefinition"
3159
3160// GetWirelessGatewayTaskDefinitionRequest generates a "aws/request.Request" representing the
3161// client's request for the GetWirelessGatewayTaskDefinition operation. The "output" return
3162// value will be populated with the request's response once the request completes
3163// successfully.
3164//
3165// Use "Send" method on the returned Request to send the API call to the service.
3166// the "output" return value is not valid until after Send returns without error.
3167//
3168// See GetWirelessGatewayTaskDefinition for more information on using the GetWirelessGatewayTaskDefinition
3169// API call, and error handling.
3170//
3171// This method is useful when you want to inject custom logic or configuration
3172// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3173//
3174//
3175//    // Example sending a request using the GetWirelessGatewayTaskDefinitionRequest method.
3176//    req, resp := client.GetWirelessGatewayTaskDefinitionRequest(params)
3177//
3178//    err := req.Send()
3179//    if err == nil { // resp is now filled
3180//        fmt.Println(resp)
3181//    }
3182//
3183// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayTaskDefinition
3184func (c *IoTWireless) GetWirelessGatewayTaskDefinitionRequest(input *GetWirelessGatewayTaskDefinitionInput) (req *request.Request, output *GetWirelessGatewayTaskDefinitionOutput) {
3185	op := &request.Operation{
3186		Name:       opGetWirelessGatewayTaskDefinition,
3187		HTTPMethod: "GET",
3188		HTTPPath:   "/wireless-gateway-task-definitions/{Id}",
3189	}
3190
3191	if input == nil {
3192		input = &GetWirelessGatewayTaskDefinitionInput{}
3193	}
3194
3195	output = &GetWirelessGatewayTaskDefinitionOutput{}
3196	req = c.newRequest(op, input, output)
3197	return
3198}
3199
3200// GetWirelessGatewayTaskDefinition API operation for AWS IoT Wireless.
3201//
3202// Gets information about a wireless gateway task definition.
3203//
3204// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3205// with awserr.Error's Code and Message methods to get detailed information about
3206// the error.
3207//
3208// See the AWS API reference guide for AWS IoT Wireless's
3209// API operation GetWirelessGatewayTaskDefinition for usage and error information.
3210//
3211// Returned Error Types:
3212//   * ValidationException
3213//   The input did not meet the specified constraints.
3214//
3215//   * AccessDeniedException
3216//   User does not have permission to perform this action.
3217//
3218//   * ResourceNotFoundException
3219//   Resource does not exist.
3220//
3221//   * InternalServerException
3222//   An unexpected error occurred while processing a request.
3223//
3224//   * ThrottlingException
3225//   The request was denied because it exceeded the allowed API request rate.
3226//
3227// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayTaskDefinition
3228func (c *IoTWireless) GetWirelessGatewayTaskDefinition(input *GetWirelessGatewayTaskDefinitionInput) (*GetWirelessGatewayTaskDefinitionOutput, error) {
3229	req, out := c.GetWirelessGatewayTaskDefinitionRequest(input)
3230	return out, req.Send()
3231}
3232
3233// GetWirelessGatewayTaskDefinitionWithContext is the same as GetWirelessGatewayTaskDefinition with the addition of
3234// the ability to pass a context and additional request options.
3235//
3236// See GetWirelessGatewayTaskDefinition for details on how to use this API operation.
3237//
3238// The context must be non-nil and will be used for request cancellation. If
3239// the context is nil a panic will occur. In the future the SDK may create
3240// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3241// for more information on using Contexts.
3242func (c *IoTWireless) GetWirelessGatewayTaskDefinitionWithContext(ctx aws.Context, input *GetWirelessGatewayTaskDefinitionInput, opts ...request.Option) (*GetWirelessGatewayTaskDefinitionOutput, error) {
3243	req, out := c.GetWirelessGatewayTaskDefinitionRequest(input)
3244	req.SetContext(ctx)
3245	req.ApplyOptions(opts...)
3246	return out, req.Send()
3247}
3248
3249const opListDestinations = "ListDestinations"
3250
3251// ListDestinationsRequest generates a "aws/request.Request" representing the
3252// client's request for the ListDestinations operation. The "output" return
3253// value will be populated with the request's response once the request completes
3254// successfully.
3255//
3256// Use "Send" method on the returned Request to send the API call to the service.
3257// the "output" return value is not valid until after Send returns without error.
3258//
3259// See ListDestinations for more information on using the ListDestinations
3260// API call, and error handling.
3261//
3262// This method is useful when you want to inject custom logic or configuration
3263// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3264//
3265//
3266//    // Example sending a request using the ListDestinationsRequest method.
3267//    req, resp := client.ListDestinationsRequest(params)
3268//
3269//    err := req.Send()
3270//    if err == nil { // resp is now filled
3271//        fmt.Println(resp)
3272//    }
3273//
3274// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListDestinations
3275func (c *IoTWireless) ListDestinationsRequest(input *ListDestinationsInput) (req *request.Request, output *ListDestinationsOutput) {
3276	op := &request.Operation{
3277		Name:       opListDestinations,
3278		HTTPMethod: "GET",
3279		HTTPPath:   "/destinations",
3280		Paginator: &request.Paginator{
3281			InputTokens:     []string{"NextToken"},
3282			OutputTokens:    []string{"NextToken"},
3283			LimitToken:      "MaxResults",
3284			TruncationToken: "",
3285		},
3286	}
3287
3288	if input == nil {
3289		input = &ListDestinationsInput{}
3290	}
3291
3292	output = &ListDestinationsOutput{}
3293	req = c.newRequest(op, input, output)
3294	return
3295}
3296
3297// ListDestinations API operation for AWS IoT Wireless.
3298//
3299// Lists the destinations registered to your AWS account.
3300//
3301// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3302// with awserr.Error's Code and Message methods to get detailed information about
3303// the error.
3304//
3305// See the AWS API reference guide for AWS IoT Wireless's
3306// API operation ListDestinations for usage and error information.
3307//
3308// Returned Error Types:
3309//   * ValidationException
3310//   The input did not meet the specified constraints.
3311//
3312//   * AccessDeniedException
3313//   User does not have permission to perform this action.
3314//
3315//   * InternalServerException
3316//   An unexpected error occurred while processing a request.
3317//
3318//   * ThrottlingException
3319//   The request was denied because it exceeded the allowed API request rate.
3320//
3321// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListDestinations
3322func (c *IoTWireless) ListDestinations(input *ListDestinationsInput) (*ListDestinationsOutput, error) {
3323	req, out := c.ListDestinationsRequest(input)
3324	return out, req.Send()
3325}
3326
3327// ListDestinationsWithContext is the same as ListDestinations with the addition of
3328// the ability to pass a context and additional request options.
3329//
3330// See ListDestinations for details on how to use this API operation.
3331//
3332// The context must be non-nil and will be used for request cancellation. If
3333// the context is nil a panic will occur. In the future the SDK may create
3334// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3335// for more information on using Contexts.
3336func (c *IoTWireless) ListDestinationsWithContext(ctx aws.Context, input *ListDestinationsInput, opts ...request.Option) (*ListDestinationsOutput, error) {
3337	req, out := c.ListDestinationsRequest(input)
3338	req.SetContext(ctx)
3339	req.ApplyOptions(opts...)
3340	return out, req.Send()
3341}
3342
3343// ListDestinationsPages iterates over the pages of a ListDestinations operation,
3344// calling the "fn" function with the response data for each page. To stop
3345// iterating, return false from the fn function.
3346//
3347// See ListDestinations method for more information on how to use this operation.
3348//
3349// Note: This operation can generate multiple requests to a service.
3350//
3351//    // Example iterating over at most 3 pages of a ListDestinations operation.
3352//    pageNum := 0
3353//    err := client.ListDestinationsPages(params,
3354//        func(page *iotwireless.ListDestinationsOutput, lastPage bool) bool {
3355//            pageNum++
3356//            fmt.Println(page)
3357//            return pageNum <= 3
3358//        })
3359//
3360func (c *IoTWireless) ListDestinationsPages(input *ListDestinationsInput, fn func(*ListDestinationsOutput, bool) bool) error {
3361	return c.ListDestinationsPagesWithContext(aws.BackgroundContext(), input, fn)
3362}
3363
3364// ListDestinationsPagesWithContext same as ListDestinationsPages except
3365// it takes a Context and allows setting request options on the pages.
3366//
3367// The context must be non-nil and will be used for request cancellation. If
3368// the context is nil a panic will occur. In the future the SDK may create
3369// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3370// for more information on using Contexts.
3371func (c *IoTWireless) ListDestinationsPagesWithContext(ctx aws.Context, input *ListDestinationsInput, fn func(*ListDestinationsOutput, bool) bool, opts ...request.Option) error {
3372	p := request.Pagination{
3373		NewRequest: func() (*request.Request, error) {
3374			var inCpy *ListDestinationsInput
3375			if input != nil {
3376				tmp := *input
3377				inCpy = &tmp
3378			}
3379			req, _ := c.ListDestinationsRequest(inCpy)
3380			req.SetContext(ctx)
3381			req.ApplyOptions(opts...)
3382			return req, nil
3383		},
3384	}
3385
3386	for p.Next() {
3387		if !fn(p.Page().(*ListDestinationsOutput), !p.HasNextPage()) {
3388			break
3389		}
3390	}
3391
3392	return p.Err()
3393}
3394
3395const opListDeviceProfiles = "ListDeviceProfiles"
3396
3397// ListDeviceProfilesRequest generates a "aws/request.Request" representing the
3398// client's request for the ListDeviceProfiles operation. The "output" return
3399// value will be populated with the request's response once the request completes
3400// successfully.
3401//
3402// Use "Send" method on the returned Request to send the API call to the service.
3403// the "output" return value is not valid until after Send returns without error.
3404//
3405// See ListDeviceProfiles for more information on using the ListDeviceProfiles
3406// API call, and error handling.
3407//
3408// This method is useful when you want to inject custom logic or configuration
3409// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3410//
3411//
3412//    // Example sending a request using the ListDeviceProfilesRequest method.
3413//    req, resp := client.ListDeviceProfilesRequest(params)
3414//
3415//    err := req.Send()
3416//    if err == nil { // resp is now filled
3417//        fmt.Println(resp)
3418//    }
3419//
3420// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListDeviceProfiles
3421func (c *IoTWireless) ListDeviceProfilesRequest(input *ListDeviceProfilesInput) (req *request.Request, output *ListDeviceProfilesOutput) {
3422	op := &request.Operation{
3423		Name:       opListDeviceProfiles,
3424		HTTPMethod: "GET",
3425		HTTPPath:   "/device-profiles",
3426		Paginator: &request.Paginator{
3427			InputTokens:     []string{"NextToken"},
3428			OutputTokens:    []string{"NextToken"},
3429			LimitToken:      "MaxResults",
3430			TruncationToken: "",
3431		},
3432	}
3433
3434	if input == nil {
3435		input = &ListDeviceProfilesInput{}
3436	}
3437
3438	output = &ListDeviceProfilesOutput{}
3439	req = c.newRequest(op, input, output)
3440	return
3441}
3442
3443// ListDeviceProfiles API operation for AWS IoT Wireless.
3444//
3445// Lists the device profiles registered to your AWS account.
3446//
3447// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3448// with awserr.Error's Code and Message methods to get detailed information about
3449// the error.
3450//
3451// See the AWS API reference guide for AWS IoT Wireless's
3452// API operation ListDeviceProfiles for usage and error information.
3453//
3454// Returned Error Types:
3455//   * ValidationException
3456//   The input did not meet the specified constraints.
3457//
3458//   * AccessDeniedException
3459//   User does not have permission to perform this action.
3460//
3461//   * InternalServerException
3462//   An unexpected error occurred while processing a request.
3463//
3464//   * ThrottlingException
3465//   The request was denied because it exceeded the allowed API request rate.
3466//
3467// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListDeviceProfiles
3468func (c *IoTWireless) ListDeviceProfiles(input *ListDeviceProfilesInput) (*ListDeviceProfilesOutput, error) {
3469	req, out := c.ListDeviceProfilesRequest(input)
3470	return out, req.Send()
3471}
3472
3473// ListDeviceProfilesWithContext is the same as ListDeviceProfiles with the addition of
3474// the ability to pass a context and additional request options.
3475//
3476// See ListDeviceProfiles for details on how to use this API operation.
3477//
3478// The context must be non-nil and will be used for request cancellation. If
3479// the context is nil a panic will occur. In the future the SDK may create
3480// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3481// for more information on using Contexts.
3482func (c *IoTWireless) ListDeviceProfilesWithContext(ctx aws.Context, input *ListDeviceProfilesInput, opts ...request.Option) (*ListDeviceProfilesOutput, error) {
3483	req, out := c.ListDeviceProfilesRequest(input)
3484	req.SetContext(ctx)
3485	req.ApplyOptions(opts...)
3486	return out, req.Send()
3487}
3488
3489// ListDeviceProfilesPages iterates over the pages of a ListDeviceProfiles operation,
3490// calling the "fn" function with the response data for each page. To stop
3491// iterating, return false from the fn function.
3492//
3493// See ListDeviceProfiles method for more information on how to use this operation.
3494//
3495// Note: This operation can generate multiple requests to a service.
3496//
3497//    // Example iterating over at most 3 pages of a ListDeviceProfiles operation.
3498//    pageNum := 0
3499//    err := client.ListDeviceProfilesPages(params,
3500//        func(page *iotwireless.ListDeviceProfilesOutput, lastPage bool) bool {
3501//            pageNum++
3502//            fmt.Println(page)
3503//            return pageNum <= 3
3504//        })
3505//
3506func (c *IoTWireless) ListDeviceProfilesPages(input *ListDeviceProfilesInput, fn func(*ListDeviceProfilesOutput, bool) bool) error {
3507	return c.ListDeviceProfilesPagesWithContext(aws.BackgroundContext(), input, fn)
3508}
3509
3510// ListDeviceProfilesPagesWithContext same as ListDeviceProfilesPages except
3511// it takes a Context and allows setting request options on the pages.
3512//
3513// The context must be non-nil and will be used for request cancellation. If
3514// the context is nil a panic will occur. In the future the SDK may create
3515// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3516// for more information on using Contexts.
3517func (c *IoTWireless) ListDeviceProfilesPagesWithContext(ctx aws.Context, input *ListDeviceProfilesInput, fn func(*ListDeviceProfilesOutput, bool) bool, opts ...request.Option) error {
3518	p := request.Pagination{
3519		NewRequest: func() (*request.Request, error) {
3520			var inCpy *ListDeviceProfilesInput
3521			if input != nil {
3522				tmp := *input
3523				inCpy = &tmp
3524			}
3525			req, _ := c.ListDeviceProfilesRequest(inCpy)
3526			req.SetContext(ctx)
3527			req.ApplyOptions(opts...)
3528			return req, nil
3529		},
3530	}
3531
3532	for p.Next() {
3533		if !fn(p.Page().(*ListDeviceProfilesOutput), !p.HasNextPage()) {
3534			break
3535		}
3536	}
3537
3538	return p.Err()
3539}
3540
3541const opListPartnerAccounts = "ListPartnerAccounts"
3542
3543// ListPartnerAccountsRequest generates a "aws/request.Request" representing the
3544// client's request for the ListPartnerAccounts operation. The "output" return
3545// value will be populated with the request's response once the request completes
3546// successfully.
3547//
3548// Use "Send" method on the returned Request to send the API call to the service.
3549// the "output" return value is not valid until after Send returns without error.
3550//
3551// See ListPartnerAccounts for more information on using the ListPartnerAccounts
3552// API call, and error handling.
3553//
3554// This method is useful when you want to inject custom logic or configuration
3555// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3556//
3557//
3558//    // Example sending a request using the ListPartnerAccountsRequest method.
3559//    req, resp := client.ListPartnerAccountsRequest(params)
3560//
3561//    err := req.Send()
3562//    if err == nil { // resp is now filled
3563//        fmt.Println(resp)
3564//    }
3565//
3566// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListPartnerAccounts
3567func (c *IoTWireless) ListPartnerAccountsRequest(input *ListPartnerAccountsInput) (req *request.Request, output *ListPartnerAccountsOutput) {
3568	op := &request.Operation{
3569		Name:       opListPartnerAccounts,
3570		HTTPMethod: "GET",
3571		HTTPPath:   "/partner-accounts",
3572	}
3573
3574	if input == nil {
3575		input = &ListPartnerAccountsInput{}
3576	}
3577
3578	output = &ListPartnerAccountsOutput{}
3579	req = c.newRequest(op, input, output)
3580	return
3581}
3582
3583// ListPartnerAccounts API operation for AWS IoT Wireless.
3584//
3585// Lists the partner accounts associated with your AWS account.
3586//
3587// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3588// with awserr.Error's Code and Message methods to get detailed information about
3589// the error.
3590//
3591// See the AWS API reference guide for AWS IoT Wireless's
3592// API operation ListPartnerAccounts for usage and error information.
3593//
3594// Returned Error Types:
3595//   * ValidationException
3596//   The input did not meet the specified constraints.
3597//
3598//   * ResourceNotFoundException
3599//   Resource does not exist.
3600//
3601//   * InternalServerException
3602//   An unexpected error occurred while processing a request.
3603//
3604//   * ThrottlingException
3605//   The request was denied because it exceeded the allowed API request rate.
3606//
3607// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListPartnerAccounts
3608func (c *IoTWireless) ListPartnerAccounts(input *ListPartnerAccountsInput) (*ListPartnerAccountsOutput, error) {
3609	req, out := c.ListPartnerAccountsRequest(input)
3610	return out, req.Send()
3611}
3612
3613// ListPartnerAccountsWithContext is the same as ListPartnerAccounts with the addition of
3614// the ability to pass a context and additional request options.
3615//
3616// See ListPartnerAccounts for details on how to use this API operation.
3617//
3618// The context must be non-nil and will be used for request cancellation. If
3619// the context is nil a panic will occur. In the future the SDK may create
3620// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3621// for more information on using Contexts.
3622func (c *IoTWireless) ListPartnerAccountsWithContext(ctx aws.Context, input *ListPartnerAccountsInput, opts ...request.Option) (*ListPartnerAccountsOutput, error) {
3623	req, out := c.ListPartnerAccountsRequest(input)
3624	req.SetContext(ctx)
3625	req.ApplyOptions(opts...)
3626	return out, req.Send()
3627}
3628
3629const opListServiceProfiles = "ListServiceProfiles"
3630
3631// ListServiceProfilesRequest generates a "aws/request.Request" representing the
3632// client's request for the ListServiceProfiles operation. The "output" return
3633// value will be populated with the request's response once the request completes
3634// successfully.
3635//
3636// Use "Send" method on the returned Request to send the API call to the service.
3637// the "output" return value is not valid until after Send returns without error.
3638//
3639// See ListServiceProfiles for more information on using the ListServiceProfiles
3640// API call, and error handling.
3641//
3642// This method is useful when you want to inject custom logic or configuration
3643// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3644//
3645//
3646//    // Example sending a request using the ListServiceProfilesRequest method.
3647//    req, resp := client.ListServiceProfilesRequest(params)
3648//
3649//    err := req.Send()
3650//    if err == nil { // resp is now filled
3651//        fmt.Println(resp)
3652//    }
3653//
3654// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListServiceProfiles
3655func (c *IoTWireless) ListServiceProfilesRequest(input *ListServiceProfilesInput) (req *request.Request, output *ListServiceProfilesOutput) {
3656	op := &request.Operation{
3657		Name:       opListServiceProfiles,
3658		HTTPMethod: "GET",
3659		HTTPPath:   "/service-profiles",
3660		Paginator: &request.Paginator{
3661			InputTokens:     []string{"NextToken"},
3662			OutputTokens:    []string{"NextToken"},
3663			LimitToken:      "MaxResults",
3664			TruncationToken: "",
3665		},
3666	}
3667
3668	if input == nil {
3669		input = &ListServiceProfilesInput{}
3670	}
3671
3672	output = &ListServiceProfilesOutput{}
3673	req = c.newRequest(op, input, output)
3674	return
3675}
3676
3677// ListServiceProfiles API operation for AWS IoT Wireless.
3678//
3679// Lists the service profiles registered to your AWS account.
3680//
3681// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3682// with awserr.Error's Code and Message methods to get detailed information about
3683// the error.
3684//
3685// See the AWS API reference guide for AWS IoT Wireless's
3686// API operation ListServiceProfiles for usage and error information.
3687//
3688// Returned Error Types:
3689//   * ValidationException
3690//   The input did not meet the specified constraints.
3691//
3692//   * AccessDeniedException
3693//   User does not have permission to perform this action.
3694//
3695//   * InternalServerException
3696//   An unexpected error occurred while processing a request.
3697//
3698//   * ThrottlingException
3699//   The request was denied because it exceeded the allowed API request rate.
3700//
3701// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListServiceProfiles
3702func (c *IoTWireless) ListServiceProfiles(input *ListServiceProfilesInput) (*ListServiceProfilesOutput, error) {
3703	req, out := c.ListServiceProfilesRequest(input)
3704	return out, req.Send()
3705}
3706
3707// ListServiceProfilesWithContext is the same as ListServiceProfiles with the addition of
3708// the ability to pass a context and additional request options.
3709//
3710// See ListServiceProfiles for details on how to use this API operation.
3711//
3712// The context must be non-nil and will be used for request cancellation. If
3713// the context is nil a panic will occur. In the future the SDK may create
3714// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3715// for more information on using Contexts.
3716func (c *IoTWireless) ListServiceProfilesWithContext(ctx aws.Context, input *ListServiceProfilesInput, opts ...request.Option) (*ListServiceProfilesOutput, error) {
3717	req, out := c.ListServiceProfilesRequest(input)
3718	req.SetContext(ctx)
3719	req.ApplyOptions(opts...)
3720	return out, req.Send()
3721}
3722
3723// ListServiceProfilesPages iterates over the pages of a ListServiceProfiles operation,
3724// calling the "fn" function with the response data for each page. To stop
3725// iterating, return false from the fn function.
3726//
3727// See ListServiceProfiles method for more information on how to use this operation.
3728//
3729// Note: This operation can generate multiple requests to a service.
3730//
3731//    // Example iterating over at most 3 pages of a ListServiceProfiles operation.
3732//    pageNum := 0
3733//    err := client.ListServiceProfilesPages(params,
3734//        func(page *iotwireless.ListServiceProfilesOutput, lastPage bool) bool {
3735//            pageNum++
3736//            fmt.Println(page)
3737//            return pageNum <= 3
3738//        })
3739//
3740func (c *IoTWireless) ListServiceProfilesPages(input *ListServiceProfilesInput, fn func(*ListServiceProfilesOutput, bool) bool) error {
3741	return c.ListServiceProfilesPagesWithContext(aws.BackgroundContext(), input, fn)
3742}
3743
3744// ListServiceProfilesPagesWithContext same as ListServiceProfilesPages except
3745// it takes a Context and allows setting request options on the pages.
3746//
3747// The context must be non-nil and will be used for request cancellation. If
3748// the context is nil a panic will occur. In the future the SDK may create
3749// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3750// for more information on using Contexts.
3751func (c *IoTWireless) ListServiceProfilesPagesWithContext(ctx aws.Context, input *ListServiceProfilesInput, fn func(*ListServiceProfilesOutput, bool) bool, opts ...request.Option) error {
3752	p := request.Pagination{
3753		NewRequest: func() (*request.Request, error) {
3754			var inCpy *ListServiceProfilesInput
3755			if input != nil {
3756				tmp := *input
3757				inCpy = &tmp
3758			}
3759			req, _ := c.ListServiceProfilesRequest(inCpy)
3760			req.SetContext(ctx)
3761			req.ApplyOptions(opts...)
3762			return req, nil
3763		},
3764	}
3765
3766	for p.Next() {
3767		if !fn(p.Page().(*ListServiceProfilesOutput), !p.HasNextPage()) {
3768			break
3769		}
3770	}
3771
3772	return p.Err()
3773}
3774
3775const opListTagsForResource = "ListTagsForResource"
3776
3777// ListTagsForResourceRequest generates a "aws/request.Request" representing the
3778// client's request for the ListTagsForResource operation. The "output" return
3779// value will be populated with the request's response once the request completes
3780// successfully.
3781//
3782// Use "Send" method on the returned Request to send the API call to the service.
3783// the "output" return value is not valid until after Send returns without error.
3784//
3785// See ListTagsForResource for more information on using the ListTagsForResource
3786// API call, and error handling.
3787//
3788// This method is useful when you want to inject custom logic or configuration
3789// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3790//
3791//
3792//    // Example sending a request using the ListTagsForResourceRequest method.
3793//    req, resp := client.ListTagsForResourceRequest(params)
3794//
3795//    err := req.Send()
3796//    if err == nil { // resp is now filled
3797//        fmt.Println(resp)
3798//    }
3799//
3800// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListTagsForResource
3801func (c *IoTWireless) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
3802	op := &request.Operation{
3803		Name:       opListTagsForResource,
3804		HTTPMethod: "GET",
3805		HTTPPath:   "/tags",
3806	}
3807
3808	if input == nil {
3809		input = &ListTagsForResourceInput{}
3810	}
3811
3812	output = &ListTagsForResourceOutput{}
3813	req = c.newRequest(op, input, output)
3814	return
3815}
3816
3817// ListTagsForResource API operation for AWS IoT Wireless.
3818//
3819// Lists the tags (metadata) you have assigned to the resource.
3820//
3821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3822// with awserr.Error's Code and Message methods to get detailed information about
3823// the error.
3824//
3825// See the AWS API reference guide for AWS IoT Wireless's
3826// API operation ListTagsForResource for usage and error information.
3827//
3828// Returned Error Types:
3829//   * ValidationException
3830//   The input did not meet the specified constraints.
3831//
3832//   * ResourceNotFoundException
3833//   Resource does not exist.
3834//
3835//   * ConflictException
3836//   Adding, updating, or deleting the resource can cause an inconsistent state.
3837//
3838//   * InternalServerException
3839//   An unexpected error occurred while processing a request.
3840//
3841//   * ThrottlingException
3842//   The request was denied because it exceeded the allowed API request rate.
3843//
3844// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListTagsForResource
3845func (c *IoTWireless) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
3846	req, out := c.ListTagsForResourceRequest(input)
3847	return out, req.Send()
3848}
3849
3850// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
3851// the ability to pass a context and additional request options.
3852//
3853// See ListTagsForResource for details on how to use this API operation.
3854//
3855// The context must be non-nil and will be used for request cancellation. If
3856// the context is nil a panic will occur. In the future the SDK may create
3857// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3858// for more information on using Contexts.
3859func (c *IoTWireless) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
3860	req, out := c.ListTagsForResourceRequest(input)
3861	req.SetContext(ctx)
3862	req.ApplyOptions(opts...)
3863	return out, req.Send()
3864}
3865
3866const opListWirelessDevices = "ListWirelessDevices"
3867
3868// ListWirelessDevicesRequest generates a "aws/request.Request" representing the
3869// client's request for the ListWirelessDevices operation. The "output" return
3870// value will be populated with the request's response once the request completes
3871// successfully.
3872//
3873// Use "Send" method on the returned Request to send the API call to the service.
3874// the "output" return value is not valid until after Send returns without error.
3875//
3876// See ListWirelessDevices for more information on using the ListWirelessDevices
3877// API call, and error handling.
3878//
3879// This method is useful when you want to inject custom logic or configuration
3880// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3881//
3882//
3883//    // Example sending a request using the ListWirelessDevicesRequest method.
3884//    req, resp := client.ListWirelessDevicesRequest(params)
3885//
3886//    err := req.Send()
3887//    if err == nil { // resp is now filled
3888//        fmt.Println(resp)
3889//    }
3890//
3891// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListWirelessDevices
3892func (c *IoTWireless) ListWirelessDevicesRequest(input *ListWirelessDevicesInput) (req *request.Request, output *ListWirelessDevicesOutput) {
3893	op := &request.Operation{
3894		Name:       opListWirelessDevices,
3895		HTTPMethod: "GET",
3896		HTTPPath:   "/wireless-devices",
3897		Paginator: &request.Paginator{
3898			InputTokens:     []string{"NextToken"},
3899			OutputTokens:    []string{"NextToken"},
3900			LimitToken:      "MaxResults",
3901			TruncationToken: "",
3902		},
3903	}
3904
3905	if input == nil {
3906		input = &ListWirelessDevicesInput{}
3907	}
3908
3909	output = &ListWirelessDevicesOutput{}
3910	req = c.newRequest(op, input, output)
3911	return
3912}
3913
3914// ListWirelessDevices API operation for AWS IoT Wireless.
3915//
3916// Lists the wireless devices registered to your AWS account.
3917//
3918// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3919// with awserr.Error's Code and Message methods to get detailed information about
3920// the error.
3921//
3922// See the AWS API reference guide for AWS IoT Wireless's
3923// API operation ListWirelessDevices for usage and error information.
3924//
3925// Returned Error Types:
3926//   * ValidationException
3927//   The input did not meet the specified constraints.
3928//
3929//   * InternalServerException
3930//   An unexpected error occurred while processing a request.
3931//
3932//   * ThrottlingException
3933//   The request was denied because it exceeded the allowed API request rate.
3934//
3935//   * AccessDeniedException
3936//   User does not have permission to perform this action.
3937//
3938// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListWirelessDevices
3939func (c *IoTWireless) ListWirelessDevices(input *ListWirelessDevicesInput) (*ListWirelessDevicesOutput, error) {
3940	req, out := c.ListWirelessDevicesRequest(input)
3941	return out, req.Send()
3942}
3943
3944// ListWirelessDevicesWithContext is the same as ListWirelessDevices with the addition of
3945// the ability to pass a context and additional request options.
3946//
3947// See ListWirelessDevices for details on how to use this API operation.
3948//
3949// The context must be non-nil and will be used for request cancellation. If
3950// the context is nil a panic will occur. In the future the SDK may create
3951// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3952// for more information on using Contexts.
3953func (c *IoTWireless) ListWirelessDevicesWithContext(ctx aws.Context, input *ListWirelessDevicesInput, opts ...request.Option) (*ListWirelessDevicesOutput, error) {
3954	req, out := c.ListWirelessDevicesRequest(input)
3955	req.SetContext(ctx)
3956	req.ApplyOptions(opts...)
3957	return out, req.Send()
3958}
3959
3960// ListWirelessDevicesPages iterates over the pages of a ListWirelessDevices operation,
3961// calling the "fn" function with the response data for each page. To stop
3962// iterating, return false from the fn function.
3963//
3964// See ListWirelessDevices method for more information on how to use this operation.
3965//
3966// Note: This operation can generate multiple requests to a service.
3967//
3968//    // Example iterating over at most 3 pages of a ListWirelessDevices operation.
3969//    pageNum := 0
3970//    err := client.ListWirelessDevicesPages(params,
3971//        func(page *iotwireless.ListWirelessDevicesOutput, lastPage bool) bool {
3972//            pageNum++
3973//            fmt.Println(page)
3974//            return pageNum <= 3
3975//        })
3976//
3977func (c *IoTWireless) ListWirelessDevicesPages(input *ListWirelessDevicesInput, fn func(*ListWirelessDevicesOutput, bool) bool) error {
3978	return c.ListWirelessDevicesPagesWithContext(aws.BackgroundContext(), input, fn)
3979}
3980
3981// ListWirelessDevicesPagesWithContext same as ListWirelessDevicesPages except
3982// it takes a Context and allows setting request options on the pages.
3983//
3984// The context must be non-nil and will be used for request cancellation. If
3985// the context is nil a panic will occur. In the future the SDK may create
3986// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3987// for more information on using Contexts.
3988func (c *IoTWireless) ListWirelessDevicesPagesWithContext(ctx aws.Context, input *ListWirelessDevicesInput, fn func(*ListWirelessDevicesOutput, bool) bool, opts ...request.Option) error {
3989	p := request.Pagination{
3990		NewRequest: func() (*request.Request, error) {
3991			var inCpy *ListWirelessDevicesInput
3992			if input != nil {
3993				tmp := *input
3994				inCpy = &tmp
3995			}
3996			req, _ := c.ListWirelessDevicesRequest(inCpy)
3997			req.SetContext(ctx)
3998			req.ApplyOptions(opts...)
3999			return req, nil
4000		},
4001	}
4002
4003	for p.Next() {
4004		if !fn(p.Page().(*ListWirelessDevicesOutput), !p.HasNextPage()) {
4005			break
4006		}
4007	}
4008
4009	return p.Err()
4010}
4011
4012const opListWirelessGatewayTaskDefinitions = "ListWirelessGatewayTaskDefinitions"
4013
4014// ListWirelessGatewayTaskDefinitionsRequest generates a "aws/request.Request" representing the
4015// client's request for the ListWirelessGatewayTaskDefinitions operation. The "output" return
4016// value will be populated with the request's response once the request completes
4017// successfully.
4018//
4019// Use "Send" method on the returned Request to send the API call to the service.
4020// the "output" return value is not valid until after Send returns without error.
4021//
4022// See ListWirelessGatewayTaskDefinitions for more information on using the ListWirelessGatewayTaskDefinitions
4023// API call, and error handling.
4024//
4025// This method is useful when you want to inject custom logic or configuration
4026// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4027//
4028//
4029//    // Example sending a request using the ListWirelessGatewayTaskDefinitionsRequest method.
4030//    req, resp := client.ListWirelessGatewayTaskDefinitionsRequest(params)
4031//
4032//    err := req.Send()
4033//    if err == nil { // resp is now filled
4034//        fmt.Println(resp)
4035//    }
4036//
4037// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListWirelessGatewayTaskDefinitions
4038func (c *IoTWireless) ListWirelessGatewayTaskDefinitionsRequest(input *ListWirelessGatewayTaskDefinitionsInput) (req *request.Request, output *ListWirelessGatewayTaskDefinitionsOutput) {
4039	op := &request.Operation{
4040		Name:       opListWirelessGatewayTaskDefinitions,
4041		HTTPMethod: "GET",
4042		HTTPPath:   "/wireless-gateway-task-definitions",
4043	}
4044
4045	if input == nil {
4046		input = &ListWirelessGatewayTaskDefinitionsInput{}
4047	}
4048
4049	output = &ListWirelessGatewayTaskDefinitionsOutput{}
4050	req = c.newRequest(op, input, output)
4051	return
4052}
4053
4054// ListWirelessGatewayTaskDefinitions API operation for AWS IoT Wireless.
4055//
4056// List the wireless gateway tasks definitions registered to your AWS account.
4057//
4058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4059// with awserr.Error's Code and Message methods to get detailed information about
4060// the error.
4061//
4062// See the AWS API reference guide for AWS IoT Wireless's
4063// API operation ListWirelessGatewayTaskDefinitions for usage and error information.
4064//
4065// Returned Error Types:
4066//   * ValidationException
4067//   The input did not meet the specified constraints.
4068//
4069//   * AccessDeniedException
4070//   User does not have permission to perform this action.
4071//
4072//   * InternalServerException
4073//   An unexpected error occurred while processing a request.
4074//
4075//   * ThrottlingException
4076//   The request was denied because it exceeded the allowed API request rate.
4077//
4078// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListWirelessGatewayTaskDefinitions
4079func (c *IoTWireless) ListWirelessGatewayTaskDefinitions(input *ListWirelessGatewayTaskDefinitionsInput) (*ListWirelessGatewayTaskDefinitionsOutput, error) {
4080	req, out := c.ListWirelessGatewayTaskDefinitionsRequest(input)
4081	return out, req.Send()
4082}
4083
4084// ListWirelessGatewayTaskDefinitionsWithContext is the same as ListWirelessGatewayTaskDefinitions with the addition of
4085// the ability to pass a context and additional request options.
4086//
4087// See ListWirelessGatewayTaskDefinitions for details on how to use this API operation.
4088//
4089// The context must be non-nil and will be used for request cancellation. If
4090// the context is nil a panic will occur. In the future the SDK may create
4091// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4092// for more information on using Contexts.
4093func (c *IoTWireless) ListWirelessGatewayTaskDefinitionsWithContext(ctx aws.Context, input *ListWirelessGatewayTaskDefinitionsInput, opts ...request.Option) (*ListWirelessGatewayTaskDefinitionsOutput, error) {
4094	req, out := c.ListWirelessGatewayTaskDefinitionsRequest(input)
4095	req.SetContext(ctx)
4096	req.ApplyOptions(opts...)
4097	return out, req.Send()
4098}
4099
4100const opListWirelessGateways = "ListWirelessGateways"
4101
4102// ListWirelessGatewaysRequest generates a "aws/request.Request" representing the
4103// client's request for the ListWirelessGateways operation. The "output" return
4104// value will be populated with the request's response once the request completes
4105// successfully.
4106//
4107// Use "Send" method on the returned Request to send the API call to the service.
4108// the "output" return value is not valid until after Send returns without error.
4109//
4110// See ListWirelessGateways for more information on using the ListWirelessGateways
4111// API call, and error handling.
4112//
4113// This method is useful when you want to inject custom logic or configuration
4114// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4115//
4116//
4117//    // Example sending a request using the ListWirelessGatewaysRequest method.
4118//    req, resp := client.ListWirelessGatewaysRequest(params)
4119//
4120//    err := req.Send()
4121//    if err == nil { // resp is now filled
4122//        fmt.Println(resp)
4123//    }
4124//
4125// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListWirelessGateways
4126func (c *IoTWireless) ListWirelessGatewaysRequest(input *ListWirelessGatewaysInput) (req *request.Request, output *ListWirelessGatewaysOutput) {
4127	op := &request.Operation{
4128		Name:       opListWirelessGateways,
4129		HTTPMethod: "GET",
4130		HTTPPath:   "/wireless-gateways",
4131		Paginator: &request.Paginator{
4132			InputTokens:     []string{"NextToken"},
4133			OutputTokens:    []string{"NextToken"},
4134			LimitToken:      "MaxResults",
4135			TruncationToken: "",
4136		},
4137	}
4138
4139	if input == nil {
4140		input = &ListWirelessGatewaysInput{}
4141	}
4142
4143	output = &ListWirelessGatewaysOutput{}
4144	req = c.newRequest(op, input, output)
4145	return
4146}
4147
4148// ListWirelessGateways API operation for AWS IoT Wireless.
4149//
4150// Lists the wireless gateways registered to your AWS account.
4151//
4152// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4153// with awserr.Error's Code and Message methods to get detailed information about
4154// the error.
4155//
4156// See the AWS API reference guide for AWS IoT Wireless's
4157// API operation ListWirelessGateways for usage and error information.
4158//
4159// Returned Error Types:
4160//   * ValidationException
4161//   The input did not meet the specified constraints.
4162//
4163//   * InternalServerException
4164//   An unexpected error occurred while processing a request.
4165//
4166//   * ThrottlingException
4167//   The request was denied because it exceeded the allowed API request rate.
4168//
4169//   * AccessDeniedException
4170//   User does not have permission to perform this action.
4171//
4172// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListWirelessGateways
4173func (c *IoTWireless) ListWirelessGateways(input *ListWirelessGatewaysInput) (*ListWirelessGatewaysOutput, error) {
4174	req, out := c.ListWirelessGatewaysRequest(input)
4175	return out, req.Send()
4176}
4177
4178// ListWirelessGatewaysWithContext is the same as ListWirelessGateways with the addition of
4179// the ability to pass a context and additional request options.
4180//
4181// See ListWirelessGateways for details on how to use this API operation.
4182//
4183// The context must be non-nil and will be used for request cancellation. If
4184// the context is nil a panic will occur. In the future the SDK may create
4185// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4186// for more information on using Contexts.
4187func (c *IoTWireless) ListWirelessGatewaysWithContext(ctx aws.Context, input *ListWirelessGatewaysInput, opts ...request.Option) (*ListWirelessGatewaysOutput, error) {
4188	req, out := c.ListWirelessGatewaysRequest(input)
4189	req.SetContext(ctx)
4190	req.ApplyOptions(opts...)
4191	return out, req.Send()
4192}
4193
4194// ListWirelessGatewaysPages iterates over the pages of a ListWirelessGateways operation,
4195// calling the "fn" function with the response data for each page. To stop
4196// iterating, return false from the fn function.
4197//
4198// See ListWirelessGateways method for more information on how to use this operation.
4199//
4200// Note: This operation can generate multiple requests to a service.
4201//
4202//    // Example iterating over at most 3 pages of a ListWirelessGateways operation.
4203//    pageNum := 0
4204//    err := client.ListWirelessGatewaysPages(params,
4205//        func(page *iotwireless.ListWirelessGatewaysOutput, lastPage bool) bool {
4206//            pageNum++
4207//            fmt.Println(page)
4208//            return pageNum <= 3
4209//        })
4210//
4211func (c *IoTWireless) ListWirelessGatewaysPages(input *ListWirelessGatewaysInput, fn func(*ListWirelessGatewaysOutput, bool) bool) error {
4212	return c.ListWirelessGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
4213}
4214
4215// ListWirelessGatewaysPagesWithContext same as ListWirelessGatewaysPages except
4216// it takes a Context and allows setting request options on the pages.
4217//
4218// The context must be non-nil and will be used for request cancellation. If
4219// the context is nil a panic will occur. In the future the SDK may create
4220// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4221// for more information on using Contexts.
4222func (c *IoTWireless) ListWirelessGatewaysPagesWithContext(ctx aws.Context, input *ListWirelessGatewaysInput, fn func(*ListWirelessGatewaysOutput, bool) bool, opts ...request.Option) error {
4223	p := request.Pagination{
4224		NewRequest: func() (*request.Request, error) {
4225			var inCpy *ListWirelessGatewaysInput
4226			if input != nil {
4227				tmp := *input
4228				inCpy = &tmp
4229			}
4230			req, _ := c.ListWirelessGatewaysRequest(inCpy)
4231			req.SetContext(ctx)
4232			req.ApplyOptions(opts...)
4233			return req, nil
4234		},
4235	}
4236
4237	for p.Next() {
4238		if !fn(p.Page().(*ListWirelessGatewaysOutput), !p.HasNextPage()) {
4239			break
4240		}
4241	}
4242
4243	return p.Err()
4244}
4245
4246const opSendDataToWirelessDevice = "SendDataToWirelessDevice"
4247
4248// SendDataToWirelessDeviceRequest generates a "aws/request.Request" representing the
4249// client's request for the SendDataToWirelessDevice operation. The "output" return
4250// value will be populated with the request's response once the request completes
4251// successfully.
4252//
4253// Use "Send" method on the returned Request to send the API call to the service.
4254// the "output" return value is not valid until after Send returns without error.
4255//
4256// See SendDataToWirelessDevice for more information on using the SendDataToWirelessDevice
4257// API call, and error handling.
4258//
4259// This method is useful when you want to inject custom logic or configuration
4260// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4261//
4262//
4263//    // Example sending a request using the SendDataToWirelessDeviceRequest method.
4264//    req, resp := client.SendDataToWirelessDeviceRequest(params)
4265//
4266//    err := req.Send()
4267//    if err == nil { // resp is now filled
4268//        fmt.Println(resp)
4269//    }
4270//
4271// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/SendDataToWirelessDevice
4272func (c *IoTWireless) SendDataToWirelessDeviceRequest(input *SendDataToWirelessDeviceInput) (req *request.Request, output *SendDataToWirelessDeviceOutput) {
4273	op := &request.Operation{
4274		Name:       opSendDataToWirelessDevice,
4275		HTTPMethod: "POST",
4276		HTTPPath:   "/wireless-devices/{Id}/data",
4277	}
4278
4279	if input == nil {
4280		input = &SendDataToWirelessDeviceInput{}
4281	}
4282
4283	output = &SendDataToWirelessDeviceOutput{}
4284	req = c.newRequest(op, input, output)
4285	return
4286}
4287
4288// SendDataToWirelessDevice API operation for AWS IoT Wireless.
4289//
4290// Sends a decrypted application data frame to a device.
4291//
4292// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4293// with awserr.Error's Code and Message methods to get detailed information about
4294// the error.
4295//
4296// See the AWS API reference guide for AWS IoT Wireless's
4297// API operation SendDataToWirelessDevice for usage and error information.
4298//
4299// Returned Error Types:
4300//   * ValidationException
4301//   The input did not meet the specified constraints.
4302//
4303//   * ResourceNotFoundException
4304//   Resource does not exist.
4305//
4306//   * ThrottlingException
4307//   The request was denied because it exceeded the allowed API request rate.
4308//
4309//   * InternalServerException
4310//   An unexpected error occurred while processing a request.
4311//
4312// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/SendDataToWirelessDevice
4313func (c *IoTWireless) SendDataToWirelessDevice(input *SendDataToWirelessDeviceInput) (*SendDataToWirelessDeviceOutput, error) {
4314	req, out := c.SendDataToWirelessDeviceRequest(input)
4315	return out, req.Send()
4316}
4317
4318// SendDataToWirelessDeviceWithContext is the same as SendDataToWirelessDevice with the addition of
4319// the ability to pass a context and additional request options.
4320//
4321// See SendDataToWirelessDevice for details on how to use this API operation.
4322//
4323// The context must be non-nil and will be used for request cancellation. If
4324// the context is nil a panic will occur. In the future the SDK may create
4325// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4326// for more information on using Contexts.
4327func (c *IoTWireless) SendDataToWirelessDeviceWithContext(ctx aws.Context, input *SendDataToWirelessDeviceInput, opts ...request.Option) (*SendDataToWirelessDeviceOutput, error) {
4328	req, out := c.SendDataToWirelessDeviceRequest(input)
4329	req.SetContext(ctx)
4330	req.ApplyOptions(opts...)
4331	return out, req.Send()
4332}
4333
4334const opTagResource = "TagResource"
4335
4336// TagResourceRequest generates a "aws/request.Request" representing the
4337// client's request for the TagResource operation. The "output" return
4338// value will be populated with the request's response once the request completes
4339// successfully.
4340//
4341// Use "Send" method on the returned Request to send the API call to the service.
4342// the "output" return value is not valid until after Send returns without error.
4343//
4344// See TagResource for more information on using the TagResource
4345// API call, and error handling.
4346//
4347// This method is useful when you want to inject custom logic or configuration
4348// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4349//
4350//
4351//    // Example sending a request using the TagResourceRequest method.
4352//    req, resp := client.TagResourceRequest(params)
4353//
4354//    err := req.Send()
4355//    if err == nil { // resp is now filled
4356//        fmt.Println(resp)
4357//    }
4358//
4359// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TagResource
4360func (c *IoTWireless) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
4361	op := &request.Operation{
4362		Name:       opTagResource,
4363		HTTPMethod: "POST",
4364		HTTPPath:   "/tags",
4365	}
4366
4367	if input == nil {
4368		input = &TagResourceInput{}
4369	}
4370
4371	output = &TagResourceOutput{}
4372	req = c.newRequest(op, input, output)
4373	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4374	return
4375}
4376
4377// TagResource API operation for AWS IoT Wireless.
4378//
4379// Adds a tag to a resource.
4380//
4381// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4382// with awserr.Error's Code and Message methods to get detailed information about
4383// the error.
4384//
4385// See the AWS API reference guide for AWS IoT Wireless's
4386// API operation TagResource for usage and error information.
4387//
4388// Returned Error Types:
4389//   * ValidationException
4390//   The input did not meet the specified constraints.
4391//
4392//   * ResourceNotFoundException
4393//   Resource does not exist.
4394//
4395//   * ConflictException
4396//   Adding, updating, or deleting the resource can cause an inconsistent state.
4397//
4398//   * InternalServerException
4399//   An unexpected error occurred while processing a request.
4400//
4401//   * ThrottlingException
4402//   The request was denied because it exceeded the allowed API request rate.
4403//
4404//   * TooManyTagsException
4405//   The request was denied because the resource can't have any more tags.
4406//
4407// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TagResource
4408func (c *IoTWireless) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
4409	req, out := c.TagResourceRequest(input)
4410	return out, req.Send()
4411}
4412
4413// TagResourceWithContext is the same as TagResource with the addition of
4414// the ability to pass a context and additional request options.
4415//
4416// See TagResource for details on how to use this API operation.
4417//
4418// The context must be non-nil and will be used for request cancellation. If
4419// the context is nil a panic will occur. In the future the SDK may create
4420// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4421// for more information on using Contexts.
4422func (c *IoTWireless) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
4423	req, out := c.TagResourceRequest(input)
4424	req.SetContext(ctx)
4425	req.ApplyOptions(opts...)
4426	return out, req.Send()
4427}
4428
4429const opTestWirelessDevice = "TestWirelessDevice"
4430
4431// TestWirelessDeviceRequest generates a "aws/request.Request" representing the
4432// client's request for the TestWirelessDevice operation. The "output" return
4433// value will be populated with the request's response once the request completes
4434// successfully.
4435//
4436// Use "Send" method on the returned Request to send the API call to the service.
4437// the "output" return value is not valid until after Send returns without error.
4438//
4439// See TestWirelessDevice for more information on using the TestWirelessDevice
4440// API call, and error handling.
4441//
4442// This method is useful when you want to inject custom logic or configuration
4443// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4444//
4445//
4446//    // Example sending a request using the TestWirelessDeviceRequest method.
4447//    req, resp := client.TestWirelessDeviceRequest(params)
4448//
4449//    err := req.Send()
4450//    if err == nil { // resp is now filled
4451//        fmt.Println(resp)
4452//    }
4453//
4454// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TestWirelessDevice
4455func (c *IoTWireless) TestWirelessDeviceRequest(input *TestWirelessDeviceInput) (req *request.Request, output *TestWirelessDeviceOutput) {
4456	op := &request.Operation{
4457		Name:       opTestWirelessDevice,
4458		HTTPMethod: "POST",
4459		HTTPPath:   "/wireless-devices/{Id}/test",
4460	}
4461
4462	if input == nil {
4463		input = &TestWirelessDeviceInput{}
4464	}
4465
4466	output = &TestWirelessDeviceOutput{}
4467	req = c.newRequest(op, input, output)
4468	return
4469}
4470
4471// TestWirelessDevice API operation for AWS IoT Wireless.
4472//
4473// Simulates a provisioned device by sending an uplink data payload of Hello.
4474//
4475// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4476// with awserr.Error's Code and Message methods to get detailed information about
4477// the error.
4478//
4479// See the AWS API reference guide for AWS IoT Wireless's
4480// API operation TestWirelessDevice for usage and error information.
4481//
4482// Returned Error Types:
4483//   * ValidationException
4484//   The input did not meet the specified constraints.
4485//
4486//   * ResourceNotFoundException
4487//   Resource does not exist.
4488//
4489//   * ThrottlingException
4490//   The request was denied because it exceeded the allowed API request rate.
4491//
4492//   * InternalServerException
4493//   An unexpected error occurred while processing a request.
4494//
4495// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TestWirelessDevice
4496func (c *IoTWireless) TestWirelessDevice(input *TestWirelessDeviceInput) (*TestWirelessDeviceOutput, error) {
4497	req, out := c.TestWirelessDeviceRequest(input)
4498	return out, req.Send()
4499}
4500
4501// TestWirelessDeviceWithContext is the same as TestWirelessDevice with the addition of
4502// the ability to pass a context and additional request options.
4503//
4504// See TestWirelessDevice for details on how to use this API operation.
4505//
4506// The context must be non-nil and will be used for request cancellation. If
4507// the context is nil a panic will occur. In the future the SDK may create
4508// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4509// for more information on using Contexts.
4510func (c *IoTWireless) TestWirelessDeviceWithContext(ctx aws.Context, input *TestWirelessDeviceInput, opts ...request.Option) (*TestWirelessDeviceOutput, error) {
4511	req, out := c.TestWirelessDeviceRequest(input)
4512	req.SetContext(ctx)
4513	req.ApplyOptions(opts...)
4514	return out, req.Send()
4515}
4516
4517const opUntagResource = "UntagResource"
4518
4519// UntagResourceRequest generates a "aws/request.Request" representing the
4520// client's request for the UntagResource operation. The "output" return
4521// value will be populated with the request's response once the request completes
4522// successfully.
4523//
4524// Use "Send" method on the returned Request to send the API call to the service.
4525// the "output" return value is not valid until after Send returns without error.
4526//
4527// See UntagResource for more information on using the UntagResource
4528// API call, and error handling.
4529//
4530// This method is useful when you want to inject custom logic or configuration
4531// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4532//
4533//
4534//    // Example sending a request using the UntagResourceRequest method.
4535//    req, resp := client.UntagResourceRequest(params)
4536//
4537//    err := req.Send()
4538//    if err == nil { // resp is now filled
4539//        fmt.Println(resp)
4540//    }
4541//
4542// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UntagResource
4543func (c *IoTWireless) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
4544	op := &request.Operation{
4545		Name:       opUntagResource,
4546		HTTPMethod: "DELETE",
4547		HTTPPath:   "/tags",
4548	}
4549
4550	if input == nil {
4551		input = &UntagResourceInput{}
4552	}
4553
4554	output = &UntagResourceOutput{}
4555	req = c.newRequest(op, input, output)
4556	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4557	return
4558}
4559
4560// UntagResource API operation for AWS IoT Wireless.
4561//
4562// Removes one or more tags from a resource.
4563//
4564// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4565// with awserr.Error's Code and Message methods to get detailed information about
4566// the error.
4567//
4568// See the AWS API reference guide for AWS IoT Wireless's
4569// API operation UntagResource for usage and error information.
4570//
4571// Returned Error Types:
4572//   * ValidationException
4573//   The input did not meet the specified constraints.
4574//
4575//   * ResourceNotFoundException
4576//   Resource does not exist.
4577//
4578//   * ConflictException
4579//   Adding, updating, or deleting the resource can cause an inconsistent state.
4580//
4581//   * InternalServerException
4582//   An unexpected error occurred while processing a request.
4583//
4584//   * ThrottlingException
4585//   The request was denied because it exceeded the allowed API request rate.
4586//
4587// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UntagResource
4588func (c *IoTWireless) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
4589	req, out := c.UntagResourceRequest(input)
4590	return out, req.Send()
4591}
4592
4593// UntagResourceWithContext is the same as UntagResource with the addition of
4594// the ability to pass a context and additional request options.
4595//
4596// See UntagResource for details on how to use this API operation.
4597//
4598// The context must be non-nil and will be used for request cancellation. If
4599// the context is nil a panic will occur. In the future the SDK may create
4600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4601// for more information on using Contexts.
4602func (c *IoTWireless) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
4603	req, out := c.UntagResourceRequest(input)
4604	req.SetContext(ctx)
4605	req.ApplyOptions(opts...)
4606	return out, req.Send()
4607}
4608
4609const opUpdateDestination = "UpdateDestination"
4610
4611// UpdateDestinationRequest generates a "aws/request.Request" representing the
4612// client's request for the UpdateDestination operation. The "output" return
4613// value will be populated with the request's response once the request completes
4614// successfully.
4615//
4616// Use "Send" method on the returned Request to send the API call to the service.
4617// the "output" return value is not valid until after Send returns without error.
4618//
4619// See UpdateDestination for more information on using the UpdateDestination
4620// API call, and error handling.
4621//
4622// This method is useful when you want to inject custom logic or configuration
4623// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4624//
4625//
4626//    // Example sending a request using the UpdateDestinationRequest method.
4627//    req, resp := client.UpdateDestinationRequest(params)
4628//
4629//    err := req.Send()
4630//    if err == nil { // resp is now filled
4631//        fmt.Println(resp)
4632//    }
4633//
4634// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateDestination
4635func (c *IoTWireless) UpdateDestinationRequest(input *UpdateDestinationInput) (req *request.Request, output *UpdateDestinationOutput) {
4636	op := &request.Operation{
4637		Name:       opUpdateDestination,
4638		HTTPMethod: "PATCH",
4639		HTTPPath:   "/destinations/{Name}",
4640	}
4641
4642	if input == nil {
4643		input = &UpdateDestinationInput{}
4644	}
4645
4646	output = &UpdateDestinationOutput{}
4647	req = c.newRequest(op, input, output)
4648	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4649	return
4650}
4651
4652// UpdateDestination API operation for AWS IoT Wireless.
4653//
4654// Updates properties of a destination.
4655//
4656// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4657// with awserr.Error's Code and Message methods to get detailed information about
4658// the error.
4659//
4660// See the AWS API reference guide for AWS IoT Wireless's
4661// API operation UpdateDestination for usage and error information.
4662//
4663// Returned Error Types:
4664//   * ValidationException
4665//   The input did not meet the specified constraints.
4666//
4667//   * ResourceNotFoundException
4668//   Resource does not exist.
4669//
4670//   * AccessDeniedException
4671//   User does not have permission to perform this action.
4672//
4673//   * InternalServerException
4674//   An unexpected error occurred while processing a request.
4675//
4676//   * ThrottlingException
4677//   The request was denied because it exceeded the allowed API request rate.
4678//
4679// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateDestination
4680func (c *IoTWireless) UpdateDestination(input *UpdateDestinationInput) (*UpdateDestinationOutput, error) {
4681	req, out := c.UpdateDestinationRequest(input)
4682	return out, req.Send()
4683}
4684
4685// UpdateDestinationWithContext is the same as UpdateDestination with the addition of
4686// the ability to pass a context and additional request options.
4687//
4688// See UpdateDestination for details on how to use this API operation.
4689//
4690// The context must be non-nil and will be used for request cancellation. If
4691// the context is nil a panic will occur. In the future the SDK may create
4692// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4693// for more information on using Contexts.
4694func (c *IoTWireless) UpdateDestinationWithContext(ctx aws.Context, input *UpdateDestinationInput, opts ...request.Option) (*UpdateDestinationOutput, error) {
4695	req, out := c.UpdateDestinationRequest(input)
4696	req.SetContext(ctx)
4697	req.ApplyOptions(opts...)
4698	return out, req.Send()
4699}
4700
4701const opUpdatePartnerAccount = "UpdatePartnerAccount"
4702
4703// UpdatePartnerAccountRequest generates a "aws/request.Request" representing the
4704// client's request for the UpdatePartnerAccount operation. The "output" return
4705// value will be populated with the request's response once the request completes
4706// successfully.
4707//
4708// Use "Send" method on the returned Request to send the API call to the service.
4709// the "output" return value is not valid until after Send returns without error.
4710//
4711// See UpdatePartnerAccount for more information on using the UpdatePartnerAccount
4712// API call, and error handling.
4713//
4714// This method is useful when you want to inject custom logic or configuration
4715// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4716//
4717//
4718//    // Example sending a request using the UpdatePartnerAccountRequest method.
4719//    req, resp := client.UpdatePartnerAccountRequest(params)
4720//
4721//    err := req.Send()
4722//    if err == nil { // resp is now filled
4723//        fmt.Println(resp)
4724//    }
4725//
4726// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdatePartnerAccount
4727func (c *IoTWireless) UpdatePartnerAccountRequest(input *UpdatePartnerAccountInput) (req *request.Request, output *UpdatePartnerAccountOutput) {
4728	op := &request.Operation{
4729		Name:       opUpdatePartnerAccount,
4730		HTTPMethod: "PATCH",
4731		HTTPPath:   "/partner-accounts/{PartnerAccountId}",
4732	}
4733
4734	if input == nil {
4735		input = &UpdatePartnerAccountInput{}
4736	}
4737
4738	output = &UpdatePartnerAccountOutput{}
4739	req = c.newRequest(op, input, output)
4740	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4741	return
4742}
4743
4744// UpdatePartnerAccount API operation for AWS IoT Wireless.
4745//
4746// Updates properties of a partner account.
4747//
4748// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4749// with awserr.Error's Code and Message methods to get detailed information about
4750// the error.
4751//
4752// See the AWS API reference guide for AWS IoT Wireless's
4753// API operation UpdatePartnerAccount for usage and error information.
4754//
4755// Returned Error Types:
4756//   * ValidationException
4757//   The input did not meet the specified constraints.
4758//
4759//   * ResourceNotFoundException
4760//   Resource does not exist.
4761//
4762//   * InternalServerException
4763//   An unexpected error occurred while processing a request.
4764//
4765//   * ThrottlingException
4766//   The request was denied because it exceeded the allowed API request rate.
4767//
4768// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdatePartnerAccount
4769func (c *IoTWireless) UpdatePartnerAccount(input *UpdatePartnerAccountInput) (*UpdatePartnerAccountOutput, error) {
4770	req, out := c.UpdatePartnerAccountRequest(input)
4771	return out, req.Send()
4772}
4773
4774// UpdatePartnerAccountWithContext is the same as UpdatePartnerAccount with the addition of
4775// the ability to pass a context and additional request options.
4776//
4777// See UpdatePartnerAccount for details on how to use this API operation.
4778//
4779// The context must be non-nil and will be used for request cancellation. If
4780// the context is nil a panic will occur. In the future the SDK may create
4781// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4782// for more information on using Contexts.
4783func (c *IoTWireless) UpdatePartnerAccountWithContext(ctx aws.Context, input *UpdatePartnerAccountInput, opts ...request.Option) (*UpdatePartnerAccountOutput, error) {
4784	req, out := c.UpdatePartnerAccountRequest(input)
4785	req.SetContext(ctx)
4786	req.ApplyOptions(opts...)
4787	return out, req.Send()
4788}
4789
4790const opUpdateWirelessDevice = "UpdateWirelessDevice"
4791
4792// UpdateWirelessDeviceRequest generates a "aws/request.Request" representing the
4793// client's request for the UpdateWirelessDevice operation. The "output" return
4794// value will be populated with the request's response once the request completes
4795// successfully.
4796//
4797// Use "Send" method on the returned Request to send the API call to the service.
4798// the "output" return value is not valid until after Send returns without error.
4799//
4800// See UpdateWirelessDevice for more information on using the UpdateWirelessDevice
4801// API call, and error handling.
4802//
4803// This method is useful when you want to inject custom logic or configuration
4804// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4805//
4806//
4807//    // Example sending a request using the UpdateWirelessDeviceRequest method.
4808//    req, resp := client.UpdateWirelessDeviceRequest(params)
4809//
4810//    err := req.Send()
4811//    if err == nil { // resp is now filled
4812//        fmt.Println(resp)
4813//    }
4814//
4815// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateWirelessDevice
4816func (c *IoTWireless) UpdateWirelessDeviceRequest(input *UpdateWirelessDeviceInput) (req *request.Request, output *UpdateWirelessDeviceOutput) {
4817	op := &request.Operation{
4818		Name:       opUpdateWirelessDevice,
4819		HTTPMethod: "PATCH",
4820		HTTPPath:   "/wireless-devices/{Id}",
4821	}
4822
4823	if input == nil {
4824		input = &UpdateWirelessDeviceInput{}
4825	}
4826
4827	output = &UpdateWirelessDeviceOutput{}
4828	req = c.newRequest(op, input, output)
4829	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4830	return
4831}
4832
4833// UpdateWirelessDevice API operation for AWS IoT Wireless.
4834//
4835// Updates properties of a wireless device.
4836//
4837// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4838// with awserr.Error's Code and Message methods to get detailed information about
4839// the error.
4840//
4841// See the AWS API reference guide for AWS IoT Wireless's
4842// API operation UpdateWirelessDevice for usage and error information.
4843//
4844// Returned Error Types:
4845//   * ValidationException
4846//   The input did not meet the specified constraints.
4847//
4848//   * ResourceNotFoundException
4849//   Resource does not exist.
4850//
4851//   * AccessDeniedException
4852//   User does not have permission to perform this action.
4853//
4854//   * InternalServerException
4855//   An unexpected error occurred while processing a request.
4856//
4857//   * ThrottlingException
4858//   The request was denied because it exceeded the allowed API request rate.
4859//
4860// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateWirelessDevice
4861func (c *IoTWireless) UpdateWirelessDevice(input *UpdateWirelessDeviceInput) (*UpdateWirelessDeviceOutput, error) {
4862	req, out := c.UpdateWirelessDeviceRequest(input)
4863	return out, req.Send()
4864}
4865
4866// UpdateWirelessDeviceWithContext is the same as UpdateWirelessDevice with the addition of
4867// the ability to pass a context and additional request options.
4868//
4869// See UpdateWirelessDevice for details on how to use this API operation.
4870//
4871// The context must be non-nil and will be used for request cancellation. If
4872// the context is nil a panic will occur. In the future the SDK may create
4873// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4874// for more information on using Contexts.
4875func (c *IoTWireless) UpdateWirelessDeviceWithContext(ctx aws.Context, input *UpdateWirelessDeviceInput, opts ...request.Option) (*UpdateWirelessDeviceOutput, error) {
4876	req, out := c.UpdateWirelessDeviceRequest(input)
4877	req.SetContext(ctx)
4878	req.ApplyOptions(opts...)
4879	return out, req.Send()
4880}
4881
4882const opUpdateWirelessGateway = "UpdateWirelessGateway"
4883
4884// UpdateWirelessGatewayRequest generates a "aws/request.Request" representing the
4885// client's request for the UpdateWirelessGateway operation. The "output" return
4886// value will be populated with the request's response once the request completes
4887// successfully.
4888//
4889// Use "Send" method on the returned Request to send the API call to the service.
4890// the "output" return value is not valid until after Send returns without error.
4891//
4892// See UpdateWirelessGateway for more information on using the UpdateWirelessGateway
4893// API call, and error handling.
4894//
4895// This method is useful when you want to inject custom logic or configuration
4896// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4897//
4898//
4899//    // Example sending a request using the UpdateWirelessGatewayRequest method.
4900//    req, resp := client.UpdateWirelessGatewayRequest(params)
4901//
4902//    err := req.Send()
4903//    if err == nil { // resp is now filled
4904//        fmt.Println(resp)
4905//    }
4906//
4907// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateWirelessGateway
4908func (c *IoTWireless) UpdateWirelessGatewayRequest(input *UpdateWirelessGatewayInput) (req *request.Request, output *UpdateWirelessGatewayOutput) {
4909	op := &request.Operation{
4910		Name:       opUpdateWirelessGateway,
4911		HTTPMethod: "PATCH",
4912		HTTPPath:   "/wireless-gateways/{Id}",
4913	}
4914
4915	if input == nil {
4916		input = &UpdateWirelessGatewayInput{}
4917	}
4918
4919	output = &UpdateWirelessGatewayOutput{}
4920	req = c.newRequest(op, input, output)
4921	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4922	return
4923}
4924
4925// UpdateWirelessGateway API operation for AWS IoT Wireless.
4926//
4927// Updates properties of a wireless gateway.
4928//
4929// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4930// with awserr.Error's Code and Message methods to get detailed information about
4931// the error.
4932//
4933// See the AWS API reference guide for AWS IoT Wireless's
4934// API operation UpdateWirelessGateway for usage and error information.
4935//
4936// Returned Error Types:
4937//   * ValidationException
4938//   The input did not meet the specified constraints.
4939//
4940//   * ResourceNotFoundException
4941//   Resource does not exist.
4942//
4943//   * AccessDeniedException
4944//   User does not have permission to perform this action.
4945//
4946//   * InternalServerException
4947//   An unexpected error occurred while processing a request.
4948//
4949//   * ThrottlingException
4950//   The request was denied because it exceeded the allowed API request rate.
4951//
4952// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateWirelessGateway
4953func (c *IoTWireless) UpdateWirelessGateway(input *UpdateWirelessGatewayInput) (*UpdateWirelessGatewayOutput, error) {
4954	req, out := c.UpdateWirelessGatewayRequest(input)
4955	return out, req.Send()
4956}
4957
4958// UpdateWirelessGatewayWithContext is the same as UpdateWirelessGateway with the addition of
4959// the ability to pass a context and additional request options.
4960//
4961// See UpdateWirelessGateway for details on how to use this API operation.
4962//
4963// The context must be non-nil and will be used for request cancellation. If
4964// the context is nil a panic will occur. In the future the SDK may create
4965// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4966// for more information on using Contexts.
4967func (c *IoTWireless) UpdateWirelessGatewayWithContext(ctx aws.Context, input *UpdateWirelessGatewayInput, opts ...request.Option) (*UpdateWirelessGatewayOutput, error) {
4968	req, out := c.UpdateWirelessGatewayRequest(input)
4969	req.SetContext(ctx)
4970	req.ApplyOptions(opts...)
4971	return out, req.Send()
4972}
4973
4974// ABP device object for LoRaWAN specification v1.0.x
4975type AbpV10X struct {
4976	_ struct{} `type:"structure"`
4977
4978	// The DevAddr value.
4979	DevAddr *string `type:"string"`
4980
4981	// Session keys for ABP v1.0.x
4982	SessionKeys *SessionKeysAbpV10X `type:"structure"`
4983}
4984
4985// String returns the string representation
4986func (s AbpV10X) String() string {
4987	return awsutil.Prettify(s)
4988}
4989
4990// GoString returns the string representation
4991func (s AbpV10X) GoString() string {
4992	return s.String()
4993}
4994
4995// SetDevAddr sets the DevAddr field's value.
4996func (s *AbpV10X) SetDevAddr(v string) *AbpV10X {
4997	s.DevAddr = &v
4998	return s
4999}
5000
5001// SetSessionKeys sets the SessionKeys field's value.
5002func (s *AbpV10X) SetSessionKeys(v *SessionKeysAbpV10X) *AbpV10X {
5003	s.SessionKeys = v
5004	return s
5005}
5006
5007// ABP device object for LoRaWAN specification v1.1
5008type AbpV11 struct {
5009	_ struct{} `type:"structure"`
5010
5011	// The DevAddr value.
5012	DevAddr *string `type:"string"`
5013
5014	// Session keys for ABP v1.1
5015	SessionKeys *SessionKeysAbpV11 `type:"structure"`
5016}
5017
5018// String returns the string representation
5019func (s AbpV11) String() string {
5020	return awsutil.Prettify(s)
5021}
5022
5023// GoString returns the string representation
5024func (s AbpV11) GoString() string {
5025	return s.String()
5026}
5027
5028// SetDevAddr sets the DevAddr field's value.
5029func (s *AbpV11) SetDevAddr(v string) *AbpV11 {
5030	s.DevAddr = &v
5031	return s
5032}
5033
5034// SetSessionKeys sets the SessionKeys field's value.
5035func (s *AbpV11) SetSessionKeys(v *SessionKeysAbpV11) *AbpV11 {
5036	s.SessionKeys = v
5037	return s
5038}
5039
5040// User does not have permission to perform this action.
5041type AccessDeniedException struct {
5042	_            struct{}                  `type:"structure"`
5043	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5044
5045	Message_ *string `locationName:"Message" type:"string"`
5046}
5047
5048// String returns the string representation
5049func (s AccessDeniedException) String() string {
5050	return awsutil.Prettify(s)
5051}
5052
5053// GoString returns the string representation
5054func (s AccessDeniedException) GoString() string {
5055	return s.String()
5056}
5057
5058func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
5059	return &AccessDeniedException{
5060		RespMetadata: v,
5061	}
5062}
5063
5064// Code returns the exception type name.
5065func (s *AccessDeniedException) Code() string {
5066	return "AccessDeniedException"
5067}
5068
5069// Message returns the exception's message.
5070func (s *AccessDeniedException) Message() string {
5071	if s.Message_ != nil {
5072		return *s.Message_
5073	}
5074	return ""
5075}
5076
5077// OrigErr always returns nil, satisfies awserr.Error interface.
5078func (s *AccessDeniedException) OrigErr() error {
5079	return nil
5080}
5081
5082func (s *AccessDeniedException) Error() string {
5083	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5084}
5085
5086// Status code returns the HTTP status code for the request's response error.
5087func (s *AccessDeniedException) StatusCode() int {
5088	return s.RespMetadata.StatusCode
5089}
5090
5091// RequestID returns the service's response RequestID for request.
5092func (s *AccessDeniedException) RequestID() string {
5093	return s.RespMetadata.RequestID
5094}
5095
5096type AssociateAwsAccountWithPartnerAccountInput struct {
5097	_ struct{} `type:"structure"`
5098
5099	// Each resource must have a unique client request token. If you try to create
5100	// a new resource with the same token as a resource that already exists, an
5101	// exception occurs. If you omit this value, AWS SDKs will automatically generate
5102	// a unique client request.
5103	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
5104
5105	// The Sidewalk account credentials.
5106	//
5107	// Sidewalk is a required field
5108	Sidewalk *SidewalkAccountInfo `type:"structure" required:"true"`
5109
5110	// The tags to attach to the specified resource. Tags are metadata that you
5111	// can use to manage a resource.
5112	Tags []*Tag `type:"list"`
5113}
5114
5115// String returns the string representation
5116func (s AssociateAwsAccountWithPartnerAccountInput) String() string {
5117	return awsutil.Prettify(s)
5118}
5119
5120// GoString returns the string representation
5121func (s AssociateAwsAccountWithPartnerAccountInput) GoString() string {
5122	return s.String()
5123}
5124
5125// Validate inspects the fields of the type to determine if they are valid.
5126func (s *AssociateAwsAccountWithPartnerAccountInput) Validate() error {
5127	invalidParams := request.ErrInvalidParams{Context: "AssociateAwsAccountWithPartnerAccountInput"}
5128	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
5129		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
5130	}
5131	if s.Sidewalk == nil {
5132		invalidParams.Add(request.NewErrParamRequired("Sidewalk"))
5133	}
5134	if s.Sidewalk != nil {
5135		if err := s.Sidewalk.Validate(); err != nil {
5136			invalidParams.AddNested("Sidewalk", err.(request.ErrInvalidParams))
5137		}
5138	}
5139	if s.Tags != nil {
5140		for i, v := range s.Tags {
5141			if v == nil {
5142				continue
5143			}
5144			if err := v.Validate(); err != nil {
5145				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5146			}
5147		}
5148	}
5149
5150	if invalidParams.Len() > 0 {
5151		return invalidParams
5152	}
5153	return nil
5154}
5155
5156// SetClientRequestToken sets the ClientRequestToken field's value.
5157func (s *AssociateAwsAccountWithPartnerAccountInput) SetClientRequestToken(v string) *AssociateAwsAccountWithPartnerAccountInput {
5158	s.ClientRequestToken = &v
5159	return s
5160}
5161
5162// SetSidewalk sets the Sidewalk field's value.
5163func (s *AssociateAwsAccountWithPartnerAccountInput) SetSidewalk(v *SidewalkAccountInfo) *AssociateAwsAccountWithPartnerAccountInput {
5164	s.Sidewalk = v
5165	return s
5166}
5167
5168// SetTags sets the Tags field's value.
5169func (s *AssociateAwsAccountWithPartnerAccountInput) SetTags(v []*Tag) *AssociateAwsAccountWithPartnerAccountInput {
5170	s.Tags = v
5171	return s
5172}
5173
5174type AssociateAwsAccountWithPartnerAccountOutput struct {
5175	_ struct{} `type:"structure"`
5176
5177	// The Amazon Resource Name of the resource.
5178	Arn *string `type:"string"`
5179
5180	// The Sidewalk account credentials.
5181	Sidewalk *SidewalkAccountInfo `type:"structure"`
5182}
5183
5184// String returns the string representation
5185func (s AssociateAwsAccountWithPartnerAccountOutput) String() string {
5186	return awsutil.Prettify(s)
5187}
5188
5189// GoString returns the string representation
5190func (s AssociateAwsAccountWithPartnerAccountOutput) GoString() string {
5191	return s.String()
5192}
5193
5194// SetArn sets the Arn field's value.
5195func (s *AssociateAwsAccountWithPartnerAccountOutput) SetArn(v string) *AssociateAwsAccountWithPartnerAccountOutput {
5196	s.Arn = &v
5197	return s
5198}
5199
5200// SetSidewalk sets the Sidewalk field's value.
5201func (s *AssociateAwsAccountWithPartnerAccountOutput) SetSidewalk(v *SidewalkAccountInfo) *AssociateAwsAccountWithPartnerAccountOutput {
5202	s.Sidewalk = v
5203	return s
5204}
5205
5206type AssociateWirelessDeviceWithThingInput struct {
5207	_ struct{} `type:"structure"`
5208
5209	// The ID of the resource to update.
5210	//
5211	// Id is a required field
5212	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
5213
5214	// The ARN of the thing to associate with the wireless device.
5215	//
5216	// ThingArn is a required field
5217	ThingArn *string `type:"string" required:"true"`
5218}
5219
5220// String returns the string representation
5221func (s AssociateWirelessDeviceWithThingInput) String() string {
5222	return awsutil.Prettify(s)
5223}
5224
5225// GoString returns the string representation
5226func (s AssociateWirelessDeviceWithThingInput) GoString() string {
5227	return s.String()
5228}
5229
5230// Validate inspects the fields of the type to determine if they are valid.
5231func (s *AssociateWirelessDeviceWithThingInput) Validate() error {
5232	invalidParams := request.ErrInvalidParams{Context: "AssociateWirelessDeviceWithThingInput"}
5233	if s.Id == nil {
5234		invalidParams.Add(request.NewErrParamRequired("Id"))
5235	}
5236	if s.Id != nil && len(*s.Id) < 1 {
5237		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
5238	}
5239	if s.ThingArn == nil {
5240		invalidParams.Add(request.NewErrParamRequired("ThingArn"))
5241	}
5242
5243	if invalidParams.Len() > 0 {
5244		return invalidParams
5245	}
5246	return nil
5247}
5248
5249// SetId sets the Id field's value.
5250func (s *AssociateWirelessDeviceWithThingInput) SetId(v string) *AssociateWirelessDeviceWithThingInput {
5251	s.Id = &v
5252	return s
5253}
5254
5255// SetThingArn sets the ThingArn field's value.
5256func (s *AssociateWirelessDeviceWithThingInput) SetThingArn(v string) *AssociateWirelessDeviceWithThingInput {
5257	s.ThingArn = &v
5258	return s
5259}
5260
5261type AssociateWirelessDeviceWithThingOutput struct {
5262	_ struct{} `type:"structure"`
5263}
5264
5265// String returns the string representation
5266func (s AssociateWirelessDeviceWithThingOutput) String() string {
5267	return awsutil.Prettify(s)
5268}
5269
5270// GoString returns the string representation
5271func (s AssociateWirelessDeviceWithThingOutput) GoString() string {
5272	return s.String()
5273}
5274
5275type AssociateWirelessGatewayWithCertificateInput struct {
5276	_ struct{} `type:"structure"`
5277
5278	// The ID of the resource to update.
5279	//
5280	// Id is a required field
5281	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
5282
5283	// The ID of the certificate to associate with the wireless gateway.
5284	//
5285	// IotCertificateId is a required field
5286	IotCertificateId *string `min:"1" type:"string" required:"true"`
5287}
5288
5289// String returns the string representation
5290func (s AssociateWirelessGatewayWithCertificateInput) String() string {
5291	return awsutil.Prettify(s)
5292}
5293
5294// GoString returns the string representation
5295func (s AssociateWirelessGatewayWithCertificateInput) GoString() string {
5296	return s.String()
5297}
5298
5299// Validate inspects the fields of the type to determine if they are valid.
5300func (s *AssociateWirelessGatewayWithCertificateInput) Validate() error {
5301	invalidParams := request.ErrInvalidParams{Context: "AssociateWirelessGatewayWithCertificateInput"}
5302	if s.Id == nil {
5303		invalidParams.Add(request.NewErrParamRequired("Id"))
5304	}
5305	if s.Id != nil && len(*s.Id) < 1 {
5306		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
5307	}
5308	if s.IotCertificateId == nil {
5309		invalidParams.Add(request.NewErrParamRequired("IotCertificateId"))
5310	}
5311	if s.IotCertificateId != nil && len(*s.IotCertificateId) < 1 {
5312		invalidParams.Add(request.NewErrParamMinLen("IotCertificateId", 1))
5313	}
5314
5315	if invalidParams.Len() > 0 {
5316		return invalidParams
5317	}
5318	return nil
5319}
5320
5321// SetId sets the Id field's value.
5322func (s *AssociateWirelessGatewayWithCertificateInput) SetId(v string) *AssociateWirelessGatewayWithCertificateInput {
5323	s.Id = &v
5324	return s
5325}
5326
5327// SetIotCertificateId sets the IotCertificateId field's value.
5328func (s *AssociateWirelessGatewayWithCertificateInput) SetIotCertificateId(v string) *AssociateWirelessGatewayWithCertificateInput {
5329	s.IotCertificateId = &v
5330	return s
5331}
5332
5333type AssociateWirelessGatewayWithCertificateOutput struct {
5334	_ struct{} `type:"structure"`
5335
5336	// The ID of the certificate associated with the wireless gateway.
5337	IotCertificateId *string `min:"1" type:"string"`
5338}
5339
5340// String returns the string representation
5341func (s AssociateWirelessGatewayWithCertificateOutput) String() string {
5342	return awsutil.Prettify(s)
5343}
5344
5345// GoString returns the string representation
5346func (s AssociateWirelessGatewayWithCertificateOutput) GoString() string {
5347	return s.String()
5348}
5349
5350// SetIotCertificateId sets the IotCertificateId field's value.
5351func (s *AssociateWirelessGatewayWithCertificateOutput) SetIotCertificateId(v string) *AssociateWirelessGatewayWithCertificateOutput {
5352	s.IotCertificateId = &v
5353	return s
5354}
5355
5356type AssociateWirelessGatewayWithThingInput struct {
5357	_ struct{} `type:"structure"`
5358
5359	// The ID of the resource to update.
5360	//
5361	// Id is a required field
5362	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
5363
5364	// The ARN of the thing to associate with the wireless gateway.
5365	//
5366	// ThingArn is a required field
5367	ThingArn *string `type:"string" required:"true"`
5368}
5369
5370// String returns the string representation
5371func (s AssociateWirelessGatewayWithThingInput) String() string {
5372	return awsutil.Prettify(s)
5373}
5374
5375// GoString returns the string representation
5376func (s AssociateWirelessGatewayWithThingInput) GoString() string {
5377	return s.String()
5378}
5379
5380// Validate inspects the fields of the type to determine if they are valid.
5381func (s *AssociateWirelessGatewayWithThingInput) Validate() error {
5382	invalidParams := request.ErrInvalidParams{Context: "AssociateWirelessGatewayWithThingInput"}
5383	if s.Id == nil {
5384		invalidParams.Add(request.NewErrParamRequired("Id"))
5385	}
5386	if s.Id != nil && len(*s.Id) < 1 {
5387		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
5388	}
5389	if s.ThingArn == nil {
5390		invalidParams.Add(request.NewErrParamRequired("ThingArn"))
5391	}
5392
5393	if invalidParams.Len() > 0 {
5394		return invalidParams
5395	}
5396	return nil
5397}
5398
5399// SetId sets the Id field's value.
5400func (s *AssociateWirelessGatewayWithThingInput) SetId(v string) *AssociateWirelessGatewayWithThingInput {
5401	s.Id = &v
5402	return s
5403}
5404
5405// SetThingArn sets the ThingArn field's value.
5406func (s *AssociateWirelessGatewayWithThingInput) SetThingArn(v string) *AssociateWirelessGatewayWithThingInput {
5407	s.ThingArn = &v
5408	return s
5409}
5410
5411type AssociateWirelessGatewayWithThingOutput struct {
5412	_ struct{} `type:"structure"`
5413}
5414
5415// String returns the string representation
5416func (s AssociateWirelessGatewayWithThingOutput) String() string {
5417	return awsutil.Prettify(s)
5418}
5419
5420// GoString returns the string representation
5421func (s AssociateWirelessGatewayWithThingOutput) GoString() string {
5422	return s.String()
5423}
5424
5425// List of sidewalk certificates.
5426type CertificateList struct {
5427	_ struct{} `type:"structure"`
5428
5429	// The certificate chain algorithm provided by sidewalk.
5430	//
5431	// SigningAlg is a required field
5432	SigningAlg *string `type:"string" required:"true" enum:"SigningAlg"`
5433
5434	// The value of the chosen sidewalk certificate.
5435	//
5436	// Value is a required field
5437	Value *string `type:"string" required:"true"`
5438}
5439
5440// String returns the string representation
5441func (s CertificateList) String() string {
5442	return awsutil.Prettify(s)
5443}
5444
5445// GoString returns the string representation
5446func (s CertificateList) GoString() string {
5447	return s.String()
5448}
5449
5450// SetSigningAlg sets the SigningAlg field's value.
5451func (s *CertificateList) SetSigningAlg(v string) *CertificateList {
5452	s.SigningAlg = &v
5453	return s
5454}
5455
5456// SetValue sets the Value field's value.
5457func (s *CertificateList) SetValue(v string) *CertificateList {
5458	s.Value = &v
5459	return s
5460}
5461
5462// Adding, updating, or deleting the resource can cause an inconsistent state.
5463type ConflictException struct {
5464	_            struct{}                  `type:"structure"`
5465	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5466
5467	Message_ *string `locationName:"Message" type:"string"`
5468
5469	ResourceId *string `type:"string"`
5470
5471	ResourceType *string `type:"string"`
5472}
5473
5474// String returns the string representation
5475func (s ConflictException) String() string {
5476	return awsutil.Prettify(s)
5477}
5478
5479// GoString returns the string representation
5480func (s ConflictException) GoString() string {
5481	return s.String()
5482}
5483
5484func newErrorConflictException(v protocol.ResponseMetadata) error {
5485	return &ConflictException{
5486		RespMetadata: v,
5487	}
5488}
5489
5490// Code returns the exception type name.
5491func (s *ConflictException) Code() string {
5492	return "ConflictException"
5493}
5494
5495// Message returns the exception's message.
5496func (s *ConflictException) Message() string {
5497	if s.Message_ != nil {
5498		return *s.Message_
5499	}
5500	return ""
5501}
5502
5503// OrigErr always returns nil, satisfies awserr.Error interface.
5504func (s *ConflictException) OrigErr() error {
5505	return nil
5506}
5507
5508func (s *ConflictException) Error() string {
5509	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5510}
5511
5512// Status code returns the HTTP status code for the request's response error.
5513func (s *ConflictException) StatusCode() int {
5514	return s.RespMetadata.StatusCode
5515}
5516
5517// RequestID returns the service's response RequestID for request.
5518func (s *ConflictException) RequestID() string {
5519	return s.RespMetadata.RequestID
5520}
5521
5522type CreateDestinationInput struct {
5523	_ struct{} `type:"structure"`
5524
5525	// Each resource must have a unique client request token. If you try to create
5526	// a new resource with the same token as a resource that already exists, an
5527	// exception occurs. If you omit this value, AWS SDKs will automatically generate
5528	// a unique client request.
5529	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
5530
5531	// The description of the new resource.
5532	Description *string `type:"string"`
5533
5534	// The rule name or topic rule to send messages to.
5535	//
5536	// Expression is a required field
5537	Expression *string `type:"string" required:"true"`
5538
5539	// The type of value in Expression.
5540	//
5541	// ExpressionType is a required field
5542	ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
5543
5544	// The name of the new resource.
5545	//
5546	// Name is a required field
5547	Name *string `type:"string" required:"true"`
5548
5549	// The ARN of the IAM Role that authorizes the destination.
5550	//
5551	// RoleArn is a required field
5552	RoleArn *string `min:"20" type:"string" required:"true"`
5553
5554	// The tags to attach to the new destination. Tags are metadata that you can
5555	// use to manage a resource.
5556	Tags []*Tag `type:"list"`
5557}
5558
5559// String returns the string representation
5560func (s CreateDestinationInput) String() string {
5561	return awsutil.Prettify(s)
5562}
5563
5564// GoString returns the string representation
5565func (s CreateDestinationInput) GoString() string {
5566	return s.String()
5567}
5568
5569// Validate inspects the fields of the type to determine if they are valid.
5570func (s *CreateDestinationInput) Validate() error {
5571	invalidParams := request.ErrInvalidParams{Context: "CreateDestinationInput"}
5572	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
5573		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
5574	}
5575	if s.Expression == nil {
5576		invalidParams.Add(request.NewErrParamRequired("Expression"))
5577	}
5578	if s.ExpressionType == nil {
5579		invalidParams.Add(request.NewErrParamRequired("ExpressionType"))
5580	}
5581	if s.Name == nil {
5582		invalidParams.Add(request.NewErrParamRequired("Name"))
5583	}
5584	if s.RoleArn == nil {
5585		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
5586	}
5587	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
5588		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
5589	}
5590	if s.Tags != nil {
5591		for i, v := range s.Tags {
5592			if v == nil {
5593				continue
5594			}
5595			if err := v.Validate(); err != nil {
5596				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5597			}
5598		}
5599	}
5600
5601	if invalidParams.Len() > 0 {
5602		return invalidParams
5603	}
5604	return nil
5605}
5606
5607// SetClientRequestToken sets the ClientRequestToken field's value.
5608func (s *CreateDestinationInput) SetClientRequestToken(v string) *CreateDestinationInput {
5609	s.ClientRequestToken = &v
5610	return s
5611}
5612
5613// SetDescription sets the Description field's value.
5614func (s *CreateDestinationInput) SetDescription(v string) *CreateDestinationInput {
5615	s.Description = &v
5616	return s
5617}
5618
5619// SetExpression sets the Expression field's value.
5620func (s *CreateDestinationInput) SetExpression(v string) *CreateDestinationInput {
5621	s.Expression = &v
5622	return s
5623}
5624
5625// SetExpressionType sets the ExpressionType field's value.
5626func (s *CreateDestinationInput) SetExpressionType(v string) *CreateDestinationInput {
5627	s.ExpressionType = &v
5628	return s
5629}
5630
5631// SetName sets the Name field's value.
5632func (s *CreateDestinationInput) SetName(v string) *CreateDestinationInput {
5633	s.Name = &v
5634	return s
5635}
5636
5637// SetRoleArn sets the RoleArn field's value.
5638func (s *CreateDestinationInput) SetRoleArn(v string) *CreateDestinationInput {
5639	s.RoleArn = &v
5640	return s
5641}
5642
5643// SetTags sets the Tags field's value.
5644func (s *CreateDestinationInput) SetTags(v []*Tag) *CreateDestinationInput {
5645	s.Tags = v
5646	return s
5647}
5648
5649type CreateDestinationOutput struct {
5650	_ struct{} `type:"structure"`
5651
5652	// The Amazon Resource Name of the new resource.
5653	Arn *string `type:"string"`
5654
5655	// The name of the new resource.
5656	Name *string `type:"string"`
5657}
5658
5659// String returns the string representation
5660func (s CreateDestinationOutput) String() string {
5661	return awsutil.Prettify(s)
5662}
5663
5664// GoString returns the string representation
5665func (s CreateDestinationOutput) GoString() string {
5666	return s.String()
5667}
5668
5669// SetArn sets the Arn field's value.
5670func (s *CreateDestinationOutput) SetArn(v string) *CreateDestinationOutput {
5671	s.Arn = &v
5672	return s
5673}
5674
5675// SetName sets the Name field's value.
5676func (s *CreateDestinationOutput) SetName(v string) *CreateDestinationOutput {
5677	s.Name = &v
5678	return s
5679}
5680
5681type CreateDeviceProfileInput struct {
5682	_ struct{} `type:"structure"`
5683
5684	// Each resource must have a unique client request token. If you try to create
5685	// a new resource with the same token as a resource that already exists, an
5686	// exception occurs. If you omit this value, AWS SDKs will automatically generate
5687	// a unique client request.
5688	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
5689
5690	// The device profile information to use to create the device profile.
5691	LoRaWAN *LoRaWANDeviceProfile `type:"structure"`
5692
5693	// The name of the new resource.
5694	Name *string `type:"string"`
5695
5696	// The tags to attach to the new device profile. Tags are metadata that you
5697	// can use to manage a resource.
5698	Tags []*Tag `type:"list"`
5699}
5700
5701// String returns the string representation
5702func (s CreateDeviceProfileInput) String() string {
5703	return awsutil.Prettify(s)
5704}
5705
5706// GoString returns the string representation
5707func (s CreateDeviceProfileInput) GoString() string {
5708	return s.String()
5709}
5710
5711// Validate inspects the fields of the type to determine if they are valid.
5712func (s *CreateDeviceProfileInput) Validate() error {
5713	invalidParams := request.ErrInvalidParams{Context: "CreateDeviceProfileInput"}
5714	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
5715		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
5716	}
5717	if s.LoRaWAN != nil {
5718		if err := s.LoRaWAN.Validate(); err != nil {
5719			invalidParams.AddNested("LoRaWAN", err.(request.ErrInvalidParams))
5720		}
5721	}
5722	if s.Tags != nil {
5723		for i, v := range s.Tags {
5724			if v == nil {
5725				continue
5726			}
5727			if err := v.Validate(); err != nil {
5728				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5729			}
5730		}
5731	}
5732
5733	if invalidParams.Len() > 0 {
5734		return invalidParams
5735	}
5736	return nil
5737}
5738
5739// SetClientRequestToken sets the ClientRequestToken field's value.
5740func (s *CreateDeviceProfileInput) SetClientRequestToken(v string) *CreateDeviceProfileInput {
5741	s.ClientRequestToken = &v
5742	return s
5743}
5744
5745// SetLoRaWAN sets the LoRaWAN field's value.
5746func (s *CreateDeviceProfileInput) SetLoRaWAN(v *LoRaWANDeviceProfile) *CreateDeviceProfileInput {
5747	s.LoRaWAN = v
5748	return s
5749}
5750
5751// SetName sets the Name field's value.
5752func (s *CreateDeviceProfileInput) SetName(v string) *CreateDeviceProfileInput {
5753	s.Name = &v
5754	return s
5755}
5756
5757// SetTags sets the Tags field's value.
5758func (s *CreateDeviceProfileInput) SetTags(v []*Tag) *CreateDeviceProfileInput {
5759	s.Tags = v
5760	return s
5761}
5762
5763type CreateDeviceProfileOutput struct {
5764	_ struct{} `type:"structure"`
5765
5766	// The Amazon Resource Name of the new resource.
5767	Arn *string `type:"string"`
5768
5769	// The ID of the new device profile.
5770	Id *string `type:"string"`
5771}
5772
5773// String returns the string representation
5774func (s CreateDeviceProfileOutput) String() string {
5775	return awsutil.Prettify(s)
5776}
5777
5778// GoString returns the string representation
5779func (s CreateDeviceProfileOutput) GoString() string {
5780	return s.String()
5781}
5782
5783// SetArn sets the Arn field's value.
5784func (s *CreateDeviceProfileOutput) SetArn(v string) *CreateDeviceProfileOutput {
5785	s.Arn = &v
5786	return s
5787}
5788
5789// SetId sets the Id field's value.
5790func (s *CreateDeviceProfileOutput) SetId(v string) *CreateDeviceProfileOutput {
5791	s.Id = &v
5792	return s
5793}
5794
5795type CreateServiceProfileInput struct {
5796	_ struct{} `type:"structure"`
5797
5798	// Each resource must have a unique client request token. If you try to create
5799	// a new resource with the same token as a resource that already exists, an
5800	// exception occurs. If you omit this value, AWS SDKs will automatically generate
5801	// a unique client request.
5802	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
5803
5804	// The service profile information to use to create the service profile.
5805	LoRaWAN *LoRaWANServiceProfile `type:"structure"`
5806
5807	// The name of the new resource.
5808	Name *string `type:"string"`
5809
5810	// The tags to attach to the new service profile. Tags are metadata that you
5811	// can use to manage a resource.
5812	Tags []*Tag `type:"list"`
5813}
5814
5815// String returns the string representation
5816func (s CreateServiceProfileInput) String() string {
5817	return awsutil.Prettify(s)
5818}
5819
5820// GoString returns the string representation
5821func (s CreateServiceProfileInput) GoString() string {
5822	return s.String()
5823}
5824
5825// Validate inspects the fields of the type to determine if they are valid.
5826func (s *CreateServiceProfileInput) Validate() error {
5827	invalidParams := request.ErrInvalidParams{Context: "CreateServiceProfileInput"}
5828	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
5829		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
5830	}
5831	if s.Tags != nil {
5832		for i, v := range s.Tags {
5833			if v == nil {
5834				continue
5835			}
5836			if err := v.Validate(); err != nil {
5837				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5838			}
5839		}
5840	}
5841
5842	if invalidParams.Len() > 0 {
5843		return invalidParams
5844	}
5845	return nil
5846}
5847
5848// SetClientRequestToken sets the ClientRequestToken field's value.
5849func (s *CreateServiceProfileInput) SetClientRequestToken(v string) *CreateServiceProfileInput {
5850	s.ClientRequestToken = &v
5851	return s
5852}
5853
5854// SetLoRaWAN sets the LoRaWAN field's value.
5855func (s *CreateServiceProfileInput) SetLoRaWAN(v *LoRaWANServiceProfile) *CreateServiceProfileInput {
5856	s.LoRaWAN = v
5857	return s
5858}
5859
5860// SetName sets the Name field's value.
5861func (s *CreateServiceProfileInput) SetName(v string) *CreateServiceProfileInput {
5862	s.Name = &v
5863	return s
5864}
5865
5866// SetTags sets the Tags field's value.
5867func (s *CreateServiceProfileInput) SetTags(v []*Tag) *CreateServiceProfileInput {
5868	s.Tags = v
5869	return s
5870}
5871
5872type CreateServiceProfileOutput struct {
5873	_ struct{} `type:"structure"`
5874
5875	// The Amazon Resource Name of the new resource.
5876	Arn *string `type:"string"`
5877
5878	// The ID of the new service profile.
5879	Id *string `type:"string"`
5880}
5881
5882// String returns the string representation
5883func (s CreateServiceProfileOutput) String() string {
5884	return awsutil.Prettify(s)
5885}
5886
5887// GoString returns the string representation
5888func (s CreateServiceProfileOutput) GoString() string {
5889	return s.String()
5890}
5891
5892// SetArn sets the Arn field's value.
5893func (s *CreateServiceProfileOutput) SetArn(v string) *CreateServiceProfileOutput {
5894	s.Arn = &v
5895	return s
5896}
5897
5898// SetId sets the Id field's value.
5899func (s *CreateServiceProfileOutput) SetId(v string) *CreateServiceProfileOutput {
5900	s.Id = &v
5901	return s
5902}
5903
5904type CreateWirelessDeviceInput struct {
5905	_ struct{} `type:"structure"`
5906
5907	// Each resource must have a unique client request token. If you try to create
5908	// a new resource with the same token as a resource that already exists, an
5909	// exception occurs. If you omit this value, AWS SDKs will automatically generate
5910	// a unique client request.
5911	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
5912
5913	// The description of the new resource.
5914	Description *string `type:"string"`
5915
5916	// The name of the destination to assign to the new wireless device.
5917	//
5918	// DestinationName is a required field
5919	DestinationName *string `type:"string" required:"true"`
5920
5921	// The device configuration information to use to create the wireless device.
5922	LoRaWAN *LoRaWANDevice `type:"structure"`
5923
5924	// The name of the new resource.
5925	Name *string `type:"string"`
5926
5927	// The tags to attach to the new wireless device. Tags are metadata that you
5928	// can use to manage a resource.
5929	Tags []*Tag `type:"list"`
5930
5931	// The wireless device type.
5932	//
5933	// Type is a required field
5934	Type *string `type:"string" required:"true" enum:"WirelessDeviceType"`
5935}
5936
5937// String returns the string representation
5938func (s CreateWirelessDeviceInput) String() string {
5939	return awsutil.Prettify(s)
5940}
5941
5942// GoString returns the string representation
5943func (s CreateWirelessDeviceInput) GoString() string {
5944	return s.String()
5945}
5946
5947// Validate inspects the fields of the type to determine if they are valid.
5948func (s *CreateWirelessDeviceInput) Validate() error {
5949	invalidParams := request.ErrInvalidParams{Context: "CreateWirelessDeviceInput"}
5950	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
5951		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
5952	}
5953	if s.DestinationName == nil {
5954		invalidParams.Add(request.NewErrParamRequired("DestinationName"))
5955	}
5956	if s.Type == nil {
5957		invalidParams.Add(request.NewErrParamRequired("Type"))
5958	}
5959	if s.Tags != nil {
5960		for i, v := range s.Tags {
5961			if v == nil {
5962				continue
5963			}
5964			if err := v.Validate(); err != nil {
5965				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5966			}
5967		}
5968	}
5969
5970	if invalidParams.Len() > 0 {
5971		return invalidParams
5972	}
5973	return nil
5974}
5975
5976// SetClientRequestToken sets the ClientRequestToken field's value.
5977func (s *CreateWirelessDeviceInput) SetClientRequestToken(v string) *CreateWirelessDeviceInput {
5978	s.ClientRequestToken = &v
5979	return s
5980}
5981
5982// SetDescription sets the Description field's value.
5983func (s *CreateWirelessDeviceInput) SetDescription(v string) *CreateWirelessDeviceInput {
5984	s.Description = &v
5985	return s
5986}
5987
5988// SetDestinationName sets the DestinationName field's value.
5989func (s *CreateWirelessDeviceInput) SetDestinationName(v string) *CreateWirelessDeviceInput {
5990	s.DestinationName = &v
5991	return s
5992}
5993
5994// SetLoRaWAN sets the LoRaWAN field's value.
5995func (s *CreateWirelessDeviceInput) SetLoRaWAN(v *LoRaWANDevice) *CreateWirelessDeviceInput {
5996	s.LoRaWAN = v
5997	return s
5998}
5999
6000// SetName sets the Name field's value.
6001func (s *CreateWirelessDeviceInput) SetName(v string) *CreateWirelessDeviceInput {
6002	s.Name = &v
6003	return s
6004}
6005
6006// SetTags sets the Tags field's value.
6007func (s *CreateWirelessDeviceInput) SetTags(v []*Tag) *CreateWirelessDeviceInput {
6008	s.Tags = v
6009	return s
6010}
6011
6012// SetType sets the Type field's value.
6013func (s *CreateWirelessDeviceInput) SetType(v string) *CreateWirelessDeviceInput {
6014	s.Type = &v
6015	return s
6016}
6017
6018type CreateWirelessDeviceOutput struct {
6019	_ struct{} `type:"structure"`
6020
6021	// The Amazon Resource Name of the new resource.
6022	Arn *string `type:"string"`
6023
6024	// The ID of the new wireless device.
6025	Id *string `type:"string"`
6026}
6027
6028// String returns the string representation
6029func (s CreateWirelessDeviceOutput) String() string {
6030	return awsutil.Prettify(s)
6031}
6032
6033// GoString returns the string representation
6034func (s CreateWirelessDeviceOutput) GoString() string {
6035	return s.String()
6036}
6037
6038// SetArn sets the Arn field's value.
6039func (s *CreateWirelessDeviceOutput) SetArn(v string) *CreateWirelessDeviceOutput {
6040	s.Arn = &v
6041	return s
6042}
6043
6044// SetId sets the Id field's value.
6045func (s *CreateWirelessDeviceOutput) SetId(v string) *CreateWirelessDeviceOutput {
6046	s.Id = &v
6047	return s
6048}
6049
6050type CreateWirelessGatewayInput struct {
6051	_ struct{} `type:"structure"`
6052
6053	// Each resource must have a unique client request token. If you try to create
6054	// a new resource with the same token as a resource that already exists, an
6055	// exception occurs. If you omit this value, AWS SDKs will automatically generate
6056	// a unique client request.
6057	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
6058
6059	// The description of the new resource.
6060	Description *string `type:"string"`
6061
6062	// The gateway configuration information to use to create the wireless gateway.
6063	//
6064	// LoRaWAN is a required field
6065	LoRaWAN *LoRaWANGateway `type:"structure" required:"true"`
6066
6067	// The name of the new resource.
6068	Name *string `type:"string"`
6069
6070	// The tags to attach to the new wireless gateway. Tags are metadata that you
6071	// can use to manage a resource.
6072	Tags []*Tag `type:"list"`
6073}
6074
6075// String returns the string representation
6076func (s CreateWirelessGatewayInput) String() string {
6077	return awsutil.Prettify(s)
6078}
6079
6080// GoString returns the string representation
6081func (s CreateWirelessGatewayInput) GoString() string {
6082	return s.String()
6083}
6084
6085// Validate inspects the fields of the type to determine if they are valid.
6086func (s *CreateWirelessGatewayInput) Validate() error {
6087	invalidParams := request.ErrInvalidParams{Context: "CreateWirelessGatewayInput"}
6088	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
6089		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
6090	}
6091	if s.LoRaWAN == nil {
6092		invalidParams.Add(request.NewErrParamRequired("LoRaWAN"))
6093	}
6094	if s.Tags != nil {
6095		for i, v := range s.Tags {
6096			if v == nil {
6097				continue
6098			}
6099			if err := v.Validate(); err != nil {
6100				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6101			}
6102		}
6103	}
6104
6105	if invalidParams.Len() > 0 {
6106		return invalidParams
6107	}
6108	return nil
6109}
6110
6111// SetClientRequestToken sets the ClientRequestToken field's value.
6112func (s *CreateWirelessGatewayInput) SetClientRequestToken(v string) *CreateWirelessGatewayInput {
6113	s.ClientRequestToken = &v
6114	return s
6115}
6116
6117// SetDescription sets the Description field's value.
6118func (s *CreateWirelessGatewayInput) SetDescription(v string) *CreateWirelessGatewayInput {
6119	s.Description = &v
6120	return s
6121}
6122
6123// SetLoRaWAN sets the LoRaWAN field's value.
6124func (s *CreateWirelessGatewayInput) SetLoRaWAN(v *LoRaWANGateway) *CreateWirelessGatewayInput {
6125	s.LoRaWAN = v
6126	return s
6127}
6128
6129// SetName sets the Name field's value.
6130func (s *CreateWirelessGatewayInput) SetName(v string) *CreateWirelessGatewayInput {
6131	s.Name = &v
6132	return s
6133}
6134
6135// SetTags sets the Tags field's value.
6136func (s *CreateWirelessGatewayInput) SetTags(v []*Tag) *CreateWirelessGatewayInput {
6137	s.Tags = v
6138	return s
6139}
6140
6141type CreateWirelessGatewayOutput struct {
6142	_ struct{} `type:"structure"`
6143
6144	// The Amazon Resource Name of the new resource.
6145	Arn *string `type:"string"`
6146
6147	// The ID of the new wireless gateway.
6148	Id *string `type:"string"`
6149}
6150
6151// String returns the string representation
6152func (s CreateWirelessGatewayOutput) String() string {
6153	return awsutil.Prettify(s)
6154}
6155
6156// GoString returns the string representation
6157func (s CreateWirelessGatewayOutput) GoString() string {
6158	return s.String()
6159}
6160
6161// SetArn sets the Arn field's value.
6162func (s *CreateWirelessGatewayOutput) SetArn(v string) *CreateWirelessGatewayOutput {
6163	s.Arn = &v
6164	return s
6165}
6166
6167// SetId sets the Id field's value.
6168func (s *CreateWirelessGatewayOutput) SetId(v string) *CreateWirelessGatewayOutput {
6169	s.Id = &v
6170	return s
6171}
6172
6173type CreateWirelessGatewayTaskDefinitionInput struct {
6174	_ struct{} `type:"structure"`
6175
6176	// Whether to automatically create tasks using this task definition for all
6177	// gateways with the specified current version. If false, the task must me created
6178	// by calling CreateWirelessGatewayTask.
6179	//
6180	// AutoCreateTasks is a required field
6181	AutoCreateTasks *bool `type:"boolean" required:"true"`
6182
6183	// Each resource must have a unique client request token. If you try to create
6184	// a new resource with the same token as a resource that already exists, an
6185	// exception occurs. If you omit this value, AWS SDKs will automatically generate
6186	// a unique client request.
6187	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
6188
6189	// The name of the new resource.
6190	Name *string `min:"1" type:"string"`
6191
6192	// The tags to attach to the specified resource. Tags are metadata that you
6193	// can use to manage a resource.
6194	Tags []*Tag `type:"list"`
6195
6196	// Information about the gateways to update.
6197	Update *UpdateWirelessGatewayTaskCreate `type:"structure"`
6198}
6199
6200// String returns the string representation
6201func (s CreateWirelessGatewayTaskDefinitionInput) String() string {
6202	return awsutil.Prettify(s)
6203}
6204
6205// GoString returns the string representation
6206func (s CreateWirelessGatewayTaskDefinitionInput) GoString() string {
6207	return s.String()
6208}
6209
6210// Validate inspects the fields of the type to determine if they are valid.
6211func (s *CreateWirelessGatewayTaskDefinitionInput) Validate() error {
6212	invalidParams := request.ErrInvalidParams{Context: "CreateWirelessGatewayTaskDefinitionInput"}
6213	if s.AutoCreateTasks == nil {
6214		invalidParams.Add(request.NewErrParamRequired("AutoCreateTasks"))
6215	}
6216	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
6217		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
6218	}
6219	if s.Name != nil && len(*s.Name) < 1 {
6220		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6221	}
6222	if s.Tags != nil {
6223		for i, v := range s.Tags {
6224			if v == nil {
6225				continue
6226			}
6227			if err := v.Validate(); err != nil {
6228				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6229			}
6230		}
6231	}
6232	if s.Update != nil {
6233		if err := s.Update.Validate(); err != nil {
6234			invalidParams.AddNested("Update", err.(request.ErrInvalidParams))
6235		}
6236	}
6237
6238	if invalidParams.Len() > 0 {
6239		return invalidParams
6240	}
6241	return nil
6242}
6243
6244// SetAutoCreateTasks sets the AutoCreateTasks field's value.
6245func (s *CreateWirelessGatewayTaskDefinitionInput) SetAutoCreateTasks(v bool) *CreateWirelessGatewayTaskDefinitionInput {
6246	s.AutoCreateTasks = &v
6247	return s
6248}
6249
6250// SetClientRequestToken sets the ClientRequestToken field's value.
6251func (s *CreateWirelessGatewayTaskDefinitionInput) SetClientRequestToken(v string) *CreateWirelessGatewayTaskDefinitionInput {
6252	s.ClientRequestToken = &v
6253	return s
6254}
6255
6256// SetName sets the Name field's value.
6257func (s *CreateWirelessGatewayTaskDefinitionInput) SetName(v string) *CreateWirelessGatewayTaskDefinitionInput {
6258	s.Name = &v
6259	return s
6260}
6261
6262// SetTags sets the Tags field's value.
6263func (s *CreateWirelessGatewayTaskDefinitionInput) SetTags(v []*Tag) *CreateWirelessGatewayTaskDefinitionInput {
6264	s.Tags = v
6265	return s
6266}
6267
6268// SetUpdate sets the Update field's value.
6269func (s *CreateWirelessGatewayTaskDefinitionInput) SetUpdate(v *UpdateWirelessGatewayTaskCreate) *CreateWirelessGatewayTaskDefinitionInput {
6270	s.Update = v
6271	return s
6272}
6273
6274type CreateWirelessGatewayTaskDefinitionOutput struct {
6275	_ struct{} `type:"structure"`
6276
6277	// The Amazon Resource Name of the resource.
6278	Arn *string `type:"string"`
6279
6280	// The ID of the new wireless gateway task definition.
6281	Id *string `type:"string"`
6282}
6283
6284// String returns the string representation
6285func (s CreateWirelessGatewayTaskDefinitionOutput) String() string {
6286	return awsutil.Prettify(s)
6287}
6288
6289// GoString returns the string representation
6290func (s CreateWirelessGatewayTaskDefinitionOutput) GoString() string {
6291	return s.String()
6292}
6293
6294// SetArn sets the Arn field's value.
6295func (s *CreateWirelessGatewayTaskDefinitionOutput) SetArn(v string) *CreateWirelessGatewayTaskDefinitionOutput {
6296	s.Arn = &v
6297	return s
6298}
6299
6300// SetId sets the Id field's value.
6301func (s *CreateWirelessGatewayTaskDefinitionOutput) SetId(v string) *CreateWirelessGatewayTaskDefinitionOutput {
6302	s.Id = &v
6303	return s
6304}
6305
6306type CreateWirelessGatewayTaskInput struct {
6307	_ struct{} `type:"structure"`
6308
6309	// The ID of the resource to update.
6310	//
6311	// Id is a required field
6312	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
6313
6314	// The ID of the WirelessGatewayTaskDefinition.
6315	//
6316	// WirelessGatewayTaskDefinitionId is a required field
6317	WirelessGatewayTaskDefinitionId *string `type:"string" required:"true"`
6318}
6319
6320// String returns the string representation
6321func (s CreateWirelessGatewayTaskInput) String() string {
6322	return awsutil.Prettify(s)
6323}
6324
6325// GoString returns the string representation
6326func (s CreateWirelessGatewayTaskInput) GoString() string {
6327	return s.String()
6328}
6329
6330// Validate inspects the fields of the type to determine if they are valid.
6331func (s *CreateWirelessGatewayTaskInput) Validate() error {
6332	invalidParams := request.ErrInvalidParams{Context: "CreateWirelessGatewayTaskInput"}
6333	if s.Id == nil {
6334		invalidParams.Add(request.NewErrParamRequired("Id"))
6335	}
6336	if s.Id != nil && len(*s.Id) < 1 {
6337		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
6338	}
6339	if s.WirelessGatewayTaskDefinitionId == nil {
6340		invalidParams.Add(request.NewErrParamRequired("WirelessGatewayTaskDefinitionId"))
6341	}
6342
6343	if invalidParams.Len() > 0 {
6344		return invalidParams
6345	}
6346	return nil
6347}
6348
6349// SetId sets the Id field's value.
6350func (s *CreateWirelessGatewayTaskInput) SetId(v string) *CreateWirelessGatewayTaskInput {
6351	s.Id = &v
6352	return s
6353}
6354
6355// SetWirelessGatewayTaskDefinitionId sets the WirelessGatewayTaskDefinitionId field's value.
6356func (s *CreateWirelessGatewayTaskInput) SetWirelessGatewayTaskDefinitionId(v string) *CreateWirelessGatewayTaskInput {
6357	s.WirelessGatewayTaskDefinitionId = &v
6358	return s
6359}
6360
6361type CreateWirelessGatewayTaskOutput struct {
6362	_ struct{} `type:"structure"`
6363
6364	// The status of the request.
6365	Status *string `type:"string" enum:"WirelessGatewayTaskStatus"`
6366
6367	// The ID of the WirelessGatewayTaskDefinition.
6368	WirelessGatewayTaskDefinitionId *string `type:"string"`
6369}
6370
6371// String returns the string representation
6372func (s CreateWirelessGatewayTaskOutput) String() string {
6373	return awsutil.Prettify(s)
6374}
6375
6376// GoString returns the string representation
6377func (s CreateWirelessGatewayTaskOutput) GoString() string {
6378	return s.String()
6379}
6380
6381// SetStatus sets the Status field's value.
6382func (s *CreateWirelessGatewayTaskOutput) SetStatus(v string) *CreateWirelessGatewayTaskOutput {
6383	s.Status = &v
6384	return s
6385}
6386
6387// SetWirelessGatewayTaskDefinitionId sets the WirelessGatewayTaskDefinitionId field's value.
6388func (s *CreateWirelessGatewayTaskOutput) SetWirelessGatewayTaskDefinitionId(v string) *CreateWirelessGatewayTaskOutput {
6389	s.WirelessGatewayTaskDefinitionId = &v
6390	return s
6391}
6392
6393type DeleteDestinationInput struct {
6394	_ struct{} `type:"structure"`
6395
6396	// The name of the resource to delete.
6397	//
6398	// Name is a required field
6399	Name *string `location:"uri" locationName:"Name" type:"string" required:"true"`
6400}
6401
6402// String returns the string representation
6403func (s DeleteDestinationInput) String() string {
6404	return awsutil.Prettify(s)
6405}
6406
6407// GoString returns the string representation
6408func (s DeleteDestinationInput) GoString() string {
6409	return s.String()
6410}
6411
6412// Validate inspects the fields of the type to determine if they are valid.
6413func (s *DeleteDestinationInput) Validate() error {
6414	invalidParams := request.ErrInvalidParams{Context: "DeleteDestinationInput"}
6415	if s.Name == nil {
6416		invalidParams.Add(request.NewErrParamRequired("Name"))
6417	}
6418	if s.Name != nil && len(*s.Name) < 1 {
6419		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6420	}
6421
6422	if invalidParams.Len() > 0 {
6423		return invalidParams
6424	}
6425	return nil
6426}
6427
6428// SetName sets the Name field's value.
6429func (s *DeleteDestinationInput) SetName(v string) *DeleteDestinationInput {
6430	s.Name = &v
6431	return s
6432}
6433
6434type DeleteDestinationOutput struct {
6435	_ struct{} `type:"structure"`
6436}
6437
6438// String returns the string representation
6439func (s DeleteDestinationOutput) String() string {
6440	return awsutil.Prettify(s)
6441}
6442
6443// GoString returns the string representation
6444func (s DeleteDestinationOutput) GoString() string {
6445	return s.String()
6446}
6447
6448type DeleteDeviceProfileInput struct {
6449	_ struct{} `type:"structure"`
6450
6451	// The ID of the resource to delete.
6452	//
6453	// Id is a required field
6454	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
6455}
6456
6457// String returns the string representation
6458func (s DeleteDeviceProfileInput) String() string {
6459	return awsutil.Prettify(s)
6460}
6461
6462// GoString returns the string representation
6463func (s DeleteDeviceProfileInput) GoString() string {
6464	return s.String()
6465}
6466
6467// Validate inspects the fields of the type to determine if they are valid.
6468func (s *DeleteDeviceProfileInput) Validate() error {
6469	invalidParams := request.ErrInvalidParams{Context: "DeleteDeviceProfileInput"}
6470	if s.Id == nil {
6471		invalidParams.Add(request.NewErrParamRequired("Id"))
6472	}
6473	if s.Id != nil && len(*s.Id) < 1 {
6474		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
6475	}
6476
6477	if invalidParams.Len() > 0 {
6478		return invalidParams
6479	}
6480	return nil
6481}
6482
6483// SetId sets the Id field's value.
6484func (s *DeleteDeviceProfileInput) SetId(v string) *DeleteDeviceProfileInput {
6485	s.Id = &v
6486	return s
6487}
6488
6489type DeleteDeviceProfileOutput struct {
6490	_ struct{} `type:"structure"`
6491}
6492
6493// String returns the string representation
6494func (s DeleteDeviceProfileOutput) String() string {
6495	return awsutil.Prettify(s)
6496}
6497
6498// GoString returns the string representation
6499func (s DeleteDeviceProfileOutput) GoString() string {
6500	return s.String()
6501}
6502
6503type DeleteServiceProfileInput struct {
6504	_ struct{} `type:"structure"`
6505
6506	// The ID of the resource to delete.
6507	//
6508	// Id is a required field
6509	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
6510}
6511
6512// String returns the string representation
6513func (s DeleteServiceProfileInput) String() string {
6514	return awsutil.Prettify(s)
6515}
6516
6517// GoString returns the string representation
6518func (s DeleteServiceProfileInput) GoString() string {
6519	return s.String()
6520}
6521
6522// Validate inspects the fields of the type to determine if they are valid.
6523func (s *DeleteServiceProfileInput) Validate() error {
6524	invalidParams := request.ErrInvalidParams{Context: "DeleteServiceProfileInput"}
6525	if s.Id == nil {
6526		invalidParams.Add(request.NewErrParamRequired("Id"))
6527	}
6528	if s.Id != nil && len(*s.Id) < 1 {
6529		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
6530	}
6531
6532	if invalidParams.Len() > 0 {
6533		return invalidParams
6534	}
6535	return nil
6536}
6537
6538// SetId sets the Id field's value.
6539func (s *DeleteServiceProfileInput) SetId(v string) *DeleteServiceProfileInput {
6540	s.Id = &v
6541	return s
6542}
6543
6544type DeleteServiceProfileOutput struct {
6545	_ struct{} `type:"structure"`
6546}
6547
6548// String returns the string representation
6549func (s DeleteServiceProfileOutput) String() string {
6550	return awsutil.Prettify(s)
6551}
6552
6553// GoString returns the string representation
6554func (s DeleteServiceProfileOutput) GoString() string {
6555	return s.String()
6556}
6557
6558type DeleteWirelessDeviceInput struct {
6559	_ struct{} `type:"structure"`
6560
6561	// The ID of the resource to delete.
6562	//
6563	// Id is a required field
6564	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
6565}
6566
6567// String returns the string representation
6568func (s DeleteWirelessDeviceInput) String() string {
6569	return awsutil.Prettify(s)
6570}
6571
6572// GoString returns the string representation
6573func (s DeleteWirelessDeviceInput) GoString() string {
6574	return s.String()
6575}
6576
6577// Validate inspects the fields of the type to determine if they are valid.
6578func (s *DeleteWirelessDeviceInput) Validate() error {
6579	invalidParams := request.ErrInvalidParams{Context: "DeleteWirelessDeviceInput"}
6580	if s.Id == nil {
6581		invalidParams.Add(request.NewErrParamRequired("Id"))
6582	}
6583	if s.Id != nil && len(*s.Id) < 1 {
6584		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
6585	}
6586
6587	if invalidParams.Len() > 0 {
6588		return invalidParams
6589	}
6590	return nil
6591}
6592
6593// SetId sets the Id field's value.
6594func (s *DeleteWirelessDeviceInput) SetId(v string) *DeleteWirelessDeviceInput {
6595	s.Id = &v
6596	return s
6597}
6598
6599type DeleteWirelessDeviceOutput struct {
6600	_ struct{} `type:"structure"`
6601}
6602
6603// String returns the string representation
6604func (s DeleteWirelessDeviceOutput) String() string {
6605	return awsutil.Prettify(s)
6606}
6607
6608// GoString returns the string representation
6609func (s DeleteWirelessDeviceOutput) GoString() string {
6610	return s.String()
6611}
6612
6613type DeleteWirelessGatewayInput struct {
6614	_ struct{} `type:"structure"`
6615
6616	// The ID of the resource to delete.
6617	//
6618	// Id is a required field
6619	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
6620}
6621
6622// String returns the string representation
6623func (s DeleteWirelessGatewayInput) String() string {
6624	return awsutil.Prettify(s)
6625}
6626
6627// GoString returns the string representation
6628func (s DeleteWirelessGatewayInput) GoString() string {
6629	return s.String()
6630}
6631
6632// Validate inspects the fields of the type to determine if they are valid.
6633func (s *DeleteWirelessGatewayInput) Validate() error {
6634	invalidParams := request.ErrInvalidParams{Context: "DeleteWirelessGatewayInput"}
6635	if s.Id == nil {
6636		invalidParams.Add(request.NewErrParamRequired("Id"))
6637	}
6638	if s.Id != nil && len(*s.Id) < 1 {
6639		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
6640	}
6641
6642	if invalidParams.Len() > 0 {
6643		return invalidParams
6644	}
6645	return nil
6646}
6647
6648// SetId sets the Id field's value.
6649func (s *DeleteWirelessGatewayInput) SetId(v string) *DeleteWirelessGatewayInput {
6650	s.Id = &v
6651	return s
6652}
6653
6654type DeleteWirelessGatewayOutput struct {
6655	_ struct{} `type:"structure"`
6656}
6657
6658// String returns the string representation
6659func (s DeleteWirelessGatewayOutput) String() string {
6660	return awsutil.Prettify(s)
6661}
6662
6663// GoString returns the string representation
6664func (s DeleteWirelessGatewayOutput) GoString() string {
6665	return s.String()
6666}
6667
6668type DeleteWirelessGatewayTaskDefinitionInput struct {
6669	_ struct{} `type:"structure"`
6670
6671	// The ID of the resource to delete.
6672	//
6673	// Id is a required field
6674	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
6675}
6676
6677// String returns the string representation
6678func (s DeleteWirelessGatewayTaskDefinitionInput) String() string {
6679	return awsutil.Prettify(s)
6680}
6681
6682// GoString returns the string representation
6683func (s DeleteWirelessGatewayTaskDefinitionInput) GoString() string {
6684	return s.String()
6685}
6686
6687// Validate inspects the fields of the type to determine if they are valid.
6688func (s *DeleteWirelessGatewayTaskDefinitionInput) Validate() error {
6689	invalidParams := request.ErrInvalidParams{Context: "DeleteWirelessGatewayTaskDefinitionInput"}
6690	if s.Id == nil {
6691		invalidParams.Add(request.NewErrParamRequired("Id"))
6692	}
6693	if s.Id != nil && len(*s.Id) < 1 {
6694		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
6695	}
6696
6697	if invalidParams.Len() > 0 {
6698		return invalidParams
6699	}
6700	return nil
6701}
6702
6703// SetId sets the Id field's value.
6704func (s *DeleteWirelessGatewayTaskDefinitionInput) SetId(v string) *DeleteWirelessGatewayTaskDefinitionInput {
6705	s.Id = &v
6706	return s
6707}
6708
6709type DeleteWirelessGatewayTaskDefinitionOutput struct {
6710	_ struct{} `type:"structure"`
6711}
6712
6713// String returns the string representation
6714func (s DeleteWirelessGatewayTaskDefinitionOutput) String() string {
6715	return awsutil.Prettify(s)
6716}
6717
6718// GoString returns the string representation
6719func (s DeleteWirelessGatewayTaskDefinitionOutput) GoString() string {
6720	return s.String()
6721}
6722
6723type DeleteWirelessGatewayTaskInput struct {
6724	_ struct{} `type:"structure"`
6725
6726	// The ID of the resource to delete.
6727	//
6728	// Id is a required field
6729	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
6730}
6731
6732// String returns the string representation
6733func (s DeleteWirelessGatewayTaskInput) String() string {
6734	return awsutil.Prettify(s)
6735}
6736
6737// GoString returns the string representation
6738func (s DeleteWirelessGatewayTaskInput) GoString() string {
6739	return s.String()
6740}
6741
6742// Validate inspects the fields of the type to determine if they are valid.
6743func (s *DeleteWirelessGatewayTaskInput) Validate() error {
6744	invalidParams := request.ErrInvalidParams{Context: "DeleteWirelessGatewayTaskInput"}
6745	if s.Id == nil {
6746		invalidParams.Add(request.NewErrParamRequired("Id"))
6747	}
6748	if s.Id != nil && len(*s.Id) < 1 {
6749		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
6750	}
6751
6752	if invalidParams.Len() > 0 {
6753		return invalidParams
6754	}
6755	return nil
6756}
6757
6758// SetId sets the Id field's value.
6759func (s *DeleteWirelessGatewayTaskInput) SetId(v string) *DeleteWirelessGatewayTaskInput {
6760	s.Id = &v
6761	return s
6762}
6763
6764type DeleteWirelessGatewayTaskOutput struct {
6765	_ struct{} `type:"structure"`
6766}
6767
6768// String returns the string representation
6769func (s DeleteWirelessGatewayTaskOutput) String() string {
6770	return awsutil.Prettify(s)
6771}
6772
6773// GoString returns the string representation
6774func (s DeleteWirelessGatewayTaskOutput) GoString() string {
6775	return s.String()
6776}
6777
6778// Describes a destination.
6779type Destinations struct {
6780	_ struct{} `type:"structure"`
6781
6782	// The Amazon Resource Name of the resource.
6783	Arn *string `type:"string"`
6784
6785	// The description of the resource.
6786	Description *string `type:"string"`
6787
6788	// The rule name or topic rule to send messages to.
6789	Expression *string `type:"string"`
6790
6791	// The type of value in Expression.
6792	ExpressionType *string `type:"string" enum:"ExpressionType"`
6793
6794	// The name of the resource.
6795	Name *string `type:"string"`
6796
6797	// The ARN of the IAM Role that authorizes the destination.
6798	RoleArn *string `min:"20" type:"string"`
6799}
6800
6801// String returns the string representation
6802func (s Destinations) String() string {
6803	return awsutil.Prettify(s)
6804}
6805
6806// GoString returns the string representation
6807func (s Destinations) GoString() string {
6808	return s.String()
6809}
6810
6811// SetArn sets the Arn field's value.
6812func (s *Destinations) SetArn(v string) *Destinations {
6813	s.Arn = &v
6814	return s
6815}
6816
6817// SetDescription sets the Description field's value.
6818func (s *Destinations) SetDescription(v string) *Destinations {
6819	s.Description = &v
6820	return s
6821}
6822
6823// SetExpression sets the Expression field's value.
6824func (s *Destinations) SetExpression(v string) *Destinations {
6825	s.Expression = &v
6826	return s
6827}
6828
6829// SetExpressionType sets the ExpressionType field's value.
6830func (s *Destinations) SetExpressionType(v string) *Destinations {
6831	s.ExpressionType = &v
6832	return s
6833}
6834
6835// SetName sets the Name field's value.
6836func (s *Destinations) SetName(v string) *Destinations {
6837	s.Name = &v
6838	return s
6839}
6840
6841// SetRoleArn sets the RoleArn field's value.
6842func (s *Destinations) SetRoleArn(v string) *Destinations {
6843	s.RoleArn = &v
6844	return s
6845}
6846
6847// Describes a device profile.
6848type DeviceProfile struct {
6849	_ struct{} `type:"structure"`
6850
6851	// The Amazon Resource Name of the resource.
6852	Arn *string `type:"string"`
6853
6854	// The ID of the device profile.
6855	Id *string `type:"string"`
6856
6857	// The name of the resource.
6858	Name *string `type:"string"`
6859}
6860
6861// String returns the string representation
6862func (s DeviceProfile) String() string {
6863	return awsutil.Prettify(s)
6864}
6865
6866// GoString returns the string representation
6867func (s DeviceProfile) GoString() string {
6868	return s.String()
6869}
6870
6871// SetArn sets the Arn field's value.
6872func (s *DeviceProfile) SetArn(v string) *DeviceProfile {
6873	s.Arn = &v
6874	return s
6875}
6876
6877// SetId sets the Id field's value.
6878func (s *DeviceProfile) SetId(v string) *DeviceProfile {
6879	s.Id = &v
6880	return s
6881}
6882
6883// SetName sets the Name field's value.
6884func (s *DeviceProfile) SetName(v string) *DeviceProfile {
6885	s.Name = &v
6886	return s
6887}
6888
6889type DisassociateAwsAccountFromPartnerAccountInput struct {
6890	_ struct{} `type:"structure"`
6891
6892	// The partner account ID to disassociate from the AWS account.
6893	//
6894	// PartnerAccountId is a required field
6895	PartnerAccountId *string `location:"uri" locationName:"PartnerAccountId" type:"string" required:"true"`
6896
6897	// The partner type.
6898	//
6899	// PartnerType is a required field
6900	PartnerType *string `location:"querystring" locationName:"partnerType" type:"string" required:"true" enum:"PartnerType"`
6901}
6902
6903// String returns the string representation
6904func (s DisassociateAwsAccountFromPartnerAccountInput) String() string {
6905	return awsutil.Prettify(s)
6906}
6907
6908// GoString returns the string representation
6909func (s DisassociateAwsAccountFromPartnerAccountInput) GoString() string {
6910	return s.String()
6911}
6912
6913// Validate inspects the fields of the type to determine if they are valid.
6914func (s *DisassociateAwsAccountFromPartnerAccountInput) Validate() error {
6915	invalidParams := request.ErrInvalidParams{Context: "DisassociateAwsAccountFromPartnerAccountInput"}
6916	if s.PartnerAccountId == nil {
6917		invalidParams.Add(request.NewErrParamRequired("PartnerAccountId"))
6918	}
6919	if s.PartnerAccountId != nil && len(*s.PartnerAccountId) < 1 {
6920		invalidParams.Add(request.NewErrParamMinLen("PartnerAccountId", 1))
6921	}
6922	if s.PartnerType == nil {
6923		invalidParams.Add(request.NewErrParamRequired("PartnerType"))
6924	}
6925
6926	if invalidParams.Len() > 0 {
6927		return invalidParams
6928	}
6929	return nil
6930}
6931
6932// SetPartnerAccountId sets the PartnerAccountId field's value.
6933func (s *DisassociateAwsAccountFromPartnerAccountInput) SetPartnerAccountId(v string) *DisassociateAwsAccountFromPartnerAccountInput {
6934	s.PartnerAccountId = &v
6935	return s
6936}
6937
6938// SetPartnerType sets the PartnerType field's value.
6939func (s *DisassociateAwsAccountFromPartnerAccountInput) SetPartnerType(v string) *DisassociateAwsAccountFromPartnerAccountInput {
6940	s.PartnerType = &v
6941	return s
6942}
6943
6944type DisassociateAwsAccountFromPartnerAccountOutput struct {
6945	_ struct{} `type:"structure"`
6946}
6947
6948// String returns the string representation
6949func (s DisassociateAwsAccountFromPartnerAccountOutput) String() string {
6950	return awsutil.Prettify(s)
6951}
6952
6953// GoString returns the string representation
6954func (s DisassociateAwsAccountFromPartnerAccountOutput) GoString() string {
6955	return s.String()
6956}
6957
6958type DisassociateWirelessDeviceFromThingInput struct {
6959	_ struct{} `type:"structure"`
6960
6961	// The ID of the resource to update.
6962	//
6963	// Id is a required field
6964	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
6965}
6966
6967// String returns the string representation
6968func (s DisassociateWirelessDeviceFromThingInput) String() string {
6969	return awsutil.Prettify(s)
6970}
6971
6972// GoString returns the string representation
6973func (s DisassociateWirelessDeviceFromThingInput) GoString() string {
6974	return s.String()
6975}
6976
6977// Validate inspects the fields of the type to determine if they are valid.
6978func (s *DisassociateWirelessDeviceFromThingInput) Validate() error {
6979	invalidParams := request.ErrInvalidParams{Context: "DisassociateWirelessDeviceFromThingInput"}
6980	if s.Id == nil {
6981		invalidParams.Add(request.NewErrParamRequired("Id"))
6982	}
6983	if s.Id != nil && len(*s.Id) < 1 {
6984		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
6985	}
6986
6987	if invalidParams.Len() > 0 {
6988		return invalidParams
6989	}
6990	return nil
6991}
6992
6993// SetId sets the Id field's value.
6994func (s *DisassociateWirelessDeviceFromThingInput) SetId(v string) *DisassociateWirelessDeviceFromThingInput {
6995	s.Id = &v
6996	return s
6997}
6998
6999type DisassociateWirelessDeviceFromThingOutput struct {
7000	_ struct{} `type:"structure"`
7001}
7002
7003// String returns the string representation
7004func (s DisassociateWirelessDeviceFromThingOutput) String() string {
7005	return awsutil.Prettify(s)
7006}
7007
7008// GoString returns the string representation
7009func (s DisassociateWirelessDeviceFromThingOutput) GoString() string {
7010	return s.String()
7011}
7012
7013type DisassociateWirelessGatewayFromCertificateInput struct {
7014	_ struct{} `type:"structure"`
7015
7016	// The ID of the resource to update.
7017	//
7018	// Id is a required field
7019	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
7020}
7021
7022// String returns the string representation
7023func (s DisassociateWirelessGatewayFromCertificateInput) String() string {
7024	return awsutil.Prettify(s)
7025}
7026
7027// GoString returns the string representation
7028func (s DisassociateWirelessGatewayFromCertificateInput) GoString() string {
7029	return s.String()
7030}
7031
7032// Validate inspects the fields of the type to determine if they are valid.
7033func (s *DisassociateWirelessGatewayFromCertificateInput) Validate() error {
7034	invalidParams := request.ErrInvalidParams{Context: "DisassociateWirelessGatewayFromCertificateInput"}
7035	if s.Id == nil {
7036		invalidParams.Add(request.NewErrParamRequired("Id"))
7037	}
7038	if s.Id != nil && len(*s.Id) < 1 {
7039		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
7040	}
7041
7042	if invalidParams.Len() > 0 {
7043		return invalidParams
7044	}
7045	return nil
7046}
7047
7048// SetId sets the Id field's value.
7049func (s *DisassociateWirelessGatewayFromCertificateInput) SetId(v string) *DisassociateWirelessGatewayFromCertificateInput {
7050	s.Id = &v
7051	return s
7052}
7053
7054type DisassociateWirelessGatewayFromCertificateOutput struct {
7055	_ struct{} `type:"structure"`
7056}
7057
7058// String returns the string representation
7059func (s DisassociateWirelessGatewayFromCertificateOutput) String() string {
7060	return awsutil.Prettify(s)
7061}
7062
7063// GoString returns the string representation
7064func (s DisassociateWirelessGatewayFromCertificateOutput) GoString() string {
7065	return s.String()
7066}
7067
7068type DisassociateWirelessGatewayFromThingInput struct {
7069	_ struct{} `type:"structure"`
7070
7071	// The ID of the resource to update.
7072	//
7073	// Id is a required field
7074	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
7075}
7076
7077// String returns the string representation
7078func (s DisassociateWirelessGatewayFromThingInput) String() string {
7079	return awsutil.Prettify(s)
7080}
7081
7082// GoString returns the string representation
7083func (s DisassociateWirelessGatewayFromThingInput) GoString() string {
7084	return s.String()
7085}
7086
7087// Validate inspects the fields of the type to determine if they are valid.
7088func (s *DisassociateWirelessGatewayFromThingInput) Validate() error {
7089	invalidParams := request.ErrInvalidParams{Context: "DisassociateWirelessGatewayFromThingInput"}
7090	if s.Id == nil {
7091		invalidParams.Add(request.NewErrParamRequired("Id"))
7092	}
7093	if s.Id != nil && len(*s.Id) < 1 {
7094		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
7095	}
7096
7097	if invalidParams.Len() > 0 {
7098		return invalidParams
7099	}
7100	return nil
7101}
7102
7103// SetId sets the Id field's value.
7104func (s *DisassociateWirelessGatewayFromThingInput) SetId(v string) *DisassociateWirelessGatewayFromThingInput {
7105	s.Id = &v
7106	return s
7107}
7108
7109type DisassociateWirelessGatewayFromThingOutput struct {
7110	_ struct{} `type:"structure"`
7111}
7112
7113// String returns the string representation
7114func (s DisassociateWirelessGatewayFromThingOutput) String() string {
7115	return awsutil.Prettify(s)
7116}
7117
7118// GoString returns the string representation
7119func (s DisassociateWirelessGatewayFromThingOutput) GoString() string {
7120	return s.String()
7121}
7122
7123type GetDestinationInput struct {
7124	_ struct{} `type:"structure"`
7125
7126	// The name of the resource to get.
7127	//
7128	// Name is a required field
7129	Name *string `location:"uri" locationName:"Name" type:"string" required:"true"`
7130}
7131
7132// String returns the string representation
7133func (s GetDestinationInput) String() string {
7134	return awsutil.Prettify(s)
7135}
7136
7137// GoString returns the string representation
7138func (s GetDestinationInput) GoString() string {
7139	return s.String()
7140}
7141
7142// Validate inspects the fields of the type to determine if they are valid.
7143func (s *GetDestinationInput) Validate() error {
7144	invalidParams := request.ErrInvalidParams{Context: "GetDestinationInput"}
7145	if s.Name == nil {
7146		invalidParams.Add(request.NewErrParamRequired("Name"))
7147	}
7148	if s.Name != nil && len(*s.Name) < 1 {
7149		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7150	}
7151
7152	if invalidParams.Len() > 0 {
7153		return invalidParams
7154	}
7155	return nil
7156}
7157
7158// SetName sets the Name field's value.
7159func (s *GetDestinationInput) SetName(v string) *GetDestinationInput {
7160	s.Name = &v
7161	return s
7162}
7163
7164type GetDestinationOutput struct {
7165	_ struct{} `type:"structure"`
7166
7167	// The Amazon Resource Name of the resource.
7168	Arn *string `type:"string"`
7169
7170	// The description of the resource.
7171	Description *string `type:"string"`
7172
7173	// The rule name or topic rule to send messages to.
7174	Expression *string `type:"string"`
7175
7176	// The type of value in Expression.
7177	ExpressionType *string `type:"string" enum:"ExpressionType"`
7178
7179	// The name of the resource.
7180	Name *string `type:"string"`
7181
7182	// The ARN of the IAM Role that authorizes the destination.
7183	RoleArn *string `min:"20" type:"string"`
7184}
7185
7186// String returns the string representation
7187func (s GetDestinationOutput) String() string {
7188	return awsutil.Prettify(s)
7189}
7190
7191// GoString returns the string representation
7192func (s GetDestinationOutput) GoString() string {
7193	return s.String()
7194}
7195
7196// SetArn sets the Arn field's value.
7197func (s *GetDestinationOutput) SetArn(v string) *GetDestinationOutput {
7198	s.Arn = &v
7199	return s
7200}
7201
7202// SetDescription sets the Description field's value.
7203func (s *GetDestinationOutput) SetDescription(v string) *GetDestinationOutput {
7204	s.Description = &v
7205	return s
7206}
7207
7208// SetExpression sets the Expression field's value.
7209func (s *GetDestinationOutput) SetExpression(v string) *GetDestinationOutput {
7210	s.Expression = &v
7211	return s
7212}
7213
7214// SetExpressionType sets the ExpressionType field's value.
7215func (s *GetDestinationOutput) SetExpressionType(v string) *GetDestinationOutput {
7216	s.ExpressionType = &v
7217	return s
7218}
7219
7220// SetName sets the Name field's value.
7221func (s *GetDestinationOutput) SetName(v string) *GetDestinationOutput {
7222	s.Name = &v
7223	return s
7224}
7225
7226// SetRoleArn sets the RoleArn field's value.
7227func (s *GetDestinationOutput) SetRoleArn(v string) *GetDestinationOutput {
7228	s.RoleArn = &v
7229	return s
7230}
7231
7232type GetDeviceProfileInput struct {
7233	_ struct{} `type:"structure"`
7234
7235	// The ID of the resource to get.
7236	//
7237	// Id is a required field
7238	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
7239}
7240
7241// String returns the string representation
7242func (s GetDeviceProfileInput) String() string {
7243	return awsutil.Prettify(s)
7244}
7245
7246// GoString returns the string representation
7247func (s GetDeviceProfileInput) GoString() string {
7248	return s.String()
7249}
7250
7251// Validate inspects the fields of the type to determine if they are valid.
7252func (s *GetDeviceProfileInput) Validate() error {
7253	invalidParams := request.ErrInvalidParams{Context: "GetDeviceProfileInput"}
7254	if s.Id == nil {
7255		invalidParams.Add(request.NewErrParamRequired("Id"))
7256	}
7257	if s.Id != nil && len(*s.Id) < 1 {
7258		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
7259	}
7260
7261	if invalidParams.Len() > 0 {
7262		return invalidParams
7263	}
7264	return nil
7265}
7266
7267// SetId sets the Id field's value.
7268func (s *GetDeviceProfileInput) SetId(v string) *GetDeviceProfileInput {
7269	s.Id = &v
7270	return s
7271}
7272
7273type GetDeviceProfileOutput struct {
7274	_ struct{} `type:"structure"`
7275
7276	// The Amazon Resource Name of the resource.
7277	Arn *string `type:"string"`
7278
7279	// The ID of the device profile.
7280	Id *string `type:"string"`
7281
7282	// Information about the device profile.
7283	LoRaWAN *LoRaWANDeviceProfile `type:"structure"`
7284
7285	// The name of the resource.
7286	Name *string `type:"string"`
7287}
7288
7289// String returns the string representation
7290func (s GetDeviceProfileOutput) String() string {
7291	return awsutil.Prettify(s)
7292}
7293
7294// GoString returns the string representation
7295func (s GetDeviceProfileOutput) GoString() string {
7296	return s.String()
7297}
7298
7299// SetArn sets the Arn field's value.
7300func (s *GetDeviceProfileOutput) SetArn(v string) *GetDeviceProfileOutput {
7301	s.Arn = &v
7302	return s
7303}
7304
7305// SetId sets the Id field's value.
7306func (s *GetDeviceProfileOutput) SetId(v string) *GetDeviceProfileOutput {
7307	s.Id = &v
7308	return s
7309}
7310
7311// SetLoRaWAN sets the LoRaWAN field's value.
7312func (s *GetDeviceProfileOutput) SetLoRaWAN(v *LoRaWANDeviceProfile) *GetDeviceProfileOutput {
7313	s.LoRaWAN = v
7314	return s
7315}
7316
7317// SetName sets the Name field's value.
7318func (s *GetDeviceProfileOutput) SetName(v string) *GetDeviceProfileOutput {
7319	s.Name = &v
7320	return s
7321}
7322
7323type GetPartnerAccountInput struct {
7324	_ struct{} `type:"structure"`
7325
7326	// The partner account ID to disassociate from the AWS account.
7327	//
7328	// PartnerAccountId is a required field
7329	PartnerAccountId *string `location:"uri" locationName:"PartnerAccountId" type:"string" required:"true"`
7330
7331	// The partner type.
7332	//
7333	// PartnerType is a required field
7334	PartnerType *string `location:"querystring" locationName:"partnerType" type:"string" required:"true" enum:"PartnerType"`
7335}
7336
7337// String returns the string representation
7338func (s GetPartnerAccountInput) String() string {
7339	return awsutil.Prettify(s)
7340}
7341
7342// GoString returns the string representation
7343func (s GetPartnerAccountInput) GoString() string {
7344	return s.String()
7345}
7346
7347// Validate inspects the fields of the type to determine if they are valid.
7348func (s *GetPartnerAccountInput) Validate() error {
7349	invalidParams := request.ErrInvalidParams{Context: "GetPartnerAccountInput"}
7350	if s.PartnerAccountId == nil {
7351		invalidParams.Add(request.NewErrParamRequired("PartnerAccountId"))
7352	}
7353	if s.PartnerAccountId != nil && len(*s.PartnerAccountId) < 1 {
7354		invalidParams.Add(request.NewErrParamMinLen("PartnerAccountId", 1))
7355	}
7356	if s.PartnerType == nil {
7357		invalidParams.Add(request.NewErrParamRequired("PartnerType"))
7358	}
7359
7360	if invalidParams.Len() > 0 {
7361		return invalidParams
7362	}
7363	return nil
7364}
7365
7366// SetPartnerAccountId sets the PartnerAccountId field's value.
7367func (s *GetPartnerAccountInput) SetPartnerAccountId(v string) *GetPartnerAccountInput {
7368	s.PartnerAccountId = &v
7369	return s
7370}
7371
7372// SetPartnerType sets the PartnerType field's value.
7373func (s *GetPartnerAccountInput) SetPartnerType(v string) *GetPartnerAccountInput {
7374	s.PartnerType = &v
7375	return s
7376}
7377
7378type GetPartnerAccountOutput struct {
7379	_ struct{} `type:"structure"`
7380
7381	// Whether the partner account is linked to the AWS account.
7382	AccountLinked *bool `type:"boolean"`
7383
7384	// The Sidewalk account credentials.
7385	Sidewalk *SidewalkAccountInfoWithFingerprint `type:"structure"`
7386}
7387
7388// String returns the string representation
7389func (s GetPartnerAccountOutput) String() string {
7390	return awsutil.Prettify(s)
7391}
7392
7393// GoString returns the string representation
7394func (s GetPartnerAccountOutput) GoString() string {
7395	return s.String()
7396}
7397
7398// SetAccountLinked sets the AccountLinked field's value.
7399func (s *GetPartnerAccountOutput) SetAccountLinked(v bool) *GetPartnerAccountOutput {
7400	s.AccountLinked = &v
7401	return s
7402}
7403
7404// SetSidewalk sets the Sidewalk field's value.
7405func (s *GetPartnerAccountOutput) SetSidewalk(v *SidewalkAccountInfoWithFingerprint) *GetPartnerAccountOutput {
7406	s.Sidewalk = v
7407	return s
7408}
7409
7410type GetServiceEndpointInput struct {
7411	_ struct{} `type:"structure"`
7412
7413	// The service type for which to get endpoint information about. Can be CUPS
7414	// for the Configuration and Update Server endpoint, or LNS for the LoRaWAN
7415	// Network Server endpoint.
7416	ServiceType *string `location:"querystring" locationName:"serviceType" type:"string" enum:"WirelessGatewayServiceType"`
7417}
7418
7419// String returns the string representation
7420func (s GetServiceEndpointInput) String() string {
7421	return awsutil.Prettify(s)
7422}
7423
7424// GoString returns the string representation
7425func (s GetServiceEndpointInput) GoString() string {
7426	return s.String()
7427}
7428
7429// SetServiceType sets the ServiceType field's value.
7430func (s *GetServiceEndpointInput) SetServiceType(v string) *GetServiceEndpointInput {
7431	s.ServiceType = &v
7432	return s
7433}
7434
7435type GetServiceEndpointOutput struct {
7436	_ struct{} `type:"structure"`
7437
7438	// The Root CA of the server trust certificate.
7439	ServerTrust *string `min:"1" type:"string"`
7440
7441	// The service endpoint value.
7442	ServiceEndpoint *string `min:"1" type:"string"`
7443
7444	// The endpoint's service type.
7445	ServiceType *string `type:"string" enum:"WirelessGatewayServiceType"`
7446}
7447
7448// String returns the string representation
7449func (s GetServiceEndpointOutput) String() string {
7450	return awsutil.Prettify(s)
7451}
7452
7453// GoString returns the string representation
7454func (s GetServiceEndpointOutput) GoString() string {
7455	return s.String()
7456}
7457
7458// SetServerTrust sets the ServerTrust field's value.
7459func (s *GetServiceEndpointOutput) SetServerTrust(v string) *GetServiceEndpointOutput {
7460	s.ServerTrust = &v
7461	return s
7462}
7463
7464// SetServiceEndpoint sets the ServiceEndpoint field's value.
7465func (s *GetServiceEndpointOutput) SetServiceEndpoint(v string) *GetServiceEndpointOutput {
7466	s.ServiceEndpoint = &v
7467	return s
7468}
7469
7470// SetServiceType sets the ServiceType field's value.
7471func (s *GetServiceEndpointOutput) SetServiceType(v string) *GetServiceEndpointOutput {
7472	s.ServiceType = &v
7473	return s
7474}
7475
7476type GetServiceProfileInput struct {
7477	_ struct{} `type:"structure"`
7478
7479	// The ID of the resource to get.
7480	//
7481	// Id is a required field
7482	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
7483}
7484
7485// String returns the string representation
7486func (s GetServiceProfileInput) String() string {
7487	return awsutil.Prettify(s)
7488}
7489
7490// GoString returns the string representation
7491func (s GetServiceProfileInput) GoString() string {
7492	return s.String()
7493}
7494
7495// Validate inspects the fields of the type to determine if they are valid.
7496func (s *GetServiceProfileInput) Validate() error {
7497	invalidParams := request.ErrInvalidParams{Context: "GetServiceProfileInput"}
7498	if s.Id == nil {
7499		invalidParams.Add(request.NewErrParamRequired("Id"))
7500	}
7501	if s.Id != nil && len(*s.Id) < 1 {
7502		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
7503	}
7504
7505	if invalidParams.Len() > 0 {
7506		return invalidParams
7507	}
7508	return nil
7509}
7510
7511// SetId sets the Id field's value.
7512func (s *GetServiceProfileInput) SetId(v string) *GetServiceProfileInput {
7513	s.Id = &v
7514	return s
7515}
7516
7517type GetServiceProfileOutput struct {
7518	_ struct{} `type:"structure"`
7519
7520	// The Amazon Resource Name of the resource.
7521	Arn *string `type:"string"`
7522
7523	// The ID of the service profile.
7524	Id *string `type:"string"`
7525
7526	// Information about the service profile.
7527	LoRaWAN *LoRaWANGetServiceProfileInfo `type:"structure"`
7528
7529	// The name of the resource.
7530	Name *string `type:"string"`
7531}
7532
7533// String returns the string representation
7534func (s GetServiceProfileOutput) String() string {
7535	return awsutil.Prettify(s)
7536}
7537
7538// GoString returns the string representation
7539func (s GetServiceProfileOutput) GoString() string {
7540	return s.String()
7541}
7542
7543// SetArn sets the Arn field's value.
7544func (s *GetServiceProfileOutput) SetArn(v string) *GetServiceProfileOutput {
7545	s.Arn = &v
7546	return s
7547}
7548
7549// SetId sets the Id field's value.
7550func (s *GetServiceProfileOutput) SetId(v string) *GetServiceProfileOutput {
7551	s.Id = &v
7552	return s
7553}
7554
7555// SetLoRaWAN sets the LoRaWAN field's value.
7556func (s *GetServiceProfileOutput) SetLoRaWAN(v *LoRaWANGetServiceProfileInfo) *GetServiceProfileOutput {
7557	s.LoRaWAN = v
7558	return s
7559}
7560
7561// SetName sets the Name field's value.
7562func (s *GetServiceProfileOutput) SetName(v string) *GetServiceProfileOutput {
7563	s.Name = &v
7564	return s
7565}
7566
7567type GetWirelessDeviceInput struct {
7568	_ struct{} `type:"structure"`
7569
7570	// The identifier of the wireless device to get.
7571	//
7572	// Identifier is a required field
7573	Identifier *string `location:"uri" locationName:"Identifier" type:"string" required:"true"`
7574
7575	// The type of identifier used in identifier.
7576	//
7577	// IdentifierType is a required field
7578	IdentifierType *string `location:"querystring" locationName:"identifierType" type:"string" required:"true" enum:"WirelessDeviceIdType"`
7579}
7580
7581// String returns the string representation
7582func (s GetWirelessDeviceInput) String() string {
7583	return awsutil.Prettify(s)
7584}
7585
7586// GoString returns the string representation
7587func (s GetWirelessDeviceInput) GoString() string {
7588	return s.String()
7589}
7590
7591// Validate inspects the fields of the type to determine if they are valid.
7592func (s *GetWirelessDeviceInput) Validate() error {
7593	invalidParams := request.ErrInvalidParams{Context: "GetWirelessDeviceInput"}
7594	if s.Identifier == nil {
7595		invalidParams.Add(request.NewErrParamRequired("Identifier"))
7596	}
7597	if s.Identifier != nil && len(*s.Identifier) < 1 {
7598		invalidParams.Add(request.NewErrParamMinLen("Identifier", 1))
7599	}
7600	if s.IdentifierType == nil {
7601		invalidParams.Add(request.NewErrParamRequired("IdentifierType"))
7602	}
7603
7604	if invalidParams.Len() > 0 {
7605		return invalidParams
7606	}
7607	return nil
7608}
7609
7610// SetIdentifier sets the Identifier field's value.
7611func (s *GetWirelessDeviceInput) SetIdentifier(v string) *GetWirelessDeviceInput {
7612	s.Identifier = &v
7613	return s
7614}
7615
7616// SetIdentifierType sets the IdentifierType field's value.
7617func (s *GetWirelessDeviceInput) SetIdentifierType(v string) *GetWirelessDeviceInput {
7618	s.IdentifierType = &v
7619	return s
7620}
7621
7622type GetWirelessDeviceOutput struct {
7623	_ struct{} `type:"structure"`
7624
7625	// The Amazon Resource Name of the resource.
7626	Arn *string `type:"string"`
7627
7628	// The description of the resource.
7629	Description *string `type:"string"`
7630
7631	// The name of the destination to which the device is assigned.
7632	DestinationName *string `type:"string"`
7633
7634	// The ID of the wireless device.
7635	Id *string `type:"string"`
7636
7637	// Information about the wireless device.
7638	LoRaWAN *LoRaWANDevice `type:"structure"`
7639
7640	// The name of the resource.
7641	Name *string `type:"string"`
7642
7643	// Sidewalk device object.
7644	Sidewalk *SidewalkDevice `type:"structure"`
7645
7646	// The ARN of the thing associated with the wireless device.
7647	ThingArn *string `type:"string"`
7648
7649	// The name of the thing associated with the wireless device. The value is empty
7650	// if a thing isn't associated with the device.
7651	ThingName *string `type:"string"`
7652
7653	// The wireless device type.
7654	Type *string `type:"string" enum:"WirelessDeviceType"`
7655}
7656
7657// String returns the string representation
7658func (s GetWirelessDeviceOutput) String() string {
7659	return awsutil.Prettify(s)
7660}
7661
7662// GoString returns the string representation
7663func (s GetWirelessDeviceOutput) GoString() string {
7664	return s.String()
7665}
7666
7667// SetArn sets the Arn field's value.
7668func (s *GetWirelessDeviceOutput) SetArn(v string) *GetWirelessDeviceOutput {
7669	s.Arn = &v
7670	return s
7671}
7672
7673// SetDescription sets the Description field's value.
7674func (s *GetWirelessDeviceOutput) SetDescription(v string) *GetWirelessDeviceOutput {
7675	s.Description = &v
7676	return s
7677}
7678
7679// SetDestinationName sets the DestinationName field's value.
7680func (s *GetWirelessDeviceOutput) SetDestinationName(v string) *GetWirelessDeviceOutput {
7681	s.DestinationName = &v
7682	return s
7683}
7684
7685// SetId sets the Id field's value.
7686func (s *GetWirelessDeviceOutput) SetId(v string) *GetWirelessDeviceOutput {
7687	s.Id = &v
7688	return s
7689}
7690
7691// SetLoRaWAN sets the LoRaWAN field's value.
7692func (s *GetWirelessDeviceOutput) SetLoRaWAN(v *LoRaWANDevice) *GetWirelessDeviceOutput {
7693	s.LoRaWAN = v
7694	return s
7695}
7696
7697// SetName sets the Name field's value.
7698func (s *GetWirelessDeviceOutput) SetName(v string) *GetWirelessDeviceOutput {
7699	s.Name = &v
7700	return s
7701}
7702
7703// SetSidewalk sets the Sidewalk field's value.
7704func (s *GetWirelessDeviceOutput) SetSidewalk(v *SidewalkDevice) *GetWirelessDeviceOutput {
7705	s.Sidewalk = v
7706	return s
7707}
7708
7709// SetThingArn sets the ThingArn field's value.
7710func (s *GetWirelessDeviceOutput) SetThingArn(v string) *GetWirelessDeviceOutput {
7711	s.ThingArn = &v
7712	return s
7713}
7714
7715// SetThingName sets the ThingName field's value.
7716func (s *GetWirelessDeviceOutput) SetThingName(v string) *GetWirelessDeviceOutput {
7717	s.ThingName = &v
7718	return s
7719}
7720
7721// SetType sets the Type field's value.
7722func (s *GetWirelessDeviceOutput) SetType(v string) *GetWirelessDeviceOutput {
7723	s.Type = &v
7724	return s
7725}
7726
7727type GetWirelessDeviceStatisticsInput struct {
7728	_ struct{} `type:"structure"`
7729
7730	// The ID of the wireless device for which to get the data.
7731	//
7732	// WirelessDeviceId is a required field
7733	WirelessDeviceId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
7734}
7735
7736// String returns the string representation
7737func (s GetWirelessDeviceStatisticsInput) String() string {
7738	return awsutil.Prettify(s)
7739}
7740
7741// GoString returns the string representation
7742func (s GetWirelessDeviceStatisticsInput) GoString() string {
7743	return s.String()
7744}
7745
7746// Validate inspects the fields of the type to determine if they are valid.
7747func (s *GetWirelessDeviceStatisticsInput) Validate() error {
7748	invalidParams := request.ErrInvalidParams{Context: "GetWirelessDeviceStatisticsInput"}
7749	if s.WirelessDeviceId == nil {
7750		invalidParams.Add(request.NewErrParamRequired("WirelessDeviceId"))
7751	}
7752	if s.WirelessDeviceId != nil && len(*s.WirelessDeviceId) < 1 {
7753		invalidParams.Add(request.NewErrParamMinLen("WirelessDeviceId", 1))
7754	}
7755
7756	if invalidParams.Len() > 0 {
7757		return invalidParams
7758	}
7759	return nil
7760}
7761
7762// SetWirelessDeviceId sets the WirelessDeviceId field's value.
7763func (s *GetWirelessDeviceStatisticsInput) SetWirelessDeviceId(v string) *GetWirelessDeviceStatisticsInput {
7764	s.WirelessDeviceId = &v
7765	return s
7766}
7767
7768type GetWirelessDeviceStatisticsOutput struct {
7769	_ struct{} `type:"structure"`
7770
7771	// The date and time when the most recent uplink was received.
7772	LastUplinkReceivedAt *string `type:"string"`
7773
7774	// Information about the wireless device's operations.
7775	LoRaWAN *LoRaWANDeviceMetadata `type:"structure"`
7776
7777	// MetaData for Sidewalk device.
7778	Sidewalk *SidewalkDeviceMetadata `type:"structure"`
7779
7780	// The ID of the wireless device.
7781	WirelessDeviceId *string `type:"string"`
7782}
7783
7784// String returns the string representation
7785func (s GetWirelessDeviceStatisticsOutput) String() string {
7786	return awsutil.Prettify(s)
7787}
7788
7789// GoString returns the string representation
7790func (s GetWirelessDeviceStatisticsOutput) GoString() string {
7791	return s.String()
7792}
7793
7794// SetLastUplinkReceivedAt sets the LastUplinkReceivedAt field's value.
7795func (s *GetWirelessDeviceStatisticsOutput) SetLastUplinkReceivedAt(v string) *GetWirelessDeviceStatisticsOutput {
7796	s.LastUplinkReceivedAt = &v
7797	return s
7798}
7799
7800// SetLoRaWAN sets the LoRaWAN field's value.
7801func (s *GetWirelessDeviceStatisticsOutput) SetLoRaWAN(v *LoRaWANDeviceMetadata) *GetWirelessDeviceStatisticsOutput {
7802	s.LoRaWAN = v
7803	return s
7804}
7805
7806// SetSidewalk sets the Sidewalk field's value.
7807func (s *GetWirelessDeviceStatisticsOutput) SetSidewalk(v *SidewalkDeviceMetadata) *GetWirelessDeviceStatisticsOutput {
7808	s.Sidewalk = v
7809	return s
7810}
7811
7812// SetWirelessDeviceId sets the WirelessDeviceId field's value.
7813func (s *GetWirelessDeviceStatisticsOutput) SetWirelessDeviceId(v string) *GetWirelessDeviceStatisticsOutput {
7814	s.WirelessDeviceId = &v
7815	return s
7816}
7817
7818type GetWirelessGatewayCertificateInput struct {
7819	_ struct{} `type:"structure"`
7820
7821	// The ID of the resource to get.
7822	//
7823	// Id is a required field
7824	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
7825}
7826
7827// String returns the string representation
7828func (s GetWirelessGatewayCertificateInput) String() string {
7829	return awsutil.Prettify(s)
7830}
7831
7832// GoString returns the string representation
7833func (s GetWirelessGatewayCertificateInput) GoString() string {
7834	return s.String()
7835}
7836
7837// Validate inspects the fields of the type to determine if they are valid.
7838func (s *GetWirelessGatewayCertificateInput) Validate() error {
7839	invalidParams := request.ErrInvalidParams{Context: "GetWirelessGatewayCertificateInput"}
7840	if s.Id == nil {
7841		invalidParams.Add(request.NewErrParamRequired("Id"))
7842	}
7843	if s.Id != nil && len(*s.Id) < 1 {
7844		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
7845	}
7846
7847	if invalidParams.Len() > 0 {
7848		return invalidParams
7849	}
7850	return nil
7851}
7852
7853// SetId sets the Id field's value.
7854func (s *GetWirelessGatewayCertificateInput) SetId(v string) *GetWirelessGatewayCertificateInput {
7855	s.Id = &v
7856	return s
7857}
7858
7859type GetWirelessGatewayCertificateOutput struct {
7860	_ struct{} `type:"structure"`
7861
7862	// The ID of the certificate associated with the wireless gateway.
7863	IotCertificateId *string `min:"1" type:"string"`
7864
7865	// The ID of the certificate that is associated with the wireless gateway and
7866	// used for the LoRaWANNetworkServer endpoint.
7867	LoRaWANNetworkServerCertificateId *string `min:"1" type:"string"`
7868}
7869
7870// String returns the string representation
7871func (s GetWirelessGatewayCertificateOutput) String() string {
7872	return awsutil.Prettify(s)
7873}
7874
7875// GoString returns the string representation
7876func (s GetWirelessGatewayCertificateOutput) GoString() string {
7877	return s.String()
7878}
7879
7880// SetIotCertificateId sets the IotCertificateId field's value.
7881func (s *GetWirelessGatewayCertificateOutput) SetIotCertificateId(v string) *GetWirelessGatewayCertificateOutput {
7882	s.IotCertificateId = &v
7883	return s
7884}
7885
7886// SetLoRaWANNetworkServerCertificateId sets the LoRaWANNetworkServerCertificateId field's value.
7887func (s *GetWirelessGatewayCertificateOutput) SetLoRaWANNetworkServerCertificateId(v string) *GetWirelessGatewayCertificateOutput {
7888	s.LoRaWANNetworkServerCertificateId = &v
7889	return s
7890}
7891
7892type GetWirelessGatewayFirmwareInformationInput struct {
7893	_ struct{} `type:"structure"`
7894
7895	// The ID of the resource to get.
7896	//
7897	// Id is a required field
7898	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
7899}
7900
7901// String returns the string representation
7902func (s GetWirelessGatewayFirmwareInformationInput) String() string {
7903	return awsutil.Prettify(s)
7904}
7905
7906// GoString returns the string representation
7907func (s GetWirelessGatewayFirmwareInformationInput) GoString() string {
7908	return s.String()
7909}
7910
7911// Validate inspects the fields of the type to determine if they are valid.
7912func (s *GetWirelessGatewayFirmwareInformationInput) Validate() error {
7913	invalidParams := request.ErrInvalidParams{Context: "GetWirelessGatewayFirmwareInformationInput"}
7914	if s.Id == nil {
7915		invalidParams.Add(request.NewErrParamRequired("Id"))
7916	}
7917	if s.Id != nil && len(*s.Id) < 1 {
7918		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
7919	}
7920
7921	if invalidParams.Len() > 0 {
7922		return invalidParams
7923	}
7924	return nil
7925}
7926
7927// SetId sets the Id field's value.
7928func (s *GetWirelessGatewayFirmwareInformationInput) SetId(v string) *GetWirelessGatewayFirmwareInformationInput {
7929	s.Id = &v
7930	return s
7931}
7932
7933type GetWirelessGatewayFirmwareInformationOutput struct {
7934	_ struct{} `type:"structure"`
7935
7936	// Information about the wireless gateway's firmware.
7937	LoRaWAN *LoRaWANGatewayCurrentVersion `type:"structure"`
7938}
7939
7940// String returns the string representation
7941func (s GetWirelessGatewayFirmwareInformationOutput) String() string {
7942	return awsutil.Prettify(s)
7943}
7944
7945// GoString returns the string representation
7946func (s GetWirelessGatewayFirmwareInformationOutput) GoString() string {
7947	return s.String()
7948}
7949
7950// SetLoRaWAN sets the LoRaWAN field's value.
7951func (s *GetWirelessGatewayFirmwareInformationOutput) SetLoRaWAN(v *LoRaWANGatewayCurrentVersion) *GetWirelessGatewayFirmwareInformationOutput {
7952	s.LoRaWAN = v
7953	return s
7954}
7955
7956type GetWirelessGatewayInput struct {
7957	_ struct{} `type:"structure"`
7958
7959	// The identifier of the wireless gateway to get.
7960	//
7961	// Identifier is a required field
7962	Identifier *string `location:"uri" locationName:"Identifier" type:"string" required:"true"`
7963
7964	// The type of identifier used in identifier.
7965	//
7966	// IdentifierType is a required field
7967	IdentifierType *string `location:"querystring" locationName:"identifierType" type:"string" required:"true" enum:"WirelessGatewayIdType"`
7968}
7969
7970// String returns the string representation
7971func (s GetWirelessGatewayInput) String() string {
7972	return awsutil.Prettify(s)
7973}
7974
7975// GoString returns the string representation
7976func (s GetWirelessGatewayInput) GoString() string {
7977	return s.String()
7978}
7979
7980// Validate inspects the fields of the type to determine if they are valid.
7981func (s *GetWirelessGatewayInput) Validate() error {
7982	invalidParams := request.ErrInvalidParams{Context: "GetWirelessGatewayInput"}
7983	if s.Identifier == nil {
7984		invalidParams.Add(request.NewErrParamRequired("Identifier"))
7985	}
7986	if s.Identifier != nil && len(*s.Identifier) < 1 {
7987		invalidParams.Add(request.NewErrParamMinLen("Identifier", 1))
7988	}
7989	if s.IdentifierType == nil {
7990		invalidParams.Add(request.NewErrParamRequired("IdentifierType"))
7991	}
7992
7993	if invalidParams.Len() > 0 {
7994		return invalidParams
7995	}
7996	return nil
7997}
7998
7999// SetIdentifier sets the Identifier field's value.
8000func (s *GetWirelessGatewayInput) SetIdentifier(v string) *GetWirelessGatewayInput {
8001	s.Identifier = &v
8002	return s
8003}
8004
8005// SetIdentifierType sets the IdentifierType field's value.
8006func (s *GetWirelessGatewayInput) SetIdentifierType(v string) *GetWirelessGatewayInput {
8007	s.IdentifierType = &v
8008	return s
8009}
8010
8011type GetWirelessGatewayOutput struct {
8012	_ struct{} `type:"structure"`
8013
8014	// The Amazon Resource Name of the resource.
8015	Arn *string `type:"string"`
8016
8017	// The description of the resource.
8018	Description *string `type:"string"`
8019
8020	// The ID of the wireless gateway.
8021	Id *string `type:"string"`
8022
8023	// Information about the wireless gateway.
8024	LoRaWAN *LoRaWANGateway `type:"structure"`
8025
8026	// The name of the resource.
8027	Name *string `type:"string"`
8028
8029	// The ARN of the thing associated with the wireless gateway.
8030	ThingArn *string `type:"string"`
8031
8032	// The name of the thing associated with the wireless gateway. The value is
8033	// empty if a thing isn't associated with the gateway.
8034	ThingName *string `type:"string"`
8035}
8036
8037// String returns the string representation
8038func (s GetWirelessGatewayOutput) String() string {
8039	return awsutil.Prettify(s)
8040}
8041
8042// GoString returns the string representation
8043func (s GetWirelessGatewayOutput) GoString() string {
8044	return s.String()
8045}
8046
8047// SetArn sets the Arn field's value.
8048func (s *GetWirelessGatewayOutput) SetArn(v string) *GetWirelessGatewayOutput {
8049	s.Arn = &v
8050	return s
8051}
8052
8053// SetDescription sets the Description field's value.
8054func (s *GetWirelessGatewayOutput) SetDescription(v string) *GetWirelessGatewayOutput {
8055	s.Description = &v
8056	return s
8057}
8058
8059// SetId sets the Id field's value.
8060func (s *GetWirelessGatewayOutput) SetId(v string) *GetWirelessGatewayOutput {
8061	s.Id = &v
8062	return s
8063}
8064
8065// SetLoRaWAN sets the LoRaWAN field's value.
8066func (s *GetWirelessGatewayOutput) SetLoRaWAN(v *LoRaWANGateway) *GetWirelessGatewayOutput {
8067	s.LoRaWAN = v
8068	return s
8069}
8070
8071// SetName sets the Name field's value.
8072func (s *GetWirelessGatewayOutput) SetName(v string) *GetWirelessGatewayOutput {
8073	s.Name = &v
8074	return s
8075}
8076
8077// SetThingArn sets the ThingArn field's value.
8078func (s *GetWirelessGatewayOutput) SetThingArn(v string) *GetWirelessGatewayOutput {
8079	s.ThingArn = &v
8080	return s
8081}
8082
8083// SetThingName sets the ThingName field's value.
8084func (s *GetWirelessGatewayOutput) SetThingName(v string) *GetWirelessGatewayOutput {
8085	s.ThingName = &v
8086	return s
8087}
8088
8089type GetWirelessGatewayStatisticsInput struct {
8090	_ struct{} `type:"structure"`
8091
8092	// The ID of the wireless gateway for which to get the data.
8093	//
8094	// WirelessGatewayId is a required field
8095	WirelessGatewayId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
8096}
8097
8098// String returns the string representation
8099func (s GetWirelessGatewayStatisticsInput) String() string {
8100	return awsutil.Prettify(s)
8101}
8102
8103// GoString returns the string representation
8104func (s GetWirelessGatewayStatisticsInput) GoString() string {
8105	return s.String()
8106}
8107
8108// Validate inspects the fields of the type to determine if they are valid.
8109func (s *GetWirelessGatewayStatisticsInput) Validate() error {
8110	invalidParams := request.ErrInvalidParams{Context: "GetWirelessGatewayStatisticsInput"}
8111	if s.WirelessGatewayId == nil {
8112		invalidParams.Add(request.NewErrParamRequired("WirelessGatewayId"))
8113	}
8114	if s.WirelessGatewayId != nil && len(*s.WirelessGatewayId) < 1 {
8115		invalidParams.Add(request.NewErrParamMinLen("WirelessGatewayId", 1))
8116	}
8117
8118	if invalidParams.Len() > 0 {
8119		return invalidParams
8120	}
8121	return nil
8122}
8123
8124// SetWirelessGatewayId sets the WirelessGatewayId field's value.
8125func (s *GetWirelessGatewayStatisticsInput) SetWirelessGatewayId(v string) *GetWirelessGatewayStatisticsInput {
8126	s.WirelessGatewayId = &v
8127	return s
8128}
8129
8130type GetWirelessGatewayStatisticsOutput struct {
8131	_ struct{} `type:"structure"`
8132
8133	// The connection status of the wireless gateway.
8134	ConnectionStatus *string `type:"string" enum:"ConnectionStatus"`
8135
8136	// The date and time when the most recent uplink was received.
8137	LastUplinkReceivedAt *string `type:"string"`
8138
8139	// The ID of the wireless gateway.
8140	WirelessGatewayId *string `type:"string"`
8141}
8142
8143// String returns the string representation
8144func (s GetWirelessGatewayStatisticsOutput) String() string {
8145	return awsutil.Prettify(s)
8146}
8147
8148// GoString returns the string representation
8149func (s GetWirelessGatewayStatisticsOutput) GoString() string {
8150	return s.String()
8151}
8152
8153// SetConnectionStatus sets the ConnectionStatus field's value.
8154func (s *GetWirelessGatewayStatisticsOutput) SetConnectionStatus(v string) *GetWirelessGatewayStatisticsOutput {
8155	s.ConnectionStatus = &v
8156	return s
8157}
8158
8159// SetLastUplinkReceivedAt sets the LastUplinkReceivedAt field's value.
8160func (s *GetWirelessGatewayStatisticsOutput) SetLastUplinkReceivedAt(v string) *GetWirelessGatewayStatisticsOutput {
8161	s.LastUplinkReceivedAt = &v
8162	return s
8163}
8164
8165// SetWirelessGatewayId sets the WirelessGatewayId field's value.
8166func (s *GetWirelessGatewayStatisticsOutput) SetWirelessGatewayId(v string) *GetWirelessGatewayStatisticsOutput {
8167	s.WirelessGatewayId = &v
8168	return s
8169}
8170
8171type GetWirelessGatewayTaskDefinitionInput struct {
8172	_ struct{} `type:"structure"`
8173
8174	// The ID of the resource to get.
8175	//
8176	// Id is a required field
8177	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
8178}
8179
8180// String returns the string representation
8181func (s GetWirelessGatewayTaskDefinitionInput) String() string {
8182	return awsutil.Prettify(s)
8183}
8184
8185// GoString returns the string representation
8186func (s GetWirelessGatewayTaskDefinitionInput) GoString() string {
8187	return s.String()
8188}
8189
8190// Validate inspects the fields of the type to determine if they are valid.
8191func (s *GetWirelessGatewayTaskDefinitionInput) Validate() error {
8192	invalidParams := request.ErrInvalidParams{Context: "GetWirelessGatewayTaskDefinitionInput"}
8193	if s.Id == nil {
8194		invalidParams.Add(request.NewErrParamRequired("Id"))
8195	}
8196	if s.Id != nil && len(*s.Id) < 1 {
8197		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
8198	}
8199
8200	if invalidParams.Len() > 0 {
8201		return invalidParams
8202	}
8203	return nil
8204}
8205
8206// SetId sets the Id field's value.
8207func (s *GetWirelessGatewayTaskDefinitionInput) SetId(v string) *GetWirelessGatewayTaskDefinitionInput {
8208	s.Id = &v
8209	return s
8210}
8211
8212type GetWirelessGatewayTaskDefinitionOutput struct {
8213	_ struct{} `type:"structure"`
8214
8215	// The Amazon Resource Name of the resource.
8216	Arn *string `type:"string"`
8217
8218	// Whether to automatically create tasks using this task definition for all
8219	// gateways with the specified current version. If false, the task must me created
8220	// by calling CreateWirelessGatewayTask.
8221	AutoCreateTasks *bool `type:"boolean"`
8222
8223	// The name of the resource.
8224	Name *string `min:"1" type:"string"`
8225
8226	// Information about the gateways to update.
8227	Update *UpdateWirelessGatewayTaskCreate `type:"structure"`
8228}
8229
8230// String returns the string representation
8231func (s GetWirelessGatewayTaskDefinitionOutput) String() string {
8232	return awsutil.Prettify(s)
8233}
8234
8235// GoString returns the string representation
8236func (s GetWirelessGatewayTaskDefinitionOutput) GoString() string {
8237	return s.String()
8238}
8239
8240// SetArn sets the Arn field's value.
8241func (s *GetWirelessGatewayTaskDefinitionOutput) SetArn(v string) *GetWirelessGatewayTaskDefinitionOutput {
8242	s.Arn = &v
8243	return s
8244}
8245
8246// SetAutoCreateTasks sets the AutoCreateTasks field's value.
8247func (s *GetWirelessGatewayTaskDefinitionOutput) SetAutoCreateTasks(v bool) *GetWirelessGatewayTaskDefinitionOutput {
8248	s.AutoCreateTasks = &v
8249	return s
8250}
8251
8252// SetName sets the Name field's value.
8253func (s *GetWirelessGatewayTaskDefinitionOutput) SetName(v string) *GetWirelessGatewayTaskDefinitionOutput {
8254	s.Name = &v
8255	return s
8256}
8257
8258// SetUpdate sets the Update field's value.
8259func (s *GetWirelessGatewayTaskDefinitionOutput) SetUpdate(v *UpdateWirelessGatewayTaskCreate) *GetWirelessGatewayTaskDefinitionOutput {
8260	s.Update = v
8261	return s
8262}
8263
8264type GetWirelessGatewayTaskInput struct {
8265	_ struct{} `type:"structure"`
8266
8267	// The ID of the resource to get.
8268	//
8269	// Id is a required field
8270	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
8271}
8272
8273// String returns the string representation
8274func (s GetWirelessGatewayTaskInput) String() string {
8275	return awsutil.Prettify(s)
8276}
8277
8278// GoString returns the string representation
8279func (s GetWirelessGatewayTaskInput) GoString() string {
8280	return s.String()
8281}
8282
8283// Validate inspects the fields of the type to determine if they are valid.
8284func (s *GetWirelessGatewayTaskInput) Validate() error {
8285	invalidParams := request.ErrInvalidParams{Context: "GetWirelessGatewayTaskInput"}
8286	if s.Id == nil {
8287		invalidParams.Add(request.NewErrParamRequired("Id"))
8288	}
8289	if s.Id != nil && len(*s.Id) < 1 {
8290		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
8291	}
8292
8293	if invalidParams.Len() > 0 {
8294		return invalidParams
8295	}
8296	return nil
8297}
8298
8299// SetId sets the Id field's value.
8300func (s *GetWirelessGatewayTaskInput) SetId(v string) *GetWirelessGatewayTaskInput {
8301	s.Id = &v
8302	return s
8303}
8304
8305type GetWirelessGatewayTaskOutput struct {
8306	_ struct{} `type:"structure"`
8307
8308	// The date and time when the most recent uplink was received.
8309	LastUplinkReceivedAt *string `type:"string"`
8310
8311	// The status of the request.
8312	Status *string `type:"string" enum:"WirelessGatewayTaskStatus"`
8313
8314	// The date and time when the task was created.
8315	TaskCreatedAt *string `type:"string"`
8316
8317	// The ID of the wireless gateway.
8318	WirelessGatewayId *string `type:"string"`
8319
8320	// The ID of the WirelessGatewayTask.
8321	WirelessGatewayTaskDefinitionId *string `type:"string"`
8322}
8323
8324// String returns the string representation
8325func (s GetWirelessGatewayTaskOutput) String() string {
8326	return awsutil.Prettify(s)
8327}
8328
8329// GoString returns the string representation
8330func (s GetWirelessGatewayTaskOutput) GoString() string {
8331	return s.String()
8332}
8333
8334// SetLastUplinkReceivedAt sets the LastUplinkReceivedAt field's value.
8335func (s *GetWirelessGatewayTaskOutput) SetLastUplinkReceivedAt(v string) *GetWirelessGatewayTaskOutput {
8336	s.LastUplinkReceivedAt = &v
8337	return s
8338}
8339
8340// SetStatus sets the Status field's value.
8341func (s *GetWirelessGatewayTaskOutput) SetStatus(v string) *GetWirelessGatewayTaskOutput {
8342	s.Status = &v
8343	return s
8344}
8345
8346// SetTaskCreatedAt sets the TaskCreatedAt field's value.
8347func (s *GetWirelessGatewayTaskOutput) SetTaskCreatedAt(v string) *GetWirelessGatewayTaskOutput {
8348	s.TaskCreatedAt = &v
8349	return s
8350}
8351
8352// SetWirelessGatewayId sets the WirelessGatewayId field's value.
8353func (s *GetWirelessGatewayTaskOutput) SetWirelessGatewayId(v string) *GetWirelessGatewayTaskOutput {
8354	s.WirelessGatewayId = &v
8355	return s
8356}
8357
8358// SetWirelessGatewayTaskDefinitionId sets the WirelessGatewayTaskDefinitionId field's value.
8359func (s *GetWirelessGatewayTaskOutput) SetWirelessGatewayTaskDefinitionId(v string) *GetWirelessGatewayTaskOutput {
8360	s.WirelessGatewayTaskDefinitionId = &v
8361	return s
8362}
8363
8364// An unexpected error occurred while processing a request.
8365type InternalServerException struct {
8366	_            struct{}                  `type:"structure"`
8367	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8368
8369	Message_ *string `locationName:"Message" type:"string"`
8370}
8371
8372// String returns the string representation
8373func (s InternalServerException) String() string {
8374	return awsutil.Prettify(s)
8375}
8376
8377// GoString returns the string representation
8378func (s InternalServerException) GoString() string {
8379	return s.String()
8380}
8381
8382func newErrorInternalServerException(v protocol.ResponseMetadata) error {
8383	return &InternalServerException{
8384		RespMetadata: v,
8385	}
8386}
8387
8388// Code returns the exception type name.
8389func (s *InternalServerException) Code() string {
8390	return "InternalServerException"
8391}
8392
8393// Message returns the exception's message.
8394func (s *InternalServerException) Message() string {
8395	if s.Message_ != nil {
8396		return *s.Message_
8397	}
8398	return ""
8399}
8400
8401// OrigErr always returns nil, satisfies awserr.Error interface.
8402func (s *InternalServerException) OrigErr() error {
8403	return nil
8404}
8405
8406func (s *InternalServerException) Error() string {
8407	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8408}
8409
8410// Status code returns the HTTP status code for the request's response error.
8411func (s *InternalServerException) StatusCode() int {
8412	return s.RespMetadata.StatusCode
8413}
8414
8415// RequestID returns the service's response RequestID for request.
8416func (s *InternalServerException) RequestID() string {
8417	return s.RespMetadata.RequestID
8418}
8419
8420type ListDestinationsInput struct {
8421	_ struct{} `type:"structure"`
8422
8423	// The maximum number of results to return in this operation.
8424	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8425
8426	// To retrieve the next set of results, the nextToken value from a previous
8427	// response; otherwise null to receive the first set of results.
8428	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8429}
8430
8431// String returns the string representation
8432func (s ListDestinationsInput) String() string {
8433	return awsutil.Prettify(s)
8434}
8435
8436// GoString returns the string representation
8437func (s ListDestinationsInput) GoString() string {
8438	return s.String()
8439}
8440
8441// SetMaxResults sets the MaxResults field's value.
8442func (s *ListDestinationsInput) SetMaxResults(v int64) *ListDestinationsInput {
8443	s.MaxResults = &v
8444	return s
8445}
8446
8447// SetNextToken sets the NextToken field's value.
8448func (s *ListDestinationsInput) SetNextToken(v string) *ListDestinationsInput {
8449	s.NextToken = &v
8450	return s
8451}
8452
8453type ListDestinationsOutput struct {
8454	_ struct{} `type:"structure"`
8455
8456	// The list of destinations.
8457	DestinationList []*Destinations `type:"list"`
8458
8459	// The token to use to get the next set of results, or null if there are no
8460	// additional results.
8461	NextToken *string `type:"string"`
8462}
8463
8464// String returns the string representation
8465func (s ListDestinationsOutput) String() string {
8466	return awsutil.Prettify(s)
8467}
8468
8469// GoString returns the string representation
8470func (s ListDestinationsOutput) GoString() string {
8471	return s.String()
8472}
8473
8474// SetDestinationList sets the DestinationList field's value.
8475func (s *ListDestinationsOutput) SetDestinationList(v []*Destinations) *ListDestinationsOutput {
8476	s.DestinationList = v
8477	return s
8478}
8479
8480// SetNextToken sets the NextToken field's value.
8481func (s *ListDestinationsOutput) SetNextToken(v string) *ListDestinationsOutput {
8482	s.NextToken = &v
8483	return s
8484}
8485
8486type ListDeviceProfilesInput struct {
8487	_ struct{} `type:"structure"`
8488
8489	// The maximum number of results to return in this operation.
8490	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8491
8492	// To retrieve the next set of results, the nextToken value from a previous
8493	// response; otherwise null to receive the first set of results.
8494	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8495}
8496
8497// String returns the string representation
8498func (s ListDeviceProfilesInput) String() string {
8499	return awsutil.Prettify(s)
8500}
8501
8502// GoString returns the string representation
8503func (s ListDeviceProfilesInput) GoString() string {
8504	return s.String()
8505}
8506
8507// SetMaxResults sets the MaxResults field's value.
8508func (s *ListDeviceProfilesInput) SetMaxResults(v int64) *ListDeviceProfilesInput {
8509	s.MaxResults = &v
8510	return s
8511}
8512
8513// SetNextToken sets the NextToken field's value.
8514func (s *ListDeviceProfilesInput) SetNextToken(v string) *ListDeviceProfilesInput {
8515	s.NextToken = &v
8516	return s
8517}
8518
8519type ListDeviceProfilesOutput struct {
8520	_ struct{} `type:"structure"`
8521
8522	// The list of device profiles.
8523	DeviceProfileList []*DeviceProfile `type:"list"`
8524
8525	// The token to use to get the next set of results, or null if there are no
8526	// additional results.
8527	NextToken *string `type:"string"`
8528}
8529
8530// String returns the string representation
8531func (s ListDeviceProfilesOutput) String() string {
8532	return awsutil.Prettify(s)
8533}
8534
8535// GoString returns the string representation
8536func (s ListDeviceProfilesOutput) GoString() string {
8537	return s.String()
8538}
8539
8540// SetDeviceProfileList sets the DeviceProfileList field's value.
8541func (s *ListDeviceProfilesOutput) SetDeviceProfileList(v []*DeviceProfile) *ListDeviceProfilesOutput {
8542	s.DeviceProfileList = v
8543	return s
8544}
8545
8546// SetNextToken sets the NextToken field's value.
8547func (s *ListDeviceProfilesOutput) SetNextToken(v string) *ListDeviceProfilesOutput {
8548	s.NextToken = &v
8549	return s
8550}
8551
8552type ListPartnerAccountsInput struct {
8553	_ struct{} `type:"structure"`
8554
8555	// The maximum number of results to return in this operation.
8556	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8557
8558	// To retrieve the next set of results, the nextToken value from a previous
8559	// response; otherwise null to receive the first set of results.
8560	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8561}
8562
8563// String returns the string representation
8564func (s ListPartnerAccountsInput) String() string {
8565	return awsutil.Prettify(s)
8566}
8567
8568// GoString returns the string representation
8569func (s ListPartnerAccountsInput) GoString() string {
8570	return s.String()
8571}
8572
8573// SetMaxResults sets the MaxResults field's value.
8574func (s *ListPartnerAccountsInput) SetMaxResults(v int64) *ListPartnerAccountsInput {
8575	s.MaxResults = &v
8576	return s
8577}
8578
8579// SetNextToken sets the NextToken field's value.
8580func (s *ListPartnerAccountsInput) SetNextToken(v string) *ListPartnerAccountsInput {
8581	s.NextToken = &v
8582	return s
8583}
8584
8585type ListPartnerAccountsOutput struct {
8586	_ struct{} `type:"structure"`
8587
8588	// The token to use to get the next set of results, or null if there are no
8589	// additional results.
8590	NextToken *string `type:"string"`
8591
8592	// The Sidewalk account credentials.
8593	Sidewalk []*SidewalkAccountInfoWithFingerprint `type:"list"`
8594}
8595
8596// String returns the string representation
8597func (s ListPartnerAccountsOutput) String() string {
8598	return awsutil.Prettify(s)
8599}
8600
8601// GoString returns the string representation
8602func (s ListPartnerAccountsOutput) GoString() string {
8603	return s.String()
8604}
8605
8606// SetNextToken sets the NextToken field's value.
8607func (s *ListPartnerAccountsOutput) SetNextToken(v string) *ListPartnerAccountsOutput {
8608	s.NextToken = &v
8609	return s
8610}
8611
8612// SetSidewalk sets the Sidewalk field's value.
8613func (s *ListPartnerAccountsOutput) SetSidewalk(v []*SidewalkAccountInfoWithFingerprint) *ListPartnerAccountsOutput {
8614	s.Sidewalk = v
8615	return s
8616}
8617
8618type ListServiceProfilesInput struct {
8619	_ struct{} `type:"structure"`
8620
8621	// The maximum number of results to return in this operation.
8622	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8623
8624	// To retrieve the next set of results, the nextToken value from a previous
8625	// response; otherwise null to receive the first set of results.
8626	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8627}
8628
8629// String returns the string representation
8630func (s ListServiceProfilesInput) String() string {
8631	return awsutil.Prettify(s)
8632}
8633
8634// GoString returns the string representation
8635func (s ListServiceProfilesInput) GoString() string {
8636	return s.String()
8637}
8638
8639// SetMaxResults sets the MaxResults field's value.
8640func (s *ListServiceProfilesInput) SetMaxResults(v int64) *ListServiceProfilesInput {
8641	s.MaxResults = &v
8642	return s
8643}
8644
8645// SetNextToken sets the NextToken field's value.
8646func (s *ListServiceProfilesInput) SetNextToken(v string) *ListServiceProfilesInput {
8647	s.NextToken = &v
8648	return s
8649}
8650
8651type ListServiceProfilesOutput struct {
8652	_ struct{} `type:"structure"`
8653
8654	// The token to use to get the next set of results, or null if there are no
8655	// additional results.
8656	NextToken *string `type:"string"`
8657
8658	// The list of service profiles.
8659	ServiceProfileList []*ServiceProfile `type:"list"`
8660}
8661
8662// String returns the string representation
8663func (s ListServiceProfilesOutput) String() string {
8664	return awsutil.Prettify(s)
8665}
8666
8667// GoString returns the string representation
8668func (s ListServiceProfilesOutput) GoString() string {
8669	return s.String()
8670}
8671
8672// SetNextToken sets the NextToken field's value.
8673func (s *ListServiceProfilesOutput) SetNextToken(v string) *ListServiceProfilesOutput {
8674	s.NextToken = &v
8675	return s
8676}
8677
8678// SetServiceProfileList sets the ServiceProfileList field's value.
8679func (s *ListServiceProfilesOutput) SetServiceProfileList(v []*ServiceProfile) *ListServiceProfilesOutput {
8680	s.ServiceProfileList = v
8681	return s
8682}
8683
8684type ListTagsForResourceInput struct {
8685	_ struct{} `type:"structure"`
8686
8687	// The ARN of the resource for which you want to list tags.
8688	//
8689	// ResourceArn is a required field
8690	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
8691}
8692
8693// String returns the string representation
8694func (s ListTagsForResourceInput) String() string {
8695	return awsutil.Prettify(s)
8696}
8697
8698// GoString returns the string representation
8699func (s ListTagsForResourceInput) GoString() string {
8700	return s.String()
8701}
8702
8703// Validate inspects the fields of the type to determine if they are valid.
8704func (s *ListTagsForResourceInput) Validate() error {
8705	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
8706	if s.ResourceArn == nil {
8707		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8708	}
8709	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
8710		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
8711	}
8712
8713	if invalidParams.Len() > 0 {
8714		return invalidParams
8715	}
8716	return nil
8717}
8718
8719// SetResourceArn sets the ResourceArn field's value.
8720func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
8721	s.ResourceArn = &v
8722	return s
8723}
8724
8725type ListTagsForResourceOutput struct {
8726	_ struct{} `type:"structure"`
8727
8728	// The tags to attach to the specified resource. Tags are metadata that you
8729	// can use to manage a resource.
8730	Tags []*Tag `type:"list"`
8731}
8732
8733// String returns the string representation
8734func (s ListTagsForResourceOutput) String() string {
8735	return awsutil.Prettify(s)
8736}
8737
8738// GoString returns the string representation
8739func (s ListTagsForResourceOutput) GoString() string {
8740	return s.String()
8741}
8742
8743// SetTags sets the Tags field's value.
8744func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
8745	s.Tags = v
8746	return s
8747}
8748
8749type ListWirelessDevicesInput struct {
8750	_ struct{} `type:"structure"`
8751
8752	// A filter to list only the wireless devices that use this destination.
8753	DestinationName *string `location:"querystring" locationName:"destinationName" type:"string"`
8754
8755	// A filter to list only the wireless devices that use this device profile.
8756	DeviceProfileId *string `location:"querystring" locationName:"deviceProfileId" type:"string"`
8757
8758	// The maximum number of results to return in this operation.
8759	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8760
8761	// To retrieve the next set of results, the nextToken value from a previous
8762	// response; otherwise null to receive the first set of results.
8763	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8764
8765	// A filter to list only the wireless devices that use this service profile.
8766	ServiceProfileId *string `location:"querystring" locationName:"serviceProfileId" type:"string"`
8767
8768	// A filter to list only the wireless devices that use this wireless device
8769	// type.
8770	WirelessDeviceType *string `location:"querystring" locationName:"wirelessDeviceType" type:"string" enum:"WirelessDeviceType"`
8771}
8772
8773// String returns the string representation
8774func (s ListWirelessDevicesInput) String() string {
8775	return awsutil.Prettify(s)
8776}
8777
8778// GoString returns the string representation
8779func (s ListWirelessDevicesInput) GoString() string {
8780	return s.String()
8781}
8782
8783// SetDestinationName sets the DestinationName field's value.
8784func (s *ListWirelessDevicesInput) SetDestinationName(v string) *ListWirelessDevicesInput {
8785	s.DestinationName = &v
8786	return s
8787}
8788
8789// SetDeviceProfileId sets the DeviceProfileId field's value.
8790func (s *ListWirelessDevicesInput) SetDeviceProfileId(v string) *ListWirelessDevicesInput {
8791	s.DeviceProfileId = &v
8792	return s
8793}
8794
8795// SetMaxResults sets the MaxResults field's value.
8796func (s *ListWirelessDevicesInput) SetMaxResults(v int64) *ListWirelessDevicesInput {
8797	s.MaxResults = &v
8798	return s
8799}
8800
8801// SetNextToken sets the NextToken field's value.
8802func (s *ListWirelessDevicesInput) SetNextToken(v string) *ListWirelessDevicesInput {
8803	s.NextToken = &v
8804	return s
8805}
8806
8807// SetServiceProfileId sets the ServiceProfileId field's value.
8808func (s *ListWirelessDevicesInput) SetServiceProfileId(v string) *ListWirelessDevicesInput {
8809	s.ServiceProfileId = &v
8810	return s
8811}
8812
8813// SetWirelessDeviceType sets the WirelessDeviceType field's value.
8814func (s *ListWirelessDevicesInput) SetWirelessDeviceType(v string) *ListWirelessDevicesInput {
8815	s.WirelessDeviceType = &v
8816	return s
8817}
8818
8819type ListWirelessDevicesOutput struct {
8820	_ struct{} `type:"structure"`
8821
8822	// The token to use to get the next set of results, or null if there are no
8823	// additional results.
8824	NextToken *string `type:"string"`
8825
8826	// The ID of the wireless device.
8827	WirelessDeviceList []*WirelessDeviceStatistics `type:"list"`
8828}
8829
8830// String returns the string representation
8831func (s ListWirelessDevicesOutput) String() string {
8832	return awsutil.Prettify(s)
8833}
8834
8835// GoString returns the string representation
8836func (s ListWirelessDevicesOutput) GoString() string {
8837	return s.String()
8838}
8839
8840// SetNextToken sets the NextToken field's value.
8841func (s *ListWirelessDevicesOutput) SetNextToken(v string) *ListWirelessDevicesOutput {
8842	s.NextToken = &v
8843	return s
8844}
8845
8846// SetWirelessDeviceList sets the WirelessDeviceList field's value.
8847func (s *ListWirelessDevicesOutput) SetWirelessDeviceList(v []*WirelessDeviceStatistics) *ListWirelessDevicesOutput {
8848	s.WirelessDeviceList = v
8849	return s
8850}
8851
8852type ListWirelessGatewayTaskDefinitionsInput struct {
8853	_ struct{} `type:"structure"`
8854
8855	// The maximum number of results to return in this operation.
8856	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8857
8858	// To retrieve the next set of results, the nextToken value from a previous
8859	// response; otherwise null to receive the first set of results.
8860	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8861
8862	// A filter to list only the wireless gateway task definitions that use this
8863	// task definition type.
8864	TaskDefinitionType *string `location:"querystring" locationName:"taskDefinitionType" type:"string" enum:"WirelessGatewayTaskDefinitionType"`
8865}
8866
8867// String returns the string representation
8868func (s ListWirelessGatewayTaskDefinitionsInput) String() string {
8869	return awsutil.Prettify(s)
8870}
8871
8872// GoString returns the string representation
8873func (s ListWirelessGatewayTaskDefinitionsInput) GoString() string {
8874	return s.String()
8875}
8876
8877// SetMaxResults sets the MaxResults field's value.
8878func (s *ListWirelessGatewayTaskDefinitionsInput) SetMaxResults(v int64) *ListWirelessGatewayTaskDefinitionsInput {
8879	s.MaxResults = &v
8880	return s
8881}
8882
8883// SetNextToken sets the NextToken field's value.
8884func (s *ListWirelessGatewayTaskDefinitionsInput) SetNextToken(v string) *ListWirelessGatewayTaskDefinitionsInput {
8885	s.NextToken = &v
8886	return s
8887}
8888
8889// SetTaskDefinitionType sets the TaskDefinitionType field's value.
8890func (s *ListWirelessGatewayTaskDefinitionsInput) SetTaskDefinitionType(v string) *ListWirelessGatewayTaskDefinitionsInput {
8891	s.TaskDefinitionType = &v
8892	return s
8893}
8894
8895type ListWirelessGatewayTaskDefinitionsOutput struct {
8896	_ struct{} `type:"structure"`
8897
8898	// The token to use to get the next set of results, or null if there are no
8899	// additional results.
8900	NextToken *string `type:"string"`
8901
8902	// The list of task definitions.
8903	TaskDefinitions []*UpdateWirelessGatewayTaskEntry `type:"list"`
8904}
8905
8906// String returns the string representation
8907func (s ListWirelessGatewayTaskDefinitionsOutput) String() string {
8908	return awsutil.Prettify(s)
8909}
8910
8911// GoString returns the string representation
8912func (s ListWirelessGatewayTaskDefinitionsOutput) GoString() string {
8913	return s.String()
8914}
8915
8916// SetNextToken sets the NextToken field's value.
8917func (s *ListWirelessGatewayTaskDefinitionsOutput) SetNextToken(v string) *ListWirelessGatewayTaskDefinitionsOutput {
8918	s.NextToken = &v
8919	return s
8920}
8921
8922// SetTaskDefinitions sets the TaskDefinitions field's value.
8923func (s *ListWirelessGatewayTaskDefinitionsOutput) SetTaskDefinitions(v []*UpdateWirelessGatewayTaskEntry) *ListWirelessGatewayTaskDefinitionsOutput {
8924	s.TaskDefinitions = v
8925	return s
8926}
8927
8928type ListWirelessGatewaysInput struct {
8929	_ struct{} `type:"structure"`
8930
8931	// The maximum number of results to return in this operation.
8932	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
8933
8934	// To retrieve the next set of results, the nextToken value from a previous
8935	// response; otherwise null to receive the first set of results.
8936	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8937}
8938
8939// String returns the string representation
8940func (s ListWirelessGatewaysInput) String() string {
8941	return awsutil.Prettify(s)
8942}
8943
8944// GoString returns the string representation
8945func (s ListWirelessGatewaysInput) GoString() string {
8946	return s.String()
8947}
8948
8949// SetMaxResults sets the MaxResults field's value.
8950func (s *ListWirelessGatewaysInput) SetMaxResults(v int64) *ListWirelessGatewaysInput {
8951	s.MaxResults = &v
8952	return s
8953}
8954
8955// SetNextToken sets the NextToken field's value.
8956func (s *ListWirelessGatewaysInput) SetNextToken(v string) *ListWirelessGatewaysInput {
8957	s.NextToken = &v
8958	return s
8959}
8960
8961type ListWirelessGatewaysOutput struct {
8962	_ struct{} `type:"structure"`
8963
8964	// The token to use to get the next set of results, or null if there are no
8965	// additional results.
8966	NextToken *string `type:"string"`
8967
8968	// The ID of the wireless gateway.
8969	WirelessGatewayList []*WirelessGatewayStatistics `type:"list"`
8970}
8971
8972// String returns the string representation
8973func (s ListWirelessGatewaysOutput) String() string {
8974	return awsutil.Prettify(s)
8975}
8976
8977// GoString returns the string representation
8978func (s ListWirelessGatewaysOutput) GoString() string {
8979	return s.String()
8980}
8981
8982// SetNextToken sets the NextToken field's value.
8983func (s *ListWirelessGatewaysOutput) SetNextToken(v string) *ListWirelessGatewaysOutput {
8984	s.NextToken = &v
8985	return s
8986}
8987
8988// SetWirelessGatewayList sets the WirelessGatewayList field's value.
8989func (s *ListWirelessGatewaysOutput) SetWirelessGatewayList(v []*WirelessGatewayStatistics) *ListWirelessGatewaysOutput {
8990	s.WirelessGatewayList = v
8991	return s
8992}
8993
8994// LoRaWAN object for create functions.
8995type LoRaWANDevice struct {
8996	_ struct{} `type:"structure"`
8997
8998	// LoRaWAN object for create APIs
8999	AbpV1_0_x *AbpV10X `type:"structure"`
9000
9001	// ABP device object for create APIs for v1.1
9002	AbpV1_1 *AbpV11 `type:"structure"`
9003
9004	// The DevEUI value.
9005	DevEui *string `type:"string"`
9006
9007	// The ID of the device profile for the new wireless device.
9008	DeviceProfileId *string `type:"string"`
9009
9010	// OTAA device object for create APIs for v1.0.x
9011	OtaaV1_0_x *OtaaV10X `type:"structure"`
9012
9013	// OTAA device object for v1.1 for create APIs
9014	OtaaV1_1 *OtaaV11 `type:"structure"`
9015
9016	// The ID of the service profile.
9017	ServiceProfileId *string `type:"string"`
9018}
9019
9020// String returns the string representation
9021func (s LoRaWANDevice) String() string {
9022	return awsutil.Prettify(s)
9023}
9024
9025// GoString returns the string representation
9026func (s LoRaWANDevice) GoString() string {
9027	return s.String()
9028}
9029
9030// SetAbpV1_0_x sets the AbpV1_0_x field's value.
9031func (s *LoRaWANDevice) SetAbpV1_0_x(v *AbpV10X) *LoRaWANDevice {
9032	s.AbpV1_0_x = v
9033	return s
9034}
9035
9036// SetAbpV1_1 sets the AbpV1_1 field's value.
9037func (s *LoRaWANDevice) SetAbpV1_1(v *AbpV11) *LoRaWANDevice {
9038	s.AbpV1_1 = v
9039	return s
9040}
9041
9042// SetDevEui sets the DevEui field's value.
9043func (s *LoRaWANDevice) SetDevEui(v string) *LoRaWANDevice {
9044	s.DevEui = &v
9045	return s
9046}
9047
9048// SetDeviceProfileId sets the DeviceProfileId field's value.
9049func (s *LoRaWANDevice) SetDeviceProfileId(v string) *LoRaWANDevice {
9050	s.DeviceProfileId = &v
9051	return s
9052}
9053
9054// SetOtaaV1_0_x sets the OtaaV1_0_x field's value.
9055func (s *LoRaWANDevice) SetOtaaV1_0_x(v *OtaaV10X) *LoRaWANDevice {
9056	s.OtaaV1_0_x = v
9057	return s
9058}
9059
9060// SetOtaaV1_1 sets the OtaaV1_1 field's value.
9061func (s *LoRaWANDevice) SetOtaaV1_1(v *OtaaV11) *LoRaWANDevice {
9062	s.OtaaV1_1 = v
9063	return s
9064}
9065
9066// SetServiceProfileId sets the ServiceProfileId field's value.
9067func (s *LoRaWANDevice) SetServiceProfileId(v string) *LoRaWANDevice {
9068	s.ServiceProfileId = &v
9069	return s
9070}
9071
9072// LoRaWAN device metatdata.
9073type LoRaWANDeviceMetadata struct {
9074	_ struct{} `type:"structure"`
9075
9076	// The DataRate value.
9077	DataRate *int64 `type:"integer"`
9078
9079	// The DevEUI value.
9080	DevEui *string `type:"string"`
9081
9082	// The FPort value.
9083	FPort *int64 `type:"integer"`
9084
9085	// The device's channel frequency in Hz.
9086	Frequency *int64 `type:"integer"`
9087
9088	// Information about the gateways accessed by the device.
9089	Gateways []*LoRaWANGatewayMetadata `type:"list"`
9090
9091	// The date and time of the metadata.
9092	Timestamp *string `type:"string"`
9093}
9094
9095// String returns the string representation
9096func (s LoRaWANDeviceMetadata) String() string {
9097	return awsutil.Prettify(s)
9098}
9099
9100// GoString returns the string representation
9101func (s LoRaWANDeviceMetadata) GoString() string {
9102	return s.String()
9103}
9104
9105// SetDataRate sets the DataRate field's value.
9106func (s *LoRaWANDeviceMetadata) SetDataRate(v int64) *LoRaWANDeviceMetadata {
9107	s.DataRate = &v
9108	return s
9109}
9110
9111// SetDevEui sets the DevEui field's value.
9112func (s *LoRaWANDeviceMetadata) SetDevEui(v string) *LoRaWANDeviceMetadata {
9113	s.DevEui = &v
9114	return s
9115}
9116
9117// SetFPort sets the FPort field's value.
9118func (s *LoRaWANDeviceMetadata) SetFPort(v int64) *LoRaWANDeviceMetadata {
9119	s.FPort = &v
9120	return s
9121}
9122
9123// SetFrequency sets the Frequency field's value.
9124func (s *LoRaWANDeviceMetadata) SetFrequency(v int64) *LoRaWANDeviceMetadata {
9125	s.Frequency = &v
9126	return s
9127}
9128
9129// SetGateways sets the Gateways field's value.
9130func (s *LoRaWANDeviceMetadata) SetGateways(v []*LoRaWANGatewayMetadata) *LoRaWANDeviceMetadata {
9131	s.Gateways = v
9132	return s
9133}
9134
9135// SetTimestamp sets the Timestamp field's value.
9136func (s *LoRaWANDeviceMetadata) SetTimestamp(v string) *LoRaWANDeviceMetadata {
9137	s.Timestamp = &v
9138	return s
9139}
9140
9141// LoRaWANDeviceProfile object.
9142type LoRaWANDeviceProfile struct {
9143	_ struct{} `type:"structure"`
9144
9145	// The ClassBTimeout value.
9146	ClassBTimeout *int64 `type:"integer"`
9147
9148	// The ClassCTimeout value.
9149	ClassCTimeout *int64 `type:"integer"`
9150
9151	// The list of values that make up the FactoryPresetFreqs value.
9152	FactoryPresetFreqsList []*int64 `type:"list"`
9153
9154	// The MAC version (such as OTAA 1.1 or OTAA 1.0.3) to use with this device
9155	// profile.
9156	MacVersion *string `type:"string"`
9157
9158	// The MaxDutyCycle value.
9159	MaxDutyCycle *int64 `type:"integer"`
9160
9161	// The MaxEIRP value.
9162	MaxEirp *int64 `type:"integer"`
9163
9164	// The PingSlotDR value.
9165	PingSlotDr *int64 `type:"integer"`
9166
9167	// The PingSlotFreq value.
9168	PingSlotFreq *int64 `min:"1e+06" type:"integer"`
9169
9170	// The PingSlotPeriod value.
9171	PingSlotPeriod *int64 `min:"128" type:"integer"`
9172
9173	// The version of regional parameters.
9174	RegParamsRevision *string `type:"string"`
9175
9176	// The frequency band (RFRegion) value.
9177	RfRegion *string `type:"string"`
9178
9179	// The RXDataRate2 value.
9180	RxDataRate2 *int64 `type:"integer"`
9181
9182	// The RXDelay1 value.
9183	RxDelay1 *int64 `type:"integer"`
9184
9185	// The RXDROffset1 value.
9186	RxDrOffset1 *int64 `type:"integer"`
9187
9188	// The RXFreq2 value.
9189	RxFreq2 *int64 `min:"1e+06" type:"integer"`
9190
9191	// The Supports32BitFCnt value.
9192	Supports32BitFCnt *bool `type:"boolean"`
9193
9194	// The SupportsClassB value.
9195	SupportsClassB *bool `type:"boolean"`
9196
9197	// The SupportsClassC value.
9198	SupportsClassC *bool `type:"boolean"`
9199
9200	// The SupportsJoin value.
9201	SupportsJoin *bool `type:"boolean"`
9202}
9203
9204// String returns the string representation
9205func (s LoRaWANDeviceProfile) String() string {
9206	return awsutil.Prettify(s)
9207}
9208
9209// GoString returns the string representation
9210func (s LoRaWANDeviceProfile) GoString() string {
9211	return s.String()
9212}
9213
9214// Validate inspects the fields of the type to determine if they are valid.
9215func (s *LoRaWANDeviceProfile) Validate() error {
9216	invalidParams := request.ErrInvalidParams{Context: "LoRaWANDeviceProfile"}
9217	if s.PingSlotFreq != nil && *s.PingSlotFreq < 1e+06 {
9218		invalidParams.Add(request.NewErrParamMinValue("PingSlotFreq", 1e+06))
9219	}
9220	if s.PingSlotPeriod != nil && *s.PingSlotPeriod < 128 {
9221		invalidParams.Add(request.NewErrParamMinValue("PingSlotPeriod", 128))
9222	}
9223	if s.RxFreq2 != nil && *s.RxFreq2 < 1e+06 {
9224		invalidParams.Add(request.NewErrParamMinValue("RxFreq2", 1e+06))
9225	}
9226
9227	if invalidParams.Len() > 0 {
9228		return invalidParams
9229	}
9230	return nil
9231}
9232
9233// SetClassBTimeout sets the ClassBTimeout field's value.
9234func (s *LoRaWANDeviceProfile) SetClassBTimeout(v int64) *LoRaWANDeviceProfile {
9235	s.ClassBTimeout = &v
9236	return s
9237}
9238
9239// SetClassCTimeout sets the ClassCTimeout field's value.
9240func (s *LoRaWANDeviceProfile) SetClassCTimeout(v int64) *LoRaWANDeviceProfile {
9241	s.ClassCTimeout = &v
9242	return s
9243}
9244
9245// SetFactoryPresetFreqsList sets the FactoryPresetFreqsList field's value.
9246func (s *LoRaWANDeviceProfile) SetFactoryPresetFreqsList(v []*int64) *LoRaWANDeviceProfile {
9247	s.FactoryPresetFreqsList = v
9248	return s
9249}
9250
9251// SetMacVersion sets the MacVersion field's value.
9252func (s *LoRaWANDeviceProfile) SetMacVersion(v string) *LoRaWANDeviceProfile {
9253	s.MacVersion = &v
9254	return s
9255}
9256
9257// SetMaxDutyCycle sets the MaxDutyCycle field's value.
9258func (s *LoRaWANDeviceProfile) SetMaxDutyCycle(v int64) *LoRaWANDeviceProfile {
9259	s.MaxDutyCycle = &v
9260	return s
9261}
9262
9263// SetMaxEirp sets the MaxEirp field's value.
9264func (s *LoRaWANDeviceProfile) SetMaxEirp(v int64) *LoRaWANDeviceProfile {
9265	s.MaxEirp = &v
9266	return s
9267}
9268
9269// SetPingSlotDr sets the PingSlotDr field's value.
9270func (s *LoRaWANDeviceProfile) SetPingSlotDr(v int64) *LoRaWANDeviceProfile {
9271	s.PingSlotDr = &v
9272	return s
9273}
9274
9275// SetPingSlotFreq sets the PingSlotFreq field's value.
9276func (s *LoRaWANDeviceProfile) SetPingSlotFreq(v int64) *LoRaWANDeviceProfile {
9277	s.PingSlotFreq = &v
9278	return s
9279}
9280
9281// SetPingSlotPeriod sets the PingSlotPeriod field's value.
9282func (s *LoRaWANDeviceProfile) SetPingSlotPeriod(v int64) *LoRaWANDeviceProfile {
9283	s.PingSlotPeriod = &v
9284	return s
9285}
9286
9287// SetRegParamsRevision sets the RegParamsRevision field's value.
9288func (s *LoRaWANDeviceProfile) SetRegParamsRevision(v string) *LoRaWANDeviceProfile {
9289	s.RegParamsRevision = &v
9290	return s
9291}
9292
9293// SetRfRegion sets the RfRegion field's value.
9294func (s *LoRaWANDeviceProfile) SetRfRegion(v string) *LoRaWANDeviceProfile {
9295	s.RfRegion = &v
9296	return s
9297}
9298
9299// SetRxDataRate2 sets the RxDataRate2 field's value.
9300func (s *LoRaWANDeviceProfile) SetRxDataRate2(v int64) *LoRaWANDeviceProfile {
9301	s.RxDataRate2 = &v
9302	return s
9303}
9304
9305// SetRxDelay1 sets the RxDelay1 field's value.
9306func (s *LoRaWANDeviceProfile) SetRxDelay1(v int64) *LoRaWANDeviceProfile {
9307	s.RxDelay1 = &v
9308	return s
9309}
9310
9311// SetRxDrOffset1 sets the RxDrOffset1 field's value.
9312func (s *LoRaWANDeviceProfile) SetRxDrOffset1(v int64) *LoRaWANDeviceProfile {
9313	s.RxDrOffset1 = &v
9314	return s
9315}
9316
9317// SetRxFreq2 sets the RxFreq2 field's value.
9318func (s *LoRaWANDeviceProfile) SetRxFreq2(v int64) *LoRaWANDeviceProfile {
9319	s.RxFreq2 = &v
9320	return s
9321}
9322
9323// SetSupports32BitFCnt sets the Supports32BitFCnt field's value.
9324func (s *LoRaWANDeviceProfile) SetSupports32BitFCnt(v bool) *LoRaWANDeviceProfile {
9325	s.Supports32BitFCnt = &v
9326	return s
9327}
9328
9329// SetSupportsClassB sets the SupportsClassB field's value.
9330func (s *LoRaWANDeviceProfile) SetSupportsClassB(v bool) *LoRaWANDeviceProfile {
9331	s.SupportsClassB = &v
9332	return s
9333}
9334
9335// SetSupportsClassC sets the SupportsClassC field's value.
9336func (s *LoRaWANDeviceProfile) SetSupportsClassC(v bool) *LoRaWANDeviceProfile {
9337	s.SupportsClassC = &v
9338	return s
9339}
9340
9341// SetSupportsJoin sets the SupportsJoin field's value.
9342func (s *LoRaWANDeviceProfile) SetSupportsJoin(v bool) *LoRaWANDeviceProfile {
9343	s.SupportsJoin = &v
9344	return s
9345}
9346
9347// LoRaWANGateway object.
9348type LoRaWANGateway struct {
9349	_ struct{} `type:"structure"`
9350
9351	// The gateway's EUI value.
9352	GatewayEui *string `type:"string"`
9353
9354	// The frequency band (RFRegion) value.
9355	RfRegion *string `type:"string"`
9356}
9357
9358// String returns the string representation
9359func (s LoRaWANGateway) String() string {
9360	return awsutil.Prettify(s)
9361}
9362
9363// GoString returns the string representation
9364func (s LoRaWANGateway) GoString() string {
9365	return s.String()
9366}
9367
9368// SetGatewayEui sets the GatewayEui field's value.
9369func (s *LoRaWANGateway) SetGatewayEui(v string) *LoRaWANGateway {
9370	s.GatewayEui = &v
9371	return s
9372}
9373
9374// SetRfRegion sets the RfRegion field's value.
9375func (s *LoRaWANGateway) SetRfRegion(v string) *LoRaWANGateway {
9376	s.RfRegion = &v
9377	return s
9378}
9379
9380// LoRaWANGatewayCurrentVersion object.
9381type LoRaWANGatewayCurrentVersion struct {
9382	_ struct{} `type:"structure"`
9383
9384	// The version of the gateways that should receive the update.
9385	CurrentVersion *LoRaWANGatewayVersion `type:"structure"`
9386}
9387
9388// String returns the string representation
9389func (s LoRaWANGatewayCurrentVersion) String() string {
9390	return awsutil.Prettify(s)
9391}
9392
9393// GoString returns the string representation
9394func (s LoRaWANGatewayCurrentVersion) GoString() string {
9395	return s.String()
9396}
9397
9398// SetCurrentVersion sets the CurrentVersion field's value.
9399func (s *LoRaWANGatewayCurrentVersion) SetCurrentVersion(v *LoRaWANGatewayVersion) *LoRaWANGatewayCurrentVersion {
9400	s.CurrentVersion = v
9401	return s
9402}
9403
9404// LoRaWAN gateway metatdata.
9405type LoRaWANGatewayMetadata struct {
9406	_ struct{} `type:"structure"`
9407
9408	// The gateway's EUI value.
9409	GatewayEui *string `type:"string"`
9410
9411	// The RSSI value.
9412	Rssi *float64 `type:"double"`
9413
9414	// The SNR value.
9415	Snr *float64 `type:"double"`
9416}
9417
9418// String returns the string representation
9419func (s LoRaWANGatewayMetadata) String() string {
9420	return awsutil.Prettify(s)
9421}
9422
9423// GoString returns the string representation
9424func (s LoRaWANGatewayMetadata) GoString() string {
9425	return s.String()
9426}
9427
9428// SetGatewayEui sets the GatewayEui field's value.
9429func (s *LoRaWANGatewayMetadata) SetGatewayEui(v string) *LoRaWANGatewayMetadata {
9430	s.GatewayEui = &v
9431	return s
9432}
9433
9434// SetRssi sets the Rssi field's value.
9435func (s *LoRaWANGatewayMetadata) SetRssi(v float64) *LoRaWANGatewayMetadata {
9436	s.Rssi = &v
9437	return s
9438}
9439
9440// SetSnr sets the Snr field's value.
9441func (s *LoRaWANGatewayMetadata) SetSnr(v float64) *LoRaWANGatewayMetadata {
9442	s.Snr = &v
9443	return s
9444}
9445
9446// LoRaWANGatewayVersion object.
9447type LoRaWANGatewayVersion struct {
9448	_ struct{} `type:"structure"`
9449
9450	// The model number of the wireless gateway.
9451	Model *string `min:"1" type:"string"`
9452
9453	// The version of the wireless gateway firmware.
9454	PackageVersion *string `min:"1" type:"string"`
9455
9456	// The basic station version of the wireless gateway.
9457	Station *string `min:"1" type:"string"`
9458}
9459
9460// String returns the string representation
9461func (s LoRaWANGatewayVersion) String() string {
9462	return awsutil.Prettify(s)
9463}
9464
9465// GoString returns the string representation
9466func (s LoRaWANGatewayVersion) GoString() string {
9467	return s.String()
9468}
9469
9470// Validate inspects the fields of the type to determine if they are valid.
9471func (s *LoRaWANGatewayVersion) Validate() error {
9472	invalidParams := request.ErrInvalidParams{Context: "LoRaWANGatewayVersion"}
9473	if s.Model != nil && len(*s.Model) < 1 {
9474		invalidParams.Add(request.NewErrParamMinLen("Model", 1))
9475	}
9476	if s.PackageVersion != nil && len(*s.PackageVersion) < 1 {
9477		invalidParams.Add(request.NewErrParamMinLen("PackageVersion", 1))
9478	}
9479	if s.Station != nil && len(*s.Station) < 1 {
9480		invalidParams.Add(request.NewErrParamMinLen("Station", 1))
9481	}
9482
9483	if invalidParams.Len() > 0 {
9484		return invalidParams
9485	}
9486	return nil
9487}
9488
9489// SetModel sets the Model field's value.
9490func (s *LoRaWANGatewayVersion) SetModel(v string) *LoRaWANGatewayVersion {
9491	s.Model = &v
9492	return s
9493}
9494
9495// SetPackageVersion sets the PackageVersion field's value.
9496func (s *LoRaWANGatewayVersion) SetPackageVersion(v string) *LoRaWANGatewayVersion {
9497	s.PackageVersion = &v
9498	return s
9499}
9500
9501// SetStation sets the Station field's value.
9502func (s *LoRaWANGatewayVersion) SetStation(v string) *LoRaWANGatewayVersion {
9503	s.Station = &v
9504	return s
9505}
9506
9507// LoRaWANGetServiceProfileInfo object.
9508type LoRaWANGetServiceProfileInfo struct {
9509	_ struct{} `type:"structure"`
9510
9511	// The AddGWMetaData value.
9512	AddGwMetadata *bool `type:"boolean"`
9513
9514	// The ChannelMask value.
9515	ChannelMask *string `type:"string"`
9516
9517	// The DevStatusReqFreq value.
9518	DevStatusReqFreq *int64 `type:"integer"`
9519
9520	// The DLBucketSize value.
9521	DlBucketSize *int64 `type:"integer"`
9522
9523	// The DLRate value.
9524	DlRate *int64 `type:"integer"`
9525
9526	// The DLRatePolicy value.
9527	DlRatePolicy *string `type:"string"`
9528
9529	// The DRMax value.
9530	DrMax *int64 `type:"integer"`
9531
9532	// The DRMin value.
9533	DrMin *int64 `type:"integer"`
9534
9535	// The HRAllowed value that describes whether handover roaming is allowed.
9536	HrAllowed *bool `type:"boolean"`
9537
9538	// The MinGwDiversity value.
9539	MinGwDiversity *int64 `min:"1" type:"integer"`
9540
9541	// The NwkGeoLoc value.
9542	NwkGeoLoc *bool `type:"boolean"`
9543
9544	// The PRAllowed value that describes whether passive roaming is allowed.
9545	PrAllowed *bool `type:"boolean"`
9546
9547	// The RAAllowed value that describes whether roaming activation is allowed.
9548	RaAllowed *bool `type:"boolean"`
9549
9550	// The ReportDevStatusBattery value.
9551	ReportDevStatusBattery *bool `type:"boolean"`
9552
9553	// The ReportDevStatusMargin value.
9554	ReportDevStatusMargin *bool `type:"boolean"`
9555
9556	// The TargetPER value.
9557	TargetPer *int64 `type:"integer"`
9558
9559	// The ULBucketSize value.
9560	UlBucketSize *int64 `type:"integer"`
9561
9562	// The ULRate value.
9563	UlRate *int64 `type:"integer"`
9564
9565	// The ULRatePolicy value.
9566	UlRatePolicy *string `type:"string"`
9567}
9568
9569// String returns the string representation
9570func (s LoRaWANGetServiceProfileInfo) String() string {
9571	return awsutil.Prettify(s)
9572}
9573
9574// GoString returns the string representation
9575func (s LoRaWANGetServiceProfileInfo) GoString() string {
9576	return s.String()
9577}
9578
9579// SetAddGwMetadata sets the AddGwMetadata field's value.
9580func (s *LoRaWANGetServiceProfileInfo) SetAddGwMetadata(v bool) *LoRaWANGetServiceProfileInfo {
9581	s.AddGwMetadata = &v
9582	return s
9583}
9584
9585// SetChannelMask sets the ChannelMask field's value.
9586func (s *LoRaWANGetServiceProfileInfo) SetChannelMask(v string) *LoRaWANGetServiceProfileInfo {
9587	s.ChannelMask = &v
9588	return s
9589}
9590
9591// SetDevStatusReqFreq sets the DevStatusReqFreq field's value.
9592func (s *LoRaWANGetServiceProfileInfo) SetDevStatusReqFreq(v int64) *LoRaWANGetServiceProfileInfo {
9593	s.DevStatusReqFreq = &v
9594	return s
9595}
9596
9597// SetDlBucketSize sets the DlBucketSize field's value.
9598func (s *LoRaWANGetServiceProfileInfo) SetDlBucketSize(v int64) *LoRaWANGetServiceProfileInfo {
9599	s.DlBucketSize = &v
9600	return s
9601}
9602
9603// SetDlRate sets the DlRate field's value.
9604func (s *LoRaWANGetServiceProfileInfo) SetDlRate(v int64) *LoRaWANGetServiceProfileInfo {
9605	s.DlRate = &v
9606	return s
9607}
9608
9609// SetDlRatePolicy sets the DlRatePolicy field's value.
9610func (s *LoRaWANGetServiceProfileInfo) SetDlRatePolicy(v string) *LoRaWANGetServiceProfileInfo {
9611	s.DlRatePolicy = &v
9612	return s
9613}
9614
9615// SetDrMax sets the DrMax field's value.
9616func (s *LoRaWANGetServiceProfileInfo) SetDrMax(v int64) *LoRaWANGetServiceProfileInfo {
9617	s.DrMax = &v
9618	return s
9619}
9620
9621// SetDrMin sets the DrMin field's value.
9622func (s *LoRaWANGetServiceProfileInfo) SetDrMin(v int64) *LoRaWANGetServiceProfileInfo {
9623	s.DrMin = &v
9624	return s
9625}
9626
9627// SetHrAllowed sets the HrAllowed field's value.
9628func (s *LoRaWANGetServiceProfileInfo) SetHrAllowed(v bool) *LoRaWANGetServiceProfileInfo {
9629	s.HrAllowed = &v
9630	return s
9631}
9632
9633// SetMinGwDiversity sets the MinGwDiversity field's value.
9634func (s *LoRaWANGetServiceProfileInfo) SetMinGwDiversity(v int64) *LoRaWANGetServiceProfileInfo {
9635	s.MinGwDiversity = &v
9636	return s
9637}
9638
9639// SetNwkGeoLoc sets the NwkGeoLoc field's value.
9640func (s *LoRaWANGetServiceProfileInfo) SetNwkGeoLoc(v bool) *LoRaWANGetServiceProfileInfo {
9641	s.NwkGeoLoc = &v
9642	return s
9643}
9644
9645// SetPrAllowed sets the PrAllowed field's value.
9646func (s *LoRaWANGetServiceProfileInfo) SetPrAllowed(v bool) *LoRaWANGetServiceProfileInfo {
9647	s.PrAllowed = &v
9648	return s
9649}
9650
9651// SetRaAllowed sets the RaAllowed field's value.
9652func (s *LoRaWANGetServiceProfileInfo) SetRaAllowed(v bool) *LoRaWANGetServiceProfileInfo {
9653	s.RaAllowed = &v
9654	return s
9655}
9656
9657// SetReportDevStatusBattery sets the ReportDevStatusBattery field's value.
9658func (s *LoRaWANGetServiceProfileInfo) SetReportDevStatusBattery(v bool) *LoRaWANGetServiceProfileInfo {
9659	s.ReportDevStatusBattery = &v
9660	return s
9661}
9662
9663// SetReportDevStatusMargin sets the ReportDevStatusMargin field's value.
9664func (s *LoRaWANGetServiceProfileInfo) SetReportDevStatusMargin(v bool) *LoRaWANGetServiceProfileInfo {
9665	s.ReportDevStatusMargin = &v
9666	return s
9667}
9668
9669// SetTargetPer sets the TargetPer field's value.
9670func (s *LoRaWANGetServiceProfileInfo) SetTargetPer(v int64) *LoRaWANGetServiceProfileInfo {
9671	s.TargetPer = &v
9672	return s
9673}
9674
9675// SetUlBucketSize sets the UlBucketSize field's value.
9676func (s *LoRaWANGetServiceProfileInfo) SetUlBucketSize(v int64) *LoRaWANGetServiceProfileInfo {
9677	s.UlBucketSize = &v
9678	return s
9679}
9680
9681// SetUlRate sets the UlRate field's value.
9682func (s *LoRaWANGetServiceProfileInfo) SetUlRate(v int64) *LoRaWANGetServiceProfileInfo {
9683	s.UlRate = &v
9684	return s
9685}
9686
9687// SetUlRatePolicy sets the UlRatePolicy field's value.
9688func (s *LoRaWANGetServiceProfileInfo) SetUlRatePolicy(v string) *LoRaWANGetServiceProfileInfo {
9689	s.UlRatePolicy = &v
9690	return s
9691}
9692
9693// LoRaWAN object for list functions.
9694type LoRaWANListDevice struct {
9695	_ struct{} `type:"structure"`
9696
9697	// The DevEUI value.
9698	DevEui *string `type:"string"`
9699}
9700
9701// String returns the string representation
9702func (s LoRaWANListDevice) String() string {
9703	return awsutil.Prettify(s)
9704}
9705
9706// GoString returns the string representation
9707func (s LoRaWANListDevice) GoString() string {
9708	return s.String()
9709}
9710
9711// SetDevEui sets the DevEui field's value.
9712func (s *LoRaWANListDevice) SetDevEui(v string) *LoRaWANListDevice {
9713	s.DevEui = &v
9714	return s
9715}
9716
9717// LoRaWAN router info.
9718type LoRaWANSendDataToDevice struct {
9719	_ struct{} `type:"structure"`
9720
9721	// The Fport value.
9722	FPort *int64 `min:"1" type:"integer"`
9723}
9724
9725// String returns the string representation
9726func (s LoRaWANSendDataToDevice) String() string {
9727	return awsutil.Prettify(s)
9728}
9729
9730// GoString returns the string representation
9731func (s LoRaWANSendDataToDevice) GoString() string {
9732	return s.String()
9733}
9734
9735// Validate inspects the fields of the type to determine if they are valid.
9736func (s *LoRaWANSendDataToDevice) Validate() error {
9737	invalidParams := request.ErrInvalidParams{Context: "LoRaWANSendDataToDevice"}
9738	if s.FPort != nil && *s.FPort < 1 {
9739		invalidParams.Add(request.NewErrParamMinValue("FPort", 1))
9740	}
9741
9742	if invalidParams.Len() > 0 {
9743		return invalidParams
9744	}
9745	return nil
9746}
9747
9748// SetFPort sets the FPort field's value.
9749func (s *LoRaWANSendDataToDevice) SetFPort(v int64) *LoRaWANSendDataToDevice {
9750	s.FPort = &v
9751	return s
9752}
9753
9754// LoRaWANServiceProfile object.
9755type LoRaWANServiceProfile struct {
9756	_ struct{} `type:"structure"`
9757
9758	// The AddGWMetaData value.
9759	AddGwMetadata *bool `type:"boolean"`
9760}
9761
9762// String returns the string representation
9763func (s LoRaWANServiceProfile) String() string {
9764	return awsutil.Prettify(s)
9765}
9766
9767// GoString returns the string representation
9768func (s LoRaWANServiceProfile) GoString() string {
9769	return s.String()
9770}
9771
9772// SetAddGwMetadata sets the AddGwMetadata field's value.
9773func (s *LoRaWANServiceProfile) SetAddGwMetadata(v bool) *LoRaWANServiceProfile {
9774	s.AddGwMetadata = &v
9775	return s
9776}
9777
9778// LoRaWAN object for update functions.
9779type LoRaWANUpdateDevice struct {
9780	_ struct{} `type:"structure"`
9781
9782	// The ID of the device profile for the wireless device.
9783	DeviceProfileId *string `type:"string"`
9784
9785	// The ID of the service profile.
9786	ServiceProfileId *string `type:"string"`
9787}
9788
9789// String returns the string representation
9790func (s LoRaWANUpdateDevice) String() string {
9791	return awsutil.Prettify(s)
9792}
9793
9794// GoString returns the string representation
9795func (s LoRaWANUpdateDevice) GoString() string {
9796	return s.String()
9797}
9798
9799// SetDeviceProfileId sets the DeviceProfileId field's value.
9800func (s *LoRaWANUpdateDevice) SetDeviceProfileId(v string) *LoRaWANUpdateDevice {
9801	s.DeviceProfileId = &v
9802	return s
9803}
9804
9805// SetServiceProfileId sets the ServiceProfileId field's value.
9806func (s *LoRaWANUpdateDevice) SetServiceProfileId(v string) *LoRaWANUpdateDevice {
9807	s.ServiceProfileId = &v
9808	return s
9809}
9810
9811// LoRaWANUpdateGatewayTaskCreate object.
9812type LoRaWANUpdateGatewayTaskCreate struct {
9813	_ struct{} `type:"structure"`
9814
9815	// The version of the gateways that should receive the update.
9816	CurrentVersion *LoRaWANGatewayVersion `type:"structure"`
9817
9818	// The CRC of the signature private key to check.
9819	SigKeyCrc *int64 `min:"1" type:"long"`
9820
9821	// The signature used to verify the update firmware.
9822	UpdateSignature *string `min:"1" type:"string"`
9823
9824	// The firmware version to update the gateway to.
9825	UpdateVersion *LoRaWANGatewayVersion `type:"structure"`
9826}
9827
9828// String returns the string representation
9829func (s LoRaWANUpdateGatewayTaskCreate) String() string {
9830	return awsutil.Prettify(s)
9831}
9832
9833// GoString returns the string representation
9834func (s LoRaWANUpdateGatewayTaskCreate) GoString() string {
9835	return s.String()
9836}
9837
9838// Validate inspects the fields of the type to determine if they are valid.
9839func (s *LoRaWANUpdateGatewayTaskCreate) Validate() error {
9840	invalidParams := request.ErrInvalidParams{Context: "LoRaWANUpdateGatewayTaskCreate"}
9841	if s.SigKeyCrc != nil && *s.SigKeyCrc < 1 {
9842		invalidParams.Add(request.NewErrParamMinValue("SigKeyCrc", 1))
9843	}
9844	if s.UpdateSignature != nil && len(*s.UpdateSignature) < 1 {
9845		invalidParams.Add(request.NewErrParamMinLen("UpdateSignature", 1))
9846	}
9847	if s.CurrentVersion != nil {
9848		if err := s.CurrentVersion.Validate(); err != nil {
9849			invalidParams.AddNested("CurrentVersion", err.(request.ErrInvalidParams))
9850		}
9851	}
9852	if s.UpdateVersion != nil {
9853		if err := s.UpdateVersion.Validate(); err != nil {
9854			invalidParams.AddNested("UpdateVersion", err.(request.ErrInvalidParams))
9855		}
9856	}
9857
9858	if invalidParams.Len() > 0 {
9859		return invalidParams
9860	}
9861	return nil
9862}
9863
9864// SetCurrentVersion sets the CurrentVersion field's value.
9865func (s *LoRaWANUpdateGatewayTaskCreate) SetCurrentVersion(v *LoRaWANGatewayVersion) *LoRaWANUpdateGatewayTaskCreate {
9866	s.CurrentVersion = v
9867	return s
9868}
9869
9870// SetSigKeyCrc sets the SigKeyCrc field's value.
9871func (s *LoRaWANUpdateGatewayTaskCreate) SetSigKeyCrc(v int64) *LoRaWANUpdateGatewayTaskCreate {
9872	s.SigKeyCrc = &v
9873	return s
9874}
9875
9876// SetUpdateSignature sets the UpdateSignature field's value.
9877func (s *LoRaWANUpdateGatewayTaskCreate) SetUpdateSignature(v string) *LoRaWANUpdateGatewayTaskCreate {
9878	s.UpdateSignature = &v
9879	return s
9880}
9881
9882// SetUpdateVersion sets the UpdateVersion field's value.
9883func (s *LoRaWANUpdateGatewayTaskCreate) SetUpdateVersion(v *LoRaWANGatewayVersion) *LoRaWANUpdateGatewayTaskCreate {
9884	s.UpdateVersion = v
9885	return s
9886}
9887
9888// LoRaWANUpdateGatewayTaskEntry object.
9889type LoRaWANUpdateGatewayTaskEntry struct {
9890	_ struct{} `type:"structure"`
9891
9892	// The version of the gateways that should receive the update.
9893	CurrentVersion *LoRaWANGatewayVersion `type:"structure"`
9894
9895	// The firmware version to update the gateway to.
9896	UpdateVersion *LoRaWANGatewayVersion `type:"structure"`
9897}
9898
9899// String returns the string representation
9900func (s LoRaWANUpdateGatewayTaskEntry) String() string {
9901	return awsutil.Prettify(s)
9902}
9903
9904// GoString returns the string representation
9905func (s LoRaWANUpdateGatewayTaskEntry) GoString() string {
9906	return s.String()
9907}
9908
9909// SetCurrentVersion sets the CurrentVersion field's value.
9910func (s *LoRaWANUpdateGatewayTaskEntry) SetCurrentVersion(v *LoRaWANGatewayVersion) *LoRaWANUpdateGatewayTaskEntry {
9911	s.CurrentVersion = v
9912	return s
9913}
9914
9915// SetUpdateVersion sets the UpdateVersion field's value.
9916func (s *LoRaWANUpdateGatewayTaskEntry) SetUpdateVersion(v *LoRaWANGatewayVersion) *LoRaWANUpdateGatewayTaskEntry {
9917	s.UpdateVersion = v
9918	return s
9919}
9920
9921// OTAA device object for v1.0.x
9922type OtaaV10X struct {
9923	_ struct{} `type:"structure"`
9924
9925	// The AppEUI value.
9926	AppEui *string `type:"string"`
9927
9928	// The AppKey value.
9929	AppKey *string `type:"string"`
9930}
9931
9932// String returns the string representation
9933func (s OtaaV10X) String() string {
9934	return awsutil.Prettify(s)
9935}
9936
9937// GoString returns the string representation
9938func (s OtaaV10X) GoString() string {
9939	return s.String()
9940}
9941
9942// SetAppEui sets the AppEui field's value.
9943func (s *OtaaV10X) SetAppEui(v string) *OtaaV10X {
9944	s.AppEui = &v
9945	return s
9946}
9947
9948// SetAppKey sets the AppKey field's value.
9949func (s *OtaaV10X) SetAppKey(v string) *OtaaV10X {
9950	s.AppKey = &v
9951	return s
9952}
9953
9954// OTAA device object for v1.1
9955type OtaaV11 struct {
9956	_ struct{} `type:"structure"`
9957
9958	// The AppKey value.
9959	AppKey *string `type:"string"`
9960
9961	// The JoinEUI value.
9962	JoinEui *string `type:"string"`
9963
9964	// The NwkKey value.
9965	NwkKey *string `type:"string"`
9966}
9967
9968// String returns the string representation
9969func (s OtaaV11) String() string {
9970	return awsutil.Prettify(s)
9971}
9972
9973// GoString returns the string representation
9974func (s OtaaV11) GoString() string {
9975	return s.String()
9976}
9977
9978// SetAppKey sets the AppKey field's value.
9979func (s *OtaaV11) SetAppKey(v string) *OtaaV11 {
9980	s.AppKey = &v
9981	return s
9982}
9983
9984// SetJoinEui sets the JoinEui field's value.
9985func (s *OtaaV11) SetJoinEui(v string) *OtaaV11 {
9986	s.JoinEui = &v
9987	return s
9988}
9989
9990// SetNwkKey sets the NwkKey field's value.
9991func (s *OtaaV11) SetNwkKey(v string) *OtaaV11 {
9992	s.NwkKey = &v
9993	return s
9994}
9995
9996// Resource does not exist.
9997type ResourceNotFoundException struct {
9998	_            struct{}                  `type:"structure"`
9999	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10000
10001	Message_ *string `locationName:"Message" type:"string"`
10002
10003	ResourceId *string `type:"string"`
10004
10005	ResourceType *string `type:"string"`
10006}
10007
10008// String returns the string representation
10009func (s ResourceNotFoundException) String() string {
10010	return awsutil.Prettify(s)
10011}
10012
10013// GoString returns the string representation
10014func (s ResourceNotFoundException) GoString() string {
10015	return s.String()
10016}
10017
10018func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
10019	return &ResourceNotFoundException{
10020		RespMetadata: v,
10021	}
10022}
10023
10024// Code returns the exception type name.
10025func (s *ResourceNotFoundException) Code() string {
10026	return "ResourceNotFoundException"
10027}
10028
10029// Message returns the exception's message.
10030func (s *ResourceNotFoundException) Message() string {
10031	if s.Message_ != nil {
10032		return *s.Message_
10033	}
10034	return ""
10035}
10036
10037// OrigErr always returns nil, satisfies awserr.Error interface.
10038func (s *ResourceNotFoundException) OrigErr() error {
10039	return nil
10040}
10041
10042func (s *ResourceNotFoundException) Error() string {
10043	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10044}
10045
10046// Status code returns the HTTP status code for the request's response error.
10047func (s *ResourceNotFoundException) StatusCode() int {
10048	return s.RespMetadata.StatusCode
10049}
10050
10051// RequestID returns the service's response RequestID for request.
10052func (s *ResourceNotFoundException) RequestID() string {
10053	return s.RespMetadata.RequestID
10054}
10055
10056type SendDataToWirelessDeviceInput struct {
10057	_ struct{} `type:"structure"`
10058
10059	// The ID of the wireless device to receive the data.
10060	//
10061	// Id is a required field
10062	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
10063
10064	// The message payload to send.
10065	//
10066	// PayloadData is a required field
10067	PayloadData *string `type:"string" required:"true"`
10068
10069	// The transmit mode to use to send data to the wireless device. Can be: 0 for
10070	// UM (unacknowledge mode) or 1 for AM (acknowledge mode).
10071	//
10072	// TransmitMode is a required field
10073	TransmitMode *int64 `type:"integer" required:"true"`
10074
10075	// Metadata about the message request.
10076	WirelessMetadata *WirelessMetadata `type:"structure"`
10077}
10078
10079// String returns the string representation
10080func (s SendDataToWirelessDeviceInput) String() string {
10081	return awsutil.Prettify(s)
10082}
10083
10084// GoString returns the string representation
10085func (s SendDataToWirelessDeviceInput) GoString() string {
10086	return s.String()
10087}
10088
10089// Validate inspects the fields of the type to determine if they are valid.
10090func (s *SendDataToWirelessDeviceInput) Validate() error {
10091	invalidParams := request.ErrInvalidParams{Context: "SendDataToWirelessDeviceInput"}
10092	if s.Id == nil {
10093		invalidParams.Add(request.NewErrParamRequired("Id"))
10094	}
10095	if s.Id != nil && len(*s.Id) < 1 {
10096		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
10097	}
10098	if s.PayloadData == nil {
10099		invalidParams.Add(request.NewErrParamRequired("PayloadData"))
10100	}
10101	if s.TransmitMode == nil {
10102		invalidParams.Add(request.NewErrParamRequired("TransmitMode"))
10103	}
10104	if s.WirelessMetadata != nil {
10105		if err := s.WirelessMetadata.Validate(); err != nil {
10106			invalidParams.AddNested("WirelessMetadata", err.(request.ErrInvalidParams))
10107		}
10108	}
10109
10110	if invalidParams.Len() > 0 {
10111		return invalidParams
10112	}
10113	return nil
10114}
10115
10116// SetId sets the Id field's value.
10117func (s *SendDataToWirelessDeviceInput) SetId(v string) *SendDataToWirelessDeviceInput {
10118	s.Id = &v
10119	return s
10120}
10121
10122// SetPayloadData sets the PayloadData field's value.
10123func (s *SendDataToWirelessDeviceInput) SetPayloadData(v string) *SendDataToWirelessDeviceInput {
10124	s.PayloadData = &v
10125	return s
10126}
10127
10128// SetTransmitMode sets the TransmitMode field's value.
10129func (s *SendDataToWirelessDeviceInput) SetTransmitMode(v int64) *SendDataToWirelessDeviceInput {
10130	s.TransmitMode = &v
10131	return s
10132}
10133
10134// SetWirelessMetadata sets the WirelessMetadata field's value.
10135func (s *SendDataToWirelessDeviceInput) SetWirelessMetadata(v *WirelessMetadata) *SendDataToWirelessDeviceInput {
10136	s.WirelessMetadata = v
10137	return s
10138}
10139
10140type SendDataToWirelessDeviceOutput struct {
10141	_ struct{} `type:"structure"`
10142
10143	// The ID of the message sent to the wireless device.
10144	MessageId *string `type:"string"`
10145}
10146
10147// String returns the string representation
10148func (s SendDataToWirelessDeviceOutput) String() string {
10149	return awsutil.Prettify(s)
10150}
10151
10152// GoString returns the string representation
10153func (s SendDataToWirelessDeviceOutput) GoString() string {
10154	return s.String()
10155}
10156
10157// SetMessageId sets the MessageId field's value.
10158func (s *SendDataToWirelessDeviceOutput) SetMessageId(v string) *SendDataToWirelessDeviceOutput {
10159	s.MessageId = &v
10160	return s
10161}
10162
10163// Information about a service profile.
10164type ServiceProfile struct {
10165	_ struct{} `type:"structure"`
10166
10167	// The Amazon Resource Name of the resource.
10168	Arn *string `type:"string"`
10169
10170	// The ID of the service profile.
10171	Id *string `type:"string"`
10172
10173	// The name of the resource.
10174	Name *string `type:"string"`
10175}
10176
10177// String returns the string representation
10178func (s ServiceProfile) String() string {
10179	return awsutil.Prettify(s)
10180}
10181
10182// GoString returns the string representation
10183func (s ServiceProfile) GoString() string {
10184	return s.String()
10185}
10186
10187// SetArn sets the Arn field's value.
10188func (s *ServiceProfile) SetArn(v string) *ServiceProfile {
10189	s.Arn = &v
10190	return s
10191}
10192
10193// SetId sets the Id field's value.
10194func (s *ServiceProfile) SetId(v string) *ServiceProfile {
10195	s.Id = &v
10196	return s
10197}
10198
10199// SetName sets the Name field's value.
10200func (s *ServiceProfile) SetName(v string) *ServiceProfile {
10201	s.Name = &v
10202	return s
10203}
10204
10205// Session keys for ABP v1.1
10206type SessionKeysAbpV10X struct {
10207	_ struct{} `type:"structure"`
10208
10209	// The AppSKey value.
10210	AppSKey *string `type:"string"`
10211
10212	// The NwkSKey value.
10213	NwkSKey *string `type:"string"`
10214}
10215
10216// String returns the string representation
10217func (s SessionKeysAbpV10X) String() string {
10218	return awsutil.Prettify(s)
10219}
10220
10221// GoString returns the string representation
10222func (s SessionKeysAbpV10X) GoString() string {
10223	return s.String()
10224}
10225
10226// SetAppSKey sets the AppSKey field's value.
10227func (s *SessionKeysAbpV10X) SetAppSKey(v string) *SessionKeysAbpV10X {
10228	s.AppSKey = &v
10229	return s
10230}
10231
10232// SetNwkSKey sets the NwkSKey field's value.
10233func (s *SessionKeysAbpV10X) SetNwkSKey(v string) *SessionKeysAbpV10X {
10234	s.NwkSKey = &v
10235	return s
10236}
10237
10238// Session keys for ABP v1.1
10239type SessionKeysAbpV11 struct {
10240	_ struct{} `type:"structure"`
10241
10242	// The AppSKey value.
10243	AppSKey *string `type:"string"`
10244
10245	// The FNwkSIntKey value.
10246	FNwkSIntKey *string `type:"string"`
10247
10248	// The NwkSEncKey value.
10249	NwkSEncKey *string `type:"string"`
10250
10251	// The SNwkSIntKey value.
10252	SNwkSIntKey *string `type:"string"`
10253}
10254
10255// String returns the string representation
10256func (s SessionKeysAbpV11) String() string {
10257	return awsutil.Prettify(s)
10258}
10259
10260// GoString returns the string representation
10261func (s SessionKeysAbpV11) GoString() string {
10262	return s.String()
10263}
10264
10265// SetAppSKey sets the AppSKey field's value.
10266func (s *SessionKeysAbpV11) SetAppSKey(v string) *SessionKeysAbpV11 {
10267	s.AppSKey = &v
10268	return s
10269}
10270
10271// SetFNwkSIntKey sets the FNwkSIntKey field's value.
10272func (s *SessionKeysAbpV11) SetFNwkSIntKey(v string) *SessionKeysAbpV11 {
10273	s.FNwkSIntKey = &v
10274	return s
10275}
10276
10277// SetNwkSEncKey sets the NwkSEncKey field's value.
10278func (s *SessionKeysAbpV11) SetNwkSEncKey(v string) *SessionKeysAbpV11 {
10279	s.NwkSEncKey = &v
10280	return s
10281}
10282
10283// SetSNwkSIntKey sets the SNwkSIntKey field's value.
10284func (s *SessionKeysAbpV11) SetSNwkSIntKey(v string) *SessionKeysAbpV11 {
10285	s.SNwkSIntKey = &v
10286	return s
10287}
10288
10289// Information about a Sidewalk account.
10290type SidewalkAccountInfo struct {
10291	_ struct{} `type:"structure"`
10292
10293	// The Sidewalk Amazon ID.
10294	AmazonId *string `type:"string"`
10295
10296	// The Sidewalk application server private key.
10297	AppServerPrivateKey *string `min:"1" type:"string" sensitive:"true"`
10298}
10299
10300// String returns the string representation
10301func (s SidewalkAccountInfo) String() string {
10302	return awsutil.Prettify(s)
10303}
10304
10305// GoString returns the string representation
10306func (s SidewalkAccountInfo) GoString() string {
10307	return s.String()
10308}
10309
10310// Validate inspects the fields of the type to determine if they are valid.
10311func (s *SidewalkAccountInfo) Validate() error {
10312	invalidParams := request.ErrInvalidParams{Context: "SidewalkAccountInfo"}
10313	if s.AppServerPrivateKey != nil && len(*s.AppServerPrivateKey) < 1 {
10314		invalidParams.Add(request.NewErrParamMinLen("AppServerPrivateKey", 1))
10315	}
10316
10317	if invalidParams.Len() > 0 {
10318		return invalidParams
10319	}
10320	return nil
10321}
10322
10323// SetAmazonId sets the AmazonId field's value.
10324func (s *SidewalkAccountInfo) SetAmazonId(v string) *SidewalkAccountInfo {
10325	s.AmazonId = &v
10326	return s
10327}
10328
10329// SetAppServerPrivateKey sets the AppServerPrivateKey field's value.
10330func (s *SidewalkAccountInfo) SetAppServerPrivateKey(v string) *SidewalkAccountInfo {
10331	s.AppServerPrivateKey = &v
10332	return s
10333}
10334
10335// Information about a Sidewalk account.
10336type SidewalkAccountInfoWithFingerprint struct {
10337	_ struct{} `type:"structure"`
10338
10339	// The Sidewalk Amazon ID.
10340	AmazonId *string `type:"string"`
10341
10342	// The Amazon Resource Name of the resource.
10343	Arn *string `type:"string"`
10344
10345	// The fingerprint of the Sidewalk application server private key.
10346	Fingerprint *string `min:"64" type:"string" sensitive:"true"`
10347}
10348
10349// String returns the string representation
10350func (s SidewalkAccountInfoWithFingerprint) String() string {
10351	return awsutil.Prettify(s)
10352}
10353
10354// GoString returns the string representation
10355func (s SidewalkAccountInfoWithFingerprint) GoString() string {
10356	return s.String()
10357}
10358
10359// SetAmazonId sets the AmazonId field's value.
10360func (s *SidewalkAccountInfoWithFingerprint) SetAmazonId(v string) *SidewalkAccountInfoWithFingerprint {
10361	s.AmazonId = &v
10362	return s
10363}
10364
10365// SetArn sets the Arn field's value.
10366func (s *SidewalkAccountInfoWithFingerprint) SetArn(v string) *SidewalkAccountInfoWithFingerprint {
10367	s.Arn = &v
10368	return s
10369}
10370
10371// SetFingerprint sets the Fingerprint field's value.
10372func (s *SidewalkAccountInfoWithFingerprint) SetFingerprint(v string) *SidewalkAccountInfoWithFingerprint {
10373	s.Fingerprint = &v
10374	return s
10375}
10376
10377// Sidewalk device object.
10378type SidewalkDevice struct {
10379	_ struct{} `type:"structure"`
10380
10381	// The sidewalk device certificates for Ed25519 and P256r1.
10382	DeviceCertificates []*CertificateList `type:"list"`
10383
10384	// The sidewalk device identification.
10385	SidewalkId *string `type:"string"`
10386
10387	// The Sidewalk manufacturing series number.
10388	SidewalkManufacturingSn *string `type:"string"`
10389}
10390
10391// String returns the string representation
10392func (s SidewalkDevice) String() string {
10393	return awsutil.Prettify(s)
10394}
10395
10396// GoString returns the string representation
10397func (s SidewalkDevice) GoString() string {
10398	return s.String()
10399}
10400
10401// SetDeviceCertificates sets the DeviceCertificates field's value.
10402func (s *SidewalkDevice) SetDeviceCertificates(v []*CertificateList) *SidewalkDevice {
10403	s.DeviceCertificates = v
10404	return s
10405}
10406
10407// SetSidewalkId sets the SidewalkId field's value.
10408func (s *SidewalkDevice) SetSidewalkId(v string) *SidewalkDevice {
10409	s.SidewalkId = &v
10410	return s
10411}
10412
10413// SetSidewalkManufacturingSn sets the SidewalkManufacturingSn field's value.
10414func (s *SidewalkDevice) SetSidewalkManufacturingSn(v string) *SidewalkDevice {
10415	s.SidewalkManufacturingSn = &v
10416	return s
10417}
10418
10419// MetaData for Sidewalk device.
10420type SidewalkDeviceMetadata struct {
10421	_ struct{} `type:"structure"`
10422
10423	// Sidewalk device battery level.
10424	BatteryLevel *string `type:"string" enum:"BatteryLevel"`
10425
10426	// Device state defines the device status of sidewalk device.
10427	DeviceState *string `type:"string" enum:"DeviceState"`
10428
10429	// Sidewalk device status notification.
10430	Event *string `type:"string" enum:"Event"`
10431
10432	// The RSSI value.
10433	Rssi *int64 `type:"integer"`
10434}
10435
10436// String returns the string representation
10437func (s SidewalkDeviceMetadata) String() string {
10438	return awsutil.Prettify(s)
10439}
10440
10441// GoString returns the string representation
10442func (s SidewalkDeviceMetadata) GoString() string {
10443	return s.String()
10444}
10445
10446// SetBatteryLevel sets the BatteryLevel field's value.
10447func (s *SidewalkDeviceMetadata) SetBatteryLevel(v string) *SidewalkDeviceMetadata {
10448	s.BatteryLevel = &v
10449	return s
10450}
10451
10452// SetDeviceState sets the DeviceState field's value.
10453func (s *SidewalkDeviceMetadata) SetDeviceState(v string) *SidewalkDeviceMetadata {
10454	s.DeviceState = &v
10455	return s
10456}
10457
10458// SetEvent sets the Event field's value.
10459func (s *SidewalkDeviceMetadata) SetEvent(v string) *SidewalkDeviceMetadata {
10460	s.Event = &v
10461	return s
10462}
10463
10464// SetRssi sets the Rssi field's value.
10465func (s *SidewalkDeviceMetadata) SetRssi(v int64) *SidewalkDeviceMetadata {
10466	s.Rssi = &v
10467	return s
10468}
10469
10470// Sidewalk object used by list functions.
10471type SidewalkListDevice struct {
10472	_ struct{} `type:"structure"`
10473
10474	// The Sidewalk Amazon ID.
10475	AmazonId *string `type:"string"`
10476
10477	// The sidewalk device certificates for Ed25519 and P256r1.
10478	DeviceCertificates []*CertificateList `type:"list"`
10479
10480	// The sidewalk device identification.
10481	SidewalkId *string `type:"string"`
10482
10483	// The Sidewalk manufacturing series number.
10484	SidewalkManufacturingSn *string `type:"string"`
10485}
10486
10487// String returns the string representation
10488func (s SidewalkListDevice) String() string {
10489	return awsutil.Prettify(s)
10490}
10491
10492// GoString returns the string representation
10493func (s SidewalkListDevice) GoString() string {
10494	return s.String()
10495}
10496
10497// SetAmazonId sets the AmazonId field's value.
10498func (s *SidewalkListDevice) SetAmazonId(v string) *SidewalkListDevice {
10499	s.AmazonId = &v
10500	return s
10501}
10502
10503// SetDeviceCertificates sets the DeviceCertificates field's value.
10504func (s *SidewalkListDevice) SetDeviceCertificates(v []*CertificateList) *SidewalkListDevice {
10505	s.DeviceCertificates = v
10506	return s
10507}
10508
10509// SetSidewalkId sets the SidewalkId field's value.
10510func (s *SidewalkListDevice) SetSidewalkId(v string) *SidewalkListDevice {
10511	s.SidewalkId = &v
10512	return s
10513}
10514
10515// SetSidewalkManufacturingSn sets the SidewalkManufacturingSn field's value.
10516func (s *SidewalkListDevice) SetSidewalkManufacturingSn(v string) *SidewalkListDevice {
10517	s.SidewalkManufacturingSn = &v
10518	return s
10519}
10520
10521// Information about a Sidewalk router.
10522type SidewalkSendDataToDevice struct {
10523	_ struct{} `type:"structure"`
10524
10525	// Sidewalk device message type.
10526	MessageType *string `type:"string" enum:"MessageType"`
10527
10528	// The sequence number.
10529	Seq *int64 `type:"integer"`
10530}
10531
10532// String returns the string representation
10533func (s SidewalkSendDataToDevice) String() string {
10534	return awsutil.Prettify(s)
10535}
10536
10537// GoString returns the string representation
10538func (s SidewalkSendDataToDevice) GoString() string {
10539	return s.String()
10540}
10541
10542// SetMessageType sets the MessageType field's value.
10543func (s *SidewalkSendDataToDevice) SetMessageType(v string) *SidewalkSendDataToDevice {
10544	s.MessageType = &v
10545	return s
10546}
10547
10548// SetSeq sets the Seq field's value.
10549func (s *SidewalkSendDataToDevice) SetSeq(v int64) *SidewalkSendDataToDevice {
10550	s.Seq = &v
10551	return s
10552}
10553
10554// Sidewalk update.
10555type SidewalkUpdateAccount struct {
10556	_ struct{} `type:"structure"`
10557
10558	// The new Sidewalk application server private key.
10559	AppServerPrivateKey *string `min:"1" type:"string" sensitive:"true"`
10560}
10561
10562// String returns the string representation
10563func (s SidewalkUpdateAccount) String() string {
10564	return awsutil.Prettify(s)
10565}
10566
10567// GoString returns the string representation
10568func (s SidewalkUpdateAccount) GoString() string {
10569	return s.String()
10570}
10571
10572// Validate inspects the fields of the type to determine if they are valid.
10573func (s *SidewalkUpdateAccount) Validate() error {
10574	invalidParams := request.ErrInvalidParams{Context: "SidewalkUpdateAccount"}
10575	if s.AppServerPrivateKey != nil && len(*s.AppServerPrivateKey) < 1 {
10576		invalidParams.Add(request.NewErrParamMinLen("AppServerPrivateKey", 1))
10577	}
10578
10579	if invalidParams.Len() > 0 {
10580		return invalidParams
10581	}
10582	return nil
10583}
10584
10585// SetAppServerPrivateKey sets the AppServerPrivateKey field's value.
10586func (s *SidewalkUpdateAccount) SetAppServerPrivateKey(v string) *SidewalkUpdateAccount {
10587	s.AppServerPrivateKey = &v
10588	return s
10589}
10590
10591// A simple label consisting of a customer-defined key-value pair
10592type Tag struct {
10593	_ struct{} `type:"structure"`
10594
10595	// The tag's key value.
10596	//
10597	// Key is a required field
10598	Key *string `min:"1" type:"string" required:"true"`
10599
10600	// The tag's value.
10601	//
10602	// Value is a required field
10603	Value *string `type:"string" required:"true"`
10604}
10605
10606// String returns the string representation
10607func (s Tag) String() string {
10608	return awsutil.Prettify(s)
10609}
10610
10611// GoString returns the string representation
10612func (s Tag) GoString() string {
10613	return s.String()
10614}
10615
10616// Validate inspects the fields of the type to determine if they are valid.
10617func (s *Tag) Validate() error {
10618	invalidParams := request.ErrInvalidParams{Context: "Tag"}
10619	if s.Key == nil {
10620		invalidParams.Add(request.NewErrParamRequired("Key"))
10621	}
10622	if s.Key != nil && len(*s.Key) < 1 {
10623		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10624	}
10625	if s.Value == nil {
10626		invalidParams.Add(request.NewErrParamRequired("Value"))
10627	}
10628
10629	if invalidParams.Len() > 0 {
10630		return invalidParams
10631	}
10632	return nil
10633}
10634
10635// SetKey sets the Key field's value.
10636func (s *Tag) SetKey(v string) *Tag {
10637	s.Key = &v
10638	return s
10639}
10640
10641// SetValue sets the Value field's value.
10642func (s *Tag) SetValue(v string) *Tag {
10643	s.Value = &v
10644	return s
10645}
10646
10647type TagResourceInput struct {
10648	_ struct{} `type:"structure"`
10649
10650	// The ARN of the resource to add tags to.
10651	//
10652	// ResourceArn is a required field
10653	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
10654
10655	// Adds to or modifies the tags of the given resource. Tags are metadata that
10656	// you can use to manage a resource.
10657	//
10658	// Tags is a required field
10659	Tags []*Tag `type:"list" required:"true"`
10660}
10661
10662// String returns the string representation
10663func (s TagResourceInput) String() string {
10664	return awsutil.Prettify(s)
10665}
10666
10667// GoString returns the string representation
10668func (s TagResourceInput) GoString() string {
10669	return s.String()
10670}
10671
10672// Validate inspects the fields of the type to determine if they are valid.
10673func (s *TagResourceInput) Validate() error {
10674	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
10675	if s.ResourceArn == nil {
10676		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10677	}
10678	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
10679		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
10680	}
10681	if s.Tags == nil {
10682		invalidParams.Add(request.NewErrParamRequired("Tags"))
10683	}
10684	if s.Tags != nil {
10685		for i, v := range s.Tags {
10686			if v == nil {
10687				continue
10688			}
10689			if err := v.Validate(); err != nil {
10690				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
10691			}
10692		}
10693	}
10694
10695	if invalidParams.Len() > 0 {
10696		return invalidParams
10697	}
10698	return nil
10699}
10700
10701// SetResourceArn sets the ResourceArn field's value.
10702func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
10703	s.ResourceArn = &v
10704	return s
10705}
10706
10707// SetTags sets the Tags field's value.
10708func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
10709	s.Tags = v
10710	return s
10711}
10712
10713type TagResourceOutput struct {
10714	_ struct{} `type:"structure"`
10715}
10716
10717// String returns the string representation
10718func (s TagResourceOutput) String() string {
10719	return awsutil.Prettify(s)
10720}
10721
10722// GoString returns the string representation
10723func (s TagResourceOutput) GoString() string {
10724	return s.String()
10725}
10726
10727type TestWirelessDeviceInput struct {
10728	_ struct{} `type:"structure"`
10729
10730	// The ID of the wireless device to test.
10731	//
10732	// Id is a required field
10733	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
10734}
10735
10736// String returns the string representation
10737func (s TestWirelessDeviceInput) String() string {
10738	return awsutil.Prettify(s)
10739}
10740
10741// GoString returns the string representation
10742func (s TestWirelessDeviceInput) GoString() string {
10743	return s.String()
10744}
10745
10746// Validate inspects the fields of the type to determine if they are valid.
10747func (s *TestWirelessDeviceInput) Validate() error {
10748	invalidParams := request.ErrInvalidParams{Context: "TestWirelessDeviceInput"}
10749	if s.Id == nil {
10750		invalidParams.Add(request.NewErrParamRequired("Id"))
10751	}
10752	if s.Id != nil && len(*s.Id) < 1 {
10753		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
10754	}
10755
10756	if invalidParams.Len() > 0 {
10757		return invalidParams
10758	}
10759	return nil
10760}
10761
10762// SetId sets the Id field's value.
10763func (s *TestWirelessDeviceInput) SetId(v string) *TestWirelessDeviceInput {
10764	s.Id = &v
10765	return s
10766}
10767
10768type TestWirelessDeviceOutput struct {
10769	_ struct{} `type:"structure"`
10770
10771	// The result returned by the test.
10772	Result *string `type:"string"`
10773}
10774
10775// String returns the string representation
10776func (s TestWirelessDeviceOutput) String() string {
10777	return awsutil.Prettify(s)
10778}
10779
10780// GoString returns the string representation
10781func (s TestWirelessDeviceOutput) GoString() string {
10782	return s.String()
10783}
10784
10785// SetResult sets the Result field's value.
10786func (s *TestWirelessDeviceOutput) SetResult(v string) *TestWirelessDeviceOutput {
10787	s.Result = &v
10788	return s
10789}
10790
10791// The request was denied because it exceeded the allowed API request rate.
10792type ThrottlingException struct {
10793	_            struct{}                  `type:"structure"`
10794	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10795
10796	Message_ *string `locationName:"Message" type:"string"`
10797}
10798
10799// String returns the string representation
10800func (s ThrottlingException) String() string {
10801	return awsutil.Prettify(s)
10802}
10803
10804// GoString returns the string representation
10805func (s ThrottlingException) GoString() string {
10806	return s.String()
10807}
10808
10809func newErrorThrottlingException(v protocol.ResponseMetadata) error {
10810	return &ThrottlingException{
10811		RespMetadata: v,
10812	}
10813}
10814
10815// Code returns the exception type name.
10816func (s *ThrottlingException) Code() string {
10817	return "ThrottlingException"
10818}
10819
10820// Message returns the exception's message.
10821func (s *ThrottlingException) Message() string {
10822	if s.Message_ != nil {
10823		return *s.Message_
10824	}
10825	return ""
10826}
10827
10828// OrigErr always returns nil, satisfies awserr.Error interface.
10829func (s *ThrottlingException) OrigErr() error {
10830	return nil
10831}
10832
10833func (s *ThrottlingException) Error() string {
10834	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10835}
10836
10837// Status code returns the HTTP status code for the request's response error.
10838func (s *ThrottlingException) StatusCode() int {
10839	return s.RespMetadata.StatusCode
10840}
10841
10842// RequestID returns the service's response RequestID for request.
10843func (s *ThrottlingException) RequestID() string {
10844	return s.RespMetadata.RequestID
10845}
10846
10847// The request was denied because the resource can't have any more tags.
10848type TooManyTagsException struct {
10849	_            struct{}                  `type:"structure"`
10850	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10851
10852	Message_ *string `locationName:"Message" type:"string"`
10853
10854	ResourceName *string `min:"1" type:"string"`
10855}
10856
10857// String returns the string representation
10858func (s TooManyTagsException) String() string {
10859	return awsutil.Prettify(s)
10860}
10861
10862// GoString returns the string representation
10863func (s TooManyTagsException) GoString() string {
10864	return s.String()
10865}
10866
10867func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
10868	return &TooManyTagsException{
10869		RespMetadata: v,
10870	}
10871}
10872
10873// Code returns the exception type name.
10874func (s *TooManyTagsException) Code() string {
10875	return "TooManyTagsException"
10876}
10877
10878// Message returns the exception's message.
10879func (s *TooManyTagsException) Message() string {
10880	if s.Message_ != nil {
10881		return *s.Message_
10882	}
10883	return ""
10884}
10885
10886// OrigErr always returns nil, satisfies awserr.Error interface.
10887func (s *TooManyTagsException) OrigErr() error {
10888	return nil
10889}
10890
10891func (s *TooManyTagsException) Error() string {
10892	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10893}
10894
10895// Status code returns the HTTP status code for the request's response error.
10896func (s *TooManyTagsException) StatusCode() int {
10897	return s.RespMetadata.StatusCode
10898}
10899
10900// RequestID returns the service's response RequestID for request.
10901func (s *TooManyTagsException) RequestID() string {
10902	return s.RespMetadata.RequestID
10903}
10904
10905type UntagResourceInput struct {
10906	_ struct{} `type:"structure"`
10907
10908	// The ARN of the resource to remove tags from.
10909	//
10910	// ResourceArn is a required field
10911	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
10912
10913	// A list of the keys of the tags to remove from the resource.
10914	//
10915	// TagKeys is a required field
10916	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
10917}
10918
10919// String returns the string representation
10920func (s UntagResourceInput) String() string {
10921	return awsutil.Prettify(s)
10922}
10923
10924// GoString returns the string representation
10925func (s UntagResourceInput) GoString() string {
10926	return s.String()
10927}
10928
10929// Validate inspects the fields of the type to determine if they are valid.
10930func (s *UntagResourceInput) Validate() error {
10931	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
10932	if s.ResourceArn == nil {
10933		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10934	}
10935	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
10936		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
10937	}
10938	if s.TagKeys == nil {
10939		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
10940	}
10941
10942	if invalidParams.Len() > 0 {
10943		return invalidParams
10944	}
10945	return nil
10946}
10947
10948// SetResourceArn sets the ResourceArn field's value.
10949func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
10950	s.ResourceArn = &v
10951	return s
10952}
10953
10954// SetTagKeys sets the TagKeys field's value.
10955func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
10956	s.TagKeys = v
10957	return s
10958}
10959
10960type UntagResourceOutput struct {
10961	_ struct{} `type:"structure"`
10962}
10963
10964// String returns the string representation
10965func (s UntagResourceOutput) String() string {
10966	return awsutil.Prettify(s)
10967}
10968
10969// GoString returns the string representation
10970func (s UntagResourceOutput) GoString() string {
10971	return s.String()
10972}
10973
10974type UpdateDestinationInput struct {
10975	_ struct{} `type:"structure"`
10976
10977	// A new description of the resource.
10978	Description *string `type:"string"`
10979
10980	// The new rule name or topic rule to send messages to.
10981	Expression *string `type:"string"`
10982
10983	// The type of value in Expression.
10984	ExpressionType *string `type:"string" enum:"ExpressionType"`
10985
10986	// The new name of the resource.
10987	//
10988	// Name is a required field
10989	Name *string `location:"uri" locationName:"Name" type:"string" required:"true"`
10990
10991	// The ARN of the IAM Role that authorizes the destination.
10992	RoleArn *string `min:"20" type:"string"`
10993}
10994
10995// String returns the string representation
10996func (s UpdateDestinationInput) String() string {
10997	return awsutil.Prettify(s)
10998}
10999
11000// GoString returns the string representation
11001func (s UpdateDestinationInput) GoString() string {
11002	return s.String()
11003}
11004
11005// Validate inspects the fields of the type to determine if they are valid.
11006func (s *UpdateDestinationInput) Validate() error {
11007	invalidParams := request.ErrInvalidParams{Context: "UpdateDestinationInput"}
11008	if s.Name == nil {
11009		invalidParams.Add(request.NewErrParamRequired("Name"))
11010	}
11011	if s.Name != nil && len(*s.Name) < 1 {
11012		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11013	}
11014	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
11015		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
11016	}
11017
11018	if invalidParams.Len() > 0 {
11019		return invalidParams
11020	}
11021	return nil
11022}
11023
11024// SetDescription sets the Description field's value.
11025func (s *UpdateDestinationInput) SetDescription(v string) *UpdateDestinationInput {
11026	s.Description = &v
11027	return s
11028}
11029
11030// SetExpression sets the Expression field's value.
11031func (s *UpdateDestinationInput) SetExpression(v string) *UpdateDestinationInput {
11032	s.Expression = &v
11033	return s
11034}
11035
11036// SetExpressionType sets the ExpressionType field's value.
11037func (s *UpdateDestinationInput) SetExpressionType(v string) *UpdateDestinationInput {
11038	s.ExpressionType = &v
11039	return s
11040}
11041
11042// SetName sets the Name field's value.
11043func (s *UpdateDestinationInput) SetName(v string) *UpdateDestinationInput {
11044	s.Name = &v
11045	return s
11046}
11047
11048// SetRoleArn sets the RoleArn field's value.
11049func (s *UpdateDestinationInput) SetRoleArn(v string) *UpdateDestinationInput {
11050	s.RoleArn = &v
11051	return s
11052}
11053
11054type UpdateDestinationOutput struct {
11055	_ struct{} `type:"structure"`
11056}
11057
11058// String returns the string representation
11059func (s UpdateDestinationOutput) String() string {
11060	return awsutil.Prettify(s)
11061}
11062
11063// GoString returns the string representation
11064func (s UpdateDestinationOutput) GoString() string {
11065	return s.String()
11066}
11067
11068type UpdatePartnerAccountInput struct {
11069	_ struct{} `type:"structure"`
11070
11071	// The ID of the partner account to update.
11072	//
11073	// PartnerAccountId is a required field
11074	PartnerAccountId *string `location:"uri" locationName:"PartnerAccountId" type:"string" required:"true"`
11075
11076	// The partner type.
11077	//
11078	// PartnerType is a required field
11079	PartnerType *string `location:"querystring" locationName:"partnerType" type:"string" required:"true" enum:"PartnerType"`
11080
11081	// The Sidewalk account credentials.
11082	//
11083	// Sidewalk is a required field
11084	Sidewalk *SidewalkUpdateAccount `type:"structure" required:"true"`
11085}
11086
11087// String returns the string representation
11088func (s UpdatePartnerAccountInput) String() string {
11089	return awsutil.Prettify(s)
11090}
11091
11092// GoString returns the string representation
11093func (s UpdatePartnerAccountInput) GoString() string {
11094	return s.String()
11095}
11096
11097// Validate inspects the fields of the type to determine if they are valid.
11098func (s *UpdatePartnerAccountInput) Validate() error {
11099	invalidParams := request.ErrInvalidParams{Context: "UpdatePartnerAccountInput"}
11100	if s.PartnerAccountId == nil {
11101		invalidParams.Add(request.NewErrParamRequired("PartnerAccountId"))
11102	}
11103	if s.PartnerAccountId != nil && len(*s.PartnerAccountId) < 1 {
11104		invalidParams.Add(request.NewErrParamMinLen("PartnerAccountId", 1))
11105	}
11106	if s.PartnerType == nil {
11107		invalidParams.Add(request.NewErrParamRequired("PartnerType"))
11108	}
11109	if s.Sidewalk == nil {
11110		invalidParams.Add(request.NewErrParamRequired("Sidewalk"))
11111	}
11112	if s.Sidewalk != nil {
11113		if err := s.Sidewalk.Validate(); err != nil {
11114			invalidParams.AddNested("Sidewalk", err.(request.ErrInvalidParams))
11115		}
11116	}
11117
11118	if invalidParams.Len() > 0 {
11119		return invalidParams
11120	}
11121	return nil
11122}
11123
11124// SetPartnerAccountId sets the PartnerAccountId field's value.
11125func (s *UpdatePartnerAccountInput) SetPartnerAccountId(v string) *UpdatePartnerAccountInput {
11126	s.PartnerAccountId = &v
11127	return s
11128}
11129
11130// SetPartnerType sets the PartnerType field's value.
11131func (s *UpdatePartnerAccountInput) SetPartnerType(v string) *UpdatePartnerAccountInput {
11132	s.PartnerType = &v
11133	return s
11134}
11135
11136// SetSidewalk sets the Sidewalk field's value.
11137func (s *UpdatePartnerAccountInput) SetSidewalk(v *SidewalkUpdateAccount) *UpdatePartnerAccountInput {
11138	s.Sidewalk = v
11139	return s
11140}
11141
11142type UpdatePartnerAccountOutput struct {
11143	_ struct{} `type:"structure"`
11144}
11145
11146// String returns the string representation
11147func (s UpdatePartnerAccountOutput) String() string {
11148	return awsutil.Prettify(s)
11149}
11150
11151// GoString returns the string representation
11152func (s UpdatePartnerAccountOutput) GoString() string {
11153	return s.String()
11154}
11155
11156type UpdateWirelessDeviceInput struct {
11157	_ struct{} `type:"structure"`
11158
11159	// A new description of the resource.
11160	Description *string `type:"string"`
11161
11162	// The name of the new destination for the device.
11163	DestinationName *string `type:"string"`
11164
11165	// The ID of the resource to update.
11166	//
11167	// Id is a required field
11168	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
11169
11170	// The updated wireless device's configuration.
11171	LoRaWAN *LoRaWANUpdateDevice `type:"structure"`
11172
11173	// The new name of the resource.
11174	Name *string `type:"string"`
11175}
11176
11177// String returns the string representation
11178func (s UpdateWirelessDeviceInput) String() string {
11179	return awsutil.Prettify(s)
11180}
11181
11182// GoString returns the string representation
11183func (s UpdateWirelessDeviceInput) GoString() string {
11184	return s.String()
11185}
11186
11187// Validate inspects the fields of the type to determine if they are valid.
11188func (s *UpdateWirelessDeviceInput) Validate() error {
11189	invalidParams := request.ErrInvalidParams{Context: "UpdateWirelessDeviceInput"}
11190	if s.Id == nil {
11191		invalidParams.Add(request.NewErrParamRequired("Id"))
11192	}
11193	if s.Id != nil && len(*s.Id) < 1 {
11194		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11195	}
11196
11197	if invalidParams.Len() > 0 {
11198		return invalidParams
11199	}
11200	return nil
11201}
11202
11203// SetDescription sets the Description field's value.
11204func (s *UpdateWirelessDeviceInput) SetDescription(v string) *UpdateWirelessDeviceInput {
11205	s.Description = &v
11206	return s
11207}
11208
11209// SetDestinationName sets the DestinationName field's value.
11210func (s *UpdateWirelessDeviceInput) SetDestinationName(v string) *UpdateWirelessDeviceInput {
11211	s.DestinationName = &v
11212	return s
11213}
11214
11215// SetId sets the Id field's value.
11216func (s *UpdateWirelessDeviceInput) SetId(v string) *UpdateWirelessDeviceInput {
11217	s.Id = &v
11218	return s
11219}
11220
11221// SetLoRaWAN sets the LoRaWAN field's value.
11222func (s *UpdateWirelessDeviceInput) SetLoRaWAN(v *LoRaWANUpdateDevice) *UpdateWirelessDeviceInput {
11223	s.LoRaWAN = v
11224	return s
11225}
11226
11227// SetName sets the Name field's value.
11228func (s *UpdateWirelessDeviceInput) SetName(v string) *UpdateWirelessDeviceInput {
11229	s.Name = &v
11230	return s
11231}
11232
11233type UpdateWirelessDeviceOutput struct {
11234	_ struct{} `type:"structure"`
11235}
11236
11237// String returns the string representation
11238func (s UpdateWirelessDeviceOutput) String() string {
11239	return awsutil.Prettify(s)
11240}
11241
11242// GoString returns the string representation
11243func (s UpdateWirelessDeviceOutput) GoString() string {
11244	return s.String()
11245}
11246
11247type UpdateWirelessGatewayInput struct {
11248	_ struct{} `type:"structure"`
11249
11250	// A new description of the resource.
11251	Description *string `type:"string"`
11252
11253	// The ID of the resource to update.
11254	//
11255	// Id is a required field
11256	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
11257
11258	// The new name of the resource.
11259	Name *string `type:"string"`
11260}
11261
11262// String returns the string representation
11263func (s UpdateWirelessGatewayInput) String() string {
11264	return awsutil.Prettify(s)
11265}
11266
11267// GoString returns the string representation
11268func (s UpdateWirelessGatewayInput) GoString() string {
11269	return s.String()
11270}
11271
11272// Validate inspects the fields of the type to determine if they are valid.
11273func (s *UpdateWirelessGatewayInput) Validate() error {
11274	invalidParams := request.ErrInvalidParams{Context: "UpdateWirelessGatewayInput"}
11275	if s.Id == nil {
11276		invalidParams.Add(request.NewErrParamRequired("Id"))
11277	}
11278	if s.Id != nil && len(*s.Id) < 1 {
11279		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11280	}
11281
11282	if invalidParams.Len() > 0 {
11283		return invalidParams
11284	}
11285	return nil
11286}
11287
11288// SetDescription sets the Description field's value.
11289func (s *UpdateWirelessGatewayInput) SetDescription(v string) *UpdateWirelessGatewayInput {
11290	s.Description = &v
11291	return s
11292}
11293
11294// SetId sets the Id field's value.
11295func (s *UpdateWirelessGatewayInput) SetId(v string) *UpdateWirelessGatewayInput {
11296	s.Id = &v
11297	return s
11298}
11299
11300// SetName sets the Name field's value.
11301func (s *UpdateWirelessGatewayInput) SetName(v string) *UpdateWirelessGatewayInput {
11302	s.Name = &v
11303	return s
11304}
11305
11306type UpdateWirelessGatewayOutput struct {
11307	_ struct{} `type:"structure"`
11308}
11309
11310// String returns the string representation
11311func (s UpdateWirelessGatewayOutput) String() string {
11312	return awsutil.Prettify(s)
11313}
11314
11315// GoString returns the string representation
11316func (s UpdateWirelessGatewayOutput) GoString() string {
11317	return s.String()
11318}
11319
11320// UpdateWirelessGatewayTaskCreate object.
11321type UpdateWirelessGatewayTaskCreate struct {
11322	_ struct{} `type:"structure"`
11323
11324	// The properties that relate to the LoRaWAN wireless gateway.
11325	LoRaWAN *LoRaWANUpdateGatewayTaskCreate `type:"structure"`
11326
11327	// The IAM role used to read data from the S3 bucket.
11328	UpdateDataRole *string `min:"1" type:"string"`
11329
11330	// The link to the S3 bucket.
11331	UpdateDataSource *string `min:"1" type:"string"`
11332}
11333
11334// String returns the string representation
11335func (s UpdateWirelessGatewayTaskCreate) String() string {
11336	return awsutil.Prettify(s)
11337}
11338
11339// GoString returns the string representation
11340func (s UpdateWirelessGatewayTaskCreate) GoString() string {
11341	return s.String()
11342}
11343
11344// Validate inspects the fields of the type to determine if they are valid.
11345func (s *UpdateWirelessGatewayTaskCreate) Validate() error {
11346	invalidParams := request.ErrInvalidParams{Context: "UpdateWirelessGatewayTaskCreate"}
11347	if s.UpdateDataRole != nil && len(*s.UpdateDataRole) < 1 {
11348		invalidParams.Add(request.NewErrParamMinLen("UpdateDataRole", 1))
11349	}
11350	if s.UpdateDataSource != nil && len(*s.UpdateDataSource) < 1 {
11351		invalidParams.Add(request.NewErrParamMinLen("UpdateDataSource", 1))
11352	}
11353	if s.LoRaWAN != nil {
11354		if err := s.LoRaWAN.Validate(); err != nil {
11355			invalidParams.AddNested("LoRaWAN", err.(request.ErrInvalidParams))
11356		}
11357	}
11358
11359	if invalidParams.Len() > 0 {
11360		return invalidParams
11361	}
11362	return nil
11363}
11364
11365// SetLoRaWAN sets the LoRaWAN field's value.
11366func (s *UpdateWirelessGatewayTaskCreate) SetLoRaWAN(v *LoRaWANUpdateGatewayTaskCreate) *UpdateWirelessGatewayTaskCreate {
11367	s.LoRaWAN = v
11368	return s
11369}
11370
11371// SetUpdateDataRole sets the UpdateDataRole field's value.
11372func (s *UpdateWirelessGatewayTaskCreate) SetUpdateDataRole(v string) *UpdateWirelessGatewayTaskCreate {
11373	s.UpdateDataRole = &v
11374	return s
11375}
11376
11377// SetUpdateDataSource sets the UpdateDataSource field's value.
11378func (s *UpdateWirelessGatewayTaskCreate) SetUpdateDataSource(v string) *UpdateWirelessGatewayTaskCreate {
11379	s.UpdateDataSource = &v
11380	return s
11381}
11382
11383// UpdateWirelessGatewayTaskEntry object.
11384type UpdateWirelessGatewayTaskEntry struct {
11385	_ struct{} `type:"structure"`
11386
11387	// The Amazon Resource Name of the resource.
11388	Arn *string `type:"string"`
11389
11390	// The ID of the new wireless gateway task entry.
11391	Id *string `type:"string"`
11392
11393	// The properties that relate to the LoRaWAN wireless gateway.
11394	LoRaWAN *LoRaWANUpdateGatewayTaskEntry `type:"structure"`
11395}
11396
11397// String returns the string representation
11398func (s UpdateWirelessGatewayTaskEntry) String() string {
11399	return awsutil.Prettify(s)
11400}
11401
11402// GoString returns the string representation
11403func (s UpdateWirelessGatewayTaskEntry) GoString() string {
11404	return s.String()
11405}
11406
11407// SetArn sets the Arn field's value.
11408func (s *UpdateWirelessGatewayTaskEntry) SetArn(v string) *UpdateWirelessGatewayTaskEntry {
11409	s.Arn = &v
11410	return s
11411}
11412
11413// SetId sets the Id field's value.
11414func (s *UpdateWirelessGatewayTaskEntry) SetId(v string) *UpdateWirelessGatewayTaskEntry {
11415	s.Id = &v
11416	return s
11417}
11418
11419// SetLoRaWAN sets the LoRaWAN field's value.
11420func (s *UpdateWirelessGatewayTaskEntry) SetLoRaWAN(v *LoRaWANUpdateGatewayTaskEntry) *UpdateWirelessGatewayTaskEntry {
11421	s.LoRaWAN = v
11422	return s
11423}
11424
11425// The input did not meet the specified constraints.
11426type ValidationException struct {
11427	_            struct{}                  `type:"structure"`
11428	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11429
11430	Message_ *string `locationName:"Message" type:"string"`
11431}
11432
11433// String returns the string representation
11434func (s ValidationException) String() string {
11435	return awsutil.Prettify(s)
11436}
11437
11438// GoString returns the string representation
11439func (s ValidationException) GoString() string {
11440	return s.String()
11441}
11442
11443func newErrorValidationException(v protocol.ResponseMetadata) error {
11444	return &ValidationException{
11445		RespMetadata: v,
11446	}
11447}
11448
11449// Code returns the exception type name.
11450func (s *ValidationException) Code() string {
11451	return "ValidationException"
11452}
11453
11454// Message returns the exception's message.
11455func (s *ValidationException) Message() string {
11456	if s.Message_ != nil {
11457		return *s.Message_
11458	}
11459	return ""
11460}
11461
11462// OrigErr always returns nil, satisfies awserr.Error interface.
11463func (s *ValidationException) OrigErr() error {
11464	return nil
11465}
11466
11467func (s *ValidationException) Error() string {
11468	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11469}
11470
11471// Status code returns the HTTP status code for the request's response error.
11472func (s *ValidationException) StatusCode() int {
11473	return s.RespMetadata.StatusCode
11474}
11475
11476// RequestID returns the service's response RequestID for request.
11477func (s *ValidationException) RequestID() string {
11478	return s.RespMetadata.RequestID
11479}
11480
11481// Information about a wireless device's operation.
11482type WirelessDeviceStatistics struct {
11483	_ struct{} `type:"structure"`
11484
11485	// The Amazon Resource Name of the resource.
11486	Arn *string `type:"string"`
11487
11488	// The name of the destination to which the device is assigned.
11489	DestinationName *string `type:"string"`
11490
11491	// The ID of the wireless device reporting the data.
11492	Id *string `type:"string"`
11493
11494	// The date and time when the most recent uplink was received.
11495	LastUplinkReceivedAt *string `type:"string"`
11496
11497	// LoRaWAN device info.
11498	LoRaWAN *LoRaWANListDevice `type:"structure"`
11499
11500	// The name of the resource.
11501	Name *string `type:"string"`
11502
11503	// The Sidewalk account credentials.
11504	Sidewalk *SidewalkListDevice `type:"structure"`
11505
11506	// The wireless device type.
11507	Type *string `type:"string" enum:"WirelessDeviceType"`
11508}
11509
11510// String returns the string representation
11511func (s WirelessDeviceStatistics) String() string {
11512	return awsutil.Prettify(s)
11513}
11514
11515// GoString returns the string representation
11516func (s WirelessDeviceStatistics) GoString() string {
11517	return s.String()
11518}
11519
11520// SetArn sets the Arn field's value.
11521func (s *WirelessDeviceStatistics) SetArn(v string) *WirelessDeviceStatistics {
11522	s.Arn = &v
11523	return s
11524}
11525
11526// SetDestinationName sets the DestinationName field's value.
11527func (s *WirelessDeviceStatistics) SetDestinationName(v string) *WirelessDeviceStatistics {
11528	s.DestinationName = &v
11529	return s
11530}
11531
11532// SetId sets the Id field's value.
11533func (s *WirelessDeviceStatistics) SetId(v string) *WirelessDeviceStatistics {
11534	s.Id = &v
11535	return s
11536}
11537
11538// SetLastUplinkReceivedAt sets the LastUplinkReceivedAt field's value.
11539func (s *WirelessDeviceStatistics) SetLastUplinkReceivedAt(v string) *WirelessDeviceStatistics {
11540	s.LastUplinkReceivedAt = &v
11541	return s
11542}
11543
11544// SetLoRaWAN sets the LoRaWAN field's value.
11545func (s *WirelessDeviceStatistics) SetLoRaWAN(v *LoRaWANListDevice) *WirelessDeviceStatistics {
11546	s.LoRaWAN = v
11547	return s
11548}
11549
11550// SetName sets the Name field's value.
11551func (s *WirelessDeviceStatistics) SetName(v string) *WirelessDeviceStatistics {
11552	s.Name = &v
11553	return s
11554}
11555
11556// SetSidewalk sets the Sidewalk field's value.
11557func (s *WirelessDeviceStatistics) SetSidewalk(v *SidewalkListDevice) *WirelessDeviceStatistics {
11558	s.Sidewalk = v
11559	return s
11560}
11561
11562// SetType sets the Type field's value.
11563func (s *WirelessDeviceStatistics) SetType(v string) *WirelessDeviceStatistics {
11564	s.Type = &v
11565	return s
11566}
11567
11568// Information about a wireless gateway's operation.
11569type WirelessGatewayStatistics struct {
11570	_ struct{} `type:"structure"`
11571
11572	// The Amazon Resource Name of the resource.
11573	Arn *string `type:"string"`
11574
11575	// The description of the resource.
11576	Description *string `type:"string"`
11577
11578	// The ID of the wireless gateway reporting the data.
11579	Id *string `type:"string"`
11580
11581	// The date and time when the most recent uplink was received.
11582	LastUplinkReceivedAt *string `type:"string"`
11583
11584	// LoRaWAN gateway info.
11585	LoRaWAN *LoRaWANGateway `type:"structure"`
11586
11587	// The name of the resource.
11588	Name *string `type:"string"`
11589}
11590
11591// String returns the string representation
11592func (s WirelessGatewayStatistics) String() string {
11593	return awsutil.Prettify(s)
11594}
11595
11596// GoString returns the string representation
11597func (s WirelessGatewayStatistics) GoString() string {
11598	return s.String()
11599}
11600
11601// SetArn sets the Arn field's value.
11602func (s *WirelessGatewayStatistics) SetArn(v string) *WirelessGatewayStatistics {
11603	s.Arn = &v
11604	return s
11605}
11606
11607// SetDescription sets the Description field's value.
11608func (s *WirelessGatewayStatistics) SetDescription(v string) *WirelessGatewayStatistics {
11609	s.Description = &v
11610	return s
11611}
11612
11613// SetId sets the Id field's value.
11614func (s *WirelessGatewayStatistics) SetId(v string) *WirelessGatewayStatistics {
11615	s.Id = &v
11616	return s
11617}
11618
11619// SetLastUplinkReceivedAt sets the LastUplinkReceivedAt field's value.
11620func (s *WirelessGatewayStatistics) SetLastUplinkReceivedAt(v string) *WirelessGatewayStatistics {
11621	s.LastUplinkReceivedAt = &v
11622	return s
11623}
11624
11625// SetLoRaWAN sets the LoRaWAN field's value.
11626func (s *WirelessGatewayStatistics) SetLoRaWAN(v *LoRaWANGateway) *WirelessGatewayStatistics {
11627	s.LoRaWAN = v
11628	return s
11629}
11630
11631// SetName sets the Name field's value.
11632func (s *WirelessGatewayStatistics) SetName(v string) *WirelessGatewayStatistics {
11633	s.Name = &v
11634	return s
11635}
11636
11637// WirelessMetadata object.
11638type WirelessMetadata struct {
11639	_ struct{} `type:"structure"`
11640
11641	// LoRaWAN device info.
11642	LoRaWAN *LoRaWANSendDataToDevice `type:"structure"`
11643
11644	// The Sidewalk account credentials.
11645	Sidewalk *SidewalkSendDataToDevice `type:"structure"`
11646}
11647
11648// String returns the string representation
11649func (s WirelessMetadata) String() string {
11650	return awsutil.Prettify(s)
11651}
11652
11653// GoString returns the string representation
11654func (s WirelessMetadata) GoString() string {
11655	return s.String()
11656}
11657
11658// Validate inspects the fields of the type to determine if they are valid.
11659func (s *WirelessMetadata) Validate() error {
11660	invalidParams := request.ErrInvalidParams{Context: "WirelessMetadata"}
11661	if s.LoRaWAN != nil {
11662		if err := s.LoRaWAN.Validate(); err != nil {
11663			invalidParams.AddNested("LoRaWAN", err.(request.ErrInvalidParams))
11664		}
11665	}
11666
11667	if invalidParams.Len() > 0 {
11668		return invalidParams
11669	}
11670	return nil
11671}
11672
11673// SetLoRaWAN sets the LoRaWAN field's value.
11674func (s *WirelessMetadata) SetLoRaWAN(v *LoRaWANSendDataToDevice) *WirelessMetadata {
11675	s.LoRaWAN = v
11676	return s
11677}
11678
11679// SetSidewalk sets the Sidewalk field's value.
11680func (s *WirelessMetadata) SetSidewalk(v *SidewalkSendDataToDevice) *WirelessMetadata {
11681	s.Sidewalk = v
11682	return s
11683}
11684
11685// Sidewalk device battery level.
11686const (
11687	// BatteryLevelNormal is a BatteryLevel enum value
11688	BatteryLevelNormal = "normal"
11689
11690	// BatteryLevelLow is a BatteryLevel enum value
11691	BatteryLevelLow = "low"
11692
11693	// BatteryLevelCritical is a BatteryLevel enum value
11694	BatteryLevelCritical = "critical"
11695)
11696
11697// BatteryLevel_Values returns all elements of the BatteryLevel enum
11698func BatteryLevel_Values() []string {
11699	return []string{
11700		BatteryLevelNormal,
11701		BatteryLevelLow,
11702		BatteryLevelCritical,
11703	}
11704}
11705
11706const (
11707	// ConnectionStatusConnected is a ConnectionStatus enum value
11708	ConnectionStatusConnected = "Connected"
11709
11710	// ConnectionStatusDisconnected is a ConnectionStatus enum value
11711	ConnectionStatusDisconnected = "Disconnected"
11712)
11713
11714// ConnectionStatus_Values returns all elements of the ConnectionStatus enum
11715func ConnectionStatus_Values() []string {
11716	return []string{
11717		ConnectionStatusConnected,
11718		ConnectionStatusDisconnected,
11719	}
11720}
11721
11722// Device state defines the device status of sidewalk device.
11723const (
11724	// DeviceStateProvisioned is a DeviceState enum value
11725	DeviceStateProvisioned = "Provisioned"
11726
11727	// DeviceStateRegisteredNotSeen is a DeviceState enum value
11728	DeviceStateRegisteredNotSeen = "RegisteredNotSeen"
11729
11730	// DeviceStateRegisteredReachable is a DeviceState enum value
11731	DeviceStateRegisteredReachable = "RegisteredReachable"
11732
11733	// DeviceStateRegisteredUnreachable is a DeviceState enum value
11734	DeviceStateRegisteredUnreachable = "RegisteredUnreachable"
11735)
11736
11737// DeviceState_Values returns all elements of the DeviceState enum
11738func DeviceState_Values() []string {
11739	return []string{
11740		DeviceStateProvisioned,
11741		DeviceStateRegisteredNotSeen,
11742		DeviceStateRegisteredReachable,
11743		DeviceStateRegisteredUnreachable,
11744	}
11745}
11746
11747// Sidewalk device status notification.
11748const (
11749	// EventDiscovered is a Event enum value
11750	EventDiscovered = "discovered"
11751
11752	// EventLost is a Event enum value
11753	EventLost = "lost"
11754
11755	// EventAck is a Event enum value
11756	EventAck = "ack"
11757
11758	// EventNack is a Event enum value
11759	EventNack = "nack"
11760
11761	// EventPassthrough is a Event enum value
11762	EventPassthrough = "passthrough"
11763)
11764
11765// Event_Values returns all elements of the Event enum
11766func Event_Values() []string {
11767	return []string{
11768		EventDiscovered,
11769		EventLost,
11770		EventAck,
11771		EventNack,
11772		EventPassthrough,
11773	}
11774}
11775
11776const (
11777	// ExpressionTypeRuleName is a ExpressionType enum value
11778	ExpressionTypeRuleName = "RuleName"
11779
11780	// ExpressionTypeMqttTopic is a ExpressionType enum value
11781	ExpressionTypeMqttTopic = "MqttTopic"
11782)
11783
11784// ExpressionType_Values returns all elements of the ExpressionType enum
11785func ExpressionType_Values() []string {
11786	return []string{
11787		ExpressionTypeRuleName,
11788		ExpressionTypeMqttTopic,
11789	}
11790}
11791
11792// Sidewalk device message type.
11793const (
11794	// MessageTypeCustomCommandIdNotify is a MessageType enum value
11795	MessageTypeCustomCommandIdNotify = "CUSTOM_COMMAND_ID_NOTIFY"
11796
11797	// MessageTypeCustomCommandIdGet is a MessageType enum value
11798	MessageTypeCustomCommandIdGet = "CUSTOM_COMMAND_ID_GET"
11799
11800	// MessageTypeCustomCommandIdSet is a MessageType enum value
11801	MessageTypeCustomCommandIdSet = "CUSTOM_COMMAND_ID_SET"
11802
11803	// MessageTypeCustomCommandIdResp is a MessageType enum value
11804	MessageTypeCustomCommandIdResp = "CUSTOM_COMMAND_ID_RESP"
11805)
11806
11807// MessageType_Values returns all elements of the MessageType enum
11808func MessageType_Values() []string {
11809	return []string{
11810		MessageTypeCustomCommandIdNotify,
11811		MessageTypeCustomCommandIdGet,
11812		MessageTypeCustomCommandIdSet,
11813		MessageTypeCustomCommandIdResp,
11814	}
11815}
11816
11817const (
11818	// PartnerTypeSidewalk is a PartnerType enum value
11819	PartnerTypeSidewalk = "Sidewalk"
11820)
11821
11822// PartnerType_Values returns all elements of the PartnerType enum
11823func PartnerType_Values() []string {
11824	return []string{
11825		PartnerTypeSidewalk,
11826	}
11827}
11828
11829// The certificate chain algorithm provided by sidewalk.
11830const (
11831	// SigningAlgEd25519 is a SigningAlg enum value
11832	SigningAlgEd25519 = "Ed25519"
11833
11834	// SigningAlgP256r1 is a SigningAlg enum value
11835	SigningAlgP256r1 = "P256r1"
11836)
11837
11838// SigningAlg_Values returns all elements of the SigningAlg enum
11839func SigningAlg_Values() []string {
11840	return []string{
11841		SigningAlgEd25519,
11842		SigningAlgP256r1,
11843	}
11844}
11845
11846const (
11847	// WirelessDeviceIdTypeWirelessDeviceId is a WirelessDeviceIdType enum value
11848	WirelessDeviceIdTypeWirelessDeviceId = "WirelessDeviceId"
11849
11850	// WirelessDeviceIdTypeDevEui is a WirelessDeviceIdType enum value
11851	WirelessDeviceIdTypeDevEui = "DevEui"
11852
11853	// WirelessDeviceIdTypeThingName is a WirelessDeviceIdType enum value
11854	WirelessDeviceIdTypeThingName = "ThingName"
11855)
11856
11857// WirelessDeviceIdType_Values returns all elements of the WirelessDeviceIdType enum
11858func WirelessDeviceIdType_Values() []string {
11859	return []string{
11860		WirelessDeviceIdTypeWirelessDeviceId,
11861		WirelessDeviceIdTypeDevEui,
11862		WirelessDeviceIdTypeThingName,
11863	}
11864}
11865
11866const (
11867	// WirelessDeviceTypeSidewalk is a WirelessDeviceType enum value
11868	WirelessDeviceTypeSidewalk = "Sidewalk"
11869
11870	// WirelessDeviceTypeLoRaWan is a WirelessDeviceType enum value
11871	WirelessDeviceTypeLoRaWan = "LoRaWAN"
11872)
11873
11874// WirelessDeviceType_Values returns all elements of the WirelessDeviceType enum
11875func WirelessDeviceType_Values() []string {
11876	return []string{
11877		WirelessDeviceTypeSidewalk,
11878		WirelessDeviceTypeLoRaWan,
11879	}
11880}
11881
11882const (
11883	// WirelessGatewayIdTypeGatewayEui is a WirelessGatewayIdType enum value
11884	WirelessGatewayIdTypeGatewayEui = "GatewayEui"
11885
11886	// WirelessGatewayIdTypeWirelessGatewayId is a WirelessGatewayIdType enum value
11887	WirelessGatewayIdTypeWirelessGatewayId = "WirelessGatewayId"
11888
11889	// WirelessGatewayIdTypeThingName is a WirelessGatewayIdType enum value
11890	WirelessGatewayIdTypeThingName = "ThingName"
11891)
11892
11893// WirelessGatewayIdType_Values returns all elements of the WirelessGatewayIdType enum
11894func WirelessGatewayIdType_Values() []string {
11895	return []string{
11896		WirelessGatewayIdTypeGatewayEui,
11897		WirelessGatewayIdTypeWirelessGatewayId,
11898		WirelessGatewayIdTypeThingName,
11899	}
11900}
11901
11902const (
11903	// WirelessGatewayServiceTypeCups is a WirelessGatewayServiceType enum value
11904	WirelessGatewayServiceTypeCups = "CUPS"
11905
11906	// WirelessGatewayServiceTypeLns is a WirelessGatewayServiceType enum value
11907	WirelessGatewayServiceTypeLns = "LNS"
11908)
11909
11910// WirelessGatewayServiceType_Values returns all elements of the WirelessGatewayServiceType enum
11911func WirelessGatewayServiceType_Values() []string {
11912	return []string{
11913		WirelessGatewayServiceTypeCups,
11914		WirelessGatewayServiceTypeLns,
11915	}
11916}
11917
11918const (
11919	// WirelessGatewayTaskDefinitionTypeUpdate is a WirelessGatewayTaskDefinitionType enum value
11920	WirelessGatewayTaskDefinitionTypeUpdate = "UPDATE"
11921)
11922
11923// WirelessGatewayTaskDefinitionType_Values returns all elements of the WirelessGatewayTaskDefinitionType enum
11924func WirelessGatewayTaskDefinitionType_Values() []string {
11925	return []string{
11926		WirelessGatewayTaskDefinitionTypeUpdate,
11927	}
11928}
11929
11930const (
11931	// WirelessGatewayTaskStatusPending is a WirelessGatewayTaskStatus enum value
11932	WirelessGatewayTaskStatusPending = "PENDING"
11933
11934	// WirelessGatewayTaskStatusInProgress is a WirelessGatewayTaskStatus enum value
11935	WirelessGatewayTaskStatusInProgress = "IN_PROGRESS"
11936
11937	// WirelessGatewayTaskStatusFirstRetry is a WirelessGatewayTaskStatus enum value
11938	WirelessGatewayTaskStatusFirstRetry = "FIRST_RETRY"
11939
11940	// WirelessGatewayTaskStatusSecondRetry is a WirelessGatewayTaskStatus enum value
11941	WirelessGatewayTaskStatusSecondRetry = "SECOND_RETRY"
11942
11943	// WirelessGatewayTaskStatusCompleted is a WirelessGatewayTaskStatus enum value
11944	WirelessGatewayTaskStatusCompleted = "COMPLETED"
11945
11946	// WirelessGatewayTaskStatusFailed is a WirelessGatewayTaskStatus enum value
11947	WirelessGatewayTaskStatusFailed = "FAILED"
11948)
11949
11950// WirelessGatewayTaskStatus_Values returns all elements of the WirelessGatewayTaskStatus enum
11951func WirelessGatewayTaskStatus_Values() []string {
11952	return []string{
11953		WirelessGatewayTaskStatusPending,
11954		WirelessGatewayTaskStatusInProgress,
11955		WirelessGatewayTaskStatusFirstRetry,
11956		WirelessGatewayTaskStatusSecondRetry,
11957		WirelessGatewayTaskStatusCompleted,
11958		WirelessGatewayTaskStatusFailed,
11959	}
11960}
11961