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 opGetLogLevelsByResourceTypes = "GetLogLevelsByResourceTypes"
2252
2253// GetLogLevelsByResourceTypesRequest generates a "aws/request.Request" representing the
2254// client's request for the GetLogLevelsByResourceTypes 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 GetLogLevelsByResourceTypes for more information on using the GetLogLevelsByResourceTypes
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 GetLogLevelsByResourceTypesRequest method.
2269//    req, resp := client.GetLogLevelsByResourceTypesRequest(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/GetLogLevelsByResourceTypes
2277func (c *IoTWireless) GetLogLevelsByResourceTypesRequest(input *GetLogLevelsByResourceTypesInput) (req *request.Request, output *GetLogLevelsByResourceTypesOutput) {
2278	op := &request.Operation{
2279		Name:       opGetLogLevelsByResourceTypes,
2280		HTTPMethod: "GET",
2281		HTTPPath:   "/log-levels",
2282	}
2283
2284	if input == nil {
2285		input = &GetLogLevelsByResourceTypesInput{}
2286	}
2287
2288	output = &GetLogLevelsByResourceTypesOutput{}
2289	req = c.newRequest(op, input, output)
2290	return
2291}
2292
2293// GetLogLevelsByResourceTypes API operation for AWS IoT Wireless.
2294//
2295// Returns current default log levels or log levels by resource types. Based
2296// on resource types, log levels can be for wireless device log options or wireless
2297// gateway log options.
2298//
2299// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2300// with awserr.Error's Code and Message methods to get detailed information about
2301// the error.
2302//
2303// See the AWS API reference guide for AWS IoT Wireless's
2304// API operation GetLogLevelsByResourceTypes for usage and error information.
2305//
2306// Returned Error Types:
2307//   * AccessDeniedException
2308//   User does not have permission to perform this action.
2309//
2310//   * InternalServerException
2311//   An unexpected error occurred while processing a request.
2312//
2313//   * ResourceNotFoundException
2314//   Resource does not exist.
2315//
2316//   * ThrottlingException
2317//   The request was denied because it exceeded the allowed API request rate.
2318//
2319//   * ValidationException
2320//   The input did not meet the specified constraints.
2321//
2322// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetLogLevelsByResourceTypes
2323func (c *IoTWireless) GetLogLevelsByResourceTypes(input *GetLogLevelsByResourceTypesInput) (*GetLogLevelsByResourceTypesOutput, error) {
2324	req, out := c.GetLogLevelsByResourceTypesRequest(input)
2325	return out, req.Send()
2326}
2327
2328// GetLogLevelsByResourceTypesWithContext is the same as GetLogLevelsByResourceTypes with the addition of
2329// the ability to pass a context and additional request options.
2330//
2331// See GetLogLevelsByResourceTypes for details on how to use this API operation.
2332//
2333// The context must be non-nil and will be used for request cancellation. If
2334// the context is nil a panic will occur. In the future the SDK may create
2335// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2336// for more information on using Contexts.
2337func (c *IoTWireless) GetLogLevelsByResourceTypesWithContext(ctx aws.Context, input *GetLogLevelsByResourceTypesInput, opts ...request.Option) (*GetLogLevelsByResourceTypesOutput, error) {
2338	req, out := c.GetLogLevelsByResourceTypesRequest(input)
2339	req.SetContext(ctx)
2340	req.ApplyOptions(opts...)
2341	return out, req.Send()
2342}
2343
2344const opGetPartnerAccount = "GetPartnerAccount"
2345
2346// GetPartnerAccountRequest generates a "aws/request.Request" representing the
2347// client's request for the GetPartnerAccount operation. The "output" return
2348// value will be populated with the request's response once the request completes
2349// successfully.
2350//
2351// Use "Send" method on the returned Request to send the API call to the service.
2352// the "output" return value is not valid until after Send returns without error.
2353//
2354// See GetPartnerAccount for more information on using the GetPartnerAccount
2355// API call, and error handling.
2356//
2357// This method is useful when you want to inject custom logic or configuration
2358// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2359//
2360//
2361//    // Example sending a request using the GetPartnerAccountRequest method.
2362//    req, resp := client.GetPartnerAccountRequest(params)
2363//
2364//    err := req.Send()
2365//    if err == nil { // resp is now filled
2366//        fmt.Println(resp)
2367//    }
2368//
2369// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetPartnerAccount
2370func (c *IoTWireless) GetPartnerAccountRequest(input *GetPartnerAccountInput) (req *request.Request, output *GetPartnerAccountOutput) {
2371	op := &request.Operation{
2372		Name:       opGetPartnerAccount,
2373		HTTPMethod: "GET",
2374		HTTPPath:   "/partner-accounts/{PartnerAccountId}",
2375	}
2376
2377	if input == nil {
2378		input = &GetPartnerAccountInput{}
2379	}
2380
2381	output = &GetPartnerAccountOutput{}
2382	req = c.newRequest(op, input, output)
2383	return
2384}
2385
2386// GetPartnerAccount API operation for AWS IoT Wireless.
2387//
2388// Gets information about a partner account. If PartnerAccountId and PartnerType
2389// are null, returns all partner accounts.
2390//
2391// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2392// with awserr.Error's Code and Message methods to get detailed information about
2393// the error.
2394//
2395// See the AWS API reference guide for AWS IoT Wireless's
2396// API operation GetPartnerAccount for usage and error information.
2397//
2398// Returned Error Types:
2399//   * ValidationException
2400//   The input did not meet the specified constraints.
2401//
2402//   * ResourceNotFoundException
2403//   Resource does not exist.
2404//
2405//   * InternalServerException
2406//   An unexpected error occurred while processing a request.
2407//
2408//   * ThrottlingException
2409//   The request was denied because it exceeded the allowed API request rate.
2410//
2411// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetPartnerAccount
2412func (c *IoTWireless) GetPartnerAccount(input *GetPartnerAccountInput) (*GetPartnerAccountOutput, error) {
2413	req, out := c.GetPartnerAccountRequest(input)
2414	return out, req.Send()
2415}
2416
2417// GetPartnerAccountWithContext is the same as GetPartnerAccount with the addition of
2418// the ability to pass a context and additional request options.
2419//
2420// See GetPartnerAccount for details on how to use this API operation.
2421//
2422// The context must be non-nil and will be used for request cancellation. If
2423// the context is nil a panic will occur. In the future the SDK may create
2424// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2425// for more information on using Contexts.
2426func (c *IoTWireless) GetPartnerAccountWithContext(ctx aws.Context, input *GetPartnerAccountInput, opts ...request.Option) (*GetPartnerAccountOutput, error) {
2427	req, out := c.GetPartnerAccountRequest(input)
2428	req.SetContext(ctx)
2429	req.ApplyOptions(opts...)
2430	return out, req.Send()
2431}
2432
2433const opGetResourceLogLevel = "GetResourceLogLevel"
2434
2435// GetResourceLogLevelRequest generates a "aws/request.Request" representing the
2436// client's request for the GetResourceLogLevel operation. The "output" return
2437// value will be populated with the request's response once the request completes
2438// successfully.
2439//
2440// Use "Send" method on the returned Request to send the API call to the service.
2441// the "output" return value is not valid until after Send returns without error.
2442//
2443// See GetResourceLogLevel for more information on using the GetResourceLogLevel
2444// API call, and error handling.
2445//
2446// This method is useful when you want to inject custom logic or configuration
2447// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2448//
2449//
2450//    // Example sending a request using the GetResourceLogLevelRequest method.
2451//    req, resp := client.GetResourceLogLevelRequest(params)
2452//
2453//    err := req.Send()
2454//    if err == nil { // resp is now filled
2455//        fmt.Println(resp)
2456//    }
2457//
2458// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetResourceLogLevel
2459func (c *IoTWireless) GetResourceLogLevelRequest(input *GetResourceLogLevelInput) (req *request.Request, output *GetResourceLogLevelOutput) {
2460	op := &request.Operation{
2461		Name:       opGetResourceLogLevel,
2462		HTTPMethod: "GET",
2463		HTTPPath:   "/log-levels/{ResourceIdentifier}",
2464	}
2465
2466	if input == nil {
2467		input = &GetResourceLogLevelInput{}
2468	}
2469
2470	output = &GetResourceLogLevelOutput{}
2471	req = c.newRequest(op, input, output)
2472	return
2473}
2474
2475// GetResourceLogLevel API operation for AWS IoT Wireless.
2476//
2477// Fetches the log-level override, if any, for a given resource-ID and resource-type.
2478// It can be used for a wireless device or a wireless gateway.
2479//
2480// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2481// with awserr.Error's Code and Message methods to get detailed information about
2482// the error.
2483//
2484// See the AWS API reference guide for AWS IoT Wireless's
2485// API operation GetResourceLogLevel for usage and error information.
2486//
2487// Returned Error Types:
2488//   * AccessDeniedException
2489//   User does not have permission to perform this action.
2490//
2491//   * InternalServerException
2492//   An unexpected error occurred while processing a request.
2493//
2494//   * ResourceNotFoundException
2495//   Resource does not exist.
2496//
2497//   * ThrottlingException
2498//   The request was denied because it exceeded the allowed API request rate.
2499//
2500//   * ValidationException
2501//   The input did not meet the specified constraints.
2502//
2503// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetResourceLogLevel
2504func (c *IoTWireless) GetResourceLogLevel(input *GetResourceLogLevelInput) (*GetResourceLogLevelOutput, error) {
2505	req, out := c.GetResourceLogLevelRequest(input)
2506	return out, req.Send()
2507}
2508
2509// GetResourceLogLevelWithContext is the same as GetResourceLogLevel with the addition of
2510// the ability to pass a context and additional request options.
2511//
2512// See GetResourceLogLevel for details on how to use this API operation.
2513//
2514// The context must be non-nil and will be used for request cancellation. If
2515// the context is nil a panic will occur. In the future the SDK may create
2516// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2517// for more information on using Contexts.
2518func (c *IoTWireless) GetResourceLogLevelWithContext(ctx aws.Context, input *GetResourceLogLevelInput, opts ...request.Option) (*GetResourceLogLevelOutput, error) {
2519	req, out := c.GetResourceLogLevelRequest(input)
2520	req.SetContext(ctx)
2521	req.ApplyOptions(opts...)
2522	return out, req.Send()
2523}
2524
2525const opGetServiceEndpoint = "GetServiceEndpoint"
2526
2527// GetServiceEndpointRequest generates a "aws/request.Request" representing the
2528// client's request for the GetServiceEndpoint operation. The "output" return
2529// value will be populated with the request's response once the request completes
2530// successfully.
2531//
2532// Use "Send" method on the returned Request to send the API call to the service.
2533// the "output" return value is not valid until after Send returns without error.
2534//
2535// See GetServiceEndpoint for more information on using the GetServiceEndpoint
2536// API call, and error handling.
2537//
2538// This method is useful when you want to inject custom logic or configuration
2539// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2540//
2541//
2542//    // Example sending a request using the GetServiceEndpointRequest method.
2543//    req, resp := client.GetServiceEndpointRequest(params)
2544//
2545//    err := req.Send()
2546//    if err == nil { // resp is now filled
2547//        fmt.Println(resp)
2548//    }
2549//
2550// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetServiceEndpoint
2551func (c *IoTWireless) GetServiceEndpointRequest(input *GetServiceEndpointInput) (req *request.Request, output *GetServiceEndpointOutput) {
2552	op := &request.Operation{
2553		Name:       opGetServiceEndpoint,
2554		HTTPMethod: "GET",
2555		HTTPPath:   "/service-endpoint",
2556	}
2557
2558	if input == nil {
2559		input = &GetServiceEndpointInput{}
2560	}
2561
2562	output = &GetServiceEndpointOutput{}
2563	req = c.newRequest(op, input, output)
2564	return
2565}
2566
2567// GetServiceEndpoint API operation for AWS IoT Wireless.
2568//
2569// Gets the account-specific endpoint for Configuration and Update Server (CUPS)
2570// protocol or LoRaWAN Network Server (LNS) connections.
2571//
2572// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2573// with awserr.Error's Code and Message methods to get detailed information about
2574// the error.
2575//
2576// See the AWS API reference guide for AWS IoT Wireless's
2577// API operation GetServiceEndpoint for usage and error information.
2578//
2579// Returned Error Types:
2580//   * ValidationException
2581//   The input did not meet the specified constraints.
2582//
2583//   * AccessDeniedException
2584//   User does not have permission to perform this action.
2585//
2586//   * InternalServerException
2587//   An unexpected error occurred while processing a request.
2588//
2589//   * ThrottlingException
2590//   The request was denied because it exceeded the allowed API request rate.
2591//
2592// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetServiceEndpoint
2593func (c *IoTWireless) GetServiceEndpoint(input *GetServiceEndpointInput) (*GetServiceEndpointOutput, error) {
2594	req, out := c.GetServiceEndpointRequest(input)
2595	return out, req.Send()
2596}
2597
2598// GetServiceEndpointWithContext is the same as GetServiceEndpoint with the addition of
2599// the ability to pass a context and additional request options.
2600//
2601// See GetServiceEndpoint for details on how to use this API operation.
2602//
2603// The context must be non-nil and will be used for request cancellation. If
2604// the context is nil a panic will occur. In the future the SDK may create
2605// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2606// for more information on using Contexts.
2607func (c *IoTWireless) GetServiceEndpointWithContext(ctx aws.Context, input *GetServiceEndpointInput, opts ...request.Option) (*GetServiceEndpointOutput, error) {
2608	req, out := c.GetServiceEndpointRequest(input)
2609	req.SetContext(ctx)
2610	req.ApplyOptions(opts...)
2611	return out, req.Send()
2612}
2613
2614const opGetServiceProfile = "GetServiceProfile"
2615
2616// GetServiceProfileRequest generates a "aws/request.Request" representing the
2617// client's request for the GetServiceProfile operation. The "output" return
2618// value will be populated with the request's response once the request completes
2619// successfully.
2620//
2621// Use "Send" method on the returned Request to send the API call to the service.
2622// the "output" return value is not valid until after Send returns without error.
2623//
2624// See GetServiceProfile for more information on using the GetServiceProfile
2625// API call, and error handling.
2626//
2627// This method is useful when you want to inject custom logic or configuration
2628// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2629//
2630//
2631//    // Example sending a request using the GetServiceProfileRequest method.
2632//    req, resp := client.GetServiceProfileRequest(params)
2633//
2634//    err := req.Send()
2635//    if err == nil { // resp is now filled
2636//        fmt.Println(resp)
2637//    }
2638//
2639// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetServiceProfile
2640func (c *IoTWireless) GetServiceProfileRequest(input *GetServiceProfileInput) (req *request.Request, output *GetServiceProfileOutput) {
2641	op := &request.Operation{
2642		Name:       opGetServiceProfile,
2643		HTTPMethod: "GET",
2644		HTTPPath:   "/service-profiles/{Id}",
2645	}
2646
2647	if input == nil {
2648		input = &GetServiceProfileInput{}
2649	}
2650
2651	output = &GetServiceProfileOutput{}
2652	req = c.newRequest(op, input, output)
2653	return
2654}
2655
2656// GetServiceProfile API operation for AWS IoT Wireless.
2657//
2658// Gets information about a service profile.
2659//
2660// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2661// with awserr.Error's Code and Message methods to get detailed information about
2662// the error.
2663//
2664// See the AWS API reference guide for AWS IoT Wireless's
2665// API operation GetServiceProfile for usage and error information.
2666//
2667// Returned Error Types:
2668//   * ValidationException
2669//   The input did not meet the specified constraints.
2670//
2671//   * AccessDeniedException
2672//   User does not have permission to perform this action.
2673//
2674//   * ResourceNotFoundException
2675//   Resource does not exist.
2676//
2677//   * InternalServerException
2678//   An unexpected error occurred while processing a request.
2679//
2680//   * ThrottlingException
2681//   The request was denied because it exceeded the allowed API request rate.
2682//
2683// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetServiceProfile
2684func (c *IoTWireless) GetServiceProfile(input *GetServiceProfileInput) (*GetServiceProfileOutput, error) {
2685	req, out := c.GetServiceProfileRequest(input)
2686	return out, req.Send()
2687}
2688
2689// GetServiceProfileWithContext is the same as GetServiceProfile with the addition of
2690// the ability to pass a context and additional request options.
2691//
2692// See GetServiceProfile for details on how to use this API operation.
2693//
2694// The context must be non-nil and will be used for request cancellation. If
2695// the context is nil a panic will occur. In the future the SDK may create
2696// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2697// for more information on using Contexts.
2698func (c *IoTWireless) GetServiceProfileWithContext(ctx aws.Context, input *GetServiceProfileInput, opts ...request.Option) (*GetServiceProfileOutput, error) {
2699	req, out := c.GetServiceProfileRequest(input)
2700	req.SetContext(ctx)
2701	req.ApplyOptions(opts...)
2702	return out, req.Send()
2703}
2704
2705const opGetWirelessDevice = "GetWirelessDevice"
2706
2707// GetWirelessDeviceRequest generates a "aws/request.Request" representing the
2708// client's request for the GetWirelessDevice operation. The "output" return
2709// value will be populated with the request's response once the request completes
2710// successfully.
2711//
2712// Use "Send" method on the returned Request to send the API call to the service.
2713// the "output" return value is not valid until after Send returns without error.
2714//
2715// See GetWirelessDevice for more information on using the GetWirelessDevice
2716// API call, and error handling.
2717//
2718// This method is useful when you want to inject custom logic or configuration
2719// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2720//
2721//
2722//    // Example sending a request using the GetWirelessDeviceRequest method.
2723//    req, resp := client.GetWirelessDeviceRequest(params)
2724//
2725//    err := req.Send()
2726//    if err == nil { // resp is now filled
2727//        fmt.Println(resp)
2728//    }
2729//
2730// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessDevice
2731func (c *IoTWireless) GetWirelessDeviceRequest(input *GetWirelessDeviceInput) (req *request.Request, output *GetWirelessDeviceOutput) {
2732	op := &request.Operation{
2733		Name:       opGetWirelessDevice,
2734		HTTPMethod: "GET",
2735		HTTPPath:   "/wireless-devices/{Identifier}",
2736	}
2737
2738	if input == nil {
2739		input = &GetWirelessDeviceInput{}
2740	}
2741
2742	output = &GetWirelessDeviceOutput{}
2743	req = c.newRequest(op, input, output)
2744	return
2745}
2746
2747// GetWirelessDevice API operation for AWS IoT Wireless.
2748//
2749// Gets information about a wireless device.
2750//
2751// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2752// with awserr.Error's Code and Message methods to get detailed information about
2753// the error.
2754//
2755// See the AWS API reference guide for AWS IoT Wireless's
2756// API operation GetWirelessDevice for usage and error information.
2757//
2758// Returned Error Types:
2759//   * ValidationException
2760//   The input did not meet the specified constraints.
2761//
2762//   * AccessDeniedException
2763//   User does not have permission to perform this action.
2764//
2765//   * ResourceNotFoundException
2766//   Resource does not exist.
2767//
2768//   * InternalServerException
2769//   An unexpected error occurred while processing a request.
2770//
2771//   * ThrottlingException
2772//   The request was denied because it exceeded the allowed API request rate.
2773//
2774// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessDevice
2775func (c *IoTWireless) GetWirelessDevice(input *GetWirelessDeviceInput) (*GetWirelessDeviceOutput, error) {
2776	req, out := c.GetWirelessDeviceRequest(input)
2777	return out, req.Send()
2778}
2779
2780// GetWirelessDeviceWithContext is the same as GetWirelessDevice with the addition of
2781// the ability to pass a context and additional request options.
2782//
2783// See GetWirelessDevice for details on how to use this API operation.
2784//
2785// The context must be non-nil and will be used for request cancellation. If
2786// the context is nil a panic will occur. In the future the SDK may create
2787// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2788// for more information on using Contexts.
2789func (c *IoTWireless) GetWirelessDeviceWithContext(ctx aws.Context, input *GetWirelessDeviceInput, opts ...request.Option) (*GetWirelessDeviceOutput, error) {
2790	req, out := c.GetWirelessDeviceRequest(input)
2791	req.SetContext(ctx)
2792	req.ApplyOptions(opts...)
2793	return out, req.Send()
2794}
2795
2796const opGetWirelessDeviceStatistics = "GetWirelessDeviceStatistics"
2797
2798// GetWirelessDeviceStatisticsRequest generates a "aws/request.Request" representing the
2799// client's request for the GetWirelessDeviceStatistics operation. The "output" return
2800// value will be populated with the request's response once the request completes
2801// successfully.
2802//
2803// Use "Send" method on the returned Request to send the API call to the service.
2804// the "output" return value is not valid until after Send returns without error.
2805//
2806// See GetWirelessDeviceStatistics for more information on using the GetWirelessDeviceStatistics
2807// API call, and error handling.
2808//
2809// This method is useful when you want to inject custom logic or configuration
2810// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2811//
2812//
2813//    // Example sending a request using the GetWirelessDeviceStatisticsRequest method.
2814//    req, resp := client.GetWirelessDeviceStatisticsRequest(params)
2815//
2816//    err := req.Send()
2817//    if err == nil { // resp is now filled
2818//        fmt.Println(resp)
2819//    }
2820//
2821// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessDeviceStatistics
2822func (c *IoTWireless) GetWirelessDeviceStatisticsRequest(input *GetWirelessDeviceStatisticsInput) (req *request.Request, output *GetWirelessDeviceStatisticsOutput) {
2823	op := &request.Operation{
2824		Name:       opGetWirelessDeviceStatistics,
2825		HTTPMethod: "GET",
2826		HTTPPath:   "/wireless-devices/{Id}/statistics",
2827	}
2828
2829	if input == nil {
2830		input = &GetWirelessDeviceStatisticsInput{}
2831	}
2832
2833	output = &GetWirelessDeviceStatisticsOutput{}
2834	req = c.newRequest(op, input, output)
2835	return
2836}
2837
2838// GetWirelessDeviceStatistics API operation for AWS IoT Wireless.
2839//
2840// Gets operating information about a wireless device.
2841//
2842// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2843// with awserr.Error's Code and Message methods to get detailed information about
2844// the error.
2845//
2846// See the AWS API reference guide for AWS IoT Wireless's
2847// API operation GetWirelessDeviceStatistics for usage and error information.
2848//
2849// Returned Error Types:
2850//   * ValidationException
2851//   The input did not meet the specified constraints.
2852//
2853//   * AccessDeniedException
2854//   User does not have permission to perform this action.
2855//
2856//   * ResourceNotFoundException
2857//   Resource does not exist.
2858//
2859//   * InternalServerException
2860//   An unexpected error occurred while processing a request.
2861//
2862//   * ThrottlingException
2863//   The request was denied because it exceeded the allowed API request rate.
2864//
2865// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessDeviceStatistics
2866func (c *IoTWireless) GetWirelessDeviceStatistics(input *GetWirelessDeviceStatisticsInput) (*GetWirelessDeviceStatisticsOutput, error) {
2867	req, out := c.GetWirelessDeviceStatisticsRequest(input)
2868	return out, req.Send()
2869}
2870
2871// GetWirelessDeviceStatisticsWithContext is the same as GetWirelessDeviceStatistics with the addition of
2872// the ability to pass a context and additional request options.
2873//
2874// See GetWirelessDeviceStatistics for details on how to use this API operation.
2875//
2876// The context must be non-nil and will be used for request cancellation. If
2877// the context is nil a panic will occur. In the future the SDK may create
2878// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2879// for more information on using Contexts.
2880func (c *IoTWireless) GetWirelessDeviceStatisticsWithContext(ctx aws.Context, input *GetWirelessDeviceStatisticsInput, opts ...request.Option) (*GetWirelessDeviceStatisticsOutput, error) {
2881	req, out := c.GetWirelessDeviceStatisticsRequest(input)
2882	req.SetContext(ctx)
2883	req.ApplyOptions(opts...)
2884	return out, req.Send()
2885}
2886
2887const opGetWirelessGateway = "GetWirelessGateway"
2888
2889// GetWirelessGatewayRequest generates a "aws/request.Request" representing the
2890// client's request for the GetWirelessGateway operation. The "output" return
2891// value will be populated with the request's response once the request completes
2892// successfully.
2893//
2894// Use "Send" method on the returned Request to send the API call to the service.
2895// the "output" return value is not valid until after Send returns without error.
2896//
2897// See GetWirelessGateway for more information on using the GetWirelessGateway
2898// API call, and error handling.
2899//
2900// This method is useful when you want to inject custom logic or configuration
2901// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2902//
2903//
2904//    // Example sending a request using the GetWirelessGatewayRequest method.
2905//    req, resp := client.GetWirelessGatewayRequest(params)
2906//
2907//    err := req.Send()
2908//    if err == nil { // resp is now filled
2909//        fmt.Println(resp)
2910//    }
2911//
2912// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGateway
2913func (c *IoTWireless) GetWirelessGatewayRequest(input *GetWirelessGatewayInput) (req *request.Request, output *GetWirelessGatewayOutput) {
2914	op := &request.Operation{
2915		Name:       opGetWirelessGateway,
2916		HTTPMethod: "GET",
2917		HTTPPath:   "/wireless-gateways/{Identifier}",
2918	}
2919
2920	if input == nil {
2921		input = &GetWirelessGatewayInput{}
2922	}
2923
2924	output = &GetWirelessGatewayOutput{}
2925	req = c.newRequest(op, input, output)
2926	return
2927}
2928
2929// GetWirelessGateway API operation for AWS IoT Wireless.
2930//
2931// Gets information about a wireless gateway.
2932//
2933// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2934// with awserr.Error's Code and Message methods to get detailed information about
2935// the error.
2936//
2937// See the AWS API reference guide for AWS IoT Wireless's
2938// API operation GetWirelessGateway for usage and error information.
2939//
2940// Returned Error Types:
2941//   * ValidationException
2942//   The input did not meet the specified constraints.
2943//
2944//   * ResourceNotFoundException
2945//   Resource does not exist.
2946//
2947//   * AccessDeniedException
2948//   User does not have permission to perform this action.
2949//
2950//   * InternalServerException
2951//   An unexpected error occurred while processing a request.
2952//
2953//   * ThrottlingException
2954//   The request was denied because it exceeded the allowed API request rate.
2955//
2956// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGateway
2957func (c *IoTWireless) GetWirelessGateway(input *GetWirelessGatewayInput) (*GetWirelessGatewayOutput, error) {
2958	req, out := c.GetWirelessGatewayRequest(input)
2959	return out, req.Send()
2960}
2961
2962// GetWirelessGatewayWithContext is the same as GetWirelessGateway with the addition of
2963// the ability to pass a context and additional request options.
2964//
2965// See GetWirelessGateway for details on how to use this API operation.
2966//
2967// The context must be non-nil and will be used for request cancellation. If
2968// the context is nil a panic will occur. In the future the SDK may create
2969// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2970// for more information on using Contexts.
2971func (c *IoTWireless) GetWirelessGatewayWithContext(ctx aws.Context, input *GetWirelessGatewayInput, opts ...request.Option) (*GetWirelessGatewayOutput, error) {
2972	req, out := c.GetWirelessGatewayRequest(input)
2973	req.SetContext(ctx)
2974	req.ApplyOptions(opts...)
2975	return out, req.Send()
2976}
2977
2978const opGetWirelessGatewayCertificate = "GetWirelessGatewayCertificate"
2979
2980// GetWirelessGatewayCertificateRequest generates a "aws/request.Request" representing the
2981// client's request for the GetWirelessGatewayCertificate operation. The "output" return
2982// value will be populated with the request's response once the request completes
2983// successfully.
2984//
2985// Use "Send" method on the returned Request to send the API call to the service.
2986// the "output" return value is not valid until after Send returns without error.
2987//
2988// See GetWirelessGatewayCertificate for more information on using the GetWirelessGatewayCertificate
2989// API call, and error handling.
2990//
2991// This method is useful when you want to inject custom logic or configuration
2992// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2993//
2994//
2995//    // Example sending a request using the GetWirelessGatewayCertificateRequest method.
2996//    req, resp := client.GetWirelessGatewayCertificateRequest(params)
2997//
2998//    err := req.Send()
2999//    if err == nil { // resp is now filled
3000//        fmt.Println(resp)
3001//    }
3002//
3003// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayCertificate
3004func (c *IoTWireless) GetWirelessGatewayCertificateRequest(input *GetWirelessGatewayCertificateInput) (req *request.Request, output *GetWirelessGatewayCertificateOutput) {
3005	op := &request.Operation{
3006		Name:       opGetWirelessGatewayCertificate,
3007		HTTPMethod: "GET",
3008		HTTPPath:   "/wireless-gateways/{Id}/certificate",
3009	}
3010
3011	if input == nil {
3012		input = &GetWirelessGatewayCertificateInput{}
3013	}
3014
3015	output = &GetWirelessGatewayCertificateOutput{}
3016	req = c.newRequest(op, input, output)
3017	return
3018}
3019
3020// GetWirelessGatewayCertificate API operation for AWS IoT Wireless.
3021//
3022// Gets the ID of the certificate that is currently associated with a wireless
3023// gateway.
3024//
3025// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3026// with awserr.Error's Code and Message methods to get detailed information about
3027// the error.
3028//
3029// See the AWS API reference guide for AWS IoT Wireless's
3030// API operation GetWirelessGatewayCertificate for usage and error information.
3031//
3032// Returned Error Types:
3033//   * ValidationException
3034//   The input did not meet the specified constraints.
3035//
3036//   * AccessDeniedException
3037//   User does not have permission to perform this action.
3038//
3039//   * ResourceNotFoundException
3040//   Resource does not exist.
3041//
3042//   * InternalServerException
3043//   An unexpected error occurred while processing a request.
3044//
3045//   * ThrottlingException
3046//   The request was denied because it exceeded the allowed API request rate.
3047//
3048// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayCertificate
3049func (c *IoTWireless) GetWirelessGatewayCertificate(input *GetWirelessGatewayCertificateInput) (*GetWirelessGatewayCertificateOutput, error) {
3050	req, out := c.GetWirelessGatewayCertificateRequest(input)
3051	return out, req.Send()
3052}
3053
3054// GetWirelessGatewayCertificateWithContext is the same as GetWirelessGatewayCertificate with the addition of
3055// the ability to pass a context and additional request options.
3056//
3057// See GetWirelessGatewayCertificate for details on how to use this API operation.
3058//
3059// The context must be non-nil and will be used for request cancellation. If
3060// the context is nil a panic will occur. In the future the SDK may create
3061// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3062// for more information on using Contexts.
3063func (c *IoTWireless) GetWirelessGatewayCertificateWithContext(ctx aws.Context, input *GetWirelessGatewayCertificateInput, opts ...request.Option) (*GetWirelessGatewayCertificateOutput, error) {
3064	req, out := c.GetWirelessGatewayCertificateRequest(input)
3065	req.SetContext(ctx)
3066	req.ApplyOptions(opts...)
3067	return out, req.Send()
3068}
3069
3070const opGetWirelessGatewayFirmwareInformation = "GetWirelessGatewayFirmwareInformation"
3071
3072// GetWirelessGatewayFirmwareInformationRequest generates a "aws/request.Request" representing the
3073// client's request for the GetWirelessGatewayFirmwareInformation operation. The "output" return
3074// value will be populated with the request's response once the request completes
3075// successfully.
3076//
3077// Use "Send" method on the returned Request to send the API call to the service.
3078// the "output" return value is not valid until after Send returns without error.
3079//
3080// See GetWirelessGatewayFirmwareInformation for more information on using the GetWirelessGatewayFirmwareInformation
3081// API call, and error handling.
3082//
3083// This method is useful when you want to inject custom logic or configuration
3084// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3085//
3086//
3087//    // Example sending a request using the GetWirelessGatewayFirmwareInformationRequest method.
3088//    req, resp := client.GetWirelessGatewayFirmwareInformationRequest(params)
3089//
3090//    err := req.Send()
3091//    if err == nil { // resp is now filled
3092//        fmt.Println(resp)
3093//    }
3094//
3095// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayFirmwareInformation
3096func (c *IoTWireless) GetWirelessGatewayFirmwareInformationRequest(input *GetWirelessGatewayFirmwareInformationInput) (req *request.Request, output *GetWirelessGatewayFirmwareInformationOutput) {
3097	op := &request.Operation{
3098		Name:       opGetWirelessGatewayFirmwareInformation,
3099		HTTPMethod: "GET",
3100		HTTPPath:   "/wireless-gateways/{Id}/firmware-information",
3101	}
3102
3103	if input == nil {
3104		input = &GetWirelessGatewayFirmwareInformationInput{}
3105	}
3106
3107	output = &GetWirelessGatewayFirmwareInformationOutput{}
3108	req = c.newRequest(op, input, output)
3109	return
3110}
3111
3112// GetWirelessGatewayFirmwareInformation API operation for AWS IoT Wireless.
3113//
3114// Gets the firmware version and other information about a wireless gateway.
3115//
3116// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3117// with awserr.Error's Code and Message methods to get detailed information about
3118// the error.
3119//
3120// See the AWS API reference guide for AWS IoT Wireless's
3121// API operation GetWirelessGatewayFirmwareInformation for usage and error information.
3122//
3123// Returned Error Types:
3124//   * ValidationException
3125//   The input did not meet the specified constraints.
3126//
3127//   * AccessDeniedException
3128//   User does not have permission to perform this action.
3129//
3130//   * ResourceNotFoundException
3131//   Resource does not exist.
3132//
3133//   * InternalServerException
3134//   An unexpected error occurred while processing a request.
3135//
3136//   * ThrottlingException
3137//   The request was denied because it exceeded the allowed API request rate.
3138//
3139// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayFirmwareInformation
3140func (c *IoTWireless) GetWirelessGatewayFirmwareInformation(input *GetWirelessGatewayFirmwareInformationInput) (*GetWirelessGatewayFirmwareInformationOutput, error) {
3141	req, out := c.GetWirelessGatewayFirmwareInformationRequest(input)
3142	return out, req.Send()
3143}
3144
3145// GetWirelessGatewayFirmwareInformationWithContext is the same as GetWirelessGatewayFirmwareInformation with the addition of
3146// the ability to pass a context and additional request options.
3147//
3148// See GetWirelessGatewayFirmwareInformation for details on how to use this API operation.
3149//
3150// The context must be non-nil and will be used for request cancellation. If
3151// the context is nil a panic will occur. In the future the SDK may create
3152// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3153// for more information on using Contexts.
3154func (c *IoTWireless) GetWirelessGatewayFirmwareInformationWithContext(ctx aws.Context, input *GetWirelessGatewayFirmwareInformationInput, opts ...request.Option) (*GetWirelessGatewayFirmwareInformationOutput, error) {
3155	req, out := c.GetWirelessGatewayFirmwareInformationRequest(input)
3156	req.SetContext(ctx)
3157	req.ApplyOptions(opts...)
3158	return out, req.Send()
3159}
3160
3161const opGetWirelessGatewayStatistics = "GetWirelessGatewayStatistics"
3162
3163// GetWirelessGatewayStatisticsRequest generates a "aws/request.Request" representing the
3164// client's request for the GetWirelessGatewayStatistics operation. The "output" return
3165// value will be populated with the request's response once the request completes
3166// successfully.
3167//
3168// Use "Send" method on the returned Request to send the API call to the service.
3169// the "output" return value is not valid until after Send returns without error.
3170//
3171// See GetWirelessGatewayStatistics for more information on using the GetWirelessGatewayStatistics
3172// API call, and error handling.
3173//
3174// This method is useful when you want to inject custom logic or configuration
3175// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3176//
3177//
3178//    // Example sending a request using the GetWirelessGatewayStatisticsRequest method.
3179//    req, resp := client.GetWirelessGatewayStatisticsRequest(params)
3180//
3181//    err := req.Send()
3182//    if err == nil { // resp is now filled
3183//        fmt.Println(resp)
3184//    }
3185//
3186// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayStatistics
3187func (c *IoTWireless) GetWirelessGatewayStatisticsRequest(input *GetWirelessGatewayStatisticsInput) (req *request.Request, output *GetWirelessGatewayStatisticsOutput) {
3188	op := &request.Operation{
3189		Name:       opGetWirelessGatewayStatistics,
3190		HTTPMethod: "GET",
3191		HTTPPath:   "/wireless-gateways/{Id}/statistics",
3192	}
3193
3194	if input == nil {
3195		input = &GetWirelessGatewayStatisticsInput{}
3196	}
3197
3198	output = &GetWirelessGatewayStatisticsOutput{}
3199	req = c.newRequest(op, input, output)
3200	return
3201}
3202
3203// GetWirelessGatewayStatistics API operation for AWS IoT Wireless.
3204//
3205// Gets operating information about a wireless gateway.
3206//
3207// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3208// with awserr.Error's Code and Message methods to get detailed information about
3209// the error.
3210//
3211// See the AWS API reference guide for AWS IoT Wireless's
3212// API operation GetWirelessGatewayStatistics for usage and error information.
3213//
3214// Returned Error Types:
3215//   * ValidationException
3216//   The input did not meet the specified constraints.
3217//
3218//   * AccessDeniedException
3219//   User does not have permission to perform this action.
3220//
3221//   * ResourceNotFoundException
3222//   Resource does not exist.
3223//
3224//   * InternalServerException
3225//   An unexpected error occurred while processing a request.
3226//
3227//   * ThrottlingException
3228//   The request was denied because it exceeded the allowed API request rate.
3229//
3230// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayStatistics
3231func (c *IoTWireless) GetWirelessGatewayStatistics(input *GetWirelessGatewayStatisticsInput) (*GetWirelessGatewayStatisticsOutput, error) {
3232	req, out := c.GetWirelessGatewayStatisticsRequest(input)
3233	return out, req.Send()
3234}
3235
3236// GetWirelessGatewayStatisticsWithContext is the same as GetWirelessGatewayStatistics with the addition of
3237// the ability to pass a context and additional request options.
3238//
3239// See GetWirelessGatewayStatistics for details on how to use this API operation.
3240//
3241// The context must be non-nil and will be used for request cancellation. If
3242// the context is nil a panic will occur. In the future the SDK may create
3243// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3244// for more information on using Contexts.
3245func (c *IoTWireless) GetWirelessGatewayStatisticsWithContext(ctx aws.Context, input *GetWirelessGatewayStatisticsInput, opts ...request.Option) (*GetWirelessGatewayStatisticsOutput, error) {
3246	req, out := c.GetWirelessGatewayStatisticsRequest(input)
3247	req.SetContext(ctx)
3248	req.ApplyOptions(opts...)
3249	return out, req.Send()
3250}
3251
3252const opGetWirelessGatewayTask = "GetWirelessGatewayTask"
3253
3254// GetWirelessGatewayTaskRequest generates a "aws/request.Request" representing the
3255// client's request for the GetWirelessGatewayTask operation. The "output" return
3256// value will be populated with the request's response once the request completes
3257// successfully.
3258//
3259// Use "Send" method on the returned Request to send the API call to the service.
3260// the "output" return value is not valid until after Send returns without error.
3261//
3262// See GetWirelessGatewayTask for more information on using the GetWirelessGatewayTask
3263// API call, and error handling.
3264//
3265// This method is useful when you want to inject custom logic or configuration
3266// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3267//
3268//
3269//    // Example sending a request using the GetWirelessGatewayTaskRequest method.
3270//    req, resp := client.GetWirelessGatewayTaskRequest(params)
3271//
3272//    err := req.Send()
3273//    if err == nil { // resp is now filled
3274//        fmt.Println(resp)
3275//    }
3276//
3277// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayTask
3278func (c *IoTWireless) GetWirelessGatewayTaskRequest(input *GetWirelessGatewayTaskInput) (req *request.Request, output *GetWirelessGatewayTaskOutput) {
3279	op := &request.Operation{
3280		Name:       opGetWirelessGatewayTask,
3281		HTTPMethod: "GET",
3282		HTTPPath:   "/wireless-gateways/{Id}/tasks",
3283	}
3284
3285	if input == nil {
3286		input = &GetWirelessGatewayTaskInput{}
3287	}
3288
3289	output = &GetWirelessGatewayTaskOutput{}
3290	req = c.newRequest(op, input, output)
3291	return
3292}
3293
3294// GetWirelessGatewayTask API operation for AWS IoT Wireless.
3295//
3296// Gets information about a wireless gateway task.
3297//
3298// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3299// with awserr.Error's Code and Message methods to get detailed information about
3300// the error.
3301//
3302// See the AWS API reference guide for AWS IoT Wireless's
3303// API operation GetWirelessGatewayTask for usage and error information.
3304//
3305// Returned Error Types:
3306//   * ValidationException
3307//   The input did not meet the specified constraints.
3308//
3309//   * AccessDeniedException
3310//   User does not have permission to perform this action.
3311//
3312//   * ResourceNotFoundException
3313//   Resource does not exist.
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/GetWirelessGatewayTask
3322func (c *IoTWireless) GetWirelessGatewayTask(input *GetWirelessGatewayTaskInput) (*GetWirelessGatewayTaskOutput, error) {
3323	req, out := c.GetWirelessGatewayTaskRequest(input)
3324	return out, req.Send()
3325}
3326
3327// GetWirelessGatewayTaskWithContext is the same as GetWirelessGatewayTask with the addition of
3328// the ability to pass a context and additional request options.
3329//
3330// See GetWirelessGatewayTask 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) GetWirelessGatewayTaskWithContext(ctx aws.Context, input *GetWirelessGatewayTaskInput, opts ...request.Option) (*GetWirelessGatewayTaskOutput, error) {
3337	req, out := c.GetWirelessGatewayTaskRequest(input)
3338	req.SetContext(ctx)
3339	req.ApplyOptions(opts...)
3340	return out, req.Send()
3341}
3342
3343const opGetWirelessGatewayTaskDefinition = "GetWirelessGatewayTaskDefinition"
3344
3345// GetWirelessGatewayTaskDefinitionRequest generates a "aws/request.Request" representing the
3346// client's request for the GetWirelessGatewayTaskDefinition operation. The "output" return
3347// value will be populated with the request's response once the request completes
3348// successfully.
3349//
3350// Use "Send" method on the returned Request to send the API call to the service.
3351// the "output" return value is not valid until after Send returns without error.
3352//
3353// See GetWirelessGatewayTaskDefinition for more information on using the GetWirelessGatewayTaskDefinition
3354// API call, and error handling.
3355//
3356// This method is useful when you want to inject custom logic or configuration
3357// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3358//
3359//
3360//    // Example sending a request using the GetWirelessGatewayTaskDefinitionRequest method.
3361//    req, resp := client.GetWirelessGatewayTaskDefinitionRequest(params)
3362//
3363//    err := req.Send()
3364//    if err == nil { // resp is now filled
3365//        fmt.Println(resp)
3366//    }
3367//
3368// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayTaskDefinition
3369func (c *IoTWireless) GetWirelessGatewayTaskDefinitionRequest(input *GetWirelessGatewayTaskDefinitionInput) (req *request.Request, output *GetWirelessGatewayTaskDefinitionOutput) {
3370	op := &request.Operation{
3371		Name:       opGetWirelessGatewayTaskDefinition,
3372		HTTPMethod: "GET",
3373		HTTPPath:   "/wireless-gateway-task-definitions/{Id}",
3374	}
3375
3376	if input == nil {
3377		input = &GetWirelessGatewayTaskDefinitionInput{}
3378	}
3379
3380	output = &GetWirelessGatewayTaskDefinitionOutput{}
3381	req = c.newRequest(op, input, output)
3382	return
3383}
3384
3385// GetWirelessGatewayTaskDefinition API operation for AWS IoT Wireless.
3386//
3387// Gets information about a wireless gateway task definition.
3388//
3389// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3390// with awserr.Error's Code and Message methods to get detailed information about
3391// the error.
3392//
3393// See the AWS API reference guide for AWS IoT Wireless's
3394// API operation GetWirelessGatewayTaskDefinition for usage and error information.
3395//
3396// Returned Error Types:
3397//   * ValidationException
3398//   The input did not meet the specified constraints.
3399//
3400//   * AccessDeniedException
3401//   User does not have permission to perform this action.
3402//
3403//   * ResourceNotFoundException
3404//   Resource does not exist.
3405//
3406//   * InternalServerException
3407//   An unexpected error occurred while processing a request.
3408//
3409//   * ThrottlingException
3410//   The request was denied because it exceeded the allowed API request rate.
3411//
3412// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetWirelessGatewayTaskDefinition
3413func (c *IoTWireless) GetWirelessGatewayTaskDefinition(input *GetWirelessGatewayTaskDefinitionInput) (*GetWirelessGatewayTaskDefinitionOutput, error) {
3414	req, out := c.GetWirelessGatewayTaskDefinitionRequest(input)
3415	return out, req.Send()
3416}
3417
3418// GetWirelessGatewayTaskDefinitionWithContext is the same as GetWirelessGatewayTaskDefinition with the addition of
3419// the ability to pass a context and additional request options.
3420//
3421// See GetWirelessGatewayTaskDefinition for details on how to use this API operation.
3422//
3423// The context must be non-nil and will be used for request cancellation. If
3424// the context is nil a panic will occur. In the future the SDK may create
3425// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3426// for more information on using Contexts.
3427func (c *IoTWireless) GetWirelessGatewayTaskDefinitionWithContext(ctx aws.Context, input *GetWirelessGatewayTaskDefinitionInput, opts ...request.Option) (*GetWirelessGatewayTaskDefinitionOutput, error) {
3428	req, out := c.GetWirelessGatewayTaskDefinitionRequest(input)
3429	req.SetContext(ctx)
3430	req.ApplyOptions(opts...)
3431	return out, req.Send()
3432}
3433
3434const opListDestinations = "ListDestinations"
3435
3436// ListDestinationsRequest generates a "aws/request.Request" representing the
3437// client's request for the ListDestinations operation. The "output" return
3438// value will be populated with the request's response once the request completes
3439// successfully.
3440//
3441// Use "Send" method on the returned Request to send the API call to the service.
3442// the "output" return value is not valid until after Send returns without error.
3443//
3444// See ListDestinations for more information on using the ListDestinations
3445// API call, and error handling.
3446//
3447// This method is useful when you want to inject custom logic or configuration
3448// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3449//
3450//
3451//    // Example sending a request using the ListDestinationsRequest method.
3452//    req, resp := client.ListDestinationsRequest(params)
3453//
3454//    err := req.Send()
3455//    if err == nil { // resp is now filled
3456//        fmt.Println(resp)
3457//    }
3458//
3459// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListDestinations
3460func (c *IoTWireless) ListDestinationsRequest(input *ListDestinationsInput) (req *request.Request, output *ListDestinationsOutput) {
3461	op := &request.Operation{
3462		Name:       opListDestinations,
3463		HTTPMethod: "GET",
3464		HTTPPath:   "/destinations",
3465		Paginator: &request.Paginator{
3466			InputTokens:     []string{"NextToken"},
3467			OutputTokens:    []string{"NextToken"},
3468			LimitToken:      "MaxResults",
3469			TruncationToken: "",
3470		},
3471	}
3472
3473	if input == nil {
3474		input = &ListDestinationsInput{}
3475	}
3476
3477	output = &ListDestinationsOutput{}
3478	req = c.newRequest(op, input, output)
3479	return
3480}
3481
3482// ListDestinations API operation for AWS IoT Wireless.
3483//
3484// Lists the destinations registered to your AWS account.
3485//
3486// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3487// with awserr.Error's Code and Message methods to get detailed information about
3488// the error.
3489//
3490// See the AWS API reference guide for AWS IoT Wireless's
3491// API operation ListDestinations for usage and error information.
3492//
3493// Returned Error Types:
3494//   * ValidationException
3495//   The input did not meet the specified constraints.
3496//
3497//   * AccessDeniedException
3498//   User does not have permission to perform this action.
3499//
3500//   * InternalServerException
3501//   An unexpected error occurred while processing a request.
3502//
3503//   * ThrottlingException
3504//   The request was denied because it exceeded the allowed API request rate.
3505//
3506// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListDestinations
3507func (c *IoTWireless) ListDestinations(input *ListDestinationsInput) (*ListDestinationsOutput, error) {
3508	req, out := c.ListDestinationsRequest(input)
3509	return out, req.Send()
3510}
3511
3512// ListDestinationsWithContext is the same as ListDestinations with the addition of
3513// the ability to pass a context and additional request options.
3514//
3515// See ListDestinations for details on how to use this API operation.
3516//
3517// The context must be non-nil and will be used for request cancellation. If
3518// the context is nil a panic will occur. In the future the SDK may create
3519// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3520// for more information on using Contexts.
3521func (c *IoTWireless) ListDestinationsWithContext(ctx aws.Context, input *ListDestinationsInput, opts ...request.Option) (*ListDestinationsOutput, error) {
3522	req, out := c.ListDestinationsRequest(input)
3523	req.SetContext(ctx)
3524	req.ApplyOptions(opts...)
3525	return out, req.Send()
3526}
3527
3528// ListDestinationsPages iterates over the pages of a ListDestinations operation,
3529// calling the "fn" function with the response data for each page. To stop
3530// iterating, return false from the fn function.
3531//
3532// See ListDestinations method for more information on how to use this operation.
3533//
3534// Note: This operation can generate multiple requests to a service.
3535//
3536//    // Example iterating over at most 3 pages of a ListDestinations operation.
3537//    pageNum := 0
3538//    err := client.ListDestinationsPages(params,
3539//        func(page *iotwireless.ListDestinationsOutput, lastPage bool) bool {
3540//            pageNum++
3541//            fmt.Println(page)
3542//            return pageNum <= 3
3543//        })
3544//
3545func (c *IoTWireless) ListDestinationsPages(input *ListDestinationsInput, fn func(*ListDestinationsOutput, bool) bool) error {
3546	return c.ListDestinationsPagesWithContext(aws.BackgroundContext(), input, fn)
3547}
3548
3549// ListDestinationsPagesWithContext same as ListDestinationsPages except
3550// it takes a Context and allows setting request options on the pages.
3551//
3552// The context must be non-nil and will be used for request cancellation. If
3553// the context is nil a panic will occur. In the future the SDK may create
3554// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3555// for more information on using Contexts.
3556func (c *IoTWireless) ListDestinationsPagesWithContext(ctx aws.Context, input *ListDestinationsInput, fn func(*ListDestinationsOutput, bool) bool, opts ...request.Option) error {
3557	p := request.Pagination{
3558		NewRequest: func() (*request.Request, error) {
3559			var inCpy *ListDestinationsInput
3560			if input != nil {
3561				tmp := *input
3562				inCpy = &tmp
3563			}
3564			req, _ := c.ListDestinationsRequest(inCpy)
3565			req.SetContext(ctx)
3566			req.ApplyOptions(opts...)
3567			return req, nil
3568		},
3569	}
3570
3571	for p.Next() {
3572		if !fn(p.Page().(*ListDestinationsOutput), !p.HasNextPage()) {
3573			break
3574		}
3575	}
3576
3577	return p.Err()
3578}
3579
3580const opListDeviceProfiles = "ListDeviceProfiles"
3581
3582// ListDeviceProfilesRequest generates a "aws/request.Request" representing the
3583// client's request for the ListDeviceProfiles operation. The "output" return
3584// value will be populated with the request's response once the request completes
3585// successfully.
3586//
3587// Use "Send" method on the returned Request to send the API call to the service.
3588// the "output" return value is not valid until after Send returns without error.
3589//
3590// See ListDeviceProfiles for more information on using the ListDeviceProfiles
3591// API call, and error handling.
3592//
3593// This method is useful when you want to inject custom logic or configuration
3594// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3595//
3596//
3597//    // Example sending a request using the ListDeviceProfilesRequest method.
3598//    req, resp := client.ListDeviceProfilesRequest(params)
3599//
3600//    err := req.Send()
3601//    if err == nil { // resp is now filled
3602//        fmt.Println(resp)
3603//    }
3604//
3605// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListDeviceProfiles
3606func (c *IoTWireless) ListDeviceProfilesRequest(input *ListDeviceProfilesInput) (req *request.Request, output *ListDeviceProfilesOutput) {
3607	op := &request.Operation{
3608		Name:       opListDeviceProfiles,
3609		HTTPMethod: "GET",
3610		HTTPPath:   "/device-profiles",
3611		Paginator: &request.Paginator{
3612			InputTokens:     []string{"NextToken"},
3613			OutputTokens:    []string{"NextToken"},
3614			LimitToken:      "MaxResults",
3615			TruncationToken: "",
3616		},
3617	}
3618
3619	if input == nil {
3620		input = &ListDeviceProfilesInput{}
3621	}
3622
3623	output = &ListDeviceProfilesOutput{}
3624	req = c.newRequest(op, input, output)
3625	return
3626}
3627
3628// ListDeviceProfiles API operation for AWS IoT Wireless.
3629//
3630// Lists the device profiles registered to your AWS account.
3631//
3632// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3633// with awserr.Error's Code and Message methods to get detailed information about
3634// the error.
3635//
3636// See the AWS API reference guide for AWS IoT Wireless's
3637// API operation ListDeviceProfiles for usage and error information.
3638//
3639// Returned Error Types:
3640//   * ValidationException
3641//   The input did not meet the specified constraints.
3642//
3643//   * AccessDeniedException
3644//   User does not have permission to perform this action.
3645//
3646//   * InternalServerException
3647//   An unexpected error occurred while processing a request.
3648//
3649//   * ThrottlingException
3650//   The request was denied because it exceeded the allowed API request rate.
3651//
3652// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListDeviceProfiles
3653func (c *IoTWireless) ListDeviceProfiles(input *ListDeviceProfilesInput) (*ListDeviceProfilesOutput, error) {
3654	req, out := c.ListDeviceProfilesRequest(input)
3655	return out, req.Send()
3656}
3657
3658// ListDeviceProfilesWithContext is the same as ListDeviceProfiles with the addition of
3659// the ability to pass a context and additional request options.
3660//
3661// See ListDeviceProfiles for details on how to use this API operation.
3662//
3663// The context must be non-nil and will be used for request cancellation. If
3664// the context is nil a panic will occur. In the future the SDK may create
3665// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3666// for more information on using Contexts.
3667func (c *IoTWireless) ListDeviceProfilesWithContext(ctx aws.Context, input *ListDeviceProfilesInput, opts ...request.Option) (*ListDeviceProfilesOutput, error) {
3668	req, out := c.ListDeviceProfilesRequest(input)
3669	req.SetContext(ctx)
3670	req.ApplyOptions(opts...)
3671	return out, req.Send()
3672}
3673
3674// ListDeviceProfilesPages iterates over the pages of a ListDeviceProfiles operation,
3675// calling the "fn" function with the response data for each page. To stop
3676// iterating, return false from the fn function.
3677//
3678// See ListDeviceProfiles method for more information on how to use this operation.
3679//
3680// Note: This operation can generate multiple requests to a service.
3681//
3682//    // Example iterating over at most 3 pages of a ListDeviceProfiles operation.
3683//    pageNum := 0
3684//    err := client.ListDeviceProfilesPages(params,
3685//        func(page *iotwireless.ListDeviceProfilesOutput, lastPage bool) bool {
3686//            pageNum++
3687//            fmt.Println(page)
3688//            return pageNum <= 3
3689//        })
3690//
3691func (c *IoTWireless) ListDeviceProfilesPages(input *ListDeviceProfilesInput, fn func(*ListDeviceProfilesOutput, bool) bool) error {
3692	return c.ListDeviceProfilesPagesWithContext(aws.BackgroundContext(), input, fn)
3693}
3694
3695// ListDeviceProfilesPagesWithContext same as ListDeviceProfilesPages except
3696// it takes a Context and allows setting request options on the pages.
3697//
3698// The context must be non-nil and will be used for request cancellation. If
3699// the context is nil a panic will occur. In the future the SDK may create
3700// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3701// for more information on using Contexts.
3702func (c *IoTWireless) ListDeviceProfilesPagesWithContext(ctx aws.Context, input *ListDeviceProfilesInput, fn func(*ListDeviceProfilesOutput, bool) bool, opts ...request.Option) error {
3703	p := request.Pagination{
3704		NewRequest: func() (*request.Request, error) {
3705			var inCpy *ListDeviceProfilesInput
3706			if input != nil {
3707				tmp := *input
3708				inCpy = &tmp
3709			}
3710			req, _ := c.ListDeviceProfilesRequest(inCpy)
3711			req.SetContext(ctx)
3712			req.ApplyOptions(opts...)
3713			return req, nil
3714		},
3715	}
3716
3717	for p.Next() {
3718		if !fn(p.Page().(*ListDeviceProfilesOutput), !p.HasNextPage()) {
3719			break
3720		}
3721	}
3722
3723	return p.Err()
3724}
3725
3726const opListPartnerAccounts = "ListPartnerAccounts"
3727
3728// ListPartnerAccountsRequest generates a "aws/request.Request" representing the
3729// client's request for the ListPartnerAccounts operation. The "output" return
3730// value will be populated with the request's response once the request completes
3731// successfully.
3732//
3733// Use "Send" method on the returned Request to send the API call to the service.
3734// the "output" return value is not valid until after Send returns without error.
3735//
3736// See ListPartnerAccounts for more information on using the ListPartnerAccounts
3737// API call, and error handling.
3738//
3739// This method is useful when you want to inject custom logic or configuration
3740// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3741//
3742//
3743//    // Example sending a request using the ListPartnerAccountsRequest method.
3744//    req, resp := client.ListPartnerAccountsRequest(params)
3745//
3746//    err := req.Send()
3747//    if err == nil { // resp is now filled
3748//        fmt.Println(resp)
3749//    }
3750//
3751// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListPartnerAccounts
3752func (c *IoTWireless) ListPartnerAccountsRequest(input *ListPartnerAccountsInput) (req *request.Request, output *ListPartnerAccountsOutput) {
3753	op := &request.Operation{
3754		Name:       opListPartnerAccounts,
3755		HTTPMethod: "GET",
3756		HTTPPath:   "/partner-accounts",
3757	}
3758
3759	if input == nil {
3760		input = &ListPartnerAccountsInput{}
3761	}
3762
3763	output = &ListPartnerAccountsOutput{}
3764	req = c.newRequest(op, input, output)
3765	return
3766}
3767
3768// ListPartnerAccounts API operation for AWS IoT Wireless.
3769//
3770// Lists the partner accounts associated with your AWS account.
3771//
3772// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3773// with awserr.Error's Code and Message methods to get detailed information about
3774// the error.
3775//
3776// See the AWS API reference guide for AWS IoT Wireless's
3777// API operation ListPartnerAccounts for usage and error information.
3778//
3779// Returned Error Types:
3780//   * ValidationException
3781//   The input did not meet the specified constraints.
3782//
3783//   * ResourceNotFoundException
3784//   Resource does not exist.
3785//
3786//   * InternalServerException
3787//   An unexpected error occurred while processing a request.
3788//
3789//   * ThrottlingException
3790//   The request was denied because it exceeded the allowed API request rate.
3791//
3792// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListPartnerAccounts
3793func (c *IoTWireless) ListPartnerAccounts(input *ListPartnerAccountsInput) (*ListPartnerAccountsOutput, error) {
3794	req, out := c.ListPartnerAccountsRequest(input)
3795	return out, req.Send()
3796}
3797
3798// ListPartnerAccountsWithContext is the same as ListPartnerAccounts with the addition of
3799// the ability to pass a context and additional request options.
3800//
3801// See ListPartnerAccounts for details on how to use this API operation.
3802//
3803// The context must be non-nil and will be used for request cancellation. If
3804// the context is nil a panic will occur. In the future the SDK may create
3805// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3806// for more information on using Contexts.
3807func (c *IoTWireless) ListPartnerAccountsWithContext(ctx aws.Context, input *ListPartnerAccountsInput, opts ...request.Option) (*ListPartnerAccountsOutput, error) {
3808	req, out := c.ListPartnerAccountsRequest(input)
3809	req.SetContext(ctx)
3810	req.ApplyOptions(opts...)
3811	return out, req.Send()
3812}
3813
3814const opListServiceProfiles = "ListServiceProfiles"
3815
3816// ListServiceProfilesRequest generates a "aws/request.Request" representing the
3817// client's request for the ListServiceProfiles operation. The "output" return
3818// value will be populated with the request's response once the request completes
3819// successfully.
3820//
3821// Use "Send" method on the returned Request to send the API call to the service.
3822// the "output" return value is not valid until after Send returns without error.
3823//
3824// See ListServiceProfiles for more information on using the ListServiceProfiles
3825// API call, and error handling.
3826//
3827// This method is useful when you want to inject custom logic or configuration
3828// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3829//
3830//
3831//    // Example sending a request using the ListServiceProfilesRequest method.
3832//    req, resp := client.ListServiceProfilesRequest(params)
3833//
3834//    err := req.Send()
3835//    if err == nil { // resp is now filled
3836//        fmt.Println(resp)
3837//    }
3838//
3839// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListServiceProfiles
3840func (c *IoTWireless) ListServiceProfilesRequest(input *ListServiceProfilesInput) (req *request.Request, output *ListServiceProfilesOutput) {
3841	op := &request.Operation{
3842		Name:       opListServiceProfiles,
3843		HTTPMethod: "GET",
3844		HTTPPath:   "/service-profiles",
3845		Paginator: &request.Paginator{
3846			InputTokens:     []string{"NextToken"},
3847			OutputTokens:    []string{"NextToken"},
3848			LimitToken:      "MaxResults",
3849			TruncationToken: "",
3850		},
3851	}
3852
3853	if input == nil {
3854		input = &ListServiceProfilesInput{}
3855	}
3856
3857	output = &ListServiceProfilesOutput{}
3858	req = c.newRequest(op, input, output)
3859	return
3860}
3861
3862// ListServiceProfiles API operation for AWS IoT Wireless.
3863//
3864// Lists the service profiles registered to your AWS account.
3865//
3866// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3867// with awserr.Error's Code and Message methods to get detailed information about
3868// the error.
3869//
3870// See the AWS API reference guide for AWS IoT Wireless's
3871// API operation ListServiceProfiles for usage and error information.
3872//
3873// Returned Error Types:
3874//   * ValidationException
3875//   The input did not meet the specified constraints.
3876//
3877//   * AccessDeniedException
3878//   User does not have permission to perform this action.
3879//
3880//   * InternalServerException
3881//   An unexpected error occurred while processing a request.
3882//
3883//   * ThrottlingException
3884//   The request was denied because it exceeded the allowed API request rate.
3885//
3886// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListServiceProfiles
3887func (c *IoTWireless) ListServiceProfiles(input *ListServiceProfilesInput) (*ListServiceProfilesOutput, error) {
3888	req, out := c.ListServiceProfilesRequest(input)
3889	return out, req.Send()
3890}
3891
3892// ListServiceProfilesWithContext is the same as ListServiceProfiles with the addition of
3893// the ability to pass a context and additional request options.
3894//
3895// See ListServiceProfiles for details on how to use this API operation.
3896//
3897// The context must be non-nil and will be used for request cancellation. If
3898// the context is nil a panic will occur. In the future the SDK may create
3899// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3900// for more information on using Contexts.
3901func (c *IoTWireless) ListServiceProfilesWithContext(ctx aws.Context, input *ListServiceProfilesInput, opts ...request.Option) (*ListServiceProfilesOutput, error) {
3902	req, out := c.ListServiceProfilesRequest(input)
3903	req.SetContext(ctx)
3904	req.ApplyOptions(opts...)
3905	return out, req.Send()
3906}
3907
3908// ListServiceProfilesPages iterates over the pages of a ListServiceProfiles operation,
3909// calling the "fn" function with the response data for each page. To stop
3910// iterating, return false from the fn function.
3911//
3912// See ListServiceProfiles method for more information on how to use this operation.
3913//
3914// Note: This operation can generate multiple requests to a service.
3915//
3916//    // Example iterating over at most 3 pages of a ListServiceProfiles operation.
3917//    pageNum := 0
3918//    err := client.ListServiceProfilesPages(params,
3919//        func(page *iotwireless.ListServiceProfilesOutput, lastPage bool) bool {
3920//            pageNum++
3921//            fmt.Println(page)
3922//            return pageNum <= 3
3923//        })
3924//
3925func (c *IoTWireless) ListServiceProfilesPages(input *ListServiceProfilesInput, fn func(*ListServiceProfilesOutput, bool) bool) error {
3926	return c.ListServiceProfilesPagesWithContext(aws.BackgroundContext(), input, fn)
3927}
3928
3929// ListServiceProfilesPagesWithContext same as ListServiceProfilesPages except
3930// it takes a Context and allows setting request options on the pages.
3931//
3932// The context must be non-nil and will be used for request cancellation. If
3933// the context is nil a panic will occur. In the future the SDK may create
3934// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3935// for more information on using Contexts.
3936func (c *IoTWireless) ListServiceProfilesPagesWithContext(ctx aws.Context, input *ListServiceProfilesInput, fn func(*ListServiceProfilesOutput, bool) bool, opts ...request.Option) error {
3937	p := request.Pagination{
3938		NewRequest: func() (*request.Request, error) {
3939			var inCpy *ListServiceProfilesInput
3940			if input != nil {
3941				tmp := *input
3942				inCpy = &tmp
3943			}
3944			req, _ := c.ListServiceProfilesRequest(inCpy)
3945			req.SetContext(ctx)
3946			req.ApplyOptions(opts...)
3947			return req, nil
3948		},
3949	}
3950
3951	for p.Next() {
3952		if !fn(p.Page().(*ListServiceProfilesOutput), !p.HasNextPage()) {
3953			break
3954		}
3955	}
3956
3957	return p.Err()
3958}
3959
3960const opListTagsForResource = "ListTagsForResource"
3961
3962// ListTagsForResourceRequest generates a "aws/request.Request" representing the
3963// client's request for the ListTagsForResource operation. The "output" return
3964// value will be populated with the request's response once the request completes
3965// successfully.
3966//
3967// Use "Send" method on the returned Request to send the API call to the service.
3968// the "output" return value is not valid until after Send returns without error.
3969//
3970// See ListTagsForResource for more information on using the ListTagsForResource
3971// API call, and error handling.
3972//
3973// This method is useful when you want to inject custom logic or configuration
3974// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3975//
3976//
3977//    // Example sending a request using the ListTagsForResourceRequest method.
3978//    req, resp := client.ListTagsForResourceRequest(params)
3979//
3980//    err := req.Send()
3981//    if err == nil { // resp is now filled
3982//        fmt.Println(resp)
3983//    }
3984//
3985// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListTagsForResource
3986func (c *IoTWireless) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
3987	op := &request.Operation{
3988		Name:       opListTagsForResource,
3989		HTTPMethod: "GET",
3990		HTTPPath:   "/tags",
3991	}
3992
3993	if input == nil {
3994		input = &ListTagsForResourceInput{}
3995	}
3996
3997	output = &ListTagsForResourceOutput{}
3998	req = c.newRequest(op, input, output)
3999	return
4000}
4001
4002// ListTagsForResource API operation for AWS IoT Wireless.
4003//
4004// Lists the tags (metadata) you have assigned to the resource.
4005//
4006// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4007// with awserr.Error's Code and Message methods to get detailed information about
4008// the error.
4009//
4010// See the AWS API reference guide for AWS IoT Wireless's
4011// API operation ListTagsForResource for usage and error information.
4012//
4013// Returned Error Types:
4014//   * ValidationException
4015//   The input did not meet the specified constraints.
4016//
4017//   * ResourceNotFoundException
4018//   Resource does not exist.
4019//
4020//   * ConflictException
4021//   Adding, updating, or deleting the resource can cause an inconsistent state.
4022//
4023//   * InternalServerException
4024//   An unexpected error occurred while processing a request.
4025//
4026//   * ThrottlingException
4027//   The request was denied because it exceeded the allowed API request rate.
4028//
4029// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListTagsForResource
4030func (c *IoTWireless) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4031	req, out := c.ListTagsForResourceRequest(input)
4032	return out, req.Send()
4033}
4034
4035// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4036// the ability to pass a context and additional request options.
4037//
4038// See ListTagsForResource for details on how to use this API operation.
4039//
4040// The context must be non-nil and will be used for request cancellation. If
4041// the context is nil a panic will occur. In the future the SDK may create
4042// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4043// for more information on using Contexts.
4044func (c *IoTWireless) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4045	req, out := c.ListTagsForResourceRequest(input)
4046	req.SetContext(ctx)
4047	req.ApplyOptions(opts...)
4048	return out, req.Send()
4049}
4050
4051const opListWirelessDevices = "ListWirelessDevices"
4052
4053// ListWirelessDevicesRequest generates a "aws/request.Request" representing the
4054// client's request for the ListWirelessDevices operation. The "output" return
4055// value will be populated with the request's response once the request completes
4056// successfully.
4057//
4058// Use "Send" method on the returned Request to send the API call to the service.
4059// the "output" return value is not valid until after Send returns without error.
4060//
4061// See ListWirelessDevices for more information on using the ListWirelessDevices
4062// API call, and error handling.
4063//
4064// This method is useful when you want to inject custom logic or configuration
4065// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4066//
4067//
4068//    // Example sending a request using the ListWirelessDevicesRequest method.
4069//    req, resp := client.ListWirelessDevicesRequest(params)
4070//
4071//    err := req.Send()
4072//    if err == nil { // resp is now filled
4073//        fmt.Println(resp)
4074//    }
4075//
4076// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListWirelessDevices
4077func (c *IoTWireless) ListWirelessDevicesRequest(input *ListWirelessDevicesInput) (req *request.Request, output *ListWirelessDevicesOutput) {
4078	op := &request.Operation{
4079		Name:       opListWirelessDevices,
4080		HTTPMethod: "GET",
4081		HTTPPath:   "/wireless-devices",
4082		Paginator: &request.Paginator{
4083			InputTokens:     []string{"NextToken"},
4084			OutputTokens:    []string{"NextToken"},
4085			LimitToken:      "MaxResults",
4086			TruncationToken: "",
4087		},
4088	}
4089
4090	if input == nil {
4091		input = &ListWirelessDevicesInput{}
4092	}
4093
4094	output = &ListWirelessDevicesOutput{}
4095	req = c.newRequest(op, input, output)
4096	return
4097}
4098
4099// ListWirelessDevices API operation for AWS IoT Wireless.
4100//
4101// Lists the wireless devices registered to your AWS account.
4102//
4103// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4104// with awserr.Error's Code and Message methods to get detailed information about
4105// the error.
4106//
4107// See the AWS API reference guide for AWS IoT Wireless's
4108// API operation ListWirelessDevices for usage and error information.
4109//
4110// Returned Error Types:
4111//   * ValidationException
4112//   The input did not meet the specified constraints.
4113//
4114//   * InternalServerException
4115//   An unexpected error occurred while processing a request.
4116//
4117//   * ThrottlingException
4118//   The request was denied because it exceeded the allowed API request rate.
4119//
4120//   * AccessDeniedException
4121//   User does not have permission to perform this action.
4122//
4123// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListWirelessDevices
4124func (c *IoTWireless) ListWirelessDevices(input *ListWirelessDevicesInput) (*ListWirelessDevicesOutput, error) {
4125	req, out := c.ListWirelessDevicesRequest(input)
4126	return out, req.Send()
4127}
4128
4129// ListWirelessDevicesWithContext is the same as ListWirelessDevices with the addition of
4130// the ability to pass a context and additional request options.
4131//
4132// See ListWirelessDevices for details on how to use this API operation.
4133//
4134// The context must be non-nil and will be used for request cancellation. If
4135// the context is nil a panic will occur. In the future the SDK may create
4136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4137// for more information on using Contexts.
4138func (c *IoTWireless) ListWirelessDevicesWithContext(ctx aws.Context, input *ListWirelessDevicesInput, opts ...request.Option) (*ListWirelessDevicesOutput, error) {
4139	req, out := c.ListWirelessDevicesRequest(input)
4140	req.SetContext(ctx)
4141	req.ApplyOptions(opts...)
4142	return out, req.Send()
4143}
4144
4145// ListWirelessDevicesPages iterates over the pages of a ListWirelessDevices operation,
4146// calling the "fn" function with the response data for each page. To stop
4147// iterating, return false from the fn function.
4148//
4149// See ListWirelessDevices method for more information on how to use this operation.
4150//
4151// Note: This operation can generate multiple requests to a service.
4152//
4153//    // Example iterating over at most 3 pages of a ListWirelessDevices operation.
4154//    pageNum := 0
4155//    err := client.ListWirelessDevicesPages(params,
4156//        func(page *iotwireless.ListWirelessDevicesOutput, lastPage bool) bool {
4157//            pageNum++
4158//            fmt.Println(page)
4159//            return pageNum <= 3
4160//        })
4161//
4162func (c *IoTWireless) ListWirelessDevicesPages(input *ListWirelessDevicesInput, fn func(*ListWirelessDevicesOutput, bool) bool) error {
4163	return c.ListWirelessDevicesPagesWithContext(aws.BackgroundContext(), input, fn)
4164}
4165
4166// ListWirelessDevicesPagesWithContext same as ListWirelessDevicesPages except
4167// it takes a Context and allows setting request options on the pages.
4168//
4169// The context must be non-nil and will be used for request cancellation. If
4170// the context is nil a panic will occur. In the future the SDK may create
4171// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4172// for more information on using Contexts.
4173func (c *IoTWireless) ListWirelessDevicesPagesWithContext(ctx aws.Context, input *ListWirelessDevicesInput, fn func(*ListWirelessDevicesOutput, bool) bool, opts ...request.Option) error {
4174	p := request.Pagination{
4175		NewRequest: func() (*request.Request, error) {
4176			var inCpy *ListWirelessDevicesInput
4177			if input != nil {
4178				tmp := *input
4179				inCpy = &tmp
4180			}
4181			req, _ := c.ListWirelessDevicesRequest(inCpy)
4182			req.SetContext(ctx)
4183			req.ApplyOptions(opts...)
4184			return req, nil
4185		},
4186	}
4187
4188	for p.Next() {
4189		if !fn(p.Page().(*ListWirelessDevicesOutput), !p.HasNextPage()) {
4190			break
4191		}
4192	}
4193
4194	return p.Err()
4195}
4196
4197const opListWirelessGatewayTaskDefinitions = "ListWirelessGatewayTaskDefinitions"
4198
4199// ListWirelessGatewayTaskDefinitionsRequest generates a "aws/request.Request" representing the
4200// client's request for the ListWirelessGatewayTaskDefinitions operation. The "output" return
4201// value will be populated with the request's response once the request completes
4202// successfully.
4203//
4204// Use "Send" method on the returned Request to send the API call to the service.
4205// the "output" return value is not valid until after Send returns without error.
4206//
4207// See ListWirelessGatewayTaskDefinitions for more information on using the ListWirelessGatewayTaskDefinitions
4208// API call, and error handling.
4209//
4210// This method is useful when you want to inject custom logic or configuration
4211// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4212//
4213//
4214//    // Example sending a request using the ListWirelessGatewayTaskDefinitionsRequest method.
4215//    req, resp := client.ListWirelessGatewayTaskDefinitionsRequest(params)
4216//
4217//    err := req.Send()
4218//    if err == nil { // resp is now filled
4219//        fmt.Println(resp)
4220//    }
4221//
4222// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListWirelessGatewayTaskDefinitions
4223func (c *IoTWireless) ListWirelessGatewayTaskDefinitionsRequest(input *ListWirelessGatewayTaskDefinitionsInput) (req *request.Request, output *ListWirelessGatewayTaskDefinitionsOutput) {
4224	op := &request.Operation{
4225		Name:       opListWirelessGatewayTaskDefinitions,
4226		HTTPMethod: "GET",
4227		HTTPPath:   "/wireless-gateway-task-definitions",
4228	}
4229
4230	if input == nil {
4231		input = &ListWirelessGatewayTaskDefinitionsInput{}
4232	}
4233
4234	output = &ListWirelessGatewayTaskDefinitionsOutput{}
4235	req = c.newRequest(op, input, output)
4236	return
4237}
4238
4239// ListWirelessGatewayTaskDefinitions API operation for AWS IoT Wireless.
4240//
4241// List the wireless gateway tasks definitions registered to your AWS account.
4242//
4243// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4244// with awserr.Error's Code and Message methods to get detailed information about
4245// the error.
4246//
4247// See the AWS API reference guide for AWS IoT Wireless's
4248// API operation ListWirelessGatewayTaskDefinitions for usage and error information.
4249//
4250// Returned Error Types:
4251//   * ValidationException
4252//   The input did not meet the specified constraints.
4253//
4254//   * AccessDeniedException
4255//   User does not have permission to perform this action.
4256//
4257//   * InternalServerException
4258//   An unexpected error occurred while processing a request.
4259//
4260//   * ThrottlingException
4261//   The request was denied because it exceeded the allowed API request rate.
4262//
4263// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListWirelessGatewayTaskDefinitions
4264func (c *IoTWireless) ListWirelessGatewayTaskDefinitions(input *ListWirelessGatewayTaskDefinitionsInput) (*ListWirelessGatewayTaskDefinitionsOutput, error) {
4265	req, out := c.ListWirelessGatewayTaskDefinitionsRequest(input)
4266	return out, req.Send()
4267}
4268
4269// ListWirelessGatewayTaskDefinitionsWithContext is the same as ListWirelessGatewayTaskDefinitions with the addition of
4270// the ability to pass a context and additional request options.
4271//
4272// See ListWirelessGatewayTaskDefinitions for details on how to use this API operation.
4273//
4274// The context must be non-nil and will be used for request cancellation. If
4275// the context is nil a panic will occur. In the future the SDK may create
4276// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4277// for more information on using Contexts.
4278func (c *IoTWireless) ListWirelessGatewayTaskDefinitionsWithContext(ctx aws.Context, input *ListWirelessGatewayTaskDefinitionsInput, opts ...request.Option) (*ListWirelessGatewayTaskDefinitionsOutput, error) {
4279	req, out := c.ListWirelessGatewayTaskDefinitionsRequest(input)
4280	req.SetContext(ctx)
4281	req.ApplyOptions(opts...)
4282	return out, req.Send()
4283}
4284
4285const opListWirelessGateways = "ListWirelessGateways"
4286
4287// ListWirelessGatewaysRequest generates a "aws/request.Request" representing the
4288// client's request for the ListWirelessGateways operation. The "output" return
4289// value will be populated with the request's response once the request completes
4290// successfully.
4291//
4292// Use "Send" method on the returned Request to send the API call to the service.
4293// the "output" return value is not valid until after Send returns without error.
4294//
4295// See ListWirelessGateways for more information on using the ListWirelessGateways
4296// API call, and error handling.
4297//
4298// This method is useful when you want to inject custom logic or configuration
4299// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4300//
4301//
4302//    // Example sending a request using the ListWirelessGatewaysRequest method.
4303//    req, resp := client.ListWirelessGatewaysRequest(params)
4304//
4305//    err := req.Send()
4306//    if err == nil { // resp is now filled
4307//        fmt.Println(resp)
4308//    }
4309//
4310// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListWirelessGateways
4311func (c *IoTWireless) ListWirelessGatewaysRequest(input *ListWirelessGatewaysInput) (req *request.Request, output *ListWirelessGatewaysOutput) {
4312	op := &request.Operation{
4313		Name:       opListWirelessGateways,
4314		HTTPMethod: "GET",
4315		HTTPPath:   "/wireless-gateways",
4316		Paginator: &request.Paginator{
4317			InputTokens:     []string{"NextToken"},
4318			OutputTokens:    []string{"NextToken"},
4319			LimitToken:      "MaxResults",
4320			TruncationToken: "",
4321		},
4322	}
4323
4324	if input == nil {
4325		input = &ListWirelessGatewaysInput{}
4326	}
4327
4328	output = &ListWirelessGatewaysOutput{}
4329	req = c.newRequest(op, input, output)
4330	return
4331}
4332
4333// ListWirelessGateways API operation for AWS IoT Wireless.
4334//
4335// Lists the wireless gateways registered to your AWS account.
4336//
4337// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4338// with awserr.Error's Code and Message methods to get detailed information about
4339// the error.
4340//
4341// See the AWS API reference guide for AWS IoT Wireless's
4342// API operation ListWirelessGateways for usage and error information.
4343//
4344// Returned Error Types:
4345//   * ValidationException
4346//   The input did not meet the specified constraints.
4347//
4348//   * InternalServerException
4349//   An unexpected error occurred while processing a request.
4350//
4351//   * ThrottlingException
4352//   The request was denied because it exceeded the allowed API request rate.
4353//
4354//   * AccessDeniedException
4355//   User does not have permission to perform this action.
4356//
4357// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ListWirelessGateways
4358func (c *IoTWireless) ListWirelessGateways(input *ListWirelessGatewaysInput) (*ListWirelessGatewaysOutput, error) {
4359	req, out := c.ListWirelessGatewaysRequest(input)
4360	return out, req.Send()
4361}
4362
4363// ListWirelessGatewaysWithContext is the same as ListWirelessGateways with the addition of
4364// the ability to pass a context and additional request options.
4365//
4366// See ListWirelessGateways for details on how to use this API operation.
4367//
4368// The context must be non-nil and will be used for request cancellation. If
4369// the context is nil a panic will occur. In the future the SDK may create
4370// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4371// for more information on using Contexts.
4372func (c *IoTWireless) ListWirelessGatewaysWithContext(ctx aws.Context, input *ListWirelessGatewaysInput, opts ...request.Option) (*ListWirelessGatewaysOutput, error) {
4373	req, out := c.ListWirelessGatewaysRequest(input)
4374	req.SetContext(ctx)
4375	req.ApplyOptions(opts...)
4376	return out, req.Send()
4377}
4378
4379// ListWirelessGatewaysPages iterates over the pages of a ListWirelessGateways operation,
4380// calling the "fn" function with the response data for each page. To stop
4381// iterating, return false from the fn function.
4382//
4383// See ListWirelessGateways method for more information on how to use this operation.
4384//
4385// Note: This operation can generate multiple requests to a service.
4386//
4387//    // Example iterating over at most 3 pages of a ListWirelessGateways operation.
4388//    pageNum := 0
4389//    err := client.ListWirelessGatewaysPages(params,
4390//        func(page *iotwireless.ListWirelessGatewaysOutput, lastPage bool) bool {
4391//            pageNum++
4392//            fmt.Println(page)
4393//            return pageNum <= 3
4394//        })
4395//
4396func (c *IoTWireless) ListWirelessGatewaysPages(input *ListWirelessGatewaysInput, fn func(*ListWirelessGatewaysOutput, bool) bool) error {
4397	return c.ListWirelessGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
4398}
4399
4400// ListWirelessGatewaysPagesWithContext same as ListWirelessGatewaysPages except
4401// it takes a Context and allows setting request options on the pages.
4402//
4403// The context must be non-nil and will be used for request cancellation. If
4404// the context is nil a panic will occur. In the future the SDK may create
4405// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4406// for more information on using Contexts.
4407func (c *IoTWireless) ListWirelessGatewaysPagesWithContext(ctx aws.Context, input *ListWirelessGatewaysInput, fn func(*ListWirelessGatewaysOutput, bool) bool, opts ...request.Option) error {
4408	p := request.Pagination{
4409		NewRequest: func() (*request.Request, error) {
4410			var inCpy *ListWirelessGatewaysInput
4411			if input != nil {
4412				tmp := *input
4413				inCpy = &tmp
4414			}
4415			req, _ := c.ListWirelessGatewaysRequest(inCpy)
4416			req.SetContext(ctx)
4417			req.ApplyOptions(opts...)
4418			return req, nil
4419		},
4420	}
4421
4422	for p.Next() {
4423		if !fn(p.Page().(*ListWirelessGatewaysOutput), !p.HasNextPage()) {
4424			break
4425		}
4426	}
4427
4428	return p.Err()
4429}
4430
4431const opPutResourceLogLevel = "PutResourceLogLevel"
4432
4433// PutResourceLogLevelRequest generates a "aws/request.Request" representing the
4434// client's request for the PutResourceLogLevel operation. The "output" return
4435// value will be populated with the request's response once the request completes
4436// successfully.
4437//
4438// Use "Send" method on the returned Request to send the API call to the service.
4439// the "output" return value is not valid until after Send returns without error.
4440//
4441// See PutResourceLogLevel for more information on using the PutResourceLogLevel
4442// API call, and error handling.
4443//
4444// This method is useful when you want to inject custom logic or configuration
4445// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4446//
4447//
4448//    // Example sending a request using the PutResourceLogLevelRequest method.
4449//    req, resp := client.PutResourceLogLevelRequest(params)
4450//
4451//    err := req.Send()
4452//    if err == nil { // resp is now filled
4453//        fmt.Println(resp)
4454//    }
4455//
4456// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/PutResourceLogLevel
4457func (c *IoTWireless) PutResourceLogLevelRequest(input *PutResourceLogLevelInput) (req *request.Request, output *PutResourceLogLevelOutput) {
4458	op := &request.Operation{
4459		Name:       opPutResourceLogLevel,
4460		HTTPMethod: "PUT",
4461		HTTPPath:   "/log-levels/{ResourceIdentifier}",
4462	}
4463
4464	if input == nil {
4465		input = &PutResourceLogLevelInput{}
4466	}
4467
4468	output = &PutResourceLogLevelOutput{}
4469	req = c.newRequest(op, input, output)
4470	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4471	return
4472}
4473
4474// PutResourceLogLevel API operation for AWS IoT Wireless.
4475//
4476// Sets the log-level override for a resource-ID and resource-type. This option
4477// can be specified for a wireless gateway or a wireless device. A limit of
4478// 200 log level override can be set per account.
4479//
4480// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4481// with awserr.Error's Code and Message methods to get detailed information about
4482// the error.
4483//
4484// See the AWS API reference guide for AWS IoT Wireless's
4485// API operation PutResourceLogLevel for usage and error information.
4486//
4487// Returned Error Types:
4488//   * AccessDeniedException
4489//   User does not have permission to perform this action.
4490//
4491//   * InternalServerException
4492//   An unexpected error occurred while processing a request.
4493//
4494//   * ResourceNotFoundException
4495//   Resource does not exist.
4496//
4497//   * ThrottlingException
4498//   The request was denied because it exceeded the allowed API request rate.
4499//
4500//   * ValidationException
4501//   The input did not meet the specified constraints.
4502//
4503// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/PutResourceLogLevel
4504func (c *IoTWireless) PutResourceLogLevel(input *PutResourceLogLevelInput) (*PutResourceLogLevelOutput, error) {
4505	req, out := c.PutResourceLogLevelRequest(input)
4506	return out, req.Send()
4507}
4508
4509// PutResourceLogLevelWithContext is the same as PutResourceLogLevel with the addition of
4510// the ability to pass a context and additional request options.
4511//
4512// See PutResourceLogLevel for details on how to use this API operation.
4513//
4514// The context must be non-nil and will be used for request cancellation. If
4515// the context is nil a panic will occur. In the future the SDK may create
4516// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4517// for more information on using Contexts.
4518func (c *IoTWireless) PutResourceLogLevelWithContext(ctx aws.Context, input *PutResourceLogLevelInput, opts ...request.Option) (*PutResourceLogLevelOutput, error) {
4519	req, out := c.PutResourceLogLevelRequest(input)
4520	req.SetContext(ctx)
4521	req.ApplyOptions(opts...)
4522	return out, req.Send()
4523}
4524
4525const opResetAllResourceLogLevels = "ResetAllResourceLogLevels"
4526
4527// ResetAllResourceLogLevelsRequest generates a "aws/request.Request" representing the
4528// client's request for the ResetAllResourceLogLevels operation. The "output" return
4529// value will be populated with the request's response once the request completes
4530// successfully.
4531//
4532// Use "Send" method on the returned Request to send the API call to the service.
4533// the "output" return value is not valid until after Send returns without error.
4534//
4535// See ResetAllResourceLogLevels for more information on using the ResetAllResourceLogLevels
4536// API call, and error handling.
4537//
4538// This method is useful when you want to inject custom logic or configuration
4539// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4540//
4541//
4542//    // Example sending a request using the ResetAllResourceLogLevelsRequest method.
4543//    req, resp := client.ResetAllResourceLogLevelsRequest(params)
4544//
4545//    err := req.Send()
4546//    if err == nil { // resp is now filled
4547//        fmt.Println(resp)
4548//    }
4549//
4550// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ResetAllResourceLogLevels
4551func (c *IoTWireless) ResetAllResourceLogLevelsRequest(input *ResetAllResourceLogLevelsInput) (req *request.Request, output *ResetAllResourceLogLevelsOutput) {
4552	op := &request.Operation{
4553		Name:       opResetAllResourceLogLevels,
4554		HTTPMethod: "DELETE",
4555		HTTPPath:   "/log-levels",
4556	}
4557
4558	if input == nil {
4559		input = &ResetAllResourceLogLevelsInput{}
4560	}
4561
4562	output = &ResetAllResourceLogLevelsOutput{}
4563	req = c.newRequest(op, input, output)
4564	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4565	return
4566}
4567
4568// ResetAllResourceLogLevels API operation for AWS IoT Wireless.
4569//
4570// Removes the log-level overrides for all resources; both wireless devices
4571// and wireless gateways.
4572//
4573// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4574// with awserr.Error's Code and Message methods to get detailed information about
4575// the error.
4576//
4577// See the AWS API reference guide for AWS IoT Wireless's
4578// API operation ResetAllResourceLogLevels for usage and error information.
4579//
4580// Returned Error Types:
4581//   * AccessDeniedException
4582//   User does not have permission to perform this action.
4583//
4584//   * InternalServerException
4585//   An unexpected error occurred while processing a request.
4586//
4587//   * ResourceNotFoundException
4588//   Resource does not exist.
4589//
4590//   * ThrottlingException
4591//   The request was denied because it exceeded the allowed API request rate.
4592//
4593//   * ValidationException
4594//   The input did not meet the specified constraints.
4595//
4596// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ResetAllResourceLogLevels
4597func (c *IoTWireless) ResetAllResourceLogLevels(input *ResetAllResourceLogLevelsInput) (*ResetAllResourceLogLevelsOutput, error) {
4598	req, out := c.ResetAllResourceLogLevelsRequest(input)
4599	return out, req.Send()
4600}
4601
4602// ResetAllResourceLogLevelsWithContext is the same as ResetAllResourceLogLevels with the addition of
4603// the ability to pass a context and additional request options.
4604//
4605// See ResetAllResourceLogLevels for details on how to use this API operation.
4606//
4607// The context must be non-nil and will be used for request cancellation. If
4608// the context is nil a panic will occur. In the future the SDK may create
4609// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4610// for more information on using Contexts.
4611func (c *IoTWireless) ResetAllResourceLogLevelsWithContext(ctx aws.Context, input *ResetAllResourceLogLevelsInput, opts ...request.Option) (*ResetAllResourceLogLevelsOutput, error) {
4612	req, out := c.ResetAllResourceLogLevelsRequest(input)
4613	req.SetContext(ctx)
4614	req.ApplyOptions(opts...)
4615	return out, req.Send()
4616}
4617
4618const opResetResourceLogLevel = "ResetResourceLogLevel"
4619
4620// ResetResourceLogLevelRequest generates a "aws/request.Request" representing the
4621// client's request for the ResetResourceLogLevel operation. The "output" return
4622// value will be populated with the request's response once the request completes
4623// successfully.
4624//
4625// Use "Send" method on the returned Request to send the API call to the service.
4626// the "output" return value is not valid until after Send returns without error.
4627//
4628// See ResetResourceLogLevel for more information on using the ResetResourceLogLevel
4629// API call, and error handling.
4630//
4631// This method is useful when you want to inject custom logic or configuration
4632// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4633//
4634//
4635//    // Example sending a request using the ResetResourceLogLevelRequest method.
4636//    req, resp := client.ResetResourceLogLevelRequest(params)
4637//
4638//    err := req.Send()
4639//    if err == nil { // resp is now filled
4640//        fmt.Println(resp)
4641//    }
4642//
4643// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ResetResourceLogLevel
4644func (c *IoTWireless) ResetResourceLogLevelRequest(input *ResetResourceLogLevelInput) (req *request.Request, output *ResetResourceLogLevelOutput) {
4645	op := &request.Operation{
4646		Name:       opResetResourceLogLevel,
4647		HTTPMethod: "DELETE",
4648		HTTPPath:   "/log-levels/{ResourceIdentifier}",
4649	}
4650
4651	if input == nil {
4652		input = &ResetResourceLogLevelInput{}
4653	}
4654
4655	output = &ResetResourceLogLevelOutput{}
4656	req = c.newRequest(op, input, output)
4657	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4658	return
4659}
4660
4661// ResetResourceLogLevel API operation for AWS IoT Wireless.
4662//
4663// Removes the log-level override, if any, for a specific resource-ID and resource-type.
4664// It can be used for a wireless device or a wireless gateway.
4665//
4666// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4667// with awserr.Error's Code and Message methods to get detailed information about
4668// the error.
4669//
4670// See the AWS API reference guide for AWS IoT Wireless's
4671// API operation ResetResourceLogLevel for usage and error information.
4672//
4673// Returned Error Types:
4674//   * AccessDeniedException
4675//   User does not have permission to perform this action.
4676//
4677//   * InternalServerException
4678//   An unexpected error occurred while processing a request.
4679//
4680//   * ResourceNotFoundException
4681//   Resource does not exist.
4682//
4683//   * ThrottlingException
4684//   The request was denied because it exceeded the allowed API request rate.
4685//
4686//   * ValidationException
4687//   The input did not meet the specified constraints.
4688//
4689// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ResetResourceLogLevel
4690func (c *IoTWireless) ResetResourceLogLevel(input *ResetResourceLogLevelInput) (*ResetResourceLogLevelOutput, error) {
4691	req, out := c.ResetResourceLogLevelRequest(input)
4692	return out, req.Send()
4693}
4694
4695// ResetResourceLogLevelWithContext is the same as ResetResourceLogLevel with the addition of
4696// the ability to pass a context and additional request options.
4697//
4698// See ResetResourceLogLevel for details on how to use this API operation.
4699//
4700// The context must be non-nil and will be used for request cancellation. If
4701// the context is nil a panic will occur. In the future the SDK may create
4702// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4703// for more information on using Contexts.
4704func (c *IoTWireless) ResetResourceLogLevelWithContext(ctx aws.Context, input *ResetResourceLogLevelInput, opts ...request.Option) (*ResetResourceLogLevelOutput, error) {
4705	req, out := c.ResetResourceLogLevelRequest(input)
4706	req.SetContext(ctx)
4707	req.ApplyOptions(opts...)
4708	return out, req.Send()
4709}
4710
4711const opSendDataToWirelessDevice = "SendDataToWirelessDevice"
4712
4713// SendDataToWirelessDeviceRequest generates a "aws/request.Request" representing the
4714// client's request for the SendDataToWirelessDevice operation. The "output" return
4715// value will be populated with the request's response once the request completes
4716// successfully.
4717//
4718// Use "Send" method on the returned Request to send the API call to the service.
4719// the "output" return value is not valid until after Send returns without error.
4720//
4721// See SendDataToWirelessDevice for more information on using the SendDataToWirelessDevice
4722// API call, and error handling.
4723//
4724// This method is useful when you want to inject custom logic or configuration
4725// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4726//
4727//
4728//    // Example sending a request using the SendDataToWirelessDeviceRequest method.
4729//    req, resp := client.SendDataToWirelessDeviceRequest(params)
4730//
4731//    err := req.Send()
4732//    if err == nil { // resp is now filled
4733//        fmt.Println(resp)
4734//    }
4735//
4736// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/SendDataToWirelessDevice
4737func (c *IoTWireless) SendDataToWirelessDeviceRequest(input *SendDataToWirelessDeviceInput) (req *request.Request, output *SendDataToWirelessDeviceOutput) {
4738	op := &request.Operation{
4739		Name:       opSendDataToWirelessDevice,
4740		HTTPMethod: "POST",
4741		HTTPPath:   "/wireless-devices/{Id}/data",
4742	}
4743
4744	if input == nil {
4745		input = &SendDataToWirelessDeviceInput{}
4746	}
4747
4748	output = &SendDataToWirelessDeviceOutput{}
4749	req = c.newRequest(op, input, output)
4750	return
4751}
4752
4753// SendDataToWirelessDevice API operation for AWS IoT Wireless.
4754//
4755// Sends a decrypted application data frame to a device.
4756//
4757// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4758// with awserr.Error's Code and Message methods to get detailed information about
4759// the error.
4760//
4761// See the AWS API reference guide for AWS IoT Wireless's
4762// API operation SendDataToWirelessDevice for usage and error information.
4763//
4764// Returned Error Types:
4765//   * ValidationException
4766//   The input did not meet the specified constraints.
4767//
4768//   * ResourceNotFoundException
4769//   Resource does not exist.
4770//
4771//   * ThrottlingException
4772//   The request was denied because it exceeded the allowed API request rate.
4773//
4774//   * InternalServerException
4775//   An unexpected error occurred while processing a request.
4776//
4777// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/SendDataToWirelessDevice
4778func (c *IoTWireless) SendDataToWirelessDevice(input *SendDataToWirelessDeviceInput) (*SendDataToWirelessDeviceOutput, error) {
4779	req, out := c.SendDataToWirelessDeviceRequest(input)
4780	return out, req.Send()
4781}
4782
4783// SendDataToWirelessDeviceWithContext is the same as SendDataToWirelessDevice with the addition of
4784// the ability to pass a context and additional request options.
4785//
4786// See SendDataToWirelessDevice for details on how to use this API operation.
4787//
4788// The context must be non-nil and will be used for request cancellation. If
4789// the context is nil a panic will occur. In the future the SDK may create
4790// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4791// for more information on using Contexts.
4792func (c *IoTWireless) SendDataToWirelessDeviceWithContext(ctx aws.Context, input *SendDataToWirelessDeviceInput, opts ...request.Option) (*SendDataToWirelessDeviceOutput, error) {
4793	req, out := c.SendDataToWirelessDeviceRequest(input)
4794	req.SetContext(ctx)
4795	req.ApplyOptions(opts...)
4796	return out, req.Send()
4797}
4798
4799const opTagResource = "TagResource"
4800
4801// TagResourceRequest generates a "aws/request.Request" representing the
4802// client's request for the TagResource operation. The "output" return
4803// value will be populated with the request's response once the request completes
4804// successfully.
4805//
4806// Use "Send" method on the returned Request to send the API call to the service.
4807// the "output" return value is not valid until after Send returns without error.
4808//
4809// See TagResource for more information on using the TagResource
4810// API call, and error handling.
4811//
4812// This method is useful when you want to inject custom logic or configuration
4813// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4814//
4815//
4816//    // Example sending a request using the TagResourceRequest method.
4817//    req, resp := client.TagResourceRequest(params)
4818//
4819//    err := req.Send()
4820//    if err == nil { // resp is now filled
4821//        fmt.Println(resp)
4822//    }
4823//
4824// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TagResource
4825func (c *IoTWireless) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
4826	op := &request.Operation{
4827		Name:       opTagResource,
4828		HTTPMethod: "POST",
4829		HTTPPath:   "/tags",
4830	}
4831
4832	if input == nil {
4833		input = &TagResourceInput{}
4834	}
4835
4836	output = &TagResourceOutput{}
4837	req = c.newRequest(op, input, output)
4838	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4839	return
4840}
4841
4842// TagResource API operation for AWS IoT Wireless.
4843//
4844// Adds a tag to a resource.
4845//
4846// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4847// with awserr.Error's Code and Message methods to get detailed information about
4848// the error.
4849//
4850// See the AWS API reference guide for AWS IoT Wireless's
4851// API operation TagResource for usage and error information.
4852//
4853// Returned Error Types:
4854//   * ValidationException
4855//   The input did not meet the specified constraints.
4856//
4857//   * ResourceNotFoundException
4858//   Resource does not exist.
4859//
4860//   * ConflictException
4861//   Adding, updating, or deleting the resource can cause an inconsistent state.
4862//
4863//   * InternalServerException
4864//   An unexpected error occurred while processing a request.
4865//
4866//   * ThrottlingException
4867//   The request was denied because it exceeded the allowed API request rate.
4868//
4869//   * TooManyTagsException
4870//   The request was denied because the resource can't have any more tags.
4871//
4872// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TagResource
4873func (c *IoTWireless) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
4874	req, out := c.TagResourceRequest(input)
4875	return out, req.Send()
4876}
4877
4878// TagResourceWithContext is the same as TagResource with the addition of
4879// the ability to pass a context and additional request options.
4880//
4881// See TagResource for details on how to use this API operation.
4882//
4883// The context must be non-nil and will be used for request cancellation. If
4884// the context is nil a panic will occur. In the future the SDK may create
4885// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4886// for more information on using Contexts.
4887func (c *IoTWireless) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
4888	req, out := c.TagResourceRequest(input)
4889	req.SetContext(ctx)
4890	req.ApplyOptions(opts...)
4891	return out, req.Send()
4892}
4893
4894const opTestWirelessDevice = "TestWirelessDevice"
4895
4896// TestWirelessDeviceRequest generates a "aws/request.Request" representing the
4897// client's request for the TestWirelessDevice operation. The "output" return
4898// value will be populated with the request's response once the request completes
4899// successfully.
4900//
4901// Use "Send" method on the returned Request to send the API call to the service.
4902// the "output" return value is not valid until after Send returns without error.
4903//
4904// See TestWirelessDevice for more information on using the TestWirelessDevice
4905// API call, and error handling.
4906//
4907// This method is useful when you want to inject custom logic or configuration
4908// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4909//
4910//
4911//    // Example sending a request using the TestWirelessDeviceRequest method.
4912//    req, resp := client.TestWirelessDeviceRequest(params)
4913//
4914//    err := req.Send()
4915//    if err == nil { // resp is now filled
4916//        fmt.Println(resp)
4917//    }
4918//
4919// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TestWirelessDevice
4920func (c *IoTWireless) TestWirelessDeviceRequest(input *TestWirelessDeviceInput) (req *request.Request, output *TestWirelessDeviceOutput) {
4921	op := &request.Operation{
4922		Name:       opTestWirelessDevice,
4923		HTTPMethod: "POST",
4924		HTTPPath:   "/wireless-devices/{Id}/test",
4925	}
4926
4927	if input == nil {
4928		input = &TestWirelessDeviceInput{}
4929	}
4930
4931	output = &TestWirelessDeviceOutput{}
4932	req = c.newRequest(op, input, output)
4933	return
4934}
4935
4936// TestWirelessDevice API operation for AWS IoT Wireless.
4937//
4938// Simulates a provisioned device by sending an uplink data payload of Hello.
4939//
4940// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4941// with awserr.Error's Code and Message methods to get detailed information about
4942// the error.
4943//
4944// See the AWS API reference guide for AWS IoT Wireless's
4945// API operation TestWirelessDevice for usage and error information.
4946//
4947// Returned Error Types:
4948//   * ValidationException
4949//   The input did not meet the specified constraints.
4950//
4951//   * ResourceNotFoundException
4952//   Resource does not exist.
4953//
4954//   * ThrottlingException
4955//   The request was denied because it exceeded the allowed API request rate.
4956//
4957//   * InternalServerException
4958//   An unexpected error occurred while processing a request.
4959//
4960// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TestWirelessDevice
4961func (c *IoTWireless) TestWirelessDevice(input *TestWirelessDeviceInput) (*TestWirelessDeviceOutput, error) {
4962	req, out := c.TestWirelessDeviceRequest(input)
4963	return out, req.Send()
4964}
4965
4966// TestWirelessDeviceWithContext is the same as TestWirelessDevice with the addition of
4967// the ability to pass a context and additional request options.
4968//
4969// See TestWirelessDevice for details on how to use this API operation.
4970//
4971// The context must be non-nil and will be used for request cancellation. If
4972// the context is nil a panic will occur. In the future the SDK may create
4973// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4974// for more information on using Contexts.
4975func (c *IoTWireless) TestWirelessDeviceWithContext(ctx aws.Context, input *TestWirelessDeviceInput, opts ...request.Option) (*TestWirelessDeviceOutput, error) {
4976	req, out := c.TestWirelessDeviceRequest(input)
4977	req.SetContext(ctx)
4978	req.ApplyOptions(opts...)
4979	return out, req.Send()
4980}
4981
4982const opUntagResource = "UntagResource"
4983
4984// UntagResourceRequest generates a "aws/request.Request" representing the
4985// client's request for the UntagResource operation. The "output" return
4986// value will be populated with the request's response once the request completes
4987// successfully.
4988//
4989// Use "Send" method on the returned Request to send the API call to the service.
4990// the "output" return value is not valid until after Send returns without error.
4991//
4992// See UntagResource for more information on using the UntagResource
4993// API call, and error handling.
4994//
4995// This method is useful when you want to inject custom logic or configuration
4996// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4997//
4998//
4999//    // Example sending a request using the UntagResourceRequest method.
5000//    req, resp := client.UntagResourceRequest(params)
5001//
5002//    err := req.Send()
5003//    if err == nil { // resp is now filled
5004//        fmt.Println(resp)
5005//    }
5006//
5007// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UntagResource
5008func (c *IoTWireless) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
5009	op := &request.Operation{
5010		Name:       opUntagResource,
5011		HTTPMethod: "DELETE",
5012		HTTPPath:   "/tags",
5013	}
5014
5015	if input == nil {
5016		input = &UntagResourceInput{}
5017	}
5018
5019	output = &UntagResourceOutput{}
5020	req = c.newRequest(op, input, output)
5021	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5022	return
5023}
5024
5025// UntagResource API operation for AWS IoT Wireless.
5026//
5027// Removes one or more tags from a resource.
5028//
5029// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5030// with awserr.Error's Code and Message methods to get detailed information about
5031// the error.
5032//
5033// See the AWS API reference guide for AWS IoT Wireless's
5034// API operation UntagResource for usage and error information.
5035//
5036// Returned Error Types:
5037//   * ValidationException
5038//   The input did not meet the specified constraints.
5039//
5040//   * ResourceNotFoundException
5041//   Resource does not exist.
5042//
5043//   * ConflictException
5044//   Adding, updating, or deleting the resource can cause an inconsistent state.
5045//
5046//   * InternalServerException
5047//   An unexpected error occurred while processing a request.
5048//
5049//   * ThrottlingException
5050//   The request was denied because it exceeded the allowed API request rate.
5051//
5052// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UntagResource
5053func (c *IoTWireless) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
5054	req, out := c.UntagResourceRequest(input)
5055	return out, req.Send()
5056}
5057
5058// UntagResourceWithContext is the same as UntagResource with the addition of
5059// the ability to pass a context and additional request options.
5060//
5061// See UntagResource for details on how to use this API operation.
5062//
5063// The context must be non-nil and will be used for request cancellation. If
5064// the context is nil a panic will occur. In the future the SDK may create
5065// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5066// for more information on using Contexts.
5067func (c *IoTWireless) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
5068	req, out := c.UntagResourceRequest(input)
5069	req.SetContext(ctx)
5070	req.ApplyOptions(opts...)
5071	return out, req.Send()
5072}
5073
5074const opUpdateDestination = "UpdateDestination"
5075
5076// UpdateDestinationRequest generates a "aws/request.Request" representing the
5077// client's request for the UpdateDestination operation. The "output" return
5078// value will be populated with the request's response once the request completes
5079// successfully.
5080//
5081// Use "Send" method on the returned Request to send the API call to the service.
5082// the "output" return value is not valid until after Send returns without error.
5083//
5084// See UpdateDestination for more information on using the UpdateDestination
5085// API call, and error handling.
5086//
5087// This method is useful when you want to inject custom logic or configuration
5088// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5089//
5090//
5091//    // Example sending a request using the UpdateDestinationRequest method.
5092//    req, resp := client.UpdateDestinationRequest(params)
5093//
5094//    err := req.Send()
5095//    if err == nil { // resp is now filled
5096//        fmt.Println(resp)
5097//    }
5098//
5099// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateDestination
5100func (c *IoTWireless) UpdateDestinationRequest(input *UpdateDestinationInput) (req *request.Request, output *UpdateDestinationOutput) {
5101	op := &request.Operation{
5102		Name:       opUpdateDestination,
5103		HTTPMethod: "PATCH",
5104		HTTPPath:   "/destinations/{Name}",
5105	}
5106
5107	if input == nil {
5108		input = &UpdateDestinationInput{}
5109	}
5110
5111	output = &UpdateDestinationOutput{}
5112	req = c.newRequest(op, input, output)
5113	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5114	return
5115}
5116
5117// UpdateDestination API operation for AWS IoT Wireless.
5118//
5119// Updates properties of a destination.
5120//
5121// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5122// with awserr.Error's Code and Message methods to get detailed information about
5123// the error.
5124//
5125// See the AWS API reference guide for AWS IoT Wireless's
5126// API operation UpdateDestination for usage and error information.
5127//
5128// Returned Error Types:
5129//   * ValidationException
5130//   The input did not meet the specified constraints.
5131//
5132//   * ResourceNotFoundException
5133//   Resource does not exist.
5134//
5135//   * AccessDeniedException
5136//   User does not have permission to perform this action.
5137//
5138//   * InternalServerException
5139//   An unexpected error occurred while processing a request.
5140//
5141//   * ThrottlingException
5142//   The request was denied because it exceeded the allowed API request rate.
5143//
5144// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateDestination
5145func (c *IoTWireless) UpdateDestination(input *UpdateDestinationInput) (*UpdateDestinationOutput, error) {
5146	req, out := c.UpdateDestinationRequest(input)
5147	return out, req.Send()
5148}
5149
5150// UpdateDestinationWithContext is the same as UpdateDestination with the addition of
5151// the ability to pass a context and additional request options.
5152//
5153// See UpdateDestination for details on how to use this API operation.
5154//
5155// The context must be non-nil and will be used for request cancellation. If
5156// the context is nil a panic will occur. In the future the SDK may create
5157// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5158// for more information on using Contexts.
5159func (c *IoTWireless) UpdateDestinationWithContext(ctx aws.Context, input *UpdateDestinationInput, opts ...request.Option) (*UpdateDestinationOutput, error) {
5160	req, out := c.UpdateDestinationRequest(input)
5161	req.SetContext(ctx)
5162	req.ApplyOptions(opts...)
5163	return out, req.Send()
5164}
5165
5166const opUpdateLogLevelsByResourceTypes = "UpdateLogLevelsByResourceTypes"
5167
5168// UpdateLogLevelsByResourceTypesRequest generates a "aws/request.Request" representing the
5169// client's request for the UpdateLogLevelsByResourceTypes operation. The "output" return
5170// value will be populated with the request's response once the request completes
5171// successfully.
5172//
5173// Use "Send" method on the returned Request to send the API call to the service.
5174// the "output" return value is not valid until after Send returns without error.
5175//
5176// See UpdateLogLevelsByResourceTypes for more information on using the UpdateLogLevelsByResourceTypes
5177// API call, and error handling.
5178//
5179// This method is useful when you want to inject custom logic or configuration
5180// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5181//
5182//
5183//    // Example sending a request using the UpdateLogLevelsByResourceTypesRequest method.
5184//    req, resp := client.UpdateLogLevelsByResourceTypesRequest(params)
5185//
5186//    err := req.Send()
5187//    if err == nil { // resp is now filled
5188//        fmt.Println(resp)
5189//    }
5190//
5191// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateLogLevelsByResourceTypes
5192func (c *IoTWireless) UpdateLogLevelsByResourceTypesRequest(input *UpdateLogLevelsByResourceTypesInput) (req *request.Request, output *UpdateLogLevelsByResourceTypesOutput) {
5193	op := &request.Operation{
5194		Name:       opUpdateLogLevelsByResourceTypes,
5195		HTTPMethod: "POST",
5196		HTTPPath:   "/log-levels",
5197	}
5198
5199	if input == nil {
5200		input = &UpdateLogLevelsByResourceTypesInput{}
5201	}
5202
5203	output = &UpdateLogLevelsByResourceTypesOutput{}
5204	req = c.newRequest(op, input, output)
5205	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5206	return
5207}
5208
5209// UpdateLogLevelsByResourceTypes API operation for AWS IoT Wireless.
5210//
5211// Set default log level, or log levels by resource types. This can be for wireless
5212// device log options or wireless gateways log options and is used to control
5213// the log messages that'll be displayed in CloudWatch.
5214//
5215// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5216// with awserr.Error's Code and Message methods to get detailed information about
5217// the error.
5218//
5219// See the AWS API reference guide for AWS IoT Wireless's
5220// API operation UpdateLogLevelsByResourceTypes for usage and error information.
5221//
5222// Returned Error Types:
5223//   * AccessDeniedException
5224//   User does not have permission to perform this action.
5225//
5226//   * ConflictException
5227//   Adding, updating, or deleting the resource can cause an inconsistent state.
5228//
5229//   * InternalServerException
5230//   An unexpected error occurred while processing a request.
5231//
5232//   * ResourceNotFoundException
5233//   Resource does not exist.
5234//
5235//   * ThrottlingException
5236//   The request was denied because it exceeded the allowed API request rate.
5237//
5238//   * ValidationException
5239//   The input did not meet the specified constraints.
5240//
5241// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateLogLevelsByResourceTypes
5242func (c *IoTWireless) UpdateLogLevelsByResourceTypes(input *UpdateLogLevelsByResourceTypesInput) (*UpdateLogLevelsByResourceTypesOutput, error) {
5243	req, out := c.UpdateLogLevelsByResourceTypesRequest(input)
5244	return out, req.Send()
5245}
5246
5247// UpdateLogLevelsByResourceTypesWithContext is the same as UpdateLogLevelsByResourceTypes with the addition of
5248// the ability to pass a context and additional request options.
5249//
5250// See UpdateLogLevelsByResourceTypes for details on how to use this API operation.
5251//
5252// The context must be non-nil and will be used for request cancellation. If
5253// the context is nil a panic will occur. In the future the SDK may create
5254// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5255// for more information on using Contexts.
5256func (c *IoTWireless) UpdateLogLevelsByResourceTypesWithContext(ctx aws.Context, input *UpdateLogLevelsByResourceTypesInput, opts ...request.Option) (*UpdateLogLevelsByResourceTypesOutput, error) {
5257	req, out := c.UpdateLogLevelsByResourceTypesRequest(input)
5258	req.SetContext(ctx)
5259	req.ApplyOptions(opts...)
5260	return out, req.Send()
5261}
5262
5263const opUpdatePartnerAccount = "UpdatePartnerAccount"
5264
5265// UpdatePartnerAccountRequest generates a "aws/request.Request" representing the
5266// client's request for the UpdatePartnerAccount operation. The "output" return
5267// value will be populated with the request's response once the request completes
5268// successfully.
5269//
5270// Use "Send" method on the returned Request to send the API call to the service.
5271// the "output" return value is not valid until after Send returns without error.
5272//
5273// See UpdatePartnerAccount for more information on using the UpdatePartnerAccount
5274// API call, and error handling.
5275//
5276// This method is useful when you want to inject custom logic or configuration
5277// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5278//
5279//
5280//    // Example sending a request using the UpdatePartnerAccountRequest method.
5281//    req, resp := client.UpdatePartnerAccountRequest(params)
5282//
5283//    err := req.Send()
5284//    if err == nil { // resp is now filled
5285//        fmt.Println(resp)
5286//    }
5287//
5288// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdatePartnerAccount
5289func (c *IoTWireless) UpdatePartnerAccountRequest(input *UpdatePartnerAccountInput) (req *request.Request, output *UpdatePartnerAccountOutput) {
5290	op := &request.Operation{
5291		Name:       opUpdatePartnerAccount,
5292		HTTPMethod: "PATCH",
5293		HTTPPath:   "/partner-accounts/{PartnerAccountId}",
5294	}
5295
5296	if input == nil {
5297		input = &UpdatePartnerAccountInput{}
5298	}
5299
5300	output = &UpdatePartnerAccountOutput{}
5301	req = c.newRequest(op, input, output)
5302	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5303	return
5304}
5305
5306// UpdatePartnerAccount API operation for AWS IoT Wireless.
5307//
5308// Updates properties of a partner account.
5309//
5310// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5311// with awserr.Error's Code and Message methods to get detailed information about
5312// the error.
5313//
5314// See the AWS API reference guide for AWS IoT Wireless's
5315// API operation UpdatePartnerAccount for usage and error information.
5316//
5317// Returned Error Types:
5318//   * ValidationException
5319//   The input did not meet the specified constraints.
5320//
5321//   * ResourceNotFoundException
5322//   Resource does not exist.
5323//
5324//   * InternalServerException
5325//   An unexpected error occurred while processing a request.
5326//
5327//   * ThrottlingException
5328//   The request was denied because it exceeded the allowed API request rate.
5329//
5330// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdatePartnerAccount
5331func (c *IoTWireless) UpdatePartnerAccount(input *UpdatePartnerAccountInput) (*UpdatePartnerAccountOutput, error) {
5332	req, out := c.UpdatePartnerAccountRequest(input)
5333	return out, req.Send()
5334}
5335
5336// UpdatePartnerAccountWithContext is the same as UpdatePartnerAccount with the addition of
5337// the ability to pass a context and additional request options.
5338//
5339// See UpdatePartnerAccount for details on how to use this API operation.
5340//
5341// The context must be non-nil and will be used for request cancellation. If
5342// the context is nil a panic will occur. In the future the SDK may create
5343// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5344// for more information on using Contexts.
5345func (c *IoTWireless) UpdatePartnerAccountWithContext(ctx aws.Context, input *UpdatePartnerAccountInput, opts ...request.Option) (*UpdatePartnerAccountOutput, error) {
5346	req, out := c.UpdatePartnerAccountRequest(input)
5347	req.SetContext(ctx)
5348	req.ApplyOptions(opts...)
5349	return out, req.Send()
5350}
5351
5352const opUpdateWirelessDevice = "UpdateWirelessDevice"
5353
5354// UpdateWirelessDeviceRequest generates a "aws/request.Request" representing the
5355// client's request for the UpdateWirelessDevice operation. The "output" return
5356// value will be populated with the request's response once the request completes
5357// successfully.
5358//
5359// Use "Send" method on the returned Request to send the API call to the service.
5360// the "output" return value is not valid until after Send returns without error.
5361//
5362// See UpdateWirelessDevice for more information on using the UpdateWirelessDevice
5363// API call, and error handling.
5364//
5365// This method is useful when you want to inject custom logic or configuration
5366// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5367//
5368//
5369//    // Example sending a request using the UpdateWirelessDeviceRequest method.
5370//    req, resp := client.UpdateWirelessDeviceRequest(params)
5371//
5372//    err := req.Send()
5373//    if err == nil { // resp is now filled
5374//        fmt.Println(resp)
5375//    }
5376//
5377// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateWirelessDevice
5378func (c *IoTWireless) UpdateWirelessDeviceRequest(input *UpdateWirelessDeviceInput) (req *request.Request, output *UpdateWirelessDeviceOutput) {
5379	op := &request.Operation{
5380		Name:       opUpdateWirelessDevice,
5381		HTTPMethod: "PATCH",
5382		HTTPPath:   "/wireless-devices/{Id}",
5383	}
5384
5385	if input == nil {
5386		input = &UpdateWirelessDeviceInput{}
5387	}
5388
5389	output = &UpdateWirelessDeviceOutput{}
5390	req = c.newRequest(op, input, output)
5391	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5392	return
5393}
5394
5395// UpdateWirelessDevice API operation for AWS IoT Wireless.
5396//
5397// Updates properties of a wireless device.
5398//
5399// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5400// with awserr.Error's Code and Message methods to get detailed information about
5401// the error.
5402//
5403// See the AWS API reference guide for AWS IoT Wireless's
5404// API operation UpdateWirelessDevice for usage and error information.
5405//
5406// Returned Error Types:
5407//   * ValidationException
5408//   The input did not meet the specified constraints.
5409//
5410//   * ResourceNotFoundException
5411//   Resource does not exist.
5412//
5413//   * AccessDeniedException
5414//   User does not have permission to perform this action.
5415//
5416//   * InternalServerException
5417//   An unexpected error occurred while processing a request.
5418//
5419//   * ThrottlingException
5420//   The request was denied because it exceeded the allowed API request rate.
5421//
5422// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateWirelessDevice
5423func (c *IoTWireless) UpdateWirelessDevice(input *UpdateWirelessDeviceInput) (*UpdateWirelessDeviceOutput, error) {
5424	req, out := c.UpdateWirelessDeviceRequest(input)
5425	return out, req.Send()
5426}
5427
5428// UpdateWirelessDeviceWithContext is the same as UpdateWirelessDevice with the addition of
5429// the ability to pass a context and additional request options.
5430//
5431// See UpdateWirelessDevice for details on how to use this API operation.
5432//
5433// The context must be non-nil and will be used for request cancellation. If
5434// the context is nil a panic will occur. In the future the SDK may create
5435// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5436// for more information on using Contexts.
5437func (c *IoTWireless) UpdateWirelessDeviceWithContext(ctx aws.Context, input *UpdateWirelessDeviceInput, opts ...request.Option) (*UpdateWirelessDeviceOutput, error) {
5438	req, out := c.UpdateWirelessDeviceRequest(input)
5439	req.SetContext(ctx)
5440	req.ApplyOptions(opts...)
5441	return out, req.Send()
5442}
5443
5444const opUpdateWirelessGateway = "UpdateWirelessGateway"
5445
5446// UpdateWirelessGatewayRequest generates a "aws/request.Request" representing the
5447// client's request for the UpdateWirelessGateway operation. The "output" return
5448// value will be populated with the request's response once the request completes
5449// successfully.
5450//
5451// Use "Send" method on the returned Request to send the API call to the service.
5452// the "output" return value is not valid until after Send returns without error.
5453//
5454// See UpdateWirelessGateway for more information on using the UpdateWirelessGateway
5455// API call, and error handling.
5456//
5457// This method is useful when you want to inject custom logic or configuration
5458// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5459//
5460//
5461//    // Example sending a request using the UpdateWirelessGatewayRequest method.
5462//    req, resp := client.UpdateWirelessGatewayRequest(params)
5463//
5464//    err := req.Send()
5465//    if err == nil { // resp is now filled
5466//        fmt.Println(resp)
5467//    }
5468//
5469// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateWirelessGateway
5470func (c *IoTWireless) UpdateWirelessGatewayRequest(input *UpdateWirelessGatewayInput) (req *request.Request, output *UpdateWirelessGatewayOutput) {
5471	op := &request.Operation{
5472		Name:       opUpdateWirelessGateway,
5473		HTTPMethod: "PATCH",
5474		HTTPPath:   "/wireless-gateways/{Id}",
5475	}
5476
5477	if input == nil {
5478		input = &UpdateWirelessGatewayInput{}
5479	}
5480
5481	output = &UpdateWirelessGatewayOutput{}
5482	req = c.newRequest(op, input, output)
5483	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5484	return
5485}
5486
5487// UpdateWirelessGateway API operation for AWS IoT Wireless.
5488//
5489// Updates properties of a wireless gateway.
5490//
5491// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5492// with awserr.Error's Code and Message methods to get detailed information about
5493// the error.
5494//
5495// See the AWS API reference guide for AWS IoT Wireless's
5496// API operation UpdateWirelessGateway for usage and error information.
5497//
5498// Returned Error Types:
5499//   * ValidationException
5500//   The input did not meet the specified constraints.
5501//
5502//   * ResourceNotFoundException
5503//   Resource does not exist.
5504//
5505//   * AccessDeniedException
5506//   User does not have permission to perform this action.
5507//
5508//   * InternalServerException
5509//   An unexpected error occurred while processing a request.
5510//
5511//   * ThrottlingException
5512//   The request was denied because it exceeded the allowed API request rate.
5513//
5514// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateWirelessGateway
5515func (c *IoTWireless) UpdateWirelessGateway(input *UpdateWirelessGatewayInput) (*UpdateWirelessGatewayOutput, error) {
5516	req, out := c.UpdateWirelessGatewayRequest(input)
5517	return out, req.Send()
5518}
5519
5520// UpdateWirelessGatewayWithContext is the same as UpdateWirelessGateway with the addition of
5521// the ability to pass a context and additional request options.
5522//
5523// See UpdateWirelessGateway for details on how to use this API operation.
5524//
5525// The context must be non-nil and will be used for request cancellation. If
5526// the context is nil a panic will occur. In the future the SDK may create
5527// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5528// for more information on using Contexts.
5529func (c *IoTWireless) UpdateWirelessGatewayWithContext(ctx aws.Context, input *UpdateWirelessGatewayInput, opts ...request.Option) (*UpdateWirelessGatewayOutput, error) {
5530	req, out := c.UpdateWirelessGatewayRequest(input)
5531	req.SetContext(ctx)
5532	req.ApplyOptions(opts...)
5533	return out, req.Send()
5534}
5535
5536// ABP device object for LoRaWAN specification v1.0.x
5537type AbpV10X struct {
5538	_ struct{} `type:"structure"`
5539
5540	// The DevAddr value.
5541	DevAddr *string `type:"string"`
5542
5543	// Session keys for ABP v1.0.x
5544	SessionKeys *SessionKeysAbpV10X `type:"structure"`
5545}
5546
5547// String returns the string representation
5548func (s AbpV10X) String() string {
5549	return awsutil.Prettify(s)
5550}
5551
5552// GoString returns the string representation
5553func (s AbpV10X) GoString() string {
5554	return s.String()
5555}
5556
5557// SetDevAddr sets the DevAddr field's value.
5558func (s *AbpV10X) SetDevAddr(v string) *AbpV10X {
5559	s.DevAddr = &v
5560	return s
5561}
5562
5563// SetSessionKeys sets the SessionKeys field's value.
5564func (s *AbpV10X) SetSessionKeys(v *SessionKeysAbpV10X) *AbpV10X {
5565	s.SessionKeys = v
5566	return s
5567}
5568
5569// ABP device object for LoRaWAN specification v1.1
5570type AbpV11 struct {
5571	_ struct{} `type:"structure"`
5572
5573	// The DevAddr value.
5574	DevAddr *string `type:"string"`
5575
5576	// Session keys for ABP v1.1
5577	SessionKeys *SessionKeysAbpV11 `type:"structure"`
5578}
5579
5580// String returns the string representation
5581func (s AbpV11) String() string {
5582	return awsutil.Prettify(s)
5583}
5584
5585// GoString returns the string representation
5586func (s AbpV11) GoString() string {
5587	return s.String()
5588}
5589
5590// SetDevAddr sets the DevAddr field's value.
5591func (s *AbpV11) SetDevAddr(v string) *AbpV11 {
5592	s.DevAddr = &v
5593	return s
5594}
5595
5596// SetSessionKeys sets the SessionKeys field's value.
5597func (s *AbpV11) SetSessionKeys(v *SessionKeysAbpV11) *AbpV11 {
5598	s.SessionKeys = v
5599	return s
5600}
5601
5602// User does not have permission to perform this action.
5603type AccessDeniedException struct {
5604	_            struct{}                  `type:"structure"`
5605	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5606
5607	Message_ *string `locationName:"Message" type:"string"`
5608}
5609
5610// String returns the string representation
5611func (s AccessDeniedException) String() string {
5612	return awsutil.Prettify(s)
5613}
5614
5615// GoString returns the string representation
5616func (s AccessDeniedException) GoString() string {
5617	return s.String()
5618}
5619
5620func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
5621	return &AccessDeniedException{
5622		RespMetadata: v,
5623	}
5624}
5625
5626// Code returns the exception type name.
5627func (s *AccessDeniedException) Code() string {
5628	return "AccessDeniedException"
5629}
5630
5631// Message returns the exception's message.
5632func (s *AccessDeniedException) Message() string {
5633	if s.Message_ != nil {
5634		return *s.Message_
5635	}
5636	return ""
5637}
5638
5639// OrigErr always returns nil, satisfies awserr.Error interface.
5640func (s *AccessDeniedException) OrigErr() error {
5641	return nil
5642}
5643
5644func (s *AccessDeniedException) Error() string {
5645	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5646}
5647
5648// Status code returns the HTTP status code for the request's response error.
5649func (s *AccessDeniedException) StatusCode() int {
5650	return s.RespMetadata.StatusCode
5651}
5652
5653// RequestID returns the service's response RequestID for request.
5654func (s *AccessDeniedException) RequestID() string {
5655	return s.RespMetadata.RequestID
5656}
5657
5658type AssociateAwsAccountWithPartnerAccountInput struct {
5659	_ struct{} `type:"structure"`
5660
5661	// Each resource must have a unique client request token. If you try to create
5662	// a new resource with the same token as a resource that already exists, an
5663	// exception occurs. If you omit this value, AWS SDKs will automatically generate
5664	// a unique client request.
5665	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
5666
5667	// The Sidewalk account credentials.
5668	//
5669	// Sidewalk is a required field
5670	Sidewalk *SidewalkAccountInfo `type:"structure" required:"true"`
5671
5672	// The tags to attach to the specified resource. Tags are metadata that you
5673	// can use to manage a resource.
5674	Tags []*Tag `type:"list"`
5675}
5676
5677// String returns the string representation
5678func (s AssociateAwsAccountWithPartnerAccountInput) String() string {
5679	return awsutil.Prettify(s)
5680}
5681
5682// GoString returns the string representation
5683func (s AssociateAwsAccountWithPartnerAccountInput) GoString() string {
5684	return s.String()
5685}
5686
5687// Validate inspects the fields of the type to determine if they are valid.
5688func (s *AssociateAwsAccountWithPartnerAccountInput) Validate() error {
5689	invalidParams := request.ErrInvalidParams{Context: "AssociateAwsAccountWithPartnerAccountInput"}
5690	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
5691		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
5692	}
5693	if s.Sidewalk == nil {
5694		invalidParams.Add(request.NewErrParamRequired("Sidewalk"))
5695	}
5696	if s.Sidewalk != nil {
5697		if err := s.Sidewalk.Validate(); err != nil {
5698			invalidParams.AddNested("Sidewalk", err.(request.ErrInvalidParams))
5699		}
5700	}
5701	if s.Tags != nil {
5702		for i, v := range s.Tags {
5703			if v == nil {
5704				continue
5705			}
5706			if err := v.Validate(); err != nil {
5707				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5708			}
5709		}
5710	}
5711
5712	if invalidParams.Len() > 0 {
5713		return invalidParams
5714	}
5715	return nil
5716}
5717
5718// SetClientRequestToken sets the ClientRequestToken field's value.
5719func (s *AssociateAwsAccountWithPartnerAccountInput) SetClientRequestToken(v string) *AssociateAwsAccountWithPartnerAccountInput {
5720	s.ClientRequestToken = &v
5721	return s
5722}
5723
5724// SetSidewalk sets the Sidewalk field's value.
5725func (s *AssociateAwsAccountWithPartnerAccountInput) SetSidewalk(v *SidewalkAccountInfo) *AssociateAwsAccountWithPartnerAccountInput {
5726	s.Sidewalk = v
5727	return s
5728}
5729
5730// SetTags sets the Tags field's value.
5731func (s *AssociateAwsAccountWithPartnerAccountInput) SetTags(v []*Tag) *AssociateAwsAccountWithPartnerAccountInput {
5732	s.Tags = v
5733	return s
5734}
5735
5736type AssociateAwsAccountWithPartnerAccountOutput struct {
5737	_ struct{} `type:"structure"`
5738
5739	// The Amazon Resource Name of the resource.
5740	Arn *string `type:"string"`
5741
5742	// The Sidewalk account credentials.
5743	Sidewalk *SidewalkAccountInfo `type:"structure"`
5744}
5745
5746// String returns the string representation
5747func (s AssociateAwsAccountWithPartnerAccountOutput) String() string {
5748	return awsutil.Prettify(s)
5749}
5750
5751// GoString returns the string representation
5752func (s AssociateAwsAccountWithPartnerAccountOutput) GoString() string {
5753	return s.String()
5754}
5755
5756// SetArn sets the Arn field's value.
5757func (s *AssociateAwsAccountWithPartnerAccountOutput) SetArn(v string) *AssociateAwsAccountWithPartnerAccountOutput {
5758	s.Arn = &v
5759	return s
5760}
5761
5762// SetSidewalk sets the Sidewalk field's value.
5763func (s *AssociateAwsAccountWithPartnerAccountOutput) SetSidewalk(v *SidewalkAccountInfo) *AssociateAwsAccountWithPartnerAccountOutput {
5764	s.Sidewalk = v
5765	return s
5766}
5767
5768type AssociateWirelessDeviceWithThingInput struct {
5769	_ struct{} `type:"structure"`
5770
5771	// The ID of the resource to update.
5772	//
5773	// Id is a required field
5774	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
5775
5776	// The ARN of the thing to associate with the wireless device.
5777	//
5778	// ThingArn is a required field
5779	ThingArn *string `type:"string" required:"true"`
5780}
5781
5782// String returns the string representation
5783func (s AssociateWirelessDeviceWithThingInput) String() string {
5784	return awsutil.Prettify(s)
5785}
5786
5787// GoString returns the string representation
5788func (s AssociateWirelessDeviceWithThingInput) GoString() string {
5789	return s.String()
5790}
5791
5792// Validate inspects the fields of the type to determine if they are valid.
5793func (s *AssociateWirelessDeviceWithThingInput) Validate() error {
5794	invalidParams := request.ErrInvalidParams{Context: "AssociateWirelessDeviceWithThingInput"}
5795	if s.Id == nil {
5796		invalidParams.Add(request.NewErrParamRequired("Id"))
5797	}
5798	if s.Id != nil && len(*s.Id) < 1 {
5799		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
5800	}
5801	if s.ThingArn == nil {
5802		invalidParams.Add(request.NewErrParamRequired("ThingArn"))
5803	}
5804
5805	if invalidParams.Len() > 0 {
5806		return invalidParams
5807	}
5808	return nil
5809}
5810
5811// SetId sets the Id field's value.
5812func (s *AssociateWirelessDeviceWithThingInput) SetId(v string) *AssociateWirelessDeviceWithThingInput {
5813	s.Id = &v
5814	return s
5815}
5816
5817// SetThingArn sets the ThingArn field's value.
5818func (s *AssociateWirelessDeviceWithThingInput) SetThingArn(v string) *AssociateWirelessDeviceWithThingInput {
5819	s.ThingArn = &v
5820	return s
5821}
5822
5823type AssociateWirelessDeviceWithThingOutput struct {
5824	_ struct{} `type:"structure"`
5825}
5826
5827// String returns the string representation
5828func (s AssociateWirelessDeviceWithThingOutput) String() string {
5829	return awsutil.Prettify(s)
5830}
5831
5832// GoString returns the string representation
5833func (s AssociateWirelessDeviceWithThingOutput) GoString() string {
5834	return s.String()
5835}
5836
5837type AssociateWirelessGatewayWithCertificateInput struct {
5838	_ struct{} `type:"structure"`
5839
5840	// The ID of the resource to update.
5841	//
5842	// Id is a required field
5843	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
5844
5845	// The ID of the certificate to associate with the wireless gateway.
5846	//
5847	// IotCertificateId is a required field
5848	IotCertificateId *string `min:"1" type:"string" required:"true"`
5849}
5850
5851// String returns the string representation
5852func (s AssociateWirelessGatewayWithCertificateInput) String() string {
5853	return awsutil.Prettify(s)
5854}
5855
5856// GoString returns the string representation
5857func (s AssociateWirelessGatewayWithCertificateInput) GoString() string {
5858	return s.String()
5859}
5860
5861// Validate inspects the fields of the type to determine if they are valid.
5862func (s *AssociateWirelessGatewayWithCertificateInput) Validate() error {
5863	invalidParams := request.ErrInvalidParams{Context: "AssociateWirelessGatewayWithCertificateInput"}
5864	if s.Id == nil {
5865		invalidParams.Add(request.NewErrParamRequired("Id"))
5866	}
5867	if s.Id != nil && len(*s.Id) < 1 {
5868		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
5869	}
5870	if s.IotCertificateId == nil {
5871		invalidParams.Add(request.NewErrParamRequired("IotCertificateId"))
5872	}
5873	if s.IotCertificateId != nil && len(*s.IotCertificateId) < 1 {
5874		invalidParams.Add(request.NewErrParamMinLen("IotCertificateId", 1))
5875	}
5876
5877	if invalidParams.Len() > 0 {
5878		return invalidParams
5879	}
5880	return nil
5881}
5882
5883// SetId sets the Id field's value.
5884func (s *AssociateWirelessGatewayWithCertificateInput) SetId(v string) *AssociateWirelessGatewayWithCertificateInput {
5885	s.Id = &v
5886	return s
5887}
5888
5889// SetIotCertificateId sets the IotCertificateId field's value.
5890func (s *AssociateWirelessGatewayWithCertificateInput) SetIotCertificateId(v string) *AssociateWirelessGatewayWithCertificateInput {
5891	s.IotCertificateId = &v
5892	return s
5893}
5894
5895type AssociateWirelessGatewayWithCertificateOutput struct {
5896	_ struct{} `type:"structure"`
5897
5898	// The ID of the certificate associated with the wireless gateway.
5899	IotCertificateId *string `min:"1" type:"string"`
5900}
5901
5902// String returns the string representation
5903func (s AssociateWirelessGatewayWithCertificateOutput) String() string {
5904	return awsutil.Prettify(s)
5905}
5906
5907// GoString returns the string representation
5908func (s AssociateWirelessGatewayWithCertificateOutput) GoString() string {
5909	return s.String()
5910}
5911
5912// SetIotCertificateId sets the IotCertificateId field's value.
5913func (s *AssociateWirelessGatewayWithCertificateOutput) SetIotCertificateId(v string) *AssociateWirelessGatewayWithCertificateOutput {
5914	s.IotCertificateId = &v
5915	return s
5916}
5917
5918type AssociateWirelessGatewayWithThingInput struct {
5919	_ struct{} `type:"structure"`
5920
5921	// The ID of the resource to update.
5922	//
5923	// Id is a required field
5924	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
5925
5926	// The ARN of the thing to associate with the wireless gateway.
5927	//
5928	// ThingArn is a required field
5929	ThingArn *string `type:"string" required:"true"`
5930}
5931
5932// String returns the string representation
5933func (s AssociateWirelessGatewayWithThingInput) String() string {
5934	return awsutil.Prettify(s)
5935}
5936
5937// GoString returns the string representation
5938func (s AssociateWirelessGatewayWithThingInput) GoString() string {
5939	return s.String()
5940}
5941
5942// Validate inspects the fields of the type to determine if they are valid.
5943func (s *AssociateWirelessGatewayWithThingInput) Validate() error {
5944	invalidParams := request.ErrInvalidParams{Context: "AssociateWirelessGatewayWithThingInput"}
5945	if s.Id == nil {
5946		invalidParams.Add(request.NewErrParamRequired("Id"))
5947	}
5948	if s.Id != nil && len(*s.Id) < 1 {
5949		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
5950	}
5951	if s.ThingArn == nil {
5952		invalidParams.Add(request.NewErrParamRequired("ThingArn"))
5953	}
5954
5955	if invalidParams.Len() > 0 {
5956		return invalidParams
5957	}
5958	return nil
5959}
5960
5961// SetId sets the Id field's value.
5962func (s *AssociateWirelessGatewayWithThingInput) SetId(v string) *AssociateWirelessGatewayWithThingInput {
5963	s.Id = &v
5964	return s
5965}
5966
5967// SetThingArn sets the ThingArn field's value.
5968func (s *AssociateWirelessGatewayWithThingInput) SetThingArn(v string) *AssociateWirelessGatewayWithThingInput {
5969	s.ThingArn = &v
5970	return s
5971}
5972
5973type AssociateWirelessGatewayWithThingOutput struct {
5974	_ struct{} `type:"structure"`
5975}
5976
5977// String returns the string representation
5978func (s AssociateWirelessGatewayWithThingOutput) String() string {
5979	return awsutil.Prettify(s)
5980}
5981
5982// GoString returns the string representation
5983func (s AssociateWirelessGatewayWithThingOutput) GoString() string {
5984	return s.String()
5985}
5986
5987// List of sidewalk certificates.
5988type CertificateList struct {
5989	_ struct{} `type:"structure"`
5990
5991	// The certificate chain algorithm provided by sidewalk.
5992	//
5993	// SigningAlg is a required field
5994	SigningAlg *string `type:"string" required:"true" enum:"SigningAlg"`
5995
5996	// The value of the chosen sidewalk certificate.
5997	//
5998	// Value is a required field
5999	Value *string `type:"string" required:"true"`
6000}
6001
6002// String returns the string representation
6003func (s CertificateList) String() string {
6004	return awsutil.Prettify(s)
6005}
6006
6007// GoString returns the string representation
6008func (s CertificateList) GoString() string {
6009	return s.String()
6010}
6011
6012// SetSigningAlg sets the SigningAlg field's value.
6013func (s *CertificateList) SetSigningAlg(v string) *CertificateList {
6014	s.SigningAlg = &v
6015	return s
6016}
6017
6018// SetValue sets the Value field's value.
6019func (s *CertificateList) SetValue(v string) *CertificateList {
6020	s.Value = &v
6021	return s
6022}
6023
6024// Adding, updating, or deleting the resource can cause an inconsistent state.
6025type ConflictException struct {
6026	_            struct{}                  `type:"structure"`
6027	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6028
6029	Message_ *string `locationName:"Message" type:"string"`
6030
6031	// Id of the resource in the conflicting operation.
6032	ResourceId *string `type:"string"`
6033
6034	// Type of the resource in the conflicting operation.
6035	ResourceType *string `type:"string"`
6036}
6037
6038// String returns the string representation
6039func (s ConflictException) String() string {
6040	return awsutil.Prettify(s)
6041}
6042
6043// GoString returns the string representation
6044func (s ConflictException) GoString() string {
6045	return s.String()
6046}
6047
6048func newErrorConflictException(v protocol.ResponseMetadata) error {
6049	return &ConflictException{
6050		RespMetadata: v,
6051	}
6052}
6053
6054// Code returns the exception type name.
6055func (s *ConflictException) Code() string {
6056	return "ConflictException"
6057}
6058
6059// Message returns the exception's message.
6060func (s *ConflictException) Message() string {
6061	if s.Message_ != nil {
6062		return *s.Message_
6063	}
6064	return ""
6065}
6066
6067// OrigErr always returns nil, satisfies awserr.Error interface.
6068func (s *ConflictException) OrigErr() error {
6069	return nil
6070}
6071
6072func (s *ConflictException) Error() string {
6073	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6074}
6075
6076// Status code returns the HTTP status code for the request's response error.
6077func (s *ConflictException) StatusCode() int {
6078	return s.RespMetadata.StatusCode
6079}
6080
6081// RequestID returns the service's response RequestID for request.
6082func (s *ConflictException) RequestID() string {
6083	return s.RespMetadata.RequestID
6084}
6085
6086type CreateDestinationInput struct {
6087	_ struct{} `type:"structure"`
6088
6089	// Each resource must have a unique client request token. If you try to create
6090	// a new resource with the same token as a resource that already exists, an
6091	// exception occurs. If you omit this value, AWS SDKs will automatically generate
6092	// a unique client request.
6093	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
6094
6095	// The description of the new resource.
6096	Description *string `type:"string"`
6097
6098	// The rule name or topic rule to send messages to.
6099	//
6100	// Expression is a required field
6101	Expression *string `type:"string" required:"true"`
6102
6103	// The type of value in Expression.
6104	//
6105	// ExpressionType is a required field
6106	ExpressionType *string `type:"string" required:"true" enum:"ExpressionType"`
6107
6108	// The name of the new resource.
6109	//
6110	// Name is a required field
6111	Name *string `type:"string" required:"true"`
6112
6113	// The ARN of the IAM Role that authorizes the destination.
6114	//
6115	// RoleArn is a required field
6116	RoleArn *string `min:"20" type:"string" required:"true"`
6117
6118	// The tags to attach to the new destination. Tags are metadata that you can
6119	// use to manage a resource.
6120	Tags []*Tag `type:"list"`
6121}
6122
6123// String returns the string representation
6124func (s CreateDestinationInput) String() string {
6125	return awsutil.Prettify(s)
6126}
6127
6128// GoString returns the string representation
6129func (s CreateDestinationInput) GoString() string {
6130	return s.String()
6131}
6132
6133// Validate inspects the fields of the type to determine if they are valid.
6134func (s *CreateDestinationInput) Validate() error {
6135	invalidParams := request.ErrInvalidParams{Context: "CreateDestinationInput"}
6136	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
6137		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
6138	}
6139	if s.Expression == nil {
6140		invalidParams.Add(request.NewErrParamRequired("Expression"))
6141	}
6142	if s.ExpressionType == nil {
6143		invalidParams.Add(request.NewErrParamRequired("ExpressionType"))
6144	}
6145	if s.Name == nil {
6146		invalidParams.Add(request.NewErrParamRequired("Name"))
6147	}
6148	if s.RoleArn == nil {
6149		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
6150	}
6151	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
6152		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
6153	}
6154	if s.Tags != nil {
6155		for i, v := range s.Tags {
6156			if v == nil {
6157				continue
6158			}
6159			if err := v.Validate(); err != nil {
6160				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6161			}
6162		}
6163	}
6164
6165	if invalidParams.Len() > 0 {
6166		return invalidParams
6167	}
6168	return nil
6169}
6170
6171// SetClientRequestToken sets the ClientRequestToken field's value.
6172func (s *CreateDestinationInput) SetClientRequestToken(v string) *CreateDestinationInput {
6173	s.ClientRequestToken = &v
6174	return s
6175}
6176
6177// SetDescription sets the Description field's value.
6178func (s *CreateDestinationInput) SetDescription(v string) *CreateDestinationInput {
6179	s.Description = &v
6180	return s
6181}
6182
6183// SetExpression sets the Expression field's value.
6184func (s *CreateDestinationInput) SetExpression(v string) *CreateDestinationInput {
6185	s.Expression = &v
6186	return s
6187}
6188
6189// SetExpressionType sets the ExpressionType field's value.
6190func (s *CreateDestinationInput) SetExpressionType(v string) *CreateDestinationInput {
6191	s.ExpressionType = &v
6192	return s
6193}
6194
6195// SetName sets the Name field's value.
6196func (s *CreateDestinationInput) SetName(v string) *CreateDestinationInput {
6197	s.Name = &v
6198	return s
6199}
6200
6201// SetRoleArn sets the RoleArn field's value.
6202func (s *CreateDestinationInput) SetRoleArn(v string) *CreateDestinationInput {
6203	s.RoleArn = &v
6204	return s
6205}
6206
6207// SetTags sets the Tags field's value.
6208func (s *CreateDestinationInput) SetTags(v []*Tag) *CreateDestinationInput {
6209	s.Tags = v
6210	return s
6211}
6212
6213type CreateDestinationOutput struct {
6214	_ struct{} `type:"structure"`
6215
6216	// The Amazon Resource Name of the new resource.
6217	Arn *string `type:"string"`
6218
6219	// The name of the new resource.
6220	Name *string `type:"string"`
6221}
6222
6223// String returns the string representation
6224func (s CreateDestinationOutput) String() string {
6225	return awsutil.Prettify(s)
6226}
6227
6228// GoString returns the string representation
6229func (s CreateDestinationOutput) GoString() string {
6230	return s.String()
6231}
6232
6233// SetArn sets the Arn field's value.
6234func (s *CreateDestinationOutput) SetArn(v string) *CreateDestinationOutput {
6235	s.Arn = &v
6236	return s
6237}
6238
6239// SetName sets the Name field's value.
6240func (s *CreateDestinationOutput) SetName(v string) *CreateDestinationOutput {
6241	s.Name = &v
6242	return s
6243}
6244
6245type CreateDeviceProfileInput struct {
6246	_ struct{} `type:"structure"`
6247
6248	// Each resource must have a unique client request token. If you try to create
6249	// a new resource with the same token as a resource that already exists, an
6250	// exception occurs. If you omit this value, AWS SDKs will automatically generate
6251	// a unique client request.
6252	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
6253
6254	// The device profile information to use to create the device profile.
6255	LoRaWAN *LoRaWANDeviceProfile `type:"structure"`
6256
6257	// The name of the new resource.
6258	Name *string `type:"string"`
6259
6260	// The tags to attach to the new device profile. Tags are metadata that you
6261	// can use to manage a resource.
6262	Tags []*Tag `type:"list"`
6263}
6264
6265// String returns the string representation
6266func (s CreateDeviceProfileInput) String() string {
6267	return awsutil.Prettify(s)
6268}
6269
6270// GoString returns the string representation
6271func (s CreateDeviceProfileInput) GoString() string {
6272	return s.String()
6273}
6274
6275// Validate inspects the fields of the type to determine if they are valid.
6276func (s *CreateDeviceProfileInput) Validate() error {
6277	invalidParams := request.ErrInvalidParams{Context: "CreateDeviceProfileInput"}
6278	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
6279		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
6280	}
6281	if s.LoRaWAN != nil {
6282		if err := s.LoRaWAN.Validate(); err != nil {
6283			invalidParams.AddNested("LoRaWAN", err.(request.ErrInvalidParams))
6284		}
6285	}
6286	if s.Tags != nil {
6287		for i, v := range s.Tags {
6288			if v == nil {
6289				continue
6290			}
6291			if err := v.Validate(); err != nil {
6292				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6293			}
6294		}
6295	}
6296
6297	if invalidParams.Len() > 0 {
6298		return invalidParams
6299	}
6300	return nil
6301}
6302
6303// SetClientRequestToken sets the ClientRequestToken field's value.
6304func (s *CreateDeviceProfileInput) SetClientRequestToken(v string) *CreateDeviceProfileInput {
6305	s.ClientRequestToken = &v
6306	return s
6307}
6308
6309// SetLoRaWAN sets the LoRaWAN field's value.
6310func (s *CreateDeviceProfileInput) SetLoRaWAN(v *LoRaWANDeviceProfile) *CreateDeviceProfileInput {
6311	s.LoRaWAN = v
6312	return s
6313}
6314
6315// SetName sets the Name field's value.
6316func (s *CreateDeviceProfileInput) SetName(v string) *CreateDeviceProfileInput {
6317	s.Name = &v
6318	return s
6319}
6320
6321// SetTags sets the Tags field's value.
6322func (s *CreateDeviceProfileInput) SetTags(v []*Tag) *CreateDeviceProfileInput {
6323	s.Tags = v
6324	return s
6325}
6326
6327type CreateDeviceProfileOutput struct {
6328	_ struct{} `type:"structure"`
6329
6330	// The Amazon Resource Name of the new resource.
6331	Arn *string `type:"string"`
6332
6333	// The ID of the new device profile.
6334	Id *string `type:"string"`
6335}
6336
6337// String returns the string representation
6338func (s CreateDeviceProfileOutput) String() string {
6339	return awsutil.Prettify(s)
6340}
6341
6342// GoString returns the string representation
6343func (s CreateDeviceProfileOutput) GoString() string {
6344	return s.String()
6345}
6346
6347// SetArn sets the Arn field's value.
6348func (s *CreateDeviceProfileOutput) SetArn(v string) *CreateDeviceProfileOutput {
6349	s.Arn = &v
6350	return s
6351}
6352
6353// SetId sets the Id field's value.
6354func (s *CreateDeviceProfileOutput) SetId(v string) *CreateDeviceProfileOutput {
6355	s.Id = &v
6356	return s
6357}
6358
6359type CreateServiceProfileInput struct {
6360	_ struct{} `type:"structure"`
6361
6362	// Each resource must have a unique client request token. If you try to create
6363	// a new resource with the same token as a resource that already exists, an
6364	// exception occurs. If you omit this value, AWS SDKs will automatically generate
6365	// a unique client request.
6366	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
6367
6368	// The service profile information to use to create the service profile.
6369	LoRaWAN *LoRaWANServiceProfile `type:"structure"`
6370
6371	// The name of the new resource.
6372	Name *string `type:"string"`
6373
6374	// The tags to attach to the new service profile. Tags are metadata that you
6375	// can use to manage a resource.
6376	Tags []*Tag `type:"list"`
6377}
6378
6379// String returns the string representation
6380func (s CreateServiceProfileInput) String() string {
6381	return awsutil.Prettify(s)
6382}
6383
6384// GoString returns the string representation
6385func (s CreateServiceProfileInput) GoString() string {
6386	return s.String()
6387}
6388
6389// Validate inspects the fields of the type to determine if they are valid.
6390func (s *CreateServiceProfileInput) Validate() error {
6391	invalidParams := request.ErrInvalidParams{Context: "CreateServiceProfileInput"}
6392	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
6393		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
6394	}
6395	if s.Tags != nil {
6396		for i, v := range s.Tags {
6397			if v == nil {
6398				continue
6399			}
6400			if err := v.Validate(); err != nil {
6401				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6402			}
6403		}
6404	}
6405
6406	if invalidParams.Len() > 0 {
6407		return invalidParams
6408	}
6409	return nil
6410}
6411
6412// SetClientRequestToken sets the ClientRequestToken field's value.
6413func (s *CreateServiceProfileInput) SetClientRequestToken(v string) *CreateServiceProfileInput {
6414	s.ClientRequestToken = &v
6415	return s
6416}
6417
6418// SetLoRaWAN sets the LoRaWAN field's value.
6419func (s *CreateServiceProfileInput) SetLoRaWAN(v *LoRaWANServiceProfile) *CreateServiceProfileInput {
6420	s.LoRaWAN = v
6421	return s
6422}
6423
6424// SetName sets the Name field's value.
6425func (s *CreateServiceProfileInput) SetName(v string) *CreateServiceProfileInput {
6426	s.Name = &v
6427	return s
6428}
6429
6430// SetTags sets the Tags field's value.
6431func (s *CreateServiceProfileInput) SetTags(v []*Tag) *CreateServiceProfileInput {
6432	s.Tags = v
6433	return s
6434}
6435
6436type CreateServiceProfileOutput struct {
6437	_ struct{} `type:"structure"`
6438
6439	// The Amazon Resource Name of the new resource.
6440	Arn *string `type:"string"`
6441
6442	// The ID of the new service profile.
6443	Id *string `type:"string"`
6444}
6445
6446// String returns the string representation
6447func (s CreateServiceProfileOutput) String() string {
6448	return awsutil.Prettify(s)
6449}
6450
6451// GoString returns the string representation
6452func (s CreateServiceProfileOutput) GoString() string {
6453	return s.String()
6454}
6455
6456// SetArn sets the Arn field's value.
6457func (s *CreateServiceProfileOutput) SetArn(v string) *CreateServiceProfileOutput {
6458	s.Arn = &v
6459	return s
6460}
6461
6462// SetId sets the Id field's value.
6463func (s *CreateServiceProfileOutput) SetId(v string) *CreateServiceProfileOutput {
6464	s.Id = &v
6465	return s
6466}
6467
6468type CreateWirelessDeviceInput struct {
6469	_ struct{} `type:"structure"`
6470
6471	// Each resource must have a unique client request token. If you try to create
6472	// a new resource with the same token as a resource that already exists, an
6473	// exception occurs. If you omit this value, AWS SDKs will automatically generate
6474	// a unique client request.
6475	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
6476
6477	// The description of the new resource.
6478	Description *string `type:"string"`
6479
6480	// The name of the destination to assign to the new wireless device.
6481	//
6482	// DestinationName is a required field
6483	DestinationName *string `type:"string" required:"true"`
6484
6485	// The device configuration information to use to create the wireless device.
6486	LoRaWAN *LoRaWANDevice `type:"structure"`
6487
6488	// The name of the new resource.
6489	Name *string `type:"string"`
6490
6491	// The tags to attach to the new wireless device. Tags are metadata that you
6492	// can use to manage a resource.
6493	Tags []*Tag `type:"list"`
6494
6495	// The wireless device type.
6496	//
6497	// Type is a required field
6498	Type *string `type:"string" required:"true" enum:"WirelessDeviceType"`
6499}
6500
6501// String returns the string representation
6502func (s CreateWirelessDeviceInput) String() string {
6503	return awsutil.Prettify(s)
6504}
6505
6506// GoString returns the string representation
6507func (s CreateWirelessDeviceInput) GoString() string {
6508	return s.String()
6509}
6510
6511// Validate inspects the fields of the type to determine if they are valid.
6512func (s *CreateWirelessDeviceInput) Validate() error {
6513	invalidParams := request.ErrInvalidParams{Context: "CreateWirelessDeviceInput"}
6514	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
6515		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
6516	}
6517	if s.DestinationName == nil {
6518		invalidParams.Add(request.NewErrParamRequired("DestinationName"))
6519	}
6520	if s.Type == nil {
6521		invalidParams.Add(request.NewErrParamRequired("Type"))
6522	}
6523	if s.Tags != nil {
6524		for i, v := range s.Tags {
6525			if v == nil {
6526				continue
6527			}
6528			if err := v.Validate(); err != nil {
6529				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6530			}
6531		}
6532	}
6533
6534	if invalidParams.Len() > 0 {
6535		return invalidParams
6536	}
6537	return nil
6538}
6539
6540// SetClientRequestToken sets the ClientRequestToken field's value.
6541func (s *CreateWirelessDeviceInput) SetClientRequestToken(v string) *CreateWirelessDeviceInput {
6542	s.ClientRequestToken = &v
6543	return s
6544}
6545
6546// SetDescription sets the Description field's value.
6547func (s *CreateWirelessDeviceInput) SetDescription(v string) *CreateWirelessDeviceInput {
6548	s.Description = &v
6549	return s
6550}
6551
6552// SetDestinationName sets the DestinationName field's value.
6553func (s *CreateWirelessDeviceInput) SetDestinationName(v string) *CreateWirelessDeviceInput {
6554	s.DestinationName = &v
6555	return s
6556}
6557
6558// SetLoRaWAN sets the LoRaWAN field's value.
6559func (s *CreateWirelessDeviceInput) SetLoRaWAN(v *LoRaWANDevice) *CreateWirelessDeviceInput {
6560	s.LoRaWAN = v
6561	return s
6562}
6563
6564// SetName sets the Name field's value.
6565func (s *CreateWirelessDeviceInput) SetName(v string) *CreateWirelessDeviceInput {
6566	s.Name = &v
6567	return s
6568}
6569
6570// SetTags sets the Tags field's value.
6571func (s *CreateWirelessDeviceInput) SetTags(v []*Tag) *CreateWirelessDeviceInput {
6572	s.Tags = v
6573	return s
6574}
6575
6576// SetType sets the Type field's value.
6577func (s *CreateWirelessDeviceInput) SetType(v string) *CreateWirelessDeviceInput {
6578	s.Type = &v
6579	return s
6580}
6581
6582type CreateWirelessDeviceOutput struct {
6583	_ struct{} `type:"structure"`
6584
6585	// The Amazon Resource Name of the new resource.
6586	Arn *string `type:"string"`
6587
6588	// The ID of the new wireless device.
6589	Id *string `type:"string"`
6590}
6591
6592// String returns the string representation
6593func (s CreateWirelessDeviceOutput) String() string {
6594	return awsutil.Prettify(s)
6595}
6596
6597// GoString returns the string representation
6598func (s CreateWirelessDeviceOutput) GoString() string {
6599	return s.String()
6600}
6601
6602// SetArn sets the Arn field's value.
6603func (s *CreateWirelessDeviceOutput) SetArn(v string) *CreateWirelessDeviceOutput {
6604	s.Arn = &v
6605	return s
6606}
6607
6608// SetId sets the Id field's value.
6609func (s *CreateWirelessDeviceOutput) SetId(v string) *CreateWirelessDeviceOutput {
6610	s.Id = &v
6611	return s
6612}
6613
6614type CreateWirelessGatewayInput struct {
6615	_ struct{} `type:"structure"`
6616
6617	// Each resource must have a unique client request token. If you try to create
6618	// a new resource with the same token as a resource that already exists, an
6619	// exception occurs. If you omit this value, AWS SDKs will automatically generate
6620	// a unique client request.
6621	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
6622
6623	// The description of the new resource.
6624	Description *string `type:"string"`
6625
6626	// The gateway configuration information to use to create the wireless gateway.
6627	//
6628	// LoRaWAN is a required field
6629	LoRaWAN *LoRaWANGateway `type:"structure" required:"true"`
6630
6631	// The name of the new resource.
6632	Name *string `type:"string"`
6633
6634	// The tags to attach to the new wireless gateway. Tags are metadata that you
6635	// can use to manage a resource.
6636	Tags []*Tag `type:"list"`
6637}
6638
6639// String returns the string representation
6640func (s CreateWirelessGatewayInput) String() string {
6641	return awsutil.Prettify(s)
6642}
6643
6644// GoString returns the string representation
6645func (s CreateWirelessGatewayInput) GoString() string {
6646	return s.String()
6647}
6648
6649// Validate inspects the fields of the type to determine if they are valid.
6650func (s *CreateWirelessGatewayInput) Validate() error {
6651	invalidParams := request.ErrInvalidParams{Context: "CreateWirelessGatewayInput"}
6652	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
6653		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
6654	}
6655	if s.LoRaWAN == nil {
6656		invalidParams.Add(request.NewErrParamRequired("LoRaWAN"))
6657	}
6658	if s.Tags != nil {
6659		for i, v := range s.Tags {
6660			if v == nil {
6661				continue
6662			}
6663			if err := v.Validate(); err != nil {
6664				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6665			}
6666		}
6667	}
6668
6669	if invalidParams.Len() > 0 {
6670		return invalidParams
6671	}
6672	return nil
6673}
6674
6675// SetClientRequestToken sets the ClientRequestToken field's value.
6676func (s *CreateWirelessGatewayInput) SetClientRequestToken(v string) *CreateWirelessGatewayInput {
6677	s.ClientRequestToken = &v
6678	return s
6679}
6680
6681// SetDescription sets the Description field's value.
6682func (s *CreateWirelessGatewayInput) SetDescription(v string) *CreateWirelessGatewayInput {
6683	s.Description = &v
6684	return s
6685}
6686
6687// SetLoRaWAN sets the LoRaWAN field's value.
6688func (s *CreateWirelessGatewayInput) SetLoRaWAN(v *LoRaWANGateway) *CreateWirelessGatewayInput {
6689	s.LoRaWAN = v
6690	return s
6691}
6692
6693// SetName sets the Name field's value.
6694func (s *CreateWirelessGatewayInput) SetName(v string) *CreateWirelessGatewayInput {
6695	s.Name = &v
6696	return s
6697}
6698
6699// SetTags sets the Tags field's value.
6700func (s *CreateWirelessGatewayInput) SetTags(v []*Tag) *CreateWirelessGatewayInput {
6701	s.Tags = v
6702	return s
6703}
6704
6705type CreateWirelessGatewayOutput struct {
6706	_ struct{} `type:"structure"`
6707
6708	// The Amazon Resource Name of the new resource.
6709	Arn *string `type:"string"`
6710
6711	// The ID of the new wireless gateway.
6712	Id *string `type:"string"`
6713}
6714
6715// String returns the string representation
6716func (s CreateWirelessGatewayOutput) String() string {
6717	return awsutil.Prettify(s)
6718}
6719
6720// GoString returns the string representation
6721func (s CreateWirelessGatewayOutput) GoString() string {
6722	return s.String()
6723}
6724
6725// SetArn sets the Arn field's value.
6726func (s *CreateWirelessGatewayOutput) SetArn(v string) *CreateWirelessGatewayOutput {
6727	s.Arn = &v
6728	return s
6729}
6730
6731// SetId sets the Id field's value.
6732func (s *CreateWirelessGatewayOutput) SetId(v string) *CreateWirelessGatewayOutput {
6733	s.Id = &v
6734	return s
6735}
6736
6737type CreateWirelessGatewayTaskDefinitionInput struct {
6738	_ struct{} `type:"structure"`
6739
6740	// Whether to automatically create tasks using this task definition for all
6741	// gateways with the specified current version. If false, the task must me created
6742	// by calling CreateWirelessGatewayTask.
6743	//
6744	// AutoCreateTasks is a required field
6745	AutoCreateTasks *bool `type:"boolean" required:"true"`
6746
6747	// Each resource must have a unique client request token. If you try to create
6748	// a new resource with the same token as a resource that already exists, an
6749	// exception occurs. If you omit this value, AWS SDKs will automatically generate
6750	// a unique client request.
6751	ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
6752
6753	// The name of the new resource.
6754	Name *string `min:"1" type:"string"`
6755
6756	// The tags to attach to the specified resource. Tags are metadata that you
6757	// can use to manage a resource.
6758	Tags []*Tag `type:"list"`
6759
6760	// Information about the gateways to update.
6761	Update *UpdateWirelessGatewayTaskCreate `type:"structure"`
6762}
6763
6764// String returns the string representation
6765func (s CreateWirelessGatewayTaskDefinitionInput) String() string {
6766	return awsutil.Prettify(s)
6767}
6768
6769// GoString returns the string representation
6770func (s CreateWirelessGatewayTaskDefinitionInput) GoString() string {
6771	return s.String()
6772}
6773
6774// Validate inspects the fields of the type to determine if they are valid.
6775func (s *CreateWirelessGatewayTaskDefinitionInput) Validate() error {
6776	invalidParams := request.ErrInvalidParams{Context: "CreateWirelessGatewayTaskDefinitionInput"}
6777	if s.AutoCreateTasks == nil {
6778		invalidParams.Add(request.NewErrParamRequired("AutoCreateTasks"))
6779	}
6780	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
6781		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
6782	}
6783	if s.Name != nil && len(*s.Name) < 1 {
6784		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6785	}
6786	if s.Tags != nil {
6787		for i, v := range s.Tags {
6788			if v == nil {
6789				continue
6790			}
6791			if err := v.Validate(); err != nil {
6792				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6793			}
6794		}
6795	}
6796	if s.Update != nil {
6797		if err := s.Update.Validate(); err != nil {
6798			invalidParams.AddNested("Update", err.(request.ErrInvalidParams))
6799		}
6800	}
6801
6802	if invalidParams.Len() > 0 {
6803		return invalidParams
6804	}
6805	return nil
6806}
6807
6808// SetAutoCreateTasks sets the AutoCreateTasks field's value.
6809func (s *CreateWirelessGatewayTaskDefinitionInput) SetAutoCreateTasks(v bool) *CreateWirelessGatewayTaskDefinitionInput {
6810	s.AutoCreateTasks = &v
6811	return s
6812}
6813
6814// SetClientRequestToken sets the ClientRequestToken field's value.
6815func (s *CreateWirelessGatewayTaskDefinitionInput) SetClientRequestToken(v string) *CreateWirelessGatewayTaskDefinitionInput {
6816	s.ClientRequestToken = &v
6817	return s
6818}
6819
6820// SetName sets the Name field's value.
6821func (s *CreateWirelessGatewayTaskDefinitionInput) SetName(v string) *CreateWirelessGatewayTaskDefinitionInput {
6822	s.Name = &v
6823	return s
6824}
6825
6826// SetTags sets the Tags field's value.
6827func (s *CreateWirelessGatewayTaskDefinitionInput) SetTags(v []*Tag) *CreateWirelessGatewayTaskDefinitionInput {
6828	s.Tags = v
6829	return s
6830}
6831
6832// SetUpdate sets the Update field's value.
6833func (s *CreateWirelessGatewayTaskDefinitionInput) SetUpdate(v *UpdateWirelessGatewayTaskCreate) *CreateWirelessGatewayTaskDefinitionInput {
6834	s.Update = v
6835	return s
6836}
6837
6838type CreateWirelessGatewayTaskDefinitionOutput struct {
6839	_ struct{} `type:"structure"`
6840
6841	// The Amazon Resource Name of the resource.
6842	Arn *string `type:"string"`
6843
6844	// The ID of the new wireless gateway task definition.
6845	Id *string `type:"string"`
6846}
6847
6848// String returns the string representation
6849func (s CreateWirelessGatewayTaskDefinitionOutput) String() string {
6850	return awsutil.Prettify(s)
6851}
6852
6853// GoString returns the string representation
6854func (s CreateWirelessGatewayTaskDefinitionOutput) GoString() string {
6855	return s.String()
6856}
6857
6858// SetArn sets the Arn field's value.
6859func (s *CreateWirelessGatewayTaskDefinitionOutput) SetArn(v string) *CreateWirelessGatewayTaskDefinitionOutput {
6860	s.Arn = &v
6861	return s
6862}
6863
6864// SetId sets the Id field's value.
6865func (s *CreateWirelessGatewayTaskDefinitionOutput) SetId(v string) *CreateWirelessGatewayTaskDefinitionOutput {
6866	s.Id = &v
6867	return s
6868}
6869
6870type CreateWirelessGatewayTaskInput struct {
6871	_ struct{} `type:"structure"`
6872
6873	// The ID of the resource to update.
6874	//
6875	// Id is a required field
6876	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
6877
6878	// The ID of the WirelessGatewayTaskDefinition.
6879	//
6880	// WirelessGatewayTaskDefinitionId is a required field
6881	WirelessGatewayTaskDefinitionId *string `type:"string" required:"true"`
6882}
6883
6884// String returns the string representation
6885func (s CreateWirelessGatewayTaskInput) String() string {
6886	return awsutil.Prettify(s)
6887}
6888
6889// GoString returns the string representation
6890func (s CreateWirelessGatewayTaskInput) GoString() string {
6891	return s.String()
6892}
6893
6894// Validate inspects the fields of the type to determine if they are valid.
6895func (s *CreateWirelessGatewayTaskInput) Validate() error {
6896	invalidParams := request.ErrInvalidParams{Context: "CreateWirelessGatewayTaskInput"}
6897	if s.Id == nil {
6898		invalidParams.Add(request.NewErrParamRequired("Id"))
6899	}
6900	if s.Id != nil && len(*s.Id) < 1 {
6901		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
6902	}
6903	if s.WirelessGatewayTaskDefinitionId == nil {
6904		invalidParams.Add(request.NewErrParamRequired("WirelessGatewayTaskDefinitionId"))
6905	}
6906
6907	if invalidParams.Len() > 0 {
6908		return invalidParams
6909	}
6910	return nil
6911}
6912
6913// SetId sets the Id field's value.
6914func (s *CreateWirelessGatewayTaskInput) SetId(v string) *CreateWirelessGatewayTaskInput {
6915	s.Id = &v
6916	return s
6917}
6918
6919// SetWirelessGatewayTaskDefinitionId sets the WirelessGatewayTaskDefinitionId field's value.
6920func (s *CreateWirelessGatewayTaskInput) SetWirelessGatewayTaskDefinitionId(v string) *CreateWirelessGatewayTaskInput {
6921	s.WirelessGatewayTaskDefinitionId = &v
6922	return s
6923}
6924
6925type CreateWirelessGatewayTaskOutput struct {
6926	_ struct{} `type:"structure"`
6927
6928	// The status of the request.
6929	Status *string `type:"string" enum:"WirelessGatewayTaskStatus"`
6930
6931	// The ID of the WirelessGatewayTaskDefinition.
6932	WirelessGatewayTaskDefinitionId *string `type:"string"`
6933}
6934
6935// String returns the string representation
6936func (s CreateWirelessGatewayTaskOutput) String() string {
6937	return awsutil.Prettify(s)
6938}
6939
6940// GoString returns the string representation
6941func (s CreateWirelessGatewayTaskOutput) GoString() string {
6942	return s.String()
6943}
6944
6945// SetStatus sets the Status field's value.
6946func (s *CreateWirelessGatewayTaskOutput) SetStatus(v string) *CreateWirelessGatewayTaskOutput {
6947	s.Status = &v
6948	return s
6949}
6950
6951// SetWirelessGatewayTaskDefinitionId sets the WirelessGatewayTaskDefinitionId field's value.
6952func (s *CreateWirelessGatewayTaskOutput) SetWirelessGatewayTaskDefinitionId(v string) *CreateWirelessGatewayTaskOutput {
6953	s.WirelessGatewayTaskDefinitionId = &v
6954	return s
6955}
6956
6957type DeleteDestinationInput struct {
6958	_ struct{} `type:"structure"`
6959
6960	// The name of the resource to delete.
6961	//
6962	// Name is a required field
6963	Name *string `location:"uri" locationName:"Name" type:"string" required:"true"`
6964}
6965
6966// String returns the string representation
6967func (s DeleteDestinationInput) String() string {
6968	return awsutil.Prettify(s)
6969}
6970
6971// GoString returns the string representation
6972func (s DeleteDestinationInput) GoString() string {
6973	return s.String()
6974}
6975
6976// Validate inspects the fields of the type to determine if they are valid.
6977func (s *DeleteDestinationInput) Validate() error {
6978	invalidParams := request.ErrInvalidParams{Context: "DeleteDestinationInput"}
6979	if s.Name == nil {
6980		invalidParams.Add(request.NewErrParamRequired("Name"))
6981	}
6982	if s.Name != nil && len(*s.Name) < 1 {
6983		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6984	}
6985
6986	if invalidParams.Len() > 0 {
6987		return invalidParams
6988	}
6989	return nil
6990}
6991
6992// SetName sets the Name field's value.
6993func (s *DeleteDestinationInput) SetName(v string) *DeleteDestinationInput {
6994	s.Name = &v
6995	return s
6996}
6997
6998type DeleteDestinationOutput struct {
6999	_ struct{} `type:"structure"`
7000}
7001
7002// String returns the string representation
7003func (s DeleteDestinationOutput) String() string {
7004	return awsutil.Prettify(s)
7005}
7006
7007// GoString returns the string representation
7008func (s DeleteDestinationOutput) GoString() string {
7009	return s.String()
7010}
7011
7012type DeleteDeviceProfileInput struct {
7013	_ struct{} `type:"structure"`
7014
7015	// The ID of the resource to delete.
7016	//
7017	// Id is a required field
7018	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
7019}
7020
7021// String returns the string representation
7022func (s DeleteDeviceProfileInput) String() string {
7023	return awsutil.Prettify(s)
7024}
7025
7026// GoString returns the string representation
7027func (s DeleteDeviceProfileInput) GoString() string {
7028	return s.String()
7029}
7030
7031// Validate inspects the fields of the type to determine if they are valid.
7032func (s *DeleteDeviceProfileInput) Validate() error {
7033	invalidParams := request.ErrInvalidParams{Context: "DeleteDeviceProfileInput"}
7034	if s.Id == nil {
7035		invalidParams.Add(request.NewErrParamRequired("Id"))
7036	}
7037	if s.Id != nil && len(*s.Id) < 1 {
7038		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
7039	}
7040
7041	if invalidParams.Len() > 0 {
7042		return invalidParams
7043	}
7044	return nil
7045}
7046
7047// SetId sets the Id field's value.
7048func (s *DeleteDeviceProfileInput) SetId(v string) *DeleteDeviceProfileInput {
7049	s.Id = &v
7050	return s
7051}
7052
7053type DeleteDeviceProfileOutput struct {
7054	_ struct{} `type:"structure"`
7055}
7056
7057// String returns the string representation
7058func (s DeleteDeviceProfileOutput) String() string {
7059	return awsutil.Prettify(s)
7060}
7061
7062// GoString returns the string representation
7063func (s DeleteDeviceProfileOutput) GoString() string {
7064	return s.String()
7065}
7066
7067type DeleteServiceProfileInput struct {
7068	_ struct{} `type:"structure"`
7069
7070	// The ID of the resource to delete.
7071	//
7072	// Id is a required field
7073	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
7074}
7075
7076// String returns the string representation
7077func (s DeleteServiceProfileInput) String() string {
7078	return awsutil.Prettify(s)
7079}
7080
7081// GoString returns the string representation
7082func (s DeleteServiceProfileInput) GoString() string {
7083	return s.String()
7084}
7085
7086// Validate inspects the fields of the type to determine if they are valid.
7087func (s *DeleteServiceProfileInput) Validate() error {
7088	invalidParams := request.ErrInvalidParams{Context: "DeleteServiceProfileInput"}
7089	if s.Id == nil {
7090		invalidParams.Add(request.NewErrParamRequired("Id"))
7091	}
7092	if s.Id != nil && len(*s.Id) < 1 {
7093		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
7094	}
7095
7096	if invalidParams.Len() > 0 {
7097		return invalidParams
7098	}
7099	return nil
7100}
7101
7102// SetId sets the Id field's value.
7103func (s *DeleteServiceProfileInput) SetId(v string) *DeleteServiceProfileInput {
7104	s.Id = &v
7105	return s
7106}
7107
7108type DeleteServiceProfileOutput struct {
7109	_ struct{} `type:"structure"`
7110}
7111
7112// String returns the string representation
7113func (s DeleteServiceProfileOutput) String() string {
7114	return awsutil.Prettify(s)
7115}
7116
7117// GoString returns the string representation
7118func (s DeleteServiceProfileOutput) GoString() string {
7119	return s.String()
7120}
7121
7122type DeleteWirelessDeviceInput struct {
7123	_ struct{} `type:"structure"`
7124
7125	// The ID of the resource to delete.
7126	//
7127	// Id is a required field
7128	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
7129}
7130
7131// String returns the string representation
7132func (s DeleteWirelessDeviceInput) String() string {
7133	return awsutil.Prettify(s)
7134}
7135
7136// GoString returns the string representation
7137func (s DeleteWirelessDeviceInput) GoString() string {
7138	return s.String()
7139}
7140
7141// Validate inspects the fields of the type to determine if they are valid.
7142func (s *DeleteWirelessDeviceInput) Validate() error {
7143	invalidParams := request.ErrInvalidParams{Context: "DeleteWirelessDeviceInput"}
7144	if s.Id == nil {
7145		invalidParams.Add(request.NewErrParamRequired("Id"))
7146	}
7147	if s.Id != nil && len(*s.Id) < 1 {
7148		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
7149	}
7150
7151	if invalidParams.Len() > 0 {
7152		return invalidParams
7153	}
7154	return nil
7155}
7156
7157// SetId sets the Id field's value.
7158func (s *DeleteWirelessDeviceInput) SetId(v string) *DeleteWirelessDeviceInput {
7159	s.Id = &v
7160	return s
7161}
7162
7163type DeleteWirelessDeviceOutput struct {
7164	_ struct{} `type:"structure"`
7165}
7166
7167// String returns the string representation
7168func (s DeleteWirelessDeviceOutput) String() string {
7169	return awsutil.Prettify(s)
7170}
7171
7172// GoString returns the string representation
7173func (s DeleteWirelessDeviceOutput) GoString() string {
7174	return s.String()
7175}
7176
7177type DeleteWirelessGatewayInput struct {
7178	_ struct{} `type:"structure"`
7179
7180	// The ID of the resource to delete.
7181	//
7182	// Id is a required field
7183	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
7184}
7185
7186// String returns the string representation
7187func (s DeleteWirelessGatewayInput) String() string {
7188	return awsutil.Prettify(s)
7189}
7190
7191// GoString returns the string representation
7192func (s DeleteWirelessGatewayInput) GoString() string {
7193	return s.String()
7194}
7195
7196// Validate inspects the fields of the type to determine if they are valid.
7197func (s *DeleteWirelessGatewayInput) Validate() error {
7198	invalidParams := request.ErrInvalidParams{Context: "DeleteWirelessGatewayInput"}
7199	if s.Id == nil {
7200		invalidParams.Add(request.NewErrParamRequired("Id"))
7201	}
7202	if s.Id != nil && len(*s.Id) < 1 {
7203		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
7204	}
7205
7206	if invalidParams.Len() > 0 {
7207		return invalidParams
7208	}
7209	return nil
7210}
7211
7212// SetId sets the Id field's value.
7213func (s *DeleteWirelessGatewayInput) SetId(v string) *DeleteWirelessGatewayInput {
7214	s.Id = &v
7215	return s
7216}
7217
7218type DeleteWirelessGatewayOutput struct {
7219	_ struct{} `type:"structure"`
7220}
7221
7222// String returns the string representation
7223func (s DeleteWirelessGatewayOutput) String() string {
7224	return awsutil.Prettify(s)
7225}
7226
7227// GoString returns the string representation
7228func (s DeleteWirelessGatewayOutput) GoString() string {
7229	return s.String()
7230}
7231
7232type DeleteWirelessGatewayTaskDefinitionInput struct {
7233	_ struct{} `type:"structure"`
7234
7235	// The ID of the resource to delete.
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 DeleteWirelessGatewayTaskDefinitionInput) String() string {
7243	return awsutil.Prettify(s)
7244}
7245
7246// GoString returns the string representation
7247func (s DeleteWirelessGatewayTaskDefinitionInput) GoString() string {
7248	return s.String()
7249}
7250
7251// Validate inspects the fields of the type to determine if they are valid.
7252func (s *DeleteWirelessGatewayTaskDefinitionInput) Validate() error {
7253	invalidParams := request.ErrInvalidParams{Context: "DeleteWirelessGatewayTaskDefinitionInput"}
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 *DeleteWirelessGatewayTaskDefinitionInput) SetId(v string) *DeleteWirelessGatewayTaskDefinitionInput {
7269	s.Id = &v
7270	return s
7271}
7272
7273type DeleteWirelessGatewayTaskDefinitionOutput struct {
7274	_ struct{} `type:"structure"`
7275}
7276
7277// String returns the string representation
7278func (s DeleteWirelessGatewayTaskDefinitionOutput) String() string {
7279	return awsutil.Prettify(s)
7280}
7281
7282// GoString returns the string representation
7283func (s DeleteWirelessGatewayTaskDefinitionOutput) GoString() string {
7284	return s.String()
7285}
7286
7287type DeleteWirelessGatewayTaskInput struct {
7288	_ struct{} `type:"structure"`
7289
7290	// The ID of the resource to delete.
7291	//
7292	// Id is a required field
7293	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
7294}
7295
7296// String returns the string representation
7297func (s DeleteWirelessGatewayTaskInput) String() string {
7298	return awsutil.Prettify(s)
7299}
7300
7301// GoString returns the string representation
7302func (s DeleteWirelessGatewayTaskInput) GoString() string {
7303	return s.String()
7304}
7305
7306// Validate inspects the fields of the type to determine if they are valid.
7307func (s *DeleteWirelessGatewayTaskInput) Validate() error {
7308	invalidParams := request.ErrInvalidParams{Context: "DeleteWirelessGatewayTaskInput"}
7309	if s.Id == nil {
7310		invalidParams.Add(request.NewErrParamRequired("Id"))
7311	}
7312	if s.Id != nil && len(*s.Id) < 1 {
7313		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
7314	}
7315
7316	if invalidParams.Len() > 0 {
7317		return invalidParams
7318	}
7319	return nil
7320}
7321
7322// SetId sets the Id field's value.
7323func (s *DeleteWirelessGatewayTaskInput) SetId(v string) *DeleteWirelessGatewayTaskInput {
7324	s.Id = &v
7325	return s
7326}
7327
7328type DeleteWirelessGatewayTaskOutput struct {
7329	_ struct{} `type:"structure"`
7330}
7331
7332// String returns the string representation
7333func (s DeleteWirelessGatewayTaskOutput) String() string {
7334	return awsutil.Prettify(s)
7335}
7336
7337// GoString returns the string representation
7338func (s DeleteWirelessGatewayTaskOutput) GoString() string {
7339	return s.String()
7340}
7341
7342// Describes a destination.
7343type Destinations struct {
7344	_ struct{} `type:"structure"`
7345
7346	// The Amazon Resource Name of the resource.
7347	Arn *string `type:"string"`
7348
7349	// The description of the resource.
7350	Description *string `type:"string"`
7351
7352	// The rule name or topic rule to send messages to.
7353	Expression *string `type:"string"`
7354
7355	// The type of value in Expression.
7356	ExpressionType *string `type:"string" enum:"ExpressionType"`
7357
7358	// The name of the resource.
7359	Name *string `type:"string"`
7360
7361	// The ARN of the IAM Role that authorizes the destination.
7362	RoleArn *string `min:"20" type:"string"`
7363}
7364
7365// String returns the string representation
7366func (s Destinations) String() string {
7367	return awsutil.Prettify(s)
7368}
7369
7370// GoString returns the string representation
7371func (s Destinations) GoString() string {
7372	return s.String()
7373}
7374
7375// SetArn sets the Arn field's value.
7376func (s *Destinations) SetArn(v string) *Destinations {
7377	s.Arn = &v
7378	return s
7379}
7380
7381// SetDescription sets the Description field's value.
7382func (s *Destinations) SetDescription(v string) *Destinations {
7383	s.Description = &v
7384	return s
7385}
7386
7387// SetExpression sets the Expression field's value.
7388func (s *Destinations) SetExpression(v string) *Destinations {
7389	s.Expression = &v
7390	return s
7391}
7392
7393// SetExpressionType sets the ExpressionType field's value.
7394func (s *Destinations) SetExpressionType(v string) *Destinations {
7395	s.ExpressionType = &v
7396	return s
7397}
7398
7399// SetName sets the Name field's value.
7400func (s *Destinations) SetName(v string) *Destinations {
7401	s.Name = &v
7402	return s
7403}
7404
7405// SetRoleArn sets the RoleArn field's value.
7406func (s *Destinations) SetRoleArn(v string) *Destinations {
7407	s.RoleArn = &v
7408	return s
7409}
7410
7411// Describes a device profile.
7412type DeviceProfile struct {
7413	_ struct{} `type:"structure"`
7414
7415	// The Amazon Resource Name of the resource.
7416	Arn *string `type:"string"`
7417
7418	// The ID of the device profile.
7419	Id *string `type:"string"`
7420
7421	// The name of the resource.
7422	Name *string `type:"string"`
7423}
7424
7425// String returns the string representation
7426func (s DeviceProfile) String() string {
7427	return awsutil.Prettify(s)
7428}
7429
7430// GoString returns the string representation
7431func (s DeviceProfile) GoString() string {
7432	return s.String()
7433}
7434
7435// SetArn sets the Arn field's value.
7436func (s *DeviceProfile) SetArn(v string) *DeviceProfile {
7437	s.Arn = &v
7438	return s
7439}
7440
7441// SetId sets the Id field's value.
7442func (s *DeviceProfile) SetId(v string) *DeviceProfile {
7443	s.Id = &v
7444	return s
7445}
7446
7447// SetName sets the Name field's value.
7448func (s *DeviceProfile) SetName(v string) *DeviceProfile {
7449	s.Name = &v
7450	return s
7451}
7452
7453type DisassociateAwsAccountFromPartnerAccountInput struct {
7454	_ struct{} `type:"structure"`
7455
7456	// The partner account ID to disassociate from the AWS account.
7457	//
7458	// PartnerAccountId is a required field
7459	PartnerAccountId *string `location:"uri" locationName:"PartnerAccountId" type:"string" required:"true"`
7460
7461	// The partner type.
7462	//
7463	// PartnerType is a required field
7464	PartnerType *string `location:"querystring" locationName:"partnerType" type:"string" required:"true" enum:"PartnerType"`
7465}
7466
7467// String returns the string representation
7468func (s DisassociateAwsAccountFromPartnerAccountInput) String() string {
7469	return awsutil.Prettify(s)
7470}
7471
7472// GoString returns the string representation
7473func (s DisassociateAwsAccountFromPartnerAccountInput) GoString() string {
7474	return s.String()
7475}
7476
7477// Validate inspects the fields of the type to determine if they are valid.
7478func (s *DisassociateAwsAccountFromPartnerAccountInput) Validate() error {
7479	invalidParams := request.ErrInvalidParams{Context: "DisassociateAwsAccountFromPartnerAccountInput"}
7480	if s.PartnerAccountId == nil {
7481		invalidParams.Add(request.NewErrParamRequired("PartnerAccountId"))
7482	}
7483	if s.PartnerAccountId != nil && len(*s.PartnerAccountId) < 1 {
7484		invalidParams.Add(request.NewErrParamMinLen("PartnerAccountId", 1))
7485	}
7486	if s.PartnerType == nil {
7487		invalidParams.Add(request.NewErrParamRequired("PartnerType"))
7488	}
7489
7490	if invalidParams.Len() > 0 {
7491		return invalidParams
7492	}
7493	return nil
7494}
7495
7496// SetPartnerAccountId sets the PartnerAccountId field's value.
7497func (s *DisassociateAwsAccountFromPartnerAccountInput) SetPartnerAccountId(v string) *DisassociateAwsAccountFromPartnerAccountInput {
7498	s.PartnerAccountId = &v
7499	return s
7500}
7501
7502// SetPartnerType sets the PartnerType field's value.
7503func (s *DisassociateAwsAccountFromPartnerAccountInput) SetPartnerType(v string) *DisassociateAwsAccountFromPartnerAccountInput {
7504	s.PartnerType = &v
7505	return s
7506}
7507
7508type DisassociateAwsAccountFromPartnerAccountOutput struct {
7509	_ struct{} `type:"structure"`
7510}
7511
7512// String returns the string representation
7513func (s DisassociateAwsAccountFromPartnerAccountOutput) String() string {
7514	return awsutil.Prettify(s)
7515}
7516
7517// GoString returns the string representation
7518func (s DisassociateAwsAccountFromPartnerAccountOutput) GoString() string {
7519	return s.String()
7520}
7521
7522type DisassociateWirelessDeviceFromThingInput struct {
7523	_ struct{} `type:"structure"`
7524
7525	// The ID of the resource to update.
7526	//
7527	// Id is a required field
7528	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
7529}
7530
7531// String returns the string representation
7532func (s DisassociateWirelessDeviceFromThingInput) String() string {
7533	return awsutil.Prettify(s)
7534}
7535
7536// GoString returns the string representation
7537func (s DisassociateWirelessDeviceFromThingInput) GoString() string {
7538	return s.String()
7539}
7540
7541// Validate inspects the fields of the type to determine if they are valid.
7542func (s *DisassociateWirelessDeviceFromThingInput) Validate() error {
7543	invalidParams := request.ErrInvalidParams{Context: "DisassociateWirelessDeviceFromThingInput"}
7544	if s.Id == nil {
7545		invalidParams.Add(request.NewErrParamRequired("Id"))
7546	}
7547	if s.Id != nil && len(*s.Id) < 1 {
7548		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
7549	}
7550
7551	if invalidParams.Len() > 0 {
7552		return invalidParams
7553	}
7554	return nil
7555}
7556
7557// SetId sets the Id field's value.
7558func (s *DisassociateWirelessDeviceFromThingInput) SetId(v string) *DisassociateWirelessDeviceFromThingInput {
7559	s.Id = &v
7560	return s
7561}
7562
7563type DisassociateWirelessDeviceFromThingOutput struct {
7564	_ struct{} `type:"structure"`
7565}
7566
7567// String returns the string representation
7568func (s DisassociateWirelessDeviceFromThingOutput) String() string {
7569	return awsutil.Prettify(s)
7570}
7571
7572// GoString returns the string representation
7573func (s DisassociateWirelessDeviceFromThingOutput) GoString() string {
7574	return s.String()
7575}
7576
7577type DisassociateWirelessGatewayFromCertificateInput struct {
7578	_ struct{} `type:"structure"`
7579
7580	// The ID of the resource to update.
7581	//
7582	// Id is a required field
7583	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
7584}
7585
7586// String returns the string representation
7587func (s DisassociateWirelessGatewayFromCertificateInput) String() string {
7588	return awsutil.Prettify(s)
7589}
7590
7591// GoString returns the string representation
7592func (s DisassociateWirelessGatewayFromCertificateInput) GoString() string {
7593	return s.String()
7594}
7595
7596// Validate inspects the fields of the type to determine if they are valid.
7597func (s *DisassociateWirelessGatewayFromCertificateInput) Validate() error {
7598	invalidParams := request.ErrInvalidParams{Context: "DisassociateWirelessGatewayFromCertificateInput"}
7599	if s.Id == nil {
7600		invalidParams.Add(request.NewErrParamRequired("Id"))
7601	}
7602	if s.Id != nil && len(*s.Id) < 1 {
7603		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
7604	}
7605
7606	if invalidParams.Len() > 0 {
7607		return invalidParams
7608	}
7609	return nil
7610}
7611
7612// SetId sets the Id field's value.
7613func (s *DisassociateWirelessGatewayFromCertificateInput) SetId(v string) *DisassociateWirelessGatewayFromCertificateInput {
7614	s.Id = &v
7615	return s
7616}
7617
7618type DisassociateWirelessGatewayFromCertificateOutput struct {
7619	_ struct{} `type:"structure"`
7620}
7621
7622// String returns the string representation
7623func (s DisassociateWirelessGatewayFromCertificateOutput) String() string {
7624	return awsutil.Prettify(s)
7625}
7626
7627// GoString returns the string representation
7628func (s DisassociateWirelessGatewayFromCertificateOutput) GoString() string {
7629	return s.String()
7630}
7631
7632type DisassociateWirelessGatewayFromThingInput struct {
7633	_ struct{} `type:"structure"`
7634
7635	// The ID of the resource to update.
7636	//
7637	// Id is a required field
7638	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
7639}
7640
7641// String returns the string representation
7642func (s DisassociateWirelessGatewayFromThingInput) String() string {
7643	return awsutil.Prettify(s)
7644}
7645
7646// GoString returns the string representation
7647func (s DisassociateWirelessGatewayFromThingInput) GoString() string {
7648	return s.String()
7649}
7650
7651// Validate inspects the fields of the type to determine if they are valid.
7652func (s *DisassociateWirelessGatewayFromThingInput) Validate() error {
7653	invalidParams := request.ErrInvalidParams{Context: "DisassociateWirelessGatewayFromThingInput"}
7654	if s.Id == nil {
7655		invalidParams.Add(request.NewErrParamRequired("Id"))
7656	}
7657	if s.Id != nil && len(*s.Id) < 1 {
7658		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
7659	}
7660
7661	if invalidParams.Len() > 0 {
7662		return invalidParams
7663	}
7664	return nil
7665}
7666
7667// SetId sets the Id field's value.
7668func (s *DisassociateWirelessGatewayFromThingInput) SetId(v string) *DisassociateWirelessGatewayFromThingInput {
7669	s.Id = &v
7670	return s
7671}
7672
7673type DisassociateWirelessGatewayFromThingOutput struct {
7674	_ struct{} `type:"structure"`
7675}
7676
7677// String returns the string representation
7678func (s DisassociateWirelessGatewayFromThingOutput) String() string {
7679	return awsutil.Prettify(s)
7680}
7681
7682// GoString returns the string representation
7683func (s DisassociateWirelessGatewayFromThingOutput) GoString() string {
7684	return s.String()
7685}
7686
7687type GetDestinationInput struct {
7688	_ struct{} `type:"structure"`
7689
7690	// The name of the resource to get.
7691	//
7692	// Name is a required field
7693	Name *string `location:"uri" locationName:"Name" type:"string" required:"true"`
7694}
7695
7696// String returns the string representation
7697func (s GetDestinationInput) String() string {
7698	return awsutil.Prettify(s)
7699}
7700
7701// GoString returns the string representation
7702func (s GetDestinationInput) GoString() string {
7703	return s.String()
7704}
7705
7706// Validate inspects the fields of the type to determine if they are valid.
7707func (s *GetDestinationInput) Validate() error {
7708	invalidParams := request.ErrInvalidParams{Context: "GetDestinationInput"}
7709	if s.Name == nil {
7710		invalidParams.Add(request.NewErrParamRequired("Name"))
7711	}
7712	if s.Name != nil && len(*s.Name) < 1 {
7713		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7714	}
7715
7716	if invalidParams.Len() > 0 {
7717		return invalidParams
7718	}
7719	return nil
7720}
7721
7722// SetName sets the Name field's value.
7723func (s *GetDestinationInput) SetName(v string) *GetDestinationInput {
7724	s.Name = &v
7725	return s
7726}
7727
7728type GetDestinationOutput struct {
7729	_ struct{} `type:"structure"`
7730
7731	// The Amazon Resource Name of the resource.
7732	Arn *string `type:"string"`
7733
7734	// The description of the resource.
7735	Description *string `type:"string"`
7736
7737	// The rule name or topic rule to send messages to.
7738	Expression *string `type:"string"`
7739
7740	// The type of value in Expression.
7741	ExpressionType *string `type:"string" enum:"ExpressionType"`
7742
7743	// The name of the resource.
7744	Name *string `type:"string"`
7745
7746	// The ARN of the IAM Role that authorizes the destination.
7747	RoleArn *string `min:"20" type:"string"`
7748}
7749
7750// String returns the string representation
7751func (s GetDestinationOutput) String() string {
7752	return awsutil.Prettify(s)
7753}
7754
7755// GoString returns the string representation
7756func (s GetDestinationOutput) GoString() string {
7757	return s.String()
7758}
7759
7760// SetArn sets the Arn field's value.
7761func (s *GetDestinationOutput) SetArn(v string) *GetDestinationOutput {
7762	s.Arn = &v
7763	return s
7764}
7765
7766// SetDescription sets the Description field's value.
7767func (s *GetDestinationOutput) SetDescription(v string) *GetDestinationOutput {
7768	s.Description = &v
7769	return s
7770}
7771
7772// SetExpression sets the Expression field's value.
7773func (s *GetDestinationOutput) SetExpression(v string) *GetDestinationOutput {
7774	s.Expression = &v
7775	return s
7776}
7777
7778// SetExpressionType sets the ExpressionType field's value.
7779func (s *GetDestinationOutput) SetExpressionType(v string) *GetDestinationOutput {
7780	s.ExpressionType = &v
7781	return s
7782}
7783
7784// SetName sets the Name field's value.
7785func (s *GetDestinationOutput) SetName(v string) *GetDestinationOutput {
7786	s.Name = &v
7787	return s
7788}
7789
7790// SetRoleArn sets the RoleArn field's value.
7791func (s *GetDestinationOutput) SetRoleArn(v string) *GetDestinationOutput {
7792	s.RoleArn = &v
7793	return s
7794}
7795
7796type GetDeviceProfileInput struct {
7797	_ struct{} `type:"structure"`
7798
7799	// The ID of the resource to get.
7800	//
7801	// Id is a required field
7802	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
7803}
7804
7805// String returns the string representation
7806func (s GetDeviceProfileInput) String() string {
7807	return awsutil.Prettify(s)
7808}
7809
7810// GoString returns the string representation
7811func (s GetDeviceProfileInput) GoString() string {
7812	return s.String()
7813}
7814
7815// Validate inspects the fields of the type to determine if they are valid.
7816func (s *GetDeviceProfileInput) Validate() error {
7817	invalidParams := request.ErrInvalidParams{Context: "GetDeviceProfileInput"}
7818	if s.Id == nil {
7819		invalidParams.Add(request.NewErrParamRequired("Id"))
7820	}
7821	if s.Id != nil && len(*s.Id) < 1 {
7822		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
7823	}
7824
7825	if invalidParams.Len() > 0 {
7826		return invalidParams
7827	}
7828	return nil
7829}
7830
7831// SetId sets the Id field's value.
7832func (s *GetDeviceProfileInput) SetId(v string) *GetDeviceProfileInput {
7833	s.Id = &v
7834	return s
7835}
7836
7837type GetDeviceProfileOutput struct {
7838	_ struct{} `type:"structure"`
7839
7840	// The Amazon Resource Name of the resource.
7841	Arn *string `type:"string"`
7842
7843	// The ID of the device profile.
7844	Id *string `type:"string"`
7845
7846	// Information about the device profile.
7847	LoRaWAN *LoRaWANDeviceProfile `type:"structure"`
7848
7849	// The name of the resource.
7850	Name *string `type:"string"`
7851}
7852
7853// String returns the string representation
7854func (s GetDeviceProfileOutput) String() string {
7855	return awsutil.Prettify(s)
7856}
7857
7858// GoString returns the string representation
7859func (s GetDeviceProfileOutput) GoString() string {
7860	return s.String()
7861}
7862
7863// SetArn sets the Arn field's value.
7864func (s *GetDeviceProfileOutput) SetArn(v string) *GetDeviceProfileOutput {
7865	s.Arn = &v
7866	return s
7867}
7868
7869// SetId sets the Id field's value.
7870func (s *GetDeviceProfileOutput) SetId(v string) *GetDeviceProfileOutput {
7871	s.Id = &v
7872	return s
7873}
7874
7875// SetLoRaWAN sets the LoRaWAN field's value.
7876func (s *GetDeviceProfileOutput) SetLoRaWAN(v *LoRaWANDeviceProfile) *GetDeviceProfileOutput {
7877	s.LoRaWAN = v
7878	return s
7879}
7880
7881// SetName sets the Name field's value.
7882func (s *GetDeviceProfileOutput) SetName(v string) *GetDeviceProfileOutput {
7883	s.Name = &v
7884	return s
7885}
7886
7887type GetLogLevelsByResourceTypesInput struct {
7888	_ struct{} `type:"structure"`
7889}
7890
7891// String returns the string representation
7892func (s GetLogLevelsByResourceTypesInput) String() string {
7893	return awsutil.Prettify(s)
7894}
7895
7896// GoString returns the string representation
7897func (s GetLogLevelsByResourceTypesInput) GoString() string {
7898	return s.String()
7899}
7900
7901type GetLogLevelsByResourceTypesOutput struct {
7902	_ struct{} `type:"structure"`
7903
7904	// The log level for a log message.
7905	DefaultLogLevel *string `type:"string" enum:"LogLevel"`
7906
7907	// The list of wireless device log options.
7908	WirelessDeviceLogOptions []*WirelessDeviceLogOption `type:"list"`
7909
7910	// The list of wireless gateway log options.
7911	WirelessGatewayLogOptions []*WirelessGatewayLogOption `type:"list"`
7912}
7913
7914// String returns the string representation
7915func (s GetLogLevelsByResourceTypesOutput) String() string {
7916	return awsutil.Prettify(s)
7917}
7918
7919// GoString returns the string representation
7920func (s GetLogLevelsByResourceTypesOutput) GoString() string {
7921	return s.String()
7922}
7923
7924// SetDefaultLogLevel sets the DefaultLogLevel field's value.
7925func (s *GetLogLevelsByResourceTypesOutput) SetDefaultLogLevel(v string) *GetLogLevelsByResourceTypesOutput {
7926	s.DefaultLogLevel = &v
7927	return s
7928}
7929
7930// SetWirelessDeviceLogOptions sets the WirelessDeviceLogOptions field's value.
7931func (s *GetLogLevelsByResourceTypesOutput) SetWirelessDeviceLogOptions(v []*WirelessDeviceLogOption) *GetLogLevelsByResourceTypesOutput {
7932	s.WirelessDeviceLogOptions = v
7933	return s
7934}
7935
7936// SetWirelessGatewayLogOptions sets the WirelessGatewayLogOptions field's value.
7937func (s *GetLogLevelsByResourceTypesOutput) SetWirelessGatewayLogOptions(v []*WirelessGatewayLogOption) *GetLogLevelsByResourceTypesOutput {
7938	s.WirelessGatewayLogOptions = v
7939	return s
7940}
7941
7942type GetPartnerAccountInput struct {
7943	_ struct{} `type:"structure"`
7944
7945	// The partner account ID to disassociate from the AWS account.
7946	//
7947	// PartnerAccountId is a required field
7948	PartnerAccountId *string `location:"uri" locationName:"PartnerAccountId" type:"string" required:"true"`
7949
7950	// The partner type.
7951	//
7952	// PartnerType is a required field
7953	PartnerType *string `location:"querystring" locationName:"partnerType" type:"string" required:"true" enum:"PartnerType"`
7954}
7955
7956// String returns the string representation
7957func (s GetPartnerAccountInput) String() string {
7958	return awsutil.Prettify(s)
7959}
7960
7961// GoString returns the string representation
7962func (s GetPartnerAccountInput) GoString() string {
7963	return s.String()
7964}
7965
7966// Validate inspects the fields of the type to determine if they are valid.
7967func (s *GetPartnerAccountInput) Validate() error {
7968	invalidParams := request.ErrInvalidParams{Context: "GetPartnerAccountInput"}
7969	if s.PartnerAccountId == nil {
7970		invalidParams.Add(request.NewErrParamRequired("PartnerAccountId"))
7971	}
7972	if s.PartnerAccountId != nil && len(*s.PartnerAccountId) < 1 {
7973		invalidParams.Add(request.NewErrParamMinLen("PartnerAccountId", 1))
7974	}
7975	if s.PartnerType == nil {
7976		invalidParams.Add(request.NewErrParamRequired("PartnerType"))
7977	}
7978
7979	if invalidParams.Len() > 0 {
7980		return invalidParams
7981	}
7982	return nil
7983}
7984
7985// SetPartnerAccountId sets the PartnerAccountId field's value.
7986func (s *GetPartnerAccountInput) SetPartnerAccountId(v string) *GetPartnerAccountInput {
7987	s.PartnerAccountId = &v
7988	return s
7989}
7990
7991// SetPartnerType sets the PartnerType field's value.
7992func (s *GetPartnerAccountInput) SetPartnerType(v string) *GetPartnerAccountInput {
7993	s.PartnerType = &v
7994	return s
7995}
7996
7997type GetPartnerAccountOutput struct {
7998	_ struct{} `type:"structure"`
7999
8000	// Whether the partner account is linked to the AWS account.
8001	AccountLinked *bool `type:"boolean"`
8002
8003	// The Sidewalk account credentials.
8004	Sidewalk *SidewalkAccountInfoWithFingerprint `type:"structure"`
8005}
8006
8007// String returns the string representation
8008func (s GetPartnerAccountOutput) String() string {
8009	return awsutil.Prettify(s)
8010}
8011
8012// GoString returns the string representation
8013func (s GetPartnerAccountOutput) GoString() string {
8014	return s.String()
8015}
8016
8017// SetAccountLinked sets the AccountLinked field's value.
8018func (s *GetPartnerAccountOutput) SetAccountLinked(v bool) *GetPartnerAccountOutput {
8019	s.AccountLinked = &v
8020	return s
8021}
8022
8023// SetSidewalk sets the Sidewalk field's value.
8024func (s *GetPartnerAccountOutput) SetSidewalk(v *SidewalkAccountInfoWithFingerprint) *GetPartnerAccountOutput {
8025	s.Sidewalk = v
8026	return s
8027}
8028
8029type GetResourceLogLevelInput struct {
8030	_ struct{} `type:"structure"`
8031
8032	// The identifier of the resource. For a Wireless Device, it is the wireless
8033	// device ID. For a wireless gateway, it is the wireless gateway ID.
8034	//
8035	// ResourceIdentifier is a required field
8036	ResourceIdentifier *string `location:"uri" locationName:"ResourceIdentifier" type:"string" required:"true"`
8037
8038	// The type of the resource, which can be WirelessDevice or WirelessGateway.
8039	//
8040	// ResourceType is a required field
8041	ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" required:"true"`
8042}
8043
8044// String returns the string representation
8045func (s GetResourceLogLevelInput) String() string {
8046	return awsutil.Prettify(s)
8047}
8048
8049// GoString returns the string representation
8050func (s GetResourceLogLevelInput) GoString() string {
8051	return s.String()
8052}
8053
8054// Validate inspects the fields of the type to determine if they are valid.
8055func (s *GetResourceLogLevelInput) Validate() error {
8056	invalidParams := request.ErrInvalidParams{Context: "GetResourceLogLevelInput"}
8057	if s.ResourceIdentifier == nil {
8058		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
8059	}
8060	if s.ResourceIdentifier != nil && len(*s.ResourceIdentifier) < 1 {
8061		invalidParams.Add(request.NewErrParamMinLen("ResourceIdentifier", 1))
8062	}
8063	if s.ResourceType == nil {
8064		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
8065	}
8066
8067	if invalidParams.Len() > 0 {
8068		return invalidParams
8069	}
8070	return nil
8071}
8072
8073// SetResourceIdentifier sets the ResourceIdentifier field's value.
8074func (s *GetResourceLogLevelInput) SetResourceIdentifier(v string) *GetResourceLogLevelInput {
8075	s.ResourceIdentifier = &v
8076	return s
8077}
8078
8079// SetResourceType sets the ResourceType field's value.
8080func (s *GetResourceLogLevelInput) SetResourceType(v string) *GetResourceLogLevelInput {
8081	s.ResourceType = &v
8082	return s
8083}
8084
8085type GetResourceLogLevelOutput struct {
8086	_ struct{} `type:"structure"`
8087
8088	// The log level for a log message.
8089	LogLevel *string `type:"string" enum:"LogLevel"`
8090}
8091
8092// String returns the string representation
8093func (s GetResourceLogLevelOutput) String() string {
8094	return awsutil.Prettify(s)
8095}
8096
8097// GoString returns the string representation
8098func (s GetResourceLogLevelOutput) GoString() string {
8099	return s.String()
8100}
8101
8102// SetLogLevel sets the LogLevel field's value.
8103func (s *GetResourceLogLevelOutput) SetLogLevel(v string) *GetResourceLogLevelOutput {
8104	s.LogLevel = &v
8105	return s
8106}
8107
8108type GetServiceEndpointInput struct {
8109	_ struct{} `type:"structure"`
8110
8111	// The service type for which to get endpoint information about. Can be CUPS
8112	// for the Configuration and Update Server endpoint, or LNS for the LoRaWAN
8113	// Network Server endpoint.
8114	ServiceType *string `location:"querystring" locationName:"serviceType" type:"string" enum:"WirelessGatewayServiceType"`
8115}
8116
8117// String returns the string representation
8118func (s GetServiceEndpointInput) String() string {
8119	return awsutil.Prettify(s)
8120}
8121
8122// GoString returns the string representation
8123func (s GetServiceEndpointInput) GoString() string {
8124	return s.String()
8125}
8126
8127// SetServiceType sets the ServiceType field's value.
8128func (s *GetServiceEndpointInput) SetServiceType(v string) *GetServiceEndpointInput {
8129	s.ServiceType = &v
8130	return s
8131}
8132
8133type GetServiceEndpointOutput struct {
8134	_ struct{} `type:"structure"`
8135
8136	// The Root CA of the server trust certificate.
8137	ServerTrust *string `min:"1" type:"string"`
8138
8139	// The service endpoint value.
8140	ServiceEndpoint *string `min:"1" type:"string"`
8141
8142	// The endpoint's service type.
8143	ServiceType *string `type:"string" enum:"WirelessGatewayServiceType"`
8144}
8145
8146// String returns the string representation
8147func (s GetServiceEndpointOutput) String() string {
8148	return awsutil.Prettify(s)
8149}
8150
8151// GoString returns the string representation
8152func (s GetServiceEndpointOutput) GoString() string {
8153	return s.String()
8154}
8155
8156// SetServerTrust sets the ServerTrust field's value.
8157func (s *GetServiceEndpointOutput) SetServerTrust(v string) *GetServiceEndpointOutput {
8158	s.ServerTrust = &v
8159	return s
8160}
8161
8162// SetServiceEndpoint sets the ServiceEndpoint field's value.
8163func (s *GetServiceEndpointOutput) SetServiceEndpoint(v string) *GetServiceEndpointOutput {
8164	s.ServiceEndpoint = &v
8165	return s
8166}
8167
8168// SetServiceType sets the ServiceType field's value.
8169func (s *GetServiceEndpointOutput) SetServiceType(v string) *GetServiceEndpointOutput {
8170	s.ServiceType = &v
8171	return s
8172}
8173
8174type GetServiceProfileInput struct {
8175	_ struct{} `type:"structure"`
8176
8177	// The ID of the resource to get.
8178	//
8179	// Id is a required field
8180	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
8181}
8182
8183// String returns the string representation
8184func (s GetServiceProfileInput) String() string {
8185	return awsutil.Prettify(s)
8186}
8187
8188// GoString returns the string representation
8189func (s GetServiceProfileInput) GoString() string {
8190	return s.String()
8191}
8192
8193// Validate inspects the fields of the type to determine if they are valid.
8194func (s *GetServiceProfileInput) Validate() error {
8195	invalidParams := request.ErrInvalidParams{Context: "GetServiceProfileInput"}
8196	if s.Id == nil {
8197		invalidParams.Add(request.NewErrParamRequired("Id"))
8198	}
8199	if s.Id != nil && len(*s.Id) < 1 {
8200		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
8201	}
8202
8203	if invalidParams.Len() > 0 {
8204		return invalidParams
8205	}
8206	return nil
8207}
8208
8209// SetId sets the Id field's value.
8210func (s *GetServiceProfileInput) SetId(v string) *GetServiceProfileInput {
8211	s.Id = &v
8212	return s
8213}
8214
8215type GetServiceProfileOutput struct {
8216	_ struct{} `type:"structure"`
8217
8218	// The Amazon Resource Name of the resource.
8219	Arn *string `type:"string"`
8220
8221	// The ID of the service profile.
8222	Id *string `type:"string"`
8223
8224	// Information about the service profile.
8225	LoRaWAN *LoRaWANGetServiceProfileInfo `type:"structure"`
8226
8227	// The name of the resource.
8228	Name *string `type:"string"`
8229}
8230
8231// String returns the string representation
8232func (s GetServiceProfileOutput) String() string {
8233	return awsutil.Prettify(s)
8234}
8235
8236// GoString returns the string representation
8237func (s GetServiceProfileOutput) GoString() string {
8238	return s.String()
8239}
8240
8241// SetArn sets the Arn field's value.
8242func (s *GetServiceProfileOutput) SetArn(v string) *GetServiceProfileOutput {
8243	s.Arn = &v
8244	return s
8245}
8246
8247// SetId sets the Id field's value.
8248func (s *GetServiceProfileOutput) SetId(v string) *GetServiceProfileOutput {
8249	s.Id = &v
8250	return s
8251}
8252
8253// SetLoRaWAN sets the LoRaWAN field's value.
8254func (s *GetServiceProfileOutput) SetLoRaWAN(v *LoRaWANGetServiceProfileInfo) *GetServiceProfileOutput {
8255	s.LoRaWAN = v
8256	return s
8257}
8258
8259// SetName sets the Name field's value.
8260func (s *GetServiceProfileOutput) SetName(v string) *GetServiceProfileOutput {
8261	s.Name = &v
8262	return s
8263}
8264
8265type GetWirelessDeviceInput struct {
8266	_ struct{} `type:"structure"`
8267
8268	// The identifier of the wireless device to get.
8269	//
8270	// Identifier is a required field
8271	Identifier *string `location:"uri" locationName:"Identifier" type:"string" required:"true"`
8272
8273	// The type of identifier used in identifier.
8274	//
8275	// IdentifierType is a required field
8276	IdentifierType *string `location:"querystring" locationName:"identifierType" type:"string" required:"true" enum:"WirelessDeviceIdType"`
8277}
8278
8279// String returns the string representation
8280func (s GetWirelessDeviceInput) String() string {
8281	return awsutil.Prettify(s)
8282}
8283
8284// GoString returns the string representation
8285func (s GetWirelessDeviceInput) GoString() string {
8286	return s.String()
8287}
8288
8289// Validate inspects the fields of the type to determine if they are valid.
8290func (s *GetWirelessDeviceInput) Validate() error {
8291	invalidParams := request.ErrInvalidParams{Context: "GetWirelessDeviceInput"}
8292	if s.Identifier == nil {
8293		invalidParams.Add(request.NewErrParamRequired("Identifier"))
8294	}
8295	if s.Identifier != nil && len(*s.Identifier) < 1 {
8296		invalidParams.Add(request.NewErrParamMinLen("Identifier", 1))
8297	}
8298	if s.IdentifierType == nil {
8299		invalidParams.Add(request.NewErrParamRequired("IdentifierType"))
8300	}
8301
8302	if invalidParams.Len() > 0 {
8303		return invalidParams
8304	}
8305	return nil
8306}
8307
8308// SetIdentifier sets the Identifier field's value.
8309func (s *GetWirelessDeviceInput) SetIdentifier(v string) *GetWirelessDeviceInput {
8310	s.Identifier = &v
8311	return s
8312}
8313
8314// SetIdentifierType sets the IdentifierType field's value.
8315func (s *GetWirelessDeviceInput) SetIdentifierType(v string) *GetWirelessDeviceInput {
8316	s.IdentifierType = &v
8317	return s
8318}
8319
8320type GetWirelessDeviceOutput struct {
8321	_ struct{} `type:"structure"`
8322
8323	// The Amazon Resource Name of the resource.
8324	Arn *string `type:"string"`
8325
8326	// The description of the resource.
8327	Description *string `type:"string"`
8328
8329	// The name of the destination to which the device is assigned.
8330	DestinationName *string `type:"string"`
8331
8332	// The ID of the wireless device.
8333	Id *string `type:"string"`
8334
8335	// Information about the wireless device.
8336	LoRaWAN *LoRaWANDevice `type:"structure"`
8337
8338	// The name of the resource.
8339	Name *string `type:"string"`
8340
8341	// Sidewalk device object.
8342	Sidewalk *SidewalkDevice `type:"structure"`
8343
8344	// The ARN of the thing associated with the wireless device.
8345	ThingArn *string `type:"string"`
8346
8347	// The name of the thing associated with the wireless device. The value is empty
8348	// if a thing isn't associated with the device.
8349	ThingName *string `type:"string"`
8350
8351	// The wireless device type.
8352	Type *string `type:"string" enum:"WirelessDeviceType"`
8353}
8354
8355// String returns the string representation
8356func (s GetWirelessDeviceOutput) String() string {
8357	return awsutil.Prettify(s)
8358}
8359
8360// GoString returns the string representation
8361func (s GetWirelessDeviceOutput) GoString() string {
8362	return s.String()
8363}
8364
8365// SetArn sets the Arn field's value.
8366func (s *GetWirelessDeviceOutput) SetArn(v string) *GetWirelessDeviceOutput {
8367	s.Arn = &v
8368	return s
8369}
8370
8371// SetDescription sets the Description field's value.
8372func (s *GetWirelessDeviceOutput) SetDescription(v string) *GetWirelessDeviceOutput {
8373	s.Description = &v
8374	return s
8375}
8376
8377// SetDestinationName sets the DestinationName field's value.
8378func (s *GetWirelessDeviceOutput) SetDestinationName(v string) *GetWirelessDeviceOutput {
8379	s.DestinationName = &v
8380	return s
8381}
8382
8383// SetId sets the Id field's value.
8384func (s *GetWirelessDeviceOutput) SetId(v string) *GetWirelessDeviceOutput {
8385	s.Id = &v
8386	return s
8387}
8388
8389// SetLoRaWAN sets the LoRaWAN field's value.
8390func (s *GetWirelessDeviceOutput) SetLoRaWAN(v *LoRaWANDevice) *GetWirelessDeviceOutput {
8391	s.LoRaWAN = v
8392	return s
8393}
8394
8395// SetName sets the Name field's value.
8396func (s *GetWirelessDeviceOutput) SetName(v string) *GetWirelessDeviceOutput {
8397	s.Name = &v
8398	return s
8399}
8400
8401// SetSidewalk sets the Sidewalk field's value.
8402func (s *GetWirelessDeviceOutput) SetSidewalk(v *SidewalkDevice) *GetWirelessDeviceOutput {
8403	s.Sidewalk = v
8404	return s
8405}
8406
8407// SetThingArn sets the ThingArn field's value.
8408func (s *GetWirelessDeviceOutput) SetThingArn(v string) *GetWirelessDeviceOutput {
8409	s.ThingArn = &v
8410	return s
8411}
8412
8413// SetThingName sets the ThingName field's value.
8414func (s *GetWirelessDeviceOutput) SetThingName(v string) *GetWirelessDeviceOutput {
8415	s.ThingName = &v
8416	return s
8417}
8418
8419// SetType sets the Type field's value.
8420func (s *GetWirelessDeviceOutput) SetType(v string) *GetWirelessDeviceOutput {
8421	s.Type = &v
8422	return s
8423}
8424
8425type GetWirelessDeviceStatisticsInput struct {
8426	_ struct{} `type:"structure"`
8427
8428	// The ID of the wireless device for which to get the data.
8429	//
8430	// WirelessDeviceId is a required field
8431	WirelessDeviceId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
8432}
8433
8434// String returns the string representation
8435func (s GetWirelessDeviceStatisticsInput) String() string {
8436	return awsutil.Prettify(s)
8437}
8438
8439// GoString returns the string representation
8440func (s GetWirelessDeviceStatisticsInput) GoString() string {
8441	return s.String()
8442}
8443
8444// Validate inspects the fields of the type to determine if they are valid.
8445func (s *GetWirelessDeviceStatisticsInput) Validate() error {
8446	invalidParams := request.ErrInvalidParams{Context: "GetWirelessDeviceStatisticsInput"}
8447	if s.WirelessDeviceId == nil {
8448		invalidParams.Add(request.NewErrParamRequired("WirelessDeviceId"))
8449	}
8450	if s.WirelessDeviceId != nil && len(*s.WirelessDeviceId) < 1 {
8451		invalidParams.Add(request.NewErrParamMinLen("WirelessDeviceId", 1))
8452	}
8453
8454	if invalidParams.Len() > 0 {
8455		return invalidParams
8456	}
8457	return nil
8458}
8459
8460// SetWirelessDeviceId sets the WirelessDeviceId field's value.
8461func (s *GetWirelessDeviceStatisticsInput) SetWirelessDeviceId(v string) *GetWirelessDeviceStatisticsInput {
8462	s.WirelessDeviceId = &v
8463	return s
8464}
8465
8466type GetWirelessDeviceStatisticsOutput struct {
8467	_ struct{} `type:"structure"`
8468
8469	// The date and time when the most recent uplink was received.
8470	LastUplinkReceivedAt *string `type:"string"`
8471
8472	// Information about the wireless device's operations.
8473	LoRaWAN *LoRaWANDeviceMetadata `type:"structure"`
8474
8475	// MetaData for Sidewalk device.
8476	Sidewalk *SidewalkDeviceMetadata `type:"structure"`
8477
8478	// The ID of the wireless device.
8479	WirelessDeviceId *string `type:"string"`
8480}
8481
8482// String returns the string representation
8483func (s GetWirelessDeviceStatisticsOutput) String() string {
8484	return awsutil.Prettify(s)
8485}
8486
8487// GoString returns the string representation
8488func (s GetWirelessDeviceStatisticsOutput) GoString() string {
8489	return s.String()
8490}
8491
8492// SetLastUplinkReceivedAt sets the LastUplinkReceivedAt field's value.
8493func (s *GetWirelessDeviceStatisticsOutput) SetLastUplinkReceivedAt(v string) *GetWirelessDeviceStatisticsOutput {
8494	s.LastUplinkReceivedAt = &v
8495	return s
8496}
8497
8498// SetLoRaWAN sets the LoRaWAN field's value.
8499func (s *GetWirelessDeviceStatisticsOutput) SetLoRaWAN(v *LoRaWANDeviceMetadata) *GetWirelessDeviceStatisticsOutput {
8500	s.LoRaWAN = v
8501	return s
8502}
8503
8504// SetSidewalk sets the Sidewalk field's value.
8505func (s *GetWirelessDeviceStatisticsOutput) SetSidewalk(v *SidewalkDeviceMetadata) *GetWirelessDeviceStatisticsOutput {
8506	s.Sidewalk = v
8507	return s
8508}
8509
8510// SetWirelessDeviceId sets the WirelessDeviceId field's value.
8511func (s *GetWirelessDeviceStatisticsOutput) SetWirelessDeviceId(v string) *GetWirelessDeviceStatisticsOutput {
8512	s.WirelessDeviceId = &v
8513	return s
8514}
8515
8516type GetWirelessGatewayCertificateInput struct {
8517	_ struct{} `type:"structure"`
8518
8519	// The ID of the resource to get.
8520	//
8521	// Id is a required field
8522	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
8523}
8524
8525// String returns the string representation
8526func (s GetWirelessGatewayCertificateInput) String() string {
8527	return awsutil.Prettify(s)
8528}
8529
8530// GoString returns the string representation
8531func (s GetWirelessGatewayCertificateInput) GoString() string {
8532	return s.String()
8533}
8534
8535// Validate inspects the fields of the type to determine if they are valid.
8536func (s *GetWirelessGatewayCertificateInput) Validate() error {
8537	invalidParams := request.ErrInvalidParams{Context: "GetWirelessGatewayCertificateInput"}
8538	if s.Id == nil {
8539		invalidParams.Add(request.NewErrParamRequired("Id"))
8540	}
8541	if s.Id != nil && len(*s.Id) < 1 {
8542		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
8543	}
8544
8545	if invalidParams.Len() > 0 {
8546		return invalidParams
8547	}
8548	return nil
8549}
8550
8551// SetId sets the Id field's value.
8552func (s *GetWirelessGatewayCertificateInput) SetId(v string) *GetWirelessGatewayCertificateInput {
8553	s.Id = &v
8554	return s
8555}
8556
8557type GetWirelessGatewayCertificateOutput struct {
8558	_ struct{} `type:"structure"`
8559
8560	// The ID of the certificate associated with the wireless gateway.
8561	IotCertificateId *string `min:"1" type:"string"`
8562
8563	// The ID of the certificate that is associated with the wireless gateway and
8564	// used for the LoRaWANNetworkServer endpoint.
8565	LoRaWANNetworkServerCertificateId *string `min:"1" type:"string"`
8566}
8567
8568// String returns the string representation
8569func (s GetWirelessGatewayCertificateOutput) String() string {
8570	return awsutil.Prettify(s)
8571}
8572
8573// GoString returns the string representation
8574func (s GetWirelessGatewayCertificateOutput) GoString() string {
8575	return s.String()
8576}
8577
8578// SetIotCertificateId sets the IotCertificateId field's value.
8579func (s *GetWirelessGatewayCertificateOutput) SetIotCertificateId(v string) *GetWirelessGatewayCertificateOutput {
8580	s.IotCertificateId = &v
8581	return s
8582}
8583
8584// SetLoRaWANNetworkServerCertificateId sets the LoRaWANNetworkServerCertificateId field's value.
8585func (s *GetWirelessGatewayCertificateOutput) SetLoRaWANNetworkServerCertificateId(v string) *GetWirelessGatewayCertificateOutput {
8586	s.LoRaWANNetworkServerCertificateId = &v
8587	return s
8588}
8589
8590type GetWirelessGatewayFirmwareInformationInput struct {
8591	_ struct{} `type:"structure"`
8592
8593	// The ID of the resource to get.
8594	//
8595	// Id is a required field
8596	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
8597}
8598
8599// String returns the string representation
8600func (s GetWirelessGatewayFirmwareInformationInput) String() string {
8601	return awsutil.Prettify(s)
8602}
8603
8604// GoString returns the string representation
8605func (s GetWirelessGatewayFirmwareInformationInput) GoString() string {
8606	return s.String()
8607}
8608
8609// Validate inspects the fields of the type to determine if they are valid.
8610func (s *GetWirelessGatewayFirmwareInformationInput) Validate() error {
8611	invalidParams := request.ErrInvalidParams{Context: "GetWirelessGatewayFirmwareInformationInput"}
8612	if s.Id == nil {
8613		invalidParams.Add(request.NewErrParamRequired("Id"))
8614	}
8615	if s.Id != nil && len(*s.Id) < 1 {
8616		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
8617	}
8618
8619	if invalidParams.Len() > 0 {
8620		return invalidParams
8621	}
8622	return nil
8623}
8624
8625// SetId sets the Id field's value.
8626func (s *GetWirelessGatewayFirmwareInformationInput) SetId(v string) *GetWirelessGatewayFirmwareInformationInput {
8627	s.Id = &v
8628	return s
8629}
8630
8631type GetWirelessGatewayFirmwareInformationOutput struct {
8632	_ struct{} `type:"structure"`
8633
8634	// Information about the wireless gateway's firmware.
8635	LoRaWAN *LoRaWANGatewayCurrentVersion `type:"structure"`
8636}
8637
8638// String returns the string representation
8639func (s GetWirelessGatewayFirmwareInformationOutput) String() string {
8640	return awsutil.Prettify(s)
8641}
8642
8643// GoString returns the string representation
8644func (s GetWirelessGatewayFirmwareInformationOutput) GoString() string {
8645	return s.String()
8646}
8647
8648// SetLoRaWAN sets the LoRaWAN field's value.
8649func (s *GetWirelessGatewayFirmwareInformationOutput) SetLoRaWAN(v *LoRaWANGatewayCurrentVersion) *GetWirelessGatewayFirmwareInformationOutput {
8650	s.LoRaWAN = v
8651	return s
8652}
8653
8654type GetWirelessGatewayInput struct {
8655	_ struct{} `type:"structure"`
8656
8657	// The identifier of the wireless gateway to get.
8658	//
8659	// Identifier is a required field
8660	Identifier *string `location:"uri" locationName:"Identifier" type:"string" required:"true"`
8661
8662	// The type of identifier used in identifier.
8663	//
8664	// IdentifierType is a required field
8665	IdentifierType *string `location:"querystring" locationName:"identifierType" type:"string" required:"true" enum:"WirelessGatewayIdType"`
8666}
8667
8668// String returns the string representation
8669func (s GetWirelessGatewayInput) String() string {
8670	return awsutil.Prettify(s)
8671}
8672
8673// GoString returns the string representation
8674func (s GetWirelessGatewayInput) GoString() string {
8675	return s.String()
8676}
8677
8678// Validate inspects the fields of the type to determine if they are valid.
8679func (s *GetWirelessGatewayInput) Validate() error {
8680	invalidParams := request.ErrInvalidParams{Context: "GetWirelessGatewayInput"}
8681	if s.Identifier == nil {
8682		invalidParams.Add(request.NewErrParamRequired("Identifier"))
8683	}
8684	if s.Identifier != nil && len(*s.Identifier) < 1 {
8685		invalidParams.Add(request.NewErrParamMinLen("Identifier", 1))
8686	}
8687	if s.IdentifierType == nil {
8688		invalidParams.Add(request.NewErrParamRequired("IdentifierType"))
8689	}
8690
8691	if invalidParams.Len() > 0 {
8692		return invalidParams
8693	}
8694	return nil
8695}
8696
8697// SetIdentifier sets the Identifier field's value.
8698func (s *GetWirelessGatewayInput) SetIdentifier(v string) *GetWirelessGatewayInput {
8699	s.Identifier = &v
8700	return s
8701}
8702
8703// SetIdentifierType sets the IdentifierType field's value.
8704func (s *GetWirelessGatewayInput) SetIdentifierType(v string) *GetWirelessGatewayInput {
8705	s.IdentifierType = &v
8706	return s
8707}
8708
8709type GetWirelessGatewayOutput struct {
8710	_ struct{} `type:"structure"`
8711
8712	// The Amazon Resource Name of the resource.
8713	Arn *string `type:"string"`
8714
8715	// The description of the resource.
8716	Description *string `type:"string"`
8717
8718	// The ID of the wireless gateway.
8719	Id *string `type:"string"`
8720
8721	// Information about the wireless gateway.
8722	LoRaWAN *LoRaWANGateway `type:"structure"`
8723
8724	// The name of the resource.
8725	Name *string `type:"string"`
8726
8727	// The ARN of the thing associated with the wireless gateway.
8728	ThingArn *string `type:"string"`
8729
8730	// The name of the thing associated with the wireless gateway. The value is
8731	// empty if a thing isn't associated with the gateway.
8732	ThingName *string `type:"string"`
8733}
8734
8735// String returns the string representation
8736func (s GetWirelessGatewayOutput) String() string {
8737	return awsutil.Prettify(s)
8738}
8739
8740// GoString returns the string representation
8741func (s GetWirelessGatewayOutput) GoString() string {
8742	return s.String()
8743}
8744
8745// SetArn sets the Arn field's value.
8746func (s *GetWirelessGatewayOutput) SetArn(v string) *GetWirelessGatewayOutput {
8747	s.Arn = &v
8748	return s
8749}
8750
8751// SetDescription sets the Description field's value.
8752func (s *GetWirelessGatewayOutput) SetDescription(v string) *GetWirelessGatewayOutput {
8753	s.Description = &v
8754	return s
8755}
8756
8757// SetId sets the Id field's value.
8758func (s *GetWirelessGatewayOutput) SetId(v string) *GetWirelessGatewayOutput {
8759	s.Id = &v
8760	return s
8761}
8762
8763// SetLoRaWAN sets the LoRaWAN field's value.
8764func (s *GetWirelessGatewayOutput) SetLoRaWAN(v *LoRaWANGateway) *GetWirelessGatewayOutput {
8765	s.LoRaWAN = v
8766	return s
8767}
8768
8769// SetName sets the Name field's value.
8770func (s *GetWirelessGatewayOutput) SetName(v string) *GetWirelessGatewayOutput {
8771	s.Name = &v
8772	return s
8773}
8774
8775// SetThingArn sets the ThingArn field's value.
8776func (s *GetWirelessGatewayOutput) SetThingArn(v string) *GetWirelessGatewayOutput {
8777	s.ThingArn = &v
8778	return s
8779}
8780
8781// SetThingName sets the ThingName field's value.
8782func (s *GetWirelessGatewayOutput) SetThingName(v string) *GetWirelessGatewayOutput {
8783	s.ThingName = &v
8784	return s
8785}
8786
8787type GetWirelessGatewayStatisticsInput struct {
8788	_ struct{} `type:"structure"`
8789
8790	// The ID of the wireless gateway for which to get the data.
8791	//
8792	// WirelessGatewayId is a required field
8793	WirelessGatewayId *string `location:"uri" locationName:"Id" type:"string" required:"true"`
8794}
8795
8796// String returns the string representation
8797func (s GetWirelessGatewayStatisticsInput) String() string {
8798	return awsutil.Prettify(s)
8799}
8800
8801// GoString returns the string representation
8802func (s GetWirelessGatewayStatisticsInput) GoString() string {
8803	return s.String()
8804}
8805
8806// Validate inspects the fields of the type to determine if they are valid.
8807func (s *GetWirelessGatewayStatisticsInput) Validate() error {
8808	invalidParams := request.ErrInvalidParams{Context: "GetWirelessGatewayStatisticsInput"}
8809	if s.WirelessGatewayId == nil {
8810		invalidParams.Add(request.NewErrParamRequired("WirelessGatewayId"))
8811	}
8812	if s.WirelessGatewayId != nil && len(*s.WirelessGatewayId) < 1 {
8813		invalidParams.Add(request.NewErrParamMinLen("WirelessGatewayId", 1))
8814	}
8815
8816	if invalidParams.Len() > 0 {
8817		return invalidParams
8818	}
8819	return nil
8820}
8821
8822// SetWirelessGatewayId sets the WirelessGatewayId field's value.
8823func (s *GetWirelessGatewayStatisticsInput) SetWirelessGatewayId(v string) *GetWirelessGatewayStatisticsInput {
8824	s.WirelessGatewayId = &v
8825	return s
8826}
8827
8828type GetWirelessGatewayStatisticsOutput struct {
8829	_ struct{} `type:"structure"`
8830
8831	// The connection status of the wireless gateway.
8832	ConnectionStatus *string `type:"string" enum:"ConnectionStatus"`
8833
8834	// The date and time when the most recent uplink was received.
8835	LastUplinkReceivedAt *string `type:"string"`
8836
8837	// The ID of the wireless gateway.
8838	WirelessGatewayId *string `type:"string"`
8839}
8840
8841// String returns the string representation
8842func (s GetWirelessGatewayStatisticsOutput) String() string {
8843	return awsutil.Prettify(s)
8844}
8845
8846// GoString returns the string representation
8847func (s GetWirelessGatewayStatisticsOutput) GoString() string {
8848	return s.String()
8849}
8850
8851// SetConnectionStatus sets the ConnectionStatus field's value.
8852func (s *GetWirelessGatewayStatisticsOutput) SetConnectionStatus(v string) *GetWirelessGatewayStatisticsOutput {
8853	s.ConnectionStatus = &v
8854	return s
8855}
8856
8857// SetLastUplinkReceivedAt sets the LastUplinkReceivedAt field's value.
8858func (s *GetWirelessGatewayStatisticsOutput) SetLastUplinkReceivedAt(v string) *GetWirelessGatewayStatisticsOutput {
8859	s.LastUplinkReceivedAt = &v
8860	return s
8861}
8862
8863// SetWirelessGatewayId sets the WirelessGatewayId field's value.
8864func (s *GetWirelessGatewayStatisticsOutput) SetWirelessGatewayId(v string) *GetWirelessGatewayStatisticsOutput {
8865	s.WirelessGatewayId = &v
8866	return s
8867}
8868
8869type GetWirelessGatewayTaskDefinitionInput struct {
8870	_ struct{} `type:"structure"`
8871
8872	// The ID of the resource to get.
8873	//
8874	// Id is a required field
8875	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
8876}
8877
8878// String returns the string representation
8879func (s GetWirelessGatewayTaskDefinitionInput) String() string {
8880	return awsutil.Prettify(s)
8881}
8882
8883// GoString returns the string representation
8884func (s GetWirelessGatewayTaskDefinitionInput) GoString() string {
8885	return s.String()
8886}
8887
8888// Validate inspects the fields of the type to determine if they are valid.
8889func (s *GetWirelessGatewayTaskDefinitionInput) Validate() error {
8890	invalidParams := request.ErrInvalidParams{Context: "GetWirelessGatewayTaskDefinitionInput"}
8891	if s.Id == nil {
8892		invalidParams.Add(request.NewErrParamRequired("Id"))
8893	}
8894	if s.Id != nil && len(*s.Id) < 1 {
8895		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
8896	}
8897
8898	if invalidParams.Len() > 0 {
8899		return invalidParams
8900	}
8901	return nil
8902}
8903
8904// SetId sets the Id field's value.
8905func (s *GetWirelessGatewayTaskDefinitionInput) SetId(v string) *GetWirelessGatewayTaskDefinitionInput {
8906	s.Id = &v
8907	return s
8908}
8909
8910type GetWirelessGatewayTaskDefinitionOutput struct {
8911	_ struct{} `type:"structure"`
8912
8913	// The Amazon Resource Name of the resource.
8914	Arn *string `type:"string"`
8915
8916	// Whether to automatically create tasks using this task definition for all
8917	// gateways with the specified current version. If false, the task must me created
8918	// by calling CreateWirelessGatewayTask.
8919	AutoCreateTasks *bool `type:"boolean"`
8920
8921	// The name of the resource.
8922	Name *string `min:"1" type:"string"`
8923
8924	// Information about the gateways to update.
8925	Update *UpdateWirelessGatewayTaskCreate `type:"structure"`
8926}
8927
8928// String returns the string representation
8929func (s GetWirelessGatewayTaskDefinitionOutput) String() string {
8930	return awsutil.Prettify(s)
8931}
8932
8933// GoString returns the string representation
8934func (s GetWirelessGatewayTaskDefinitionOutput) GoString() string {
8935	return s.String()
8936}
8937
8938// SetArn sets the Arn field's value.
8939func (s *GetWirelessGatewayTaskDefinitionOutput) SetArn(v string) *GetWirelessGatewayTaskDefinitionOutput {
8940	s.Arn = &v
8941	return s
8942}
8943
8944// SetAutoCreateTasks sets the AutoCreateTasks field's value.
8945func (s *GetWirelessGatewayTaskDefinitionOutput) SetAutoCreateTasks(v bool) *GetWirelessGatewayTaskDefinitionOutput {
8946	s.AutoCreateTasks = &v
8947	return s
8948}
8949
8950// SetName sets the Name field's value.
8951func (s *GetWirelessGatewayTaskDefinitionOutput) SetName(v string) *GetWirelessGatewayTaskDefinitionOutput {
8952	s.Name = &v
8953	return s
8954}
8955
8956// SetUpdate sets the Update field's value.
8957func (s *GetWirelessGatewayTaskDefinitionOutput) SetUpdate(v *UpdateWirelessGatewayTaskCreate) *GetWirelessGatewayTaskDefinitionOutput {
8958	s.Update = v
8959	return s
8960}
8961
8962type GetWirelessGatewayTaskInput struct {
8963	_ struct{} `type:"structure"`
8964
8965	// The ID of the resource to get.
8966	//
8967	// Id is a required field
8968	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
8969}
8970
8971// String returns the string representation
8972func (s GetWirelessGatewayTaskInput) String() string {
8973	return awsutil.Prettify(s)
8974}
8975
8976// GoString returns the string representation
8977func (s GetWirelessGatewayTaskInput) GoString() string {
8978	return s.String()
8979}
8980
8981// Validate inspects the fields of the type to determine if they are valid.
8982func (s *GetWirelessGatewayTaskInput) Validate() error {
8983	invalidParams := request.ErrInvalidParams{Context: "GetWirelessGatewayTaskInput"}
8984	if s.Id == nil {
8985		invalidParams.Add(request.NewErrParamRequired("Id"))
8986	}
8987	if s.Id != nil && len(*s.Id) < 1 {
8988		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
8989	}
8990
8991	if invalidParams.Len() > 0 {
8992		return invalidParams
8993	}
8994	return nil
8995}
8996
8997// SetId sets the Id field's value.
8998func (s *GetWirelessGatewayTaskInput) SetId(v string) *GetWirelessGatewayTaskInput {
8999	s.Id = &v
9000	return s
9001}
9002
9003type GetWirelessGatewayTaskOutput struct {
9004	_ struct{} `type:"structure"`
9005
9006	// The date and time when the most recent uplink was received.
9007	LastUplinkReceivedAt *string `type:"string"`
9008
9009	// The status of the request.
9010	Status *string `type:"string" enum:"WirelessGatewayTaskStatus"`
9011
9012	// The date and time when the task was created.
9013	TaskCreatedAt *string `type:"string"`
9014
9015	// The ID of the wireless gateway.
9016	WirelessGatewayId *string `type:"string"`
9017
9018	// The ID of the WirelessGatewayTask.
9019	WirelessGatewayTaskDefinitionId *string `type:"string"`
9020}
9021
9022// String returns the string representation
9023func (s GetWirelessGatewayTaskOutput) String() string {
9024	return awsutil.Prettify(s)
9025}
9026
9027// GoString returns the string representation
9028func (s GetWirelessGatewayTaskOutput) GoString() string {
9029	return s.String()
9030}
9031
9032// SetLastUplinkReceivedAt sets the LastUplinkReceivedAt field's value.
9033func (s *GetWirelessGatewayTaskOutput) SetLastUplinkReceivedAt(v string) *GetWirelessGatewayTaskOutput {
9034	s.LastUplinkReceivedAt = &v
9035	return s
9036}
9037
9038// SetStatus sets the Status field's value.
9039func (s *GetWirelessGatewayTaskOutput) SetStatus(v string) *GetWirelessGatewayTaskOutput {
9040	s.Status = &v
9041	return s
9042}
9043
9044// SetTaskCreatedAt sets the TaskCreatedAt field's value.
9045func (s *GetWirelessGatewayTaskOutput) SetTaskCreatedAt(v string) *GetWirelessGatewayTaskOutput {
9046	s.TaskCreatedAt = &v
9047	return s
9048}
9049
9050// SetWirelessGatewayId sets the WirelessGatewayId field's value.
9051func (s *GetWirelessGatewayTaskOutput) SetWirelessGatewayId(v string) *GetWirelessGatewayTaskOutput {
9052	s.WirelessGatewayId = &v
9053	return s
9054}
9055
9056// SetWirelessGatewayTaskDefinitionId sets the WirelessGatewayTaskDefinitionId field's value.
9057func (s *GetWirelessGatewayTaskOutput) SetWirelessGatewayTaskDefinitionId(v string) *GetWirelessGatewayTaskOutput {
9058	s.WirelessGatewayTaskDefinitionId = &v
9059	return s
9060}
9061
9062// An unexpected error occurred while processing a request.
9063type InternalServerException struct {
9064	_            struct{}                  `type:"structure"`
9065	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9066
9067	Message_ *string `locationName:"Message" type:"string"`
9068}
9069
9070// String returns the string representation
9071func (s InternalServerException) String() string {
9072	return awsutil.Prettify(s)
9073}
9074
9075// GoString returns the string representation
9076func (s InternalServerException) GoString() string {
9077	return s.String()
9078}
9079
9080func newErrorInternalServerException(v protocol.ResponseMetadata) error {
9081	return &InternalServerException{
9082		RespMetadata: v,
9083	}
9084}
9085
9086// Code returns the exception type name.
9087func (s *InternalServerException) Code() string {
9088	return "InternalServerException"
9089}
9090
9091// Message returns the exception's message.
9092func (s *InternalServerException) Message() string {
9093	if s.Message_ != nil {
9094		return *s.Message_
9095	}
9096	return ""
9097}
9098
9099// OrigErr always returns nil, satisfies awserr.Error interface.
9100func (s *InternalServerException) OrigErr() error {
9101	return nil
9102}
9103
9104func (s *InternalServerException) Error() string {
9105	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9106}
9107
9108// Status code returns the HTTP status code for the request's response error.
9109func (s *InternalServerException) StatusCode() int {
9110	return s.RespMetadata.StatusCode
9111}
9112
9113// RequestID returns the service's response RequestID for request.
9114func (s *InternalServerException) RequestID() string {
9115	return s.RespMetadata.RequestID
9116}
9117
9118type ListDestinationsInput struct {
9119	_ struct{} `type:"structure"`
9120
9121	// The maximum number of results to return in this operation.
9122	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
9123
9124	// To retrieve the next set of results, the nextToken value from a previous
9125	// response; otherwise null to receive the first set of results.
9126	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9127}
9128
9129// String returns the string representation
9130func (s ListDestinationsInput) String() string {
9131	return awsutil.Prettify(s)
9132}
9133
9134// GoString returns the string representation
9135func (s ListDestinationsInput) GoString() string {
9136	return s.String()
9137}
9138
9139// SetMaxResults sets the MaxResults field's value.
9140func (s *ListDestinationsInput) SetMaxResults(v int64) *ListDestinationsInput {
9141	s.MaxResults = &v
9142	return s
9143}
9144
9145// SetNextToken sets the NextToken field's value.
9146func (s *ListDestinationsInput) SetNextToken(v string) *ListDestinationsInput {
9147	s.NextToken = &v
9148	return s
9149}
9150
9151type ListDestinationsOutput struct {
9152	_ struct{} `type:"structure"`
9153
9154	// The list of destinations.
9155	DestinationList []*Destinations `type:"list"`
9156
9157	// The token to use to get the next set of results, or null if there are no
9158	// additional results.
9159	NextToken *string `type:"string"`
9160}
9161
9162// String returns the string representation
9163func (s ListDestinationsOutput) String() string {
9164	return awsutil.Prettify(s)
9165}
9166
9167// GoString returns the string representation
9168func (s ListDestinationsOutput) GoString() string {
9169	return s.String()
9170}
9171
9172// SetDestinationList sets the DestinationList field's value.
9173func (s *ListDestinationsOutput) SetDestinationList(v []*Destinations) *ListDestinationsOutput {
9174	s.DestinationList = v
9175	return s
9176}
9177
9178// SetNextToken sets the NextToken field's value.
9179func (s *ListDestinationsOutput) SetNextToken(v string) *ListDestinationsOutput {
9180	s.NextToken = &v
9181	return s
9182}
9183
9184type ListDeviceProfilesInput struct {
9185	_ struct{} `type:"structure"`
9186
9187	// The maximum number of results to return in this operation.
9188	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
9189
9190	// To retrieve the next set of results, the nextToken value from a previous
9191	// response; otherwise null to receive the first set of results.
9192	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9193}
9194
9195// String returns the string representation
9196func (s ListDeviceProfilesInput) String() string {
9197	return awsutil.Prettify(s)
9198}
9199
9200// GoString returns the string representation
9201func (s ListDeviceProfilesInput) GoString() string {
9202	return s.String()
9203}
9204
9205// SetMaxResults sets the MaxResults field's value.
9206func (s *ListDeviceProfilesInput) SetMaxResults(v int64) *ListDeviceProfilesInput {
9207	s.MaxResults = &v
9208	return s
9209}
9210
9211// SetNextToken sets the NextToken field's value.
9212func (s *ListDeviceProfilesInput) SetNextToken(v string) *ListDeviceProfilesInput {
9213	s.NextToken = &v
9214	return s
9215}
9216
9217type ListDeviceProfilesOutput struct {
9218	_ struct{} `type:"structure"`
9219
9220	// The list of device profiles.
9221	DeviceProfileList []*DeviceProfile `type:"list"`
9222
9223	// The token to use to get the next set of results, or null if there are no
9224	// additional results.
9225	NextToken *string `type:"string"`
9226}
9227
9228// String returns the string representation
9229func (s ListDeviceProfilesOutput) String() string {
9230	return awsutil.Prettify(s)
9231}
9232
9233// GoString returns the string representation
9234func (s ListDeviceProfilesOutput) GoString() string {
9235	return s.String()
9236}
9237
9238// SetDeviceProfileList sets the DeviceProfileList field's value.
9239func (s *ListDeviceProfilesOutput) SetDeviceProfileList(v []*DeviceProfile) *ListDeviceProfilesOutput {
9240	s.DeviceProfileList = v
9241	return s
9242}
9243
9244// SetNextToken sets the NextToken field's value.
9245func (s *ListDeviceProfilesOutput) SetNextToken(v string) *ListDeviceProfilesOutput {
9246	s.NextToken = &v
9247	return s
9248}
9249
9250type ListPartnerAccountsInput struct {
9251	_ struct{} `type:"structure"`
9252
9253	// The maximum number of results to return in this operation.
9254	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
9255
9256	// To retrieve the next set of results, the nextToken value from a previous
9257	// response; otherwise null to receive the first set of results.
9258	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9259}
9260
9261// String returns the string representation
9262func (s ListPartnerAccountsInput) String() string {
9263	return awsutil.Prettify(s)
9264}
9265
9266// GoString returns the string representation
9267func (s ListPartnerAccountsInput) GoString() string {
9268	return s.String()
9269}
9270
9271// SetMaxResults sets the MaxResults field's value.
9272func (s *ListPartnerAccountsInput) SetMaxResults(v int64) *ListPartnerAccountsInput {
9273	s.MaxResults = &v
9274	return s
9275}
9276
9277// SetNextToken sets the NextToken field's value.
9278func (s *ListPartnerAccountsInput) SetNextToken(v string) *ListPartnerAccountsInput {
9279	s.NextToken = &v
9280	return s
9281}
9282
9283type ListPartnerAccountsOutput struct {
9284	_ struct{} `type:"structure"`
9285
9286	// The token to use to get the next set of results, or null if there are no
9287	// additional results.
9288	NextToken *string `type:"string"`
9289
9290	// The Sidewalk account credentials.
9291	Sidewalk []*SidewalkAccountInfoWithFingerprint `type:"list"`
9292}
9293
9294// String returns the string representation
9295func (s ListPartnerAccountsOutput) String() string {
9296	return awsutil.Prettify(s)
9297}
9298
9299// GoString returns the string representation
9300func (s ListPartnerAccountsOutput) GoString() string {
9301	return s.String()
9302}
9303
9304// SetNextToken sets the NextToken field's value.
9305func (s *ListPartnerAccountsOutput) SetNextToken(v string) *ListPartnerAccountsOutput {
9306	s.NextToken = &v
9307	return s
9308}
9309
9310// SetSidewalk sets the Sidewalk field's value.
9311func (s *ListPartnerAccountsOutput) SetSidewalk(v []*SidewalkAccountInfoWithFingerprint) *ListPartnerAccountsOutput {
9312	s.Sidewalk = v
9313	return s
9314}
9315
9316type ListServiceProfilesInput struct {
9317	_ struct{} `type:"structure"`
9318
9319	// The maximum number of results to return in this operation.
9320	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
9321
9322	// To retrieve the next set of results, the nextToken value from a previous
9323	// response; otherwise null to receive the first set of results.
9324	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9325}
9326
9327// String returns the string representation
9328func (s ListServiceProfilesInput) String() string {
9329	return awsutil.Prettify(s)
9330}
9331
9332// GoString returns the string representation
9333func (s ListServiceProfilesInput) GoString() string {
9334	return s.String()
9335}
9336
9337// SetMaxResults sets the MaxResults field's value.
9338func (s *ListServiceProfilesInput) SetMaxResults(v int64) *ListServiceProfilesInput {
9339	s.MaxResults = &v
9340	return s
9341}
9342
9343// SetNextToken sets the NextToken field's value.
9344func (s *ListServiceProfilesInput) SetNextToken(v string) *ListServiceProfilesInput {
9345	s.NextToken = &v
9346	return s
9347}
9348
9349type ListServiceProfilesOutput struct {
9350	_ struct{} `type:"structure"`
9351
9352	// The token to use to get the next set of results, or null if there are no
9353	// additional results.
9354	NextToken *string `type:"string"`
9355
9356	// The list of service profiles.
9357	ServiceProfileList []*ServiceProfile `type:"list"`
9358}
9359
9360// String returns the string representation
9361func (s ListServiceProfilesOutput) String() string {
9362	return awsutil.Prettify(s)
9363}
9364
9365// GoString returns the string representation
9366func (s ListServiceProfilesOutput) GoString() string {
9367	return s.String()
9368}
9369
9370// SetNextToken sets the NextToken field's value.
9371func (s *ListServiceProfilesOutput) SetNextToken(v string) *ListServiceProfilesOutput {
9372	s.NextToken = &v
9373	return s
9374}
9375
9376// SetServiceProfileList sets the ServiceProfileList field's value.
9377func (s *ListServiceProfilesOutput) SetServiceProfileList(v []*ServiceProfile) *ListServiceProfilesOutput {
9378	s.ServiceProfileList = v
9379	return s
9380}
9381
9382type ListTagsForResourceInput struct {
9383	_ struct{} `type:"structure"`
9384
9385	// The ARN of the resource for which you want to list tags.
9386	//
9387	// ResourceArn is a required field
9388	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
9389}
9390
9391// String returns the string representation
9392func (s ListTagsForResourceInput) String() string {
9393	return awsutil.Prettify(s)
9394}
9395
9396// GoString returns the string representation
9397func (s ListTagsForResourceInput) GoString() string {
9398	return s.String()
9399}
9400
9401// Validate inspects the fields of the type to determine if they are valid.
9402func (s *ListTagsForResourceInput) Validate() error {
9403	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
9404	if s.ResourceArn == nil {
9405		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9406	}
9407	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
9408		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
9409	}
9410
9411	if invalidParams.Len() > 0 {
9412		return invalidParams
9413	}
9414	return nil
9415}
9416
9417// SetResourceArn sets the ResourceArn field's value.
9418func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
9419	s.ResourceArn = &v
9420	return s
9421}
9422
9423type ListTagsForResourceOutput struct {
9424	_ struct{} `type:"structure"`
9425
9426	// The tags to attach to the specified resource. Tags are metadata that you
9427	// can use to manage a resource.
9428	Tags []*Tag `type:"list"`
9429}
9430
9431// String returns the string representation
9432func (s ListTagsForResourceOutput) String() string {
9433	return awsutil.Prettify(s)
9434}
9435
9436// GoString returns the string representation
9437func (s ListTagsForResourceOutput) GoString() string {
9438	return s.String()
9439}
9440
9441// SetTags sets the Tags field's value.
9442func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
9443	s.Tags = v
9444	return s
9445}
9446
9447type ListWirelessDevicesInput struct {
9448	_ struct{} `type:"structure"`
9449
9450	// A filter to list only the wireless devices that use this destination.
9451	DestinationName *string `location:"querystring" locationName:"destinationName" type:"string"`
9452
9453	// A filter to list only the wireless devices that use this device profile.
9454	DeviceProfileId *string `location:"querystring" locationName:"deviceProfileId" type:"string"`
9455
9456	// The maximum number of results to return in this operation.
9457	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
9458
9459	// To retrieve the next set of results, the nextToken value from a previous
9460	// response; otherwise null to receive the first set of results.
9461	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9462
9463	// A filter to list only the wireless devices that use this service profile.
9464	ServiceProfileId *string `location:"querystring" locationName:"serviceProfileId" type:"string"`
9465
9466	// A filter to list only the wireless devices that use this wireless device
9467	// type.
9468	WirelessDeviceType *string `location:"querystring" locationName:"wirelessDeviceType" type:"string" enum:"WirelessDeviceType"`
9469}
9470
9471// String returns the string representation
9472func (s ListWirelessDevicesInput) String() string {
9473	return awsutil.Prettify(s)
9474}
9475
9476// GoString returns the string representation
9477func (s ListWirelessDevicesInput) GoString() string {
9478	return s.String()
9479}
9480
9481// SetDestinationName sets the DestinationName field's value.
9482func (s *ListWirelessDevicesInput) SetDestinationName(v string) *ListWirelessDevicesInput {
9483	s.DestinationName = &v
9484	return s
9485}
9486
9487// SetDeviceProfileId sets the DeviceProfileId field's value.
9488func (s *ListWirelessDevicesInput) SetDeviceProfileId(v string) *ListWirelessDevicesInput {
9489	s.DeviceProfileId = &v
9490	return s
9491}
9492
9493// SetMaxResults sets the MaxResults field's value.
9494func (s *ListWirelessDevicesInput) SetMaxResults(v int64) *ListWirelessDevicesInput {
9495	s.MaxResults = &v
9496	return s
9497}
9498
9499// SetNextToken sets the NextToken field's value.
9500func (s *ListWirelessDevicesInput) SetNextToken(v string) *ListWirelessDevicesInput {
9501	s.NextToken = &v
9502	return s
9503}
9504
9505// SetServiceProfileId sets the ServiceProfileId field's value.
9506func (s *ListWirelessDevicesInput) SetServiceProfileId(v string) *ListWirelessDevicesInput {
9507	s.ServiceProfileId = &v
9508	return s
9509}
9510
9511// SetWirelessDeviceType sets the WirelessDeviceType field's value.
9512func (s *ListWirelessDevicesInput) SetWirelessDeviceType(v string) *ListWirelessDevicesInput {
9513	s.WirelessDeviceType = &v
9514	return s
9515}
9516
9517type ListWirelessDevicesOutput struct {
9518	_ struct{} `type:"structure"`
9519
9520	// The token to use to get the next set of results, or null if there are no
9521	// additional results.
9522	NextToken *string `type:"string"`
9523
9524	// The ID of the wireless device.
9525	WirelessDeviceList []*WirelessDeviceStatistics `type:"list"`
9526}
9527
9528// String returns the string representation
9529func (s ListWirelessDevicesOutput) String() string {
9530	return awsutil.Prettify(s)
9531}
9532
9533// GoString returns the string representation
9534func (s ListWirelessDevicesOutput) GoString() string {
9535	return s.String()
9536}
9537
9538// SetNextToken sets the NextToken field's value.
9539func (s *ListWirelessDevicesOutput) SetNextToken(v string) *ListWirelessDevicesOutput {
9540	s.NextToken = &v
9541	return s
9542}
9543
9544// SetWirelessDeviceList sets the WirelessDeviceList field's value.
9545func (s *ListWirelessDevicesOutput) SetWirelessDeviceList(v []*WirelessDeviceStatistics) *ListWirelessDevicesOutput {
9546	s.WirelessDeviceList = v
9547	return s
9548}
9549
9550type ListWirelessGatewayTaskDefinitionsInput struct {
9551	_ struct{} `type:"structure"`
9552
9553	// The maximum number of results to return in this operation.
9554	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
9555
9556	// To retrieve the next set of results, the nextToken value from a previous
9557	// response; otherwise null to receive the first set of results.
9558	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9559
9560	// A filter to list only the wireless gateway task definitions that use this
9561	// task definition type.
9562	TaskDefinitionType *string `location:"querystring" locationName:"taskDefinitionType" type:"string" enum:"WirelessGatewayTaskDefinitionType"`
9563}
9564
9565// String returns the string representation
9566func (s ListWirelessGatewayTaskDefinitionsInput) String() string {
9567	return awsutil.Prettify(s)
9568}
9569
9570// GoString returns the string representation
9571func (s ListWirelessGatewayTaskDefinitionsInput) GoString() string {
9572	return s.String()
9573}
9574
9575// SetMaxResults sets the MaxResults field's value.
9576func (s *ListWirelessGatewayTaskDefinitionsInput) SetMaxResults(v int64) *ListWirelessGatewayTaskDefinitionsInput {
9577	s.MaxResults = &v
9578	return s
9579}
9580
9581// SetNextToken sets the NextToken field's value.
9582func (s *ListWirelessGatewayTaskDefinitionsInput) SetNextToken(v string) *ListWirelessGatewayTaskDefinitionsInput {
9583	s.NextToken = &v
9584	return s
9585}
9586
9587// SetTaskDefinitionType sets the TaskDefinitionType field's value.
9588func (s *ListWirelessGatewayTaskDefinitionsInput) SetTaskDefinitionType(v string) *ListWirelessGatewayTaskDefinitionsInput {
9589	s.TaskDefinitionType = &v
9590	return s
9591}
9592
9593type ListWirelessGatewayTaskDefinitionsOutput struct {
9594	_ struct{} `type:"structure"`
9595
9596	// The token to use to get the next set of results, or null if there are no
9597	// additional results.
9598	NextToken *string `type:"string"`
9599
9600	// The list of task definitions.
9601	TaskDefinitions []*UpdateWirelessGatewayTaskEntry `type:"list"`
9602}
9603
9604// String returns the string representation
9605func (s ListWirelessGatewayTaskDefinitionsOutput) String() string {
9606	return awsutil.Prettify(s)
9607}
9608
9609// GoString returns the string representation
9610func (s ListWirelessGatewayTaskDefinitionsOutput) GoString() string {
9611	return s.String()
9612}
9613
9614// SetNextToken sets the NextToken field's value.
9615func (s *ListWirelessGatewayTaskDefinitionsOutput) SetNextToken(v string) *ListWirelessGatewayTaskDefinitionsOutput {
9616	s.NextToken = &v
9617	return s
9618}
9619
9620// SetTaskDefinitions sets the TaskDefinitions field's value.
9621func (s *ListWirelessGatewayTaskDefinitionsOutput) SetTaskDefinitions(v []*UpdateWirelessGatewayTaskEntry) *ListWirelessGatewayTaskDefinitionsOutput {
9622	s.TaskDefinitions = v
9623	return s
9624}
9625
9626type ListWirelessGatewaysInput struct {
9627	_ struct{} `type:"structure"`
9628
9629	// The maximum number of results to return in this operation.
9630	MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"`
9631
9632	// To retrieve the next set of results, the nextToken value from a previous
9633	// response; otherwise null to receive the first set of results.
9634	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9635}
9636
9637// String returns the string representation
9638func (s ListWirelessGatewaysInput) String() string {
9639	return awsutil.Prettify(s)
9640}
9641
9642// GoString returns the string representation
9643func (s ListWirelessGatewaysInput) GoString() string {
9644	return s.String()
9645}
9646
9647// SetMaxResults sets the MaxResults field's value.
9648func (s *ListWirelessGatewaysInput) SetMaxResults(v int64) *ListWirelessGatewaysInput {
9649	s.MaxResults = &v
9650	return s
9651}
9652
9653// SetNextToken sets the NextToken field's value.
9654func (s *ListWirelessGatewaysInput) SetNextToken(v string) *ListWirelessGatewaysInput {
9655	s.NextToken = &v
9656	return s
9657}
9658
9659type ListWirelessGatewaysOutput struct {
9660	_ struct{} `type:"structure"`
9661
9662	// The token to use to get the next set of results, or null if there are no
9663	// additional results.
9664	NextToken *string `type:"string"`
9665
9666	// The ID of the wireless gateway.
9667	WirelessGatewayList []*WirelessGatewayStatistics `type:"list"`
9668}
9669
9670// String returns the string representation
9671func (s ListWirelessGatewaysOutput) String() string {
9672	return awsutil.Prettify(s)
9673}
9674
9675// GoString returns the string representation
9676func (s ListWirelessGatewaysOutput) GoString() string {
9677	return s.String()
9678}
9679
9680// SetNextToken sets the NextToken field's value.
9681func (s *ListWirelessGatewaysOutput) SetNextToken(v string) *ListWirelessGatewaysOutput {
9682	s.NextToken = &v
9683	return s
9684}
9685
9686// SetWirelessGatewayList sets the WirelessGatewayList field's value.
9687func (s *ListWirelessGatewaysOutput) SetWirelessGatewayList(v []*WirelessGatewayStatistics) *ListWirelessGatewaysOutput {
9688	s.WirelessGatewayList = v
9689	return s
9690}
9691
9692// LoRaWAN object for create functions.
9693type LoRaWANDevice struct {
9694	_ struct{} `type:"structure"`
9695
9696	// LoRaWAN object for create APIs
9697	AbpV1_0_x *AbpV10X `type:"structure"`
9698
9699	// ABP device object for create APIs for v1.1
9700	AbpV1_1 *AbpV11 `type:"structure"`
9701
9702	// The DevEUI value.
9703	DevEui *string `type:"string"`
9704
9705	// The ID of the device profile for the new wireless device.
9706	DeviceProfileId *string `type:"string"`
9707
9708	// OTAA device object for create APIs for v1.0.x
9709	OtaaV1_0_x *OtaaV10X `type:"structure"`
9710
9711	// OTAA device object for v1.1 for create APIs
9712	OtaaV1_1 *OtaaV11 `type:"structure"`
9713
9714	// The ID of the service profile.
9715	ServiceProfileId *string `type:"string"`
9716}
9717
9718// String returns the string representation
9719func (s LoRaWANDevice) String() string {
9720	return awsutil.Prettify(s)
9721}
9722
9723// GoString returns the string representation
9724func (s LoRaWANDevice) GoString() string {
9725	return s.String()
9726}
9727
9728// SetAbpV1_0_x sets the AbpV1_0_x field's value.
9729func (s *LoRaWANDevice) SetAbpV1_0_x(v *AbpV10X) *LoRaWANDevice {
9730	s.AbpV1_0_x = v
9731	return s
9732}
9733
9734// SetAbpV1_1 sets the AbpV1_1 field's value.
9735func (s *LoRaWANDevice) SetAbpV1_1(v *AbpV11) *LoRaWANDevice {
9736	s.AbpV1_1 = v
9737	return s
9738}
9739
9740// SetDevEui sets the DevEui field's value.
9741func (s *LoRaWANDevice) SetDevEui(v string) *LoRaWANDevice {
9742	s.DevEui = &v
9743	return s
9744}
9745
9746// SetDeviceProfileId sets the DeviceProfileId field's value.
9747func (s *LoRaWANDevice) SetDeviceProfileId(v string) *LoRaWANDevice {
9748	s.DeviceProfileId = &v
9749	return s
9750}
9751
9752// SetOtaaV1_0_x sets the OtaaV1_0_x field's value.
9753func (s *LoRaWANDevice) SetOtaaV1_0_x(v *OtaaV10X) *LoRaWANDevice {
9754	s.OtaaV1_0_x = v
9755	return s
9756}
9757
9758// SetOtaaV1_1 sets the OtaaV1_1 field's value.
9759func (s *LoRaWANDevice) SetOtaaV1_1(v *OtaaV11) *LoRaWANDevice {
9760	s.OtaaV1_1 = v
9761	return s
9762}
9763
9764// SetServiceProfileId sets the ServiceProfileId field's value.
9765func (s *LoRaWANDevice) SetServiceProfileId(v string) *LoRaWANDevice {
9766	s.ServiceProfileId = &v
9767	return s
9768}
9769
9770// LoRaWAN device metatdata.
9771type LoRaWANDeviceMetadata struct {
9772	_ struct{} `type:"structure"`
9773
9774	// The DataRate value.
9775	DataRate *int64 `type:"integer"`
9776
9777	// The DevEUI value.
9778	DevEui *string `type:"string"`
9779
9780	// The FPort value.
9781	FPort *int64 `type:"integer"`
9782
9783	// The device's channel frequency in Hz.
9784	Frequency *int64 `type:"integer"`
9785
9786	// Information about the gateways accessed by the device.
9787	Gateways []*LoRaWANGatewayMetadata `type:"list"`
9788
9789	// The date and time of the metadata.
9790	Timestamp *string `type:"string"`
9791}
9792
9793// String returns the string representation
9794func (s LoRaWANDeviceMetadata) String() string {
9795	return awsutil.Prettify(s)
9796}
9797
9798// GoString returns the string representation
9799func (s LoRaWANDeviceMetadata) GoString() string {
9800	return s.String()
9801}
9802
9803// SetDataRate sets the DataRate field's value.
9804func (s *LoRaWANDeviceMetadata) SetDataRate(v int64) *LoRaWANDeviceMetadata {
9805	s.DataRate = &v
9806	return s
9807}
9808
9809// SetDevEui sets the DevEui field's value.
9810func (s *LoRaWANDeviceMetadata) SetDevEui(v string) *LoRaWANDeviceMetadata {
9811	s.DevEui = &v
9812	return s
9813}
9814
9815// SetFPort sets the FPort field's value.
9816func (s *LoRaWANDeviceMetadata) SetFPort(v int64) *LoRaWANDeviceMetadata {
9817	s.FPort = &v
9818	return s
9819}
9820
9821// SetFrequency sets the Frequency field's value.
9822func (s *LoRaWANDeviceMetadata) SetFrequency(v int64) *LoRaWANDeviceMetadata {
9823	s.Frequency = &v
9824	return s
9825}
9826
9827// SetGateways sets the Gateways field's value.
9828func (s *LoRaWANDeviceMetadata) SetGateways(v []*LoRaWANGatewayMetadata) *LoRaWANDeviceMetadata {
9829	s.Gateways = v
9830	return s
9831}
9832
9833// SetTimestamp sets the Timestamp field's value.
9834func (s *LoRaWANDeviceMetadata) SetTimestamp(v string) *LoRaWANDeviceMetadata {
9835	s.Timestamp = &v
9836	return s
9837}
9838
9839// LoRaWANDeviceProfile object.
9840type LoRaWANDeviceProfile struct {
9841	_ struct{} `type:"structure"`
9842
9843	// The ClassBTimeout value.
9844	ClassBTimeout *int64 `type:"integer"`
9845
9846	// The ClassCTimeout value.
9847	ClassCTimeout *int64 `type:"integer"`
9848
9849	// The list of values that make up the FactoryPresetFreqs value.
9850	FactoryPresetFreqsList []*int64 `type:"list"`
9851
9852	// The MAC version (such as OTAA 1.1 or OTAA 1.0.3) to use with this device
9853	// profile.
9854	MacVersion *string `type:"string"`
9855
9856	// The MaxDutyCycle value.
9857	MaxDutyCycle *int64 `type:"integer"`
9858
9859	// The MaxEIRP value.
9860	MaxEirp *int64 `type:"integer"`
9861
9862	// The PingSlotDR value.
9863	PingSlotDr *int64 `type:"integer"`
9864
9865	// The PingSlotFreq value.
9866	PingSlotFreq *int64 `min:"1e+06" type:"integer"`
9867
9868	// The PingSlotPeriod value.
9869	PingSlotPeriod *int64 `min:"128" type:"integer"`
9870
9871	// The version of regional parameters.
9872	RegParamsRevision *string `type:"string"`
9873
9874	// The frequency band (RFRegion) value.
9875	RfRegion *string `type:"string"`
9876
9877	// The RXDataRate2 value.
9878	RxDataRate2 *int64 `type:"integer"`
9879
9880	// The RXDelay1 value.
9881	RxDelay1 *int64 `type:"integer"`
9882
9883	// The RXDROffset1 value.
9884	RxDrOffset1 *int64 `type:"integer"`
9885
9886	// The RXFreq2 value.
9887	RxFreq2 *int64 `min:"1e+06" type:"integer"`
9888
9889	// The Supports32BitFCnt value.
9890	Supports32BitFCnt *bool `type:"boolean"`
9891
9892	// The SupportsClassB value.
9893	SupportsClassB *bool `type:"boolean"`
9894
9895	// The SupportsClassC value.
9896	SupportsClassC *bool `type:"boolean"`
9897
9898	// The SupportsJoin value.
9899	SupportsJoin *bool `type:"boolean"`
9900}
9901
9902// String returns the string representation
9903func (s LoRaWANDeviceProfile) String() string {
9904	return awsutil.Prettify(s)
9905}
9906
9907// GoString returns the string representation
9908func (s LoRaWANDeviceProfile) GoString() string {
9909	return s.String()
9910}
9911
9912// Validate inspects the fields of the type to determine if they are valid.
9913func (s *LoRaWANDeviceProfile) Validate() error {
9914	invalidParams := request.ErrInvalidParams{Context: "LoRaWANDeviceProfile"}
9915	if s.PingSlotFreq != nil && *s.PingSlotFreq < 1e+06 {
9916		invalidParams.Add(request.NewErrParamMinValue("PingSlotFreq", 1e+06))
9917	}
9918	if s.PingSlotPeriod != nil && *s.PingSlotPeriod < 128 {
9919		invalidParams.Add(request.NewErrParamMinValue("PingSlotPeriod", 128))
9920	}
9921	if s.RxFreq2 != nil && *s.RxFreq2 < 1e+06 {
9922		invalidParams.Add(request.NewErrParamMinValue("RxFreq2", 1e+06))
9923	}
9924
9925	if invalidParams.Len() > 0 {
9926		return invalidParams
9927	}
9928	return nil
9929}
9930
9931// SetClassBTimeout sets the ClassBTimeout field's value.
9932func (s *LoRaWANDeviceProfile) SetClassBTimeout(v int64) *LoRaWANDeviceProfile {
9933	s.ClassBTimeout = &v
9934	return s
9935}
9936
9937// SetClassCTimeout sets the ClassCTimeout field's value.
9938func (s *LoRaWANDeviceProfile) SetClassCTimeout(v int64) *LoRaWANDeviceProfile {
9939	s.ClassCTimeout = &v
9940	return s
9941}
9942
9943// SetFactoryPresetFreqsList sets the FactoryPresetFreqsList field's value.
9944func (s *LoRaWANDeviceProfile) SetFactoryPresetFreqsList(v []*int64) *LoRaWANDeviceProfile {
9945	s.FactoryPresetFreqsList = v
9946	return s
9947}
9948
9949// SetMacVersion sets the MacVersion field's value.
9950func (s *LoRaWANDeviceProfile) SetMacVersion(v string) *LoRaWANDeviceProfile {
9951	s.MacVersion = &v
9952	return s
9953}
9954
9955// SetMaxDutyCycle sets the MaxDutyCycle field's value.
9956func (s *LoRaWANDeviceProfile) SetMaxDutyCycle(v int64) *LoRaWANDeviceProfile {
9957	s.MaxDutyCycle = &v
9958	return s
9959}
9960
9961// SetMaxEirp sets the MaxEirp field's value.
9962func (s *LoRaWANDeviceProfile) SetMaxEirp(v int64) *LoRaWANDeviceProfile {
9963	s.MaxEirp = &v
9964	return s
9965}
9966
9967// SetPingSlotDr sets the PingSlotDr field's value.
9968func (s *LoRaWANDeviceProfile) SetPingSlotDr(v int64) *LoRaWANDeviceProfile {
9969	s.PingSlotDr = &v
9970	return s
9971}
9972
9973// SetPingSlotFreq sets the PingSlotFreq field's value.
9974func (s *LoRaWANDeviceProfile) SetPingSlotFreq(v int64) *LoRaWANDeviceProfile {
9975	s.PingSlotFreq = &v
9976	return s
9977}
9978
9979// SetPingSlotPeriod sets the PingSlotPeriod field's value.
9980func (s *LoRaWANDeviceProfile) SetPingSlotPeriod(v int64) *LoRaWANDeviceProfile {
9981	s.PingSlotPeriod = &v
9982	return s
9983}
9984
9985// SetRegParamsRevision sets the RegParamsRevision field's value.
9986func (s *LoRaWANDeviceProfile) SetRegParamsRevision(v string) *LoRaWANDeviceProfile {
9987	s.RegParamsRevision = &v
9988	return s
9989}
9990
9991// SetRfRegion sets the RfRegion field's value.
9992func (s *LoRaWANDeviceProfile) SetRfRegion(v string) *LoRaWANDeviceProfile {
9993	s.RfRegion = &v
9994	return s
9995}
9996
9997// SetRxDataRate2 sets the RxDataRate2 field's value.
9998func (s *LoRaWANDeviceProfile) SetRxDataRate2(v int64) *LoRaWANDeviceProfile {
9999	s.RxDataRate2 = &v
10000	return s
10001}
10002
10003// SetRxDelay1 sets the RxDelay1 field's value.
10004func (s *LoRaWANDeviceProfile) SetRxDelay1(v int64) *LoRaWANDeviceProfile {
10005	s.RxDelay1 = &v
10006	return s
10007}
10008
10009// SetRxDrOffset1 sets the RxDrOffset1 field's value.
10010func (s *LoRaWANDeviceProfile) SetRxDrOffset1(v int64) *LoRaWANDeviceProfile {
10011	s.RxDrOffset1 = &v
10012	return s
10013}
10014
10015// SetRxFreq2 sets the RxFreq2 field's value.
10016func (s *LoRaWANDeviceProfile) SetRxFreq2(v int64) *LoRaWANDeviceProfile {
10017	s.RxFreq2 = &v
10018	return s
10019}
10020
10021// SetSupports32BitFCnt sets the Supports32BitFCnt field's value.
10022func (s *LoRaWANDeviceProfile) SetSupports32BitFCnt(v bool) *LoRaWANDeviceProfile {
10023	s.Supports32BitFCnt = &v
10024	return s
10025}
10026
10027// SetSupportsClassB sets the SupportsClassB field's value.
10028func (s *LoRaWANDeviceProfile) SetSupportsClassB(v bool) *LoRaWANDeviceProfile {
10029	s.SupportsClassB = &v
10030	return s
10031}
10032
10033// SetSupportsClassC sets the SupportsClassC field's value.
10034func (s *LoRaWANDeviceProfile) SetSupportsClassC(v bool) *LoRaWANDeviceProfile {
10035	s.SupportsClassC = &v
10036	return s
10037}
10038
10039// SetSupportsJoin sets the SupportsJoin field's value.
10040func (s *LoRaWANDeviceProfile) SetSupportsJoin(v bool) *LoRaWANDeviceProfile {
10041	s.SupportsJoin = &v
10042	return s
10043}
10044
10045// LoRaWANGateway object.
10046type LoRaWANGateway struct {
10047	_ struct{} `type:"structure"`
10048
10049	// The gateway's EUI value.
10050	GatewayEui *string `type:"string"`
10051
10052	// A list of JoinEuiRange used by LoRa gateways to filter LoRa frames.
10053	JoinEuiFilters [][]*string `type:"list"`
10054
10055	// A list of NetId values that are used by LoRa gateways to filter the uplink
10056	// frames.
10057	NetIdFilters []*string `type:"list"`
10058
10059	// The frequency band (RFRegion) value.
10060	RfRegion *string `type:"string"`
10061
10062	// A list of integer indicating which sub bands are supported by LoRa gateway.
10063	SubBands []*int64 `type:"list"`
10064}
10065
10066// String returns the string representation
10067func (s LoRaWANGateway) String() string {
10068	return awsutil.Prettify(s)
10069}
10070
10071// GoString returns the string representation
10072func (s LoRaWANGateway) GoString() string {
10073	return s.String()
10074}
10075
10076// SetGatewayEui sets the GatewayEui field's value.
10077func (s *LoRaWANGateway) SetGatewayEui(v string) *LoRaWANGateway {
10078	s.GatewayEui = &v
10079	return s
10080}
10081
10082// SetJoinEuiFilters sets the JoinEuiFilters field's value.
10083func (s *LoRaWANGateway) SetJoinEuiFilters(v [][]*string) *LoRaWANGateway {
10084	s.JoinEuiFilters = v
10085	return s
10086}
10087
10088// SetNetIdFilters sets the NetIdFilters field's value.
10089func (s *LoRaWANGateway) SetNetIdFilters(v []*string) *LoRaWANGateway {
10090	s.NetIdFilters = v
10091	return s
10092}
10093
10094// SetRfRegion sets the RfRegion field's value.
10095func (s *LoRaWANGateway) SetRfRegion(v string) *LoRaWANGateway {
10096	s.RfRegion = &v
10097	return s
10098}
10099
10100// SetSubBands sets the SubBands field's value.
10101func (s *LoRaWANGateway) SetSubBands(v []*int64) *LoRaWANGateway {
10102	s.SubBands = v
10103	return s
10104}
10105
10106// LoRaWANGatewayCurrentVersion object.
10107type LoRaWANGatewayCurrentVersion struct {
10108	_ struct{} `type:"structure"`
10109
10110	// The version of the gateways that should receive the update.
10111	CurrentVersion *LoRaWANGatewayVersion `type:"structure"`
10112}
10113
10114// String returns the string representation
10115func (s LoRaWANGatewayCurrentVersion) String() string {
10116	return awsutil.Prettify(s)
10117}
10118
10119// GoString returns the string representation
10120func (s LoRaWANGatewayCurrentVersion) GoString() string {
10121	return s.String()
10122}
10123
10124// SetCurrentVersion sets the CurrentVersion field's value.
10125func (s *LoRaWANGatewayCurrentVersion) SetCurrentVersion(v *LoRaWANGatewayVersion) *LoRaWANGatewayCurrentVersion {
10126	s.CurrentVersion = v
10127	return s
10128}
10129
10130// LoRaWAN gateway metatdata.
10131type LoRaWANGatewayMetadata struct {
10132	_ struct{} `type:"structure"`
10133
10134	// The gateway's EUI value.
10135	GatewayEui *string `type:"string"`
10136
10137	// The RSSI value.
10138	Rssi *float64 `type:"double"`
10139
10140	// The SNR value.
10141	Snr *float64 `type:"double"`
10142}
10143
10144// String returns the string representation
10145func (s LoRaWANGatewayMetadata) String() string {
10146	return awsutil.Prettify(s)
10147}
10148
10149// GoString returns the string representation
10150func (s LoRaWANGatewayMetadata) GoString() string {
10151	return s.String()
10152}
10153
10154// SetGatewayEui sets the GatewayEui field's value.
10155func (s *LoRaWANGatewayMetadata) SetGatewayEui(v string) *LoRaWANGatewayMetadata {
10156	s.GatewayEui = &v
10157	return s
10158}
10159
10160// SetRssi sets the Rssi field's value.
10161func (s *LoRaWANGatewayMetadata) SetRssi(v float64) *LoRaWANGatewayMetadata {
10162	s.Rssi = &v
10163	return s
10164}
10165
10166// SetSnr sets the Snr field's value.
10167func (s *LoRaWANGatewayMetadata) SetSnr(v float64) *LoRaWANGatewayMetadata {
10168	s.Snr = &v
10169	return s
10170}
10171
10172// LoRaWANGatewayVersion object.
10173type LoRaWANGatewayVersion struct {
10174	_ struct{} `type:"structure"`
10175
10176	// The model number of the wireless gateway.
10177	Model *string `min:"1" type:"string"`
10178
10179	// The version of the wireless gateway firmware.
10180	PackageVersion *string `min:"1" type:"string"`
10181
10182	// The basic station version of the wireless gateway.
10183	Station *string `min:"1" type:"string"`
10184}
10185
10186// String returns the string representation
10187func (s LoRaWANGatewayVersion) String() string {
10188	return awsutil.Prettify(s)
10189}
10190
10191// GoString returns the string representation
10192func (s LoRaWANGatewayVersion) GoString() string {
10193	return s.String()
10194}
10195
10196// Validate inspects the fields of the type to determine if they are valid.
10197func (s *LoRaWANGatewayVersion) Validate() error {
10198	invalidParams := request.ErrInvalidParams{Context: "LoRaWANGatewayVersion"}
10199	if s.Model != nil && len(*s.Model) < 1 {
10200		invalidParams.Add(request.NewErrParamMinLen("Model", 1))
10201	}
10202	if s.PackageVersion != nil && len(*s.PackageVersion) < 1 {
10203		invalidParams.Add(request.NewErrParamMinLen("PackageVersion", 1))
10204	}
10205	if s.Station != nil && len(*s.Station) < 1 {
10206		invalidParams.Add(request.NewErrParamMinLen("Station", 1))
10207	}
10208
10209	if invalidParams.Len() > 0 {
10210		return invalidParams
10211	}
10212	return nil
10213}
10214
10215// SetModel sets the Model field's value.
10216func (s *LoRaWANGatewayVersion) SetModel(v string) *LoRaWANGatewayVersion {
10217	s.Model = &v
10218	return s
10219}
10220
10221// SetPackageVersion sets the PackageVersion field's value.
10222func (s *LoRaWANGatewayVersion) SetPackageVersion(v string) *LoRaWANGatewayVersion {
10223	s.PackageVersion = &v
10224	return s
10225}
10226
10227// SetStation sets the Station field's value.
10228func (s *LoRaWANGatewayVersion) SetStation(v string) *LoRaWANGatewayVersion {
10229	s.Station = &v
10230	return s
10231}
10232
10233// LoRaWANGetServiceProfileInfo object.
10234type LoRaWANGetServiceProfileInfo struct {
10235	_ struct{} `type:"structure"`
10236
10237	// The AddGWMetaData value.
10238	AddGwMetadata *bool `type:"boolean"`
10239
10240	// The ChannelMask value.
10241	ChannelMask *string `type:"string"`
10242
10243	// The DevStatusReqFreq value.
10244	DevStatusReqFreq *int64 `type:"integer"`
10245
10246	// The DLBucketSize value.
10247	DlBucketSize *int64 `type:"integer"`
10248
10249	// The DLRate value.
10250	DlRate *int64 `type:"integer"`
10251
10252	// The DLRatePolicy value.
10253	DlRatePolicy *string `type:"string"`
10254
10255	// The DRMax value.
10256	DrMax *int64 `type:"integer"`
10257
10258	// The DRMin value.
10259	DrMin *int64 `type:"integer"`
10260
10261	// The HRAllowed value that describes whether handover roaming is allowed.
10262	HrAllowed *bool `type:"boolean"`
10263
10264	// The MinGwDiversity value.
10265	MinGwDiversity *int64 `min:"1" type:"integer"`
10266
10267	// The NwkGeoLoc value.
10268	NwkGeoLoc *bool `type:"boolean"`
10269
10270	// The PRAllowed value that describes whether passive roaming is allowed.
10271	PrAllowed *bool `type:"boolean"`
10272
10273	// The RAAllowed value that describes whether roaming activation is allowed.
10274	RaAllowed *bool `type:"boolean"`
10275
10276	// The ReportDevStatusBattery value.
10277	ReportDevStatusBattery *bool `type:"boolean"`
10278
10279	// The ReportDevStatusMargin value.
10280	ReportDevStatusMargin *bool `type:"boolean"`
10281
10282	// The TargetPER value.
10283	TargetPer *int64 `type:"integer"`
10284
10285	// The ULBucketSize value.
10286	UlBucketSize *int64 `type:"integer"`
10287
10288	// The ULRate value.
10289	UlRate *int64 `type:"integer"`
10290
10291	// The ULRatePolicy value.
10292	UlRatePolicy *string `type:"string"`
10293}
10294
10295// String returns the string representation
10296func (s LoRaWANGetServiceProfileInfo) String() string {
10297	return awsutil.Prettify(s)
10298}
10299
10300// GoString returns the string representation
10301func (s LoRaWANGetServiceProfileInfo) GoString() string {
10302	return s.String()
10303}
10304
10305// SetAddGwMetadata sets the AddGwMetadata field's value.
10306func (s *LoRaWANGetServiceProfileInfo) SetAddGwMetadata(v bool) *LoRaWANGetServiceProfileInfo {
10307	s.AddGwMetadata = &v
10308	return s
10309}
10310
10311// SetChannelMask sets the ChannelMask field's value.
10312func (s *LoRaWANGetServiceProfileInfo) SetChannelMask(v string) *LoRaWANGetServiceProfileInfo {
10313	s.ChannelMask = &v
10314	return s
10315}
10316
10317// SetDevStatusReqFreq sets the DevStatusReqFreq field's value.
10318func (s *LoRaWANGetServiceProfileInfo) SetDevStatusReqFreq(v int64) *LoRaWANGetServiceProfileInfo {
10319	s.DevStatusReqFreq = &v
10320	return s
10321}
10322
10323// SetDlBucketSize sets the DlBucketSize field's value.
10324func (s *LoRaWANGetServiceProfileInfo) SetDlBucketSize(v int64) *LoRaWANGetServiceProfileInfo {
10325	s.DlBucketSize = &v
10326	return s
10327}
10328
10329// SetDlRate sets the DlRate field's value.
10330func (s *LoRaWANGetServiceProfileInfo) SetDlRate(v int64) *LoRaWANGetServiceProfileInfo {
10331	s.DlRate = &v
10332	return s
10333}
10334
10335// SetDlRatePolicy sets the DlRatePolicy field's value.
10336func (s *LoRaWANGetServiceProfileInfo) SetDlRatePolicy(v string) *LoRaWANGetServiceProfileInfo {
10337	s.DlRatePolicy = &v
10338	return s
10339}
10340
10341// SetDrMax sets the DrMax field's value.
10342func (s *LoRaWANGetServiceProfileInfo) SetDrMax(v int64) *LoRaWANGetServiceProfileInfo {
10343	s.DrMax = &v
10344	return s
10345}
10346
10347// SetDrMin sets the DrMin field's value.
10348func (s *LoRaWANGetServiceProfileInfo) SetDrMin(v int64) *LoRaWANGetServiceProfileInfo {
10349	s.DrMin = &v
10350	return s
10351}
10352
10353// SetHrAllowed sets the HrAllowed field's value.
10354func (s *LoRaWANGetServiceProfileInfo) SetHrAllowed(v bool) *LoRaWANGetServiceProfileInfo {
10355	s.HrAllowed = &v
10356	return s
10357}
10358
10359// SetMinGwDiversity sets the MinGwDiversity field's value.
10360func (s *LoRaWANGetServiceProfileInfo) SetMinGwDiversity(v int64) *LoRaWANGetServiceProfileInfo {
10361	s.MinGwDiversity = &v
10362	return s
10363}
10364
10365// SetNwkGeoLoc sets the NwkGeoLoc field's value.
10366func (s *LoRaWANGetServiceProfileInfo) SetNwkGeoLoc(v bool) *LoRaWANGetServiceProfileInfo {
10367	s.NwkGeoLoc = &v
10368	return s
10369}
10370
10371// SetPrAllowed sets the PrAllowed field's value.
10372func (s *LoRaWANGetServiceProfileInfo) SetPrAllowed(v bool) *LoRaWANGetServiceProfileInfo {
10373	s.PrAllowed = &v
10374	return s
10375}
10376
10377// SetRaAllowed sets the RaAllowed field's value.
10378func (s *LoRaWANGetServiceProfileInfo) SetRaAllowed(v bool) *LoRaWANGetServiceProfileInfo {
10379	s.RaAllowed = &v
10380	return s
10381}
10382
10383// SetReportDevStatusBattery sets the ReportDevStatusBattery field's value.
10384func (s *LoRaWANGetServiceProfileInfo) SetReportDevStatusBattery(v bool) *LoRaWANGetServiceProfileInfo {
10385	s.ReportDevStatusBattery = &v
10386	return s
10387}
10388
10389// SetReportDevStatusMargin sets the ReportDevStatusMargin field's value.
10390func (s *LoRaWANGetServiceProfileInfo) SetReportDevStatusMargin(v bool) *LoRaWANGetServiceProfileInfo {
10391	s.ReportDevStatusMargin = &v
10392	return s
10393}
10394
10395// SetTargetPer sets the TargetPer field's value.
10396func (s *LoRaWANGetServiceProfileInfo) SetTargetPer(v int64) *LoRaWANGetServiceProfileInfo {
10397	s.TargetPer = &v
10398	return s
10399}
10400
10401// SetUlBucketSize sets the UlBucketSize field's value.
10402func (s *LoRaWANGetServiceProfileInfo) SetUlBucketSize(v int64) *LoRaWANGetServiceProfileInfo {
10403	s.UlBucketSize = &v
10404	return s
10405}
10406
10407// SetUlRate sets the UlRate field's value.
10408func (s *LoRaWANGetServiceProfileInfo) SetUlRate(v int64) *LoRaWANGetServiceProfileInfo {
10409	s.UlRate = &v
10410	return s
10411}
10412
10413// SetUlRatePolicy sets the UlRatePolicy field's value.
10414func (s *LoRaWANGetServiceProfileInfo) SetUlRatePolicy(v string) *LoRaWANGetServiceProfileInfo {
10415	s.UlRatePolicy = &v
10416	return s
10417}
10418
10419// LoRaWAN object for list functions.
10420type LoRaWANListDevice struct {
10421	_ struct{} `type:"structure"`
10422
10423	// The DevEUI value.
10424	DevEui *string `type:"string"`
10425}
10426
10427// String returns the string representation
10428func (s LoRaWANListDevice) String() string {
10429	return awsutil.Prettify(s)
10430}
10431
10432// GoString returns the string representation
10433func (s LoRaWANListDevice) GoString() string {
10434	return s.String()
10435}
10436
10437// SetDevEui sets the DevEui field's value.
10438func (s *LoRaWANListDevice) SetDevEui(v string) *LoRaWANListDevice {
10439	s.DevEui = &v
10440	return s
10441}
10442
10443// LoRaWAN router info.
10444type LoRaWANSendDataToDevice struct {
10445	_ struct{} `type:"structure"`
10446
10447	// The Fport value.
10448	FPort *int64 `min:"1" type:"integer"`
10449}
10450
10451// String returns the string representation
10452func (s LoRaWANSendDataToDevice) String() string {
10453	return awsutil.Prettify(s)
10454}
10455
10456// GoString returns the string representation
10457func (s LoRaWANSendDataToDevice) GoString() string {
10458	return s.String()
10459}
10460
10461// Validate inspects the fields of the type to determine if they are valid.
10462func (s *LoRaWANSendDataToDevice) Validate() error {
10463	invalidParams := request.ErrInvalidParams{Context: "LoRaWANSendDataToDevice"}
10464	if s.FPort != nil && *s.FPort < 1 {
10465		invalidParams.Add(request.NewErrParamMinValue("FPort", 1))
10466	}
10467
10468	if invalidParams.Len() > 0 {
10469		return invalidParams
10470	}
10471	return nil
10472}
10473
10474// SetFPort sets the FPort field's value.
10475func (s *LoRaWANSendDataToDevice) SetFPort(v int64) *LoRaWANSendDataToDevice {
10476	s.FPort = &v
10477	return s
10478}
10479
10480// LoRaWANServiceProfile object.
10481type LoRaWANServiceProfile struct {
10482	_ struct{} `type:"structure"`
10483
10484	// The AddGWMetaData value.
10485	AddGwMetadata *bool `type:"boolean"`
10486}
10487
10488// String returns the string representation
10489func (s LoRaWANServiceProfile) String() string {
10490	return awsutil.Prettify(s)
10491}
10492
10493// GoString returns the string representation
10494func (s LoRaWANServiceProfile) GoString() string {
10495	return s.String()
10496}
10497
10498// SetAddGwMetadata sets the AddGwMetadata field's value.
10499func (s *LoRaWANServiceProfile) SetAddGwMetadata(v bool) *LoRaWANServiceProfile {
10500	s.AddGwMetadata = &v
10501	return s
10502}
10503
10504// LoRaWAN object for update functions.
10505type LoRaWANUpdateDevice struct {
10506	_ struct{} `type:"structure"`
10507
10508	// The ID of the device profile for the wireless device.
10509	DeviceProfileId *string `type:"string"`
10510
10511	// The ID of the service profile.
10512	ServiceProfileId *string `type:"string"`
10513}
10514
10515// String returns the string representation
10516func (s LoRaWANUpdateDevice) String() string {
10517	return awsutil.Prettify(s)
10518}
10519
10520// GoString returns the string representation
10521func (s LoRaWANUpdateDevice) GoString() string {
10522	return s.String()
10523}
10524
10525// SetDeviceProfileId sets the DeviceProfileId field's value.
10526func (s *LoRaWANUpdateDevice) SetDeviceProfileId(v string) *LoRaWANUpdateDevice {
10527	s.DeviceProfileId = &v
10528	return s
10529}
10530
10531// SetServiceProfileId sets the ServiceProfileId field's value.
10532func (s *LoRaWANUpdateDevice) SetServiceProfileId(v string) *LoRaWANUpdateDevice {
10533	s.ServiceProfileId = &v
10534	return s
10535}
10536
10537// LoRaWANUpdateGatewayTaskCreate object.
10538type LoRaWANUpdateGatewayTaskCreate struct {
10539	_ struct{} `type:"structure"`
10540
10541	// The version of the gateways that should receive the update.
10542	CurrentVersion *LoRaWANGatewayVersion `type:"structure"`
10543
10544	// The CRC of the signature private key to check.
10545	SigKeyCrc *int64 `min:"1" type:"long"`
10546
10547	// The signature used to verify the update firmware.
10548	UpdateSignature *string `min:"1" type:"string"`
10549
10550	// The firmware version to update the gateway to.
10551	UpdateVersion *LoRaWANGatewayVersion `type:"structure"`
10552}
10553
10554// String returns the string representation
10555func (s LoRaWANUpdateGatewayTaskCreate) String() string {
10556	return awsutil.Prettify(s)
10557}
10558
10559// GoString returns the string representation
10560func (s LoRaWANUpdateGatewayTaskCreate) GoString() string {
10561	return s.String()
10562}
10563
10564// Validate inspects the fields of the type to determine if they are valid.
10565func (s *LoRaWANUpdateGatewayTaskCreate) Validate() error {
10566	invalidParams := request.ErrInvalidParams{Context: "LoRaWANUpdateGatewayTaskCreate"}
10567	if s.SigKeyCrc != nil && *s.SigKeyCrc < 1 {
10568		invalidParams.Add(request.NewErrParamMinValue("SigKeyCrc", 1))
10569	}
10570	if s.UpdateSignature != nil && len(*s.UpdateSignature) < 1 {
10571		invalidParams.Add(request.NewErrParamMinLen("UpdateSignature", 1))
10572	}
10573	if s.CurrentVersion != nil {
10574		if err := s.CurrentVersion.Validate(); err != nil {
10575			invalidParams.AddNested("CurrentVersion", err.(request.ErrInvalidParams))
10576		}
10577	}
10578	if s.UpdateVersion != nil {
10579		if err := s.UpdateVersion.Validate(); err != nil {
10580			invalidParams.AddNested("UpdateVersion", err.(request.ErrInvalidParams))
10581		}
10582	}
10583
10584	if invalidParams.Len() > 0 {
10585		return invalidParams
10586	}
10587	return nil
10588}
10589
10590// SetCurrentVersion sets the CurrentVersion field's value.
10591func (s *LoRaWANUpdateGatewayTaskCreate) SetCurrentVersion(v *LoRaWANGatewayVersion) *LoRaWANUpdateGatewayTaskCreate {
10592	s.CurrentVersion = v
10593	return s
10594}
10595
10596// SetSigKeyCrc sets the SigKeyCrc field's value.
10597func (s *LoRaWANUpdateGatewayTaskCreate) SetSigKeyCrc(v int64) *LoRaWANUpdateGatewayTaskCreate {
10598	s.SigKeyCrc = &v
10599	return s
10600}
10601
10602// SetUpdateSignature sets the UpdateSignature field's value.
10603func (s *LoRaWANUpdateGatewayTaskCreate) SetUpdateSignature(v string) *LoRaWANUpdateGatewayTaskCreate {
10604	s.UpdateSignature = &v
10605	return s
10606}
10607
10608// SetUpdateVersion sets the UpdateVersion field's value.
10609func (s *LoRaWANUpdateGatewayTaskCreate) SetUpdateVersion(v *LoRaWANGatewayVersion) *LoRaWANUpdateGatewayTaskCreate {
10610	s.UpdateVersion = v
10611	return s
10612}
10613
10614// LoRaWANUpdateGatewayTaskEntry object.
10615type LoRaWANUpdateGatewayTaskEntry struct {
10616	_ struct{} `type:"structure"`
10617
10618	// The version of the gateways that should receive the update.
10619	CurrentVersion *LoRaWANGatewayVersion `type:"structure"`
10620
10621	// The firmware version to update the gateway to.
10622	UpdateVersion *LoRaWANGatewayVersion `type:"structure"`
10623}
10624
10625// String returns the string representation
10626func (s LoRaWANUpdateGatewayTaskEntry) String() string {
10627	return awsutil.Prettify(s)
10628}
10629
10630// GoString returns the string representation
10631func (s LoRaWANUpdateGatewayTaskEntry) GoString() string {
10632	return s.String()
10633}
10634
10635// SetCurrentVersion sets the CurrentVersion field's value.
10636func (s *LoRaWANUpdateGatewayTaskEntry) SetCurrentVersion(v *LoRaWANGatewayVersion) *LoRaWANUpdateGatewayTaskEntry {
10637	s.CurrentVersion = v
10638	return s
10639}
10640
10641// SetUpdateVersion sets the UpdateVersion field's value.
10642func (s *LoRaWANUpdateGatewayTaskEntry) SetUpdateVersion(v *LoRaWANGatewayVersion) *LoRaWANUpdateGatewayTaskEntry {
10643	s.UpdateVersion = v
10644	return s
10645}
10646
10647// OTAA device object for v1.0.x
10648type OtaaV10X struct {
10649	_ struct{} `type:"structure"`
10650
10651	// The AppEUI value.
10652	AppEui *string `type:"string"`
10653
10654	// The AppKey value.
10655	AppKey *string `type:"string"`
10656}
10657
10658// String returns the string representation
10659func (s OtaaV10X) String() string {
10660	return awsutil.Prettify(s)
10661}
10662
10663// GoString returns the string representation
10664func (s OtaaV10X) GoString() string {
10665	return s.String()
10666}
10667
10668// SetAppEui sets the AppEui field's value.
10669func (s *OtaaV10X) SetAppEui(v string) *OtaaV10X {
10670	s.AppEui = &v
10671	return s
10672}
10673
10674// SetAppKey sets the AppKey field's value.
10675func (s *OtaaV10X) SetAppKey(v string) *OtaaV10X {
10676	s.AppKey = &v
10677	return s
10678}
10679
10680// OTAA device object for v1.1
10681type OtaaV11 struct {
10682	_ struct{} `type:"structure"`
10683
10684	// The AppKey value.
10685	AppKey *string `type:"string"`
10686
10687	// The JoinEUI value.
10688	JoinEui *string `type:"string"`
10689
10690	// The NwkKey value.
10691	NwkKey *string `type:"string"`
10692}
10693
10694// String returns the string representation
10695func (s OtaaV11) String() string {
10696	return awsutil.Prettify(s)
10697}
10698
10699// GoString returns the string representation
10700func (s OtaaV11) GoString() string {
10701	return s.String()
10702}
10703
10704// SetAppKey sets the AppKey field's value.
10705func (s *OtaaV11) SetAppKey(v string) *OtaaV11 {
10706	s.AppKey = &v
10707	return s
10708}
10709
10710// SetJoinEui sets the JoinEui field's value.
10711func (s *OtaaV11) SetJoinEui(v string) *OtaaV11 {
10712	s.JoinEui = &v
10713	return s
10714}
10715
10716// SetNwkKey sets the NwkKey field's value.
10717func (s *OtaaV11) SetNwkKey(v string) *OtaaV11 {
10718	s.NwkKey = &v
10719	return s
10720}
10721
10722type PutResourceLogLevelInput struct {
10723	_ struct{} `type:"structure"`
10724
10725	// The log level for a log message.
10726	//
10727	// LogLevel is a required field
10728	LogLevel *string `type:"string" required:"true" enum:"LogLevel"`
10729
10730	// The identifier of the resource. For a Wireless Device, it is the wireless
10731	// device ID. For a wireless gateway, it is the wireless gateway ID.
10732	//
10733	// ResourceIdentifier is a required field
10734	ResourceIdentifier *string `location:"uri" locationName:"ResourceIdentifier" type:"string" required:"true"`
10735
10736	// The type of the resource, which can be WirelessDevice or WirelessGateway.
10737	//
10738	// ResourceType is a required field
10739	ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" required:"true"`
10740}
10741
10742// String returns the string representation
10743func (s PutResourceLogLevelInput) String() string {
10744	return awsutil.Prettify(s)
10745}
10746
10747// GoString returns the string representation
10748func (s PutResourceLogLevelInput) GoString() string {
10749	return s.String()
10750}
10751
10752// Validate inspects the fields of the type to determine if they are valid.
10753func (s *PutResourceLogLevelInput) Validate() error {
10754	invalidParams := request.ErrInvalidParams{Context: "PutResourceLogLevelInput"}
10755	if s.LogLevel == nil {
10756		invalidParams.Add(request.NewErrParamRequired("LogLevel"))
10757	}
10758	if s.ResourceIdentifier == nil {
10759		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
10760	}
10761	if s.ResourceIdentifier != nil && len(*s.ResourceIdentifier) < 1 {
10762		invalidParams.Add(request.NewErrParamMinLen("ResourceIdentifier", 1))
10763	}
10764	if s.ResourceType == nil {
10765		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
10766	}
10767
10768	if invalidParams.Len() > 0 {
10769		return invalidParams
10770	}
10771	return nil
10772}
10773
10774// SetLogLevel sets the LogLevel field's value.
10775func (s *PutResourceLogLevelInput) SetLogLevel(v string) *PutResourceLogLevelInput {
10776	s.LogLevel = &v
10777	return s
10778}
10779
10780// SetResourceIdentifier sets the ResourceIdentifier field's value.
10781func (s *PutResourceLogLevelInput) SetResourceIdentifier(v string) *PutResourceLogLevelInput {
10782	s.ResourceIdentifier = &v
10783	return s
10784}
10785
10786// SetResourceType sets the ResourceType field's value.
10787func (s *PutResourceLogLevelInput) SetResourceType(v string) *PutResourceLogLevelInput {
10788	s.ResourceType = &v
10789	return s
10790}
10791
10792type PutResourceLogLevelOutput struct {
10793	_ struct{} `type:"structure"`
10794}
10795
10796// String returns the string representation
10797func (s PutResourceLogLevelOutput) String() string {
10798	return awsutil.Prettify(s)
10799}
10800
10801// GoString returns the string representation
10802func (s PutResourceLogLevelOutput) GoString() string {
10803	return s.String()
10804}
10805
10806type ResetAllResourceLogLevelsInput struct {
10807	_ struct{} `type:"structure"`
10808}
10809
10810// String returns the string representation
10811func (s ResetAllResourceLogLevelsInput) String() string {
10812	return awsutil.Prettify(s)
10813}
10814
10815// GoString returns the string representation
10816func (s ResetAllResourceLogLevelsInput) GoString() string {
10817	return s.String()
10818}
10819
10820type ResetAllResourceLogLevelsOutput struct {
10821	_ struct{} `type:"structure"`
10822}
10823
10824// String returns the string representation
10825func (s ResetAllResourceLogLevelsOutput) String() string {
10826	return awsutil.Prettify(s)
10827}
10828
10829// GoString returns the string representation
10830func (s ResetAllResourceLogLevelsOutput) GoString() string {
10831	return s.String()
10832}
10833
10834type ResetResourceLogLevelInput struct {
10835	_ struct{} `type:"structure"`
10836
10837	// The identifier of the resource. For a Wireless Device, it is the wireless
10838	// device ID. For a wireless gateway, it is the wireless gateway ID.
10839	//
10840	// ResourceIdentifier is a required field
10841	ResourceIdentifier *string `location:"uri" locationName:"ResourceIdentifier" type:"string" required:"true"`
10842
10843	// The type of the resource, which can be WirelessDevice or WirelessGateway.
10844	//
10845	// ResourceType is a required field
10846	ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" required:"true"`
10847}
10848
10849// String returns the string representation
10850func (s ResetResourceLogLevelInput) String() string {
10851	return awsutil.Prettify(s)
10852}
10853
10854// GoString returns the string representation
10855func (s ResetResourceLogLevelInput) GoString() string {
10856	return s.String()
10857}
10858
10859// Validate inspects the fields of the type to determine if they are valid.
10860func (s *ResetResourceLogLevelInput) Validate() error {
10861	invalidParams := request.ErrInvalidParams{Context: "ResetResourceLogLevelInput"}
10862	if s.ResourceIdentifier == nil {
10863		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
10864	}
10865	if s.ResourceIdentifier != nil && len(*s.ResourceIdentifier) < 1 {
10866		invalidParams.Add(request.NewErrParamMinLen("ResourceIdentifier", 1))
10867	}
10868	if s.ResourceType == nil {
10869		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
10870	}
10871
10872	if invalidParams.Len() > 0 {
10873		return invalidParams
10874	}
10875	return nil
10876}
10877
10878// SetResourceIdentifier sets the ResourceIdentifier field's value.
10879func (s *ResetResourceLogLevelInput) SetResourceIdentifier(v string) *ResetResourceLogLevelInput {
10880	s.ResourceIdentifier = &v
10881	return s
10882}
10883
10884// SetResourceType sets the ResourceType field's value.
10885func (s *ResetResourceLogLevelInput) SetResourceType(v string) *ResetResourceLogLevelInput {
10886	s.ResourceType = &v
10887	return s
10888}
10889
10890type ResetResourceLogLevelOutput struct {
10891	_ struct{} `type:"structure"`
10892}
10893
10894// String returns the string representation
10895func (s ResetResourceLogLevelOutput) String() string {
10896	return awsutil.Prettify(s)
10897}
10898
10899// GoString returns the string representation
10900func (s ResetResourceLogLevelOutput) GoString() string {
10901	return s.String()
10902}
10903
10904// Resource does not exist.
10905type ResourceNotFoundException struct {
10906	_            struct{}                  `type:"structure"`
10907	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10908
10909	Message_ *string `locationName:"Message" type:"string"`
10910
10911	// Id of the not found resource.
10912	ResourceId *string `type:"string"`
10913
10914	// Type of the font found resource.
10915	ResourceType *string `type:"string"`
10916}
10917
10918// String returns the string representation
10919func (s ResourceNotFoundException) String() string {
10920	return awsutil.Prettify(s)
10921}
10922
10923// GoString returns the string representation
10924func (s ResourceNotFoundException) GoString() string {
10925	return s.String()
10926}
10927
10928func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
10929	return &ResourceNotFoundException{
10930		RespMetadata: v,
10931	}
10932}
10933
10934// Code returns the exception type name.
10935func (s *ResourceNotFoundException) Code() string {
10936	return "ResourceNotFoundException"
10937}
10938
10939// Message returns the exception's message.
10940func (s *ResourceNotFoundException) Message() string {
10941	if s.Message_ != nil {
10942		return *s.Message_
10943	}
10944	return ""
10945}
10946
10947// OrigErr always returns nil, satisfies awserr.Error interface.
10948func (s *ResourceNotFoundException) OrigErr() error {
10949	return nil
10950}
10951
10952func (s *ResourceNotFoundException) Error() string {
10953	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10954}
10955
10956// Status code returns the HTTP status code for the request's response error.
10957func (s *ResourceNotFoundException) StatusCode() int {
10958	return s.RespMetadata.StatusCode
10959}
10960
10961// RequestID returns the service's response RequestID for request.
10962func (s *ResourceNotFoundException) RequestID() string {
10963	return s.RespMetadata.RequestID
10964}
10965
10966type SendDataToWirelessDeviceInput struct {
10967	_ struct{} `type:"structure"`
10968
10969	// The ID of the wireless device to receive the data.
10970	//
10971	// Id is a required field
10972	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
10973
10974	// The binary to be sent to the end device, encoded in base64.
10975	//
10976	// PayloadData is a required field
10977	PayloadData *string `type:"string" required:"true"`
10978
10979	// The transmit mode to use to send data to the wireless device. Can be: 0 for
10980	// UM (unacknowledge mode) or 1 for AM (acknowledge mode).
10981	//
10982	// TransmitMode is a required field
10983	TransmitMode *int64 `type:"integer" required:"true"`
10984
10985	// Metadata about the message request.
10986	WirelessMetadata *WirelessMetadata `type:"structure"`
10987}
10988
10989// String returns the string representation
10990func (s SendDataToWirelessDeviceInput) String() string {
10991	return awsutil.Prettify(s)
10992}
10993
10994// GoString returns the string representation
10995func (s SendDataToWirelessDeviceInput) GoString() string {
10996	return s.String()
10997}
10998
10999// Validate inspects the fields of the type to determine if they are valid.
11000func (s *SendDataToWirelessDeviceInput) Validate() error {
11001	invalidParams := request.ErrInvalidParams{Context: "SendDataToWirelessDeviceInput"}
11002	if s.Id == nil {
11003		invalidParams.Add(request.NewErrParamRequired("Id"))
11004	}
11005	if s.Id != nil && len(*s.Id) < 1 {
11006		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11007	}
11008	if s.PayloadData == nil {
11009		invalidParams.Add(request.NewErrParamRequired("PayloadData"))
11010	}
11011	if s.TransmitMode == nil {
11012		invalidParams.Add(request.NewErrParamRequired("TransmitMode"))
11013	}
11014	if s.WirelessMetadata != nil {
11015		if err := s.WirelessMetadata.Validate(); err != nil {
11016			invalidParams.AddNested("WirelessMetadata", err.(request.ErrInvalidParams))
11017		}
11018	}
11019
11020	if invalidParams.Len() > 0 {
11021		return invalidParams
11022	}
11023	return nil
11024}
11025
11026// SetId sets the Id field's value.
11027func (s *SendDataToWirelessDeviceInput) SetId(v string) *SendDataToWirelessDeviceInput {
11028	s.Id = &v
11029	return s
11030}
11031
11032// SetPayloadData sets the PayloadData field's value.
11033func (s *SendDataToWirelessDeviceInput) SetPayloadData(v string) *SendDataToWirelessDeviceInput {
11034	s.PayloadData = &v
11035	return s
11036}
11037
11038// SetTransmitMode sets the TransmitMode field's value.
11039func (s *SendDataToWirelessDeviceInput) SetTransmitMode(v int64) *SendDataToWirelessDeviceInput {
11040	s.TransmitMode = &v
11041	return s
11042}
11043
11044// SetWirelessMetadata sets the WirelessMetadata field's value.
11045func (s *SendDataToWirelessDeviceInput) SetWirelessMetadata(v *WirelessMetadata) *SendDataToWirelessDeviceInput {
11046	s.WirelessMetadata = v
11047	return s
11048}
11049
11050type SendDataToWirelessDeviceOutput struct {
11051	_ struct{} `type:"structure"`
11052
11053	// The ID of the message sent to the wireless device.
11054	MessageId *string `type:"string"`
11055}
11056
11057// String returns the string representation
11058func (s SendDataToWirelessDeviceOutput) String() string {
11059	return awsutil.Prettify(s)
11060}
11061
11062// GoString returns the string representation
11063func (s SendDataToWirelessDeviceOutput) GoString() string {
11064	return s.String()
11065}
11066
11067// SetMessageId sets the MessageId field's value.
11068func (s *SendDataToWirelessDeviceOutput) SetMessageId(v string) *SendDataToWirelessDeviceOutput {
11069	s.MessageId = &v
11070	return s
11071}
11072
11073// Information about a service profile.
11074type ServiceProfile struct {
11075	_ struct{} `type:"structure"`
11076
11077	// The Amazon Resource Name of the resource.
11078	Arn *string `type:"string"`
11079
11080	// The ID of the service profile.
11081	Id *string `type:"string"`
11082
11083	// The name of the resource.
11084	Name *string `type:"string"`
11085}
11086
11087// String returns the string representation
11088func (s ServiceProfile) String() string {
11089	return awsutil.Prettify(s)
11090}
11091
11092// GoString returns the string representation
11093func (s ServiceProfile) GoString() string {
11094	return s.String()
11095}
11096
11097// SetArn sets the Arn field's value.
11098func (s *ServiceProfile) SetArn(v string) *ServiceProfile {
11099	s.Arn = &v
11100	return s
11101}
11102
11103// SetId sets the Id field's value.
11104func (s *ServiceProfile) SetId(v string) *ServiceProfile {
11105	s.Id = &v
11106	return s
11107}
11108
11109// SetName sets the Name field's value.
11110func (s *ServiceProfile) SetName(v string) *ServiceProfile {
11111	s.Name = &v
11112	return s
11113}
11114
11115// Session keys for ABP v1.1
11116type SessionKeysAbpV10X struct {
11117	_ struct{} `type:"structure"`
11118
11119	// The AppSKey value.
11120	AppSKey *string `type:"string"`
11121
11122	// The NwkSKey value.
11123	NwkSKey *string `type:"string"`
11124}
11125
11126// String returns the string representation
11127func (s SessionKeysAbpV10X) String() string {
11128	return awsutil.Prettify(s)
11129}
11130
11131// GoString returns the string representation
11132func (s SessionKeysAbpV10X) GoString() string {
11133	return s.String()
11134}
11135
11136// SetAppSKey sets the AppSKey field's value.
11137func (s *SessionKeysAbpV10X) SetAppSKey(v string) *SessionKeysAbpV10X {
11138	s.AppSKey = &v
11139	return s
11140}
11141
11142// SetNwkSKey sets the NwkSKey field's value.
11143func (s *SessionKeysAbpV10X) SetNwkSKey(v string) *SessionKeysAbpV10X {
11144	s.NwkSKey = &v
11145	return s
11146}
11147
11148// Session keys for ABP v1.1
11149type SessionKeysAbpV11 struct {
11150	_ struct{} `type:"structure"`
11151
11152	// The AppSKey value.
11153	AppSKey *string `type:"string"`
11154
11155	// The FNwkSIntKey value.
11156	FNwkSIntKey *string `type:"string"`
11157
11158	// The NwkSEncKey value.
11159	NwkSEncKey *string `type:"string"`
11160
11161	// The SNwkSIntKey value.
11162	SNwkSIntKey *string `type:"string"`
11163}
11164
11165// String returns the string representation
11166func (s SessionKeysAbpV11) String() string {
11167	return awsutil.Prettify(s)
11168}
11169
11170// GoString returns the string representation
11171func (s SessionKeysAbpV11) GoString() string {
11172	return s.String()
11173}
11174
11175// SetAppSKey sets the AppSKey field's value.
11176func (s *SessionKeysAbpV11) SetAppSKey(v string) *SessionKeysAbpV11 {
11177	s.AppSKey = &v
11178	return s
11179}
11180
11181// SetFNwkSIntKey sets the FNwkSIntKey field's value.
11182func (s *SessionKeysAbpV11) SetFNwkSIntKey(v string) *SessionKeysAbpV11 {
11183	s.FNwkSIntKey = &v
11184	return s
11185}
11186
11187// SetNwkSEncKey sets the NwkSEncKey field's value.
11188func (s *SessionKeysAbpV11) SetNwkSEncKey(v string) *SessionKeysAbpV11 {
11189	s.NwkSEncKey = &v
11190	return s
11191}
11192
11193// SetSNwkSIntKey sets the SNwkSIntKey field's value.
11194func (s *SessionKeysAbpV11) SetSNwkSIntKey(v string) *SessionKeysAbpV11 {
11195	s.SNwkSIntKey = &v
11196	return s
11197}
11198
11199// Information about a Sidewalk account.
11200type SidewalkAccountInfo struct {
11201	_ struct{} `type:"structure"`
11202
11203	// The Sidewalk Amazon ID.
11204	AmazonId *string `type:"string"`
11205
11206	// The Sidewalk application server private key.
11207	AppServerPrivateKey *string `min:"1" type:"string" sensitive:"true"`
11208}
11209
11210// String returns the string representation
11211func (s SidewalkAccountInfo) String() string {
11212	return awsutil.Prettify(s)
11213}
11214
11215// GoString returns the string representation
11216func (s SidewalkAccountInfo) GoString() string {
11217	return s.String()
11218}
11219
11220// Validate inspects the fields of the type to determine if they are valid.
11221func (s *SidewalkAccountInfo) Validate() error {
11222	invalidParams := request.ErrInvalidParams{Context: "SidewalkAccountInfo"}
11223	if s.AppServerPrivateKey != nil && len(*s.AppServerPrivateKey) < 1 {
11224		invalidParams.Add(request.NewErrParamMinLen("AppServerPrivateKey", 1))
11225	}
11226
11227	if invalidParams.Len() > 0 {
11228		return invalidParams
11229	}
11230	return nil
11231}
11232
11233// SetAmazonId sets the AmazonId field's value.
11234func (s *SidewalkAccountInfo) SetAmazonId(v string) *SidewalkAccountInfo {
11235	s.AmazonId = &v
11236	return s
11237}
11238
11239// SetAppServerPrivateKey sets the AppServerPrivateKey field's value.
11240func (s *SidewalkAccountInfo) SetAppServerPrivateKey(v string) *SidewalkAccountInfo {
11241	s.AppServerPrivateKey = &v
11242	return s
11243}
11244
11245// Information about a Sidewalk account.
11246type SidewalkAccountInfoWithFingerprint struct {
11247	_ struct{} `type:"structure"`
11248
11249	// The Sidewalk Amazon ID.
11250	AmazonId *string `type:"string"`
11251
11252	// The Amazon Resource Name of the resource.
11253	Arn *string `type:"string"`
11254
11255	// The fingerprint of the Sidewalk application server private key.
11256	Fingerprint *string `min:"64" type:"string" sensitive:"true"`
11257}
11258
11259// String returns the string representation
11260func (s SidewalkAccountInfoWithFingerprint) String() string {
11261	return awsutil.Prettify(s)
11262}
11263
11264// GoString returns the string representation
11265func (s SidewalkAccountInfoWithFingerprint) GoString() string {
11266	return s.String()
11267}
11268
11269// SetAmazonId sets the AmazonId field's value.
11270func (s *SidewalkAccountInfoWithFingerprint) SetAmazonId(v string) *SidewalkAccountInfoWithFingerprint {
11271	s.AmazonId = &v
11272	return s
11273}
11274
11275// SetArn sets the Arn field's value.
11276func (s *SidewalkAccountInfoWithFingerprint) SetArn(v string) *SidewalkAccountInfoWithFingerprint {
11277	s.Arn = &v
11278	return s
11279}
11280
11281// SetFingerprint sets the Fingerprint field's value.
11282func (s *SidewalkAccountInfoWithFingerprint) SetFingerprint(v string) *SidewalkAccountInfoWithFingerprint {
11283	s.Fingerprint = &v
11284	return s
11285}
11286
11287// Sidewalk device object.
11288type SidewalkDevice struct {
11289	_ struct{} `type:"structure"`
11290
11291	// The Sidewalk Amazon ID.
11292	AmazonId *string `type:"string"`
11293
11294	// The sidewalk device certificates for Ed25519 and P256r1.
11295	DeviceCertificates []*CertificateList `type:"list"`
11296
11297	// The sidewalk device identification.
11298	SidewalkId *string `type:"string"`
11299
11300	// The Sidewalk manufacturing series number.
11301	SidewalkManufacturingSn *string `type:"string"`
11302}
11303
11304// String returns the string representation
11305func (s SidewalkDevice) String() string {
11306	return awsutil.Prettify(s)
11307}
11308
11309// GoString returns the string representation
11310func (s SidewalkDevice) GoString() string {
11311	return s.String()
11312}
11313
11314// SetAmazonId sets the AmazonId field's value.
11315func (s *SidewalkDevice) SetAmazonId(v string) *SidewalkDevice {
11316	s.AmazonId = &v
11317	return s
11318}
11319
11320// SetDeviceCertificates sets the DeviceCertificates field's value.
11321func (s *SidewalkDevice) SetDeviceCertificates(v []*CertificateList) *SidewalkDevice {
11322	s.DeviceCertificates = v
11323	return s
11324}
11325
11326// SetSidewalkId sets the SidewalkId field's value.
11327func (s *SidewalkDevice) SetSidewalkId(v string) *SidewalkDevice {
11328	s.SidewalkId = &v
11329	return s
11330}
11331
11332// SetSidewalkManufacturingSn sets the SidewalkManufacturingSn field's value.
11333func (s *SidewalkDevice) SetSidewalkManufacturingSn(v string) *SidewalkDevice {
11334	s.SidewalkManufacturingSn = &v
11335	return s
11336}
11337
11338// MetaData for Sidewalk device.
11339type SidewalkDeviceMetadata struct {
11340	_ struct{} `type:"structure"`
11341
11342	// Sidewalk device battery level.
11343	BatteryLevel *string `type:"string" enum:"BatteryLevel"`
11344
11345	// Device state defines the device status of sidewalk device.
11346	DeviceState *string `type:"string" enum:"DeviceState"`
11347
11348	// Sidewalk device status notification.
11349	Event *string `type:"string" enum:"Event"`
11350
11351	// The RSSI value.
11352	Rssi *int64 `type:"integer"`
11353}
11354
11355// String returns the string representation
11356func (s SidewalkDeviceMetadata) String() string {
11357	return awsutil.Prettify(s)
11358}
11359
11360// GoString returns the string representation
11361func (s SidewalkDeviceMetadata) GoString() string {
11362	return s.String()
11363}
11364
11365// SetBatteryLevel sets the BatteryLevel field's value.
11366func (s *SidewalkDeviceMetadata) SetBatteryLevel(v string) *SidewalkDeviceMetadata {
11367	s.BatteryLevel = &v
11368	return s
11369}
11370
11371// SetDeviceState sets the DeviceState field's value.
11372func (s *SidewalkDeviceMetadata) SetDeviceState(v string) *SidewalkDeviceMetadata {
11373	s.DeviceState = &v
11374	return s
11375}
11376
11377// SetEvent sets the Event field's value.
11378func (s *SidewalkDeviceMetadata) SetEvent(v string) *SidewalkDeviceMetadata {
11379	s.Event = &v
11380	return s
11381}
11382
11383// SetRssi sets the Rssi field's value.
11384func (s *SidewalkDeviceMetadata) SetRssi(v int64) *SidewalkDeviceMetadata {
11385	s.Rssi = &v
11386	return s
11387}
11388
11389// Sidewalk object used by list functions.
11390type SidewalkListDevice struct {
11391	_ struct{} `type:"structure"`
11392
11393	// The Sidewalk Amazon ID.
11394	AmazonId *string `type:"string"`
11395
11396	// The sidewalk device certificates for Ed25519 and P256r1.
11397	DeviceCertificates []*CertificateList `type:"list"`
11398
11399	// The sidewalk device identification.
11400	SidewalkId *string `type:"string"`
11401
11402	// The Sidewalk manufacturing series number.
11403	SidewalkManufacturingSn *string `type:"string"`
11404}
11405
11406// String returns the string representation
11407func (s SidewalkListDevice) String() string {
11408	return awsutil.Prettify(s)
11409}
11410
11411// GoString returns the string representation
11412func (s SidewalkListDevice) GoString() string {
11413	return s.String()
11414}
11415
11416// SetAmazonId sets the AmazonId field's value.
11417func (s *SidewalkListDevice) SetAmazonId(v string) *SidewalkListDevice {
11418	s.AmazonId = &v
11419	return s
11420}
11421
11422// SetDeviceCertificates sets the DeviceCertificates field's value.
11423func (s *SidewalkListDevice) SetDeviceCertificates(v []*CertificateList) *SidewalkListDevice {
11424	s.DeviceCertificates = v
11425	return s
11426}
11427
11428// SetSidewalkId sets the SidewalkId field's value.
11429func (s *SidewalkListDevice) SetSidewalkId(v string) *SidewalkListDevice {
11430	s.SidewalkId = &v
11431	return s
11432}
11433
11434// SetSidewalkManufacturingSn sets the SidewalkManufacturingSn field's value.
11435func (s *SidewalkListDevice) SetSidewalkManufacturingSn(v string) *SidewalkListDevice {
11436	s.SidewalkManufacturingSn = &v
11437	return s
11438}
11439
11440// Information about a Sidewalk router.
11441type SidewalkSendDataToDevice struct {
11442	_ struct{} `type:"structure"`
11443
11444	// Sidewalk device message type. Default value is CUSTOM_COMMAND_ID_NOTIFY.
11445	MessageType *string `type:"string" enum:"MessageType"`
11446
11447	// The sequence number.
11448	Seq *int64 `type:"integer"`
11449}
11450
11451// String returns the string representation
11452func (s SidewalkSendDataToDevice) String() string {
11453	return awsutil.Prettify(s)
11454}
11455
11456// GoString returns the string representation
11457func (s SidewalkSendDataToDevice) GoString() string {
11458	return s.String()
11459}
11460
11461// SetMessageType sets the MessageType field's value.
11462func (s *SidewalkSendDataToDevice) SetMessageType(v string) *SidewalkSendDataToDevice {
11463	s.MessageType = &v
11464	return s
11465}
11466
11467// SetSeq sets the Seq field's value.
11468func (s *SidewalkSendDataToDevice) SetSeq(v int64) *SidewalkSendDataToDevice {
11469	s.Seq = &v
11470	return s
11471}
11472
11473// Sidewalk update.
11474type SidewalkUpdateAccount struct {
11475	_ struct{} `type:"structure"`
11476
11477	// The new Sidewalk application server private key.
11478	AppServerPrivateKey *string `min:"1" type:"string" sensitive:"true"`
11479}
11480
11481// String returns the string representation
11482func (s SidewalkUpdateAccount) String() string {
11483	return awsutil.Prettify(s)
11484}
11485
11486// GoString returns the string representation
11487func (s SidewalkUpdateAccount) GoString() string {
11488	return s.String()
11489}
11490
11491// Validate inspects the fields of the type to determine if they are valid.
11492func (s *SidewalkUpdateAccount) Validate() error {
11493	invalidParams := request.ErrInvalidParams{Context: "SidewalkUpdateAccount"}
11494	if s.AppServerPrivateKey != nil && len(*s.AppServerPrivateKey) < 1 {
11495		invalidParams.Add(request.NewErrParamMinLen("AppServerPrivateKey", 1))
11496	}
11497
11498	if invalidParams.Len() > 0 {
11499		return invalidParams
11500	}
11501	return nil
11502}
11503
11504// SetAppServerPrivateKey sets the AppServerPrivateKey field's value.
11505func (s *SidewalkUpdateAccount) SetAppServerPrivateKey(v string) *SidewalkUpdateAccount {
11506	s.AppServerPrivateKey = &v
11507	return s
11508}
11509
11510// A simple label consisting of a customer-defined key-value pair
11511type Tag struct {
11512	_ struct{} `type:"structure"`
11513
11514	// The tag's key value.
11515	//
11516	// Key is a required field
11517	Key *string `min:"1" type:"string" required:"true"`
11518
11519	// The tag's value.
11520	//
11521	// Value is a required field
11522	Value *string `type:"string" required:"true"`
11523}
11524
11525// String returns the string representation
11526func (s Tag) String() string {
11527	return awsutil.Prettify(s)
11528}
11529
11530// GoString returns the string representation
11531func (s Tag) GoString() string {
11532	return s.String()
11533}
11534
11535// Validate inspects the fields of the type to determine if they are valid.
11536func (s *Tag) Validate() error {
11537	invalidParams := request.ErrInvalidParams{Context: "Tag"}
11538	if s.Key == nil {
11539		invalidParams.Add(request.NewErrParamRequired("Key"))
11540	}
11541	if s.Key != nil && len(*s.Key) < 1 {
11542		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
11543	}
11544	if s.Value == nil {
11545		invalidParams.Add(request.NewErrParamRequired("Value"))
11546	}
11547
11548	if invalidParams.Len() > 0 {
11549		return invalidParams
11550	}
11551	return nil
11552}
11553
11554// SetKey sets the Key field's value.
11555func (s *Tag) SetKey(v string) *Tag {
11556	s.Key = &v
11557	return s
11558}
11559
11560// SetValue sets the Value field's value.
11561func (s *Tag) SetValue(v string) *Tag {
11562	s.Value = &v
11563	return s
11564}
11565
11566type TagResourceInput struct {
11567	_ struct{} `type:"structure"`
11568
11569	// The ARN of the resource to add tags to.
11570	//
11571	// ResourceArn is a required field
11572	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
11573
11574	// Adds to or modifies the tags of the given resource. Tags are metadata that
11575	// you can use to manage a resource.
11576	//
11577	// Tags is a required field
11578	Tags []*Tag `type:"list" required:"true"`
11579}
11580
11581// String returns the string representation
11582func (s TagResourceInput) String() string {
11583	return awsutil.Prettify(s)
11584}
11585
11586// GoString returns the string representation
11587func (s TagResourceInput) GoString() string {
11588	return s.String()
11589}
11590
11591// Validate inspects the fields of the type to determine if they are valid.
11592func (s *TagResourceInput) Validate() error {
11593	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
11594	if s.ResourceArn == nil {
11595		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
11596	}
11597	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
11598		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
11599	}
11600	if s.Tags == nil {
11601		invalidParams.Add(request.NewErrParamRequired("Tags"))
11602	}
11603	if s.Tags != nil {
11604		for i, v := range s.Tags {
11605			if v == nil {
11606				continue
11607			}
11608			if err := v.Validate(); err != nil {
11609				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
11610			}
11611		}
11612	}
11613
11614	if invalidParams.Len() > 0 {
11615		return invalidParams
11616	}
11617	return nil
11618}
11619
11620// SetResourceArn sets the ResourceArn field's value.
11621func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
11622	s.ResourceArn = &v
11623	return s
11624}
11625
11626// SetTags sets the Tags field's value.
11627func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
11628	s.Tags = v
11629	return s
11630}
11631
11632type TagResourceOutput struct {
11633	_ struct{} `type:"structure"`
11634}
11635
11636// String returns the string representation
11637func (s TagResourceOutput) String() string {
11638	return awsutil.Prettify(s)
11639}
11640
11641// GoString returns the string representation
11642func (s TagResourceOutput) GoString() string {
11643	return s.String()
11644}
11645
11646type TestWirelessDeviceInput struct {
11647	_ struct{} `type:"structure"`
11648
11649	// The ID of the wireless device to test.
11650	//
11651	// Id is a required field
11652	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
11653}
11654
11655// String returns the string representation
11656func (s TestWirelessDeviceInput) String() string {
11657	return awsutil.Prettify(s)
11658}
11659
11660// GoString returns the string representation
11661func (s TestWirelessDeviceInput) GoString() string {
11662	return s.String()
11663}
11664
11665// Validate inspects the fields of the type to determine if they are valid.
11666func (s *TestWirelessDeviceInput) Validate() error {
11667	invalidParams := request.ErrInvalidParams{Context: "TestWirelessDeviceInput"}
11668	if s.Id == nil {
11669		invalidParams.Add(request.NewErrParamRequired("Id"))
11670	}
11671	if s.Id != nil && len(*s.Id) < 1 {
11672		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11673	}
11674
11675	if invalidParams.Len() > 0 {
11676		return invalidParams
11677	}
11678	return nil
11679}
11680
11681// SetId sets the Id field's value.
11682func (s *TestWirelessDeviceInput) SetId(v string) *TestWirelessDeviceInput {
11683	s.Id = &v
11684	return s
11685}
11686
11687type TestWirelessDeviceOutput struct {
11688	_ struct{} `type:"structure"`
11689
11690	// The result returned by the test.
11691	Result *string `type:"string"`
11692}
11693
11694// String returns the string representation
11695func (s TestWirelessDeviceOutput) String() string {
11696	return awsutil.Prettify(s)
11697}
11698
11699// GoString returns the string representation
11700func (s TestWirelessDeviceOutput) GoString() string {
11701	return s.String()
11702}
11703
11704// SetResult sets the Result field's value.
11705func (s *TestWirelessDeviceOutput) SetResult(v string) *TestWirelessDeviceOutput {
11706	s.Result = &v
11707	return s
11708}
11709
11710// The request was denied because it exceeded the allowed API request rate.
11711type ThrottlingException struct {
11712	_            struct{}                  `type:"structure"`
11713	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11714
11715	Message_ *string `locationName:"Message" type:"string"`
11716}
11717
11718// String returns the string representation
11719func (s ThrottlingException) String() string {
11720	return awsutil.Prettify(s)
11721}
11722
11723// GoString returns the string representation
11724func (s ThrottlingException) GoString() string {
11725	return s.String()
11726}
11727
11728func newErrorThrottlingException(v protocol.ResponseMetadata) error {
11729	return &ThrottlingException{
11730		RespMetadata: v,
11731	}
11732}
11733
11734// Code returns the exception type name.
11735func (s *ThrottlingException) Code() string {
11736	return "ThrottlingException"
11737}
11738
11739// Message returns the exception's message.
11740func (s *ThrottlingException) Message() string {
11741	if s.Message_ != nil {
11742		return *s.Message_
11743	}
11744	return ""
11745}
11746
11747// OrigErr always returns nil, satisfies awserr.Error interface.
11748func (s *ThrottlingException) OrigErr() error {
11749	return nil
11750}
11751
11752func (s *ThrottlingException) Error() string {
11753	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11754}
11755
11756// Status code returns the HTTP status code for the request's response error.
11757func (s *ThrottlingException) StatusCode() int {
11758	return s.RespMetadata.StatusCode
11759}
11760
11761// RequestID returns the service's response RequestID for request.
11762func (s *ThrottlingException) RequestID() string {
11763	return s.RespMetadata.RequestID
11764}
11765
11766// The request was denied because the resource can't have any more tags.
11767type TooManyTagsException struct {
11768	_            struct{}                  `type:"structure"`
11769	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11770
11771	Message_ *string `locationName:"Message" type:"string"`
11772
11773	// Name of the resource that exceeds maximum number of tags allowed.
11774	ResourceName *string `min:"1" type:"string"`
11775}
11776
11777// String returns the string representation
11778func (s TooManyTagsException) String() string {
11779	return awsutil.Prettify(s)
11780}
11781
11782// GoString returns the string representation
11783func (s TooManyTagsException) GoString() string {
11784	return s.String()
11785}
11786
11787func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
11788	return &TooManyTagsException{
11789		RespMetadata: v,
11790	}
11791}
11792
11793// Code returns the exception type name.
11794func (s *TooManyTagsException) Code() string {
11795	return "TooManyTagsException"
11796}
11797
11798// Message returns the exception's message.
11799func (s *TooManyTagsException) Message() string {
11800	if s.Message_ != nil {
11801		return *s.Message_
11802	}
11803	return ""
11804}
11805
11806// OrigErr always returns nil, satisfies awserr.Error interface.
11807func (s *TooManyTagsException) OrigErr() error {
11808	return nil
11809}
11810
11811func (s *TooManyTagsException) Error() string {
11812	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11813}
11814
11815// Status code returns the HTTP status code for the request's response error.
11816func (s *TooManyTagsException) StatusCode() int {
11817	return s.RespMetadata.StatusCode
11818}
11819
11820// RequestID returns the service's response RequestID for request.
11821func (s *TooManyTagsException) RequestID() string {
11822	return s.RespMetadata.RequestID
11823}
11824
11825type UntagResourceInput struct {
11826	_ struct{} `type:"structure"`
11827
11828	// The ARN of the resource to remove tags from.
11829	//
11830	// ResourceArn is a required field
11831	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
11832
11833	// A list of the keys of the tags to remove from the resource.
11834	//
11835	// TagKeys is a required field
11836	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
11837}
11838
11839// String returns the string representation
11840func (s UntagResourceInput) String() string {
11841	return awsutil.Prettify(s)
11842}
11843
11844// GoString returns the string representation
11845func (s UntagResourceInput) GoString() string {
11846	return s.String()
11847}
11848
11849// Validate inspects the fields of the type to determine if they are valid.
11850func (s *UntagResourceInput) Validate() error {
11851	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
11852	if s.ResourceArn == nil {
11853		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
11854	}
11855	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
11856		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
11857	}
11858	if s.TagKeys == nil {
11859		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
11860	}
11861
11862	if invalidParams.Len() > 0 {
11863		return invalidParams
11864	}
11865	return nil
11866}
11867
11868// SetResourceArn sets the ResourceArn field's value.
11869func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
11870	s.ResourceArn = &v
11871	return s
11872}
11873
11874// SetTagKeys sets the TagKeys field's value.
11875func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
11876	s.TagKeys = v
11877	return s
11878}
11879
11880type UntagResourceOutput struct {
11881	_ struct{} `type:"structure"`
11882}
11883
11884// String returns the string representation
11885func (s UntagResourceOutput) String() string {
11886	return awsutil.Prettify(s)
11887}
11888
11889// GoString returns the string representation
11890func (s UntagResourceOutput) GoString() string {
11891	return s.String()
11892}
11893
11894type UpdateDestinationInput struct {
11895	_ struct{} `type:"structure"`
11896
11897	// A new description of the resource.
11898	Description *string `type:"string"`
11899
11900	// The new rule name or topic rule to send messages to.
11901	Expression *string `type:"string"`
11902
11903	// The type of value in Expression.
11904	ExpressionType *string `type:"string" enum:"ExpressionType"`
11905
11906	// The new name of the resource.
11907	//
11908	// Name is a required field
11909	Name *string `location:"uri" locationName:"Name" type:"string" required:"true"`
11910
11911	// The ARN of the IAM Role that authorizes the destination.
11912	RoleArn *string `min:"20" type:"string"`
11913}
11914
11915// String returns the string representation
11916func (s UpdateDestinationInput) String() string {
11917	return awsutil.Prettify(s)
11918}
11919
11920// GoString returns the string representation
11921func (s UpdateDestinationInput) GoString() string {
11922	return s.String()
11923}
11924
11925// Validate inspects the fields of the type to determine if they are valid.
11926func (s *UpdateDestinationInput) Validate() error {
11927	invalidParams := request.ErrInvalidParams{Context: "UpdateDestinationInput"}
11928	if s.Name == nil {
11929		invalidParams.Add(request.NewErrParamRequired("Name"))
11930	}
11931	if s.Name != nil && len(*s.Name) < 1 {
11932		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11933	}
11934	if s.RoleArn != nil && len(*s.RoleArn) < 20 {
11935		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20))
11936	}
11937
11938	if invalidParams.Len() > 0 {
11939		return invalidParams
11940	}
11941	return nil
11942}
11943
11944// SetDescription sets the Description field's value.
11945func (s *UpdateDestinationInput) SetDescription(v string) *UpdateDestinationInput {
11946	s.Description = &v
11947	return s
11948}
11949
11950// SetExpression sets the Expression field's value.
11951func (s *UpdateDestinationInput) SetExpression(v string) *UpdateDestinationInput {
11952	s.Expression = &v
11953	return s
11954}
11955
11956// SetExpressionType sets the ExpressionType field's value.
11957func (s *UpdateDestinationInput) SetExpressionType(v string) *UpdateDestinationInput {
11958	s.ExpressionType = &v
11959	return s
11960}
11961
11962// SetName sets the Name field's value.
11963func (s *UpdateDestinationInput) SetName(v string) *UpdateDestinationInput {
11964	s.Name = &v
11965	return s
11966}
11967
11968// SetRoleArn sets the RoleArn field's value.
11969func (s *UpdateDestinationInput) SetRoleArn(v string) *UpdateDestinationInput {
11970	s.RoleArn = &v
11971	return s
11972}
11973
11974type UpdateDestinationOutput struct {
11975	_ struct{} `type:"structure"`
11976}
11977
11978// String returns the string representation
11979func (s UpdateDestinationOutput) String() string {
11980	return awsutil.Prettify(s)
11981}
11982
11983// GoString returns the string representation
11984func (s UpdateDestinationOutput) GoString() string {
11985	return s.String()
11986}
11987
11988type UpdateLogLevelsByResourceTypesInput struct {
11989	_ struct{} `type:"structure"`
11990
11991	// The log level for a log message.
11992	DefaultLogLevel *string `type:"string" enum:"LogLevel"`
11993
11994	// The list of wireless device log options.
11995	WirelessDeviceLogOptions []*WirelessDeviceLogOption `type:"list"`
11996
11997	// The list of wireless gateway log options.
11998	WirelessGatewayLogOptions []*WirelessGatewayLogOption `type:"list"`
11999}
12000
12001// String returns the string representation
12002func (s UpdateLogLevelsByResourceTypesInput) String() string {
12003	return awsutil.Prettify(s)
12004}
12005
12006// GoString returns the string representation
12007func (s UpdateLogLevelsByResourceTypesInput) GoString() string {
12008	return s.String()
12009}
12010
12011// Validate inspects the fields of the type to determine if they are valid.
12012func (s *UpdateLogLevelsByResourceTypesInput) Validate() error {
12013	invalidParams := request.ErrInvalidParams{Context: "UpdateLogLevelsByResourceTypesInput"}
12014	if s.WirelessDeviceLogOptions != nil {
12015		for i, v := range s.WirelessDeviceLogOptions {
12016			if v == nil {
12017				continue
12018			}
12019			if err := v.Validate(); err != nil {
12020				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WirelessDeviceLogOptions", i), err.(request.ErrInvalidParams))
12021			}
12022		}
12023	}
12024	if s.WirelessGatewayLogOptions != nil {
12025		for i, v := range s.WirelessGatewayLogOptions {
12026			if v == nil {
12027				continue
12028			}
12029			if err := v.Validate(); err != nil {
12030				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WirelessGatewayLogOptions", i), err.(request.ErrInvalidParams))
12031			}
12032		}
12033	}
12034
12035	if invalidParams.Len() > 0 {
12036		return invalidParams
12037	}
12038	return nil
12039}
12040
12041// SetDefaultLogLevel sets the DefaultLogLevel field's value.
12042func (s *UpdateLogLevelsByResourceTypesInput) SetDefaultLogLevel(v string) *UpdateLogLevelsByResourceTypesInput {
12043	s.DefaultLogLevel = &v
12044	return s
12045}
12046
12047// SetWirelessDeviceLogOptions sets the WirelessDeviceLogOptions field's value.
12048func (s *UpdateLogLevelsByResourceTypesInput) SetWirelessDeviceLogOptions(v []*WirelessDeviceLogOption) *UpdateLogLevelsByResourceTypesInput {
12049	s.WirelessDeviceLogOptions = v
12050	return s
12051}
12052
12053// SetWirelessGatewayLogOptions sets the WirelessGatewayLogOptions field's value.
12054func (s *UpdateLogLevelsByResourceTypesInput) SetWirelessGatewayLogOptions(v []*WirelessGatewayLogOption) *UpdateLogLevelsByResourceTypesInput {
12055	s.WirelessGatewayLogOptions = v
12056	return s
12057}
12058
12059type UpdateLogLevelsByResourceTypesOutput struct {
12060	_ struct{} `type:"structure"`
12061}
12062
12063// String returns the string representation
12064func (s UpdateLogLevelsByResourceTypesOutput) String() string {
12065	return awsutil.Prettify(s)
12066}
12067
12068// GoString returns the string representation
12069func (s UpdateLogLevelsByResourceTypesOutput) GoString() string {
12070	return s.String()
12071}
12072
12073type UpdatePartnerAccountInput struct {
12074	_ struct{} `type:"structure"`
12075
12076	// The ID of the partner account to update.
12077	//
12078	// PartnerAccountId is a required field
12079	PartnerAccountId *string `location:"uri" locationName:"PartnerAccountId" type:"string" required:"true"`
12080
12081	// The partner type.
12082	//
12083	// PartnerType is a required field
12084	PartnerType *string `location:"querystring" locationName:"partnerType" type:"string" required:"true" enum:"PartnerType"`
12085
12086	// The Sidewalk account credentials.
12087	//
12088	// Sidewalk is a required field
12089	Sidewalk *SidewalkUpdateAccount `type:"structure" required:"true"`
12090}
12091
12092// String returns the string representation
12093func (s UpdatePartnerAccountInput) String() string {
12094	return awsutil.Prettify(s)
12095}
12096
12097// GoString returns the string representation
12098func (s UpdatePartnerAccountInput) GoString() string {
12099	return s.String()
12100}
12101
12102// Validate inspects the fields of the type to determine if they are valid.
12103func (s *UpdatePartnerAccountInput) Validate() error {
12104	invalidParams := request.ErrInvalidParams{Context: "UpdatePartnerAccountInput"}
12105	if s.PartnerAccountId == nil {
12106		invalidParams.Add(request.NewErrParamRequired("PartnerAccountId"))
12107	}
12108	if s.PartnerAccountId != nil && len(*s.PartnerAccountId) < 1 {
12109		invalidParams.Add(request.NewErrParamMinLen("PartnerAccountId", 1))
12110	}
12111	if s.PartnerType == nil {
12112		invalidParams.Add(request.NewErrParamRequired("PartnerType"))
12113	}
12114	if s.Sidewalk == nil {
12115		invalidParams.Add(request.NewErrParamRequired("Sidewalk"))
12116	}
12117	if s.Sidewalk != nil {
12118		if err := s.Sidewalk.Validate(); err != nil {
12119			invalidParams.AddNested("Sidewalk", err.(request.ErrInvalidParams))
12120		}
12121	}
12122
12123	if invalidParams.Len() > 0 {
12124		return invalidParams
12125	}
12126	return nil
12127}
12128
12129// SetPartnerAccountId sets the PartnerAccountId field's value.
12130func (s *UpdatePartnerAccountInput) SetPartnerAccountId(v string) *UpdatePartnerAccountInput {
12131	s.PartnerAccountId = &v
12132	return s
12133}
12134
12135// SetPartnerType sets the PartnerType field's value.
12136func (s *UpdatePartnerAccountInput) SetPartnerType(v string) *UpdatePartnerAccountInput {
12137	s.PartnerType = &v
12138	return s
12139}
12140
12141// SetSidewalk sets the Sidewalk field's value.
12142func (s *UpdatePartnerAccountInput) SetSidewalk(v *SidewalkUpdateAccount) *UpdatePartnerAccountInput {
12143	s.Sidewalk = v
12144	return s
12145}
12146
12147type UpdatePartnerAccountOutput struct {
12148	_ struct{} `type:"structure"`
12149}
12150
12151// String returns the string representation
12152func (s UpdatePartnerAccountOutput) String() string {
12153	return awsutil.Prettify(s)
12154}
12155
12156// GoString returns the string representation
12157func (s UpdatePartnerAccountOutput) GoString() string {
12158	return s.String()
12159}
12160
12161type UpdateWirelessDeviceInput struct {
12162	_ struct{} `type:"structure"`
12163
12164	// A new description of the resource.
12165	Description *string `type:"string"`
12166
12167	// The name of the new destination for the device.
12168	DestinationName *string `type:"string"`
12169
12170	// The ID of the resource to update.
12171	//
12172	// Id is a required field
12173	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
12174
12175	// The updated wireless device's configuration.
12176	LoRaWAN *LoRaWANUpdateDevice `type:"structure"`
12177
12178	// The new name of the resource.
12179	Name *string `type:"string"`
12180}
12181
12182// String returns the string representation
12183func (s UpdateWirelessDeviceInput) String() string {
12184	return awsutil.Prettify(s)
12185}
12186
12187// GoString returns the string representation
12188func (s UpdateWirelessDeviceInput) GoString() string {
12189	return s.String()
12190}
12191
12192// Validate inspects the fields of the type to determine if they are valid.
12193func (s *UpdateWirelessDeviceInput) Validate() error {
12194	invalidParams := request.ErrInvalidParams{Context: "UpdateWirelessDeviceInput"}
12195	if s.Id == nil {
12196		invalidParams.Add(request.NewErrParamRequired("Id"))
12197	}
12198	if s.Id != nil && len(*s.Id) < 1 {
12199		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12200	}
12201
12202	if invalidParams.Len() > 0 {
12203		return invalidParams
12204	}
12205	return nil
12206}
12207
12208// SetDescription sets the Description field's value.
12209func (s *UpdateWirelessDeviceInput) SetDescription(v string) *UpdateWirelessDeviceInput {
12210	s.Description = &v
12211	return s
12212}
12213
12214// SetDestinationName sets the DestinationName field's value.
12215func (s *UpdateWirelessDeviceInput) SetDestinationName(v string) *UpdateWirelessDeviceInput {
12216	s.DestinationName = &v
12217	return s
12218}
12219
12220// SetId sets the Id field's value.
12221func (s *UpdateWirelessDeviceInput) SetId(v string) *UpdateWirelessDeviceInput {
12222	s.Id = &v
12223	return s
12224}
12225
12226// SetLoRaWAN sets the LoRaWAN field's value.
12227func (s *UpdateWirelessDeviceInput) SetLoRaWAN(v *LoRaWANUpdateDevice) *UpdateWirelessDeviceInput {
12228	s.LoRaWAN = v
12229	return s
12230}
12231
12232// SetName sets the Name field's value.
12233func (s *UpdateWirelessDeviceInput) SetName(v string) *UpdateWirelessDeviceInput {
12234	s.Name = &v
12235	return s
12236}
12237
12238type UpdateWirelessDeviceOutput struct {
12239	_ struct{} `type:"structure"`
12240}
12241
12242// String returns the string representation
12243func (s UpdateWirelessDeviceOutput) String() string {
12244	return awsutil.Prettify(s)
12245}
12246
12247// GoString returns the string representation
12248func (s UpdateWirelessDeviceOutput) GoString() string {
12249	return s.String()
12250}
12251
12252type UpdateWirelessGatewayInput struct {
12253	_ struct{} `type:"structure"`
12254
12255	// A new description of the resource.
12256	Description *string `type:"string"`
12257
12258	// The ID of the resource to update.
12259	//
12260	// Id is a required field
12261	Id *string `location:"uri" locationName:"Id" type:"string" required:"true"`
12262
12263	// A list of JoinEuiRange used by LoRa gateways to filter LoRa frames.
12264	JoinEuiFilters [][]*string `type:"list"`
12265
12266	// The new name of the resource.
12267	Name *string `type:"string"`
12268
12269	// A list of NetId values that are used by LoRa gateways to filter the uplink
12270	// frames.
12271	NetIdFilters []*string `type:"list"`
12272}
12273
12274// String returns the string representation
12275func (s UpdateWirelessGatewayInput) String() string {
12276	return awsutil.Prettify(s)
12277}
12278
12279// GoString returns the string representation
12280func (s UpdateWirelessGatewayInput) GoString() string {
12281	return s.String()
12282}
12283
12284// Validate inspects the fields of the type to determine if they are valid.
12285func (s *UpdateWirelessGatewayInput) Validate() error {
12286	invalidParams := request.ErrInvalidParams{Context: "UpdateWirelessGatewayInput"}
12287	if s.Id == nil {
12288		invalidParams.Add(request.NewErrParamRequired("Id"))
12289	}
12290	if s.Id != nil && len(*s.Id) < 1 {
12291		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12292	}
12293
12294	if invalidParams.Len() > 0 {
12295		return invalidParams
12296	}
12297	return nil
12298}
12299
12300// SetDescription sets the Description field's value.
12301func (s *UpdateWirelessGatewayInput) SetDescription(v string) *UpdateWirelessGatewayInput {
12302	s.Description = &v
12303	return s
12304}
12305
12306// SetId sets the Id field's value.
12307func (s *UpdateWirelessGatewayInput) SetId(v string) *UpdateWirelessGatewayInput {
12308	s.Id = &v
12309	return s
12310}
12311
12312// SetJoinEuiFilters sets the JoinEuiFilters field's value.
12313func (s *UpdateWirelessGatewayInput) SetJoinEuiFilters(v [][]*string) *UpdateWirelessGatewayInput {
12314	s.JoinEuiFilters = v
12315	return s
12316}
12317
12318// SetName sets the Name field's value.
12319func (s *UpdateWirelessGatewayInput) SetName(v string) *UpdateWirelessGatewayInput {
12320	s.Name = &v
12321	return s
12322}
12323
12324// SetNetIdFilters sets the NetIdFilters field's value.
12325func (s *UpdateWirelessGatewayInput) SetNetIdFilters(v []*string) *UpdateWirelessGatewayInput {
12326	s.NetIdFilters = v
12327	return s
12328}
12329
12330type UpdateWirelessGatewayOutput struct {
12331	_ struct{} `type:"structure"`
12332}
12333
12334// String returns the string representation
12335func (s UpdateWirelessGatewayOutput) String() string {
12336	return awsutil.Prettify(s)
12337}
12338
12339// GoString returns the string representation
12340func (s UpdateWirelessGatewayOutput) GoString() string {
12341	return s.String()
12342}
12343
12344// UpdateWirelessGatewayTaskCreate object.
12345type UpdateWirelessGatewayTaskCreate struct {
12346	_ struct{} `type:"structure"`
12347
12348	// The properties that relate to the LoRaWAN wireless gateway.
12349	LoRaWAN *LoRaWANUpdateGatewayTaskCreate `type:"structure"`
12350
12351	// The IAM role used to read data from the S3 bucket.
12352	UpdateDataRole *string `min:"1" type:"string"`
12353
12354	// The link to the S3 bucket.
12355	UpdateDataSource *string `min:"1" type:"string"`
12356}
12357
12358// String returns the string representation
12359func (s UpdateWirelessGatewayTaskCreate) String() string {
12360	return awsutil.Prettify(s)
12361}
12362
12363// GoString returns the string representation
12364func (s UpdateWirelessGatewayTaskCreate) GoString() string {
12365	return s.String()
12366}
12367
12368// Validate inspects the fields of the type to determine if they are valid.
12369func (s *UpdateWirelessGatewayTaskCreate) Validate() error {
12370	invalidParams := request.ErrInvalidParams{Context: "UpdateWirelessGatewayTaskCreate"}
12371	if s.UpdateDataRole != nil && len(*s.UpdateDataRole) < 1 {
12372		invalidParams.Add(request.NewErrParamMinLen("UpdateDataRole", 1))
12373	}
12374	if s.UpdateDataSource != nil && len(*s.UpdateDataSource) < 1 {
12375		invalidParams.Add(request.NewErrParamMinLen("UpdateDataSource", 1))
12376	}
12377	if s.LoRaWAN != nil {
12378		if err := s.LoRaWAN.Validate(); err != nil {
12379			invalidParams.AddNested("LoRaWAN", err.(request.ErrInvalidParams))
12380		}
12381	}
12382
12383	if invalidParams.Len() > 0 {
12384		return invalidParams
12385	}
12386	return nil
12387}
12388
12389// SetLoRaWAN sets the LoRaWAN field's value.
12390func (s *UpdateWirelessGatewayTaskCreate) SetLoRaWAN(v *LoRaWANUpdateGatewayTaskCreate) *UpdateWirelessGatewayTaskCreate {
12391	s.LoRaWAN = v
12392	return s
12393}
12394
12395// SetUpdateDataRole sets the UpdateDataRole field's value.
12396func (s *UpdateWirelessGatewayTaskCreate) SetUpdateDataRole(v string) *UpdateWirelessGatewayTaskCreate {
12397	s.UpdateDataRole = &v
12398	return s
12399}
12400
12401// SetUpdateDataSource sets the UpdateDataSource field's value.
12402func (s *UpdateWirelessGatewayTaskCreate) SetUpdateDataSource(v string) *UpdateWirelessGatewayTaskCreate {
12403	s.UpdateDataSource = &v
12404	return s
12405}
12406
12407// UpdateWirelessGatewayTaskEntry object.
12408type UpdateWirelessGatewayTaskEntry struct {
12409	_ struct{} `type:"structure"`
12410
12411	// The Amazon Resource Name of the resource.
12412	Arn *string `type:"string"`
12413
12414	// The ID of the new wireless gateway task entry.
12415	Id *string `type:"string"`
12416
12417	// The properties that relate to the LoRaWAN wireless gateway.
12418	LoRaWAN *LoRaWANUpdateGatewayTaskEntry `type:"structure"`
12419}
12420
12421// String returns the string representation
12422func (s UpdateWirelessGatewayTaskEntry) String() string {
12423	return awsutil.Prettify(s)
12424}
12425
12426// GoString returns the string representation
12427func (s UpdateWirelessGatewayTaskEntry) GoString() string {
12428	return s.String()
12429}
12430
12431// SetArn sets the Arn field's value.
12432func (s *UpdateWirelessGatewayTaskEntry) SetArn(v string) *UpdateWirelessGatewayTaskEntry {
12433	s.Arn = &v
12434	return s
12435}
12436
12437// SetId sets the Id field's value.
12438func (s *UpdateWirelessGatewayTaskEntry) SetId(v string) *UpdateWirelessGatewayTaskEntry {
12439	s.Id = &v
12440	return s
12441}
12442
12443// SetLoRaWAN sets the LoRaWAN field's value.
12444func (s *UpdateWirelessGatewayTaskEntry) SetLoRaWAN(v *LoRaWANUpdateGatewayTaskEntry) *UpdateWirelessGatewayTaskEntry {
12445	s.LoRaWAN = v
12446	return s
12447}
12448
12449// The input did not meet the specified constraints.
12450type ValidationException struct {
12451	_            struct{}                  `type:"structure"`
12452	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12453
12454	Message_ *string `locationName:"Message" type:"string"`
12455}
12456
12457// String returns the string representation
12458func (s ValidationException) String() string {
12459	return awsutil.Prettify(s)
12460}
12461
12462// GoString returns the string representation
12463func (s ValidationException) GoString() string {
12464	return s.String()
12465}
12466
12467func newErrorValidationException(v protocol.ResponseMetadata) error {
12468	return &ValidationException{
12469		RespMetadata: v,
12470	}
12471}
12472
12473// Code returns the exception type name.
12474func (s *ValidationException) Code() string {
12475	return "ValidationException"
12476}
12477
12478// Message returns the exception's message.
12479func (s *ValidationException) Message() string {
12480	if s.Message_ != nil {
12481		return *s.Message_
12482	}
12483	return ""
12484}
12485
12486// OrigErr always returns nil, satisfies awserr.Error interface.
12487func (s *ValidationException) OrigErr() error {
12488	return nil
12489}
12490
12491func (s *ValidationException) Error() string {
12492	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12493}
12494
12495// Status code returns the HTTP status code for the request's response error.
12496func (s *ValidationException) StatusCode() int {
12497	return s.RespMetadata.StatusCode
12498}
12499
12500// RequestID returns the service's response RequestID for request.
12501func (s *ValidationException) RequestID() string {
12502	return s.RespMetadata.RequestID
12503}
12504
12505// The log options for a wireless device event and can be used to set log levels
12506// for a specific wireless device event.
12507//
12508// For a LoRaWAN device, possible events for a log messsage are: Join, Rejoin,
12509// Downlink_Data, and Uplink_Data. For a Sidewalk device, possible events for
12510// a log message are Registration, Downlink_Data, and Uplink_Data.
12511type WirelessDeviceEventLogOption struct {
12512	_ struct{} `type:"structure"`
12513
12514	// The event for a log message, if the log message is tied to a wireless device.
12515	//
12516	// Event is a required field
12517	Event *string `type:"string" required:"true" enum:"WirelessDeviceEvent"`
12518
12519	// The log level for a log message.
12520	//
12521	// LogLevel is a required field
12522	LogLevel *string `type:"string" required:"true" enum:"LogLevel"`
12523}
12524
12525// String returns the string representation
12526func (s WirelessDeviceEventLogOption) String() string {
12527	return awsutil.Prettify(s)
12528}
12529
12530// GoString returns the string representation
12531func (s WirelessDeviceEventLogOption) GoString() string {
12532	return s.String()
12533}
12534
12535// Validate inspects the fields of the type to determine if they are valid.
12536func (s *WirelessDeviceEventLogOption) Validate() error {
12537	invalidParams := request.ErrInvalidParams{Context: "WirelessDeviceEventLogOption"}
12538	if s.Event == nil {
12539		invalidParams.Add(request.NewErrParamRequired("Event"))
12540	}
12541	if s.LogLevel == nil {
12542		invalidParams.Add(request.NewErrParamRequired("LogLevel"))
12543	}
12544
12545	if invalidParams.Len() > 0 {
12546		return invalidParams
12547	}
12548	return nil
12549}
12550
12551// SetEvent sets the Event field's value.
12552func (s *WirelessDeviceEventLogOption) SetEvent(v string) *WirelessDeviceEventLogOption {
12553	s.Event = &v
12554	return s
12555}
12556
12557// SetLogLevel sets the LogLevel field's value.
12558func (s *WirelessDeviceEventLogOption) SetLogLevel(v string) *WirelessDeviceEventLogOption {
12559	s.LogLevel = &v
12560	return s
12561}
12562
12563// The log options for wireless devices and can be used to set log levels for
12564// a specific type of wireless device.
12565type WirelessDeviceLogOption struct {
12566	_ struct{} `type:"structure"`
12567
12568	// The list of wireless device event log options.
12569	Events []*WirelessDeviceEventLogOption `type:"list"`
12570
12571	// The log level for a log message.
12572	//
12573	// LogLevel is a required field
12574	LogLevel *string `type:"string" required:"true" enum:"LogLevel"`
12575
12576	// The wireless device type.
12577	//
12578	// Type is a required field
12579	Type *string `type:"string" required:"true" enum:"WirelessDeviceType"`
12580}
12581
12582// String returns the string representation
12583func (s WirelessDeviceLogOption) String() string {
12584	return awsutil.Prettify(s)
12585}
12586
12587// GoString returns the string representation
12588func (s WirelessDeviceLogOption) GoString() string {
12589	return s.String()
12590}
12591
12592// Validate inspects the fields of the type to determine if they are valid.
12593func (s *WirelessDeviceLogOption) Validate() error {
12594	invalidParams := request.ErrInvalidParams{Context: "WirelessDeviceLogOption"}
12595	if s.LogLevel == nil {
12596		invalidParams.Add(request.NewErrParamRequired("LogLevel"))
12597	}
12598	if s.Type == nil {
12599		invalidParams.Add(request.NewErrParamRequired("Type"))
12600	}
12601	if s.Events != nil {
12602		for i, v := range s.Events {
12603			if v == nil {
12604				continue
12605			}
12606			if err := v.Validate(); err != nil {
12607				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams))
12608			}
12609		}
12610	}
12611
12612	if invalidParams.Len() > 0 {
12613		return invalidParams
12614	}
12615	return nil
12616}
12617
12618// SetEvents sets the Events field's value.
12619func (s *WirelessDeviceLogOption) SetEvents(v []*WirelessDeviceEventLogOption) *WirelessDeviceLogOption {
12620	s.Events = v
12621	return s
12622}
12623
12624// SetLogLevel sets the LogLevel field's value.
12625func (s *WirelessDeviceLogOption) SetLogLevel(v string) *WirelessDeviceLogOption {
12626	s.LogLevel = &v
12627	return s
12628}
12629
12630// SetType sets the Type field's value.
12631func (s *WirelessDeviceLogOption) SetType(v string) *WirelessDeviceLogOption {
12632	s.Type = &v
12633	return s
12634}
12635
12636// Information about a wireless device's operation.
12637type WirelessDeviceStatistics struct {
12638	_ struct{} `type:"structure"`
12639
12640	// The Amazon Resource Name of the resource.
12641	Arn *string `type:"string"`
12642
12643	// The name of the destination to which the device is assigned.
12644	DestinationName *string `type:"string"`
12645
12646	// The ID of the wireless device reporting the data.
12647	Id *string `type:"string"`
12648
12649	// The date and time when the most recent uplink was received.
12650	LastUplinkReceivedAt *string `type:"string"`
12651
12652	// LoRaWAN device info.
12653	LoRaWAN *LoRaWANListDevice `type:"structure"`
12654
12655	// The name of the resource.
12656	Name *string `type:"string"`
12657
12658	// The Sidewalk account credentials.
12659	Sidewalk *SidewalkListDevice `type:"structure"`
12660
12661	// The wireless device type.
12662	Type *string `type:"string" enum:"WirelessDeviceType"`
12663}
12664
12665// String returns the string representation
12666func (s WirelessDeviceStatistics) String() string {
12667	return awsutil.Prettify(s)
12668}
12669
12670// GoString returns the string representation
12671func (s WirelessDeviceStatistics) GoString() string {
12672	return s.String()
12673}
12674
12675// SetArn sets the Arn field's value.
12676func (s *WirelessDeviceStatistics) SetArn(v string) *WirelessDeviceStatistics {
12677	s.Arn = &v
12678	return s
12679}
12680
12681// SetDestinationName sets the DestinationName field's value.
12682func (s *WirelessDeviceStatistics) SetDestinationName(v string) *WirelessDeviceStatistics {
12683	s.DestinationName = &v
12684	return s
12685}
12686
12687// SetId sets the Id field's value.
12688func (s *WirelessDeviceStatistics) SetId(v string) *WirelessDeviceStatistics {
12689	s.Id = &v
12690	return s
12691}
12692
12693// SetLastUplinkReceivedAt sets the LastUplinkReceivedAt field's value.
12694func (s *WirelessDeviceStatistics) SetLastUplinkReceivedAt(v string) *WirelessDeviceStatistics {
12695	s.LastUplinkReceivedAt = &v
12696	return s
12697}
12698
12699// SetLoRaWAN sets the LoRaWAN field's value.
12700func (s *WirelessDeviceStatistics) SetLoRaWAN(v *LoRaWANListDevice) *WirelessDeviceStatistics {
12701	s.LoRaWAN = v
12702	return s
12703}
12704
12705// SetName sets the Name field's value.
12706func (s *WirelessDeviceStatistics) SetName(v string) *WirelessDeviceStatistics {
12707	s.Name = &v
12708	return s
12709}
12710
12711// SetSidewalk sets the Sidewalk field's value.
12712func (s *WirelessDeviceStatistics) SetSidewalk(v *SidewalkListDevice) *WirelessDeviceStatistics {
12713	s.Sidewalk = v
12714	return s
12715}
12716
12717// SetType sets the Type field's value.
12718func (s *WirelessDeviceStatistics) SetType(v string) *WirelessDeviceStatistics {
12719	s.Type = &v
12720	return s
12721}
12722
12723// The log options for a wireless gateway event and can be used to set log levels
12724// for a specific wireless gateway event.
12725//
12726// For a LoRaWAN gateway, possible events for a log message are CUPS_Request
12727// and Certificate.
12728type WirelessGatewayEventLogOption struct {
12729	_ struct{} `type:"structure"`
12730
12731	// The event for a log message, if the log message is tied to a wireless gateway.
12732	//
12733	// Event is a required field
12734	Event *string `type:"string" required:"true" enum:"WirelessGatewayEvent"`
12735
12736	// The log level for a log message.
12737	//
12738	// LogLevel is a required field
12739	LogLevel *string `type:"string" required:"true" enum:"LogLevel"`
12740}
12741
12742// String returns the string representation
12743func (s WirelessGatewayEventLogOption) String() string {
12744	return awsutil.Prettify(s)
12745}
12746
12747// GoString returns the string representation
12748func (s WirelessGatewayEventLogOption) GoString() string {
12749	return s.String()
12750}
12751
12752// Validate inspects the fields of the type to determine if they are valid.
12753func (s *WirelessGatewayEventLogOption) Validate() error {
12754	invalidParams := request.ErrInvalidParams{Context: "WirelessGatewayEventLogOption"}
12755	if s.Event == nil {
12756		invalidParams.Add(request.NewErrParamRequired("Event"))
12757	}
12758	if s.LogLevel == nil {
12759		invalidParams.Add(request.NewErrParamRequired("LogLevel"))
12760	}
12761
12762	if invalidParams.Len() > 0 {
12763		return invalidParams
12764	}
12765	return nil
12766}
12767
12768// SetEvent sets the Event field's value.
12769func (s *WirelessGatewayEventLogOption) SetEvent(v string) *WirelessGatewayEventLogOption {
12770	s.Event = &v
12771	return s
12772}
12773
12774// SetLogLevel sets the LogLevel field's value.
12775func (s *WirelessGatewayEventLogOption) SetLogLevel(v string) *WirelessGatewayEventLogOption {
12776	s.LogLevel = &v
12777	return s
12778}
12779
12780// The log options for wireless gateways and can be used to set log levels for
12781// a specific type of wireless gateway.
12782type WirelessGatewayLogOption struct {
12783	_ struct{} `type:"structure"`
12784
12785	// The list of wireless gateway event log options.
12786	Events []*WirelessGatewayEventLogOption `type:"list"`
12787
12788	// The log level for a log message.
12789	//
12790	// LogLevel is a required field
12791	LogLevel *string `type:"string" required:"true" enum:"LogLevel"`
12792
12793	// The wireless gateway type.
12794	//
12795	// Type is a required field
12796	Type *string `type:"string" required:"true" enum:"WirelessGatewayType"`
12797}
12798
12799// String returns the string representation
12800func (s WirelessGatewayLogOption) String() string {
12801	return awsutil.Prettify(s)
12802}
12803
12804// GoString returns the string representation
12805func (s WirelessGatewayLogOption) GoString() string {
12806	return s.String()
12807}
12808
12809// Validate inspects the fields of the type to determine if they are valid.
12810func (s *WirelessGatewayLogOption) Validate() error {
12811	invalidParams := request.ErrInvalidParams{Context: "WirelessGatewayLogOption"}
12812	if s.LogLevel == nil {
12813		invalidParams.Add(request.NewErrParamRequired("LogLevel"))
12814	}
12815	if s.Type == nil {
12816		invalidParams.Add(request.NewErrParamRequired("Type"))
12817	}
12818	if s.Events != nil {
12819		for i, v := range s.Events {
12820			if v == nil {
12821				continue
12822			}
12823			if err := v.Validate(); err != nil {
12824				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams))
12825			}
12826		}
12827	}
12828
12829	if invalidParams.Len() > 0 {
12830		return invalidParams
12831	}
12832	return nil
12833}
12834
12835// SetEvents sets the Events field's value.
12836func (s *WirelessGatewayLogOption) SetEvents(v []*WirelessGatewayEventLogOption) *WirelessGatewayLogOption {
12837	s.Events = v
12838	return s
12839}
12840
12841// SetLogLevel sets the LogLevel field's value.
12842func (s *WirelessGatewayLogOption) SetLogLevel(v string) *WirelessGatewayLogOption {
12843	s.LogLevel = &v
12844	return s
12845}
12846
12847// SetType sets the Type field's value.
12848func (s *WirelessGatewayLogOption) SetType(v string) *WirelessGatewayLogOption {
12849	s.Type = &v
12850	return s
12851}
12852
12853// Information about a wireless gateway's operation.
12854type WirelessGatewayStatistics struct {
12855	_ struct{} `type:"structure"`
12856
12857	// The Amazon Resource Name of the resource.
12858	Arn *string `type:"string"`
12859
12860	// The description of the resource.
12861	Description *string `type:"string"`
12862
12863	// The ID of the wireless gateway reporting the data.
12864	Id *string `type:"string"`
12865
12866	// The date and time when the most recent uplink was received.
12867	LastUplinkReceivedAt *string `type:"string"`
12868
12869	// LoRaWAN gateway info.
12870	LoRaWAN *LoRaWANGateway `type:"structure"`
12871
12872	// The name of the resource.
12873	Name *string `type:"string"`
12874}
12875
12876// String returns the string representation
12877func (s WirelessGatewayStatistics) String() string {
12878	return awsutil.Prettify(s)
12879}
12880
12881// GoString returns the string representation
12882func (s WirelessGatewayStatistics) GoString() string {
12883	return s.String()
12884}
12885
12886// SetArn sets the Arn field's value.
12887func (s *WirelessGatewayStatistics) SetArn(v string) *WirelessGatewayStatistics {
12888	s.Arn = &v
12889	return s
12890}
12891
12892// SetDescription sets the Description field's value.
12893func (s *WirelessGatewayStatistics) SetDescription(v string) *WirelessGatewayStatistics {
12894	s.Description = &v
12895	return s
12896}
12897
12898// SetId sets the Id field's value.
12899func (s *WirelessGatewayStatistics) SetId(v string) *WirelessGatewayStatistics {
12900	s.Id = &v
12901	return s
12902}
12903
12904// SetLastUplinkReceivedAt sets the LastUplinkReceivedAt field's value.
12905func (s *WirelessGatewayStatistics) SetLastUplinkReceivedAt(v string) *WirelessGatewayStatistics {
12906	s.LastUplinkReceivedAt = &v
12907	return s
12908}
12909
12910// SetLoRaWAN sets the LoRaWAN field's value.
12911func (s *WirelessGatewayStatistics) SetLoRaWAN(v *LoRaWANGateway) *WirelessGatewayStatistics {
12912	s.LoRaWAN = v
12913	return s
12914}
12915
12916// SetName sets the Name field's value.
12917func (s *WirelessGatewayStatistics) SetName(v string) *WirelessGatewayStatistics {
12918	s.Name = &v
12919	return s
12920}
12921
12922// WirelessMetadata object.
12923type WirelessMetadata struct {
12924	_ struct{} `type:"structure"`
12925
12926	// LoRaWAN device info.
12927	LoRaWAN *LoRaWANSendDataToDevice `type:"structure"`
12928
12929	// The Sidewalk account credentials.
12930	Sidewalk *SidewalkSendDataToDevice `type:"structure"`
12931}
12932
12933// String returns the string representation
12934func (s WirelessMetadata) String() string {
12935	return awsutil.Prettify(s)
12936}
12937
12938// GoString returns the string representation
12939func (s WirelessMetadata) GoString() string {
12940	return s.String()
12941}
12942
12943// Validate inspects the fields of the type to determine if they are valid.
12944func (s *WirelessMetadata) Validate() error {
12945	invalidParams := request.ErrInvalidParams{Context: "WirelessMetadata"}
12946	if s.LoRaWAN != nil {
12947		if err := s.LoRaWAN.Validate(); err != nil {
12948			invalidParams.AddNested("LoRaWAN", err.(request.ErrInvalidParams))
12949		}
12950	}
12951
12952	if invalidParams.Len() > 0 {
12953		return invalidParams
12954	}
12955	return nil
12956}
12957
12958// SetLoRaWAN sets the LoRaWAN field's value.
12959func (s *WirelessMetadata) SetLoRaWAN(v *LoRaWANSendDataToDevice) *WirelessMetadata {
12960	s.LoRaWAN = v
12961	return s
12962}
12963
12964// SetSidewalk sets the Sidewalk field's value.
12965func (s *WirelessMetadata) SetSidewalk(v *SidewalkSendDataToDevice) *WirelessMetadata {
12966	s.Sidewalk = v
12967	return s
12968}
12969
12970// Sidewalk device battery level.
12971const (
12972	// BatteryLevelNormal is a BatteryLevel enum value
12973	BatteryLevelNormal = "normal"
12974
12975	// BatteryLevelLow is a BatteryLevel enum value
12976	BatteryLevelLow = "low"
12977
12978	// BatteryLevelCritical is a BatteryLevel enum value
12979	BatteryLevelCritical = "critical"
12980)
12981
12982// BatteryLevel_Values returns all elements of the BatteryLevel enum
12983func BatteryLevel_Values() []string {
12984	return []string{
12985		BatteryLevelNormal,
12986		BatteryLevelLow,
12987		BatteryLevelCritical,
12988	}
12989}
12990
12991const (
12992	// ConnectionStatusConnected is a ConnectionStatus enum value
12993	ConnectionStatusConnected = "Connected"
12994
12995	// ConnectionStatusDisconnected is a ConnectionStatus enum value
12996	ConnectionStatusDisconnected = "Disconnected"
12997)
12998
12999// ConnectionStatus_Values returns all elements of the ConnectionStatus enum
13000func ConnectionStatus_Values() []string {
13001	return []string{
13002		ConnectionStatusConnected,
13003		ConnectionStatusDisconnected,
13004	}
13005}
13006
13007// Device state defines the device status of sidewalk device.
13008const (
13009	// DeviceStateProvisioned is a DeviceState enum value
13010	DeviceStateProvisioned = "Provisioned"
13011
13012	// DeviceStateRegisteredNotSeen is a DeviceState enum value
13013	DeviceStateRegisteredNotSeen = "RegisteredNotSeen"
13014
13015	// DeviceStateRegisteredReachable is a DeviceState enum value
13016	DeviceStateRegisteredReachable = "RegisteredReachable"
13017
13018	// DeviceStateRegisteredUnreachable is a DeviceState enum value
13019	DeviceStateRegisteredUnreachable = "RegisteredUnreachable"
13020)
13021
13022// DeviceState_Values returns all elements of the DeviceState enum
13023func DeviceState_Values() []string {
13024	return []string{
13025		DeviceStateProvisioned,
13026		DeviceStateRegisteredNotSeen,
13027		DeviceStateRegisteredReachable,
13028		DeviceStateRegisteredUnreachable,
13029	}
13030}
13031
13032// Sidewalk device status notification.
13033const (
13034	// EventDiscovered is a Event enum value
13035	EventDiscovered = "discovered"
13036
13037	// EventLost is a Event enum value
13038	EventLost = "lost"
13039
13040	// EventAck is a Event enum value
13041	EventAck = "ack"
13042
13043	// EventNack is a Event enum value
13044	EventNack = "nack"
13045
13046	// EventPassthrough is a Event enum value
13047	EventPassthrough = "passthrough"
13048)
13049
13050// Event_Values returns all elements of the Event enum
13051func Event_Values() []string {
13052	return []string{
13053		EventDiscovered,
13054		EventLost,
13055		EventAck,
13056		EventNack,
13057		EventPassthrough,
13058	}
13059}
13060
13061const (
13062	// ExpressionTypeRuleName is a ExpressionType enum value
13063	ExpressionTypeRuleName = "RuleName"
13064
13065	// ExpressionTypeMqttTopic is a ExpressionType enum value
13066	ExpressionTypeMqttTopic = "MqttTopic"
13067)
13068
13069// ExpressionType_Values returns all elements of the ExpressionType enum
13070func ExpressionType_Values() []string {
13071	return []string{
13072		ExpressionTypeRuleName,
13073		ExpressionTypeMqttTopic,
13074	}
13075}
13076
13077// The log level for a log message.
13078const (
13079	// LogLevelInfo is a LogLevel enum value
13080	LogLevelInfo = "INFO"
13081
13082	// LogLevelError is a LogLevel enum value
13083	LogLevelError = "ERROR"
13084
13085	// LogLevelDisabled is a LogLevel enum value
13086	LogLevelDisabled = "DISABLED"
13087)
13088
13089// LogLevel_Values returns all elements of the LogLevel enum
13090func LogLevel_Values() []string {
13091	return []string{
13092		LogLevelInfo,
13093		LogLevelError,
13094		LogLevelDisabled,
13095	}
13096}
13097
13098// Sidewalk device message type. Default value is CUSTOM_COMMAND_ID_NOTIFY.
13099const (
13100	// MessageTypeCustomCommandIdNotify is a MessageType enum value
13101	MessageTypeCustomCommandIdNotify = "CUSTOM_COMMAND_ID_NOTIFY"
13102
13103	// MessageTypeCustomCommandIdGet is a MessageType enum value
13104	MessageTypeCustomCommandIdGet = "CUSTOM_COMMAND_ID_GET"
13105
13106	// MessageTypeCustomCommandIdSet is a MessageType enum value
13107	MessageTypeCustomCommandIdSet = "CUSTOM_COMMAND_ID_SET"
13108
13109	// MessageTypeCustomCommandIdResp is a MessageType enum value
13110	MessageTypeCustomCommandIdResp = "CUSTOM_COMMAND_ID_RESP"
13111)
13112
13113// MessageType_Values returns all elements of the MessageType enum
13114func MessageType_Values() []string {
13115	return []string{
13116		MessageTypeCustomCommandIdNotify,
13117		MessageTypeCustomCommandIdGet,
13118		MessageTypeCustomCommandIdSet,
13119		MessageTypeCustomCommandIdResp,
13120	}
13121}
13122
13123const (
13124	// PartnerTypeSidewalk is a PartnerType enum value
13125	PartnerTypeSidewalk = "Sidewalk"
13126)
13127
13128// PartnerType_Values returns all elements of the PartnerType enum
13129func PartnerType_Values() []string {
13130	return []string{
13131		PartnerTypeSidewalk,
13132	}
13133}
13134
13135// The certificate chain algorithm provided by sidewalk.
13136const (
13137	// SigningAlgEd25519 is a SigningAlg enum value
13138	SigningAlgEd25519 = "Ed25519"
13139
13140	// SigningAlgP256r1 is a SigningAlg enum value
13141	SigningAlgP256r1 = "P256r1"
13142)
13143
13144// SigningAlg_Values returns all elements of the SigningAlg enum
13145func SigningAlg_Values() []string {
13146	return []string{
13147		SigningAlgEd25519,
13148		SigningAlgP256r1,
13149	}
13150}
13151
13152// The event for a log message, if the log message is tied to a wireless device.
13153const (
13154	// WirelessDeviceEventJoin is a WirelessDeviceEvent enum value
13155	WirelessDeviceEventJoin = "Join"
13156
13157	// WirelessDeviceEventRejoin is a WirelessDeviceEvent enum value
13158	WirelessDeviceEventRejoin = "Rejoin"
13159
13160	// WirelessDeviceEventUplinkData is a WirelessDeviceEvent enum value
13161	WirelessDeviceEventUplinkData = "Uplink_Data"
13162
13163	// WirelessDeviceEventDownlinkData is a WirelessDeviceEvent enum value
13164	WirelessDeviceEventDownlinkData = "Downlink_Data"
13165
13166	// WirelessDeviceEventRegistration is a WirelessDeviceEvent enum value
13167	WirelessDeviceEventRegistration = "Registration"
13168)
13169
13170// WirelessDeviceEvent_Values returns all elements of the WirelessDeviceEvent enum
13171func WirelessDeviceEvent_Values() []string {
13172	return []string{
13173		WirelessDeviceEventJoin,
13174		WirelessDeviceEventRejoin,
13175		WirelessDeviceEventUplinkData,
13176		WirelessDeviceEventDownlinkData,
13177		WirelessDeviceEventRegistration,
13178	}
13179}
13180
13181const (
13182	// WirelessDeviceIdTypeWirelessDeviceId is a WirelessDeviceIdType enum value
13183	WirelessDeviceIdTypeWirelessDeviceId = "WirelessDeviceId"
13184
13185	// WirelessDeviceIdTypeDevEui is a WirelessDeviceIdType enum value
13186	WirelessDeviceIdTypeDevEui = "DevEui"
13187
13188	// WirelessDeviceIdTypeThingName is a WirelessDeviceIdType enum value
13189	WirelessDeviceIdTypeThingName = "ThingName"
13190
13191	// WirelessDeviceIdTypeSidewalkManufacturingSn is a WirelessDeviceIdType enum value
13192	WirelessDeviceIdTypeSidewalkManufacturingSn = "SidewalkManufacturingSn"
13193)
13194
13195// WirelessDeviceIdType_Values returns all elements of the WirelessDeviceIdType enum
13196func WirelessDeviceIdType_Values() []string {
13197	return []string{
13198		WirelessDeviceIdTypeWirelessDeviceId,
13199		WirelessDeviceIdTypeDevEui,
13200		WirelessDeviceIdTypeThingName,
13201		WirelessDeviceIdTypeSidewalkManufacturingSn,
13202	}
13203}
13204
13205const (
13206	// WirelessDeviceTypeSidewalk is a WirelessDeviceType enum value
13207	WirelessDeviceTypeSidewalk = "Sidewalk"
13208
13209	// WirelessDeviceTypeLoRaWan is a WirelessDeviceType enum value
13210	WirelessDeviceTypeLoRaWan = "LoRaWAN"
13211)
13212
13213// WirelessDeviceType_Values returns all elements of the WirelessDeviceType enum
13214func WirelessDeviceType_Values() []string {
13215	return []string{
13216		WirelessDeviceTypeSidewalk,
13217		WirelessDeviceTypeLoRaWan,
13218	}
13219}
13220
13221// The event for a log message, if the log message is tied to a wireless gateway.
13222const (
13223	// WirelessGatewayEventCupsRequest is a WirelessGatewayEvent enum value
13224	WirelessGatewayEventCupsRequest = "CUPS_Request"
13225
13226	// WirelessGatewayEventCertificate is a WirelessGatewayEvent enum value
13227	WirelessGatewayEventCertificate = "Certificate"
13228)
13229
13230// WirelessGatewayEvent_Values returns all elements of the WirelessGatewayEvent enum
13231func WirelessGatewayEvent_Values() []string {
13232	return []string{
13233		WirelessGatewayEventCupsRequest,
13234		WirelessGatewayEventCertificate,
13235	}
13236}
13237
13238const (
13239	// WirelessGatewayIdTypeGatewayEui is a WirelessGatewayIdType enum value
13240	WirelessGatewayIdTypeGatewayEui = "GatewayEui"
13241
13242	// WirelessGatewayIdTypeWirelessGatewayId is a WirelessGatewayIdType enum value
13243	WirelessGatewayIdTypeWirelessGatewayId = "WirelessGatewayId"
13244
13245	// WirelessGatewayIdTypeThingName is a WirelessGatewayIdType enum value
13246	WirelessGatewayIdTypeThingName = "ThingName"
13247)
13248
13249// WirelessGatewayIdType_Values returns all elements of the WirelessGatewayIdType enum
13250func WirelessGatewayIdType_Values() []string {
13251	return []string{
13252		WirelessGatewayIdTypeGatewayEui,
13253		WirelessGatewayIdTypeWirelessGatewayId,
13254		WirelessGatewayIdTypeThingName,
13255	}
13256}
13257
13258const (
13259	// WirelessGatewayServiceTypeCups is a WirelessGatewayServiceType enum value
13260	WirelessGatewayServiceTypeCups = "CUPS"
13261
13262	// WirelessGatewayServiceTypeLns is a WirelessGatewayServiceType enum value
13263	WirelessGatewayServiceTypeLns = "LNS"
13264)
13265
13266// WirelessGatewayServiceType_Values returns all elements of the WirelessGatewayServiceType enum
13267func WirelessGatewayServiceType_Values() []string {
13268	return []string{
13269		WirelessGatewayServiceTypeCups,
13270		WirelessGatewayServiceTypeLns,
13271	}
13272}
13273
13274const (
13275	// WirelessGatewayTaskDefinitionTypeUpdate is a WirelessGatewayTaskDefinitionType enum value
13276	WirelessGatewayTaskDefinitionTypeUpdate = "UPDATE"
13277)
13278
13279// WirelessGatewayTaskDefinitionType_Values returns all elements of the WirelessGatewayTaskDefinitionType enum
13280func WirelessGatewayTaskDefinitionType_Values() []string {
13281	return []string{
13282		WirelessGatewayTaskDefinitionTypeUpdate,
13283	}
13284}
13285
13286const (
13287	// WirelessGatewayTaskStatusPending is a WirelessGatewayTaskStatus enum value
13288	WirelessGatewayTaskStatusPending = "PENDING"
13289
13290	// WirelessGatewayTaskStatusInProgress is a WirelessGatewayTaskStatus enum value
13291	WirelessGatewayTaskStatusInProgress = "IN_PROGRESS"
13292
13293	// WirelessGatewayTaskStatusFirstRetry is a WirelessGatewayTaskStatus enum value
13294	WirelessGatewayTaskStatusFirstRetry = "FIRST_RETRY"
13295
13296	// WirelessGatewayTaskStatusSecondRetry is a WirelessGatewayTaskStatus enum value
13297	WirelessGatewayTaskStatusSecondRetry = "SECOND_RETRY"
13298
13299	// WirelessGatewayTaskStatusCompleted is a WirelessGatewayTaskStatus enum value
13300	WirelessGatewayTaskStatusCompleted = "COMPLETED"
13301
13302	// WirelessGatewayTaskStatusFailed is a WirelessGatewayTaskStatus enum value
13303	WirelessGatewayTaskStatusFailed = "FAILED"
13304)
13305
13306// WirelessGatewayTaskStatus_Values returns all elements of the WirelessGatewayTaskStatus enum
13307func WirelessGatewayTaskStatus_Values() []string {
13308	return []string{
13309		WirelessGatewayTaskStatusPending,
13310		WirelessGatewayTaskStatusInProgress,
13311		WirelessGatewayTaskStatusFirstRetry,
13312		WirelessGatewayTaskStatusSecondRetry,
13313		WirelessGatewayTaskStatusCompleted,
13314		WirelessGatewayTaskStatusFailed,
13315	}
13316}
13317
13318// The wireless gateway type.
13319const (
13320	// WirelessGatewayTypeLoRaWan is a WirelessGatewayType enum value
13321	WirelessGatewayTypeLoRaWan = "LoRaWAN"
13322)
13323
13324// WirelessGatewayType_Values returns all elements of the WirelessGatewayType enum
13325func WirelessGatewayType_Values() []string {
13326	return []string{
13327		WirelessGatewayTypeLoRaWan,
13328	}
13329}
13330