1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package alexaforbusiness
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opApproveSkill = "ApproveSkill"
17
18// ApproveSkillRequest generates a "aws/request.Request" representing the
19// client's request for the ApproveSkill operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See ApproveSkill for more information on using the ApproveSkill
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the ApproveSkillRequest method.
34//    req, resp := client.ApproveSkillRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ApproveSkill
42func (c *AlexaForBusiness) ApproveSkillRequest(input *ApproveSkillInput) (req *request.Request, output *ApproveSkillOutput) {
43	op := &request.Operation{
44		Name:       opApproveSkill,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &ApproveSkillInput{}
51	}
52
53	output = &ApproveSkillOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// ApproveSkill API operation for Alexa For Business.
60//
61// Associates a skill with the organization under the customer's AWS account.
62// If a skill is private, the user implicitly accepts access to this skill during
63// enablement.
64//
65// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
66// with awserr.Error's Code and Message methods to get detailed information about
67// the error.
68//
69// See the AWS API reference guide for Alexa For Business's
70// API operation ApproveSkill for usage and error information.
71//
72// Returned Error Codes:
73//   * ErrCodeLimitExceededException "LimitExceededException"
74//   You are performing an action that would put you beyond your account's limits.
75//
76//   * ErrCodeNotFoundException "NotFoundException"
77//   The resource is not found.
78//
79//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
80//   There is a concurrent modification of resources.
81//
82// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ApproveSkill
83func (c *AlexaForBusiness) ApproveSkill(input *ApproveSkillInput) (*ApproveSkillOutput, error) {
84	req, out := c.ApproveSkillRequest(input)
85	return out, req.Send()
86}
87
88// ApproveSkillWithContext is the same as ApproveSkill with the addition of
89// the ability to pass a context and additional request options.
90//
91// See ApproveSkill for details on how to use this API operation.
92//
93// The context must be non-nil and will be used for request cancellation. If
94// the context is nil a panic will occur. In the future the SDK may create
95// sub-contexts for http.Requests. See https://golang.org/pkg/context/
96// for more information on using Contexts.
97func (c *AlexaForBusiness) ApproveSkillWithContext(ctx aws.Context, input *ApproveSkillInput, opts ...request.Option) (*ApproveSkillOutput, error) {
98	req, out := c.ApproveSkillRequest(input)
99	req.SetContext(ctx)
100	req.ApplyOptions(opts...)
101	return out, req.Send()
102}
103
104const opAssociateContactWithAddressBook = "AssociateContactWithAddressBook"
105
106// AssociateContactWithAddressBookRequest generates a "aws/request.Request" representing the
107// client's request for the AssociateContactWithAddressBook operation. The "output" return
108// value will be populated with the request's response once the request completes
109// successfully.
110//
111// Use "Send" method on the returned Request to send the API call to the service.
112// the "output" return value is not valid until after Send returns without error.
113//
114// See AssociateContactWithAddressBook for more information on using the AssociateContactWithAddressBook
115// API call, and error handling.
116//
117// This method is useful when you want to inject custom logic or configuration
118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
119//
120//
121//    // Example sending a request using the AssociateContactWithAddressBookRequest method.
122//    req, resp := client.AssociateContactWithAddressBookRequest(params)
123//
124//    err := req.Send()
125//    if err == nil { // resp is now filled
126//        fmt.Println(resp)
127//    }
128//
129// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/AssociateContactWithAddressBook
130func (c *AlexaForBusiness) AssociateContactWithAddressBookRequest(input *AssociateContactWithAddressBookInput) (req *request.Request, output *AssociateContactWithAddressBookOutput) {
131	op := &request.Operation{
132		Name:       opAssociateContactWithAddressBook,
133		HTTPMethod: "POST",
134		HTTPPath:   "/",
135	}
136
137	if input == nil {
138		input = &AssociateContactWithAddressBookInput{}
139	}
140
141	output = &AssociateContactWithAddressBookOutput{}
142	req = c.newRequest(op, input, output)
143	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
144	return
145}
146
147// AssociateContactWithAddressBook API operation for Alexa For Business.
148//
149// Associates a contact with a given address book.
150//
151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
152// with awserr.Error's Code and Message methods to get detailed information about
153// the error.
154//
155// See the AWS API reference guide for Alexa For Business's
156// API operation AssociateContactWithAddressBook for usage and error information.
157//
158// Returned Error Codes:
159//   * ErrCodeLimitExceededException "LimitExceededException"
160//   You are performing an action that would put you beyond your account's limits.
161//
162// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/AssociateContactWithAddressBook
163func (c *AlexaForBusiness) AssociateContactWithAddressBook(input *AssociateContactWithAddressBookInput) (*AssociateContactWithAddressBookOutput, error) {
164	req, out := c.AssociateContactWithAddressBookRequest(input)
165	return out, req.Send()
166}
167
168// AssociateContactWithAddressBookWithContext is the same as AssociateContactWithAddressBook with the addition of
169// the ability to pass a context and additional request options.
170//
171// See AssociateContactWithAddressBook for details on how to use this API operation.
172//
173// The context must be non-nil and will be used for request cancellation. If
174// the context is nil a panic will occur. In the future the SDK may create
175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
176// for more information on using Contexts.
177func (c *AlexaForBusiness) AssociateContactWithAddressBookWithContext(ctx aws.Context, input *AssociateContactWithAddressBookInput, opts ...request.Option) (*AssociateContactWithAddressBookOutput, error) {
178	req, out := c.AssociateContactWithAddressBookRequest(input)
179	req.SetContext(ctx)
180	req.ApplyOptions(opts...)
181	return out, req.Send()
182}
183
184const opAssociateDeviceWithNetworkProfile = "AssociateDeviceWithNetworkProfile"
185
186// AssociateDeviceWithNetworkProfileRequest generates a "aws/request.Request" representing the
187// client's request for the AssociateDeviceWithNetworkProfile operation. The "output" return
188// value will be populated with the request's response once the request completes
189// successfully.
190//
191// Use "Send" method on the returned Request to send the API call to the service.
192// the "output" return value is not valid until after Send returns without error.
193//
194// See AssociateDeviceWithNetworkProfile for more information on using the AssociateDeviceWithNetworkProfile
195// API call, and error handling.
196//
197// This method is useful when you want to inject custom logic or configuration
198// into the SDK's request lifecycle. Such as custom headers, or retry logic.
199//
200//
201//    // Example sending a request using the AssociateDeviceWithNetworkProfileRequest method.
202//    req, resp := client.AssociateDeviceWithNetworkProfileRequest(params)
203//
204//    err := req.Send()
205//    if err == nil { // resp is now filled
206//        fmt.Println(resp)
207//    }
208//
209// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/AssociateDeviceWithNetworkProfile
210func (c *AlexaForBusiness) AssociateDeviceWithNetworkProfileRequest(input *AssociateDeviceWithNetworkProfileInput) (req *request.Request, output *AssociateDeviceWithNetworkProfileOutput) {
211	op := &request.Operation{
212		Name:       opAssociateDeviceWithNetworkProfile,
213		HTTPMethod: "POST",
214		HTTPPath:   "/",
215	}
216
217	if input == nil {
218		input = &AssociateDeviceWithNetworkProfileInput{}
219	}
220
221	output = &AssociateDeviceWithNetworkProfileOutput{}
222	req = c.newRequest(op, input, output)
223	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
224	return
225}
226
227// AssociateDeviceWithNetworkProfile API operation for Alexa For Business.
228//
229// Associates a device with the specified network profile.
230//
231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
232// with awserr.Error's Code and Message methods to get detailed information about
233// the error.
234//
235// See the AWS API reference guide for Alexa For Business's
236// API operation AssociateDeviceWithNetworkProfile for usage and error information.
237//
238// Returned Error Codes:
239//   * ErrCodeNotFoundException "NotFoundException"
240//   The resource is not found.
241//
242//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
243//   There is a concurrent modification of resources.
244//
245//   * ErrCodeDeviceNotRegisteredException "DeviceNotRegisteredException"
246//   The request failed because this device is no longer registered and therefore
247//   no longer managed by this account.
248//
249// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/AssociateDeviceWithNetworkProfile
250func (c *AlexaForBusiness) AssociateDeviceWithNetworkProfile(input *AssociateDeviceWithNetworkProfileInput) (*AssociateDeviceWithNetworkProfileOutput, error) {
251	req, out := c.AssociateDeviceWithNetworkProfileRequest(input)
252	return out, req.Send()
253}
254
255// AssociateDeviceWithNetworkProfileWithContext is the same as AssociateDeviceWithNetworkProfile with the addition of
256// the ability to pass a context and additional request options.
257//
258// See AssociateDeviceWithNetworkProfile for details on how to use this API operation.
259//
260// The context must be non-nil and will be used for request cancellation. If
261// the context is nil a panic will occur. In the future the SDK may create
262// sub-contexts for http.Requests. See https://golang.org/pkg/context/
263// for more information on using Contexts.
264func (c *AlexaForBusiness) AssociateDeviceWithNetworkProfileWithContext(ctx aws.Context, input *AssociateDeviceWithNetworkProfileInput, opts ...request.Option) (*AssociateDeviceWithNetworkProfileOutput, error) {
265	req, out := c.AssociateDeviceWithNetworkProfileRequest(input)
266	req.SetContext(ctx)
267	req.ApplyOptions(opts...)
268	return out, req.Send()
269}
270
271const opAssociateDeviceWithRoom = "AssociateDeviceWithRoom"
272
273// AssociateDeviceWithRoomRequest generates a "aws/request.Request" representing the
274// client's request for the AssociateDeviceWithRoom operation. The "output" return
275// value will be populated with the request's response once the request completes
276// successfully.
277//
278// Use "Send" method on the returned Request to send the API call to the service.
279// the "output" return value is not valid until after Send returns without error.
280//
281// See AssociateDeviceWithRoom for more information on using the AssociateDeviceWithRoom
282// API call, and error handling.
283//
284// This method is useful when you want to inject custom logic or configuration
285// into the SDK's request lifecycle. Such as custom headers, or retry logic.
286//
287//
288//    // Example sending a request using the AssociateDeviceWithRoomRequest method.
289//    req, resp := client.AssociateDeviceWithRoomRequest(params)
290//
291//    err := req.Send()
292//    if err == nil { // resp is now filled
293//        fmt.Println(resp)
294//    }
295//
296// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/AssociateDeviceWithRoom
297func (c *AlexaForBusiness) AssociateDeviceWithRoomRequest(input *AssociateDeviceWithRoomInput) (req *request.Request, output *AssociateDeviceWithRoomOutput) {
298	op := &request.Operation{
299		Name:       opAssociateDeviceWithRoom,
300		HTTPMethod: "POST",
301		HTTPPath:   "/",
302	}
303
304	if input == nil {
305		input = &AssociateDeviceWithRoomInput{}
306	}
307
308	output = &AssociateDeviceWithRoomOutput{}
309	req = c.newRequest(op, input, output)
310	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
311	return
312}
313
314// AssociateDeviceWithRoom API operation for Alexa For Business.
315//
316// Associates a device with a given room. This applies all the settings from
317// the room profile to the device, and all the skills in any skill groups added
318// to that room. This operation requires the device to be online, or else a
319// manual sync is required.
320//
321// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
322// with awserr.Error's Code and Message methods to get detailed information about
323// the error.
324//
325// See the AWS API reference guide for Alexa For Business's
326// API operation AssociateDeviceWithRoom for usage and error information.
327//
328// Returned Error Codes:
329//   * ErrCodeLimitExceededException "LimitExceededException"
330//   You are performing an action that would put you beyond your account's limits.
331//
332//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
333//   There is a concurrent modification of resources.
334//
335//   * ErrCodeDeviceNotRegisteredException "DeviceNotRegisteredException"
336//   The request failed because this device is no longer registered and therefore
337//   no longer managed by this account.
338//
339// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/AssociateDeviceWithRoom
340func (c *AlexaForBusiness) AssociateDeviceWithRoom(input *AssociateDeviceWithRoomInput) (*AssociateDeviceWithRoomOutput, error) {
341	req, out := c.AssociateDeviceWithRoomRequest(input)
342	return out, req.Send()
343}
344
345// AssociateDeviceWithRoomWithContext is the same as AssociateDeviceWithRoom with the addition of
346// the ability to pass a context and additional request options.
347//
348// See AssociateDeviceWithRoom for details on how to use this API operation.
349//
350// The context must be non-nil and will be used for request cancellation. If
351// the context is nil a panic will occur. In the future the SDK may create
352// sub-contexts for http.Requests. See https://golang.org/pkg/context/
353// for more information on using Contexts.
354func (c *AlexaForBusiness) AssociateDeviceWithRoomWithContext(ctx aws.Context, input *AssociateDeviceWithRoomInput, opts ...request.Option) (*AssociateDeviceWithRoomOutput, error) {
355	req, out := c.AssociateDeviceWithRoomRequest(input)
356	req.SetContext(ctx)
357	req.ApplyOptions(opts...)
358	return out, req.Send()
359}
360
361const opAssociateSkillGroupWithRoom = "AssociateSkillGroupWithRoom"
362
363// AssociateSkillGroupWithRoomRequest generates a "aws/request.Request" representing the
364// client's request for the AssociateSkillGroupWithRoom operation. The "output" return
365// value will be populated with the request's response once the request completes
366// successfully.
367//
368// Use "Send" method on the returned Request to send the API call to the service.
369// the "output" return value is not valid until after Send returns without error.
370//
371// See AssociateSkillGroupWithRoom for more information on using the AssociateSkillGroupWithRoom
372// API call, and error handling.
373//
374// This method is useful when you want to inject custom logic or configuration
375// into the SDK's request lifecycle. Such as custom headers, or retry logic.
376//
377//
378//    // Example sending a request using the AssociateSkillGroupWithRoomRequest method.
379//    req, resp := client.AssociateSkillGroupWithRoomRequest(params)
380//
381//    err := req.Send()
382//    if err == nil { // resp is now filled
383//        fmt.Println(resp)
384//    }
385//
386// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/AssociateSkillGroupWithRoom
387func (c *AlexaForBusiness) AssociateSkillGroupWithRoomRequest(input *AssociateSkillGroupWithRoomInput) (req *request.Request, output *AssociateSkillGroupWithRoomOutput) {
388	op := &request.Operation{
389		Name:       opAssociateSkillGroupWithRoom,
390		HTTPMethod: "POST",
391		HTTPPath:   "/",
392	}
393
394	if input == nil {
395		input = &AssociateSkillGroupWithRoomInput{}
396	}
397
398	output = &AssociateSkillGroupWithRoomOutput{}
399	req = c.newRequest(op, input, output)
400	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
401	return
402}
403
404// AssociateSkillGroupWithRoom API operation for Alexa For Business.
405//
406// Associates a skill group with a given room. This enables all skills in the
407// associated skill group on all devices in the room.
408//
409// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
410// with awserr.Error's Code and Message methods to get detailed information about
411// the error.
412//
413// See the AWS API reference guide for Alexa For Business's
414// API operation AssociateSkillGroupWithRoom for usage and error information.
415//
416// Returned Error Codes:
417//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
418//   There is a concurrent modification of resources.
419//
420// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/AssociateSkillGroupWithRoom
421func (c *AlexaForBusiness) AssociateSkillGroupWithRoom(input *AssociateSkillGroupWithRoomInput) (*AssociateSkillGroupWithRoomOutput, error) {
422	req, out := c.AssociateSkillGroupWithRoomRequest(input)
423	return out, req.Send()
424}
425
426// AssociateSkillGroupWithRoomWithContext is the same as AssociateSkillGroupWithRoom with the addition of
427// the ability to pass a context and additional request options.
428//
429// See AssociateSkillGroupWithRoom for details on how to use this API operation.
430//
431// The context must be non-nil and will be used for request cancellation. If
432// the context is nil a panic will occur. In the future the SDK may create
433// sub-contexts for http.Requests. See https://golang.org/pkg/context/
434// for more information on using Contexts.
435func (c *AlexaForBusiness) AssociateSkillGroupWithRoomWithContext(ctx aws.Context, input *AssociateSkillGroupWithRoomInput, opts ...request.Option) (*AssociateSkillGroupWithRoomOutput, error) {
436	req, out := c.AssociateSkillGroupWithRoomRequest(input)
437	req.SetContext(ctx)
438	req.ApplyOptions(opts...)
439	return out, req.Send()
440}
441
442const opAssociateSkillWithSkillGroup = "AssociateSkillWithSkillGroup"
443
444// AssociateSkillWithSkillGroupRequest generates a "aws/request.Request" representing the
445// client's request for the AssociateSkillWithSkillGroup operation. The "output" return
446// value will be populated with the request's response once the request completes
447// successfully.
448//
449// Use "Send" method on the returned Request to send the API call to the service.
450// the "output" return value is not valid until after Send returns without error.
451//
452// See AssociateSkillWithSkillGroup for more information on using the AssociateSkillWithSkillGroup
453// API call, and error handling.
454//
455// This method is useful when you want to inject custom logic or configuration
456// into the SDK's request lifecycle. Such as custom headers, or retry logic.
457//
458//
459//    // Example sending a request using the AssociateSkillWithSkillGroupRequest method.
460//    req, resp := client.AssociateSkillWithSkillGroupRequest(params)
461//
462//    err := req.Send()
463//    if err == nil { // resp is now filled
464//        fmt.Println(resp)
465//    }
466//
467// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/AssociateSkillWithSkillGroup
468func (c *AlexaForBusiness) AssociateSkillWithSkillGroupRequest(input *AssociateSkillWithSkillGroupInput) (req *request.Request, output *AssociateSkillWithSkillGroupOutput) {
469	op := &request.Operation{
470		Name:       opAssociateSkillWithSkillGroup,
471		HTTPMethod: "POST",
472		HTTPPath:   "/",
473	}
474
475	if input == nil {
476		input = &AssociateSkillWithSkillGroupInput{}
477	}
478
479	output = &AssociateSkillWithSkillGroupOutput{}
480	req = c.newRequest(op, input, output)
481	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
482	return
483}
484
485// AssociateSkillWithSkillGroup API operation for Alexa For Business.
486//
487// Associates a skill with a skill group.
488//
489// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
490// with awserr.Error's Code and Message methods to get detailed information about
491// the error.
492//
493// See the AWS API reference guide for Alexa For Business's
494// API operation AssociateSkillWithSkillGroup for usage and error information.
495//
496// Returned Error Codes:
497//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
498//   There is a concurrent modification of resources.
499//
500//   * ErrCodeNotFoundException "NotFoundException"
501//   The resource is not found.
502//
503//   * ErrCodeSkillNotLinkedException "SkillNotLinkedException"
504//   The skill must be linked to a third-party account.
505//
506// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/AssociateSkillWithSkillGroup
507func (c *AlexaForBusiness) AssociateSkillWithSkillGroup(input *AssociateSkillWithSkillGroupInput) (*AssociateSkillWithSkillGroupOutput, error) {
508	req, out := c.AssociateSkillWithSkillGroupRequest(input)
509	return out, req.Send()
510}
511
512// AssociateSkillWithSkillGroupWithContext is the same as AssociateSkillWithSkillGroup with the addition of
513// the ability to pass a context and additional request options.
514//
515// See AssociateSkillWithSkillGroup for details on how to use this API operation.
516//
517// The context must be non-nil and will be used for request cancellation. If
518// the context is nil a panic will occur. In the future the SDK may create
519// sub-contexts for http.Requests. See https://golang.org/pkg/context/
520// for more information on using Contexts.
521func (c *AlexaForBusiness) AssociateSkillWithSkillGroupWithContext(ctx aws.Context, input *AssociateSkillWithSkillGroupInput, opts ...request.Option) (*AssociateSkillWithSkillGroupOutput, error) {
522	req, out := c.AssociateSkillWithSkillGroupRequest(input)
523	req.SetContext(ctx)
524	req.ApplyOptions(opts...)
525	return out, req.Send()
526}
527
528const opAssociateSkillWithUsers = "AssociateSkillWithUsers"
529
530// AssociateSkillWithUsersRequest generates a "aws/request.Request" representing the
531// client's request for the AssociateSkillWithUsers operation. The "output" return
532// value will be populated with the request's response once the request completes
533// successfully.
534//
535// Use "Send" method on the returned Request to send the API call to the service.
536// the "output" return value is not valid until after Send returns without error.
537//
538// See AssociateSkillWithUsers for more information on using the AssociateSkillWithUsers
539// API call, and error handling.
540//
541// This method is useful when you want to inject custom logic or configuration
542// into the SDK's request lifecycle. Such as custom headers, or retry logic.
543//
544//
545//    // Example sending a request using the AssociateSkillWithUsersRequest method.
546//    req, resp := client.AssociateSkillWithUsersRequest(params)
547//
548//    err := req.Send()
549//    if err == nil { // resp is now filled
550//        fmt.Println(resp)
551//    }
552//
553// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/AssociateSkillWithUsers
554func (c *AlexaForBusiness) AssociateSkillWithUsersRequest(input *AssociateSkillWithUsersInput) (req *request.Request, output *AssociateSkillWithUsersOutput) {
555	op := &request.Operation{
556		Name:       opAssociateSkillWithUsers,
557		HTTPMethod: "POST",
558		HTTPPath:   "/",
559	}
560
561	if input == nil {
562		input = &AssociateSkillWithUsersInput{}
563	}
564
565	output = &AssociateSkillWithUsersOutput{}
566	req = c.newRequest(op, input, output)
567	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
568	return
569}
570
571// AssociateSkillWithUsers API operation for Alexa For Business.
572//
573// Makes a private skill available for enrolled users to enable on their devices.
574//
575// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
576// with awserr.Error's Code and Message methods to get detailed information about
577// the error.
578//
579// See the AWS API reference guide for Alexa For Business's
580// API operation AssociateSkillWithUsers for usage and error information.
581//
582// Returned Error Codes:
583//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
584//   There is a concurrent modification of resources.
585//
586//   * ErrCodeNotFoundException "NotFoundException"
587//   The resource is not found.
588//
589// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/AssociateSkillWithUsers
590func (c *AlexaForBusiness) AssociateSkillWithUsers(input *AssociateSkillWithUsersInput) (*AssociateSkillWithUsersOutput, error) {
591	req, out := c.AssociateSkillWithUsersRequest(input)
592	return out, req.Send()
593}
594
595// AssociateSkillWithUsersWithContext is the same as AssociateSkillWithUsers with the addition of
596// the ability to pass a context and additional request options.
597//
598// See AssociateSkillWithUsers for details on how to use this API operation.
599//
600// The context must be non-nil and will be used for request cancellation. If
601// the context is nil a panic will occur. In the future the SDK may create
602// sub-contexts for http.Requests. See https://golang.org/pkg/context/
603// for more information on using Contexts.
604func (c *AlexaForBusiness) AssociateSkillWithUsersWithContext(ctx aws.Context, input *AssociateSkillWithUsersInput, opts ...request.Option) (*AssociateSkillWithUsersOutput, error) {
605	req, out := c.AssociateSkillWithUsersRequest(input)
606	req.SetContext(ctx)
607	req.ApplyOptions(opts...)
608	return out, req.Send()
609}
610
611const opCreateAddressBook = "CreateAddressBook"
612
613// CreateAddressBookRequest generates a "aws/request.Request" representing the
614// client's request for the CreateAddressBook operation. The "output" return
615// value will be populated with the request's response once the request completes
616// successfully.
617//
618// Use "Send" method on the returned Request to send the API call to the service.
619// the "output" return value is not valid until after Send returns without error.
620//
621// See CreateAddressBook for more information on using the CreateAddressBook
622// API call, and error handling.
623//
624// This method is useful when you want to inject custom logic or configuration
625// into the SDK's request lifecycle. Such as custom headers, or retry logic.
626//
627//
628//    // Example sending a request using the CreateAddressBookRequest method.
629//    req, resp := client.CreateAddressBookRequest(params)
630//
631//    err := req.Send()
632//    if err == nil { // resp is now filled
633//        fmt.Println(resp)
634//    }
635//
636// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateAddressBook
637func (c *AlexaForBusiness) CreateAddressBookRequest(input *CreateAddressBookInput) (req *request.Request, output *CreateAddressBookOutput) {
638	op := &request.Operation{
639		Name:       opCreateAddressBook,
640		HTTPMethod: "POST",
641		HTTPPath:   "/",
642	}
643
644	if input == nil {
645		input = &CreateAddressBookInput{}
646	}
647
648	output = &CreateAddressBookOutput{}
649	req = c.newRequest(op, input, output)
650	return
651}
652
653// CreateAddressBook API operation for Alexa For Business.
654//
655// Creates an address book with the specified details.
656//
657// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
658// with awserr.Error's Code and Message methods to get detailed information about
659// the error.
660//
661// See the AWS API reference guide for Alexa For Business's
662// API operation CreateAddressBook for usage and error information.
663//
664// Returned Error Codes:
665//   * ErrCodeAlreadyExistsException "AlreadyExistsException"
666//   The resource being created already exists.
667//
668//   * ErrCodeLimitExceededException "LimitExceededException"
669//   You are performing an action that would put you beyond your account's limits.
670//
671// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateAddressBook
672func (c *AlexaForBusiness) CreateAddressBook(input *CreateAddressBookInput) (*CreateAddressBookOutput, error) {
673	req, out := c.CreateAddressBookRequest(input)
674	return out, req.Send()
675}
676
677// CreateAddressBookWithContext is the same as CreateAddressBook with the addition of
678// the ability to pass a context and additional request options.
679//
680// See CreateAddressBook for details on how to use this API operation.
681//
682// The context must be non-nil and will be used for request cancellation. If
683// the context is nil a panic will occur. In the future the SDK may create
684// sub-contexts for http.Requests. See https://golang.org/pkg/context/
685// for more information on using Contexts.
686func (c *AlexaForBusiness) CreateAddressBookWithContext(ctx aws.Context, input *CreateAddressBookInput, opts ...request.Option) (*CreateAddressBookOutput, error) {
687	req, out := c.CreateAddressBookRequest(input)
688	req.SetContext(ctx)
689	req.ApplyOptions(opts...)
690	return out, req.Send()
691}
692
693const opCreateBusinessReportSchedule = "CreateBusinessReportSchedule"
694
695// CreateBusinessReportScheduleRequest generates a "aws/request.Request" representing the
696// client's request for the CreateBusinessReportSchedule operation. The "output" return
697// value will be populated with the request's response once the request completes
698// successfully.
699//
700// Use "Send" method on the returned Request to send the API call to the service.
701// the "output" return value is not valid until after Send returns without error.
702//
703// See CreateBusinessReportSchedule for more information on using the CreateBusinessReportSchedule
704// API call, and error handling.
705//
706// This method is useful when you want to inject custom logic or configuration
707// into the SDK's request lifecycle. Such as custom headers, or retry logic.
708//
709//
710//    // Example sending a request using the CreateBusinessReportScheduleRequest method.
711//    req, resp := client.CreateBusinessReportScheduleRequest(params)
712//
713//    err := req.Send()
714//    if err == nil { // resp is now filled
715//        fmt.Println(resp)
716//    }
717//
718// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateBusinessReportSchedule
719func (c *AlexaForBusiness) CreateBusinessReportScheduleRequest(input *CreateBusinessReportScheduleInput) (req *request.Request, output *CreateBusinessReportScheduleOutput) {
720	op := &request.Operation{
721		Name:       opCreateBusinessReportSchedule,
722		HTTPMethod: "POST",
723		HTTPPath:   "/",
724	}
725
726	if input == nil {
727		input = &CreateBusinessReportScheduleInput{}
728	}
729
730	output = &CreateBusinessReportScheduleOutput{}
731	req = c.newRequest(op, input, output)
732	return
733}
734
735// CreateBusinessReportSchedule API operation for Alexa For Business.
736//
737// Creates a recurring schedule for usage reports to deliver to the specified
738// S3 location with a specified daily or weekly interval.
739//
740// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
741// with awserr.Error's Code and Message methods to get detailed information about
742// the error.
743//
744// See the AWS API reference guide for Alexa For Business's
745// API operation CreateBusinessReportSchedule for usage and error information.
746//
747// Returned Error Codes:
748//   * ErrCodeAlreadyExistsException "AlreadyExistsException"
749//   The resource being created already exists.
750//
751// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateBusinessReportSchedule
752func (c *AlexaForBusiness) CreateBusinessReportSchedule(input *CreateBusinessReportScheduleInput) (*CreateBusinessReportScheduleOutput, error) {
753	req, out := c.CreateBusinessReportScheduleRequest(input)
754	return out, req.Send()
755}
756
757// CreateBusinessReportScheduleWithContext is the same as CreateBusinessReportSchedule with the addition of
758// the ability to pass a context and additional request options.
759//
760// See CreateBusinessReportSchedule for details on how to use this API operation.
761//
762// The context must be non-nil and will be used for request cancellation. If
763// the context is nil a panic will occur. In the future the SDK may create
764// sub-contexts for http.Requests. See https://golang.org/pkg/context/
765// for more information on using Contexts.
766func (c *AlexaForBusiness) CreateBusinessReportScheduleWithContext(ctx aws.Context, input *CreateBusinessReportScheduleInput, opts ...request.Option) (*CreateBusinessReportScheduleOutput, error) {
767	req, out := c.CreateBusinessReportScheduleRequest(input)
768	req.SetContext(ctx)
769	req.ApplyOptions(opts...)
770	return out, req.Send()
771}
772
773const opCreateConferenceProvider = "CreateConferenceProvider"
774
775// CreateConferenceProviderRequest generates a "aws/request.Request" representing the
776// client's request for the CreateConferenceProvider operation. The "output" return
777// value will be populated with the request's response once the request completes
778// successfully.
779//
780// Use "Send" method on the returned Request to send the API call to the service.
781// the "output" return value is not valid until after Send returns without error.
782//
783// See CreateConferenceProvider for more information on using the CreateConferenceProvider
784// API call, and error handling.
785//
786// This method is useful when you want to inject custom logic or configuration
787// into the SDK's request lifecycle. Such as custom headers, or retry logic.
788//
789//
790//    // Example sending a request using the CreateConferenceProviderRequest method.
791//    req, resp := client.CreateConferenceProviderRequest(params)
792//
793//    err := req.Send()
794//    if err == nil { // resp is now filled
795//        fmt.Println(resp)
796//    }
797//
798// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateConferenceProvider
799func (c *AlexaForBusiness) CreateConferenceProviderRequest(input *CreateConferenceProviderInput) (req *request.Request, output *CreateConferenceProviderOutput) {
800	op := &request.Operation{
801		Name:       opCreateConferenceProvider,
802		HTTPMethod: "POST",
803		HTTPPath:   "/",
804	}
805
806	if input == nil {
807		input = &CreateConferenceProviderInput{}
808	}
809
810	output = &CreateConferenceProviderOutput{}
811	req = c.newRequest(op, input, output)
812	return
813}
814
815// CreateConferenceProvider API operation for Alexa For Business.
816//
817// Adds a new conference provider under the user's AWS account.
818//
819// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
820// with awserr.Error's Code and Message methods to get detailed information about
821// the error.
822//
823// See the AWS API reference guide for Alexa For Business's
824// API operation CreateConferenceProvider for usage and error information.
825//
826// Returned Error Codes:
827//   * ErrCodeAlreadyExistsException "AlreadyExistsException"
828//   The resource being created already exists.
829//
830// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateConferenceProvider
831func (c *AlexaForBusiness) CreateConferenceProvider(input *CreateConferenceProviderInput) (*CreateConferenceProviderOutput, error) {
832	req, out := c.CreateConferenceProviderRequest(input)
833	return out, req.Send()
834}
835
836// CreateConferenceProviderWithContext is the same as CreateConferenceProvider with the addition of
837// the ability to pass a context and additional request options.
838//
839// See CreateConferenceProvider for details on how to use this API operation.
840//
841// The context must be non-nil and will be used for request cancellation. If
842// the context is nil a panic will occur. In the future the SDK may create
843// sub-contexts for http.Requests. See https://golang.org/pkg/context/
844// for more information on using Contexts.
845func (c *AlexaForBusiness) CreateConferenceProviderWithContext(ctx aws.Context, input *CreateConferenceProviderInput, opts ...request.Option) (*CreateConferenceProviderOutput, error) {
846	req, out := c.CreateConferenceProviderRequest(input)
847	req.SetContext(ctx)
848	req.ApplyOptions(opts...)
849	return out, req.Send()
850}
851
852const opCreateContact = "CreateContact"
853
854// CreateContactRequest generates a "aws/request.Request" representing the
855// client's request for the CreateContact operation. The "output" return
856// value will be populated with the request's response once the request completes
857// successfully.
858//
859// Use "Send" method on the returned Request to send the API call to the service.
860// the "output" return value is not valid until after Send returns without error.
861//
862// See CreateContact for more information on using the CreateContact
863// API call, and error handling.
864//
865// This method is useful when you want to inject custom logic or configuration
866// into the SDK's request lifecycle. Such as custom headers, or retry logic.
867//
868//
869//    // Example sending a request using the CreateContactRequest method.
870//    req, resp := client.CreateContactRequest(params)
871//
872//    err := req.Send()
873//    if err == nil { // resp is now filled
874//        fmt.Println(resp)
875//    }
876//
877// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateContact
878func (c *AlexaForBusiness) CreateContactRequest(input *CreateContactInput) (req *request.Request, output *CreateContactOutput) {
879	op := &request.Operation{
880		Name:       opCreateContact,
881		HTTPMethod: "POST",
882		HTTPPath:   "/",
883	}
884
885	if input == nil {
886		input = &CreateContactInput{}
887	}
888
889	output = &CreateContactOutput{}
890	req = c.newRequest(op, input, output)
891	return
892}
893
894// CreateContact API operation for Alexa For Business.
895//
896// Creates a contact with the specified details.
897//
898// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
899// with awserr.Error's Code and Message methods to get detailed information about
900// the error.
901//
902// See the AWS API reference guide for Alexa For Business's
903// API operation CreateContact for usage and error information.
904//
905// Returned Error Codes:
906//   * ErrCodeAlreadyExistsException "AlreadyExistsException"
907//   The resource being created already exists.
908//
909//   * ErrCodeLimitExceededException "LimitExceededException"
910//   You are performing an action that would put you beyond your account's limits.
911//
912// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateContact
913func (c *AlexaForBusiness) CreateContact(input *CreateContactInput) (*CreateContactOutput, error) {
914	req, out := c.CreateContactRequest(input)
915	return out, req.Send()
916}
917
918// CreateContactWithContext is the same as CreateContact with the addition of
919// the ability to pass a context and additional request options.
920//
921// See CreateContact for details on how to use this API operation.
922//
923// The context must be non-nil and will be used for request cancellation. If
924// the context is nil a panic will occur. In the future the SDK may create
925// sub-contexts for http.Requests. See https://golang.org/pkg/context/
926// for more information on using Contexts.
927func (c *AlexaForBusiness) CreateContactWithContext(ctx aws.Context, input *CreateContactInput, opts ...request.Option) (*CreateContactOutput, error) {
928	req, out := c.CreateContactRequest(input)
929	req.SetContext(ctx)
930	req.ApplyOptions(opts...)
931	return out, req.Send()
932}
933
934const opCreateGatewayGroup = "CreateGatewayGroup"
935
936// CreateGatewayGroupRequest generates a "aws/request.Request" representing the
937// client's request for the CreateGatewayGroup operation. The "output" return
938// value will be populated with the request's response once the request completes
939// successfully.
940//
941// Use "Send" method on the returned Request to send the API call to the service.
942// the "output" return value is not valid until after Send returns without error.
943//
944// See CreateGatewayGroup for more information on using the CreateGatewayGroup
945// API call, and error handling.
946//
947// This method is useful when you want to inject custom logic or configuration
948// into the SDK's request lifecycle. Such as custom headers, or retry logic.
949//
950//
951//    // Example sending a request using the CreateGatewayGroupRequest method.
952//    req, resp := client.CreateGatewayGroupRequest(params)
953//
954//    err := req.Send()
955//    if err == nil { // resp is now filled
956//        fmt.Println(resp)
957//    }
958//
959// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateGatewayGroup
960func (c *AlexaForBusiness) CreateGatewayGroupRequest(input *CreateGatewayGroupInput) (req *request.Request, output *CreateGatewayGroupOutput) {
961	op := &request.Operation{
962		Name:       opCreateGatewayGroup,
963		HTTPMethod: "POST",
964		HTTPPath:   "/",
965	}
966
967	if input == nil {
968		input = &CreateGatewayGroupInput{}
969	}
970
971	output = &CreateGatewayGroupOutput{}
972	req = c.newRequest(op, input, output)
973	return
974}
975
976// CreateGatewayGroup API operation for Alexa For Business.
977//
978// Creates a gateway group with the specified details.
979//
980// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
981// with awserr.Error's Code and Message methods to get detailed information about
982// the error.
983//
984// See the AWS API reference guide for Alexa For Business's
985// API operation CreateGatewayGroup for usage and error information.
986//
987// Returned Error Codes:
988//   * ErrCodeAlreadyExistsException "AlreadyExistsException"
989//   The resource being created already exists.
990//
991//   * ErrCodeLimitExceededException "LimitExceededException"
992//   You are performing an action that would put you beyond your account's limits.
993//
994// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateGatewayGroup
995func (c *AlexaForBusiness) CreateGatewayGroup(input *CreateGatewayGroupInput) (*CreateGatewayGroupOutput, error) {
996	req, out := c.CreateGatewayGroupRequest(input)
997	return out, req.Send()
998}
999
1000// CreateGatewayGroupWithContext is the same as CreateGatewayGroup with the addition of
1001// the ability to pass a context and additional request options.
1002//
1003// See CreateGatewayGroup for details on how to use this API operation.
1004//
1005// The context must be non-nil and will be used for request cancellation. If
1006// the context is nil a panic will occur. In the future the SDK may create
1007// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1008// for more information on using Contexts.
1009func (c *AlexaForBusiness) CreateGatewayGroupWithContext(ctx aws.Context, input *CreateGatewayGroupInput, opts ...request.Option) (*CreateGatewayGroupOutput, error) {
1010	req, out := c.CreateGatewayGroupRequest(input)
1011	req.SetContext(ctx)
1012	req.ApplyOptions(opts...)
1013	return out, req.Send()
1014}
1015
1016const opCreateNetworkProfile = "CreateNetworkProfile"
1017
1018// CreateNetworkProfileRequest generates a "aws/request.Request" representing the
1019// client's request for the CreateNetworkProfile operation. The "output" return
1020// value will be populated with the request's response once the request completes
1021// successfully.
1022//
1023// Use "Send" method on the returned Request to send the API call to the service.
1024// the "output" return value is not valid until after Send returns without error.
1025//
1026// See CreateNetworkProfile for more information on using the CreateNetworkProfile
1027// API call, and error handling.
1028//
1029// This method is useful when you want to inject custom logic or configuration
1030// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1031//
1032//
1033//    // Example sending a request using the CreateNetworkProfileRequest method.
1034//    req, resp := client.CreateNetworkProfileRequest(params)
1035//
1036//    err := req.Send()
1037//    if err == nil { // resp is now filled
1038//        fmt.Println(resp)
1039//    }
1040//
1041// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateNetworkProfile
1042func (c *AlexaForBusiness) CreateNetworkProfileRequest(input *CreateNetworkProfileInput) (req *request.Request, output *CreateNetworkProfileOutput) {
1043	op := &request.Operation{
1044		Name:       opCreateNetworkProfile,
1045		HTTPMethod: "POST",
1046		HTTPPath:   "/",
1047	}
1048
1049	if input == nil {
1050		input = &CreateNetworkProfileInput{}
1051	}
1052
1053	output = &CreateNetworkProfileOutput{}
1054	req = c.newRequest(op, input, output)
1055	return
1056}
1057
1058// CreateNetworkProfile API operation for Alexa For Business.
1059//
1060// Creates a network profile with the specified details.
1061//
1062// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1063// with awserr.Error's Code and Message methods to get detailed information about
1064// the error.
1065//
1066// See the AWS API reference guide for Alexa For Business's
1067// API operation CreateNetworkProfile for usage and error information.
1068//
1069// Returned Error Codes:
1070//   * ErrCodeAlreadyExistsException "AlreadyExistsException"
1071//   The resource being created already exists.
1072//
1073//   * ErrCodeLimitExceededException "LimitExceededException"
1074//   You are performing an action that would put you beyond your account's limits.
1075//
1076//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1077//   There is a concurrent modification of resources.
1078//
1079//   * ErrCodeInvalidCertificateAuthorityException "InvalidCertificateAuthorityException"
1080//   The Certificate Authority can't issue or revoke a certificate.
1081//
1082//   * ErrCodeInvalidServiceLinkedRoleStateException "InvalidServiceLinkedRoleStateException"
1083//   The service linked role is locked for deletion.
1084//
1085// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateNetworkProfile
1086func (c *AlexaForBusiness) CreateNetworkProfile(input *CreateNetworkProfileInput) (*CreateNetworkProfileOutput, error) {
1087	req, out := c.CreateNetworkProfileRequest(input)
1088	return out, req.Send()
1089}
1090
1091// CreateNetworkProfileWithContext is the same as CreateNetworkProfile with the addition of
1092// the ability to pass a context and additional request options.
1093//
1094// See CreateNetworkProfile for details on how to use this API operation.
1095//
1096// The context must be non-nil and will be used for request cancellation. If
1097// the context is nil a panic will occur. In the future the SDK may create
1098// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1099// for more information on using Contexts.
1100func (c *AlexaForBusiness) CreateNetworkProfileWithContext(ctx aws.Context, input *CreateNetworkProfileInput, opts ...request.Option) (*CreateNetworkProfileOutput, error) {
1101	req, out := c.CreateNetworkProfileRequest(input)
1102	req.SetContext(ctx)
1103	req.ApplyOptions(opts...)
1104	return out, req.Send()
1105}
1106
1107const opCreateProfile = "CreateProfile"
1108
1109// CreateProfileRequest generates a "aws/request.Request" representing the
1110// client's request for the CreateProfile operation. The "output" return
1111// value will be populated with the request's response once the request completes
1112// successfully.
1113//
1114// Use "Send" method on the returned Request to send the API call to the service.
1115// the "output" return value is not valid until after Send returns without error.
1116//
1117// See CreateProfile for more information on using the CreateProfile
1118// API call, and error handling.
1119//
1120// This method is useful when you want to inject custom logic or configuration
1121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1122//
1123//
1124//    // Example sending a request using the CreateProfileRequest method.
1125//    req, resp := client.CreateProfileRequest(params)
1126//
1127//    err := req.Send()
1128//    if err == nil { // resp is now filled
1129//        fmt.Println(resp)
1130//    }
1131//
1132// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateProfile
1133func (c *AlexaForBusiness) CreateProfileRequest(input *CreateProfileInput) (req *request.Request, output *CreateProfileOutput) {
1134	op := &request.Operation{
1135		Name:       opCreateProfile,
1136		HTTPMethod: "POST",
1137		HTTPPath:   "/",
1138	}
1139
1140	if input == nil {
1141		input = &CreateProfileInput{}
1142	}
1143
1144	output = &CreateProfileOutput{}
1145	req = c.newRequest(op, input, output)
1146	return
1147}
1148
1149// CreateProfile API operation for Alexa For Business.
1150//
1151// Creates a new room profile with the specified details.
1152//
1153// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1154// with awserr.Error's Code and Message methods to get detailed information about
1155// the error.
1156//
1157// See the AWS API reference guide for Alexa For Business's
1158// API operation CreateProfile for usage and error information.
1159//
1160// Returned Error Codes:
1161//   * ErrCodeLimitExceededException "LimitExceededException"
1162//   You are performing an action that would put you beyond your account's limits.
1163//
1164//   * ErrCodeAlreadyExistsException "AlreadyExistsException"
1165//   The resource being created already exists.
1166//
1167//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1168//   There is a concurrent modification of resources.
1169//
1170// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateProfile
1171func (c *AlexaForBusiness) CreateProfile(input *CreateProfileInput) (*CreateProfileOutput, error) {
1172	req, out := c.CreateProfileRequest(input)
1173	return out, req.Send()
1174}
1175
1176// CreateProfileWithContext is the same as CreateProfile with the addition of
1177// the ability to pass a context and additional request options.
1178//
1179// See CreateProfile for details on how to use this API operation.
1180//
1181// The context must be non-nil and will be used for request cancellation. If
1182// the context is nil a panic will occur. In the future the SDK may create
1183// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1184// for more information on using Contexts.
1185func (c *AlexaForBusiness) CreateProfileWithContext(ctx aws.Context, input *CreateProfileInput, opts ...request.Option) (*CreateProfileOutput, error) {
1186	req, out := c.CreateProfileRequest(input)
1187	req.SetContext(ctx)
1188	req.ApplyOptions(opts...)
1189	return out, req.Send()
1190}
1191
1192const opCreateRoom = "CreateRoom"
1193
1194// CreateRoomRequest generates a "aws/request.Request" representing the
1195// client's request for the CreateRoom operation. The "output" return
1196// value will be populated with the request's response once the request completes
1197// successfully.
1198//
1199// Use "Send" method on the returned Request to send the API call to the service.
1200// the "output" return value is not valid until after Send returns without error.
1201//
1202// See CreateRoom for more information on using the CreateRoom
1203// API call, and error handling.
1204//
1205// This method is useful when you want to inject custom logic or configuration
1206// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1207//
1208//
1209//    // Example sending a request using the CreateRoomRequest method.
1210//    req, resp := client.CreateRoomRequest(params)
1211//
1212//    err := req.Send()
1213//    if err == nil { // resp is now filled
1214//        fmt.Println(resp)
1215//    }
1216//
1217// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateRoom
1218func (c *AlexaForBusiness) CreateRoomRequest(input *CreateRoomInput) (req *request.Request, output *CreateRoomOutput) {
1219	op := &request.Operation{
1220		Name:       opCreateRoom,
1221		HTTPMethod: "POST",
1222		HTTPPath:   "/",
1223	}
1224
1225	if input == nil {
1226		input = &CreateRoomInput{}
1227	}
1228
1229	output = &CreateRoomOutput{}
1230	req = c.newRequest(op, input, output)
1231	return
1232}
1233
1234// CreateRoom API operation for Alexa For Business.
1235//
1236// Creates a room with the specified details.
1237//
1238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1239// with awserr.Error's Code and Message methods to get detailed information about
1240// the error.
1241//
1242// See the AWS API reference guide for Alexa For Business's
1243// API operation CreateRoom for usage and error information.
1244//
1245// Returned Error Codes:
1246//   * ErrCodeAlreadyExistsException "AlreadyExistsException"
1247//   The resource being created already exists.
1248//
1249//   * ErrCodeLimitExceededException "LimitExceededException"
1250//   You are performing an action that would put you beyond your account's limits.
1251//
1252// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateRoom
1253func (c *AlexaForBusiness) CreateRoom(input *CreateRoomInput) (*CreateRoomOutput, error) {
1254	req, out := c.CreateRoomRequest(input)
1255	return out, req.Send()
1256}
1257
1258// CreateRoomWithContext is the same as CreateRoom with the addition of
1259// the ability to pass a context and additional request options.
1260//
1261// See CreateRoom for details on how to use this API operation.
1262//
1263// The context must be non-nil and will be used for request cancellation. If
1264// the context is nil a panic will occur. In the future the SDK may create
1265// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1266// for more information on using Contexts.
1267func (c *AlexaForBusiness) CreateRoomWithContext(ctx aws.Context, input *CreateRoomInput, opts ...request.Option) (*CreateRoomOutput, error) {
1268	req, out := c.CreateRoomRequest(input)
1269	req.SetContext(ctx)
1270	req.ApplyOptions(opts...)
1271	return out, req.Send()
1272}
1273
1274const opCreateSkillGroup = "CreateSkillGroup"
1275
1276// CreateSkillGroupRequest generates a "aws/request.Request" representing the
1277// client's request for the CreateSkillGroup operation. The "output" return
1278// value will be populated with the request's response once the request completes
1279// successfully.
1280//
1281// Use "Send" method on the returned Request to send the API call to the service.
1282// the "output" return value is not valid until after Send returns without error.
1283//
1284// See CreateSkillGroup for more information on using the CreateSkillGroup
1285// API call, and error handling.
1286//
1287// This method is useful when you want to inject custom logic or configuration
1288// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1289//
1290//
1291//    // Example sending a request using the CreateSkillGroupRequest method.
1292//    req, resp := client.CreateSkillGroupRequest(params)
1293//
1294//    err := req.Send()
1295//    if err == nil { // resp is now filled
1296//        fmt.Println(resp)
1297//    }
1298//
1299// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateSkillGroup
1300func (c *AlexaForBusiness) CreateSkillGroupRequest(input *CreateSkillGroupInput) (req *request.Request, output *CreateSkillGroupOutput) {
1301	op := &request.Operation{
1302		Name:       opCreateSkillGroup,
1303		HTTPMethod: "POST",
1304		HTTPPath:   "/",
1305	}
1306
1307	if input == nil {
1308		input = &CreateSkillGroupInput{}
1309	}
1310
1311	output = &CreateSkillGroupOutput{}
1312	req = c.newRequest(op, input, output)
1313	return
1314}
1315
1316// CreateSkillGroup API operation for Alexa For Business.
1317//
1318// Creates a skill group with a specified name and description.
1319//
1320// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1321// with awserr.Error's Code and Message methods to get detailed information about
1322// the error.
1323//
1324// See the AWS API reference guide for Alexa For Business's
1325// API operation CreateSkillGroup for usage and error information.
1326//
1327// Returned Error Codes:
1328//   * ErrCodeAlreadyExistsException "AlreadyExistsException"
1329//   The resource being created already exists.
1330//
1331//   * ErrCodeLimitExceededException "LimitExceededException"
1332//   You are performing an action that would put you beyond your account's limits.
1333//
1334//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1335//   There is a concurrent modification of resources.
1336//
1337// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateSkillGroup
1338func (c *AlexaForBusiness) CreateSkillGroup(input *CreateSkillGroupInput) (*CreateSkillGroupOutput, error) {
1339	req, out := c.CreateSkillGroupRequest(input)
1340	return out, req.Send()
1341}
1342
1343// CreateSkillGroupWithContext is the same as CreateSkillGroup with the addition of
1344// the ability to pass a context and additional request options.
1345//
1346// See CreateSkillGroup for details on how to use this API operation.
1347//
1348// The context must be non-nil and will be used for request cancellation. If
1349// the context is nil a panic will occur. In the future the SDK may create
1350// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1351// for more information on using Contexts.
1352func (c *AlexaForBusiness) CreateSkillGroupWithContext(ctx aws.Context, input *CreateSkillGroupInput, opts ...request.Option) (*CreateSkillGroupOutput, error) {
1353	req, out := c.CreateSkillGroupRequest(input)
1354	req.SetContext(ctx)
1355	req.ApplyOptions(opts...)
1356	return out, req.Send()
1357}
1358
1359const opCreateUser = "CreateUser"
1360
1361// CreateUserRequest generates a "aws/request.Request" representing the
1362// client's request for the CreateUser operation. The "output" return
1363// value will be populated with the request's response once the request completes
1364// successfully.
1365//
1366// Use "Send" method on the returned Request to send the API call to the service.
1367// the "output" return value is not valid until after Send returns without error.
1368//
1369// See CreateUser for more information on using the CreateUser
1370// API call, and error handling.
1371//
1372// This method is useful when you want to inject custom logic or configuration
1373// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1374//
1375//
1376//    // Example sending a request using the CreateUserRequest method.
1377//    req, resp := client.CreateUserRequest(params)
1378//
1379//    err := req.Send()
1380//    if err == nil { // resp is now filled
1381//        fmt.Println(resp)
1382//    }
1383//
1384// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateUser
1385func (c *AlexaForBusiness) CreateUserRequest(input *CreateUserInput) (req *request.Request, output *CreateUserOutput) {
1386	op := &request.Operation{
1387		Name:       opCreateUser,
1388		HTTPMethod: "POST",
1389		HTTPPath:   "/",
1390	}
1391
1392	if input == nil {
1393		input = &CreateUserInput{}
1394	}
1395
1396	output = &CreateUserOutput{}
1397	req = c.newRequest(op, input, output)
1398	return
1399}
1400
1401// CreateUser API operation for Alexa For Business.
1402//
1403// Creates a user.
1404//
1405// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1406// with awserr.Error's Code and Message methods to get detailed information about
1407// the error.
1408//
1409// See the AWS API reference guide for Alexa For Business's
1410// API operation CreateUser for usage and error information.
1411//
1412// Returned Error Codes:
1413//   * ErrCodeResourceInUseException "ResourceInUseException"
1414//   The resource in the request is already in use.
1415//
1416//   * ErrCodeLimitExceededException "LimitExceededException"
1417//   You are performing an action that would put you beyond your account's limits.
1418//
1419//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1420//   There is a concurrent modification of resources.
1421//
1422// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/CreateUser
1423func (c *AlexaForBusiness) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) {
1424	req, out := c.CreateUserRequest(input)
1425	return out, req.Send()
1426}
1427
1428// CreateUserWithContext is the same as CreateUser with the addition of
1429// the ability to pass a context and additional request options.
1430//
1431// See CreateUser for details on how to use this API operation.
1432//
1433// The context must be non-nil and will be used for request cancellation. If
1434// the context is nil a panic will occur. In the future the SDK may create
1435// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1436// for more information on using Contexts.
1437func (c *AlexaForBusiness) CreateUserWithContext(ctx aws.Context, input *CreateUserInput, opts ...request.Option) (*CreateUserOutput, error) {
1438	req, out := c.CreateUserRequest(input)
1439	req.SetContext(ctx)
1440	req.ApplyOptions(opts...)
1441	return out, req.Send()
1442}
1443
1444const opDeleteAddressBook = "DeleteAddressBook"
1445
1446// DeleteAddressBookRequest generates a "aws/request.Request" representing the
1447// client's request for the DeleteAddressBook operation. The "output" return
1448// value will be populated with the request's response once the request completes
1449// successfully.
1450//
1451// Use "Send" method on the returned Request to send the API call to the service.
1452// the "output" return value is not valid until after Send returns without error.
1453//
1454// See DeleteAddressBook for more information on using the DeleteAddressBook
1455// API call, and error handling.
1456//
1457// This method is useful when you want to inject custom logic or configuration
1458// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1459//
1460//
1461//    // Example sending a request using the DeleteAddressBookRequest method.
1462//    req, resp := client.DeleteAddressBookRequest(params)
1463//
1464//    err := req.Send()
1465//    if err == nil { // resp is now filled
1466//        fmt.Println(resp)
1467//    }
1468//
1469// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteAddressBook
1470func (c *AlexaForBusiness) DeleteAddressBookRequest(input *DeleteAddressBookInput) (req *request.Request, output *DeleteAddressBookOutput) {
1471	op := &request.Operation{
1472		Name:       opDeleteAddressBook,
1473		HTTPMethod: "POST",
1474		HTTPPath:   "/",
1475	}
1476
1477	if input == nil {
1478		input = &DeleteAddressBookInput{}
1479	}
1480
1481	output = &DeleteAddressBookOutput{}
1482	req = c.newRequest(op, input, output)
1483	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1484	return
1485}
1486
1487// DeleteAddressBook API operation for Alexa For Business.
1488//
1489// Deletes an address book by the address book ARN.
1490//
1491// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1492// with awserr.Error's Code and Message methods to get detailed information about
1493// the error.
1494//
1495// See the AWS API reference guide for Alexa For Business's
1496// API operation DeleteAddressBook for usage and error information.
1497//
1498// Returned Error Codes:
1499//   * ErrCodeNotFoundException "NotFoundException"
1500//   The resource is not found.
1501//
1502//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1503//   There is a concurrent modification of resources.
1504//
1505// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteAddressBook
1506func (c *AlexaForBusiness) DeleteAddressBook(input *DeleteAddressBookInput) (*DeleteAddressBookOutput, error) {
1507	req, out := c.DeleteAddressBookRequest(input)
1508	return out, req.Send()
1509}
1510
1511// DeleteAddressBookWithContext is the same as DeleteAddressBook with the addition of
1512// the ability to pass a context and additional request options.
1513//
1514// See DeleteAddressBook for details on how to use this API operation.
1515//
1516// The context must be non-nil and will be used for request cancellation. If
1517// the context is nil a panic will occur. In the future the SDK may create
1518// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1519// for more information on using Contexts.
1520func (c *AlexaForBusiness) DeleteAddressBookWithContext(ctx aws.Context, input *DeleteAddressBookInput, opts ...request.Option) (*DeleteAddressBookOutput, error) {
1521	req, out := c.DeleteAddressBookRequest(input)
1522	req.SetContext(ctx)
1523	req.ApplyOptions(opts...)
1524	return out, req.Send()
1525}
1526
1527const opDeleteBusinessReportSchedule = "DeleteBusinessReportSchedule"
1528
1529// DeleteBusinessReportScheduleRequest generates a "aws/request.Request" representing the
1530// client's request for the DeleteBusinessReportSchedule operation. The "output" return
1531// value will be populated with the request's response once the request completes
1532// successfully.
1533//
1534// Use "Send" method on the returned Request to send the API call to the service.
1535// the "output" return value is not valid until after Send returns without error.
1536//
1537// See DeleteBusinessReportSchedule for more information on using the DeleteBusinessReportSchedule
1538// API call, and error handling.
1539//
1540// This method is useful when you want to inject custom logic or configuration
1541// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1542//
1543//
1544//    // Example sending a request using the DeleteBusinessReportScheduleRequest method.
1545//    req, resp := client.DeleteBusinessReportScheduleRequest(params)
1546//
1547//    err := req.Send()
1548//    if err == nil { // resp is now filled
1549//        fmt.Println(resp)
1550//    }
1551//
1552// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteBusinessReportSchedule
1553func (c *AlexaForBusiness) DeleteBusinessReportScheduleRequest(input *DeleteBusinessReportScheduleInput) (req *request.Request, output *DeleteBusinessReportScheduleOutput) {
1554	op := &request.Operation{
1555		Name:       opDeleteBusinessReportSchedule,
1556		HTTPMethod: "POST",
1557		HTTPPath:   "/",
1558	}
1559
1560	if input == nil {
1561		input = &DeleteBusinessReportScheduleInput{}
1562	}
1563
1564	output = &DeleteBusinessReportScheduleOutput{}
1565	req = c.newRequest(op, input, output)
1566	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1567	return
1568}
1569
1570// DeleteBusinessReportSchedule API operation for Alexa For Business.
1571//
1572// Deletes the recurring report delivery schedule with the specified schedule
1573// ARN.
1574//
1575// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1576// with awserr.Error's Code and Message methods to get detailed information about
1577// the error.
1578//
1579// See the AWS API reference guide for Alexa For Business's
1580// API operation DeleteBusinessReportSchedule for usage and error information.
1581//
1582// Returned Error Codes:
1583//   * ErrCodeNotFoundException "NotFoundException"
1584//   The resource is not found.
1585//
1586//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1587//   There is a concurrent modification of resources.
1588//
1589// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteBusinessReportSchedule
1590func (c *AlexaForBusiness) DeleteBusinessReportSchedule(input *DeleteBusinessReportScheduleInput) (*DeleteBusinessReportScheduleOutput, error) {
1591	req, out := c.DeleteBusinessReportScheduleRequest(input)
1592	return out, req.Send()
1593}
1594
1595// DeleteBusinessReportScheduleWithContext is the same as DeleteBusinessReportSchedule with the addition of
1596// the ability to pass a context and additional request options.
1597//
1598// See DeleteBusinessReportSchedule for details on how to use this API operation.
1599//
1600// The context must be non-nil and will be used for request cancellation. If
1601// the context is nil a panic will occur. In the future the SDK may create
1602// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1603// for more information on using Contexts.
1604func (c *AlexaForBusiness) DeleteBusinessReportScheduleWithContext(ctx aws.Context, input *DeleteBusinessReportScheduleInput, opts ...request.Option) (*DeleteBusinessReportScheduleOutput, error) {
1605	req, out := c.DeleteBusinessReportScheduleRequest(input)
1606	req.SetContext(ctx)
1607	req.ApplyOptions(opts...)
1608	return out, req.Send()
1609}
1610
1611const opDeleteConferenceProvider = "DeleteConferenceProvider"
1612
1613// DeleteConferenceProviderRequest generates a "aws/request.Request" representing the
1614// client's request for the DeleteConferenceProvider operation. The "output" return
1615// value will be populated with the request's response once the request completes
1616// successfully.
1617//
1618// Use "Send" method on the returned Request to send the API call to the service.
1619// the "output" return value is not valid until after Send returns without error.
1620//
1621// See DeleteConferenceProvider for more information on using the DeleteConferenceProvider
1622// API call, and error handling.
1623//
1624// This method is useful when you want to inject custom logic or configuration
1625// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1626//
1627//
1628//    // Example sending a request using the DeleteConferenceProviderRequest method.
1629//    req, resp := client.DeleteConferenceProviderRequest(params)
1630//
1631//    err := req.Send()
1632//    if err == nil { // resp is now filled
1633//        fmt.Println(resp)
1634//    }
1635//
1636// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteConferenceProvider
1637func (c *AlexaForBusiness) DeleteConferenceProviderRequest(input *DeleteConferenceProviderInput) (req *request.Request, output *DeleteConferenceProviderOutput) {
1638	op := &request.Operation{
1639		Name:       opDeleteConferenceProvider,
1640		HTTPMethod: "POST",
1641		HTTPPath:   "/",
1642	}
1643
1644	if input == nil {
1645		input = &DeleteConferenceProviderInput{}
1646	}
1647
1648	output = &DeleteConferenceProviderOutput{}
1649	req = c.newRequest(op, input, output)
1650	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1651	return
1652}
1653
1654// DeleteConferenceProvider API operation for Alexa For Business.
1655//
1656// Deletes a conference provider.
1657//
1658// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1659// with awserr.Error's Code and Message methods to get detailed information about
1660// the error.
1661//
1662// See the AWS API reference guide for Alexa For Business's
1663// API operation DeleteConferenceProvider for usage and error information.
1664//
1665// Returned Error Codes:
1666//   * ErrCodeNotFoundException "NotFoundException"
1667//   The resource is not found.
1668//
1669// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteConferenceProvider
1670func (c *AlexaForBusiness) DeleteConferenceProvider(input *DeleteConferenceProviderInput) (*DeleteConferenceProviderOutput, error) {
1671	req, out := c.DeleteConferenceProviderRequest(input)
1672	return out, req.Send()
1673}
1674
1675// DeleteConferenceProviderWithContext is the same as DeleteConferenceProvider with the addition of
1676// the ability to pass a context and additional request options.
1677//
1678// See DeleteConferenceProvider for details on how to use this API operation.
1679//
1680// The context must be non-nil and will be used for request cancellation. If
1681// the context is nil a panic will occur. In the future the SDK may create
1682// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1683// for more information on using Contexts.
1684func (c *AlexaForBusiness) DeleteConferenceProviderWithContext(ctx aws.Context, input *DeleteConferenceProviderInput, opts ...request.Option) (*DeleteConferenceProviderOutput, error) {
1685	req, out := c.DeleteConferenceProviderRequest(input)
1686	req.SetContext(ctx)
1687	req.ApplyOptions(opts...)
1688	return out, req.Send()
1689}
1690
1691const opDeleteContact = "DeleteContact"
1692
1693// DeleteContactRequest generates a "aws/request.Request" representing the
1694// client's request for the DeleteContact operation. The "output" return
1695// value will be populated with the request's response once the request completes
1696// successfully.
1697//
1698// Use "Send" method on the returned Request to send the API call to the service.
1699// the "output" return value is not valid until after Send returns without error.
1700//
1701// See DeleteContact for more information on using the DeleteContact
1702// API call, and error handling.
1703//
1704// This method is useful when you want to inject custom logic or configuration
1705// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1706//
1707//
1708//    // Example sending a request using the DeleteContactRequest method.
1709//    req, resp := client.DeleteContactRequest(params)
1710//
1711//    err := req.Send()
1712//    if err == nil { // resp is now filled
1713//        fmt.Println(resp)
1714//    }
1715//
1716// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteContact
1717func (c *AlexaForBusiness) DeleteContactRequest(input *DeleteContactInput) (req *request.Request, output *DeleteContactOutput) {
1718	op := &request.Operation{
1719		Name:       opDeleteContact,
1720		HTTPMethod: "POST",
1721		HTTPPath:   "/",
1722	}
1723
1724	if input == nil {
1725		input = &DeleteContactInput{}
1726	}
1727
1728	output = &DeleteContactOutput{}
1729	req = c.newRequest(op, input, output)
1730	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1731	return
1732}
1733
1734// DeleteContact API operation for Alexa For Business.
1735//
1736// Deletes a contact by the contact ARN.
1737//
1738// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1739// with awserr.Error's Code and Message methods to get detailed information about
1740// the error.
1741//
1742// See the AWS API reference guide for Alexa For Business's
1743// API operation DeleteContact for usage and error information.
1744//
1745// Returned Error Codes:
1746//   * ErrCodeNotFoundException "NotFoundException"
1747//   The resource is not found.
1748//
1749//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1750//   There is a concurrent modification of resources.
1751//
1752// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteContact
1753func (c *AlexaForBusiness) DeleteContact(input *DeleteContactInput) (*DeleteContactOutput, error) {
1754	req, out := c.DeleteContactRequest(input)
1755	return out, req.Send()
1756}
1757
1758// DeleteContactWithContext is the same as DeleteContact with the addition of
1759// the ability to pass a context and additional request options.
1760//
1761// See DeleteContact for details on how to use this API operation.
1762//
1763// The context must be non-nil and will be used for request cancellation. If
1764// the context is nil a panic will occur. In the future the SDK may create
1765// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1766// for more information on using Contexts.
1767func (c *AlexaForBusiness) DeleteContactWithContext(ctx aws.Context, input *DeleteContactInput, opts ...request.Option) (*DeleteContactOutput, error) {
1768	req, out := c.DeleteContactRequest(input)
1769	req.SetContext(ctx)
1770	req.ApplyOptions(opts...)
1771	return out, req.Send()
1772}
1773
1774const opDeleteDevice = "DeleteDevice"
1775
1776// DeleteDeviceRequest generates a "aws/request.Request" representing the
1777// client's request for the DeleteDevice operation. The "output" return
1778// value will be populated with the request's response once the request completes
1779// successfully.
1780//
1781// Use "Send" method on the returned Request to send the API call to the service.
1782// the "output" return value is not valid until after Send returns without error.
1783//
1784// See DeleteDevice for more information on using the DeleteDevice
1785// API call, and error handling.
1786//
1787// This method is useful when you want to inject custom logic or configuration
1788// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1789//
1790//
1791//    // Example sending a request using the DeleteDeviceRequest method.
1792//    req, resp := client.DeleteDeviceRequest(params)
1793//
1794//    err := req.Send()
1795//    if err == nil { // resp is now filled
1796//        fmt.Println(resp)
1797//    }
1798//
1799// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteDevice
1800func (c *AlexaForBusiness) DeleteDeviceRequest(input *DeleteDeviceInput) (req *request.Request, output *DeleteDeviceOutput) {
1801	op := &request.Operation{
1802		Name:       opDeleteDevice,
1803		HTTPMethod: "POST",
1804		HTTPPath:   "/",
1805	}
1806
1807	if input == nil {
1808		input = &DeleteDeviceInput{}
1809	}
1810
1811	output = &DeleteDeviceOutput{}
1812	req = c.newRequest(op, input, output)
1813	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1814	return
1815}
1816
1817// DeleteDevice API operation for Alexa For Business.
1818//
1819// Removes a device from Alexa For Business.
1820//
1821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1822// with awserr.Error's Code and Message methods to get detailed information about
1823// the error.
1824//
1825// See the AWS API reference guide for Alexa For Business's
1826// API operation DeleteDevice for usage and error information.
1827//
1828// Returned Error Codes:
1829//   * ErrCodeNotFoundException "NotFoundException"
1830//   The resource is not found.
1831//
1832//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
1833//   There is a concurrent modification of resources.
1834//
1835//   * ErrCodeInvalidCertificateAuthorityException "InvalidCertificateAuthorityException"
1836//   The Certificate Authority can't issue or revoke a certificate.
1837//
1838// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteDevice
1839func (c *AlexaForBusiness) DeleteDevice(input *DeleteDeviceInput) (*DeleteDeviceOutput, error) {
1840	req, out := c.DeleteDeviceRequest(input)
1841	return out, req.Send()
1842}
1843
1844// DeleteDeviceWithContext is the same as DeleteDevice with the addition of
1845// the ability to pass a context and additional request options.
1846//
1847// See DeleteDevice for details on how to use this API operation.
1848//
1849// The context must be non-nil and will be used for request cancellation. If
1850// the context is nil a panic will occur. In the future the SDK may create
1851// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1852// for more information on using Contexts.
1853func (c *AlexaForBusiness) DeleteDeviceWithContext(ctx aws.Context, input *DeleteDeviceInput, opts ...request.Option) (*DeleteDeviceOutput, error) {
1854	req, out := c.DeleteDeviceRequest(input)
1855	req.SetContext(ctx)
1856	req.ApplyOptions(opts...)
1857	return out, req.Send()
1858}
1859
1860const opDeleteDeviceUsageData = "DeleteDeviceUsageData"
1861
1862// DeleteDeviceUsageDataRequest generates a "aws/request.Request" representing the
1863// client's request for the DeleteDeviceUsageData operation. The "output" return
1864// value will be populated with the request's response once the request completes
1865// successfully.
1866//
1867// Use "Send" method on the returned Request to send the API call to the service.
1868// the "output" return value is not valid until after Send returns without error.
1869//
1870// See DeleteDeviceUsageData for more information on using the DeleteDeviceUsageData
1871// API call, and error handling.
1872//
1873// This method is useful when you want to inject custom logic or configuration
1874// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1875//
1876//
1877//    // Example sending a request using the DeleteDeviceUsageDataRequest method.
1878//    req, resp := client.DeleteDeviceUsageDataRequest(params)
1879//
1880//    err := req.Send()
1881//    if err == nil { // resp is now filled
1882//        fmt.Println(resp)
1883//    }
1884//
1885// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteDeviceUsageData
1886func (c *AlexaForBusiness) DeleteDeviceUsageDataRequest(input *DeleteDeviceUsageDataInput) (req *request.Request, output *DeleteDeviceUsageDataOutput) {
1887	op := &request.Operation{
1888		Name:       opDeleteDeviceUsageData,
1889		HTTPMethod: "POST",
1890		HTTPPath:   "/",
1891	}
1892
1893	if input == nil {
1894		input = &DeleteDeviceUsageDataInput{}
1895	}
1896
1897	output = &DeleteDeviceUsageDataOutput{}
1898	req = c.newRequest(op, input, output)
1899	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1900	return
1901}
1902
1903// DeleteDeviceUsageData API operation for Alexa For Business.
1904//
1905// When this action is called for a specified shared device, it allows authorized
1906// users to delete the device's entire previous history of voice input data
1907// and associated response data. This action can be called once every 24 hours
1908// for a specific shared device.
1909//
1910// When this action is called for a specified shared device, it allows authorized
1911// users to delete the device's entire previous history of voice input data.
1912// This action can be called once every 24 hours for a specific shared device.
1913//
1914// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1915// with awserr.Error's Code and Message methods to get detailed information about
1916// the error.
1917//
1918// See the AWS API reference guide for Alexa For Business's
1919// API operation DeleteDeviceUsageData for usage and error information.
1920//
1921// Returned Error Codes:
1922//   * ErrCodeNotFoundException "NotFoundException"
1923//   The resource is not found.
1924//
1925//   * ErrCodeDeviceNotRegisteredException "DeviceNotRegisteredException"
1926//   The request failed because this device is no longer registered and therefore
1927//   no longer managed by this account.
1928//
1929//   * ErrCodeLimitExceededException "LimitExceededException"
1930//   You are performing an action that would put you beyond your account's limits.
1931//
1932// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteDeviceUsageData
1933func (c *AlexaForBusiness) DeleteDeviceUsageData(input *DeleteDeviceUsageDataInput) (*DeleteDeviceUsageDataOutput, error) {
1934	req, out := c.DeleteDeviceUsageDataRequest(input)
1935	return out, req.Send()
1936}
1937
1938// DeleteDeviceUsageDataWithContext is the same as DeleteDeviceUsageData with the addition of
1939// the ability to pass a context and additional request options.
1940//
1941// See DeleteDeviceUsageData for details on how to use this API operation.
1942//
1943// The context must be non-nil and will be used for request cancellation. If
1944// the context is nil a panic will occur. In the future the SDK may create
1945// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1946// for more information on using Contexts.
1947func (c *AlexaForBusiness) DeleteDeviceUsageDataWithContext(ctx aws.Context, input *DeleteDeviceUsageDataInput, opts ...request.Option) (*DeleteDeviceUsageDataOutput, error) {
1948	req, out := c.DeleteDeviceUsageDataRequest(input)
1949	req.SetContext(ctx)
1950	req.ApplyOptions(opts...)
1951	return out, req.Send()
1952}
1953
1954const opDeleteGatewayGroup = "DeleteGatewayGroup"
1955
1956// DeleteGatewayGroupRequest generates a "aws/request.Request" representing the
1957// client's request for the DeleteGatewayGroup operation. The "output" return
1958// value will be populated with the request's response once the request completes
1959// successfully.
1960//
1961// Use "Send" method on the returned Request to send the API call to the service.
1962// the "output" return value is not valid until after Send returns without error.
1963//
1964// See DeleteGatewayGroup for more information on using the DeleteGatewayGroup
1965// API call, and error handling.
1966//
1967// This method is useful when you want to inject custom logic or configuration
1968// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1969//
1970//
1971//    // Example sending a request using the DeleteGatewayGroupRequest method.
1972//    req, resp := client.DeleteGatewayGroupRequest(params)
1973//
1974//    err := req.Send()
1975//    if err == nil { // resp is now filled
1976//        fmt.Println(resp)
1977//    }
1978//
1979// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteGatewayGroup
1980func (c *AlexaForBusiness) DeleteGatewayGroupRequest(input *DeleteGatewayGroupInput) (req *request.Request, output *DeleteGatewayGroupOutput) {
1981	op := &request.Operation{
1982		Name:       opDeleteGatewayGroup,
1983		HTTPMethod: "POST",
1984		HTTPPath:   "/",
1985	}
1986
1987	if input == nil {
1988		input = &DeleteGatewayGroupInput{}
1989	}
1990
1991	output = &DeleteGatewayGroupOutput{}
1992	req = c.newRequest(op, input, output)
1993	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1994	return
1995}
1996
1997// DeleteGatewayGroup API operation for Alexa For Business.
1998//
1999// Deletes a gateway group.
2000//
2001// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2002// with awserr.Error's Code and Message methods to get detailed information about
2003// the error.
2004//
2005// See the AWS API reference guide for Alexa For Business's
2006// API operation DeleteGatewayGroup for usage and error information.
2007//
2008// Returned Error Codes:
2009//   * ErrCodeResourceAssociatedException "ResourceAssociatedException"
2010//   Another resource is associated with the resource in the request.
2011//
2012// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteGatewayGroup
2013func (c *AlexaForBusiness) DeleteGatewayGroup(input *DeleteGatewayGroupInput) (*DeleteGatewayGroupOutput, error) {
2014	req, out := c.DeleteGatewayGroupRequest(input)
2015	return out, req.Send()
2016}
2017
2018// DeleteGatewayGroupWithContext is the same as DeleteGatewayGroup with the addition of
2019// the ability to pass a context and additional request options.
2020//
2021// See DeleteGatewayGroup for details on how to use this API operation.
2022//
2023// The context must be non-nil and will be used for request cancellation. If
2024// the context is nil a panic will occur. In the future the SDK may create
2025// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2026// for more information on using Contexts.
2027func (c *AlexaForBusiness) DeleteGatewayGroupWithContext(ctx aws.Context, input *DeleteGatewayGroupInput, opts ...request.Option) (*DeleteGatewayGroupOutput, error) {
2028	req, out := c.DeleteGatewayGroupRequest(input)
2029	req.SetContext(ctx)
2030	req.ApplyOptions(opts...)
2031	return out, req.Send()
2032}
2033
2034const opDeleteNetworkProfile = "DeleteNetworkProfile"
2035
2036// DeleteNetworkProfileRequest generates a "aws/request.Request" representing the
2037// client's request for the DeleteNetworkProfile operation. The "output" return
2038// value will be populated with the request's response once the request completes
2039// successfully.
2040//
2041// Use "Send" method on the returned Request to send the API call to the service.
2042// the "output" return value is not valid until after Send returns without error.
2043//
2044// See DeleteNetworkProfile for more information on using the DeleteNetworkProfile
2045// API call, and error handling.
2046//
2047// This method is useful when you want to inject custom logic or configuration
2048// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2049//
2050//
2051//    // Example sending a request using the DeleteNetworkProfileRequest method.
2052//    req, resp := client.DeleteNetworkProfileRequest(params)
2053//
2054//    err := req.Send()
2055//    if err == nil { // resp is now filled
2056//        fmt.Println(resp)
2057//    }
2058//
2059// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteNetworkProfile
2060func (c *AlexaForBusiness) DeleteNetworkProfileRequest(input *DeleteNetworkProfileInput) (req *request.Request, output *DeleteNetworkProfileOutput) {
2061	op := &request.Operation{
2062		Name:       opDeleteNetworkProfile,
2063		HTTPMethod: "POST",
2064		HTTPPath:   "/",
2065	}
2066
2067	if input == nil {
2068		input = &DeleteNetworkProfileInput{}
2069	}
2070
2071	output = &DeleteNetworkProfileOutput{}
2072	req = c.newRequest(op, input, output)
2073	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2074	return
2075}
2076
2077// DeleteNetworkProfile API operation for Alexa For Business.
2078//
2079// Deletes a network profile by the network profile ARN.
2080//
2081// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2082// with awserr.Error's Code and Message methods to get detailed information about
2083// the error.
2084//
2085// See the AWS API reference guide for Alexa For Business's
2086// API operation DeleteNetworkProfile for usage and error information.
2087//
2088// Returned Error Codes:
2089//   * ErrCodeResourceInUseException "ResourceInUseException"
2090//   The resource in the request is already in use.
2091//
2092//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
2093//   There is a concurrent modification of resources.
2094//
2095//   * ErrCodeNotFoundException "NotFoundException"
2096//   The resource is not found.
2097//
2098// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteNetworkProfile
2099func (c *AlexaForBusiness) DeleteNetworkProfile(input *DeleteNetworkProfileInput) (*DeleteNetworkProfileOutput, error) {
2100	req, out := c.DeleteNetworkProfileRequest(input)
2101	return out, req.Send()
2102}
2103
2104// DeleteNetworkProfileWithContext is the same as DeleteNetworkProfile with the addition of
2105// the ability to pass a context and additional request options.
2106//
2107// See DeleteNetworkProfile for details on how to use this API operation.
2108//
2109// The context must be non-nil and will be used for request cancellation. If
2110// the context is nil a panic will occur. In the future the SDK may create
2111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2112// for more information on using Contexts.
2113func (c *AlexaForBusiness) DeleteNetworkProfileWithContext(ctx aws.Context, input *DeleteNetworkProfileInput, opts ...request.Option) (*DeleteNetworkProfileOutput, error) {
2114	req, out := c.DeleteNetworkProfileRequest(input)
2115	req.SetContext(ctx)
2116	req.ApplyOptions(opts...)
2117	return out, req.Send()
2118}
2119
2120const opDeleteProfile = "DeleteProfile"
2121
2122// DeleteProfileRequest generates a "aws/request.Request" representing the
2123// client's request for the DeleteProfile operation. The "output" return
2124// value will be populated with the request's response once the request completes
2125// successfully.
2126//
2127// Use "Send" method on the returned Request to send the API call to the service.
2128// the "output" return value is not valid until after Send returns without error.
2129//
2130// See DeleteProfile for more information on using the DeleteProfile
2131// API call, and error handling.
2132//
2133// This method is useful when you want to inject custom logic or configuration
2134// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2135//
2136//
2137//    // Example sending a request using the DeleteProfileRequest method.
2138//    req, resp := client.DeleteProfileRequest(params)
2139//
2140//    err := req.Send()
2141//    if err == nil { // resp is now filled
2142//        fmt.Println(resp)
2143//    }
2144//
2145// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteProfile
2146func (c *AlexaForBusiness) DeleteProfileRequest(input *DeleteProfileInput) (req *request.Request, output *DeleteProfileOutput) {
2147	op := &request.Operation{
2148		Name:       opDeleteProfile,
2149		HTTPMethod: "POST",
2150		HTTPPath:   "/",
2151	}
2152
2153	if input == nil {
2154		input = &DeleteProfileInput{}
2155	}
2156
2157	output = &DeleteProfileOutput{}
2158	req = c.newRequest(op, input, output)
2159	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2160	return
2161}
2162
2163// DeleteProfile API operation for Alexa For Business.
2164//
2165// Deletes a room profile by the profile ARN.
2166//
2167// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2168// with awserr.Error's Code and Message methods to get detailed information about
2169// the error.
2170//
2171// See the AWS API reference guide for Alexa For Business's
2172// API operation DeleteProfile for usage and error information.
2173//
2174// Returned Error Codes:
2175//   * ErrCodeNotFoundException "NotFoundException"
2176//   The resource is not found.
2177//
2178//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
2179//   There is a concurrent modification of resources.
2180//
2181// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteProfile
2182func (c *AlexaForBusiness) DeleteProfile(input *DeleteProfileInput) (*DeleteProfileOutput, error) {
2183	req, out := c.DeleteProfileRequest(input)
2184	return out, req.Send()
2185}
2186
2187// DeleteProfileWithContext is the same as DeleteProfile with the addition of
2188// the ability to pass a context and additional request options.
2189//
2190// See DeleteProfile for details on how to use this API operation.
2191//
2192// The context must be non-nil and will be used for request cancellation. If
2193// the context is nil a panic will occur. In the future the SDK may create
2194// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2195// for more information on using Contexts.
2196func (c *AlexaForBusiness) DeleteProfileWithContext(ctx aws.Context, input *DeleteProfileInput, opts ...request.Option) (*DeleteProfileOutput, error) {
2197	req, out := c.DeleteProfileRequest(input)
2198	req.SetContext(ctx)
2199	req.ApplyOptions(opts...)
2200	return out, req.Send()
2201}
2202
2203const opDeleteRoom = "DeleteRoom"
2204
2205// DeleteRoomRequest generates a "aws/request.Request" representing the
2206// client's request for the DeleteRoom operation. The "output" return
2207// value will be populated with the request's response once the request completes
2208// successfully.
2209//
2210// Use "Send" method on the returned Request to send the API call to the service.
2211// the "output" return value is not valid until after Send returns without error.
2212//
2213// See DeleteRoom for more information on using the DeleteRoom
2214// API call, and error handling.
2215//
2216// This method is useful when you want to inject custom logic or configuration
2217// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2218//
2219//
2220//    // Example sending a request using the DeleteRoomRequest method.
2221//    req, resp := client.DeleteRoomRequest(params)
2222//
2223//    err := req.Send()
2224//    if err == nil { // resp is now filled
2225//        fmt.Println(resp)
2226//    }
2227//
2228// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteRoom
2229func (c *AlexaForBusiness) DeleteRoomRequest(input *DeleteRoomInput) (req *request.Request, output *DeleteRoomOutput) {
2230	op := &request.Operation{
2231		Name:       opDeleteRoom,
2232		HTTPMethod: "POST",
2233		HTTPPath:   "/",
2234	}
2235
2236	if input == nil {
2237		input = &DeleteRoomInput{}
2238	}
2239
2240	output = &DeleteRoomOutput{}
2241	req = c.newRequest(op, input, output)
2242	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2243	return
2244}
2245
2246// DeleteRoom API operation for Alexa For Business.
2247//
2248// Deletes a room by the room ARN.
2249//
2250// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2251// with awserr.Error's Code and Message methods to get detailed information about
2252// the error.
2253//
2254// See the AWS API reference guide for Alexa For Business's
2255// API operation DeleteRoom for usage and error information.
2256//
2257// Returned Error Codes:
2258//   * ErrCodeNotFoundException "NotFoundException"
2259//   The resource is not found.
2260//
2261//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
2262//   There is a concurrent modification of resources.
2263//
2264// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteRoom
2265func (c *AlexaForBusiness) DeleteRoom(input *DeleteRoomInput) (*DeleteRoomOutput, error) {
2266	req, out := c.DeleteRoomRequest(input)
2267	return out, req.Send()
2268}
2269
2270// DeleteRoomWithContext is the same as DeleteRoom with the addition of
2271// the ability to pass a context and additional request options.
2272//
2273// See DeleteRoom for details on how to use this API operation.
2274//
2275// The context must be non-nil and will be used for request cancellation. If
2276// the context is nil a panic will occur. In the future the SDK may create
2277// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2278// for more information on using Contexts.
2279func (c *AlexaForBusiness) DeleteRoomWithContext(ctx aws.Context, input *DeleteRoomInput, opts ...request.Option) (*DeleteRoomOutput, error) {
2280	req, out := c.DeleteRoomRequest(input)
2281	req.SetContext(ctx)
2282	req.ApplyOptions(opts...)
2283	return out, req.Send()
2284}
2285
2286const opDeleteRoomSkillParameter = "DeleteRoomSkillParameter"
2287
2288// DeleteRoomSkillParameterRequest generates a "aws/request.Request" representing the
2289// client's request for the DeleteRoomSkillParameter operation. The "output" return
2290// value will be populated with the request's response once the request completes
2291// successfully.
2292//
2293// Use "Send" method on the returned Request to send the API call to the service.
2294// the "output" return value is not valid until after Send returns without error.
2295//
2296// See DeleteRoomSkillParameter for more information on using the DeleteRoomSkillParameter
2297// API call, and error handling.
2298//
2299// This method is useful when you want to inject custom logic or configuration
2300// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2301//
2302//
2303//    // Example sending a request using the DeleteRoomSkillParameterRequest method.
2304//    req, resp := client.DeleteRoomSkillParameterRequest(params)
2305//
2306//    err := req.Send()
2307//    if err == nil { // resp is now filled
2308//        fmt.Println(resp)
2309//    }
2310//
2311// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteRoomSkillParameter
2312func (c *AlexaForBusiness) DeleteRoomSkillParameterRequest(input *DeleteRoomSkillParameterInput) (req *request.Request, output *DeleteRoomSkillParameterOutput) {
2313	op := &request.Operation{
2314		Name:       opDeleteRoomSkillParameter,
2315		HTTPMethod: "POST",
2316		HTTPPath:   "/",
2317	}
2318
2319	if input == nil {
2320		input = &DeleteRoomSkillParameterInput{}
2321	}
2322
2323	output = &DeleteRoomSkillParameterOutput{}
2324	req = c.newRequest(op, input, output)
2325	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2326	return
2327}
2328
2329// DeleteRoomSkillParameter API operation for Alexa For Business.
2330//
2331// Deletes room skill parameter details by room, skill, and parameter key ID.
2332//
2333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2334// with awserr.Error's Code and Message methods to get detailed information about
2335// the error.
2336//
2337// See the AWS API reference guide for Alexa For Business's
2338// API operation DeleteRoomSkillParameter for usage and error information.
2339//
2340// Returned Error Codes:
2341//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
2342//   There is a concurrent modification of resources.
2343//
2344// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteRoomSkillParameter
2345func (c *AlexaForBusiness) DeleteRoomSkillParameter(input *DeleteRoomSkillParameterInput) (*DeleteRoomSkillParameterOutput, error) {
2346	req, out := c.DeleteRoomSkillParameterRequest(input)
2347	return out, req.Send()
2348}
2349
2350// DeleteRoomSkillParameterWithContext is the same as DeleteRoomSkillParameter with the addition of
2351// the ability to pass a context and additional request options.
2352//
2353// See DeleteRoomSkillParameter for details on how to use this API operation.
2354//
2355// The context must be non-nil and will be used for request cancellation. If
2356// the context is nil a panic will occur. In the future the SDK may create
2357// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2358// for more information on using Contexts.
2359func (c *AlexaForBusiness) DeleteRoomSkillParameterWithContext(ctx aws.Context, input *DeleteRoomSkillParameterInput, opts ...request.Option) (*DeleteRoomSkillParameterOutput, error) {
2360	req, out := c.DeleteRoomSkillParameterRequest(input)
2361	req.SetContext(ctx)
2362	req.ApplyOptions(opts...)
2363	return out, req.Send()
2364}
2365
2366const opDeleteSkillAuthorization = "DeleteSkillAuthorization"
2367
2368// DeleteSkillAuthorizationRequest generates a "aws/request.Request" representing the
2369// client's request for the DeleteSkillAuthorization operation. The "output" return
2370// value will be populated with the request's response once the request completes
2371// successfully.
2372//
2373// Use "Send" method on the returned Request to send the API call to the service.
2374// the "output" return value is not valid until after Send returns without error.
2375//
2376// See DeleteSkillAuthorization for more information on using the DeleteSkillAuthorization
2377// API call, and error handling.
2378//
2379// This method is useful when you want to inject custom logic or configuration
2380// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2381//
2382//
2383//    // Example sending a request using the DeleteSkillAuthorizationRequest method.
2384//    req, resp := client.DeleteSkillAuthorizationRequest(params)
2385//
2386//    err := req.Send()
2387//    if err == nil { // resp is now filled
2388//        fmt.Println(resp)
2389//    }
2390//
2391// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteSkillAuthorization
2392func (c *AlexaForBusiness) DeleteSkillAuthorizationRequest(input *DeleteSkillAuthorizationInput) (req *request.Request, output *DeleteSkillAuthorizationOutput) {
2393	op := &request.Operation{
2394		Name:       opDeleteSkillAuthorization,
2395		HTTPMethod: "POST",
2396		HTTPPath:   "/",
2397	}
2398
2399	if input == nil {
2400		input = &DeleteSkillAuthorizationInput{}
2401	}
2402
2403	output = &DeleteSkillAuthorizationOutput{}
2404	req = c.newRequest(op, input, output)
2405	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2406	return
2407}
2408
2409// DeleteSkillAuthorization API operation for Alexa For Business.
2410//
2411// Unlinks a third-party account from a skill.
2412//
2413// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2414// with awserr.Error's Code and Message methods to get detailed information about
2415// the error.
2416//
2417// See the AWS API reference guide for Alexa For Business's
2418// API operation DeleteSkillAuthorization for usage and error information.
2419//
2420// Returned Error Codes:
2421//   * ErrCodeNotFoundException "NotFoundException"
2422//   The resource is not found.
2423//
2424//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
2425//   There is a concurrent modification of resources.
2426//
2427// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteSkillAuthorization
2428func (c *AlexaForBusiness) DeleteSkillAuthorization(input *DeleteSkillAuthorizationInput) (*DeleteSkillAuthorizationOutput, error) {
2429	req, out := c.DeleteSkillAuthorizationRequest(input)
2430	return out, req.Send()
2431}
2432
2433// DeleteSkillAuthorizationWithContext is the same as DeleteSkillAuthorization with the addition of
2434// the ability to pass a context and additional request options.
2435//
2436// See DeleteSkillAuthorization for details on how to use this API operation.
2437//
2438// The context must be non-nil and will be used for request cancellation. If
2439// the context is nil a panic will occur. In the future the SDK may create
2440// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2441// for more information on using Contexts.
2442func (c *AlexaForBusiness) DeleteSkillAuthorizationWithContext(ctx aws.Context, input *DeleteSkillAuthorizationInput, opts ...request.Option) (*DeleteSkillAuthorizationOutput, error) {
2443	req, out := c.DeleteSkillAuthorizationRequest(input)
2444	req.SetContext(ctx)
2445	req.ApplyOptions(opts...)
2446	return out, req.Send()
2447}
2448
2449const opDeleteSkillGroup = "DeleteSkillGroup"
2450
2451// DeleteSkillGroupRequest generates a "aws/request.Request" representing the
2452// client's request for the DeleteSkillGroup operation. The "output" return
2453// value will be populated with the request's response once the request completes
2454// successfully.
2455//
2456// Use "Send" method on the returned Request to send the API call to the service.
2457// the "output" return value is not valid until after Send returns without error.
2458//
2459// See DeleteSkillGroup for more information on using the DeleteSkillGroup
2460// API call, and error handling.
2461//
2462// This method is useful when you want to inject custom logic or configuration
2463// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2464//
2465//
2466//    // Example sending a request using the DeleteSkillGroupRequest method.
2467//    req, resp := client.DeleteSkillGroupRequest(params)
2468//
2469//    err := req.Send()
2470//    if err == nil { // resp is now filled
2471//        fmt.Println(resp)
2472//    }
2473//
2474// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteSkillGroup
2475func (c *AlexaForBusiness) DeleteSkillGroupRequest(input *DeleteSkillGroupInput) (req *request.Request, output *DeleteSkillGroupOutput) {
2476	op := &request.Operation{
2477		Name:       opDeleteSkillGroup,
2478		HTTPMethod: "POST",
2479		HTTPPath:   "/",
2480	}
2481
2482	if input == nil {
2483		input = &DeleteSkillGroupInput{}
2484	}
2485
2486	output = &DeleteSkillGroupOutput{}
2487	req = c.newRequest(op, input, output)
2488	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2489	return
2490}
2491
2492// DeleteSkillGroup API operation for Alexa For Business.
2493//
2494// Deletes a skill group by skill group ARN.
2495//
2496// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2497// with awserr.Error's Code and Message methods to get detailed information about
2498// the error.
2499//
2500// See the AWS API reference guide for Alexa For Business's
2501// API operation DeleteSkillGroup for usage and error information.
2502//
2503// Returned Error Codes:
2504//   * ErrCodeNotFoundException "NotFoundException"
2505//   The resource is not found.
2506//
2507//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
2508//   There is a concurrent modification of resources.
2509//
2510// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteSkillGroup
2511func (c *AlexaForBusiness) DeleteSkillGroup(input *DeleteSkillGroupInput) (*DeleteSkillGroupOutput, error) {
2512	req, out := c.DeleteSkillGroupRequest(input)
2513	return out, req.Send()
2514}
2515
2516// DeleteSkillGroupWithContext is the same as DeleteSkillGroup with the addition of
2517// the ability to pass a context and additional request options.
2518//
2519// See DeleteSkillGroup for details on how to use this API operation.
2520//
2521// The context must be non-nil and will be used for request cancellation. If
2522// the context is nil a panic will occur. In the future the SDK may create
2523// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2524// for more information on using Contexts.
2525func (c *AlexaForBusiness) DeleteSkillGroupWithContext(ctx aws.Context, input *DeleteSkillGroupInput, opts ...request.Option) (*DeleteSkillGroupOutput, error) {
2526	req, out := c.DeleteSkillGroupRequest(input)
2527	req.SetContext(ctx)
2528	req.ApplyOptions(opts...)
2529	return out, req.Send()
2530}
2531
2532const opDeleteUser = "DeleteUser"
2533
2534// DeleteUserRequest generates a "aws/request.Request" representing the
2535// client's request for the DeleteUser operation. The "output" return
2536// value will be populated with the request's response once the request completes
2537// successfully.
2538//
2539// Use "Send" method on the returned Request to send the API call to the service.
2540// the "output" return value is not valid until after Send returns without error.
2541//
2542// See DeleteUser for more information on using the DeleteUser
2543// API call, and error handling.
2544//
2545// This method is useful when you want to inject custom logic or configuration
2546// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2547//
2548//
2549//    // Example sending a request using the DeleteUserRequest method.
2550//    req, resp := client.DeleteUserRequest(params)
2551//
2552//    err := req.Send()
2553//    if err == nil { // resp is now filled
2554//        fmt.Println(resp)
2555//    }
2556//
2557// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteUser
2558func (c *AlexaForBusiness) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) {
2559	op := &request.Operation{
2560		Name:       opDeleteUser,
2561		HTTPMethod: "POST",
2562		HTTPPath:   "/",
2563	}
2564
2565	if input == nil {
2566		input = &DeleteUserInput{}
2567	}
2568
2569	output = &DeleteUserOutput{}
2570	req = c.newRequest(op, input, output)
2571	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2572	return
2573}
2574
2575// DeleteUser API operation for Alexa For Business.
2576//
2577// Deletes a specified user by user ARN and enrollment ARN.
2578//
2579// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2580// with awserr.Error's Code and Message methods to get detailed information about
2581// the error.
2582//
2583// See the AWS API reference guide for Alexa For Business's
2584// API operation DeleteUser for usage and error information.
2585//
2586// Returned Error Codes:
2587//   * ErrCodeNotFoundException "NotFoundException"
2588//   The resource is not found.
2589//
2590//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
2591//   There is a concurrent modification of resources.
2592//
2593// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteUser
2594func (c *AlexaForBusiness) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) {
2595	req, out := c.DeleteUserRequest(input)
2596	return out, req.Send()
2597}
2598
2599// DeleteUserWithContext is the same as DeleteUser with the addition of
2600// the ability to pass a context and additional request options.
2601//
2602// See DeleteUser for details on how to use this API operation.
2603//
2604// The context must be non-nil and will be used for request cancellation. If
2605// the context is nil a panic will occur. In the future the SDK may create
2606// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2607// for more information on using Contexts.
2608func (c *AlexaForBusiness) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) {
2609	req, out := c.DeleteUserRequest(input)
2610	req.SetContext(ctx)
2611	req.ApplyOptions(opts...)
2612	return out, req.Send()
2613}
2614
2615const opDisassociateContactFromAddressBook = "DisassociateContactFromAddressBook"
2616
2617// DisassociateContactFromAddressBookRequest generates a "aws/request.Request" representing the
2618// client's request for the DisassociateContactFromAddressBook operation. The "output" return
2619// value will be populated with the request's response once the request completes
2620// successfully.
2621//
2622// Use "Send" method on the returned Request to send the API call to the service.
2623// the "output" return value is not valid until after Send returns without error.
2624//
2625// See DisassociateContactFromAddressBook for more information on using the DisassociateContactFromAddressBook
2626// API call, and error handling.
2627//
2628// This method is useful when you want to inject custom logic or configuration
2629// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2630//
2631//
2632//    // Example sending a request using the DisassociateContactFromAddressBookRequest method.
2633//    req, resp := client.DisassociateContactFromAddressBookRequest(params)
2634//
2635//    err := req.Send()
2636//    if err == nil { // resp is now filled
2637//        fmt.Println(resp)
2638//    }
2639//
2640// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateContactFromAddressBook
2641func (c *AlexaForBusiness) DisassociateContactFromAddressBookRequest(input *DisassociateContactFromAddressBookInput) (req *request.Request, output *DisassociateContactFromAddressBookOutput) {
2642	op := &request.Operation{
2643		Name:       opDisassociateContactFromAddressBook,
2644		HTTPMethod: "POST",
2645		HTTPPath:   "/",
2646	}
2647
2648	if input == nil {
2649		input = &DisassociateContactFromAddressBookInput{}
2650	}
2651
2652	output = &DisassociateContactFromAddressBookOutput{}
2653	req = c.newRequest(op, input, output)
2654	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2655	return
2656}
2657
2658// DisassociateContactFromAddressBook API operation for Alexa For Business.
2659//
2660// Disassociates a contact from a given address book.
2661//
2662// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2663// with awserr.Error's Code and Message methods to get detailed information about
2664// the error.
2665//
2666// See the AWS API reference guide for Alexa For Business's
2667// API operation DisassociateContactFromAddressBook for usage and error information.
2668// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateContactFromAddressBook
2669func (c *AlexaForBusiness) DisassociateContactFromAddressBook(input *DisassociateContactFromAddressBookInput) (*DisassociateContactFromAddressBookOutput, error) {
2670	req, out := c.DisassociateContactFromAddressBookRequest(input)
2671	return out, req.Send()
2672}
2673
2674// DisassociateContactFromAddressBookWithContext is the same as DisassociateContactFromAddressBook with the addition of
2675// the ability to pass a context and additional request options.
2676//
2677// See DisassociateContactFromAddressBook for details on how to use this API operation.
2678//
2679// The context must be non-nil and will be used for request cancellation. If
2680// the context is nil a panic will occur. In the future the SDK may create
2681// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2682// for more information on using Contexts.
2683func (c *AlexaForBusiness) DisassociateContactFromAddressBookWithContext(ctx aws.Context, input *DisassociateContactFromAddressBookInput, opts ...request.Option) (*DisassociateContactFromAddressBookOutput, error) {
2684	req, out := c.DisassociateContactFromAddressBookRequest(input)
2685	req.SetContext(ctx)
2686	req.ApplyOptions(opts...)
2687	return out, req.Send()
2688}
2689
2690const opDisassociateDeviceFromRoom = "DisassociateDeviceFromRoom"
2691
2692// DisassociateDeviceFromRoomRequest generates a "aws/request.Request" representing the
2693// client's request for the DisassociateDeviceFromRoom operation. The "output" return
2694// value will be populated with the request's response once the request completes
2695// successfully.
2696//
2697// Use "Send" method on the returned Request to send the API call to the service.
2698// the "output" return value is not valid until after Send returns without error.
2699//
2700// See DisassociateDeviceFromRoom for more information on using the DisassociateDeviceFromRoom
2701// API call, and error handling.
2702//
2703// This method is useful when you want to inject custom logic or configuration
2704// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2705//
2706//
2707//    // Example sending a request using the DisassociateDeviceFromRoomRequest method.
2708//    req, resp := client.DisassociateDeviceFromRoomRequest(params)
2709//
2710//    err := req.Send()
2711//    if err == nil { // resp is now filled
2712//        fmt.Println(resp)
2713//    }
2714//
2715// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateDeviceFromRoom
2716func (c *AlexaForBusiness) DisassociateDeviceFromRoomRequest(input *DisassociateDeviceFromRoomInput) (req *request.Request, output *DisassociateDeviceFromRoomOutput) {
2717	op := &request.Operation{
2718		Name:       opDisassociateDeviceFromRoom,
2719		HTTPMethod: "POST",
2720		HTTPPath:   "/",
2721	}
2722
2723	if input == nil {
2724		input = &DisassociateDeviceFromRoomInput{}
2725	}
2726
2727	output = &DisassociateDeviceFromRoomOutput{}
2728	req = c.newRequest(op, input, output)
2729	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2730	return
2731}
2732
2733// DisassociateDeviceFromRoom API operation for Alexa For Business.
2734//
2735// Disassociates a device from its current room. The device continues to be
2736// connected to the Wi-Fi network and is still registered to the account. The
2737// device settings and skills are removed from the room.
2738//
2739// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2740// with awserr.Error's Code and Message methods to get detailed information about
2741// the error.
2742//
2743// See the AWS API reference guide for Alexa For Business's
2744// API operation DisassociateDeviceFromRoom for usage and error information.
2745//
2746// Returned Error Codes:
2747//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
2748//   There is a concurrent modification of resources.
2749//
2750//   * ErrCodeDeviceNotRegisteredException "DeviceNotRegisteredException"
2751//   The request failed because this device is no longer registered and therefore
2752//   no longer managed by this account.
2753//
2754// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateDeviceFromRoom
2755func (c *AlexaForBusiness) DisassociateDeviceFromRoom(input *DisassociateDeviceFromRoomInput) (*DisassociateDeviceFromRoomOutput, error) {
2756	req, out := c.DisassociateDeviceFromRoomRequest(input)
2757	return out, req.Send()
2758}
2759
2760// DisassociateDeviceFromRoomWithContext is the same as DisassociateDeviceFromRoom with the addition of
2761// the ability to pass a context and additional request options.
2762//
2763// See DisassociateDeviceFromRoom for details on how to use this API operation.
2764//
2765// The context must be non-nil and will be used for request cancellation. If
2766// the context is nil a panic will occur. In the future the SDK may create
2767// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2768// for more information on using Contexts.
2769func (c *AlexaForBusiness) DisassociateDeviceFromRoomWithContext(ctx aws.Context, input *DisassociateDeviceFromRoomInput, opts ...request.Option) (*DisassociateDeviceFromRoomOutput, error) {
2770	req, out := c.DisassociateDeviceFromRoomRequest(input)
2771	req.SetContext(ctx)
2772	req.ApplyOptions(opts...)
2773	return out, req.Send()
2774}
2775
2776const opDisassociateSkillFromSkillGroup = "DisassociateSkillFromSkillGroup"
2777
2778// DisassociateSkillFromSkillGroupRequest generates a "aws/request.Request" representing the
2779// client's request for the DisassociateSkillFromSkillGroup operation. The "output" return
2780// value will be populated with the request's response once the request completes
2781// successfully.
2782//
2783// Use "Send" method on the returned Request to send the API call to the service.
2784// the "output" return value is not valid until after Send returns without error.
2785//
2786// See DisassociateSkillFromSkillGroup for more information on using the DisassociateSkillFromSkillGroup
2787// API call, and error handling.
2788//
2789// This method is useful when you want to inject custom logic or configuration
2790// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2791//
2792//
2793//    // Example sending a request using the DisassociateSkillFromSkillGroupRequest method.
2794//    req, resp := client.DisassociateSkillFromSkillGroupRequest(params)
2795//
2796//    err := req.Send()
2797//    if err == nil { // resp is now filled
2798//        fmt.Println(resp)
2799//    }
2800//
2801// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateSkillFromSkillGroup
2802func (c *AlexaForBusiness) DisassociateSkillFromSkillGroupRequest(input *DisassociateSkillFromSkillGroupInput) (req *request.Request, output *DisassociateSkillFromSkillGroupOutput) {
2803	op := &request.Operation{
2804		Name:       opDisassociateSkillFromSkillGroup,
2805		HTTPMethod: "POST",
2806		HTTPPath:   "/",
2807	}
2808
2809	if input == nil {
2810		input = &DisassociateSkillFromSkillGroupInput{}
2811	}
2812
2813	output = &DisassociateSkillFromSkillGroupOutput{}
2814	req = c.newRequest(op, input, output)
2815	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2816	return
2817}
2818
2819// DisassociateSkillFromSkillGroup API operation for Alexa For Business.
2820//
2821// Disassociates a skill from a skill group.
2822//
2823// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2824// with awserr.Error's Code and Message methods to get detailed information about
2825// the error.
2826//
2827// See the AWS API reference guide for Alexa For Business's
2828// API operation DisassociateSkillFromSkillGroup for usage and error information.
2829//
2830// Returned Error Codes:
2831//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
2832//   There is a concurrent modification of resources.
2833//
2834//   * ErrCodeNotFoundException "NotFoundException"
2835//   The resource is not found.
2836//
2837// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateSkillFromSkillGroup
2838func (c *AlexaForBusiness) DisassociateSkillFromSkillGroup(input *DisassociateSkillFromSkillGroupInput) (*DisassociateSkillFromSkillGroupOutput, error) {
2839	req, out := c.DisassociateSkillFromSkillGroupRequest(input)
2840	return out, req.Send()
2841}
2842
2843// DisassociateSkillFromSkillGroupWithContext is the same as DisassociateSkillFromSkillGroup with the addition of
2844// the ability to pass a context and additional request options.
2845//
2846// See DisassociateSkillFromSkillGroup for details on how to use this API operation.
2847//
2848// The context must be non-nil and will be used for request cancellation. If
2849// the context is nil a panic will occur. In the future the SDK may create
2850// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2851// for more information on using Contexts.
2852func (c *AlexaForBusiness) DisassociateSkillFromSkillGroupWithContext(ctx aws.Context, input *DisassociateSkillFromSkillGroupInput, opts ...request.Option) (*DisassociateSkillFromSkillGroupOutput, error) {
2853	req, out := c.DisassociateSkillFromSkillGroupRequest(input)
2854	req.SetContext(ctx)
2855	req.ApplyOptions(opts...)
2856	return out, req.Send()
2857}
2858
2859const opDisassociateSkillFromUsers = "DisassociateSkillFromUsers"
2860
2861// DisassociateSkillFromUsersRequest generates a "aws/request.Request" representing the
2862// client's request for the DisassociateSkillFromUsers operation. The "output" return
2863// value will be populated with the request's response once the request completes
2864// successfully.
2865//
2866// Use "Send" method on the returned Request to send the API call to the service.
2867// the "output" return value is not valid until after Send returns without error.
2868//
2869// See DisassociateSkillFromUsers for more information on using the DisassociateSkillFromUsers
2870// API call, and error handling.
2871//
2872// This method is useful when you want to inject custom logic or configuration
2873// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2874//
2875//
2876//    // Example sending a request using the DisassociateSkillFromUsersRequest method.
2877//    req, resp := client.DisassociateSkillFromUsersRequest(params)
2878//
2879//    err := req.Send()
2880//    if err == nil { // resp is now filled
2881//        fmt.Println(resp)
2882//    }
2883//
2884// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateSkillFromUsers
2885func (c *AlexaForBusiness) DisassociateSkillFromUsersRequest(input *DisassociateSkillFromUsersInput) (req *request.Request, output *DisassociateSkillFromUsersOutput) {
2886	op := &request.Operation{
2887		Name:       opDisassociateSkillFromUsers,
2888		HTTPMethod: "POST",
2889		HTTPPath:   "/",
2890	}
2891
2892	if input == nil {
2893		input = &DisassociateSkillFromUsersInput{}
2894	}
2895
2896	output = &DisassociateSkillFromUsersOutput{}
2897	req = c.newRequest(op, input, output)
2898	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2899	return
2900}
2901
2902// DisassociateSkillFromUsers API operation for Alexa For Business.
2903//
2904// Makes a private skill unavailable for enrolled users and prevents them from
2905// enabling it on their devices.
2906//
2907// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2908// with awserr.Error's Code and Message methods to get detailed information about
2909// the error.
2910//
2911// See the AWS API reference guide for Alexa For Business's
2912// API operation DisassociateSkillFromUsers for usage and error information.
2913//
2914// Returned Error Codes:
2915//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
2916//   There is a concurrent modification of resources.
2917//
2918//   * ErrCodeNotFoundException "NotFoundException"
2919//   The resource is not found.
2920//
2921// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateSkillFromUsers
2922func (c *AlexaForBusiness) DisassociateSkillFromUsers(input *DisassociateSkillFromUsersInput) (*DisassociateSkillFromUsersOutput, error) {
2923	req, out := c.DisassociateSkillFromUsersRequest(input)
2924	return out, req.Send()
2925}
2926
2927// DisassociateSkillFromUsersWithContext is the same as DisassociateSkillFromUsers with the addition of
2928// the ability to pass a context and additional request options.
2929//
2930// See DisassociateSkillFromUsers for details on how to use this API operation.
2931//
2932// The context must be non-nil and will be used for request cancellation. If
2933// the context is nil a panic will occur. In the future the SDK may create
2934// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2935// for more information on using Contexts.
2936func (c *AlexaForBusiness) DisassociateSkillFromUsersWithContext(ctx aws.Context, input *DisassociateSkillFromUsersInput, opts ...request.Option) (*DisassociateSkillFromUsersOutput, error) {
2937	req, out := c.DisassociateSkillFromUsersRequest(input)
2938	req.SetContext(ctx)
2939	req.ApplyOptions(opts...)
2940	return out, req.Send()
2941}
2942
2943const opDisassociateSkillGroupFromRoom = "DisassociateSkillGroupFromRoom"
2944
2945// DisassociateSkillGroupFromRoomRequest generates a "aws/request.Request" representing the
2946// client's request for the DisassociateSkillGroupFromRoom operation. The "output" return
2947// value will be populated with the request's response once the request completes
2948// successfully.
2949//
2950// Use "Send" method on the returned Request to send the API call to the service.
2951// the "output" return value is not valid until after Send returns without error.
2952//
2953// See DisassociateSkillGroupFromRoom for more information on using the DisassociateSkillGroupFromRoom
2954// API call, and error handling.
2955//
2956// This method is useful when you want to inject custom logic or configuration
2957// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2958//
2959//
2960//    // Example sending a request using the DisassociateSkillGroupFromRoomRequest method.
2961//    req, resp := client.DisassociateSkillGroupFromRoomRequest(params)
2962//
2963//    err := req.Send()
2964//    if err == nil { // resp is now filled
2965//        fmt.Println(resp)
2966//    }
2967//
2968// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateSkillGroupFromRoom
2969func (c *AlexaForBusiness) DisassociateSkillGroupFromRoomRequest(input *DisassociateSkillGroupFromRoomInput) (req *request.Request, output *DisassociateSkillGroupFromRoomOutput) {
2970	op := &request.Operation{
2971		Name:       opDisassociateSkillGroupFromRoom,
2972		HTTPMethod: "POST",
2973		HTTPPath:   "/",
2974	}
2975
2976	if input == nil {
2977		input = &DisassociateSkillGroupFromRoomInput{}
2978	}
2979
2980	output = &DisassociateSkillGroupFromRoomOutput{}
2981	req = c.newRequest(op, input, output)
2982	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2983	return
2984}
2985
2986// DisassociateSkillGroupFromRoom API operation for Alexa For Business.
2987//
2988// Disassociates a skill group from a specified room. This disables all skills
2989// in the skill group on all devices in the room.
2990//
2991// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2992// with awserr.Error's Code and Message methods to get detailed information about
2993// the error.
2994//
2995// See the AWS API reference guide for Alexa For Business's
2996// API operation DisassociateSkillGroupFromRoom for usage and error information.
2997//
2998// Returned Error Codes:
2999//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
3000//   There is a concurrent modification of resources.
3001//
3002// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateSkillGroupFromRoom
3003func (c *AlexaForBusiness) DisassociateSkillGroupFromRoom(input *DisassociateSkillGroupFromRoomInput) (*DisassociateSkillGroupFromRoomOutput, error) {
3004	req, out := c.DisassociateSkillGroupFromRoomRequest(input)
3005	return out, req.Send()
3006}
3007
3008// DisassociateSkillGroupFromRoomWithContext is the same as DisassociateSkillGroupFromRoom with the addition of
3009// the ability to pass a context and additional request options.
3010//
3011// See DisassociateSkillGroupFromRoom for details on how to use this API operation.
3012//
3013// The context must be non-nil and will be used for request cancellation. If
3014// the context is nil a panic will occur. In the future the SDK may create
3015// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3016// for more information on using Contexts.
3017func (c *AlexaForBusiness) DisassociateSkillGroupFromRoomWithContext(ctx aws.Context, input *DisassociateSkillGroupFromRoomInput, opts ...request.Option) (*DisassociateSkillGroupFromRoomOutput, error) {
3018	req, out := c.DisassociateSkillGroupFromRoomRequest(input)
3019	req.SetContext(ctx)
3020	req.ApplyOptions(opts...)
3021	return out, req.Send()
3022}
3023
3024const opForgetSmartHomeAppliances = "ForgetSmartHomeAppliances"
3025
3026// ForgetSmartHomeAppliancesRequest generates a "aws/request.Request" representing the
3027// client's request for the ForgetSmartHomeAppliances operation. The "output" return
3028// value will be populated with the request's response once the request completes
3029// successfully.
3030//
3031// Use "Send" method on the returned Request to send the API call to the service.
3032// the "output" return value is not valid until after Send returns without error.
3033//
3034// See ForgetSmartHomeAppliances for more information on using the ForgetSmartHomeAppliances
3035// API call, and error handling.
3036//
3037// This method is useful when you want to inject custom logic or configuration
3038// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3039//
3040//
3041//    // Example sending a request using the ForgetSmartHomeAppliancesRequest method.
3042//    req, resp := client.ForgetSmartHomeAppliancesRequest(params)
3043//
3044//    err := req.Send()
3045//    if err == nil { // resp is now filled
3046//        fmt.Println(resp)
3047//    }
3048//
3049// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ForgetSmartHomeAppliances
3050func (c *AlexaForBusiness) ForgetSmartHomeAppliancesRequest(input *ForgetSmartHomeAppliancesInput) (req *request.Request, output *ForgetSmartHomeAppliancesOutput) {
3051	op := &request.Operation{
3052		Name:       opForgetSmartHomeAppliances,
3053		HTTPMethod: "POST",
3054		HTTPPath:   "/",
3055	}
3056
3057	if input == nil {
3058		input = &ForgetSmartHomeAppliancesInput{}
3059	}
3060
3061	output = &ForgetSmartHomeAppliancesOutput{}
3062	req = c.newRequest(op, input, output)
3063	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3064	return
3065}
3066
3067// ForgetSmartHomeAppliances API operation for Alexa For Business.
3068//
3069// Forgets smart home appliances associated to a room.
3070//
3071// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3072// with awserr.Error's Code and Message methods to get detailed information about
3073// the error.
3074//
3075// See the AWS API reference guide for Alexa For Business's
3076// API operation ForgetSmartHomeAppliances for usage and error information.
3077//
3078// Returned Error Codes:
3079//   * ErrCodeNotFoundException "NotFoundException"
3080//   The resource is not found.
3081//
3082// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ForgetSmartHomeAppliances
3083func (c *AlexaForBusiness) ForgetSmartHomeAppliances(input *ForgetSmartHomeAppliancesInput) (*ForgetSmartHomeAppliancesOutput, error) {
3084	req, out := c.ForgetSmartHomeAppliancesRequest(input)
3085	return out, req.Send()
3086}
3087
3088// ForgetSmartHomeAppliancesWithContext is the same as ForgetSmartHomeAppliances with the addition of
3089// the ability to pass a context and additional request options.
3090//
3091// See ForgetSmartHomeAppliances for details on how to use this API operation.
3092//
3093// The context must be non-nil and will be used for request cancellation. If
3094// the context is nil a panic will occur. In the future the SDK may create
3095// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3096// for more information on using Contexts.
3097func (c *AlexaForBusiness) ForgetSmartHomeAppliancesWithContext(ctx aws.Context, input *ForgetSmartHomeAppliancesInput, opts ...request.Option) (*ForgetSmartHomeAppliancesOutput, error) {
3098	req, out := c.ForgetSmartHomeAppliancesRequest(input)
3099	req.SetContext(ctx)
3100	req.ApplyOptions(opts...)
3101	return out, req.Send()
3102}
3103
3104const opGetAddressBook = "GetAddressBook"
3105
3106// GetAddressBookRequest generates a "aws/request.Request" representing the
3107// client's request for the GetAddressBook operation. The "output" return
3108// value will be populated with the request's response once the request completes
3109// successfully.
3110//
3111// Use "Send" method on the returned Request to send the API call to the service.
3112// the "output" return value is not valid until after Send returns without error.
3113//
3114// See GetAddressBook for more information on using the GetAddressBook
3115// API call, and error handling.
3116//
3117// This method is useful when you want to inject custom logic or configuration
3118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3119//
3120//
3121//    // Example sending a request using the GetAddressBookRequest method.
3122//    req, resp := client.GetAddressBookRequest(params)
3123//
3124//    err := req.Send()
3125//    if err == nil { // resp is now filled
3126//        fmt.Println(resp)
3127//    }
3128//
3129// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetAddressBook
3130func (c *AlexaForBusiness) GetAddressBookRequest(input *GetAddressBookInput) (req *request.Request, output *GetAddressBookOutput) {
3131	op := &request.Operation{
3132		Name:       opGetAddressBook,
3133		HTTPMethod: "POST",
3134		HTTPPath:   "/",
3135	}
3136
3137	if input == nil {
3138		input = &GetAddressBookInput{}
3139	}
3140
3141	output = &GetAddressBookOutput{}
3142	req = c.newRequest(op, input, output)
3143	return
3144}
3145
3146// GetAddressBook API operation for Alexa For Business.
3147//
3148// Gets address the book details by the address book ARN.
3149//
3150// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3151// with awserr.Error's Code and Message methods to get detailed information about
3152// the error.
3153//
3154// See the AWS API reference guide for Alexa For Business's
3155// API operation GetAddressBook for usage and error information.
3156//
3157// Returned Error Codes:
3158//   * ErrCodeNotFoundException "NotFoundException"
3159//   The resource is not found.
3160//
3161// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetAddressBook
3162func (c *AlexaForBusiness) GetAddressBook(input *GetAddressBookInput) (*GetAddressBookOutput, error) {
3163	req, out := c.GetAddressBookRequest(input)
3164	return out, req.Send()
3165}
3166
3167// GetAddressBookWithContext is the same as GetAddressBook with the addition of
3168// the ability to pass a context and additional request options.
3169//
3170// See GetAddressBook for details on how to use this API operation.
3171//
3172// The context must be non-nil and will be used for request cancellation. If
3173// the context is nil a panic will occur. In the future the SDK may create
3174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3175// for more information on using Contexts.
3176func (c *AlexaForBusiness) GetAddressBookWithContext(ctx aws.Context, input *GetAddressBookInput, opts ...request.Option) (*GetAddressBookOutput, error) {
3177	req, out := c.GetAddressBookRequest(input)
3178	req.SetContext(ctx)
3179	req.ApplyOptions(opts...)
3180	return out, req.Send()
3181}
3182
3183const opGetConferencePreference = "GetConferencePreference"
3184
3185// GetConferencePreferenceRequest generates a "aws/request.Request" representing the
3186// client's request for the GetConferencePreference operation. The "output" return
3187// value will be populated with the request's response once the request completes
3188// successfully.
3189//
3190// Use "Send" method on the returned Request to send the API call to the service.
3191// the "output" return value is not valid until after Send returns without error.
3192//
3193// See GetConferencePreference for more information on using the GetConferencePreference
3194// API call, and error handling.
3195//
3196// This method is useful when you want to inject custom logic or configuration
3197// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3198//
3199//
3200//    // Example sending a request using the GetConferencePreferenceRequest method.
3201//    req, resp := client.GetConferencePreferenceRequest(params)
3202//
3203//    err := req.Send()
3204//    if err == nil { // resp is now filled
3205//        fmt.Println(resp)
3206//    }
3207//
3208// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetConferencePreference
3209func (c *AlexaForBusiness) GetConferencePreferenceRequest(input *GetConferencePreferenceInput) (req *request.Request, output *GetConferencePreferenceOutput) {
3210	op := &request.Operation{
3211		Name:       opGetConferencePreference,
3212		HTTPMethod: "POST",
3213		HTTPPath:   "/",
3214	}
3215
3216	if input == nil {
3217		input = &GetConferencePreferenceInput{}
3218	}
3219
3220	output = &GetConferencePreferenceOutput{}
3221	req = c.newRequest(op, input, output)
3222	return
3223}
3224
3225// GetConferencePreference API operation for Alexa For Business.
3226//
3227// Retrieves the existing conference preferences.
3228//
3229// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3230// with awserr.Error's Code and Message methods to get detailed information about
3231// the error.
3232//
3233// See the AWS API reference guide for Alexa For Business's
3234// API operation GetConferencePreference for usage and error information.
3235//
3236// Returned Error Codes:
3237//   * ErrCodeNotFoundException "NotFoundException"
3238//   The resource is not found.
3239//
3240// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetConferencePreference
3241func (c *AlexaForBusiness) GetConferencePreference(input *GetConferencePreferenceInput) (*GetConferencePreferenceOutput, error) {
3242	req, out := c.GetConferencePreferenceRequest(input)
3243	return out, req.Send()
3244}
3245
3246// GetConferencePreferenceWithContext is the same as GetConferencePreference with the addition of
3247// the ability to pass a context and additional request options.
3248//
3249// See GetConferencePreference for details on how to use this API operation.
3250//
3251// The context must be non-nil and will be used for request cancellation. If
3252// the context is nil a panic will occur. In the future the SDK may create
3253// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3254// for more information on using Contexts.
3255func (c *AlexaForBusiness) GetConferencePreferenceWithContext(ctx aws.Context, input *GetConferencePreferenceInput, opts ...request.Option) (*GetConferencePreferenceOutput, error) {
3256	req, out := c.GetConferencePreferenceRequest(input)
3257	req.SetContext(ctx)
3258	req.ApplyOptions(opts...)
3259	return out, req.Send()
3260}
3261
3262const opGetConferenceProvider = "GetConferenceProvider"
3263
3264// GetConferenceProviderRequest generates a "aws/request.Request" representing the
3265// client's request for the GetConferenceProvider operation. The "output" return
3266// value will be populated with the request's response once the request completes
3267// successfully.
3268//
3269// Use "Send" method on the returned Request to send the API call to the service.
3270// the "output" return value is not valid until after Send returns without error.
3271//
3272// See GetConferenceProvider for more information on using the GetConferenceProvider
3273// API call, and error handling.
3274//
3275// This method is useful when you want to inject custom logic or configuration
3276// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3277//
3278//
3279//    // Example sending a request using the GetConferenceProviderRequest method.
3280//    req, resp := client.GetConferenceProviderRequest(params)
3281//
3282//    err := req.Send()
3283//    if err == nil { // resp is now filled
3284//        fmt.Println(resp)
3285//    }
3286//
3287// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetConferenceProvider
3288func (c *AlexaForBusiness) GetConferenceProviderRequest(input *GetConferenceProviderInput) (req *request.Request, output *GetConferenceProviderOutput) {
3289	op := &request.Operation{
3290		Name:       opGetConferenceProvider,
3291		HTTPMethod: "POST",
3292		HTTPPath:   "/",
3293	}
3294
3295	if input == nil {
3296		input = &GetConferenceProviderInput{}
3297	}
3298
3299	output = &GetConferenceProviderOutput{}
3300	req = c.newRequest(op, input, output)
3301	return
3302}
3303
3304// GetConferenceProvider API operation for Alexa For Business.
3305//
3306// Gets details about a specific conference provider.
3307//
3308// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3309// with awserr.Error's Code and Message methods to get detailed information about
3310// the error.
3311//
3312// See the AWS API reference guide for Alexa For Business's
3313// API operation GetConferenceProvider for usage and error information.
3314//
3315// Returned Error Codes:
3316//   * ErrCodeNotFoundException "NotFoundException"
3317//   The resource is not found.
3318//
3319// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetConferenceProvider
3320func (c *AlexaForBusiness) GetConferenceProvider(input *GetConferenceProviderInput) (*GetConferenceProviderOutput, error) {
3321	req, out := c.GetConferenceProviderRequest(input)
3322	return out, req.Send()
3323}
3324
3325// GetConferenceProviderWithContext is the same as GetConferenceProvider with the addition of
3326// the ability to pass a context and additional request options.
3327//
3328// See GetConferenceProvider for details on how to use this API operation.
3329//
3330// The context must be non-nil and will be used for request cancellation. If
3331// the context is nil a panic will occur. In the future the SDK may create
3332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3333// for more information on using Contexts.
3334func (c *AlexaForBusiness) GetConferenceProviderWithContext(ctx aws.Context, input *GetConferenceProviderInput, opts ...request.Option) (*GetConferenceProviderOutput, error) {
3335	req, out := c.GetConferenceProviderRequest(input)
3336	req.SetContext(ctx)
3337	req.ApplyOptions(opts...)
3338	return out, req.Send()
3339}
3340
3341const opGetContact = "GetContact"
3342
3343// GetContactRequest generates a "aws/request.Request" representing the
3344// client's request for the GetContact operation. The "output" return
3345// value will be populated with the request's response once the request completes
3346// successfully.
3347//
3348// Use "Send" method on the returned Request to send the API call to the service.
3349// the "output" return value is not valid until after Send returns without error.
3350//
3351// See GetContact for more information on using the GetContact
3352// API call, and error handling.
3353//
3354// This method is useful when you want to inject custom logic or configuration
3355// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3356//
3357//
3358//    // Example sending a request using the GetContactRequest method.
3359//    req, resp := client.GetContactRequest(params)
3360//
3361//    err := req.Send()
3362//    if err == nil { // resp is now filled
3363//        fmt.Println(resp)
3364//    }
3365//
3366// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetContact
3367func (c *AlexaForBusiness) GetContactRequest(input *GetContactInput) (req *request.Request, output *GetContactOutput) {
3368	op := &request.Operation{
3369		Name:       opGetContact,
3370		HTTPMethod: "POST",
3371		HTTPPath:   "/",
3372	}
3373
3374	if input == nil {
3375		input = &GetContactInput{}
3376	}
3377
3378	output = &GetContactOutput{}
3379	req = c.newRequest(op, input, output)
3380	return
3381}
3382
3383// GetContact API operation for Alexa For Business.
3384//
3385// Gets the contact details by the contact ARN.
3386//
3387// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3388// with awserr.Error's Code and Message methods to get detailed information about
3389// the error.
3390//
3391// See the AWS API reference guide for Alexa For Business's
3392// API operation GetContact for usage and error information.
3393//
3394// Returned Error Codes:
3395//   * ErrCodeNotFoundException "NotFoundException"
3396//   The resource is not found.
3397//
3398// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetContact
3399func (c *AlexaForBusiness) GetContact(input *GetContactInput) (*GetContactOutput, error) {
3400	req, out := c.GetContactRequest(input)
3401	return out, req.Send()
3402}
3403
3404// GetContactWithContext is the same as GetContact with the addition of
3405// the ability to pass a context and additional request options.
3406//
3407// See GetContact for details on how to use this API operation.
3408//
3409// The context must be non-nil and will be used for request cancellation. If
3410// the context is nil a panic will occur. In the future the SDK may create
3411// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3412// for more information on using Contexts.
3413func (c *AlexaForBusiness) GetContactWithContext(ctx aws.Context, input *GetContactInput, opts ...request.Option) (*GetContactOutput, error) {
3414	req, out := c.GetContactRequest(input)
3415	req.SetContext(ctx)
3416	req.ApplyOptions(opts...)
3417	return out, req.Send()
3418}
3419
3420const opGetDevice = "GetDevice"
3421
3422// GetDeviceRequest generates a "aws/request.Request" representing the
3423// client's request for the GetDevice operation. The "output" return
3424// value will be populated with the request's response once the request completes
3425// successfully.
3426//
3427// Use "Send" method on the returned Request to send the API call to the service.
3428// the "output" return value is not valid until after Send returns without error.
3429//
3430// See GetDevice for more information on using the GetDevice
3431// API call, and error handling.
3432//
3433// This method is useful when you want to inject custom logic or configuration
3434// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3435//
3436//
3437//    // Example sending a request using the GetDeviceRequest method.
3438//    req, resp := client.GetDeviceRequest(params)
3439//
3440//    err := req.Send()
3441//    if err == nil { // resp is now filled
3442//        fmt.Println(resp)
3443//    }
3444//
3445// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetDevice
3446func (c *AlexaForBusiness) GetDeviceRequest(input *GetDeviceInput) (req *request.Request, output *GetDeviceOutput) {
3447	op := &request.Operation{
3448		Name:       opGetDevice,
3449		HTTPMethod: "POST",
3450		HTTPPath:   "/",
3451	}
3452
3453	if input == nil {
3454		input = &GetDeviceInput{}
3455	}
3456
3457	output = &GetDeviceOutput{}
3458	req = c.newRequest(op, input, output)
3459	return
3460}
3461
3462// GetDevice API operation for Alexa For Business.
3463//
3464// Gets the details of a device by device ARN.
3465//
3466// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3467// with awserr.Error's Code and Message methods to get detailed information about
3468// the error.
3469//
3470// See the AWS API reference guide for Alexa For Business's
3471// API operation GetDevice for usage and error information.
3472//
3473// Returned Error Codes:
3474//   * ErrCodeNotFoundException "NotFoundException"
3475//   The resource is not found.
3476//
3477// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetDevice
3478func (c *AlexaForBusiness) GetDevice(input *GetDeviceInput) (*GetDeviceOutput, error) {
3479	req, out := c.GetDeviceRequest(input)
3480	return out, req.Send()
3481}
3482
3483// GetDeviceWithContext is the same as GetDevice with the addition of
3484// the ability to pass a context and additional request options.
3485//
3486// See GetDevice for details on how to use this API operation.
3487//
3488// The context must be non-nil and will be used for request cancellation. If
3489// the context is nil a panic will occur. In the future the SDK may create
3490// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3491// for more information on using Contexts.
3492func (c *AlexaForBusiness) GetDeviceWithContext(ctx aws.Context, input *GetDeviceInput, opts ...request.Option) (*GetDeviceOutput, error) {
3493	req, out := c.GetDeviceRequest(input)
3494	req.SetContext(ctx)
3495	req.ApplyOptions(opts...)
3496	return out, req.Send()
3497}
3498
3499const opGetGateway = "GetGateway"
3500
3501// GetGatewayRequest generates a "aws/request.Request" representing the
3502// client's request for the GetGateway operation. The "output" return
3503// value will be populated with the request's response once the request completes
3504// successfully.
3505//
3506// Use "Send" method on the returned Request to send the API call to the service.
3507// the "output" return value is not valid until after Send returns without error.
3508//
3509// See GetGateway for more information on using the GetGateway
3510// API call, and error handling.
3511//
3512// This method is useful when you want to inject custom logic or configuration
3513// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3514//
3515//
3516//    // Example sending a request using the GetGatewayRequest method.
3517//    req, resp := client.GetGatewayRequest(params)
3518//
3519//    err := req.Send()
3520//    if err == nil { // resp is now filled
3521//        fmt.Println(resp)
3522//    }
3523//
3524// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetGateway
3525func (c *AlexaForBusiness) GetGatewayRequest(input *GetGatewayInput) (req *request.Request, output *GetGatewayOutput) {
3526	op := &request.Operation{
3527		Name:       opGetGateway,
3528		HTTPMethod: "POST",
3529		HTTPPath:   "/",
3530	}
3531
3532	if input == nil {
3533		input = &GetGatewayInput{}
3534	}
3535
3536	output = &GetGatewayOutput{}
3537	req = c.newRequest(op, input, output)
3538	return
3539}
3540
3541// GetGateway API operation for Alexa For Business.
3542//
3543// Retrieves the details of a gateway.
3544//
3545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3546// with awserr.Error's Code and Message methods to get detailed information about
3547// the error.
3548//
3549// See the AWS API reference guide for Alexa For Business's
3550// API operation GetGateway for usage and error information.
3551//
3552// Returned Error Codes:
3553//   * ErrCodeNotFoundException "NotFoundException"
3554//   The resource is not found.
3555//
3556// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetGateway
3557func (c *AlexaForBusiness) GetGateway(input *GetGatewayInput) (*GetGatewayOutput, error) {
3558	req, out := c.GetGatewayRequest(input)
3559	return out, req.Send()
3560}
3561
3562// GetGatewayWithContext is the same as GetGateway with the addition of
3563// the ability to pass a context and additional request options.
3564//
3565// See GetGateway for details on how to use this API operation.
3566//
3567// The context must be non-nil and will be used for request cancellation. If
3568// the context is nil a panic will occur. In the future the SDK may create
3569// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3570// for more information on using Contexts.
3571func (c *AlexaForBusiness) GetGatewayWithContext(ctx aws.Context, input *GetGatewayInput, opts ...request.Option) (*GetGatewayOutput, error) {
3572	req, out := c.GetGatewayRequest(input)
3573	req.SetContext(ctx)
3574	req.ApplyOptions(opts...)
3575	return out, req.Send()
3576}
3577
3578const opGetGatewayGroup = "GetGatewayGroup"
3579
3580// GetGatewayGroupRequest generates a "aws/request.Request" representing the
3581// client's request for the GetGatewayGroup operation. The "output" return
3582// value will be populated with the request's response once the request completes
3583// successfully.
3584//
3585// Use "Send" method on the returned Request to send the API call to the service.
3586// the "output" return value is not valid until after Send returns without error.
3587//
3588// See GetGatewayGroup for more information on using the GetGatewayGroup
3589// API call, and error handling.
3590//
3591// This method is useful when you want to inject custom logic or configuration
3592// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3593//
3594//
3595//    // Example sending a request using the GetGatewayGroupRequest method.
3596//    req, resp := client.GetGatewayGroupRequest(params)
3597//
3598//    err := req.Send()
3599//    if err == nil { // resp is now filled
3600//        fmt.Println(resp)
3601//    }
3602//
3603// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetGatewayGroup
3604func (c *AlexaForBusiness) GetGatewayGroupRequest(input *GetGatewayGroupInput) (req *request.Request, output *GetGatewayGroupOutput) {
3605	op := &request.Operation{
3606		Name:       opGetGatewayGroup,
3607		HTTPMethod: "POST",
3608		HTTPPath:   "/",
3609	}
3610
3611	if input == nil {
3612		input = &GetGatewayGroupInput{}
3613	}
3614
3615	output = &GetGatewayGroupOutput{}
3616	req = c.newRequest(op, input, output)
3617	return
3618}
3619
3620// GetGatewayGroup API operation for Alexa For Business.
3621//
3622// Retrieves the details of a gateway group.
3623//
3624// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3625// with awserr.Error's Code and Message methods to get detailed information about
3626// the error.
3627//
3628// See the AWS API reference guide for Alexa For Business's
3629// API operation GetGatewayGroup for usage and error information.
3630//
3631// Returned Error Codes:
3632//   * ErrCodeNotFoundException "NotFoundException"
3633//   The resource is not found.
3634//
3635// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetGatewayGroup
3636func (c *AlexaForBusiness) GetGatewayGroup(input *GetGatewayGroupInput) (*GetGatewayGroupOutput, error) {
3637	req, out := c.GetGatewayGroupRequest(input)
3638	return out, req.Send()
3639}
3640
3641// GetGatewayGroupWithContext is the same as GetGatewayGroup with the addition of
3642// the ability to pass a context and additional request options.
3643//
3644// See GetGatewayGroup for details on how to use this API operation.
3645//
3646// The context must be non-nil and will be used for request cancellation. If
3647// the context is nil a panic will occur. In the future the SDK may create
3648// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3649// for more information on using Contexts.
3650func (c *AlexaForBusiness) GetGatewayGroupWithContext(ctx aws.Context, input *GetGatewayGroupInput, opts ...request.Option) (*GetGatewayGroupOutput, error) {
3651	req, out := c.GetGatewayGroupRequest(input)
3652	req.SetContext(ctx)
3653	req.ApplyOptions(opts...)
3654	return out, req.Send()
3655}
3656
3657const opGetInvitationConfiguration = "GetInvitationConfiguration"
3658
3659// GetInvitationConfigurationRequest generates a "aws/request.Request" representing the
3660// client's request for the GetInvitationConfiguration operation. The "output" return
3661// value will be populated with the request's response once the request completes
3662// successfully.
3663//
3664// Use "Send" method on the returned Request to send the API call to the service.
3665// the "output" return value is not valid until after Send returns without error.
3666//
3667// See GetInvitationConfiguration for more information on using the GetInvitationConfiguration
3668// API call, and error handling.
3669//
3670// This method is useful when you want to inject custom logic or configuration
3671// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3672//
3673//
3674//    // Example sending a request using the GetInvitationConfigurationRequest method.
3675//    req, resp := client.GetInvitationConfigurationRequest(params)
3676//
3677//    err := req.Send()
3678//    if err == nil { // resp is now filled
3679//        fmt.Println(resp)
3680//    }
3681//
3682// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetInvitationConfiguration
3683func (c *AlexaForBusiness) GetInvitationConfigurationRequest(input *GetInvitationConfigurationInput) (req *request.Request, output *GetInvitationConfigurationOutput) {
3684	op := &request.Operation{
3685		Name:       opGetInvitationConfiguration,
3686		HTTPMethod: "POST",
3687		HTTPPath:   "/",
3688	}
3689
3690	if input == nil {
3691		input = &GetInvitationConfigurationInput{}
3692	}
3693
3694	output = &GetInvitationConfigurationOutput{}
3695	req = c.newRequest(op, input, output)
3696	return
3697}
3698
3699// GetInvitationConfiguration API operation for Alexa For Business.
3700//
3701// Retrieves the configured values for the user enrollment invitation email
3702// template.
3703//
3704// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3705// with awserr.Error's Code and Message methods to get detailed information about
3706// the error.
3707//
3708// See the AWS API reference guide for Alexa For Business's
3709// API operation GetInvitationConfiguration for usage and error information.
3710//
3711// Returned Error Codes:
3712//   * ErrCodeNotFoundException "NotFoundException"
3713//   The resource is not found.
3714//
3715// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetInvitationConfiguration
3716func (c *AlexaForBusiness) GetInvitationConfiguration(input *GetInvitationConfigurationInput) (*GetInvitationConfigurationOutput, error) {
3717	req, out := c.GetInvitationConfigurationRequest(input)
3718	return out, req.Send()
3719}
3720
3721// GetInvitationConfigurationWithContext is the same as GetInvitationConfiguration with the addition of
3722// the ability to pass a context and additional request options.
3723//
3724// See GetInvitationConfiguration for details on how to use this API operation.
3725//
3726// The context must be non-nil and will be used for request cancellation. If
3727// the context is nil a panic will occur. In the future the SDK may create
3728// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3729// for more information on using Contexts.
3730func (c *AlexaForBusiness) GetInvitationConfigurationWithContext(ctx aws.Context, input *GetInvitationConfigurationInput, opts ...request.Option) (*GetInvitationConfigurationOutput, error) {
3731	req, out := c.GetInvitationConfigurationRequest(input)
3732	req.SetContext(ctx)
3733	req.ApplyOptions(opts...)
3734	return out, req.Send()
3735}
3736
3737const opGetNetworkProfile = "GetNetworkProfile"
3738
3739// GetNetworkProfileRequest generates a "aws/request.Request" representing the
3740// client's request for the GetNetworkProfile operation. The "output" return
3741// value will be populated with the request's response once the request completes
3742// successfully.
3743//
3744// Use "Send" method on the returned Request to send the API call to the service.
3745// the "output" return value is not valid until after Send returns without error.
3746//
3747// See GetNetworkProfile for more information on using the GetNetworkProfile
3748// API call, and error handling.
3749//
3750// This method is useful when you want to inject custom logic or configuration
3751// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3752//
3753//
3754//    // Example sending a request using the GetNetworkProfileRequest method.
3755//    req, resp := client.GetNetworkProfileRequest(params)
3756//
3757//    err := req.Send()
3758//    if err == nil { // resp is now filled
3759//        fmt.Println(resp)
3760//    }
3761//
3762// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetNetworkProfile
3763func (c *AlexaForBusiness) GetNetworkProfileRequest(input *GetNetworkProfileInput) (req *request.Request, output *GetNetworkProfileOutput) {
3764	op := &request.Operation{
3765		Name:       opGetNetworkProfile,
3766		HTTPMethod: "POST",
3767		HTTPPath:   "/",
3768	}
3769
3770	if input == nil {
3771		input = &GetNetworkProfileInput{}
3772	}
3773
3774	output = &GetNetworkProfileOutput{}
3775	req = c.newRequest(op, input, output)
3776	return
3777}
3778
3779// GetNetworkProfile API operation for Alexa For Business.
3780//
3781// Gets the network profile details by the network profile ARN.
3782//
3783// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3784// with awserr.Error's Code and Message methods to get detailed information about
3785// the error.
3786//
3787// See the AWS API reference guide for Alexa For Business's
3788// API operation GetNetworkProfile for usage and error information.
3789//
3790// Returned Error Codes:
3791//   * ErrCodeNotFoundException "NotFoundException"
3792//   The resource is not found.
3793//
3794//   * ErrCodeInvalidSecretsManagerResourceException "InvalidSecretsManagerResourceException"
3795//   A password in SecretsManager is in an invalid state.
3796//
3797// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetNetworkProfile
3798func (c *AlexaForBusiness) GetNetworkProfile(input *GetNetworkProfileInput) (*GetNetworkProfileOutput, error) {
3799	req, out := c.GetNetworkProfileRequest(input)
3800	return out, req.Send()
3801}
3802
3803// GetNetworkProfileWithContext is the same as GetNetworkProfile with the addition of
3804// the ability to pass a context and additional request options.
3805//
3806// See GetNetworkProfile for details on how to use this API operation.
3807//
3808// The context must be non-nil and will be used for request cancellation. If
3809// the context is nil a panic will occur. In the future the SDK may create
3810// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3811// for more information on using Contexts.
3812func (c *AlexaForBusiness) GetNetworkProfileWithContext(ctx aws.Context, input *GetNetworkProfileInput, opts ...request.Option) (*GetNetworkProfileOutput, error) {
3813	req, out := c.GetNetworkProfileRequest(input)
3814	req.SetContext(ctx)
3815	req.ApplyOptions(opts...)
3816	return out, req.Send()
3817}
3818
3819const opGetProfile = "GetProfile"
3820
3821// GetProfileRequest generates a "aws/request.Request" representing the
3822// client's request for the GetProfile operation. The "output" return
3823// value will be populated with the request's response once the request completes
3824// successfully.
3825//
3826// Use "Send" method on the returned Request to send the API call to the service.
3827// the "output" return value is not valid until after Send returns without error.
3828//
3829// See GetProfile for more information on using the GetProfile
3830// API call, and error handling.
3831//
3832// This method is useful when you want to inject custom logic or configuration
3833// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3834//
3835//
3836//    // Example sending a request using the GetProfileRequest method.
3837//    req, resp := client.GetProfileRequest(params)
3838//
3839//    err := req.Send()
3840//    if err == nil { // resp is now filled
3841//        fmt.Println(resp)
3842//    }
3843//
3844// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetProfile
3845func (c *AlexaForBusiness) GetProfileRequest(input *GetProfileInput) (req *request.Request, output *GetProfileOutput) {
3846	op := &request.Operation{
3847		Name:       opGetProfile,
3848		HTTPMethod: "POST",
3849		HTTPPath:   "/",
3850	}
3851
3852	if input == nil {
3853		input = &GetProfileInput{}
3854	}
3855
3856	output = &GetProfileOutput{}
3857	req = c.newRequest(op, input, output)
3858	return
3859}
3860
3861// GetProfile API operation for Alexa For Business.
3862//
3863// Gets the details of a room profile by profile ARN.
3864//
3865// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3866// with awserr.Error's Code and Message methods to get detailed information about
3867// the error.
3868//
3869// See the AWS API reference guide for Alexa For Business's
3870// API operation GetProfile for usage and error information.
3871//
3872// Returned Error Codes:
3873//   * ErrCodeNotFoundException "NotFoundException"
3874//   The resource is not found.
3875//
3876// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetProfile
3877func (c *AlexaForBusiness) GetProfile(input *GetProfileInput) (*GetProfileOutput, error) {
3878	req, out := c.GetProfileRequest(input)
3879	return out, req.Send()
3880}
3881
3882// GetProfileWithContext is the same as GetProfile with the addition of
3883// the ability to pass a context and additional request options.
3884//
3885// See GetProfile for details on how to use this API operation.
3886//
3887// The context must be non-nil and will be used for request cancellation. If
3888// the context is nil a panic will occur. In the future the SDK may create
3889// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3890// for more information on using Contexts.
3891func (c *AlexaForBusiness) GetProfileWithContext(ctx aws.Context, input *GetProfileInput, opts ...request.Option) (*GetProfileOutput, error) {
3892	req, out := c.GetProfileRequest(input)
3893	req.SetContext(ctx)
3894	req.ApplyOptions(opts...)
3895	return out, req.Send()
3896}
3897
3898const opGetRoom = "GetRoom"
3899
3900// GetRoomRequest generates a "aws/request.Request" representing the
3901// client's request for the GetRoom operation. The "output" return
3902// value will be populated with the request's response once the request completes
3903// successfully.
3904//
3905// Use "Send" method on the returned Request to send the API call to the service.
3906// the "output" return value is not valid until after Send returns without error.
3907//
3908// See GetRoom for more information on using the GetRoom
3909// API call, and error handling.
3910//
3911// This method is useful when you want to inject custom logic or configuration
3912// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3913//
3914//
3915//    // Example sending a request using the GetRoomRequest method.
3916//    req, resp := client.GetRoomRequest(params)
3917//
3918//    err := req.Send()
3919//    if err == nil { // resp is now filled
3920//        fmt.Println(resp)
3921//    }
3922//
3923// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetRoom
3924func (c *AlexaForBusiness) GetRoomRequest(input *GetRoomInput) (req *request.Request, output *GetRoomOutput) {
3925	op := &request.Operation{
3926		Name:       opGetRoom,
3927		HTTPMethod: "POST",
3928		HTTPPath:   "/",
3929	}
3930
3931	if input == nil {
3932		input = &GetRoomInput{}
3933	}
3934
3935	output = &GetRoomOutput{}
3936	req = c.newRequest(op, input, output)
3937	return
3938}
3939
3940// GetRoom API operation for Alexa For Business.
3941//
3942// Gets room details by room ARN.
3943//
3944// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3945// with awserr.Error's Code and Message methods to get detailed information about
3946// the error.
3947//
3948// See the AWS API reference guide for Alexa For Business's
3949// API operation GetRoom for usage and error information.
3950//
3951// Returned Error Codes:
3952//   * ErrCodeNotFoundException "NotFoundException"
3953//   The resource is not found.
3954//
3955// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetRoom
3956func (c *AlexaForBusiness) GetRoom(input *GetRoomInput) (*GetRoomOutput, error) {
3957	req, out := c.GetRoomRequest(input)
3958	return out, req.Send()
3959}
3960
3961// GetRoomWithContext is the same as GetRoom with the addition of
3962// the ability to pass a context and additional request options.
3963//
3964// See GetRoom for details on how to use this API operation.
3965//
3966// The context must be non-nil and will be used for request cancellation. If
3967// the context is nil a panic will occur. In the future the SDK may create
3968// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3969// for more information on using Contexts.
3970func (c *AlexaForBusiness) GetRoomWithContext(ctx aws.Context, input *GetRoomInput, opts ...request.Option) (*GetRoomOutput, error) {
3971	req, out := c.GetRoomRequest(input)
3972	req.SetContext(ctx)
3973	req.ApplyOptions(opts...)
3974	return out, req.Send()
3975}
3976
3977const opGetRoomSkillParameter = "GetRoomSkillParameter"
3978
3979// GetRoomSkillParameterRequest generates a "aws/request.Request" representing the
3980// client's request for the GetRoomSkillParameter operation. The "output" return
3981// value will be populated with the request's response once the request completes
3982// successfully.
3983//
3984// Use "Send" method on the returned Request to send the API call to the service.
3985// the "output" return value is not valid until after Send returns without error.
3986//
3987// See GetRoomSkillParameter for more information on using the GetRoomSkillParameter
3988// API call, and error handling.
3989//
3990// This method is useful when you want to inject custom logic or configuration
3991// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3992//
3993//
3994//    // Example sending a request using the GetRoomSkillParameterRequest method.
3995//    req, resp := client.GetRoomSkillParameterRequest(params)
3996//
3997//    err := req.Send()
3998//    if err == nil { // resp is now filled
3999//        fmt.Println(resp)
4000//    }
4001//
4002// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetRoomSkillParameter
4003func (c *AlexaForBusiness) GetRoomSkillParameterRequest(input *GetRoomSkillParameterInput) (req *request.Request, output *GetRoomSkillParameterOutput) {
4004	op := &request.Operation{
4005		Name:       opGetRoomSkillParameter,
4006		HTTPMethod: "POST",
4007		HTTPPath:   "/",
4008	}
4009
4010	if input == nil {
4011		input = &GetRoomSkillParameterInput{}
4012	}
4013
4014	output = &GetRoomSkillParameterOutput{}
4015	req = c.newRequest(op, input, output)
4016	return
4017}
4018
4019// GetRoomSkillParameter API operation for Alexa For Business.
4020//
4021// Gets room skill parameter details by room, skill, and parameter key ARN.
4022//
4023// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4024// with awserr.Error's Code and Message methods to get detailed information about
4025// the error.
4026//
4027// See the AWS API reference guide for Alexa For Business's
4028// API operation GetRoomSkillParameter for usage and error information.
4029//
4030// Returned Error Codes:
4031//   * ErrCodeNotFoundException "NotFoundException"
4032//   The resource is not found.
4033//
4034// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetRoomSkillParameter
4035func (c *AlexaForBusiness) GetRoomSkillParameter(input *GetRoomSkillParameterInput) (*GetRoomSkillParameterOutput, error) {
4036	req, out := c.GetRoomSkillParameterRequest(input)
4037	return out, req.Send()
4038}
4039
4040// GetRoomSkillParameterWithContext is the same as GetRoomSkillParameter with the addition of
4041// the ability to pass a context and additional request options.
4042//
4043// See GetRoomSkillParameter for details on how to use this API operation.
4044//
4045// The context must be non-nil and will be used for request cancellation. If
4046// the context is nil a panic will occur. In the future the SDK may create
4047// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4048// for more information on using Contexts.
4049func (c *AlexaForBusiness) GetRoomSkillParameterWithContext(ctx aws.Context, input *GetRoomSkillParameterInput, opts ...request.Option) (*GetRoomSkillParameterOutput, error) {
4050	req, out := c.GetRoomSkillParameterRequest(input)
4051	req.SetContext(ctx)
4052	req.ApplyOptions(opts...)
4053	return out, req.Send()
4054}
4055
4056const opGetSkillGroup = "GetSkillGroup"
4057
4058// GetSkillGroupRequest generates a "aws/request.Request" representing the
4059// client's request for the GetSkillGroup operation. The "output" return
4060// value will be populated with the request's response once the request completes
4061// successfully.
4062//
4063// Use "Send" method on the returned Request to send the API call to the service.
4064// the "output" return value is not valid until after Send returns without error.
4065//
4066// See GetSkillGroup for more information on using the GetSkillGroup
4067// API call, and error handling.
4068//
4069// This method is useful when you want to inject custom logic or configuration
4070// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4071//
4072//
4073//    // Example sending a request using the GetSkillGroupRequest method.
4074//    req, resp := client.GetSkillGroupRequest(params)
4075//
4076//    err := req.Send()
4077//    if err == nil { // resp is now filled
4078//        fmt.Println(resp)
4079//    }
4080//
4081// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetSkillGroup
4082func (c *AlexaForBusiness) GetSkillGroupRequest(input *GetSkillGroupInput) (req *request.Request, output *GetSkillGroupOutput) {
4083	op := &request.Operation{
4084		Name:       opGetSkillGroup,
4085		HTTPMethod: "POST",
4086		HTTPPath:   "/",
4087	}
4088
4089	if input == nil {
4090		input = &GetSkillGroupInput{}
4091	}
4092
4093	output = &GetSkillGroupOutput{}
4094	req = c.newRequest(op, input, output)
4095	return
4096}
4097
4098// GetSkillGroup API operation for Alexa For Business.
4099//
4100// Gets skill group details by skill group ARN.
4101//
4102// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4103// with awserr.Error's Code and Message methods to get detailed information about
4104// the error.
4105//
4106// See the AWS API reference guide for Alexa For Business's
4107// API operation GetSkillGroup for usage and error information.
4108//
4109// Returned Error Codes:
4110//   * ErrCodeNotFoundException "NotFoundException"
4111//   The resource is not found.
4112//
4113// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetSkillGroup
4114func (c *AlexaForBusiness) GetSkillGroup(input *GetSkillGroupInput) (*GetSkillGroupOutput, error) {
4115	req, out := c.GetSkillGroupRequest(input)
4116	return out, req.Send()
4117}
4118
4119// GetSkillGroupWithContext is the same as GetSkillGroup with the addition of
4120// the ability to pass a context and additional request options.
4121//
4122// See GetSkillGroup for details on how to use this API operation.
4123//
4124// The context must be non-nil and will be used for request cancellation. If
4125// the context is nil a panic will occur. In the future the SDK may create
4126// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4127// for more information on using Contexts.
4128func (c *AlexaForBusiness) GetSkillGroupWithContext(ctx aws.Context, input *GetSkillGroupInput, opts ...request.Option) (*GetSkillGroupOutput, error) {
4129	req, out := c.GetSkillGroupRequest(input)
4130	req.SetContext(ctx)
4131	req.ApplyOptions(opts...)
4132	return out, req.Send()
4133}
4134
4135const opListBusinessReportSchedules = "ListBusinessReportSchedules"
4136
4137// ListBusinessReportSchedulesRequest generates a "aws/request.Request" representing the
4138// client's request for the ListBusinessReportSchedules operation. The "output" return
4139// value will be populated with the request's response once the request completes
4140// successfully.
4141//
4142// Use "Send" method on the returned Request to send the API call to the service.
4143// the "output" return value is not valid until after Send returns without error.
4144//
4145// See ListBusinessReportSchedules for more information on using the ListBusinessReportSchedules
4146// API call, and error handling.
4147//
4148// This method is useful when you want to inject custom logic or configuration
4149// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4150//
4151//
4152//    // Example sending a request using the ListBusinessReportSchedulesRequest method.
4153//    req, resp := client.ListBusinessReportSchedulesRequest(params)
4154//
4155//    err := req.Send()
4156//    if err == nil { // resp is now filled
4157//        fmt.Println(resp)
4158//    }
4159//
4160// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListBusinessReportSchedules
4161func (c *AlexaForBusiness) ListBusinessReportSchedulesRequest(input *ListBusinessReportSchedulesInput) (req *request.Request, output *ListBusinessReportSchedulesOutput) {
4162	op := &request.Operation{
4163		Name:       opListBusinessReportSchedules,
4164		HTTPMethod: "POST",
4165		HTTPPath:   "/",
4166		Paginator: &request.Paginator{
4167			InputTokens:     []string{"NextToken"},
4168			OutputTokens:    []string{"NextToken"},
4169			LimitToken:      "MaxResults",
4170			TruncationToken: "",
4171		},
4172	}
4173
4174	if input == nil {
4175		input = &ListBusinessReportSchedulesInput{}
4176	}
4177
4178	output = &ListBusinessReportSchedulesOutput{}
4179	req = c.newRequest(op, input, output)
4180	return
4181}
4182
4183// ListBusinessReportSchedules API operation for Alexa For Business.
4184//
4185// Lists the details of the schedules that a user configured.
4186//
4187// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4188// with awserr.Error's Code and Message methods to get detailed information about
4189// the error.
4190//
4191// See the AWS API reference guide for Alexa For Business's
4192// API operation ListBusinessReportSchedules for usage and error information.
4193// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListBusinessReportSchedules
4194func (c *AlexaForBusiness) ListBusinessReportSchedules(input *ListBusinessReportSchedulesInput) (*ListBusinessReportSchedulesOutput, error) {
4195	req, out := c.ListBusinessReportSchedulesRequest(input)
4196	return out, req.Send()
4197}
4198
4199// ListBusinessReportSchedulesWithContext is the same as ListBusinessReportSchedules with the addition of
4200// the ability to pass a context and additional request options.
4201//
4202// See ListBusinessReportSchedules for details on how to use this API operation.
4203//
4204// The context must be non-nil and will be used for request cancellation. If
4205// the context is nil a panic will occur. In the future the SDK may create
4206// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4207// for more information on using Contexts.
4208func (c *AlexaForBusiness) ListBusinessReportSchedulesWithContext(ctx aws.Context, input *ListBusinessReportSchedulesInput, opts ...request.Option) (*ListBusinessReportSchedulesOutput, error) {
4209	req, out := c.ListBusinessReportSchedulesRequest(input)
4210	req.SetContext(ctx)
4211	req.ApplyOptions(opts...)
4212	return out, req.Send()
4213}
4214
4215// ListBusinessReportSchedulesPages iterates over the pages of a ListBusinessReportSchedules operation,
4216// calling the "fn" function with the response data for each page. To stop
4217// iterating, return false from the fn function.
4218//
4219// See ListBusinessReportSchedules method for more information on how to use this operation.
4220//
4221// Note: This operation can generate multiple requests to a service.
4222//
4223//    // Example iterating over at most 3 pages of a ListBusinessReportSchedules operation.
4224//    pageNum := 0
4225//    err := client.ListBusinessReportSchedulesPages(params,
4226//        func(page *alexaforbusiness.ListBusinessReportSchedulesOutput, lastPage bool) bool {
4227//            pageNum++
4228//            fmt.Println(page)
4229//            return pageNum <= 3
4230//        })
4231//
4232func (c *AlexaForBusiness) ListBusinessReportSchedulesPages(input *ListBusinessReportSchedulesInput, fn func(*ListBusinessReportSchedulesOutput, bool) bool) error {
4233	return c.ListBusinessReportSchedulesPagesWithContext(aws.BackgroundContext(), input, fn)
4234}
4235
4236// ListBusinessReportSchedulesPagesWithContext same as ListBusinessReportSchedulesPages except
4237// it takes a Context and allows setting request options on the pages.
4238//
4239// The context must be non-nil and will be used for request cancellation. If
4240// the context is nil a panic will occur. In the future the SDK may create
4241// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4242// for more information on using Contexts.
4243func (c *AlexaForBusiness) ListBusinessReportSchedulesPagesWithContext(ctx aws.Context, input *ListBusinessReportSchedulesInput, fn func(*ListBusinessReportSchedulesOutput, bool) bool, opts ...request.Option) error {
4244	p := request.Pagination{
4245		NewRequest: func() (*request.Request, error) {
4246			var inCpy *ListBusinessReportSchedulesInput
4247			if input != nil {
4248				tmp := *input
4249				inCpy = &tmp
4250			}
4251			req, _ := c.ListBusinessReportSchedulesRequest(inCpy)
4252			req.SetContext(ctx)
4253			req.ApplyOptions(opts...)
4254			return req, nil
4255		},
4256	}
4257
4258	cont := true
4259	for p.Next() && cont {
4260		cont = fn(p.Page().(*ListBusinessReportSchedulesOutput), !p.HasNextPage())
4261	}
4262	return p.Err()
4263}
4264
4265const opListConferenceProviders = "ListConferenceProviders"
4266
4267// ListConferenceProvidersRequest generates a "aws/request.Request" representing the
4268// client's request for the ListConferenceProviders operation. The "output" return
4269// value will be populated with the request's response once the request completes
4270// successfully.
4271//
4272// Use "Send" method on the returned Request to send the API call to the service.
4273// the "output" return value is not valid until after Send returns without error.
4274//
4275// See ListConferenceProviders for more information on using the ListConferenceProviders
4276// API call, and error handling.
4277//
4278// This method is useful when you want to inject custom logic or configuration
4279// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4280//
4281//
4282//    // Example sending a request using the ListConferenceProvidersRequest method.
4283//    req, resp := client.ListConferenceProvidersRequest(params)
4284//
4285//    err := req.Send()
4286//    if err == nil { // resp is now filled
4287//        fmt.Println(resp)
4288//    }
4289//
4290// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListConferenceProviders
4291func (c *AlexaForBusiness) ListConferenceProvidersRequest(input *ListConferenceProvidersInput) (req *request.Request, output *ListConferenceProvidersOutput) {
4292	op := &request.Operation{
4293		Name:       opListConferenceProviders,
4294		HTTPMethod: "POST",
4295		HTTPPath:   "/",
4296		Paginator: &request.Paginator{
4297			InputTokens:     []string{"NextToken"},
4298			OutputTokens:    []string{"NextToken"},
4299			LimitToken:      "MaxResults",
4300			TruncationToken: "",
4301		},
4302	}
4303
4304	if input == nil {
4305		input = &ListConferenceProvidersInput{}
4306	}
4307
4308	output = &ListConferenceProvidersOutput{}
4309	req = c.newRequest(op, input, output)
4310	return
4311}
4312
4313// ListConferenceProviders API operation for Alexa For Business.
4314//
4315// Lists conference providers under a specific AWS account.
4316//
4317// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4318// with awserr.Error's Code and Message methods to get detailed information about
4319// the error.
4320//
4321// See the AWS API reference guide for Alexa For Business's
4322// API operation ListConferenceProviders for usage and error information.
4323// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListConferenceProviders
4324func (c *AlexaForBusiness) ListConferenceProviders(input *ListConferenceProvidersInput) (*ListConferenceProvidersOutput, error) {
4325	req, out := c.ListConferenceProvidersRequest(input)
4326	return out, req.Send()
4327}
4328
4329// ListConferenceProvidersWithContext is the same as ListConferenceProviders with the addition of
4330// the ability to pass a context and additional request options.
4331//
4332// See ListConferenceProviders for details on how to use this API operation.
4333//
4334// The context must be non-nil and will be used for request cancellation. If
4335// the context is nil a panic will occur. In the future the SDK may create
4336// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4337// for more information on using Contexts.
4338func (c *AlexaForBusiness) ListConferenceProvidersWithContext(ctx aws.Context, input *ListConferenceProvidersInput, opts ...request.Option) (*ListConferenceProvidersOutput, error) {
4339	req, out := c.ListConferenceProvidersRequest(input)
4340	req.SetContext(ctx)
4341	req.ApplyOptions(opts...)
4342	return out, req.Send()
4343}
4344
4345// ListConferenceProvidersPages iterates over the pages of a ListConferenceProviders operation,
4346// calling the "fn" function with the response data for each page. To stop
4347// iterating, return false from the fn function.
4348//
4349// See ListConferenceProviders method for more information on how to use this operation.
4350//
4351// Note: This operation can generate multiple requests to a service.
4352//
4353//    // Example iterating over at most 3 pages of a ListConferenceProviders operation.
4354//    pageNum := 0
4355//    err := client.ListConferenceProvidersPages(params,
4356//        func(page *alexaforbusiness.ListConferenceProvidersOutput, lastPage bool) bool {
4357//            pageNum++
4358//            fmt.Println(page)
4359//            return pageNum <= 3
4360//        })
4361//
4362func (c *AlexaForBusiness) ListConferenceProvidersPages(input *ListConferenceProvidersInput, fn func(*ListConferenceProvidersOutput, bool) bool) error {
4363	return c.ListConferenceProvidersPagesWithContext(aws.BackgroundContext(), input, fn)
4364}
4365
4366// ListConferenceProvidersPagesWithContext same as ListConferenceProvidersPages except
4367// it takes a Context and allows setting request options on the pages.
4368//
4369// The context must be non-nil and will be used for request cancellation. If
4370// the context is nil a panic will occur. In the future the SDK may create
4371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4372// for more information on using Contexts.
4373func (c *AlexaForBusiness) ListConferenceProvidersPagesWithContext(ctx aws.Context, input *ListConferenceProvidersInput, fn func(*ListConferenceProvidersOutput, bool) bool, opts ...request.Option) error {
4374	p := request.Pagination{
4375		NewRequest: func() (*request.Request, error) {
4376			var inCpy *ListConferenceProvidersInput
4377			if input != nil {
4378				tmp := *input
4379				inCpy = &tmp
4380			}
4381			req, _ := c.ListConferenceProvidersRequest(inCpy)
4382			req.SetContext(ctx)
4383			req.ApplyOptions(opts...)
4384			return req, nil
4385		},
4386	}
4387
4388	cont := true
4389	for p.Next() && cont {
4390		cont = fn(p.Page().(*ListConferenceProvidersOutput), !p.HasNextPage())
4391	}
4392	return p.Err()
4393}
4394
4395const opListDeviceEvents = "ListDeviceEvents"
4396
4397// ListDeviceEventsRequest generates a "aws/request.Request" representing the
4398// client's request for the ListDeviceEvents operation. The "output" return
4399// value will be populated with the request's response once the request completes
4400// successfully.
4401//
4402// Use "Send" method on the returned Request to send the API call to the service.
4403// the "output" return value is not valid until after Send returns without error.
4404//
4405// See ListDeviceEvents for more information on using the ListDeviceEvents
4406// API call, and error handling.
4407//
4408// This method is useful when you want to inject custom logic or configuration
4409// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4410//
4411//
4412//    // Example sending a request using the ListDeviceEventsRequest method.
4413//    req, resp := client.ListDeviceEventsRequest(params)
4414//
4415//    err := req.Send()
4416//    if err == nil { // resp is now filled
4417//        fmt.Println(resp)
4418//    }
4419//
4420// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListDeviceEvents
4421func (c *AlexaForBusiness) ListDeviceEventsRequest(input *ListDeviceEventsInput) (req *request.Request, output *ListDeviceEventsOutput) {
4422	op := &request.Operation{
4423		Name:       opListDeviceEvents,
4424		HTTPMethod: "POST",
4425		HTTPPath:   "/",
4426		Paginator: &request.Paginator{
4427			InputTokens:     []string{"NextToken"},
4428			OutputTokens:    []string{"NextToken"},
4429			LimitToken:      "MaxResults",
4430			TruncationToken: "",
4431		},
4432	}
4433
4434	if input == nil {
4435		input = &ListDeviceEventsInput{}
4436	}
4437
4438	output = &ListDeviceEventsOutput{}
4439	req = c.newRequest(op, input, output)
4440	return
4441}
4442
4443// ListDeviceEvents API operation for Alexa For Business.
4444//
4445// Lists the device event history, including device connection status, for up
4446// to 30 days.
4447//
4448// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4449// with awserr.Error's Code and Message methods to get detailed information about
4450// the error.
4451//
4452// See the AWS API reference guide for Alexa For Business's
4453// API operation ListDeviceEvents for usage and error information.
4454//
4455// Returned Error Codes:
4456//   * ErrCodeNotFoundException "NotFoundException"
4457//   The resource is not found.
4458//
4459// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListDeviceEvents
4460func (c *AlexaForBusiness) ListDeviceEvents(input *ListDeviceEventsInput) (*ListDeviceEventsOutput, error) {
4461	req, out := c.ListDeviceEventsRequest(input)
4462	return out, req.Send()
4463}
4464
4465// ListDeviceEventsWithContext is the same as ListDeviceEvents with the addition of
4466// the ability to pass a context and additional request options.
4467//
4468// See ListDeviceEvents for details on how to use this API operation.
4469//
4470// The context must be non-nil and will be used for request cancellation. If
4471// the context is nil a panic will occur. In the future the SDK may create
4472// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4473// for more information on using Contexts.
4474func (c *AlexaForBusiness) ListDeviceEventsWithContext(ctx aws.Context, input *ListDeviceEventsInput, opts ...request.Option) (*ListDeviceEventsOutput, error) {
4475	req, out := c.ListDeviceEventsRequest(input)
4476	req.SetContext(ctx)
4477	req.ApplyOptions(opts...)
4478	return out, req.Send()
4479}
4480
4481// ListDeviceEventsPages iterates over the pages of a ListDeviceEvents operation,
4482// calling the "fn" function with the response data for each page. To stop
4483// iterating, return false from the fn function.
4484//
4485// See ListDeviceEvents method for more information on how to use this operation.
4486//
4487// Note: This operation can generate multiple requests to a service.
4488//
4489//    // Example iterating over at most 3 pages of a ListDeviceEvents operation.
4490//    pageNum := 0
4491//    err := client.ListDeviceEventsPages(params,
4492//        func(page *alexaforbusiness.ListDeviceEventsOutput, lastPage bool) bool {
4493//            pageNum++
4494//            fmt.Println(page)
4495//            return pageNum <= 3
4496//        })
4497//
4498func (c *AlexaForBusiness) ListDeviceEventsPages(input *ListDeviceEventsInput, fn func(*ListDeviceEventsOutput, bool) bool) error {
4499	return c.ListDeviceEventsPagesWithContext(aws.BackgroundContext(), input, fn)
4500}
4501
4502// ListDeviceEventsPagesWithContext same as ListDeviceEventsPages except
4503// it takes a Context and allows setting request options on the pages.
4504//
4505// The context must be non-nil and will be used for request cancellation. If
4506// the context is nil a panic will occur. In the future the SDK may create
4507// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4508// for more information on using Contexts.
4509func (c *AlexaForBusiness) ListDeviceEventsPagesWithContext(ctx aws.Context, input *ListDeviceEventsInput, fn func(*ListDeviceEventsOutput, bool) bool, opts ...request.Option) error {
4510	p := request.Pagination{
4511		NewRequest: func() (*request.Request, error) {
4512			var inCpy *ListDeviceEventsInput
4513			if input != nil {
4514				tmp := *input
4515				inCpy = &tmp
4516			}
4517			req, _ := c.ListDeviceEventsRequest(inCpy)
4518			req.SetContext(ctx)
4519			req.ApplyOptions(opts...)
4520			return req, nil
4521		},
4522	}
4523
4524	cont := true
4525	for p.Next() && cont {
4526		cont = fn(p.Page().(*ListDeviceEventsOutput), !p.HasNextPage())
4527	}
4528	return p.Err()
4529}
4530
4531const opListGatewayGroups = "ListGatewayGroups"
4532
4533// ListGatewayGroupsRequest generates a "aws/request.Request" representing the
4534// client's request for the ListGatewayGroups operation. The "output" return
4535// value will be populated with the request's response once the request completes
4536// successfully.
4537//
4538// Use "Send" method on the returned Request to send the API call to the service.
4539// the "output" return value is not valid until after Send returns without error.
4540//
4541// See ListGatewayGroups for more information on using the ListGatewayGroups
4542// API call, and error handling.
4543//
4544// This method is useful when you want to inject custom logic or configuration
4545// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4546//
4547//
4548//    // Example sending a request using the ListGatewayGroupsRequest method.
4549//    req, resp := client.ListGatewayGroupsRequest(params)
4550//
4551//    err := req.Send()
4552//    if err == nil { // resp is now filled
4553//        fmt.Println(resp)
4554//    }
4555//
4556// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListGatewayGroups
4557func (c *AlexaForBusiness) ListGatewayGroupsRequest(input *ListGatewayGroupsInput) (req *request.Request, output *ListGatewayGroupsOutput) {
4558	op := &request.Operation{
4559		Name:       opListGatewayGroups,
4560		HTTPMethod: "POST",
4561		HTTPPath:   "/",
4562		Paginator: &request.Paginator{
4563			InputTokens:     []string{"NextToken"},
4564			OutputTokens:    []string{"NextToken"},
4565			LimitToken:      "MaxResults",
4566			TruncationToken: "",
4567		},
4568	}
4569
4570	if input == nil {
4571		input = &ListGatewayGroupsInput{}
4572	}
4573
4574	output = &ListGatewayGroupsOutput{}
4575	req = c.newRequest(op, input, output)
4576	return
4577}
4578
4579// ListGatewayGroups API operation for Alexa For Business.
4580//
4581// Retrieves a list of gateway group summaries. Use GetGatewayGroup to retrieve
4582// details of a specific gateway group.
4583//
4584// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4585// with awserr.Error's Code and Message methods to get detailed information about
4586// the error.
4587//
4588// See the AWS API reference guide for Alexa For Business's
4589// API operation ListGatewayGroups for usage and error information.
4590// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListGatewayGroups
4591func (c *AlexaForBusiness) ListGatewayGroups(input *ListGatewayGroupsInput) (*ListGatewayGroupsOutput, error) {
4592	req, out := c.ListGatewayGroupsRequest(input)
4593	return out, req.Send()
4594}
4595
4596// ListGatewayGroupsWithContext is the same as ListGatewayGroups with the addition of
4597// the ability to pass a context and additional request options.
4598//
4599// See ListGatewayGroups for details on how to use this API operation.
4600//
4601// The context must be non-nil and will be used for request cancellation. If
4602// the context is nil a panic will occur. In the future the SDK may create
4603// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4604// for more information on using Contexts.
4605func (c *AlexaForBusiness) ListGatewayGroupsWithContext(ctx aws.Context, input *ListGatewayGroupsInput, opts ...request.Option) (*ListGatewayGroupsOutput, error) {
4606	req, out := c.ListGatewayGroupsRequest(input)
4607	req.SetContext(ctx)
4608	req.ApplyOptions(opts...)
4609	return out, req.Send()
4610}
4611
4612// ListGatewayGroupsPages iterates over the pages of a ListGatewayGroups operation,
4613// calling the "fn" function with the response data for each page. To stop
4614// iterating, return false from the fn function.
4615//
4616// See ListGatewayGroups method for more information on how to use this operation.
4617//
4618// Note: This operation can generate multiple requests to a service.
4619//
4620//    // Example iterating over at most 3 pages of a ListGatewayGroups operation.
4621//    pageNum := 0
4622//    err := client.ListGatewayGroupsPages(params,
4623//        func(page *alexaforbusiness.ListGatewayGroupsOutput, lastPage bool) bool {
4624//            pageNum++
4625//            fmt.Println(page)
4626//            return pageNum <= 3
4627//        })
4628//
4629func (c *AlexaForBusiness) ListGatewayGroupsPages(input *ListGatewayGroupsInput, fn func(*ListGatewayGroupsOutput, bool) bool) error {
4630	return c.ListGatewayGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
4631}
4632
4633// ListGatewayGroupsPagesWithContext same as ListGatewayGroupsPages except
4634// it takes a Context and allows setting request options on the pages.
4635//
4636// The context must be non-nil and will be used for request cancellation. If
4637// the context is nil a panic will occur. In the future the SDK may create
4638// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4639// for more information on using Contexts.
4640func (c *AlexaForBusiness) ListGatewayGroupsPagesWithContext(ctx aws.Context, input *ListGatewayGroupsInput, fn func(*ListGatewayGroupsOutput, bool) bool, opts ...request.Option) error {
4641	p := request.Pagination{
4642		NewRequest: func() (*request.Request, error) {
4643			var inCpy *ListGatewayGroupsInput
4644			if input != nil {
4645				tmp := *input
4646				inCpy = &tmp
4647			}
4648			req, _ := c.ListGatewayGroupsRequest(inCpy)
4649			req.SetContext(ctx)
4650			req.ApplyOptions(opts...)
4651			return req, nil
4652		},
4653	}
4654
4655	cont := true
4656	for p.Next() && cont {
4657		cont = fn(p.Page().(*ListGatewayGroupsOutput), !p.HasNextPage())
4658	}
4659	return p.Err()
4660}
4661
4662const opListGateways = "ListGateways"
4663
4664// ListGatewaysRequest generates a "aws/request.Request" representing the
4665// client's request for the ListGateways operation. The "output" return
4666// value will be populated with the request's response once the request completes
4667// successfully.
4668//
4669// Use "Send" method on the returned Request to send the API call to the service.
4670// the "output" return value is not valid until after Send returns without error.
4671//
4672// See ListGateways for more information on using the ListGateways
4673// API call, and error handling.
4674//
4675// This method is useful when you want to inject custom logic or configuration
4676// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4677//
4678//
4679//    // Example sending a request using the ListGatewaysRequest method.
4680//    req, resp := client.ListGatewaysRequest(params)
4681//
4682//    err := req.Send()
4683//    if err == nil { // resp is now filled
4684//        fmt.Println(resp)
4685//    }
4686//
4687// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListGateways
4688func (c *AlexaForBusiness) ListGatewaysRequest(input *ListGatewaysInput) (req *request.Request, output *ListGatewaysOutput) {
4689	op := &request.Operation{
4690		Name:       opListGateways,
4691		HTTPMethod: "POST",
4692		HTTPPath:   "/",
4693		Paginator: &request.Paginator{
4694			InputTokens:     []string{"NextToken"},
4695			OutputTokens:    []string{"NextToken"},
4696			LimitToken:      "MaxResults",
4697			TruncationToken: "",
4698		},
4699	}
4700
4701	if input == nil {
4702		input = &ListGatewaysInput{}
4703	}
4704
4705	output = &ListGatewaysOutput{}
4706	req = c.newRequest(op, input, output)
4707	return
4708}
4709
4710// ListGateways API operation for Alexa For Business.
4711//
4712// Retrieves a list of gateway summaries. Use GetGateway to retrieve details
4713// of a specific gateway. An optional gateway group ARN can be provided to only
4714// retrieve gateway summaries of gateways that are associated with that gateway
4715// group ARN.
4716//
4717// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4718// with awserr.Error's Code and Message methods to get detailed information about
4719// the error.
4720//
4721// See the AWS API reference guide for Alexa For Business's
4722// API operation ListGateways for usage and error information.
4723// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListGateways
4724func (c *AlexaForBusiness) ListGateways(input *ListGatewaysInput) (*ListGatewaysOutput, error) {
4725	req, out := c.ListGatewaysRequest(input)
4726	return out, req.Send()
4727}
4728
4729// ListGatewaysWithContext is the same as ListGateways with the addition of
4730// the ability to pass a context and additional request options.
4731//
4732// See ListGateways for details on how to use this API operation.
4733//
4734// The context must be non-nil and will be used for request cancellation. If
4735// the context is nil a panic will occur. In the future the SDK may create
4736// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4737// for more information on using Contexts.
4738func (c *AlexaForBusiness) ListGatewaysWithContext(ctx aws.Context, input *ListGatewaysInput, opts ...request.Option) (*ListGatewaysOutput, error) {
4739	req, out := c.ListGatewaysRequest(input)
4740	req.SetContext(ctx)
4741	req.ApplyOptions(opts...)
4742	return out, req.Send()
4743}
4744
4745// ListGatewaysPages iterates over the pages of a ListGateways operation,
4746// calling the "fn" function with the response data for each page. To stop
4747// iterating, return false from the fn function.
4748//
4749// See ListGateways method for more information on how to use this operation.
4750//
4751// Note: This operation can generate multiple requests to a service.
4752//
4753//    // Example iterating over at most 3 pages of a ListGateways operation.
4754//    pageNum := 0
4755//    err := client.ListGatewaysPages(params,
4756//        func(page *alexaforbusiness.ListGatewaysOutput, lastPage bool) bool {
4757//            pageNum++
4758//            fmt.Println(page)
4759//            return pageNum <= 3
4760//        })
4761//
4762func (c *AlexaForBusiness) ListGatewaysPages(input *ListGatewaysInput, fn func(*ListGatewaysOutput, bool) bool) error {
4763	return c.ListGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
4764}
4765
4766// ListGatewaysPagesWithContext same as ListGatewaysPages except
4767// it takes a Context and allows setting request options on the pages.
4768//
4769// The context must be non-nil and will be used for request cancellation. If
4770// the context is nil a panic will occur. In the future the SDK may create
4771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4772// for more information on using Contexts.
4773func (c *AlexaForBusiness) ListGatewaysPagesWithContext(ctx aws.Context, input *ListGatewaysInput, fn func(*ListGatewaysOutput, bool) bool, opts ...request.Option) error {
4774	p := request.Pagination{
4775		NewRequest: func() (*request.Request, error) {
4776			var inCpy *ListGatewaysInput
4777			if input != nil {
4778				tmp := *input
4779				inCpy = &tmp
4780			}
4781			req, _ := c.ListGatewaysRequest(inCpy)
4782			req.SetContext(ctx)
4783			req.ApplyOptions(opts...)
4784			return req, nil
4785		},
4786	}
4787
4788	cont := true
4789	for p.Next() && cont {
4790		cont = fn(p.Page().(*ListGatewaysOutput), !p.HasNextPage())
4791	}
4792	return p.Err()
4793}
4794
4795const opListSkills = "ListSkills"
4796
4797// ListSkillsRequest generates a "aws/request.Request" representing the
4798// client's request for the ListSkills operation. The "output" return
4799// value will be populated with the request's response once the request completes
4800// successfully.
4801//
4802// Use "Send" method on the returned Request to send the API call to the service.
4803// the "output" return value is not valid until after Send returns without error.
4804//
4805// See ListSkills for more information on using the ListSkills
4806// API call, and error handling.
4807//
4808// This method is useful when you want to inject custom logic or configuration
4809// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4810//
4811//
4812//    // Example sending a request using the ListSkillsRequest method.
4813//    req, resp := client.ListSkillsRequest(params)
4814//
4815//    err := req.Send()
4816//    if err == nil { // resp is now filled
4817//        fmt.Println(resp)
4818//    }
4819//
4820// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListSkills
4821func (c *AlexaForBusiness) ListSkillsRequest(input *ListSkillsInput) (req *request.Request, output *ListSkillsOutput) {
4822	op := &request.Operation{
4823		Name:       opListSkills,
4824		HTTPMethod: "POST",
4825		HTTPPath:   "/",
4826		Paginator: &request.Paginator{
4827			InputTokens:     []string{"NextToken"},
4828			OutputTokens:    []string{"NextToken"},
4829			LimitToken:      "MaxResults",
4830			TruncationToken: "",
4831		},
4832	}
4833
4834	if input == nil {
4835		input = &ListSkillsInput{}
4836	}
4837
4838	output = &ListSkillsOutput{}
4839	req = c.newRequest(op, input, output)
4840	return
4841}
4842
4843// ListSkills API operation for Alexa For Business.
4844//
4845// Lists all enabled skills in a specific skill group.
4846//
4847// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4848// with awserr.Error's Code and Message methods to get detailed information about
4849// the error.
4850//
4851// See the AWS API reference guide for Alexa For Business's
4852// API operation ListSkills for usage and error information.
4853// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListSkills
4854func (c *AlexaForBusiness) ListSkills(input *ListSkillsInput) (*ListSkillsOutput, error) {
4855	req, out := c.ListSkillsRequest(input)
4856	return out, req.Send()
4857}
4858
4859// ListSkillsWithContext is the same as ListSkills with the addition of
4860// the ability to pass a context and additional request options.
4861//
4862// See ListSkills for details on how to use this API operation.
4863//
4864// The context must be non-nil and will be used for request cancellation. If
4865// the context is nil a panic will occur. In the future the SDK may create
4866// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4867// for more information on using Contexts.
4868func (c *AlexaForBusiness) ListSkillsWithContext(ctx aws.Context, input *ListSkillsInput, opts ...request.Option) (*ListSkillsOutput, error) {
4869	req, out := c.ListSkillsRequest(input)
4870	req.SetContext(ctx)
4871	req.ApplyOptions(opts...)
4872	return out, req.Send()
4873}
4874
4875// ListSkillsPages iterates over the pages of a ListSkills operation,
4876// calling the "fn" function with the response data for each page. To stop
4877// iterating, return false from the fn function.
4878//
4879// See ListSkills method for more information on how to use this operation.
4880//
4881// Note: This operation can generate multiple requests to a service.
4882//
4883//    // Example iterating over at most 3 pages of a ListSkills operation.
4884//    pageNum := 0
4885//    err := client.ListSkillsPages(params,
4886//        func(page *alexaforbusiness.ListSkillsOutput, lastPage bool) bool {
4887//            pageNum++
4888//            fmt.Println(page)
4889//            return pageNum <= 3
4890//        })
4891//
4892func (c *AlexaForBusiness) ListSkillsPages(input *ListSkillsInput, fn func(*ListSkillsOutput, bool) bool) error {
4893	return c.ListSkillsPagesWithContext(aws.BackgroundContext(), input, fn)
4894}
4895
4896// ListSkillsPagesWithContext same as ListSkillsPages except
4897// it takes a Context and allows setting request options on the pages.
4898//
4899// The context must be non-nil and will be used for request cancellation. If
4900// the context is nil a panic will occur. In the future the SDK may create
4901// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4902// for more information on using Contexts.
4903func (c *AlexaForBusiness) ListSkillsPagesWithContext(ctx aws.Context, input *ListSkillsInput, fn func(*ListSkillsOutput, bool) bool, opts ...request.Option) error {
4904	p := request.Pagination{
4905		NewRequest: func() (*request.Request, error) {
4906			var inCpy *ListSkillsInput
4907			if input != nil {
4908				tmp := *input
4909				inCpy = &tmp
4910			}
4911			req, _ := c.ListSkillsRequest(inCpy)
4912			req.SetContext(ctx)
4913			req.ApplyOptions(opts...)
4914			return req, nil
4915		},
4916	}
4917
4918	cont := true
4919	for p.Next() && cont {
4920		cont = fn(p.Page().(*ListSkillsOutput), !p.HasNextPage())
4921	}
4922	return p.Err()
4923}
4924
4925const opListSkillsStoreCategories = "ListSkillsStoreCategories"
4926
4927// ListSkillsStoreCategoriesRequest generates a "aws/request.Request" representing the
4928// client's request for the ListSkillsStoreCategories operation. The "output" return
4929// value will be populated with the request's response once the request completes
4930// successfully.
4931//
4932// Use "Send" method on the returned Request to send the API call to the service.
4933// the "output" return value is not valid until after Send returns without error.
4934//
4935// See ListSkillsStoreCategories for more information on using the ListSkillsStoreCategories
4936// API call, and error handling.
4937//
4938// This method is useful when you want to inject custom logic or configuration
4939// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4940//
4941//
4942//    // Example sending a request using the ListSkillsStoreCategoriesRequest method.
4943//    req, resp := client.ListSkillsStoreCategoriesRequest(params)
4944//
4945//    err := req.Send()
4946//    if err == nil { // resp is now filled
4947//        fmt.Println(resp)
4948//    }
4949//
4950// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListSkillsStoreCategories
4951func (c *AlexaForBusiness) ListSkillsStoreCategoriesRequest(input *ListSkillsStoreCategoriesInput) (req *request.Request, output *ListSkillsStoreCategoriesOutput) {
4952	op := &request.Operation{
4953		Name:       opListSkillsStoreCategories,
4954		HTTPMethod: "POST",
4955		HTTPPath:   "/",
4956		Paginator: &request.Paginator{
4957			InputTokens:     []string{"NextToken"},
4958			OutputTokens:    []string{"NextToken"},
4959			LimitToken:      "MaxResults",
4960			TruncationToken: "",
4961		},
4962	}
4963
4964	if input == nil {
4965		input = &ListSkillsStoreCategoriesInput{}
4966	}
4967
4968	output = &ListSkillsStoreCategoriesOutput{}
4969	req = c.newRequest(op, input, output)
4970	return
4971}
4972
4973// ListSkillsStoreCategories API operation for Alexa For Business.
4974//
4975// Lists all categories in the Alexa skill store.
4976//
4977// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4978// with awserr.Error's Code and Message methods to get detailed information about
4979// the error.
4980//
4981// See the AWS API reference guide for Alexa For Business's
4982// API operation ListSkillsStoreCategories for usage and error information.
4983// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListSkillsStoreCategories
4984func (c *AlexaForBusiness) ListSkillsStoreCategories(input *ListSkillsStoreCategoriesInput) (*ListSkillsStoreCategoriesOutput, error) {
4985	req, out := c.ListSkillsStoreCategoriesRequest(input)
4986	return out, req.Send()
4987}
4988
4989// ListSkillsStoreCategoriesWithContext is the same as ListSkillsStoreCategories with the addition of
4990// the ability to pass a context and additional request options.
4991//
4992// See ListSkillsStoreCategories for details on how to use this API operation.
4993//
4994// The context must be non-nil and will be used for request cancellation. If
4995// the context is nil a panic will occur. In the future the SDK may create
4996// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4997// for more information on using Contexts.
4998func (c *AlexaForBusiness) ListSkillsStoreCategoriesWithContext(ctx aws.Context, input *ListSkillsStoreCategoriesInput, opts ...request.Option) (*ListSkillsStoreCategoriesOutput, error) {
4999	req, out := c.ListSkillsStoreCategoriesRequest(input)
5000	req.SetContext(ctx)
5001	req.ApplyOptions(opts...)
5002	return out, req.Send()
5003}
5004
5005// ListSkillsStoreCategoriesPages iterates over the pages of a ListSkillsStoreCategories operation,
5006// calling the "fn" function with the response data for each page. To stop
5007// iterating, return false from the fn function.
5008//
5009// See ListSkillsStoreCategories method for more information on how to use this operation.
5010//
5011// Note: This operation can generate multiple requests to a service.
5012//
5013//    // Example iterating over at most 3 pages of a ListSkillsStoreCategories operation.
5014//    pageNum := 0
5015//    err := client.ListSkillsStoreCategoriesPages(params,
5016//        func(page *alexaforbusiness.ListSkillsStoreCategoriesOutput, lastPage bool) bool {
5017//            pageNum++
5018//            fmt.Println(page)
5019//            return pageNum <= 3
5020//        })
5021//
5022func (c *AlexaForBusiness) ListSkillsStoreCategoriesPages(input *ListSkillsStoreCategoriesInput, fn func(*ListSkillsStoreCategoriesOutput, bool) bool) error {
5023	return c.ListSkillsStoreCategoriesPagesWithContext(aws.BackgroundContext(), input, fn)
5024}
5025
5026// ListSkillsStoreCategoriesPagesWithContext same as ListSkillsStoreCategoriesPages except
5027// it takes a Context and allows setting request options on the pages.
5028//
5029// The context must be non-nil and will be used for request cancellation. If
5030// the context is nil a panic will occur. In the future the SDK may create
5031// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5032// for more information on using Contexts.
5033func (c *AlexaForBusiness) ListSkillsStoreCategoriesPagesWithContext(ctx aws.Context, input *ListSkillsStoreCategoriesInput, fn func(*ListSkillsStoreCategoriesOutput, bool) bool, opts ...request.Option) error {
5034	p := request.Pagination{
5035		NewRequest: func() (*request.Request, error) {
5036			var inCpy *ListSkillsStoreCategoriesInput
5037			if input != nil {
5038				tmp := *input
5039				inCpy = &tmp
5040			}
5041			req, _ := c.ListSkillsStoreCategoriesRequest(inCpy)
5042			req.SetContext(ctx)
5043			req.ApplyOptions(opts...)
5044			return req, nil
5045		},
5046	}
5047
5048	cont := true
5049	for p.Next() && cont {
5050		cont = fn(p.Page().(*ListSkillsStoreCategoriesOutput), !p.HasNextPage())
5051	}
5052	return p.Err()
5053}
5054
5055const opListSkillsStoreSkillsByCategory = "ListSkillsStoreSkillsByCategory"
5056
5057// ListSkillsStoreSkillsByCategoryRequest generates a "aws/request.Request" representing the
5058// client's request for the ListSkillsStoreSkillsByCategory operation. The "output" return
5059// value will be populated with the request's response once the request completes
5060// successfully.
5061//
5062// Use "Send" method on the returned Request to send the API call to the service.
5063// the "output" return value is not valid until after Send returns without error.
5064//
5065// See ListSkillsStoreSkillsByCategory for more information on using the ListSkillsStoreSkillsByCategory
5066// API call, and error handling.
5067//
5068// This method is useful when you want to inject custom logic or configuration
5069// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5070//
5071//
5072//    // Example sending a request using the ListSkillsStoreSkillsByCategoryRequest method.
5073//    req, resp := client.ListSkillsStoreSkillsByCategoryRequest(params)
5074//
5075//    err := req.Send()
5076//    if err == nil { // resp is now filled
5077//        fmt.Println(resp)
5078//    }
5079//
5080// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListSkillsStoreSkillsByCategory
5081func (c *AlexaForBusiness) ListSkillsStoreSkillsByCategoryRequest(input *ListSkillsStoreSkillsByCategoryInput) (req *request.Request, output *ListSkillsStoreSkillsByCategoryOutput) {
5082	op := &request.Operation{
5083		Name:       opListSkillsStoreSkillsByCategory,
5084		HTTPMethod: "POST",
5085		HTTPPath:   "/",
5086		Paginator: &request.Paginator{
5087			InputTokens:     []string{"NextToken"},
5088			OutputTokens:    []string{"NextToken"},
5089			LimitToken:      "MaxResults",
5090			TruncationToken: "",
5091		},
5092	}
5093
5094	if input == nil {
5095		input = &ListSkillsStoreSkillsByCategoryInput{}
5096	}
5097
5098	output = &ListSkillsStoreSkillsByCategoryOutput{}
5099	req = c.newRequest(op, input, output)
5100	return
5101}
5102
5103// ListSkillsStoreSkillsByCategory API operation for Alexa For Business.
5104//
5105// Lists all skills in the Alexa skill store by category.
5106//
5107// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5108// with awserr.Error's Code and Message methods to get detailed information about
5109// the error.
5110//
5111// See the AWS API reference guide for Alexa For Business's
5112// API operation ListSkillsStoreSkillsByCategory for usage and error information.
5113// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListSkillsStoreSkillsByCategory
5114func (c *AlexaForBusiness) ListSkillsStoreSkillsByCategory(input *ListSkillsStoreSkillsByCategoryInput) (*ListSkillsStoreSkillsByCategoryOutput, error) {
5115	req, out := c.ListSkillsStoreSkillsByCategoryRequest(input)
5116	return out, req.Send()
5117}
5118
5119// ListSkillsStoreSkillsByCategoryWithContext is the same as ListSkillsStoreSkillsByCategory with the addition of
5120// the ability to pass a context and additional request options.
5121//
5122// See ListSkillsStoreSkillsByCategory for details on how to use this API operation.
5123//
5124// The context must be non-nil and will be used for request cancellation. If
5125// the context is nil a panic will occur. In the future the SDK may create
5126// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5127// for more information on using Contexts.
5128func (c *AlexaForBusiness) ListSkillsStoreSkillsByCategoryWithContext(ctx aws.Context, input *ListSkillsStoreSkillsByCategoryInput, opts ...request.Option) (*ListSkillsStoreSkillsByCategoryOutput, error) {
5129	req, out := c.ListSkillsStoreSkillsByCategoryRequest(input)
5130	req.SetContext(ctx)
5131	req.ApplyOptions(opts...)
5132	return out, req.Send()
5133}
5134
5135// ListSkillsStoreSkillsByCategoryPages iterates over the pages of a ListSkillsStoreSkillsByCategory operation,
5136// calling the "fn" function with the response data for each page. To stop
5137// iterating, return false from the fn function.
5138//
5139// See ListSkillsStoreSkillsByCategory method for more information on how to use this operation.
5140//
5141// Note: This operation can generate multiple requests to a service.
5142//
5143//    // Example iterating over at most 3 pages of a ListSkillsStoreSkillsByCategory operation.
5144//    pageNum := 0
5145//    err := client.ListSkillsStoreSkillsByCategoryPages(params,
5146//        func(page *alexaforbusiness.ListSkillsStoreSkillsByCategoryOutput, lastPage bool) bool {
5147//            pageNum++
5148//            fmt.Println(page)
5149//            return pageNum <= 3
5150//        })
5151//
5152func (c *AlexaForBusiness) ListSkillsStoreSkillsByCategoryPages(input *ListSkillsStoreSkillsByCategoryInput, fn func(*ListSkillsStoreSkillsByCategoryOutput, bool) bool) error {
5153	return c.ListSkillsStoreSkillsByCategoryPagesWithContext(aws.BackgroundContext(), input, fn)
5154}
5155
5156// ListSkillsStoreSkillsByCategoryPagesWithContext same as ListSkillsStoreSkillsByCategoryPages except
5157// it takes a Context and allows setting request options on the pages.
5158//
5159// The context must be non-nil and will be used for request cancellation. If
5160// the context is nil a panic will occur. In the future the SDK may create
5161// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5162// for more information on using Contexts.
5163func (c *AlexaForBusiness) ListSkillsStoreSkillsByCategoryPagesWithContext(ctx aws.Context, input *ListSkillsStoreSkillsByCategoryInput, fn func(*ListSkillsStoreSkillsByCategoryOutput, bool) bool, opts ...request.Option) error {
5164	p := request.Pagination{
5165		NewRequest: func() (*request.Request, error) {
5166			var inCpy *ListSkillsStoreSkillsByCategoryInput
5167			if input != nil {
5168				tmp := *input
5169				inCpy = &tmp
5170			}
5171			req, _ := c.ListSkillsStoreSkillsByCategoryRequest(inCpy)
5172			req.SetContext(ctx)
5173			req.ApplyOptions(opts...)
5174			return req, nil
5175		},
5176	}
5177
5178	cont := true
5179	for p.Next() && cont {
5180		cont = fn(p.Page().(*ListSkillsStoreSkillsByCategoryOutput), !p.HasNextPage())
5181	}
5182	return p.Err()
5183}
5184
5185const opListSmartHomeAppliances = "ListSmartHomeAppliances"
5186
5187// ListSmartHomeAppliancesRequest generates a "aws/request.Request" representing the
5188// client's request for the ListSmartHomeAppliances operation. The "output" return
5189// value will be populated with the request's response once the request completes
5190// successfully.
5191//
5192// Use "Send" method on the returned Request to send the API call to the service.
5193// the "output" return value is not valid until after Send returns without error.
5194//
5195// See ListSmartHomeAppliances for more information on using the ListSmartHomeAppliances
5196// API call, and error handling.
5197//
5198// This method is useful when you want to inject custom logic or configuration
5199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5200//
5201//
5202//    // Example sending a request using the ListSmartHomeAppliancesRequest method.
5203//    req, resp := client.ListSmartHomeAppliancesRequest(params)
5204//
5205//    err := req.Send()
5206//    if err == nil { // resp is now filled
5207//        fmt.Println(resp)
5208//    }
5209//
5210// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListSmartHomeAppliances
5211func (c *AlexaForBusiness) ListSmartHomeAppliancesRequest(input *ListSmartHomeAppliancesInput) (req *request.Request, output *ListSmartHomeAppliancesOutput) {
5212	op := &request.Operation{
5213		Name:       opListSmartHomeAppliances,
5214		HTTPMethod: "POST",
5215		HTTPPath:   "/",
5216		Paginator: &request.Paginator{
5217			InputTokens:     []string{"NextToken"},
5218			OutputTokens:    []string{"NextToken"},
5219			LimitToken:      "MaxResults",
5220			TruncationToken: "",
5221		},
5222	}
5223
5224	if input == nil {
5225		input = &ListSmartHomeAppliancesInput{}
5226	}
5227
5228	output = &ListSmartHomeAppliancesOutput{}
5229	req = c.newRequest(op, input, output)
5230	return
5231}
5232
5233// ListSmartHomeAppliances API operation for Alexa For Business.
5234//
5235// Lists all of the smart home appliances associated with a room.
5236//
5237// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5238// with awserr.Error's Code and Message methods to get detailed information about
5239// the error.
5240//
5241// See the AWS API reference guide for Alexa For Business's
5242// API operation ListSmartHomeAppliances for usage and error information.
5243//
5244// Returned Error Codes:
5245//   * ErrCodeNotFoundException "NotFoundException"
5246//   The resource is not found.
5247//
5248// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListSmartHomeAppliances
5249func (c *AlexaForBusiness) ListSmartHomeAppliances(input *ListSmartHomeAppliancesInput) (*ListSmartHomeAppliancesOutput, error) {
5250	req, out := c.ListSmartHomeAppliancesRequest(input)
5251	return out, req.Send()
5252}
5253
5254// ListSmartHomeAppliancesWithContext is the same as ListSmartHomeAppliances with the addition of
5255// the ability to pass a context and additional request options.
5256//
5257// See ListSmartHomeAppliances for details on how to use this API operation.
5258//
5259// The context must be non-nil and will be used for request cancellation. If
5260// the context is nil a panic will occur. In the future the SDK may create
5261// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5262// for more information on using Contexts.
5263func (c *AlexaForBusiness) ListSmartHomeAppliancesWithContext(ctx aws.Context, input *ListSmartHomeAppliancesInput, opts ...request.Option) (*ListSmartHomeAppliancesOutput, error) {
5264	req, out := c.ListSmartHomeAppliancesRequest(input)
5265	req.SetContext(ctx)
5266	req.ApplyOptions(opts...)
5267	return out, req.Send()
5268}
5269
5270// ListSmartHomeAppliancesPages iterates over the pages of a ListSmartHomeAppliances operation,
5271// calling the "fn" function with the response data for each page. To stop
5272// iterating, return false from the fn function.
5273//
5274// See ListSmartHomeAppliances method for more information on how to use this operation.
5275//
5276// Note: This operation can generate multiple requests to a service.
5277//
5278//    // Example iterating over at most 3 pages of a ListSmartHomeAppliances operation.
5279//    pageNum := 0
5280//    err := client.ListSmartHomeAppliancesPages(params,
5281//        func(page *alexaforbusiness.ListSmartHomeAppliancesOutput, lastPage bool) bool {
5282//            pageNum++
5283//            fmt.Println(page)
5284//            return pageNum <= 3
5285//        })
5286//
5287func (c *AlexaForBusiness) ListSmartHomeAppliancesPages(input *ListSmartHomeAppliancesInput, fn func(*ListSmartHomeAppliancesOutput, bool) bool) error {
5288	return c.ListSmartHomeAppliancesPagesWithContext(aws.BackgroundContext(), input, fn)
5289}
5290
5291// ListSmartHomeAppliancesPagesWithContext same as ListSmartHomeAppliancesPages except
5292// it takes a Context and allows setting request options on the pages.
5293//
5294// The context must be non-nil and will be used for request cancellation. If
5295// the context is nil a panic will occur. In the future the SDK may create
5296// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5297// for more information on using Contexts.
5298func (c *AlexaForBusiness) ListSmartHomeAppliancesPagesWithContext(ctx aws.Context, input *ListSmartHomeAppliancesInput, fn func(*ListSmartHomeAppliancesOutput, bool) bool, opts ...request.Option) error {
5299	p := request.Pagination{
5300		NewRequest: func() (*request.Request, error) {
5301			var inCpy *ListSmartHomeAppliancesInput
5302			if input != nil {
5303				tmp := *input
5304				inCpy = &tmp
5305			}
5306			req, _ := c.ListSmartHomeAppliancesRequest(inCpy)
5307			req.SetContext(ctx)
5308			req.ApplyOptions(opts...)
5309			return req, nil
5310		},
5311	}
5312
5313	cont := true
5314	for p.Next() && cont {
5315		cont = fn(p.Page().(*ListSmartHomeAppliancesOutput), !p.HasNextPage())
5316	}
5317	return p.Err()
5318}
5319
5320const opListTags = "ListTags"
5321
5322// ListTagsRequest generates a "aws/request.Request" representing the
5323// client's request for the ListTags operation. The "output" return
5324// value will be populated with the request's response once the request completes
5325// successfully.
5326//
5327// Use "Send" method on the returned Request to send the API call to the service.
5328// the "output" return value is not valid until after Send returns without error.
5329//
5330// See ListTags for more information on using the ListTags
5331// API call, and error handling.
5332//
5333// This method is useful when you want to inject custom logic or configuration
5334// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5335//
5336//
5337//    // Example sending a request using the ListTagsRequest method.
5338//    req, resp := client.ListTagsRequest(params)
5339//
5340//    err := req.Send()
5341//    if err == nil { // resp is now filled
5342//        fmt.Println(resp)
5343//    }
5344//
5345// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListTags
5346func (c *AlexaForBusiness) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) {
5347	op := &request.Operation{
5348		Name:       opListTags,
5349		HTTPMethod: "POST",
5350		HTTPPath:   "/",
5351		Paginator: &request.Paginator{
5352			InputTokens:     []string{"NextToken"},
5353			OutputTokens:    []string{"NextToken"},
5354			LimitToken:      "MaxResults",
5355			TruncationToken: "",
5356		},
5357	}
5358
5359	if input == nil {
5360		input = &ListTagsInput{}
5361	}
5362
5363	output = &ListTagsOutput{}
5364	req = c.newRequest(op, input, output)
5365	return
5366}
5367
5368// ListTags API operation for Alexa For Business.
5369//
5370// Lists all tags for the specified resource.
5371//
5372// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5373// with awserr.Error's Code and Message methods to get detailed information about
5374// the error.
5375//
5376// See the AWS API reference guide for Alexa For Business's
5377// API operation ListTags for usage and error information.
5378//
5379// Returned Error Codes:
5380//   * ErrCodeNotFoundException "NotFoundException"
5381//   The resource is not found.
5382//
5383// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListTags
5384func (c *AlexaForBusiness) ListTags(input *ListTagsInput) (*ListTagsOutput, error) {
5385	req, out := c.ListTagsRequest(input)
5386	return out, req.Send()
5387}
5388
5389// ListTagsWithContext is the same as ListTags with the addition of
5390// the ability to pass a context and additional request options.
5391//
5392// See ListTags for details on how to use this API operation.
5393//
5394// The context must be non-nil and will be used for request cancellation. If
5395// the context is nil a panic will occur. In the future the SDK may create
5396// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5397// for more information on using Contexts.
5398func (c *AlexaForBusiness) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) {
5399	req, out := c.ListTagsRequest(input)
5400	req.SetContext(ctx)
5401	req.ApplyOptions(opts...)
5402	return out, req.Send()
5403}
5404
5405// ListTagsPages iterates over the pages of a ListTags operation,
5406// calling the "fn" function with the response data for each page. To stop
5407// iterating, return false from the fn function.
5408//
5409// See ListTags method for more information on how to use this operation.
5410//
5411// Note: This operation can generate multiple requests to a service.
5412//
5413//    // Example iterating over at most 3 pages of a ListTags operation.
5414//    pageNum := 0
5415//    err := client.ListTagsPages(params,
5416//        func(page *alexaforbusiness.ListTagsOutput, lastPage bool) bool {
5417//            pageNum++
5418//            fmt.Println(page)
5419//            return pageNum <= 3
5420//        })
5421//
5422func (c *AlexaForBusiness) ListTagsPages(input *ListTagsInput, fn func(*ListTagsOutput, bool) bool) error {
5423	return c.ListTagsPagesWithContext(aws.BackgroundContext(), input, fn)
5424}
5425
5426// ListTagsPagesWithContext same as ListTagsPages except
5427// it takes a Context and allows setting request options on the pages.
5428//
5429// The context must be non-nil and will be used for request cancellation. If
5430// the context is nil a panic will occur. In the future the SDK may create
5431// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5432// for more information on using Contexts.
5433func (c *AlexaForBusiness) ListTagsPagesWithContext(ctx aws.Context, input *ListTagsInput, fn func(*ListTagsOutput, bool) bool, opts ...request.Option) error {
5434	p := request.Pagination{
5435		NewRequest: func() (*request.Request, error) {
5436			var inCpy *ListTagsInput
5437			if input != nil {
5438				tmp := *input
5439				inCpy = &tmp
5440			}
5441			req, _ := c.ListTagsRequest(inCpy)
5442			req.SetContext(ctx)
5443			req.ApplyOptions(opts...)
5444			return req, nil
5445		},
5446	}
5447
5448	cont := true
5449	for p.Next() && cont {
5450		cont = fn(p.Page().(*ListTagsOutput), !p.HasNextPage())
5451	}
5452	return p.Err()
5453}
5454
5455const opPutConferencePreference = "PutConferencePreference"
5456
5457// PutConferencePreferenceRequest generates a "aws/request.Request" representing the
5458// client's request for the PutConferencePreference operation. The "output" return
5459// value will be populated with the request's response once the request completes
5460// successfully.
5461//
5462// Use "Send" method on the returned Request to send the API call to the service.
5463// the "output" return value is not valid until after Send returns without error.
5464//
5465// See PutConferencePreference for more information on using the PutConferencePreference
5466// API call, and error handling.
5467//
5468// This method is useful when you want to inject custom logic or configuration
5469// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5470//
5471//
5472//    // Example sending a request using the PutConferencePreferenceRequest method.
5473//    req, resp := client.PutConferencePreferenceRequest(params)
5474//
5475//    err := req.Send()
5476//    if err == nil { // resp is now filled
5477//        fmt.Println(resp)
5478//    }
5479//
5480// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/PutConferencePreference
5481func (c *AlexaForBusiness) PutConferencePreferenceRequest(input *PutConferencePreferenceInput) (req *request.Request, output *PutConferencePreferenceOutput) {
5482	op := &request.Operation{
5483		Name:       opPutConferencePreference,
5484		HTTPMethod: "POST",
5485		HTTPPath:   "/",
5486	}
5487
5488	if input == nil {
5489		input = &PutConferencePreferenceInput{}
5490	}
5491
5492	output = &PutConferencePreferenceOutput{}
5493	req = c.newRequest(op, input, output)
5494	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5495	return
5496}
5497
5498// PutConferencePreference API operation for Alexa For Business.
5499//
5500// Sets the conference preferences on a specific conference provider at the
5501// account level.
5502//
5503// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5504// with awserr.Error's Code and Message methods to get detailed information about
5505// the error.
5506//
5507// See the AWS API reference guide for Alexa For Business's
5508// API operation PutConferencePreference for usage and error information.
5509//
5510// Returned Error Codes:
5511//   * ErrCodeNotFoundException "NotFoundException"
5512//   The resource is not found.
5513//
5514// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/PutConferencePreference
5515func (c *AlexaForBusiness) PutConferencePreference(input *PutConferencePreferenceInput) (*PutConferencePreferenceOutput, error) {
5516	req, out := c.PutConferencePreferenceRequest(input)
5517	return out, req.Send()
5518}
5519
5520// PutConferencePreferenceWithContext is the same as PutConferencePreference with the addition of
5521// the ability to pass a context and additional request options.
5522//
5523// See PutConferencePreference 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 *AlexaForBusiness) PutConferencePreferenceWithContext(ctx aws.Context, input *PutConferencePreferenceInput, opts ...request.Option) (*PutConferencePreferenceOutput, error) {
5530	req, out := c.PutConferencePreferenceRequest(input)
5531	req.SetContext(ctx)
5532	req.ApplyOptions(opts...)
5533	return out, req.Send()
5534}
5535
5536const opPutInvitationConfiguration = "PutInvitationConfiguration"
5537
5538// PutInvitationConfigurationRequest generates a "aws/request.Request" representing the
5539// client's request for the PutInvitationConfiguration operation. The "output" return
5540// value will be populated with the request's response once the request completes
5541// successfully.
5542//
5543// Use "Send" method on the returned Request to send the API call to the service.
5544// the "output" return value is not valid until after Send returns without error.
5545//
5546// See PutInvitationConfiguration for more information on using the PutInvitationConfiguration
5547// API call, and error handling.
5548//
5549// This method is useful when you want to inject custom logic or configuration
5550// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5551//
5552//
5553//    // Example sending a request using the PutInvitationConfigurationRequest method.
5554//    req, resp := client.PutInvitationConfigurationRequest(params)
5555//
5556//    err := req.Send()
5557//    if err == nil { // resp is now filled
5558//        fmt.Println(resp)
5559//    }
5560//
5561// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/PutInvitationConfiguration
5562func (c *AlexaForBusiness) PutInvitationConfigurationRequest(input *PutInvitationConfigurationInput) (req *request.Request, output *PutInvitationConfigurationOutput) {
5563	op := &request.Operation{
5564		Name:       opPutInvitationConfiguration,
5565		HTTPMethod: "POST",
5566		HTTPPath:   "/",
5567	}
5568
5569	if input == nil {
5570		input = &PutInvitationConfigurationInput{}
5571	}
5572
5573	output = &PutInvitationConfigurationOutput{}
5574	req = c.newRequest(op, input, output)
5575	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5576	return
5577}
5578
5579// PutInvitationConfiguration API operation for Alexa For Business.
5580//
5581// Configures the email template for the user enrollment invitation with the
5582// specified attributes.
5583//
5584// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5585// with awserr.Error's Code and Message methods to get detailed information about
5586// the error.
5587//
5588// See the AWS API reference guide for Alexa For Business's
5589// API operation PutInvitationConfiguration for usage and error information.
5590//
5591// Returned Error Codes:
5592//   * ErrCodeNotFoundException "NotFoundException"
5593//   The resource is not found.
5594//
5595//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
5596//   There is a concurrent modification of resources.
5597//
5598// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/PutInvitationConfiguration
5599func (c *AlexaForBusiness) PutInvitationConfiguration(input *PutInvitationConfigurationInput) (*PutInvitationConfigurationOutput, error) {
5600	req, out := c.PutInvitationConfigurationRequest(input)
5601	return out, req.Send()
5602}
5603
5604// PutInvitationConfigurationWithContext is the same as PutInvitationConfiguration with the addition of
5605// the ability to pass a context and additional request options.
5606//
5607// See PutInvitationConfiguration for details on how to use this API operation.
5608//
5609// The context must be non-nil and will be used for request cancellation. If
5610// the context is nil a panic will occur. In the future the SDK may create
5611// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5612// for more information on using Contexts.
5613func (c *AlexaForBusiness) PutInvitationConfigurationWithContext(ctx aws.Context, input *PutInvitationConfigurationInput, opts ...request.Option) (*PutInvitationConfigurationOutput, error) {
5614	req, out := c.PutInvitationConfigurationRequest(input)
5615	req.SetContext(ctx)
5616	req.ApplyOptions(opts...)
5617	return out, req.Send()
5618}
5619
5620const opPutRoomSkillParameter = "PutRoomSkillParameter"
5621
5622// PutRoomSkillParameterRequest generates a "aws/request.Request" representing the
5623// client's request for the PutRoomSkillParameter operation. The "output" return
5624// value will be populated with the request's response once the request completes
5625// successfully.
5626//
5627// Use "Send" method on the returned Request to send the API call to the service.
5628// the "output" return value is not valid until after Send returns without error.
5629//
5630// See PutRoomSkillParameter for more information on using the PutRoomSkillParameter
5631// API call, and error handling.
5632//
5633// This method is useful when you want to inject custom logic or configuration
5634// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5635//
5636//
5637//    // Example sending a request using the PutRoomSkillParameterRequest method.
5638//    req, resp := client.PutRoomSkillParameterRequest(params)
5639//
5640//    err := req.Send()
5641//    if err == nil { // resp is now filled
5642//        fmt.Println(resp)
5643//    }
5644//
5645// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/PutRoomSkillParameter
5646func (c *AlexaForBusiness) PutRoomSkillParameterRequest(input *PutRoomSkillParameterInput) (req *request.Request, output *PutRoomSkillParameterOutput) {
5647	op := &request.Operation{
5648		Name:       opPutRoomSkillParameter,
5649		HTTPMethod: "POST",
5650		HTTPPath:   "/",
5651	}
5652
5653	if input == nil {
5654		input = &PutRoomSkillParameterInput{}
5655	}
5656
5657	output = &PutRoomSkillParameterOutput{}
5658	req = c.newRequest(op, input, output)
5659	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5660	return
5661}
5662
5663// PutRoomSkillParameter API operation for Alexa For Business.
5664//
5665// Updates room skill parameter details by room, skill, and parameter key ID.
5666// Not all skills have a room skill parameter.
5667//
5668// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5669// with awserr.Error's Code and Message methods to get detailed information about
5670// the error.
5671//
5672// See the AWS API reference guide for Alexa For Business's
5673// API operation PutRoomSkillParameter for usage and error information.
5674//
5675// Returned Error Codes:
5676//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
5677//   There is a concurrent modification of resources.
5678//
5679// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/PutRoomSkillParameter
5680func (c *AlexaForBusiness) PutRoomSkillParameter(input *PutRoomSkillParameterInput) (*PutRoomSkillParameterOutput, error) {
5681	req, out := c.PutRoomSkillParameterRequest(input)
5682	return out, req.Send()
5683}
5684
5685// PutRoomSkillParameterWithContext is the same as PutRoomSkillParameter with the addition of
5686// the ability to pass a context and additional request options.
5687//
5688// See PutRoomSkillParameter for details on how to use this API operation.
5689//
5690// The context must be non-nil and will be used for request cancellation. If
5691// the context is nil a panic will occur. In the future the SDK may create
5692// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5693// for more information on using Contexts.
5694func (c *AlexaForBusiness) PutRoomSkillParameterWithContext(ctx aws.Context, input *PutRoomSkillParameterInput, opts ...request.Option) (*PutRoomSkillParameterOutput, error) {
5695	req, out := c.PutRoomSkillParameterRequest(input)
5696	req.SetContext(ctx)
5697	req.ApplyOptions(opts...)
5698	return out, req.Send()
5699}
5700
5701const opPutSkillAuthorization = "PutSkillAuthorization"
5702
5703// PutSkillAuthorizationRequest generates a "aws/request.Request" representing the
5704// client's request for the PutSkillAuthorization operation. The "output" return
5705// value will be populated with the request's response once the request completes
5706// successfully.
5707//
5708// Use "Send" method on the returned Request to send the API call to the service.
5709// the "output" return value is not valid until after Send returns without error.
5710//
5711// See PutSkillAuthorization for more information on using the PutSkillAuthorization
5712// API call, and error handling.
5713//
5714// This method is useful when you want to inject custom logic or configuration
5715// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5716//
5717//
5718//    // Example sending a request using the PutSkillAuthorizationRequest method.
5719//    req, resp := client.PutSkillAuthorizationRequest(params)
5720//
5721//    err := req.Send()
5722//    if err == nil { // resp is now filled
5723//        fmt.Println(resp)
5724//    }
5725//
5726// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/PutSkillAuthorization
5727func (c *AlexaForBusiness) PutSkillAuthorizationRequest(input *PutSkillAuthorizationInput) (req *request.Request, output *PutSkillAuthorizationOutput) {
5728	op := &request.Operation{
5729		Name:       opPutSkillAuthorization,
5730		HTTPMethod: "POST",
5731		HTTPPath:   "/",
5732	}
5733
5734	if input == nil {
5735		input = &PutSkillAuthorizationInput{}
5736	}
5737
5738	output = &PutSkillAuthorizationOutput{}
5739	req = c.newRequest(op, input, output)
5740	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5741	return
5742}
5743
5744// PutSkillAuthorization API operation for Alexa For Business.
5745//
5746// Links a user's account to a third-party skill provider. If this API operation
5747// is called by an assumed IAM role, the skill being linked must be a private
5748// skill. Also, the skill must be owned by the AWS account that assumed the
5749// IAM role.
5750//
5751// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5752// with awserr.Error's Code and Message methods to get detailed information about
5753// the error.
5754//
5755// See the AWS API reference guide for Alexa For Business's
5756// API operation PutSkillAuthorization for usage and error information.
5757//
5758// Returned Error Codes:
5759//   * ErrCodeUnauthorizedException "UnauthorizedException"
5760//   The caller has no permissions to operate on the resource involved in the
5761//   API call.
5762//
5763//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
5764//   There is a concurrent modification of resources.
5765//
5766// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/PutSkillAuthorization
5767func (c *AlexaForBusiness) PutSkillAuthorization(input *PutSkillAuthorizationInput) (*PutSkillAuthorizationOutput, error) {
5768	req, out := c.PutSkillAuthorizationRequest(input)
5769	return out, req.Send()
5770}
5771
5772// PutSkillAuthorizationWithContext is the same as PutSkillAuthorization with the addition of
5773// the ability to pass a context and additional request options.
5774//
5775// See PutSkillAuthorization for details on how to use this API operation.
5776//
5777// The context must be non-nil and will be used for request cancellation. If
5778// the context is nil a panic will occur. In the future the SDK may create
5779// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5780// for more information on using Contexts.
5781func (c *AlexaForBusiness) PutSkillAuthorizationWithContext(ctx aws.Context, input *PutSkillAuthorizationInput, opts ...request.Option) (*PutSkillAuthorizationOutput, error) {
5782	req, out := c.PutSkillAuthorizationRequest(input)
5783	req.SetContext(ctx)
5784	req.ApplyOptions(opts...)
5785	return out, req.Send()
5786}
5787
5788const opRegisterAVSDevice = "RegisterAVSDevice"
5789
5790// RegisterAVSDeviceRequest generates a "aws/request.Request" representing the
5791// client's request for the RegisterAVSDevice operation. The "output" return
5792// value will be populated with the request's response once the request completes
5793// successfully.
5794//
5795// Use "Send" method on the returned Request to send the API call to the service.
5796// the "output" return value is not valid until after Send returns without error.
5797//
5798// See RegisterAVSDevice for more information on using the RegisterAVSDevice
5799// API call, and error handling.
5800//
5801// This method is useful when you want to inject custom logic or configuration
5802// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5803//
5804//
5805//    // Example sending a request using the RegisterAVSDeviceRequest method.
5806//    req, resp := client.RegisterAVSDeviceRequest(params)
5807//
5808//    err := req.Send()
5809//    if err == nil { // resp is now filled
5810//        fmt.Println(resp)
5811//    }
5812//
5813// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/RegisterAVSDevice
5814func (c *AlexaForBusiness) RegisterAVSDeviceRequest(input *RegisterAVSDeviceInput) (req *request.Request, output *RegisterAVSDeviceOutput) {
5815	op := &request.Operation{
5816		Name:       opRegisterAVSDevice,
5817		HTTPMethod: "POST",
5818		HTTPPath:   "/",
5819	}
5820
5821	if input == nil {
5822		input = &RegisterAVSDeviceInput{}
5823	}
5824
5825	output = &RegisterAVSDeviceOutput{}
5826	req = c.newRequest(op, input, output)
5827	return
5828}
5829
5830// RegisterAVSDevice API operation for Alexa For Business.
5831//
5832// Registers an Alexa-enabled device built by an Original Equipment Manufacturer
5833// (OEM) using Alexa Voice Service (AVS).
5834//
5835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5836// with awserr.Error's Code and Message methods to get detailed information about
5837// the error.
5838//
5839// See the AWS API reference guide for Alexa For Business's
5840// API operation RegisterAVSDevice for usage and error information.
5841//
5842// Returned Error Codes:
5843//   * ErrCodeLimitExceededException "LimitExceededException"
5844//   You are performing an action that would put you beyond your account's limits.
5845//
5846//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
5847//   There is a concurrent modification of resources.
5848//
5849//   * ErrCodeInvalidDeviceException "InvalidDeviceException"
5850//   The device is in an invalid state.
5851//
5852// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/RegisterAVSDevice
5853func (c *AlexaForBusiness) RegisterAVSDevice(input *RegisterAVSDeviceInput) (*RegisterAVSDeviceOutput, error) {
5854	req, out := c.RegisterAVSDeviceRequest(input)
5855	return out, req.Send()
5856}
5857
5858// RegisterAVSDeviceWithContext is the same as RegisterAVSDevice with the addition of
5859// the ability to pass a context and additional request options.
5860//
5861// See RegisterAVSDevice for details on how to use this API operation.
5862//
5863// The context must be non-nil and will be used for request cancellation. If
5864// the context is nil a panic will occur. In the future the SDK may create
5865// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5866// for more information on using Contexts.
5867func (c *AlexaForBusiness) RegisterAVSDeviceWithContext(ctx aws.Context, input *RegisterAVSDeviceInput, opts ...request.Option) (*RegisterAVSDeviceOutput, error) {
5868	req, out := c.RegisterAVSDeviceRequest(input)
5869	req.SetContext(ctx)
5870	req.ApplyOptions(opts...)
5871	return out, req.Send()
5872}
5873
5874const opRejectSkill = "RejectSkill"
5875
5876// RejectSkillRequest generates a "aws/request.Request" representing the
5877// client's request for the RejectSkill operation. The "output" return
5878// value will be populated with the request's response once the request completes
5879// successfully.
5880//
5881// Use "Send" method on the returned Request to send the API call to the service.
5882// the "output" return value is not valid until after Send returns without error.
5883//
5884// See RejectSkill for more information on using the RejectSkill
5885// API call, and error handling.
5886//
5887// This method is useful when you want to inject custom logic or configuration
5888// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5889//
5890//
5891//    // Example sending a request using the RejectSkillRequest method.
5892//    req, resp := client.RejectSkillRequest(params)
5893//
5894//    err := req.Send()
5895//    if err == nil { // resp is now filled
5896//        fmt.Println(resp)
5897//    }
5898//
5899// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/RejectSkill
5900func (c *AlexaForBusiness) RejectSkillRequest(input *RejectSkillInput) (req *request.Request, output *RejectSkillOutput) {
5901	op := &request.Operation{
5902		Name:       opRejectSkill,
5903		HTTPMethod: "POST",
5904		HTTPPath:   "/",
5905	}
5906
5907	if input == nil {
5908		input = &RejectSkillInput{}
5909	}
5910
5911	output = &RejectSkillOutput{}
5912	req = c.newRequest(op, input, output)
5913	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5914	return
5915}
5916
5917// RejectSkill API operation for Alexa For Business.
5918//
5919// Disassociates a skill from the organization under a user's AWS account. If
5920// the skill is a private skill, it moves to an AcceptStatus of PENDING. Any
5921// private or public skill that is rejected can be added later by calling the
5922// ApproveSkill API.
5923//
5924// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5925// with awserr.Error's Code and Message methods to get detailed information about
5926// the error.
5927//
5928// See the AWS API reference guide for Alexa For Business's
5929// API operation RejectSkill for usage and error information.
5930//
5931// Returned Error Codes:
5932//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
5933//   There is a concurrent modification of resources.
5934//
5935//   * ErrCodeNotFoundException "NotFoundException"
5936//   The resource is not found.
5937//
5938// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/RejectSkill
5939func (c *AlexaForBusiness) RejectSkill(input *RejectSkillInput) (*RejectSkillOutput, error) {
5940	req, out := c.RejectSkillRequest(input)
5941	return out, req.Send()
5942}
5943
5944// RejectSkillWithContext is the same as RejectSkill with the addition of
5945// the ability to pass a context and additional request options.
5946//
5947// See RejectSkill for details on how to use this API operation.
5948//
5949// The context must be non-nil and will be used for request cancellation. If
5950// the context is nil a panic will occur. In the future the SDK may create
5951// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5952// for more information on using Contexts.
5953func (c *AlexaForBusiness) RejectSkillWithContext(ctx aws.Context, input *RejectSkillInput, opts ...request.Option) (*RejectSkillOutput, error) {
5954	req, out := c.RejectSkillRequest(input)
5955	req.SetContext(ctx)
5956	req.ApplyOptions(opts...)
5957	return out, req.Send()
5958}
5959
5960const opResolveRoom = "ResolveRoom"
5961
5962// ResolveRoomRequest generates a "aws/request.Request" representing the
5963// client's request for the ResolveRoom operation. The "output" return
5964// value will be populated with the request's response once the request completes
5965// successfully.
5966//
5967// Use "Send" method on the returned Request to send the API call to the service.
5968// the "output" return value is not valid until after Send returns without error.
5969//
5970// See ResolveRoom for more information on using the ResolveRoom
5971// API call, and error handling.
5972//
5973// This method is useful when you want to inject custom logic or configuration
5974// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5975//
5976//
5977//    // Example sending a request using the ResolveRoomRequest method.
5978//    req, resp := client.ResolveRoomRequest(params)
5979//
5980//    err := req.Send()
5981//    if err == nil { // resp is now filled
5982//        fmt.Println(resp)
5983//    }
5984//
5985// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ResolveRoom
5986func (c *AlexaForBusiness) ResolveRoomRequest(input *ResolveRoomInput) (req *request.Request, output *ResolveRoomOutput) {
5987	op := &request.Operation{
5988		Name:       opResolveRoom,
5989		HTTPMethod: "POST",
5990		HTTPPath:   "/",
5991	}
5992
5993	if input == nil {
5994		input = &ResolveRoomInput{}
5995	}
5996
5997	output = &ResolveRoomOutput{}
5998	req = c.newRequest(op, input, output)
5999	return
6000}
6001
6002// ResolveRoom API operation for Alexa For Business.
6003//
6004// Determines the details for the room from which a skill request was invoked.
6005// This operation is used by skill developers.
6006//
6007// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6008// with awserr.Error's Code and Message methods to get detailed information about
6009// the error.
6010//
6011// See the AWS API reference guide for Alexa For Business's
6012// API operation ResolveRoom for usage and error information.
6013//
6014// Returned Error Codes:
6015//   * ErrCodeNotFoundException "NotFoundException"
6016//   The resource is not found.
6017//
6018// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ResolveRoom
6019func (c *AlexaForBusiness) ResolveRoom(input *ResolveRoomInput) (*ResolveRoomOutput, error) {
6020	req, out := c.ResolveRoomRequest(input)
6021	return out, req.Send()
6022}
6023
6024// ResolveRoomWithContext is the same as ResolveRoom with the addition of
6025// the ability to pass a context and additional request options.
6026//
6027// See ResolveRoom for details on how to use this API operation.
6028//
6029// The context must be non-nil and will be used for request cancellation. If
6030// the context is nil a panic will occur. In the future the SDK may create
6031// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6032// for more information on using Contexts.
6033func (c *AlexaForBusiness) ResolveRoomWithContext(ctx aws.Context, input *ResolveRoomInput, opts ...request.Option) (*ResolveRoomOutput, error) {
6034	req, out := c.ResolveRoomRequest(input)
6035	req.SetContext(ctx)
6036	req.ApplyOptions(opts...)
6037	return out, req.Send()
6038}
6039
6040const opRevokeInvitation = "RevokeInvitation"
6041
6042// RevokeInvitationRequest generates a "aws/request.Request" representing the
6043// client's request for the RevokeInvitation operation. The "output" return
6044// value will be populated with the request's response once the request completes
6045// successfully.
6046//
6047// Use "Send" method on the returned Request to send the API call to the service.
6048// the "output" return value is not valid until after Send returns without error.
6049//
6050// See RevokeInvitation for more information on using the RevokeInvitation
6051// API call, and error handling.
6052//
6053// This method is useful when you want to inject custom logic or configuration
6054// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6055//
6056//
6057//    // Example sending a request using the RevokeInvitationRequest method.
6058//    req, resp := client.RevokeInvitationRequest(params)
6059//
6060//    err := req.Send()
6061//    if err == nil { // resp is now filled
6062//        fmt.Println(resp)
6063//    }
6064//
6065// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/RevokeInvitation
6066func (c *AlexaForBusiness) RevokeInvitationRequest(input *RevokeInvitationInput) (req *request.Request, output *RevokeInvitationOutput) {
6067	op := &request.Operation{
6068		Name:       opRevokeInvitation,
6069		HTTPMethod: "POST",
6070		HTTPPath:   "/",
6071	}
6072
6073	if input == nil {
6074		input = &RevokeInvitationInput{}
6075	}
6076
6077	output = &RevokeInvitationOutput{}
6078	req = c.newRequest(op, input, output)
6079	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6080	return
6081}
6082
6083// RevokeInvitation API operation for Alexa For Business.
6084//
6085// Revokes an invitation and invalidates the enrollment URL.
6086//
6087// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6088// with awserr.Error's Code and Message methods to get detailed information about
6089// the error.
6090//
6091// See the AWS API reference guide for Alexa For Business's
6092// API operation RevokeInvitation for usage and error information.
6093//
6094// Returned Error Codes:
6095//   * ErrCodeNotFoundException "NotFoundException"
6096//   The resource is not found.
6097//
6098//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
6099//   There is a concurrent modification of resources.
6100//
6101// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/RevokeInvitation
6102func (c *AlexaForBusiness) RevokeInvitation(input *RevokeInvitationInput) (*RevokeInvitationOutput, error) {
6103	req, out := c.RevokeInvitationRequest(input)
6104	return out, req.Send()
6105}
6106
6107// RevokeInvitationWithContext is the same as RevokeInvitation with the addition of
6108// the ability to pass a context and additional request options.
6109//
6110// See RevokeInvitation for details on how to use this API operation.
6111//
6112// The context must be non-nil and will be used for request cancellation. If
6113// the context is nil a panic will occur. In the future the SDK may create
6114// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6115// for more information on using Contexts.
6116func (c *AlexaForBusiness) RevokeInvitationWithContext(ctx aws.Context, input *RevokeInvitationInput, opts ...request.Option) (*RevokeInvitationOutput, error) {
6117	req, out := c.RevokeInvitationRequest(input)
6118	req.SetContext(ctx)
6119	req.ApplyOptions(opts...)
6120	return out, req.Send()
6121}
6122
6123const opSearchAddressBooks = "SearchAddressBooks"
6124
6125// SearchAddressBooksRequest generates a "aws/request.Request" representing the
6126// client's request for the SearchAddressBooks operation. The "output" return
6127// value will be populated with the request's response once the request completes
6128// successfully.
6129//
6130// Use "Send" method on the returned Request to send the API call to the service.
6131// the "output" return value is not valid until after Send returns without error.
6132//
6133// See SearchAddressBooks for more information on using the SearchAddressBooks
6134// API call, and error handling.
6135//
6136// This method is useful when you want to inject custom logic or configuration
6137// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6138//
6139//
6140//    // Example sending a request using the SearchAddressBooksRequest method.
6141//    req, resp := client.SearchAddressBooksRequest(params)
6142//
6143//    err := req.Send()
6144//    if err == nil { // resp is now filled
6145//        fmt.Println(resp)
6146//    }
6147//
6148// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchAddressBooks
6149func (c *AlexaForBusiness) SearchAddressBooksRequest(input *SearchAddressBooksInput) (req *request.Request, output *SearchAddressBooksOutput) {
6150	op := &request.Operation{
6151		Name:       opSearchAddressBooks,
6152		HTTPMethod: "POST",
6153		HTTPPath:   "/",
6154		Paginator: &request.Paginator{
6155			InputTokens:     []string{"NextToken"},
6156			OutputTokens:    []string{"NextToken"},
6157			LimitToken:      "MaxResults",
6158			TruncationToken: "",
6159		},
6160	}
6161
6162	if input == nil {
6163		input = &SearchAddressBooksInput{}
6164	}
6165
6166	output = &SearchAddressBooksOutput{}
6167	req = c.newRequest(op, input, output)
6168	return
6169}
6170
6171// SearchAddressBooks API operation for Alexa For Business.
6172//
6173// Searches address books and lists the ones that meet a set of filter and sort
6174// criteria.
6175//
6176// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6177// with awserr.Error's Code and Message methods to get detailed information about
6178// the error.
6179//
6180// See the AWS API reference guide for Alexa For Business's
6181// API operation SearchAddressBooks for usage and error information.
6182// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchAddressBooks
6183func (c *AlexaForBusiness) SearchAddressBooks(input *SearchAddressBooksInput) (*SearchAddressBooksOutput, error) {
6184	req, out := c.SearchAddressBooksRequest(input)
6185	return out, req.Send()
6186}
6187
6188// SearchAddressBooksWithContext is the same as SearchAddressBooks with the addition of
6189// the ability to pass a context and additional request options.
6190//
6191// See SearchAddressBooks for details on how to use this API operation.
6192//
6193// The context must be non-nil and will be used for request cancellation. If
6194// the context is nil a panic will occur. In the future the SDK may create
6195// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6196// for more information on using Contexts.
6197func (c *AlexaForBusiness) SearchAddressBooksWithContext(ctx aws.Context, input *SearchAddressBooksInput, opts ...request.Option) (*SearchAddressBooksOutput, error) {
6198	req, out := c.SearchAddressBooksRequest(input)
6199	req.SetContext(ctx)
6200	req.ApplyOptions(opts...)
6201	return out, req.Send()
6202}
6203
6204// SearchAddressBooksPages iterates over the pages of a SearchAddressBooks operation,
6205// calling the "fn" function with the response data for each page. To stop
6206// iterating, return false from the fn function.
6207//
6208// See SearchAddressBooks method for more information on how to use this operation.
6209//
6210// Note: This operation can generate multiple requests to a service.
6211//
6212//    // Example iterating over at most 3 pages of a SearchAddressBooks operation.
6213//    pageNum := 0
6214//    err := client.SearchAddressBooksPages(params,
6215//        func(page *alexaforbusiness.SearchAddressBooksOutput, lastPage bool) bool {
6216//            pageNum++
6217//            fmt.Println(page)
6218//            return pageNum <= 3
6219//        })
6220//
6221func (c *AlexaForBusiness) SearchAddressBooksPages(input *SearchAddressBooksInput, fn func(*SearchAddressBooksOutput, bool) bool) error {
6222	return c.SearchAddressBooksPagesWithContext(aws.BackgroundContext(), input, fn)
6223}
6224
6225// SearchAddressBooksPagesWithContext same as SearchAddressBooksPages except
6226// it takes a Context and allows setting request options on the pages.
6227//
6228// The context must be non-nil and will be used for request cancellation. If
6229// the context is nil a panic will occur. In the future the SDK may create
6230// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6231// for more information on using Contexts.
6232func (c *AlexaForBusiness) SearchAddressBooksPagesWithContext(ctx aws.Context, input *SearchAddressBooksInput, fn func(*SearchAddressBooksOutput, bool) bool, opts ...request.Option) error {
6233	p := request.Pagination{
6234		NewRequest: func() (*request.Request, error) {
6235			var inCpy *SearchAddressBooksInput
6236			if input != nil {
6237				tmp := *input
6238				inCpy = &tmp
6239			}
6240			req, _ := c.SearchAddressBooksRequest(inCpy)
6241			req.SetContext(ctx)
6242			req.ApplyOptions(opts...)
6243			return req, nil
6244		},
6245	}
6246
6247	cont := true
6248	for p.Next() && cont {
6249		cont = fn(p.Page().(*SearchAddressBooksOutput), !p.HasNextPage())
6250	}
6251	return p.Err()
6252}
6253
6254const opSearchContacts = "SearchContacts"
6255
6256// SearchContactsRequest generates a "aws/request.Request" representing the
6257// client's request for the SearchContacts operation. The "output" return
6258// value will be populated with the request's response once the request completes
6259// successfully.
6260//
6261// Use "Send" method on the returned Request to send the API call to the service.
6262// the "output" return value is not valid until after Send returns without error.
6263//
6264// See SearchContacts for more information on using the SearchContacts
6265// API call, and error handling.
6266//
6267// This method is useful when you want to inject custom logic or configuration
6268// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6269//
6270//
6271//    // Example sending a request using the SearchContactsRequest method.
6272//    req, resp := client.SearchContactsRequest(params)
6273//
6274//    err := req.Send()
6275//    if err == nil { // resp is now filled
6276//        fmt.Println(resp)
6277//    }
6278//
6279// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchContacts
6280func (c *AlexaForBusiness) SearchContactsRequest(input *SearchContactsInput) (req *request.Request, output *SearchContactsOutput) {
6281	op := &request.Operation{
6282		Name:       opSearchContacts,
6283		HTTPMethod: "POST",
6284		HTTPPath:   "/",
6285		Paginator: &request.Paginator{
6286			InputTokens:     []string{"NextToken"},
6287			OutputTokens:    []string{"NextToken"},
6288			LimitToken:      "MaxResults",
6289			TruncationToken: "",
6290		},
6291	}
6292
6293	if input == nil {
6294		input = &SearchContactsInput{}
6295	}
6296
6297	output = &SearchContactsOutput{}
6298	req = c.newRequest(op, input, output)
6299	return
6300}
6301
6302// SearchContacts API operation for Alexa For Business.
6303//
6304// Searches contacts and lists the ones that meet a set of filter and sort criteria.
6305//
6306// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6307// with awserr.Error's Code and Message methods to get detailed information about
6308// the error.
6309//
6310// See the AWS API reference guide for Alexa For Business's
6311// API operation SearchContacts for usage and error information.
6312// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchContacts
6313func (c *AlexaForBusiness) SearchContacts(input *SearchContactsInput) (*SearchContactsOutput, error) {
6314	req, out := c.SearchContactsRequest(input)
6315	return out, req.Send()
6316}
6317
6318// SearchContactsWithContext is the same as SearchContacts with the addition of
6319// the ability to pass a context and additional request options.
6320//
6321// See SearchContacts for details on how to use this API operation.
6322//
6323// The context must be non-nil and will be used for request cancellation. If
6324// the context is nil a panic will occur. In the future the SDK may create
6325// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6326// for more information on using Contexts.
6327func (c *AlexaForBusiness) SearchContactsWithContext(ctx aws.Context, input *SearchContactsInput, opts ...request.Option) (*SearchContactsOutput, error) {
6328	req, out := c.SearchContactsRequest(input)
6329	req.SetContext(ctx)
6330	req.ApplyOptions(opts...)
6331	return out, req.Send()
6332}
6333
6334// SearchContactsPages iterates over the pages of a SearchContacts operation,
6335// calling the "fn" function with the response data for each page. To stop
6336// iterating, return false from the fn function.
6337//
6338// See SearchContacts method for more information on how to use this operation.
6339//
6340// Note: This operation can generate multiple requests to a service.
6341//
6342//    // Example iterating over at most 3 pages of a SearchContacts operation.
6343//    pageNum := 0
6344//    err := client.SearchContactsPages(params,
6345//        func(page *alexaforbusiness.SearchContactsOutput, lastPage bool) bool {
6346//            pageNum++
6347//            fmt.Println(page)
6348//            return pageNum <= 3
6349//        })
6350//
6351func (c *AlexaForBusiness) SearchContactsPages(input *SearchContactsInput, fn func(*SearchContactsOutput, bool) bool) error {
6352	return c.SearchContactsPagesWithContext(aws.BackgroundContext(), input, fn)
6353}
6354
6355// SearchContactsPagesWithContext same as SearchContactsPages except
6356// it takes a Context and allows setting request options on the pages.
6357//
6358// The context must be non-nil and will be used for request cancellation. If
6359// the context is nil a panic will occur. In the future the SDK may create
6360// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6361// for more information on using Contexts.
6362func (c *AlexaForBusiness) SearchContactsPagesWithContext(ctx aws.Context, input *SearchContactsInput, fn func(*SearchContactsOutput, bool) bool, opts ...request.Option) error {
6363	p := request.Pagination{
6364		NewRequest: func() (*request.Request, error) {
6365			var inCpy *SearchContactsInput
6366			if input != nil {
6367				tmp := *input
6368				inCpy = &tmp
6369			}
6370			req, _ := c.SearchContactsRequest(inCpy)
6371			req.SetContext(ctx)
6372			req.ApplyOptions(opts...)
6373			return req, nil
6374		},
6375	}
6376
6377	cont := true
6378	for p.Next() && cont {
6379		cont = fn(p.Page().(*SearchContactsOutput), !p.HasNextPage())
6380	}
6381	return p.Err()
6382}
6383
6384const opSearchDevices = "SearchDevices"
6385
6386// SearchDevicesRequest generates a "aws/request.Request" representing the
6387// client's request for the SearchDevices operation. The "output" return
6388// value will be populated with the request's response once the request completes
6389// successfully.
6390//
6391// Use "Send" method on the returned Request to send the API call to the service.
6392// the "output" return value is not valid until after Send returns without error.
6393//
6394// See SearchDevices for more information on using the SearchDevices
6395// API call, and error handling.
6396//
6397// This method is useful when you want to inject custom logic or configuration
6398// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6399//
6400//
6401//    // Example sending a request using the SearchDevicesRequest method.
6402//    req, resp := client.SearchDevicesRequest(params)
6403//
6404//    err := req.Send()
6405//    if err == nil { // resp is now filled
6406//        fmt.Println(resp)
6407//    }
6408//
6409// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchDevices
6410func (c *AlexaForBusiness) SearchDevicesRequest(input *SearchDevicesInput) (req *request.Request, output *SearchDevicesOutput) {
6411	op := &request.Operation{
6412		Name:       opSearchDevices,
6413		HTTPMethod: "POST",
6414		HTTPPath:   "/",
6415		Paginator: &request.Paginator{
6416			InputTokens:     []string{"NextToken"},
6417			OutputTokens:    []string{"NextToken"},
6418			LimitToken:      "MaxResults",
6419			TruncationToken: "",
6420		},
6421	}
6422
6423	if input == nil {
6424		input = &SearchDevicesInput{}
6425	}
6426
6427	output = &SearchDevicesOutput{}
6428	req = c.newRequest(op, input, output)
6429	return
6430}
6431
6432// SearchDevices API operation for Alexa For Business.
6433//
6434// Searches devices and lists the ones that meet a set of filter criteria.
6435//
6436// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6437// with awserr.Error's Code and Message methods to get detailed information about
6438// the error.
6439//
6440// See the AWS API reference guide for Alexa For Business's
6441// API operation SearchDevices for usage and error information.
6442// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchDevices
6443func (c *AlexaForBusiness) SearchDevices(input *SearchDevicesInput) (*SearchDevicesOutput, error) {
6444	req, out := c.SearchDevicesRequest(input)
6445	return out, req.Send()
6446}
6447
6448// SearchDevicesWithContext is the same as SearchDevices with the addition of
6449// the ability to pass a context and additional request options.
6450//
6451// See SearchDevices for details on how to use this API operation.
6452//
6453// The context must be non-nil and will be used for request cancellation. If
6454// the context is nil a panic will occur. In the future the SDK may create
6455// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6456// for more information on using Contexts.
6457func (c *AlexaForBusiness) SearchDevicesWithContext(ctx aws.Context, input *SearchDevicesInput, opts ...request.Option) (*SearchDevicesOutput, error) {
6458	req, out := c.SearchDevicesRequest(input)
6459	req.SetContext(ctx)
6460	req.ApplyOptions(opts...)
6461	return out, req.Send()
6462}
6463
6464// SearchDevicesPages iterates over the pages of a SearchDevices operation,
6465// calling the "fn" function with the response data for each page. To stop
6466// iterating, return false from the fn function.
6467//
6468// See SearchDevices method for more information on how to use this operation.
6469//
6470// Note: This operation can generate multiple requests to a service.
6471//
6472//    // Example iterating over at most 3 pages of a SearchDevices operation.
6473//    pageNum := 0
6474//    err := client.SearchDevicesPages(params,
6475//        func(page *alexaforbusiness.SearchDevicesOutput, lastPage bool) bool {
6476//            pageNum++
6477//            fmt.Println(page)
6478//            return pageNum <= 3
6479//        })
6480//
6481func (c *AlexaForBusiness) SearchDevicesPages(input *SearchDevicesInput, fn func(*SearchDevicesOutput, bool) bool) error {
6482	return c.SearchDevicesPagesWithContext(aws.BackgroundContext(), input, fn)
6483}
6484
6485// SearchDevicesPagesWithContext same as SearchDevicesPages except
6486// it takes a Context and allows setting request options on the pages.
6487//
6488// The context must be non-nil and will be used for request cancellation. If
6489// the context is nil a panic will occur. In the future the SDK may create
6490// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6491// for more information on using Contexts.
6492func (c *AlexaForBusiness) SearchDevicesPagesWithContext(ctx aws.Context, input *SearchDevicesInput, fn func(*SearchDevicesOutput, bool) bool, opts ...request.Option) error {
6493	p := request.Pagination{
6494		NewRequest: func() (*request.Request, error) {
6495			var inCpy *SearchDevicesInput
6496			if input != nil {
6497				tmp := *input
6498				inCpy = &tmp
6499			}
6500			req, _ := c.SearchDevicesRequest(inCpy)
6501			req.SetContext(ctx)
6502			req.ApplyOptions(opts...)
6503			return req, nil
6504		},
6505	}
6506
6507	cont := true
6508	for p.Next() && cont {
6509		cont = fn(p.Page().(*SearchDevicesOutput), !p.HasNextPage())
6510	}
6511	return p.Err()
6512}
6513
6514const opSearchNetworkProfiles = "SearchNetworkProfiles"
6515
6516// SearchNetworkProfilesRequest generates a "aws/request.Request" representing the
6517// client's request for the SearchNetworkProfiles operation. The "output" return
6518// value will be populated with the request's response once the request completes
6519// successfully.
6520//
6521// Use "Send" method on the returned Request to send the API call to the service.
6522// the "output" return value is not valid until after Send returns without error.
6523//
6524// See SearchNetworkProfiles for more information on using the SearchNetworkProfiles
6525// API call, and error handling.
6526//
6527// This method is useful when you want to inject custom logic or configuration
6528// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6529//
6530//
6531//    // Example sending a request using the SearchNetworkProfilesRequest method.
6532//    req, resp := client.SearchNetworkProfilesRequest(params)
6533//
6534//    err := req.Send()
6535//    if err == nil { // resp is now filled
6536//        fmt.Println(resp)
6537//    }
6538//
6539// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchNetworkProfiles
6540func (c *AlexaForBusiness) SearchNetworkProfilesRequest(input *SearchNetworkProfilesInput) (req *request.Request, output *SearchNetworkProfilesOutput) {
6541	op := &request.Operation{
6542		Name:       opSearchNetworkProfiles,
6543		HTTPMethod: "POST",
6544		HTTPPath:   "/",
6545		Paginator: &request.Paginator{
6546			InputTokens:     []string{"NextToken"},
6547			OutputTokens:    []string{"NextToken"},
6548			LimitToken:      "MaxResults",
6549			TruncationToken: "",
6550		},
6551	}
6552
6553	if input == nil {
6554		input = &SearchNetworkProfilesInput{}
6555	}
6556
6557	output = &SearchNetworkProfilesOutput{}
6558	req = c.newRequest(op, input, output)
6559	return
6560}
6561
6562// SearchNetworkProfiles API operation for Alexa For Business.
6563//
6564// Searches network profiles and lists the ones that meet a set of filter and
6565// sort criteria.
6566//
6567// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6568// with awserr.Error's Code and Message methods to get detailed information about
6569// the error.
6570//
6571// See the AWS API reference guide for Alexa For Business's
6572// API operation SearchNetworkProfiles for usage and error information.
6573// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchNetworkProfiles
6574func (c *AlexaForBusiness) SearchNetworkProfiles(input *SearchNetworkProfilesInput) (*SearchNetworkProfilesOutput, error) {
6575	req, out := c.SearchNetworkProfilesRequest(input)
6576	return out, req.Send()
6577}
6578
6579// SearchNetworkProfilesWithContext is the same as SearchNetworkProfiles with the addition of
6580// the ability to pass a context and additional request options.
6581//
6582// See SearchNetworkProfiles for details on how to use this API operation.
6583//
6584// The context must be non-nil and will be used for request cancellation. If
6585// the context is nil a panic will occur. In the future the SDK may create
6586// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6587// for more information on using Contexts.
6588func (c *AlexaForBusiness) SearchNetworkProfilesWithContext(ctx aws.Context, input *SearchNetworkProfilesInput, opts ...request.Option) (*SearchNetworkProfilesOutput, error) {
6589	req, out := c.SearchNetworkProfilesRequest(input)
6590	req.SetContext(ctx)
6591	req.ApplyOptions(opts...)
6592	return out, req.Send()
6593}
6594
6595// SearchNetworkProfilesPages iterates over the pages of a SearchNetworkProfiles operation,
6596// calling the "fn" function with the response data for each page. To stop
6597// iterating, return false from the fn function.
6598//
6599// See SearchNetworkProfiles method for more information on how to use this operation.
6600//
6601// Note: This operation can generate multiple requests to a service.
6602//
6603//    // Example iterating over at most 3 pages of a SearchNetworkProfiles operation.
6604//    pageNum := 0
6605//    err := client.SearchNetworkProfilesPages(params,
6606//        func(page *alexaforbusiness.SearchNetworkProfilesOutput, lastPage bool) bool {
6607//            pageNum++
6608//            fmt.Println(page)
6609//            return pageNum <= 3
6610//        })
6611//
6612func (c *AlexaForBusiness) SearchNetworkProfilesPages(input *SearchNetworkProfilesInput, fn func(*SearchNetworkProfilesOutput, bool) bool) error {
6613	return c.SearchNetworkProfilesPagesWithContext(aws.BackgroundContext(), input, fn)
6614}
6615
6616// SearchNetworkProfilesPagesWithContext same as SearchNetworkProfilesPages except
6617// it takes a Context and allows setting request options on the pages.
6618//
6619// The context must be non-nil and will be used for request cancellation. If
6620// the context is nil a panic will occur. In the future the SDK may create
6621// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6622// for more information on using Contexts.
6623func (c *AlexaForBusiness) SearchNetworkProfilesPagesWithContext(ctx aws.Context, input *SearchNetworkProfilesInput, fn func(*SearchNetworkProfilesOutput, bool) bool, opts ...request.Option) error {
6624	p := request.Pagination{
6625		NewRequest: func() (*request.Request, error) {
6626			var inCpy *SearchNetworkProfilesInput
6627			if input != nil {
6628				tmp := *input
6629				inCpy = &tmp
6630			}
6631			req, _ := c.SearchNetworkProfilesRequest(inCpy)
6632			req.SetContext(ctx)
6633			req.ApplyOptions(opts...)
6634			return req, nil
6635		},
6636	}
6637
6638	cont := true
6639	for p.Next() && cont {
6640		cont = fn(p.Page().(*SearchNetworkProfilesOutput), !p.HasNextPage())
6641	}
6642	return p.Err()
6643}
6644
6645const opSearchProfiles = "SearchProfiles"
6646
6647// SearchProfilesRequest generates a "aws/request.Request" representing the
6648// client's request for the SearchProfiles operation. The "output" return
6649// value will be populated with the request's response once the request completes
6650// successfully.
6651//
6652// Use "Send" method on the returned Request to send the API call to the service.
6653// the "output" return value is not valid until after Send returns without error.
6654//
6655// See SearchProfiles for more information on using the SearchProfiles
6656// API call, and error handling.
6657//
6658// This method is useful when you want to inject custom logic or configuration
6659// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6660//
6661//
6662//    // Example sending a request using the SearchProfilesRequest method.
6663//    req, resp := client.SearchProfilesRequest(params)
6664//
6665//    err := req.Send()
6666//    if err == nil { // resp is now filled
6667//        fmt.Println(resp)
6668//    }
6669//
6670// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchProfiles
6671func (c *AlexaForBusiness) SearchProfilesRequest(input *SearchProfilesInput) (req *request.Request, output *SearchProfilesOutput) {
6672	op := &request.Operation{
6673		Name:       opSearchProfiles,
6674		HTTPMethod: "POST",
6675		HTTPPath:   "/",
6676		Paginator: &request.Paginator{
6677			InputTokens:     []string{"NextToken"},
6678			OutputTokens:    []string{"NextToken"},
6679			LimitToken:      "MaxResults",
6680			TruncationToken: "",
6681		},
6682	}
6683
6684	if input == nil {
6685		input = &SearchProfilesInput{}
6686	}
6687
6688	output = &SearchProfilesOutput{}
6689	req = c.newRequest(op, input, output)
6690	return
6691}
6692
6693// SearchProfiles API operation for Alexa For Business.
6694//
6695// Searches room profiles and lists the ones that meet a set of filter criteria.
6696//
6697// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6698// with awserr.Error's Code and Message methods to get detailed information about
6699// the error.
6700//
6701// See the AWS API reference guide for Alexa For Business's
6702// API operation SearchProfiles for usage and error information.
6703// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchProfiles
6704func (c *AlexaForBusiness) SearchProfiles(input *SearchProfilesInput) (*SearchProfilesOutput, error) {
6705	req, out := c.SearchProfilesRequest(input)
6706	return out, req.Send()
6707}
6708
6709// SearchProfilesWithContext is the same as SearchProfiles with the addition of
6710// the ability to pass a context and additional request options.
6711//
6712// See SearchProfiles for details on how to use this API operation.
6713//
6714// The context must be non-nil and will be used for request cancellation. If
6715// the context is nil a panic will occur. In the future the SDK may create
6716// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6717// for more information on using Contexts.
6718func (c *AlexaForBusiness) SearchProfilesWithContext(ctx aws.Context, input *SearchProfilesInput, opts ...request.Option) (*SearchProfilesOutput, error) {
6719	req, out := c.SearchProfilesRequest(input)
6720	req.SetContext(ctx)
6721	req.ApplyOptions(opts...)
6722	return out, req.Send()
6723}
6724
6725// SearchProfilesPages iterates over the pages of a SearchProfiles operation,
6726// calling the "fn" function with the response data for each page. To stop
6727// iterating, return false from the fn function.
6728//
6729// See SearchProfiles method for more information on how to use this operation.
6730//
6731// Note: This operation can generate multiple requests to a service.
6732//
6733//    // Example iterating over at most 3 pages of a SearchProfiles operation.
6734//    pageNum := 0
6735//    err := client.SearchProfilesPages(params,
6736//        func(page *alexaforbusiness.SearchProfilesOutput, lastPage bool) bool {
6737//            pageNum++
6738//            fmt.Println(page)
6739//            return pageNum <= 3
6740//        })
6741//
6742func (c *AlexaForBusiness) SearchProfilesPages(input *SearchProfilesInput, fn func(*SearchProfilesOutput, bool) bool) error {
6743	return c.SearchProfilesPagesWithContext(aws.BackgroundContext(), input, fn)
6744}
6745
6746// SearchProfilesPagesWithContext same as SearchProfilesPages except
6747// it takes a Context and allows setting request options on the pages.
6748//
6749// The context must be non-nil and will be used for request cancellation. If
6750// the context is nil a panic will occur. In the future the SDK may create
6751// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6752// for more information on using Contexts.
6753func (c *AlexaForBusiness) SearchProfilesPagesWithContext(ctx aws.Context, input *SearchProfilesInput, fn func(*SearchProfilesOutput, bool) bool, opts ...request.Option) error {
6754	p := request.Pagination{
6755		NewRequest: func() (*request.Request, error) {
6756			var inCpy *SearchProfilesInput
6757			if input != nil {
6758				tmp := *input
6759				inCpy = &tmp
6760			}
6761			req, _ := c.SearchProfilesRequest(inCpy)
6762			req.SetContext(ctx)
6763			req.ApplyOptions(opts...)
6764			return req, nil
6765		},
6766	}
6767
6768	cont := true
6769	for p.Next() && cont {
6770		cont = fn(p.Page().(*SearchProfilesOutput), !p.HasNextPage())
6771	}
6772	return p.Err()
6773}
6774
6775const opSearchRooms = "SearchRooms"
6776
6777// SearchRoomsRequest generates a "aws/request.Request" representing the
6778// client's request for the SearchRooms operation. The "output" return
6779// value will be populated with the request's response once the request completes
6780// successfully.
6781//
6782// Use "Send" method on the returned Request to send the API call to the service.
6783// the "output" return value is not valid until after Send returns without error.
6784//
6785// See SearchRooms for more information on using the SearchRooms
6786// API call, and error handling.
6787//
6788// This method is useful when you want to inject custom logic or configuration
6789// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6790//
6791//
6792//    // Example sending a request using the SearchRoomsRequest method.
6793//    req, resp := client.SearchRoomsRequest(params)
6794//
6795//    err := req.Send()
6796//    if err == nil { // resp is now filled
6797//        fmt.Println(resp)
6798//    }
6799//
6800// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchRooms
6801func (c *AlexaForBusiness) SearchRoomsRequest(input *SearchRoomsInput) (req *request.Request, output *SearchRoomsOutput) {
6802	op := &request.Operation{
6803		Name:       opSearchRooms,
6804		HTTPMethod: "POST",
6805		HTTPPath:   "/",
6806		Paginator: &request.Paginator{
6807			InputTokens:     []string{"NextToken"},
6808			OutputTokens:    []string{"NextToken"},
6809			LimitToken:      "MaxResults",
6810			TruncationToken: "",
6811		},
6812	}
6813
6814	if input == nil {
6815		input = &SearchRoomsInput{}
6816	}
6817
6818	output = &SearchRoomsOutput{}
6819	req = c.newRequest(op, input, output)
6820	return
6821}
6822
6823// SearchRooms API operation for Alexa For Business.
6824//
6825// Searches rooms and lists the ones that meet a set of filter and sort criteria.
6826//
6827// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6828// with awserr.Error's Code and Message methods to get detailed information about
6829// the error.
6830//
6831// See the AWS API reference guide for Alexa For Business's
6832// API operation SearchRooms for usage and error information.
6833// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchRooms
6834func (c *AlexaForBusiness) SearchRooms(input *SearchRoomsInput) (*SearchRoomsOutput, error) {
6835	req, out := c.SearchRoomsRequest(input)
6836	return out, req.Send()
6837}
6838
6839// SearchRoomsWithContext is the same as SearchRooms with the addition of
6840// the ability to pass a context and additional request options.
6841//
6842// See SearchRooms for details on how to use this API operation.
6843//
6844// The context must be non-nil and will be used for request cancellation. If
6845// the context is nil a panic will occur. In the future the SDK may create
6846// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6847// for more information on using Contexts.
6848func (c *AlexaForBusiness) SearchRoomsWithContext(ctx aws.Context, input *SearchRoomsInput, opts ...request.Option) (*SearchRoomsOutput, error) {
6849	req, out := c.SearchRoomsRequest(input)
6850	req.SetContext(ctx)
6851	req.ApplyOptions(opts...)
6852	return out, req.Send()
6853}
6854
6855// SearchRoomsPages iterates over the pages of a SearchRooms operation,
6856// calling the "fn" function with the response data for each page. To stop
6857// iterating, return false from the fn function.
6858//
6859// See SearchRooms method for more information on how to use this operation.
6860//
6861// Note: This operation can generate multiple requests to a service.
6862//
6863//    // Example iterating over at most 3 pages of a SearchRooms operation.
6864//    pageNum := 0
6865//    err := client.SearchRoomsPages(params,
6866//        func(page *alexaforbusiness.SearchRoomsOutput, lastPage bool) bool {
6867//            pageNum++
6868//            fmt.Println(page)
6869//            return pageNum <= 3
6870//        })
6871//
6872func (c *AlexaForBusiness) SearchRoomsPages(input *SearchRoomsInput, fn func(*SearchRoomsOutput, bool) bool) error {
6873	return c.SearchRoomsPagesWithContext(aws.BackgroundContext(), input, fn)
6874}
6875
6876// SearchRoomsPagesWithContext same as SearchRoomsPages except
6877// it takes a Context and allows setting request options on the pages.
6878//
6879// The context must be non-nil and will be used for request cancellation. If
6880// the context is nil a panic will occur. In the future the SDK may create
6881// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6882// for more information on using Contexts.
6883func (c *AlexaForBusiness) SearchRoomsPagesWithContext(ctx aws.Context, input *SearchRoomsInput, fn func(*SearchRoomsOutput, bool) bool, opts ...request.Option) error {
6884	p := request.Pagination{
6885		NewRequest: func() (*request.Request, error) {
6886			var inCpy *SearchRoomsInput
6887			if input != nil {
6888				tmp := *input
6889				inCpy = &tmp
6890			}
6891			req, _ := c.SearchRoomsRequest(inCpy)
6892			req.SetContext(ctx)
6893			req.ApplyOptions(opts...)
6894			return req, nil
6895		},
6896	}
6897
6898	cont := true
6899	for p.Next() && cont {
6900		cont = fn(p.Page().(*SearchRoomsOutput), !p.HasNextPage())
6901	}
6902	return p.Err()
6903}
6904
6905const opSearchSkillGroups = "SearchSkillGroups"
6906
6907// SearchSkillGroupsRequest generates a "aws/request.Request" representing the
6908// client's request for the SearchSkillGroups operation. The "output" return
6909// value will be populated with the request's response once the request completes
6910// successfully.
6911//
6912// Use "Send" method on the returned Request to send the API call to the service.
6913// the "output" return value is not valid until after Send returns without error.
6914//
6915// See SearchSkillGroups for more information on using the SearchSkillGroups
6916// API call, and error handling.
6917//
6918// This method is useful when you want to inject custom logic or configuration
6919// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6920//
6921//
6922//    // Example sending a request using the SearchSkillGroupsRequest method.
6923//    req, resp := client.SearchSkillGroupsRequest(params)
6924//
6925//    err := req.Send()
6926//    if err == nil { // resp is now filled
6927//        fmt.Println(resp)
6928//    }
6929//
6930// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchSkillGroups
6931func (c *AlexaForBusiness) SearchSkillGroupsRequest(input *SearchSkillGroupsInput) (req *request.Request, output *SearchSkillGroupsOutput) {
6932	op := &request.Operation{
6933		Name:       opSearchSkillGroups,
6934		HTTPMethod: "POST",
6935		HTTPPath:   "/",
6936		Paginator: &request.Paginator{
6937			InputTokens:     []string{"NextToken"},
6938			OutputTokens:    []string{"NextToken"},
6939			LimitToken:      "MaxResults",
6940			TruncationToken: "",
6941		},
6942	}
6943
6944	if input == nil {
6945		input = &SearchSkillGroupsInput{}
6946	}
6947
6948	output = &SearchSkillGroupsOutput{}
6949	req = c.newRequest(op, input, output)
6950	return
6951}
6952
6953// SearchSkillGroups API operation for Alexa For Business.
6954//
6955// Searches skill groups and lists the ones that meet a set of filter and sort
6956// criteria.
6957//
6958// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6959// with awserr.Error's Code and Message methods to get detailed information about
6960// the error.
6961//
6962// See the AWS API reference guide for Alexa For Business's
6963// API operation SearchSkillGroups for usage and error information.
6964// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchSkillGroups
6965func (c *AlexaForBusiness) SearchSkillGroups(input *SearchSkillGroupsInput) (*SearchSkillGroupsOutput, error) {
6966	req, out := c.SearchSkillGroupsRequest(input)
6967	return out, req.Send()
6968}
6969
6970// SearchSkillGroupsWithContext is the same as SearchSkillGroups with the addition of
6971// the ability to pass a context and additional request options.
6972//
6973// See SearchSkillGroups for details on how to use this API operation.
6974//
6975// The context must be non-nil and will be used for request cancellation. If
6976// the context is nil a panic will occur. In the future the SDK may create
6977// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6978// for more information on using Contexts.
6979func (c *AlexaForBusiness) SearchSkillGroupsWithContext(ctx aws.Context, input *SearchSkillGroupsInput, opts ...request.Option) (*SearchSkillGroupsOutput, error) {
6980	req, out := c.SearchSkillGroupsRequest(input)
6981	req.SetContext(ctx)
6982	req.ApplyOptions(opts...)
6983	return out, req.Send()
6984}
6985
6986// SearchSkillGroupsPages iterates over the pages of a SearchSkillGroups operation,
6987// calling the "fn" function with the response data for each page. To stop
6988// iterating, return false from the fn function.
6989//
6990// See SearchSkillGroups method for more information on how to use this operation.
6991//
6992// Note: This operation can generate multiple requests to a service.
6993//
6994//    // Example iterating over at most 3 pages of a SearchSkillGroups operation.
6995//    pageNum := 0
6996//    err := client.SearchSkillGroupsPages(params,
6997//        func(page *alexaforbusiness.SearchSkillGroupsOutput, lastPage bool) bool {
6998//            pageNum++
6999//            fmt.Println(page)
7000//            return pageNum <= 3
7001//        })
7002//
7003func (c *AlexaForBusiness) SearchSkillGroupsPages(input *SearchSkillGroupsInput, fn func(*SearchSkillGroupsOutput, bool) bool) error {
7004	return c.SearchSkillGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
7005}
7006
7007// SearchSkillGroupsPagesWithContext same as SearchSkillGroupsPages except
7008// it takes a Context and allows setting request options on the pages.
7009//
7010// The context must be non-nil and will be used for request cancellation. If
7011// the context is nil a panic will occur. In the future the SDK may create
7012// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7013// for more information on using Contexts.
7014func (c *AlexaForBusiness) SearchSkillGroupsPagesWithContext(ctx aws.Context, input *SearchSkillGroupsInput, fn func(*SearchSkillGroupsOutput, bool) bool, opts ...request.Option) error {
7015	p := request.Pagination{
7016		NewRequest: func() (*request.Request, error) {
7017			var inCpy *SearchSkillGroupsInput
7018			if input != nil {
7019				tmp := *input
7020				inCpy = &tmp
7021			}
7022			req, _ := c.SearchSkillGroupsRequest(inCpy)
7023			req.SetContext(ctx)
7024			req.ApplyOptions(opts...)
7025			return req, nil
7026		},
7027	}
7028
7029	cont := true
7030	for p.Next() && cont {
7031		cont = fn(p.Page().(*SearchSkillGroupsOutput), !p.HasNextPage())
7032	}
7033	return p.Err()
7034}
7035
7036const opSearchUsers = "SearchUsers"
7037
7038// SearchUsersRequest generates a "aws/request.Request" representing the
7039// client's request for the SearchUsers operation. The "output" return
7040// value will be populated with the request's response once the request completes
7041// successfully.
7042//
7043// Use "Send" method on the returned Request to send the API call to the service.
7044// the "output" return value is not valid until after Send returns without error.
7045//
7046// See SearchUsers for more information on using the SearchUsers
7047// API call, and error handling.
7048//
7049// This method is useful when you want to inject custom logic or configuration
7050// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7051//
7052//
7053//    // Example sending a request using the SearchUsersRequest method.
7054//    req, resp := client.SearchUsersRequest(params)
7055//
7056//    err := req.Send()
7057//    if err == nil { // resp is now filled
7058//        fmt.Println(resp)
7059//    }
7060//
7061// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchUsers
7062func (c *AlexaForBusiness) SearchUsersRequest(input *SearchUsersInput) (req *request.Request, output *SearchUsersOutput) {
7063	op := &request.Operation{
7064		Name:       opSearchUsers,
7065		HTTPMethod: "POST",
7066		HTTPPath:   "/",
7067		Paginator: &request.Paginator{
7068			InputTokens:     []string{"NextToken"},
7069			OutputTokens:    []string{"NextToken"},
7070			LimitToken:      "MaxResults",
7071			TruncationToken: "",
7072		},
7073	}
7074
7075	if input == nil {
7076		input = &SearchUsersInput{}
7077	}
7078
7079	output = &SearchUsersOutput{}
7080	req = c.newRequest(op, input, output)
7081	return
7082}
7083
7084// SearchUsers API operation for Alexa For Business.
7085//
7086// Searches users and lists the ones that meet a set of filter and sort criteria.
7087//
7088// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7089// with awserr.Error's Code and Message methods to get detailed information about
7090// the error.
7091//
7092// See the AWS API reference guide for Alexa For Business's
7093// API operation SearchUsers for usage and error information.
7094// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchUsers
7095func (c *AlexaForBusiness) SearchUsers(input *SearchUsersInput) (*SearchUsersOutput, error) {
7096	req, out := c.SearchUsersRequest(input)
7097	return out, req.Send()
7098}
7099
7100// SearchUsersWithContext is the same as SearchUsers with the addition of
7101// the ability to pass a context and additional request options.
7102//
7103// See SearchUsers for details on how to use this API operation.
7104//
7105// The context must be non-nil and will be used for request cancellation. If
7106// the context is nil a panic will occur. In the future the SDK may create
7107// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7108// for more information on using Contexts.
7109func (c *AlexaForBusiness) SearchUsersWithContext(ctx aws.Context, input *SearchUsersInput, opts ...request.Option) (*SearchUsersOutput, error) {
7110	req, out := c.SearchUsersRequest(input)
7111	req.SetContext(ctx)
7112	req.ApplyOptions(opts...)
7113	return out, req.Send()
7114}
7115
7116// SearchUsersPages iterates over the pages of a SearchUsers operation,
7117// calling the "fn" function with the response data for each page. To stop
7118// iterating, return false from the fn function.
7119//
7120// See SearchUsers method for more information on how to use this operation.
7121//
7122// Note: This operation can generate multiple requests to a service.
7123//
7124//    // Example iterating over at most 3 pages of a SearchUsers operation.
7125//    pageNum := 0
7126//    err := client.SearchUsersPages(params,
7127//        func(page *alexaforbusiness.SearchUsersOutput, lastPage bool) bool {
7128//            pageNum++
7129//            fmt.Println(page)
7130//            return pageNum <= 3
7131//        })
7132//
7133func (c *AlexaForBusiness) SearchUsersPages(input *SearchUsersInput, fn func(*SearchUsersOutput, bool) bool) error {
7134	return c.SearchUsersPagesWithContext(aws.BackgroundContext(), input, fn)
7135}
7136
7137// SearchUsersPagesWithContext same as SearchUsersPages except
7138// it takes a Context and allows setting request options on the pages.
7139//
7140// The context must be non-nil and will be used for request cancellation. If
7141// the context is nil a panic will occur. In the future the SDK may create
7142// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7143// for more information on using Contexts.
7144func (c *AlexaForBusiness) SearchUsersPagesWithContext(ctx aws.Context, input *SearchUsersInput, fn func(*SearchUsersOutput, bool) bool, opts ...request.Option) error {
7145	p := request.Pagination{
7146		NewRequest: func() (*request.Request, error) {
7147			var inCpy *SearchUsersInput
7148			if input != nil {
7149				tmp := *input
7150				inCpy = &tmp
7151			}
7152			req, _ := c.SearchUsersRequest(inCpy)
7153			req.SetContext(ctx)
7154			req.ApplyOptions(opts...)
7155			return req, nil
7156		},
7157	}
7158
7159	cont := true
7160	for p.Next() && cont {
7161		cont = fn(p.Page().(*SearchUsersOutput), !p.HasNextPage())
7162	}
7163	return p.Err()
7164}
7165
7166const opSendAnnouncement = "SendAnnouncement"
7167
7168// SendAnnouncementRequest generates a "aws/request.Request" representing the
7169// client's request for the SendAnnouncement operation. The "output" return
7170// value will be populated with the request's response once the request completes
7171// successfully.
7172//
7173// Use "Send" method on the returned Request to send the API call to the service.
7174// the "output" return value is not valid until after Send returns without error.
7175//
7176// See SendAnnouncement for more information on using the SendAnnouncement
7177// API call, and error handling.
7178//
7179// This method is useful when you want to inject custom logic or configuration
7180// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7181//
7182//
7183//    // Example sending a request using the SendAnnouncementRequest method.
7184//    req, resp := client.SendAnnouncementRequest(params)
7185//
7186//    err := req.Send()
7187//    if err == nil { // resp is now filled
7188//        fmt.Println(resp)
7189//    }
7190//
7191// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SendAnnouncement
7192func (c *AlexaForBusiness) SendAnnouncementRequest(input *SendAnnouncementInput) (req *request.Request, output *SendAnnouncementOutput) {
7193	op := &request.Operation{
7194		Name:       opSendAnnouncement,
7195		HTTPMethod: "POST",
7196		HTTPPath:   "/",
7197	}
7198
7199	if input == nil {
7200		input = &SendAnnouncementInput{}
7201	}
7202
7203	output = &SendAnnouncementOutput{}
7204	req = c.newRequest(op, input, output)
7205	return
7206}
7207
7208// SendAnnouncement API operation for Alexa For Business.
7209//
7210// Triggers an asynchronous flow to send text, SSML, or audio announcements
7211// to rooms that are identified by a search or filter.
7212//
7213// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7214// with awserr.Error's Code and Message methods to get detailed information about
7215// the error.
7216//
7217// See the AWS API reference guide for Alexa For Business's
7218// API operation SendAnnouncement for usage and error information.
7219//
7220// Returned Error Codes:
7221//   * ErrCodeLimitExceededException "LimitExceededException"
7222//   You are performing an action that would put you beyond your account's limits.
7223//
7224//   * ErrCodeAlreadyExistsException "AlreadyExistsException"
7225//   The resource being created already exists.
7226//
7227// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SendAnnouncement
7228func (c *AlexaForBusiness) SendAnnouncement(input *SendAnnouncementInput) (*SendAnnouncementOutput, error) {
7229	req, out := c.SendAnnouncementRequest(input)
7230	return out, req.Send()
7231}
7232
7233// SendAnnouncementWithContext is the same as SendAnnouncement with the addition of
7234// the ability to pass a context and additional request options.
7235//
7236// See SendAnnouncement for details on how to use this API operation.
7237//
7238// The context must be non-nil and will be used for request cancellation. If
7239// the context is nil a panic will occur. In the future the SDK may create
7240// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7241// for more information on using Contexts.
7242func (c *AlexaForBusiness) SendAnnouncementWithContext(ctx aws.Context, input *SendAnnouncementInput, opts ...request.Option) (*SendAnnouncementOutput, error) {
7243	req, out := c.SendAnnouncementRequest(input)
7244	req.SetContext(ctx)
7245	req.ApplyOptions(opts...)
7246	return out, req.Send()
7247}
7248
7249const opSendInvitation = "SendInvitation"
7250
7251// SendInvitationRequest generates a "aws/request.Request" representing the
7252// client's request for the SendInvitation operation. The "output" return
7253// value will be populated with the request's response once the request completes
7254// successfully.
7255//
7256// Use "Send" method on the returned Request to send the API call to the service.
7257// the "output" return value is not valid until after Send returns without error.
7258//
7259// See SendInvitation for more information on using the SendInvitation
7260// API call, and error handling.
7261//
7262// This method is useful when you want to inject custom logic or configuration
7263// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7264//
7265//
7266//    // Example sending a request using the SendInvitationRequest method.
7267//    req, resp := client.SendInvitationRequest(params)
7268//
7269//    err := req.Send()
7270//    if err == nil { // resp is now filled
7271//        fmt.Println(resp)
7272//    }
7273//
7274// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SendInvitation
7275func (c *AlexaForBusiness) SendInvitationRequest(input *SendInvitationInput) (req *request.Request, output *SendInvitationOutput) {
7276	op := &request.Operation{
7277		Name:       opSendInvitation,
7278		HTTPMethod: "POST",
7279		HTTPPath:   "/",
7280	}
7281
7282	if input == nil {
7283		input = &SendInvitationInput{}
7284	}
7285
7286	output = &SendInvitationOutput{}
7287	req = c.newRequest(op, input, output)
7288	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7289	return
7290}
7291
7292// SendInvitation API operation for Alexa For Business.
7293//
7294// Sends an enrollment invitation email with a URL to a user. The URL is valid
7295// for 30 days or until you call this operation again, whichever comes first.
7296//
7297// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7298// with awserr.Error's Code and Message methods to get detailed information about
7299// the error.
7300//
7301// See the AWS API reference guide for Alexa For Business's
7302// API operation SendInvitation for usage and error information.
7303//
7304// Returned Error Codes:
7305//   * ErrCodeNotFoundException "NotFoundException"
7306//   The resource is not found.
7307//
7308//   * ErrCodeInvalidUserStatusException "InvalidUserStatusException"
7309//   The attempt to update a user is invalid due to the user's current status.
7310//
7311//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
7312//   There is a concurrent modification of resources.
7313//
7314// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SendInvitation
7315func (c *AlexaForBusiness) SendInvitation(input *SendInvitationInput) (*SendInvitationOutput, error) {
7316	req, out := c.SendInvitationRequest(input)
7317	return out, req.Send()
7318}
7319
7320// SendInvitationWithContext is the same as SendInvitation with the addition of
7321// the ability to pass a context and additional request options.
7322//
7323// See SendInvitation for details on how to use this API operation.
7324//
7325// The context must be non-nil and will be used for request cancellation. If
7326// the context is nil a panic will occur. In the future the SDK may create
7327// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7328// for more information on using Contexts.
7329func (c *AlexaForBusiness) SendInvitationWithContext(ctx aws.Context, input *SendInvitationInput, opts ...request.Option) (*SendInvitationOutput, error) {
7330	req, out := c.SendInvitationRequest(input)
7331	req.SetContext(ctx)
7332	req.ApplyOptions(opts...)
7333	return out, req.Send()
7334}
7335
7336const opStartDeviceSync = "StartDeviceSync"
7337
7338// StartDeviceSyncRequest generates a "aws/request.Request" representing the
7339// client's request for the StartDeviceSync operation. The "output" return
7340// value will be populated with the request's response once the request completes
7341// successfully.
7342//
7343// Use "Send" method on the returned Request to send the API call to the service.
7344// the "output" return value is not valid until after Send returns without error.
7345//
7346// See StartDeviceSync for more information on using the StartDeviceSync
7347// API call, and error handling.
7348//
7349// This method is useful when you want to inject custom logic or configuration
7350// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7351//
7352//
7353//    // Example sending a request using the StartDeviceSyncRequest method.
7354//    req, resp := client.StartDeviceSyncRequest(params)
7355//
7356//    err := req.Send()
7357//    if err == nil { // resp is now filled
7358//        fmt.Println(resp)
7359//    }
7360//
7361// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/StartDeviceSync
7362func (c *AlexaForBusiness) StartDeviceSyncRequest(input *StartDeviceSyncInput) (req *request.Request, output *StartDeviceSyncOutput) {
7363	op := &request.Operation{
7364		Name:       opStartDeviceSync,
7365		HTTPMethod: "POST",
7366		HTTPPath:   "/",
7367	}
7368
7369	if input == nil {
7370		input = &StartDeviceSyncInput{}
7371	}
7372
7373	output = &StartDeviceSyncOutput{}
7374	req = c.newRequest(op, input, output)
7375	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7376	return
7377}
7378
7379// StartDeviceSync API operation for Alexa For Business.
7380//
7381// Resets a device and its account to the known default settings. This clears
7382// all information and settings set by previous users in the following ways:
7383//
7384//    * Bluetooth - This unpairs all bluetooth devices paired with your echo
7385//    device.
7386//
7387//    * Volume - This resets the echo device's volume to the default value.
7388//
7389//    * Notifications - This clears all notifications from your echo device.
7390//
7391//    * Lists - This clears all to-do items from your echo device.
7392//
7393//    * Settings - This internally syncs the room's profile (if the device is
7394//    assigned to a room), contacts, address books, delegation access for account
7395//    linking, and communications (if enabled on the room profile).
7396//
7397// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7398// with awserr.Error's Code and Message methods to get detailed information about
7399// the error.
7400//
7401// See the AWS API reference guide for Alexa For Business's
7402// API operation StartDeviceSync for usage and error information.
7403//
7404// Returned Error Codes:
7405//   * ErrCodeDeviceNotRegisteredException "DeviceNotRegisteredException"
7406//   The request failed because this device is no longer registered and therefore
7407//   no longer managed by this account.
7408//
7409// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/StartDeviceSync
7410func (c *AlexaForBusiness) StartDeviceSync(input *StartDeviceSyncInput) (*StartDeviceSyncOutput, error) {
7411	req, out := c.StartDeviceSyncRequest(input)
7412	return out, req.Send()
7413}
7414
7415// StartDeviceSyncWithContext is the same as StartDeviceSync with the addition of
7416// the ability to pass a context and additional request options.
7417//
7418// See StartDeviceSync for details on how to use this API operation.
7419//
7420// The context must be non-nil and will be used for request cancellation. If
7421// the context is nil a panic will occur. In the future the SDK may create
7422// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7423// for more information on using Contexts.
7424func (c *AlexaForBusiness) StartDeviceSyncWithContext(ctx aws.Context, input *StartDeviceSyncInput, opts ...request.Option) (*StartDeviceSyncOutput, error) {
7425	req, out := c.StartDeviceSyncRequest(input)
7426	req.SetContext(ctx)
7427	req.ApplyOptions(opts...)
7428	return out, req.Send()
7429}
7430
7431const opStartSmartHomeApplianceDiscovery = "StartSmartHomeApplianceDiscovery"
7432
7433// StartSmartHomeApplianceDiscoveryRequest generates a "aws/request.Request" representing the
7434// client's request for the StartSmartHomeApplianceDiscovery operation. The "output" return
7435// value will be populated with the request's response once the request completes
7436// successfully.
7437//
7438// Use "Send" method on the returned Request to send the API call to the service.
7439// the "output" return value is not valid until after Send returns without error.
7440//
7441// See StartSmartHomeApplianceDiscovery for more information on using the StartSmartHomeApplianceDiscovery
7442// API call, and error handling.
7443//
7444// This method is useful when you want to inject custom logic or configuration
7445// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7446//
7447//
7448//    // Example sending a request using the StartSmartHomeApplianceDiscoveryRequest method.
7449//    req, resp := client.StartSmartHomeApplianceDiscoveryRequest(params)
7450//
7451//    err := req.Send()
7452//    if err == nil { // resp is now filled
7453//        fmt.Println(resp)
7454//    }
7455//
7456// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/StartSmartHomeApplianceDiscovery
7457func (c *AlexaForBusiness) StartSmartHomeApplianceDiscoveryRequest(input *StartSmartHomeApplianceDiscoveryInput) (req *request.Request, output *StartSmartHomeApplianceDiscoveryOutput) {
7458	op := &request.Operation{
7459		Name:       opStartSmartHomeApplianceDiscovery,
7460		HTTPMethod: "POST",
7461		HTTPPath:   "/",
7462	}
7463
7464	if input == nil {
7465		input = &StartSmartHomeApplianceDiscoveryInput{}
7466	}
7467
7468	output = &StartSmartHomeApplianceDiscoveryOutput{}
7469	req = c.newRequest(op, input, output)
7470	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7471	return
7472}
7473
7474// StartSmartHomeApplianceDiscovery API operation for Alexa For Business.
7475//
7476// Initiates the discovery of any smart home appliances associated with the
7477// room.
7478//
7479// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7480// with awserr.Error's Code and Message methods to get detailed information about
7481// the error.
7482//
7483// See the AWS API reference guide for Alexa For Business's
7484// API operation StartSmartHomeApplianceDiscovery for usage and error information.
7485//
7486// Returned Error Codes:
7487//   * ErrCodeNotFoundException "NotFoundException"
7488//   The resource is not found.
7489//
7490// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/StartSmartHomeApplianceDiscovery
7491func (c *AlexaForBusiness) StartSmartHomeApplianceDiscovery(input *StartSmartHomeApplianceDiscoveryInput) (*StartSmartHomeApplianceDiscoveryOutput, error) {
7492	req, out := c.StartSmartHomeApplianceDiscoveryRequest(input)
7493	return out, req.Send()
7494}
7495
7496// StartSmartHomeApplianceDiscoveryWithContext is the same as StartSmartHomeApplianceDiscovery with the addition of
7497// the ability to pass a context and additional request options.
7498//
7499// See StartSmartHomeApplianceDiscovery for details on how to use this API operation.
7500//
7501// The context must be non-nil and will be used for request cancellation. If
7502// the context is nil a panic will occur. In the future the SDK may create
7503// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7504// for more information on using Contexts.
7505func (c *AlexaForBusiness) StartSmartHomeApplianceDiscoveryWithContext(ctx aws.Context, input *StartSmartHomeApplianceDiscoveryInput, opts ...request.Option) (*StartSmartHomeApplianceDiscoveryOutput, error) {
7506	req, out := c.StartSmartHomeApplianceDiscoveryRequest(input)
7507	req.SetContext(ctx)
7508	req.ApplyOptions(opts...)
7509	return out, req.Send()
7510}
7511
7512const opTagResource = "TagResource"
7513
7514// TagResourceRequest generates a "aws/request.Request" representing the
7515// client's request for the TagResource operation. The "output" return
7516// value will be populated with the request's response once the request completes
7517// successfully.
7518//
7519// Use "Send" method on the returned Request to send the API call to the service.
7520// the "output" return value is not valid until after Send returns without error.
7521//
7522// See TagResource for more information on using the TagResource
7523// API call, and error handling.
7524//
7525// This method is useful when you want to inject custom logic or configuration
7526// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7527//
7528//
7529//    // Example sending a request using the TagResourceRequest method.
7530//    req, resp := client.TagResourceRequest(params)
7531//
7532//    err := req.Send()
7533//    if err == nil { // resp is now filled
7534//        fmt.Println(resp)
7535//    }
7536//
7537// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/TagResource
7538func (c *AlexaForBusiness) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
7539	op := &request.Operation{
7540		Name:       opTagResource,
7541		HTTPMethod: "POST",
7542		HTTPPath:   "/",
7543	}
7544
7545	if input == nil {
7546		input = &TagResourceInput{}
7547	}
7548
7549	output = &TagResourceOutput{}
7550	req = c.newRequest(op, input, output)
7551	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7552	return
7553}
7554
7555// TagResource API operation for Alexa For Business.
7556//
7557// Adds metadata tags to a specified resource.
7558//
7559// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7560// with awserr.Error's Code and Message methods to get detailed information about
7561// the error.
7562//
7563// See the AWS API reference guide for Alexa For Business's
7564// API operation TagResource for usage and error information.
7565//
7566// Returned Error Codes:
7567//   * ErrCodeNotFoundException "NotFoundException"
7568//   The resource is not found.
7569//
7570// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/TagResource
7571func (c *AlexaForBusiness) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
7572	req, out := c.TagResourceRequest(input)
7573	return out, req.Send()
7574}
7575
7576// TagResourceWithContext is the same as TagResource with the addition of
7577// the ability to pass a context and additional request options.
7578//
7579// See TagResource for details on how to use this API operation.
7580//
7581// The context must be non-nil and will be used for request cancellation. If
7582// the context is nil a panic will occur. In the future the SDK may create
7583// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7584// for more information on using Contexts.
7585func (c *AlexaForBusiness) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
7586	req, out := c.TagResourceRequest(input)
7587	req.SetContext(ctx)
7588	req.ApplyOptions(opts...)
7589	return out, req.Send()
7590}
7591
7592const opUntagResource = "UntagResource"
7593
7594// UntagResourceRequest generates a "aws/request.Request" representing the
7595// client's request for the UntagResource operation. The "output" return
7596// value will be populated with the request's response once the request completes
7597// successfully.
7598//
7599// Use "Send" method on the returned Request to send the API call to the service.
7600// the "output" return value is not valid until after Send returns without error.
7601//
7602// See UntagResource for more information on using the UntagResource
7603// API call, and error handling.
7604//
7605// This method is useful when you want to inject custom logic or configuration
7606// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7607//
7608//
7609//    // Example sending a request using the UntagResourceRequest method.
7610//    req, resp := client.UntagResourceRequest(params)
7611//
7612//    err := req.Send()
7613//    if err == nil { // resp is now filled
7614//        fmt.Println(resp)
7615//    }
7616//
7617// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UntagResource
7618func (c *AlexaForBusiness) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
7619	op := &request.Operation{
7620		Name:       opUntagResource,
7621		HTTPMethod: "POST",
7622		HTTPPath:   "/",
7623	}
7624
7625	if input == nil {
7626		input = &UntagResourceInput{}
7627	}
7628
7629	output = &UntagResourceOutput{}
7630	req = c.newRequest(op, input, output)
7631	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7632	return
7633}
7634
7635// UntagResource API operation for Alexa For Business.
7636//
7637// Removes metadata tags from a specified resource.
7638//
7639// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7640// with awserr.Error's Code and Message methods to get detailed information about
7641// the error.
7642//
7643// See the AWS API reference guide for Alexa For Business's
7644// API operation UntagResource for usage and error information.
7645//
7646// Returned Error Codes:
7647//   * ErrCodeNotFoundException "NotFoundException"
7648//   The resource is not found.
7649//
7650// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UntagResource
7651func (c *AlexaForBusiness) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
7652	req, out := c.UntagResourceRequest(input)
7653	return out, req.Send()
7654}
7655
7656// UntagResourceWithContext is the same as UntagResource with the addition of
7657// the ability to pass a context and additional request options.
7658//
7659// See UntagResource for details on how to use this API operation.
7660//
7661// The context must be non-nil and will be used for request cancellation. If
7662// the context is nil a panic will occur. In the future the SDK may create
7663// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7664// for more information on using Contexts.
7665func (c *AlexaForBusiness) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
7666	req, out := c.UntagResourceRequest(input)
7667	req.SetContext(ctx)
7668	req.ApplyOptions(opts...)
7669	return out, req.Send()
7670}
7671
7672const opUpdateAddressBook = "UpdateAddressBook"
7673
7674// UpdateAddressBookRequest generates a "aws/request.Request" representing the
7675// client's request for the UpdateAddressBook operation. The "output" return
7676// value will be populated with the request's response once the request completes
7677// successfully.
7678//
7679// Use "Send" method on the returned Request to send the API call to the service.
7680// the "output" return value is not valid until after Send returns without error.
7681//
7682// See UpdateAddressBook for more information on using the UpdateAddressBook
7683// API call, and error handling.
7684//
7685// This method is useful when you want to inject custom logic or configuration
7686// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7687//
7688//
7689//    // Example sending a request using the UpdateAddressBookRequest method.
7690//    req, resp := client.UpdateAddressBookRequest(params)
7691//
7692//    err := req.Send()
7693//    if err == nil { // resp is now filled
7694//        fmt.Println(resp)
7695//    }
7696//
7697// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateAddressBook
7698func (c *AlexaForBusiness) UpdateAddressBookRequest(input *UpdateAddressBookInput) (req *request.Request, output *UpdateAddressBookOutput) {
7699	op := &request.Operation{
7700		Name:       opUpdateAddressBook,
7701		HTTPMethod: "POST",
7702		HTTPPath:   "/",
7703	}
7704
7705	if input == nil {
7706		input = &UpdateAddressBookInput{}
7707	}
7708
7709	output = &UpdateAddressBookOutput{}
7710	req = c.newRequest(op, input, output)
7711	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7712	return
7713}
7714
7715// UpdateAddressBook API operation for Alexa For Business.
7716//
7717// Updates address book details by the address book ARN.
7718//
7719// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7720// with awserr.Error's Code and Message methods to get detailed information about
7721// the error.
7722//
7723// See the AWS API reference guide for Alexa For Business's
7724// API operation UpdateAddressBook for usage and error information.
7725//
7726// Returned Error Codes:
7727//   * ErrCodeNotFoundException "NotFoundException"
7728//   The resource is not found.
7729//
7730//   * ErrCodeNameInUseException "NameInUseException"
7731//   The name sent in the request is already in use.
7732//
7733//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
7734//   There is a concurrent modification of resources.
7735//
7736// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateAddressBook
7737func (c *AlexaForBusiness) UpdateAddressBook(input *UpdateAddressBookInput) (*UpdateAddressBookOutput, error) {
7738	req, out := c.UpdateAddressBookRequest(input)
7739	return out, req.Send()
7740}
7741
7742// UpdateAddressBookWithContext is the same as UpdateAddressBook with the addition of
7743// the ability to pass a context and additional request options.
7744//
7745// See UpdateAddressBook for details on how to use this API operation.
7746//
7747// The context must be non-nil and will be used for request cancellation. If
7748// the context is nil a panic will occur. In the future the SDK may create
7749// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7750// for more information on using Contexts.
7751func (c *AlexaForBusiness) UpdateAddressBookWithContext(ctx aws.Context, input *UpdateAddressBookInput, opts ...request.Option) (*UpdateAddressBookOutput, error) {
7752	req, out := c.UpdateAddressBookRequest(input)
7753	req.SetContext(ctx)
7754	req.ApplyOptions(opts...)
7755	return out, req.Send()
7756}
7757
7758const opUpdateBusinessReportSchedule = "UpdateBusinessReportSchedule"
7759
7760// UpdateBusinessReportScheduleRequest generates a "aws/request.Request" representing the
7761// client's request for the UpdateBusinessReportSchedule operation. The "output" return
7762// value will be populated with the request's response once the request completes
7763// successfully.
7764//
7765// Use "Send" method on the returned Request to send the API call to the service.
7766// the "output" return value is not valid until after Send returns without error.
7767//
7768// See UpdateBusinessReportSchedule for more information on using the UpdateBusinessReportSchedule
7769// API call, and error handling.
7770//
7771// This method is useful when you want to inject custom logic or configuration
7772// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7773//
7774//
7775//    // Example sending a request using the UpdateBusinessReportScheduleRequest method.
7776//    req, resp := client.UpdateBusinessReportScheduleRequest(params)
7777//
7778//    err := req.Send()
7779//    if err == nil { // resp is now filled
7780//        fmt.Println(resp)
7781//    }
7782//
7783// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateBusinessReportSchedule
7784func (c *AlexaForBusiness) UpdateBusinessReportScheduleRequest(input *UpdateBusinessReportScheduleInput) (req *request.Request, output *UpdateBusinessReportScheduleOutput) {
7785	op := &request.Operation{
7786		Name:       opUpdateBusinessReportSchedule,
7787		HTTPMethod: "POST",
7788		HTTPPath:   "/",
7789	}
7790
7791	if input == nil {
7792		input = &UpdateBusinessReportScheduleInput{}
7793	}
7794
7795	output = &UpdateBusinessReportScheduleOutput{}
7796	req = c.newRequest(op, input, output)
7797	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7798	return
7799}
7800
7801// UpdateBusinessReportSchedule API operation for Alexa For Business.
7802//
7803// Updates the configuration of the report delivery schedule with the specified
7804// schedule ARN.
7805//
7806// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7807// with awserr.Error's Code and Message methods to get detailed information about
7808// the error.
7809//
7810// See the AWS API reference guide for Alexa For Business's
7811// API operation UpdateBusinessReportSchedule for usage and error information.
7812//
7813// Returned Error Codes:
7814//   * ErrCodeNotFoundException "NotFoundException"
7815//   The resource is not found.
7816//
7817//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
7818//   There is a concurrent modification of resources.
7819//
7820// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateBusinessReportSchedule
7821func (c *AlexaForBusiness) UpdateBusinessReportSchedule(input *UpdateBusinessReportScheduleInput) (*UpdateBusinessReportScheduleOutput, error) {
7822	req, out := c.UpdateBusinessReportScheduleRequest(input)
7823	return out, req.Send()
7824}
7825
7826// UpdateBusinessReportScheduleWithContext is the same as UpdateBusinessReportSchedule with the addition of
7827// the ability to pass a context and additional request options.
7828//
7829// See UpdateBusinessReportSchedule for details on how to use this API operation.
7830//
7831// The context must be non-nil and will be used for request cancellation. If
7832// the context is nil a panic will occur. In the future the SDK may create
7833// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7834// for more information on using Contexts.
7835func (c *AlexaForBusiness) UpdateBusinessReportScheduleWithContext(ctx aws.Context, input *UpdateBusinessReportScheduleInput, opts ...request.Option) (*UpdateBusinessReportScheduleOutput, error) {
7836	req, out := c.UpdateBusinessReportScheduleRequest(input)
7837	req.SetContext(ctx)
7838	req.ApplyOptions(opts...)
7839	return out, req.Send()
7840}
7841
7842const opUpdateConferenceProvider = "UpdateConferenceProvider"
7843
7844// UpdateConferenceProviderRequest generates a "aws/request.Request" representing the
7845// client's request for the UpdateConferenceProvider operation. The "output" return
7846// value will be populated with the request's response once the request completes
7847// successfully.
7848//
7849// Use "Send" method on the returned Request to send the API call to the service.
7850// the "output" return value is not valid until after Send returns without error.
7851//
7852// See UpdateConferenceProvider for more information on using the UpdateConferenceProvider
7853// API call, and error handling.
7854//
7855// This method is useful when you want to inject custom logic or configuration
7856// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7857//
7858//
7859//    // Example sending a request using the UpdateConferenceProviderRequest method.
7860//    req, resp := client.UpdateConferenceProviderRequest(params)
7861//
7862//    err := req.Send()
7863//    if err == nil { // resp is now filled
7864//        fmt.Println(resp)
7865//    }
7866//
7867// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateConferenceProvider
7868func (c *AlexaForBusiness) UpdateConferenceProviderRequest(input *UpdateConferenceProviderInput) (req *request.Request, output *UpdateConferenceProviderOutput) {
7869	op := &request.Operation{
7870		Name:       opUpdateConferenceProvider,
7871		HTTPMethod: "POST",
7872		HTTPPath:   "/",
7873	}
7874
7875	if input == nil {
7876		input = &UpdateConferenceProviderInput{}
7877	}
7878
7879	output = &UpdateConferenceProviderOutput{}
7880	req = c.newRequest(op, input, output)
7881	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7882	return
7883}
7884
7885// UpdateConferenceProvider API operation for Alexa For Business.
7886//
7887// Updates an existing conference provider's settings.
7888//
7889// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7890// with awserr.Error's Code and Message methods to get detailed information about
7891// the error.
7892//
7893// See the AWS API reference guide for Alexa For Business's
7894// API operation UpdateConferenceProvider for usage and error information.
7895//
7896// Returned Error Codes:
7897//   * ErrCodeNotFoundException "NotFoundException"
7898//   The resource is not found.
7899//
7900// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateConferenceProvider
7901func (c *AlexaForBusiness) UpdateConferenceProvider(input *UpdateConferenceProviderInput) (*UpdateConferenceProviderOutput, error) {
7902	req, out := c.UpdateConferenceProviderRequest(input)
7903	return out, req.Send()
7904}
7905
7906// UpdateConferenceProviderWithContext is the same as UpdateConferenceProvider with the addition of
7907// the ability to pass a context and additional request options.
7908//
7909// See UpdateConferenceProvider for details on how to use this API operation.
7910//
7911// The context must be non-nil and will be used for request cancellation. If
7912// the context is nil a panic will occur. In the future the SDK may create
7913// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7914// for more information on using Contexts.
7915func (c *AlexaForBusiness) UpdateConferenceProviderWithContext(ctx aws.Context, input *UpdateConferenceProviderInput, opts ...request.Option) (*UpdateConferenceProviderOutput, error) {
7916	req, out := c.UpdateConferenceProviderRequest(input)
7917	req.SetContext(ctx)
7918	req.ApplyOptions(opts...)
7919	return out, req.Send()
7920}
7921
7922const opUpdateContact = "UpdateContact"
7923
7924// UpdateContactRequest generates a "aws/request.Request" representing the
7925// client's request for the UpdateContact operation. The "output" return
7926// value will be populated with the request's response once the request completes
7927// successfully.
7928//
7929// Use "Send" method on the returned Request to send the API call to the service.
7930// the "output" return value is not valid until after Send returns without error.
7931//
7932// See UpdateContact for more information on using the UpdateContact
7933// API call, and error handling.
7934//
7935// This method is useful when you want to inject custom logic or configuration
7936// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7937//
7938//
7939//    // Example sending a request using the UpdateContactRequest method.
7940//    req, resp := client.UpdateContactRequest(params)
7941//
7942//    err := req.Send()
7943//    if err == nil { // resp is now filled
7944//        fmt.Println(resp)
7945//    }
7946//
7947// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateContact
7948func (c *AlexaForBusiness) UpdateContactRequest(input *UpdateContactInput) (req *request.Request, output *UpdateContactOutput) {
7949	op := &request.Operation{
7950		Name:       opUpdateContact,
7951		HTTPMethod: "POST",
7952		HTTPPath:   "/",
7953	}
7954
7955	if input == nil {
7956		input = &UpdateContactInput{}
7957	}
7958
7959	output = &UpdateContactOutput{}
7960	req = c.newRequest(op, input, output)
7961	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7962	return
7963}
7964
7965// UpdateContact API operation for Alexa For Business.
7966//
7967// Updates the contact details by the contact ARN.
7968//
7969// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7970// with awserr.Error's Code and Message methods to get detailed information about
7971// the error.
7972//
7973// See the AWS API reference guide for Alexa For Business's
7974// API operation UpdateContact for usage and error information.
7975//
7976// Returned Error Codes:
7977//   * ErrCodeNotFoundException "NotFoundException"
7978//   The resource is not found.
7979//
7980//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
7981//   There is a concurrent modification of resources.
7982//
7983// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateContact
7984func (c *AlexaForBusiness) UpdateContact(input *UpdateContactInput) (*UpdateContactOutput, error) {
7985	req, out := c.UpdateContactRequest(input)
7986	return out, req.Send()
7987}
7988
7989// UpdateContactWithContext is the same as UpdateContact with the addition of
7990// the ability to pass a context and additional request options.
7991//
7992// See UpdateContact for details on how to use this API operation.
7993//
7994// The context must be non-nil and will be used for request cancellation. If
7995// the context is nil a panic will occur. In the future the SDK may create
7996// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7997// for more information on using Contexts.
7998func (c *AlexaForBusiness) UpdateContactWithContext(ctx aws.Context, input *UpdateContactInput, opts ...request.Option) (*UpdateContactOutput, error) {
7999	req, out := c.UpdateContactRequest(input)
8000	req.SetContext(ctx)
8001	req.ApplyOptions(opts...)
8002	return out, req.Send()
8003}
8004
8005const opUpdateDevice = "UpdateDevice"
8006
8007// UpdateDeviceRequest generates a "aws/request.Request" representing the
8008// client's request for the UpdateDevice operation. The "output" return
8009// value will be populated with the request's response once the request completes
8010// successfully.
8011//
8012// Use "Send" method on the returned Request to send the API call to the service.
8013// the "output" return value is not valid until after Send returns without error.
8014//
8015// See UpdateDevice for more information on using the UpdateDevice
8016// API call, and error handling.
8017//
8018// This method is useful when you want to inject custom logic or configuration
8019// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8020//
8021//
8022//    // Example sending a request using the UpdateDeviceRequest method.
8023//    req, resp := client.UpdateDeviceRequest(params)
8024//
8025//    err := req.Send()
8026//    if err == nil { // resp is now filled
8027//        fmt.Println(resp)
8028//    }
8029//
8030// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateDevice
8031func (c *AlexaForBusiness) UpdateDeviceRequest(input *UpdateDeviceInput) (req *request.Request, output *UpdateDeviceOutput) {
8032	op := &request.Operation{
8033		Name:       opUpdateDevice,
8034		HTTPMethod: "POST",
8035		HTTPPath:   "/",
8036	}
8037
8038	if input == nil {
8039		input = &UpdateDeviceInput{}
8040	}
8041
8042	output = &UpdateDeviceOutput{}
8043	req = c.newRequest(op, input, output)
8044	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8045	return
8046}
8047
8048// UpdateDevice API operation for Alexa For Business.
8049//
8050// Updates the device name by device ARN.
8051//
8052// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8053// with awserr.Error's Code and Message methods to get detailed information about
8054// the error.
8055//
8056// See the AWS API reference guide for Alexa For Business's
8057// API operation UpdateDevice for usage and error information.
8058//
8059// Returned Error Codes:
8060//   * ErrCodeNotFoundException "NotFoundException"
8061//   The resource is not found.
8062//
8063//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
8064//   There is a concurrent modification of resources.
8065//
8066//   * ErrCodeDeviceNotRegisteredException "DeviceNotRegisteredException"
8067//   The request failed because this device is no longer registered and therefore
8068//   no longer managed by this account.
8069//
8070// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateDevice
8071func (c *AlexaForBusiness) UpdateDevice(input *UpdateDeviceInput) (*UpdateDeviceOutput, error) {
8072	req, out := c.UpdateDeviceRequest(input)
8073	return out, req.Send()
8074}
8075
8076// UpdateDeviceWithContext is the same as UpdateDevice with the addition of
8077// the ability to pass a context and additional request options.
8078//
8079// See UpdateDevice for details on how to use this API operation.
8080//
8081// The context must be non-nil and will be used for request cancellation. If
8082// the context is nil a panic will occur. In the future the SDK may create
8083// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8084// for more information on using Contexts.
8085func (c *AlexaForBusiness) UpdateDeviceWithContext(ctx aws.Context, input *UpdateDeviceInput, opts ...request.Option) (*UpdateDeviceOutput, error) {
8086	req, out := c.UpdateDeviceRequest(input)
8087	req.SetContext(ctx)
8088	req.ApplyOptions(opts...)
8089	return out, req.Send()
8090}
8091
8092const opUpdateGateway = "UpdateGateway"
8093
8094// UpdateGatewayRequest generates a "aws/request.Request" representing the
8095// client's request for the UpdateGateway operation. The "output" return
8096// value will be populated with the request's response once the request completes
8097// successfully.
8098//
8099// Use "Send" method on the returned Request to send the API call to the service.
8100// the "output" return value is not valid until after Send returns without error.
8101//
8102// See UpdateGateway for more information on using the UpdateGateway
8103// API call, and error handling.
8104//
8105// This method is useful when you want to inject custom logic or configuration
8106// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8107//
8108//
8109//    // Example sending a request using the UpdateGatewayRequest method.
8110//    req, resp := client.UpdateGatewayRequest(params)
8111//
8112//    err := req.Send()
8113//    if err == nil { // resp is now filled
8114//        fmt.Println(resp)
8115//    }
8116//
8117// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateGateway
8118func (c *AlexaForBusiness) UpdateGatewayRequest(input *UpdateGatewayInput) (req *request.Request, output *UpdateGatewayOutput) {
8119	op := &request.Operation{
8120		Name:       opUpdateGateway,
8121		HTTPMethod: "POST",
8122		HTTPPath:   "/",
8123	}
8124
8125	if input == nil {
8126		input = &UpdateGatewayInput{}
8127	}
8128
8129	output = &UpdateGatewayOutput{}
8130	req = c.newRequest(op, input, output)
8131	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8132	return
8133}
8134
8135// UpdateGateway API operation for Alexa For Business.
8136//
8137// Updates the details of a gateway. If any optional field is not provided,
8138// the existing corresponding value is left unmodified.
8139//
8140// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8141// with awserr.Error's Code and Message methods to get detailed information about
8142// the error.
8143//
8144// See the AWS API reference guide for Alexa For Business's
8145// API operation UpdateGateway for usage and error information.
8146//
8147// Returned Error Codes:
8148//   * ErrCodeNotFoundException "NotFoundException"
8149//   The resource is not found.
8150//
8151//   * ErrCodeNameInUseException "NameInUseException"
8152//   The name sent in the request is already in use.
8153//
8154// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateGateway
8155func (c *AlexaForBusiness) UpdateGateway(input *UpdateGatewayInput) (*UpdateGatewayOutput, error) {
8156	req, out := c.UpdateGatewayRequest(input)
8157	return out, req.Send()
8158}
8159
8160// UpdateGatewayWithContext is the same as UpdateGateway with the addition of
8161// the ability to pass a context and additional request options.
8162//
8163// See UpdateGateway for details on how to use this API operation.
8164//
8165// The context must be non-nil and will be used for request cancellation. If
8166// the context is nil a panic will occur. In the future the SDK may create
8167// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8168// for more information on using Contexts.
8169func (c *AlexaForBusiness) UpdateGatewayWithContext(ctx aws.Context, input *UpdateGatewayInput, opts ...request.Option) (*UpdateGatewayOutput, error) {
8170	req, out := c.UpdateGatewayRequest(input)
8171	req.SetContext(ctx)
8172	req.ApplyOptions(opts...)
8173	return out, req.Send()
8174}
8175
8176const opUpdateGatewayGroup = "UpdateGatewayGroup"
8177
8178// UpdateGatewayGroupRequest generates a "aws/request.Request" representing the
8179// client's request for the UpdateGatewayGroup operation. The "output" return
8180// value will be populated with the request's response once the request completes
8181// successfully.
8182//
8183// Use "Send" method on the returned Request to send the API call to the service.
8184// the "output" return value is not valid until after Send returns without error.
8185//
8186// See UpdateGatewayGroup for more information on using the UpdateGatewayGroup
8187// API call, and error handling.
8188//
8189// This method is useful when you want to inject custom logic or configuration
8190// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8191//
8192//
8193//    // Example sending a request using the UpdateGatewayGroupRequest method.
8194//    req, resp := client.UpdateGatewayGroupRequest(params)
8195//
8196//    err := req.Send()
8197//    if err == nil { // resp is now filled
8198//        fmt.Println(resp)
8199//    }
8200//
8201// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateGatewayGroup
8202func (c *AlexaForBusiness) UpdateGatewayGroupRequest(input *UpdateGatewayGroupInput) (req *request.Request, output *UpdateGatewayGroupOutput) {
8203	op := &request.Operation{
8204		Name:       opUpdateGatewayGroup,
8205		HTTPMethod: "POST",
8206		HTTPPath:   "/",
8207	}
8208
8209	if input == nil {
8210		input = &UpdateGatewayGroupInput{}
8211	}
8212
8213	output = &UpdateGatewayGroupOutput{}
8214	req = c.newRequest(op, input, output)
8215	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8216	return
8217}
8218
8219// UpdateGatewayGroup API operation for Alexa For Business.
8220//
8221// Updates the details of a gateway group. If any optional field is not provided,
8222// the existing corresponding value is left unmodified.
8223//
8224// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8225// with awserr.Error's Code and Message methods to get detailed information about
8226// the error.
8227//
8228// See the AWS API reference guide for Alexa For Business's
8229// API operation UpdateGatewayGroup for usage and error information.
8230//
8231// Returned Error Codes:
8232//   * ErrCodeNotFoundException "NotFoundException"
8233//   The resource is not found.
8234//
8235//   * ErrCodeNameInUseException "NameInUseException"
8236//   The name sent in the request is already in use.
8237//
8238// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateGatewayGroup
8239func (c *AlexaForBusiness) UpdateGatewayGroup(input *UpdateGatewayGroupInput) (*UpdateGatewayGroupOutput, error) {
8240	req, out := c.UpdateGatewayGroupRequest(input)
8241	return out, req.Send()
8242}
8243
8244// UpdateGatewayGroupWithContext is the same as UpdateGatewayGroup with the addition of
8245// the ability to pass a context and additional request options.
8246//
8247// See UpdateGatewayGroup for details on how to use this API operation.
8248//
8249// The context must be non-nil and will be used for request cancellation. If
8250// the context is nil a panic will occur. In the future the SDK may create
8251// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8252// for more information on using Contexts.
8253func (c *AlexaForBusiness) UpdateGatewayGroupWithContext(ctx aws.Context, input *UpdateGatewayGroupInput, opts ...request.Option) (*UpdateGatewayGroupOutput, error) {
8254	req, out := c.UpdateGatewayGroupRequest(input)
8255	req.SetContext(ctx)
8256	req.ApplyOptions(opts...)
8257	return out, req.Send()
8258}
8259
8260const opUpdateNetworkProfile = "UpdateNetworkProfile"
8261
8262// UpdateNetworkProfileRequest generates a "aws/request.Request" representing the
8263// client's request for the UpdateNetworkProfile operation. The "output" return
8264// value will be populated with the request's response once the request completes
8265// successfully.
8266//
8267// Use "Send" method on the returned Request to send the API call to the service.
8268// the "output" return value is not valid until after Send returns without error.
8269//
8270// See UpdateNetworkProfile for more information on using the UpdateNetworkProfile
8271// API call, and error handling.
8272//
8273// This method is useful when you want to inject custom logic or configuration
8274// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8275//
8276//
8277//    // Example sending a request using the UpdateNetworkProfileRequest method.
8278//    req, resp := client.UpdateNetworkProfileRequest(params)
8279//
8280//    err := req.Send()
8281//    if err == nil { // resp is now filled
8282//        fmt.Println(resp)
8283//    }
8284//
8285// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateNetworkProfile
8286func (c *AlexaForBusiness) UpdateNetworkProfileRequest(input *UpdateNetworkProfileInput) (req *request.Request, output *UpdateNetworkProfileOutput) {
8287	op := &request.Operation{
8288		Name:       opUpdateNetworkProfile,
8289		HTTPMethod: "POST",
8290		HTTPPath:   "/",
8291	}
8292
8293	if input == nil {
8294		input = &UpdateNetworkProfileInput{}
8295	}
8296
8297	output = &UpdateNetworkProfileOutput{}
8298	req = c.newRequest(op, input, output)
8299	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8300	return
8301}
8302
8303// UpdateNetworkProfile API operation for Alexa For Business.
8304//
8305// Updates a network profile by the network profile ARN.
8306//
8307// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8308// with awserr.Error's Code and Message methods to get detailed information about
8309// the error.
8310//
8311// See the AWS API reference guide for Alexa For Business's
8312// API operation UpdateNetworkProfile for usage and error information.
8313//
8314// Returned Error Codes:
8315//   * ErrCodeNotFoundException "NotFoundException"
8316//   The resource is not found.
8317//
8318//   * ErrCodeNameInUseException "NameInUseException"
8319//   The name sent in the request is already in use.
8320//
8321//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
8322//   There is a concurrent modification of resources.
8323//
8324//   * ErrCodeInvalidCertificateAuthorityException "InvalidCertificateAuthorityException"
8325//   The Certificate Authority can't issue or revoke a certificate.
8326//
8327//   * ErrCodeInvalidSecretsManagerResourceException "InvalidSecretsManagerResourceException"
8328//   A password in SecretsManager is in an invalid state.
8329//
8330// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateNetworkProfile
8331func (c *AlexaForBusiness) UpdateNetworkProfile(input *UpdateNetworkProfileInput) (*UpdateNetworkProfileOutput, error) {
8332	req, out := c.UpdateNetworkProfileRequest(input)
8333	return out, req.Send()
8334}
8335
8336// UpdateNetworkProfileWithContext is the same as UpdateNetworkProfile with the addition of
8337// the ability to pass a context and additional request options.
8338//
8339// See UpdateNetworkProfile for details on how to use this API operation.
8340//
8341// The context must be non-nil and will be used for request cancellation. If
8342// the context is nil a panic will occur. In the future the SDK may create
8343// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8344// for more information on using Contexts.
8345func (c *AlexaForBusiness) UpdateNetworkProfileWithContext(ctx aws.Context, input *UpdateNetworkProfileInput, opts ...request.Option) (*UpdateNetworkProfileOutput, error) {
8346	req, out := c.UpdateNetworkProfileRequest(input)
8347	req.SetContext(ctx)
8348	req.ApplyOptions(opts...)
8349	return out, req.Send()
8350}
8351
8352const opUpdateProfile = "UpdateProfile"
8353
8354// UpdateProfileRequest generates a "aws/request.Request" representing the
8355// client's request for the UpdateProfile operation. The "output" return
8356// value will be populated with the request's response once the request completes
8357// successfully.
8358//
8359// Use "Send" method on the returned Request to send the API call to the service.
8360// the "output" return value is not valid until after Send returns without error.
8361//
8362// See UpdateProfile for more information on using the UpdateProfile
8363// API call, and error handling.
8364//
8365// This method is useful when you want to inject custom logic or configuration
8366// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8367//
8368//
8369//    // Example sending a request using the UpdateProfileRequest method.
8370//    req, resp := client.UpdateProfileRequest(params)
8371//
8372//    err := req.Send()
8373//    if err == nil { // resp is now filled
8374//        fmt.Println(resp)
8375//    }
8376//
8377// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateProfile
8378func (c *AlexaForBusiness) UpdateProfileRequest(input *UpdateProfileInput) (req *request.Request, output *UpdateProfileOutput) {
8379	op := &request.Operation{
8380		Name:       opUpdateProfile,
8381		HTTPMethod: "POST",
8382		HTTPPath:   "/",
8383	}
8384
8385	if input == nil {
8386		input = &UpdateProfileInput{}
8387	}
8388
8389	output = &UpdateProfileOutput{}
8390	req = c.newRequest(op, input, output)
8391	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8392	return
8393}
8394
8395// UpdateProfile API operation for Alexa For Business.
8396//
8397// Updates an existing room profile by room profile ARN.
8398//
8399// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8400// with awserr.Error's Code and Message methods to get detailed information about
8401// the error.
8402//
8403// See the AWS API reference guide for Alexa For Business's
8404// API operation UpdateProfile for usage and error information.
8405//
8406// Returned Error Codes:
8407//   * ErrCodeNotFoundException "NotFoundException"
8408//   The resource is not found.
8409//
8410//   * ErrCodeNameInUseException "NameInUseException"
8411//   The name sent in the request is already in use.
8412//
8413//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
8414//   There is a concurrent modification of resources.
8415//
8416// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateProfile
8417func (c *AlexaForBusiness) UpdateProfile(input *UpdateProfileInput) (*UpdateProfileOutput, error) {
8418	req, out := c.UpdateProfileRequest(input)
8419	return out, req.Send()
8420}
8421
8422// UpdateProfileWithContext is the same as UpdateProfile with the addition of
8423// the ability to pass a context and additional request options.
8424//
8425// See UpdateProfile for details on how to use this API operation.
8426//
8427// The context must be non-nil and will be used for request cancellation. If
8428// the context is nil a panic will occur. In the future the SDK may create
8429// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8430// for more information on using Contexts.
8431func (c *AlexaForBusiness) UpdateProfileWithContext(ctx aws.Context, input *UpdateProfileInput, opts ...request.Option) (*UpdateProfileOutput, error) {
8432	req, out := c.UpdateProfileRequest(input)
8433	req.SetContext(ctx)
8434	req.ApplyOptions(opts...)
8435	return out, req.Send()
8436}
8437
8438const opUpdateRoom = "UpdateRoom"
8439
8440// UpdateRoomRequest generates a "aws/request.Request" representing the
8441// client's request for the UpdateRoom operation. The "output" return
8442// value will be populated with the request's response once the request completes
8443// successfully.
8444//
8445// Use "Send" method on the returned Request to send the API call to the service.
8446// the "output" return value is not valid until after Send returns without error.
8447//
8448// See UpdateRoom for more information on using the UpdateRoom
8449// API call, and error handling.
8450//
8451// This method is useful when you want to inject custom logic or configuration
8452// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8453//
8454//
8455//    // Example sending a request using the UpdateRoomRequest method.
8456//    req, resp := client.UpdateRoomRequest(params)
8457//
8458//    err := req.Send()
8459//    if err == nil { // resp is now filled
8460//        fmt.Println(resp)
8461//    }
8462//
8463// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateRoom
8464func (c *AlexaForBusiness) UpdateRoomRequest(input *UpdateRoomInput) (req *request.Request, output *UpdateRoomOutput) {
8465	op := &request.Operation{
8466		Name:       opUpdateRoom,
8467		HTTPMethod: "POST",
8468		HTTPPath:   "/",
8469	}
8470
8471	if input == nil {
8472		input = &UpdateRoomInput{}
8473	}
8474
8475	output = &UpdateRoomOutput{}
8476	req = c.newRequest(op, input, output)
8477	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8478	return
8479}
8480
8481// UpdateRoom API operation for Alexa For Business.
8482//
8483// Updates room details by room ARN.
8484//
8485// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8486// with awserr.Error's Code and Message methods to get detailed information about
8487// the error.
8488//
8489// See the AWS API reference guide for Alexa For Business's
8490// API operation UpdateRoom for usage and error information.
8491//
8492// Returned Error Codes:
8493//   * ErrCodeNotFoundException "NotFoundException"
8494//   The resource is not found.
8495//
8496//   * ErrCodeNameInUseException "NameInUseException"
8497//   The name sent in the request is already in use.
8498//
8499// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateRoom
8500func (c *AlexaForBusiness) UpdateRoom(input *UpdateRoomInput) (*UpdateRoomOutput, error) {
8501	req, out := c.UpdateRoomRequest(input)
8502	return out, req.Send()
8503}
8504
8505// UpdateRoomWithContext is the same as UpdateRoom with the addition of
8506// the ability to pass a context and additional request options.
8507//
8508// See UpdateRoom for details on how to use this API operation.
8509//
8510// The context must be non-nil and will be used for request cancellation. If
8511// the context is nil a panic will occur. In the future the SDK may create
8512// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8513// for more information on using Contexts.
8514func (c *AlexaForBusiness) UpdateRoomWithContext(ctx aws.Context, input *UpdateRoomInput, opts ...request.Option) (*UpdateRoomOutput, error) {
8515	req, out := c.UpdateRoomRequest(input)
8516	req.SetContext(ctx)
8517	req.ApplyOptions(opts...)
8518	return out, req.Send()
8519}
8520
8521const opUpdateSkillGroup = "UpdateSkillGroup"
8522
8523// UpdateSkillGroupRequest generates a "aws/request.Request" representing the
8524// client's request for the UpdateSkillGroup operation. The "output" return
8525// value will be populated with the request's response once the request completes
8526// successfully.
8527//
8528// Use "Send" method on the returned Request to send the API call to the service.
8529// the "output" return value is not valid until after Send returns without error.
8530//
8531// See UpdateSkillGroup for more information on using the UpdateSkillGroup
8532// API call, and error handling.
8533//
8534// This method is useful when you want to inject custom logic or configuration
8535// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8536//
8537//
8538//    // Example sending a request using the UpdateSkillGroupRequest method.
8539//    req, resp := client.UpdateSkillGroupRequest(params)
8540//
8541//    err := req.Send()
8542//    if err == nil { // resp is now filled
8543//        fmt.Println(resp)
8544//    }
8545//
8546// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateSkillGroup
8547func (c *AlexaForBusiness) UpdateSkillGroupRequest(input *UpdateSkillGroupInput) (req *request.Request, output *UpdateSkillGroupOutput) {
8548	op := &request.Operation{
8549		Name:       opUpdateSkillGroup,
8550		HTTPMethod: "POST",
8551		HTTPPath:   "/",
8552	}
8553
8554	if input == nil {
8555		input = &UpdateSkillGroupInput{}
8556	}
8557
8558	output = &UpdateSkillGroupOutput{}
8559	req = c.newRequest(op, input, output)
8560	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8561	return
8562}
8563
8564// UpdateSkillGroup API operation for Alexa For Business.
8565//
8566// Updates skill group details by skill group ARN.
8567//
8568// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8569// with awserr.Error's Code and Message methods to get detailed information about
8570// the error.
8571//
8572// See the AWS API reference guide for Alexa For Business's
8573// API operation UpdateSkillGroup for usage and error information.
8574//
8575// Returned Error Codes:
8576//   * ErrCodeNotFoundException "NotFoundException"
8577//   The resource is not found.
8578//
8579//   * ErrCodeNameInUseException "NameInUseException"
8580//   The name sent in the request is already in use.
8581//
8582//   * ErrCodeConcurrentModificationException "ConcurrentModificationException"
8583//   There is a concurrent modification of resources.
8584//
8585// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateSkillGroup
8586func (c *AlexaForBusiness) UpdateSkillGroup(input *UpdateSkillGroupInput) (*UpdateSkillGroupOutput, error) {
8587	req, out := c.UpdateSkillGroupRequest(input)
8588	return out, req.Send()
8589}
8590
8591// UpdateSkillGroupWithContext is the same as UpdateSkillGroup with the addition of
8592// the ability to pass a context and additional request options.
8593//
8594// See UpdateSkillGroup for details on how to use this API operation.
8595//
8596// The context must be non-nil and will be used for request cancellation. If
8597// the context is nil a panic will occur. In the future the SDK may create
8598// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8599// for more information on using Contexts.
8600func (c *AlexaForBusiness) UpdateSkillGroupWithContext(ctx aws.Context, input *UpdateSkillGroupInput, opts ...request.Option) (*UpdateSkillGroupOutput, error) {
8601	req, out := c.UpdateSkillGroupRequest(input)
8602	req.SetContext(ctx)
8603	req.ApplyOptions(opts...)
8604	return out, req.Send()
8605}
8606
8607// An address book with attributes.
8608type AddressBook struct {
8609	_ struct{} `type:"structure"`
8610
8611	// The ARN of the address book.
8612	AddressBookArn *string `type:"string"`
8613
8614	// The description of the address book.
8615	Description *string `min:"1" type:"string"`
8616
8617	// The name of the address book.
8618	Name *string `min:"1" type:"string"`
8619}
8620
8621// String returns the string representation
8622func (s AddressBook) String() string {
8623	return awsutil.Prettify(s)
8624}
8625
8626// GoString returns the string representation
8627func (s AddressBook) GoString() string {
8628	return s.String()
8629}
8630
8631// SetAddressBookArn sets the AddressBookArn field's value.
8632func (s *AddressBook) SetAddressBookArn(v string) *AddressBook {
8633	s.AddressBookArn = &v
8634	return s
8635}
8636
8637// SetDescription sets the Description field's value.
8638func (s *AddressBook) SetDescription(v string) *AddressBook {
8639	s.Description = &v
8640	return s
8641}
8642
8643// SetName sets the Name field's value.
8644func (s *AddressBook) SetName(v string) *AddressBook {
8645	s.Name = &v
8646	return s
8647}
8648
8649// Information related to an address book.
8650type AddressBookData struct {
8651	_ struct{} `type:"structure"`
8652
8653	// The ARN of the address book.
8654	AddressBookArn *string `type:"string"`
8655
8656	// The description of the address book.
8657	Description *string `min:"1" type:"string"`
8658
8659	// The name of the address book.
8660	Name *string `min:"1" type:"string"`
8661}
8662
8663// String returns the string representation
8664func (s AddressBookData) String() string {
8665	return awsutil.Prettify(s)
8666}
8667
8668// GoString returns the string representation
8669func (s AddressBookData) GoString() string {
8670	return s.String()
8671}
8672
8673// SetAddressBookArn sets the AddressBookArn field's value.
8674func (s *AddressBookData) SetAddressBookArn(v string) *AddressBookData {
8675	s.AddressBookArn = &v
8676	return s
8677}
8678
8679// SetDescription sets the Description field's value.
8680func (s *AddressBookData) SetDescription(v string) *AddressBookData {
8681	s.Description = &v
8682	return s
8683}
8684
8685// SetName sets the Name field's value.
8686func (s *AddressBookData) SetName(v string) *AddressBookData {
8687	s.Name = &v
8688	return s
8689}
8690
8691type ApproveSkillInput struct {
8692	_ struct{} `type:"structure"`
8693
8694	// The unique identifier of the skill.
8695	//
8696	// SkillId is a required field
8697	SkillId *string `type:"string" required:"true"`
8698}
8699
8700// String returns the string representation
8701func (s ApproveSkillInput) String() string {
8702	return awsutil.Prettify(s)
8703}
8704
8705// GoString returns the string representation
8706func (s ApproveSkillInput) GoString() string {
8707	return s.String()
8708}
8709
8710// Validate inspects the fields of the type to determine if they are valid.
8711func (s *ApproveSkillInput) Validate() error {
8712	invalidParams := request.ErrInvalidParams{Context: "ApproveSkillInput"}
8713	if s.SkillId == nil {
8714		invalidParams.Add(request.NewErrParamRequired("SkillId"))
8715	}
8716
8717	if invalidParams.Len() > 0 {
8718		return invalidParams
8719	}
8720	return nil
8721}
8722
8723// SetSkillId sets the SkillId field's value.
8724func (s *ApproveSkillInput) SetSkillId(v string) *ApproveSkillInput {
8725	s.SkillId = &v
8726	return s
8727}
8728
8729type ApproveSkillOutput struct {
8730	_ struct{} `type:"structure"`
8731}
8732
8733// String returns the string representation
8734func (s ApproveSkillOutput) String() string {
8735	return awsutil.Prettify(s)
8736}
8737
8738// GoString returns the string representation
8739func (s ApproveSkillOutput) GoString() string {
8740	return s.String()
8741}
8742
8743type AssociateContactWithAddressBookInput struct {
8744	_ struct{} `type:"structure"`
8745
8746	// The ARN of the address book with which to associate the contact.
8747	//
8748	// AddressBookArn is a required field
8749	AddressBookArn *string `type:"string" required:"true"`
8750
8751	// The ARN of the contact to associate with an address book.
8752	//
8753	// ContactArn is a required field
8754	ContactArn *string `type:"string" required:"true"`
8755}
8756
8757// String returns the string representation
8758func (s AssociateContactWithAddressBookInput) String() string {
8759	return awsutil.Prettify(s)
8760}
8761
8762// GoString returns the string representation
8763func (s AssociateContactWithAddressBookInput) GoString() string {
8764	return s.String()
8765}
8766
8767// Validate inspects the fields of the type to determine if they are valid.
8768func (s *AssociateContactWithAddressBookInput) Validate() error {
8769	invalidParams := request.ErrInvalidParams{Context: "AssociateContactWithAddressBookInput"}
8770	if s.AddressBookArn == nil {
8771		invalidParams.Add(request.NewErrParamRequired("AddressBookArn"))
8772	}
8773	if s.ContactArn == nil {
8774		invalidParams.Add(request.NewErrParamRequired("ContactArn"))
8775	}
8776
8777	if invalidParams.Len() > 0 {
8778		return invalidParams
8779	}
8780	return nil
8781}
8782
8783// SetAddressBookArn sets the AddressBookArn field's value.
8784func (s *AssociateContactWithAddressBookInput) SetAddressBookArn(v string) *AssociateContactWithAddressBookInput {
8785	s.AddressBookArn = &v
8786	return s
8787}
8788
8789// SetContactArn sets the ContactArn field's value.
8790func (s *AssociateContactWithAddressBookInput) SetContactArn(v string) *AssociateContactWithAddressBookInput {
8791	s.ContactArn = &v
8792	return s
8793}
8794
8795type AssociateContactWithAddressBookOutput struct {
8796	_ struct{} `type:"structure"`
8797}
8798
8799// String returns the string representation
8800func (s AssociateContactWithAddressBookOutput) String() string {
8801	return awsutil.Prettify(s)
8802}
8803
8804// GoString returns the string representation
8805func (s AssociateContactWithAddressBookOutput) GoString() string {
8806	return s.String()
8807}
8808
8809type AssociateDeviceWithNetworkProfileInput struct {
8810	_ struct{} `type:"structure"`
8811
8812	// The device ARN.
8813	//
8814	// DeviceArn is a required field
8815	DeviceArn *string `type:"string" required:"true"`
8816
8817	// The ARN of the network profile to associate with a device.
8818	//
8819	// NetworkProfileArn is a required field
8820	NetworkProfileArn *string `type:"string" required:"true"`
8821}
8822
8823// String returns the string representation
8824func (s AssociateDeviceWithNetworkProfileInput) String() string {
8825	return awsutil.Prettify(s)
8826}
8827
8828// GoString returns the string representation
8829func (s AssociateDeviceWithNetworkProfileInput) GoString() string {
8830	return s.String()
8831}
8832
8833// Validate inspects the fields of the type to determine if they are valid.
8834func (s *AssociateDeviceWithNetworkProfileInput) Validate() error {
8835	invalidParams := request.ErrInvalidParams{Context: "AssociateDeviceWithNetworkProfileInput"}
8836	if s.DeviceArn == nil {
8837		invalidParams.Add(request.NewErrParamRequired("DeviceArn"))
8838	}
8839	if s.NetworkProfileArn == nil {
8840		invalidParams.Add(request.NewErrParamRequired("NetworkProfileArn"))
8841	}
8842
8843	if invalidParams.Len() > 0 {
8844		return invalidParams
8845	}
8846	return nil
8847}
8848
8849// SetDeviceArn sets the DeviceArn field's value.
8850func (s *AssociateDeviceWithNetworkProfileInput) SetDeviceArn(v string) *AssociateDeviceWithNetworkProfileInput {
8851	s.DeviceArn = &v
8852	return s
8853}
8854
8855// SetNetworkProfileArn sets the NetworkProfileArn field's value.
8856func (s *AssociateDeviceWithNetworkProfileInput) SetNetworkProfileArn(v string) *AssociateDeviceWithNetworkProfileInput {
8857	s.NetworkProfileArn = &v
8858	return s
8859}
8860
8861type AssociateDeviceWithNetworkProfileOutput struct {
8862	_ struct{} `type:"structure"`
8863}
8864
8865// String returns the string representation
8866func (s AssociateDeviceWithNetworkProfileOutput) String() string {
8867	return awsutil.Prettify(s)
8868}
8869
8870// GoString returns the string representation
8871func (s AssociateDeviceWithNetworkProfileOutput) GoString() string {
8872	return s.String()
8873}
8874
8875type AssociateDeviceWithRoomInput struct {
8876	_ struct{} `type:"structure"`
8877
8878	// The ARN of the device to associate to a room. Required.
8879	DeviceArn *string `type:"string"`
8880
8881	// The ARN of the room with which to associate the device. Required.
8882	RoomArn *string `type:"string"`
8883}
8884
8885// String returns the string representation
8886func (s AssociateDeviceWithRoomInput) String() string {
8887	return awsutil.Prettify(s)
8888}
8889
8890// GoString returns the string representation
8891func (s AssociateDeviceWithRoomInput) GoString() string {
8892	return s.String()
8893}
8894
8895// SetDeviceArn sets the DeviceArn field's value.
8896func (s *AssociateDeviceWithRoomInput) SetDeviceArn(v string) *AssociateDeviceWithRoomInput {
8897	s.DeviceArn = &v
8898	return s
8899}
8900
8901// SetRoomArn sets the RoomArn field's value.
8902func (s *AssociateDeviceWithRoomInput) SetRoomArn(v string) *AssociateDeviceWithRoomInput {
8903	s.RoomArn = &v
8904	return s
8905}
8906
8907type AssociateDeviceWithRoomOutput struct {
8908	_ struct{} `type:"structure"`
8909}
8910
8911// String returns the string representation
8912func (s AssociateDeviceWithRoomOutput) String() string {
8913	return awsutil.Prettify(s)
8914}
8915
8916// GoString returns the string representation
8917func (s AssociateDeviceWithRoomOutput) GoString() string {
8918	return s.String()
8919}
8920
8921type AssociateSkillGroupWithRoomInput struct {
8922	_ struct{} `type:"structure"`
8923
8924	// The ARN of the room with which to associate the skill group. Required.
8925	RoomArn *string `type:"string"`
8926
8927	// The ARN of the skill group to associate with a room. Required.
8928	SkillGroupArn *string `type:"string"`
8929}
8930
8931// String returns the string representation
8932func (s AssociateSkillGroupWithRoomInput) String() string {
8933	return awsutil.Prettify(s)
8934}
8935
8936// GoString returns the string representation
8937func (s AssociateSkillGroupWithRoomInput) GoString() string {
8938	return s.String()
8939}
8940
8941// SetRoomArn sets the RoomArn field's value.
8942func (s *AssociateSkillGroupWithRoomInput) SetRoomArn(v string) *AssociateSkillGroupWithRoomInput {
8943	s.RoomArn = &v
8944	return s
8945}
8946
8947// SetSkillGroupArn sets the SkillGroupArn field's value.
8948func (s *AssociateSkillGroupWithRoomInput) SetSkillGroupArn(v string) *AssociateSkillGroupWithRoomInput {
8949	s.SkillGroupArn = &v
8950	return s
8951}
8952
8953type AssociateSkillGroupWithRoomOutput struct {
8954	_ struct{} `type:"structure"`
8955}
8956
8957// String returns the string representation
8958func (s AssociateSkillGroupWithRoomOutput) String() string {
8959	return awsutil.Prettify(s)
8960}
8961
8962// GoString returns the string representation
8963func (s AssociateSkillGroupWithRoomOutput) GoString() string {
8964	return s.String()
8965}
8966
8967type AssociateSkillWithSkillGroupInput struct {
8968	_ struct{} `type:"structure"`
8969
8970	// The ARN of the skill group to associate the skill to. Required.
8971	SkillGroupArn *string `type:"string"`
8972
8973	// The unique identifier of the skill.
8974	//
8975	// SkillId is a required field
8976	SkillId *string `type:"string" required:"true"`
8977}
8978
8979// String returns the string representation
8980func (s AssociateSkillWithSkillGroupInput) String() string {
8981	return awsutil.Prettify(s)
8982}
8983
8984// GoString returns the string representation
8985func (s AssociateSkillWithSkillGroupInput) GoString() string {
8986	return s.String()
8987}
8988
8989// Validate inspects the fields of the type to determine if they are valid.
8990func (s *AssociateSkillWithSkillGroupInput) Validate() error {
8991	invalidParams := request.ErrInvalidParams{Context: "AssociateSkillWithSkillGroupInput"}
8992	if s.SkillId == nil {
8993		invalidParams.Add(request.NewErrParamRequired("SkillId"))
8994	}
8995
8996	if invalidParams.Len() > 0 {
8997		return invalidParams
8998	}
8999	return nil
9000}
9001
9002// SetSkillGroupArn sets the SkillGroupArn field's value.
9003func (s *AssociateSkillWithSkillGroupInput) SetSkillGroupArn(v string) *AssociateSkillWithSkillGroupInput {
9004	s.SkillGroupArn = &v
9005	return s
9006}
9007
9008// SetSkillId sets the SkillId field's value.
9009func (s *AssociateSkillWithSkillGroupInput) SetSkillId(v string) *AssociateSkillWithSkillGroupInput {
9010	s.SkillId = &v
9011	return s
9012}
9013
9014type AssociateSkillWithSkillGroupOutput struct {
9015	_ struct{} `type:"structure"`
9016}
9017
9018// String returns the string representation
9019func (s AssociateSkillWithSkillGroupOutput) String() string {
9020	return awsutil.Prettify(s)
9021}
9022
9023// GoString returns the string representation
9024func (s AssociateSkillWithSkillGroupOutput) GoString() string {
9025	return s.String()
9026}
9027
9028type AssociateSkillWithUsersInput struct {
9029	_ struct{} `type:"structure"`
9030
9031	// The private skill ID you want to make available to enrolled users.
9032	//
9033	// SkillId is a required field
9034	SkillId *string `type:"string" required:"true"`
9035}
9036
9037// String returns the string representation
9038func (s AssociateSkillWithUsersInput) String() string {
9039	return awsutil.Prettify(s)
9040}
9041
9042// GoString returns the string representation
9043func (s AssociateSkillWithUsersInput) GoString() string {
9044	return s.String()
9045}
9046
9047// Validate inspects the fields of the type to determine if they are valid.
9048func (s *AssociateSkillWithUsersInput) Validate() error {
9049	invalidParams := request.ErrInvalidParams{Context: "AssociateSkillWithUsersInput"}
9050	if s.SkillId == nil {
9051		invalidParams.Add(request.NewErrParamRequired("SkillId"))
9052	}
9053
9054	if invalidParams.Len() > 0 {
9055		return invalidParams
9056	}
9057	return nil
9058}
9059
9060// SetSkillId sets the SkillId field's value.
9061func (s *AssociateSkillWithUsersInput) SetSkillId(v string) *AssociateSkillWithUsersInput {
9062	s.SkillId = &v
9063	return s
9064}
9065
9066type AssociateSkillWithUsersOutput struct {
9067	_ struct{} `type:"structure"`
9068}
9069
9070// String returns the string representation
9071func (s AssociateSkillWithUsersOutput) String() string {
9072	return awsutil.Prettify(s)
9073}
9074
9075// GoString returns the string representation
9076func (s AssociateSkillWithUsersOutput) GoString() string {
9077	return s.String()
9078}
9079
9080// The audio message. There is a 1 MB limit on the audio file input and the
9081// only supported format is MP3. To convert your MP3 audio files to an Alexa-friendly,
9082//
9083// required codec version (MPEG version 2) and bit rate (48 kbps), you might
9084// use converter software. One option for this is a command-line tool, FFmpeg.
9085// For more information, see FFmpeg (https://www.ffmpeg.org/). The following
9086// command converts the provided <input-file> to an MP3 file that is played
9087// in the announcement:
9088//
9089// ffmpeg -i <input-file> -ac 2 -codec:a libmp3lame -b:a 48k -ar 16000 <output-file.mp3>
9090type Audio struct {
9091	_ struct{} `type:"structure"`
9092
9093	// The locale of the audio message. Currently, en-US is supported.
9094	//
9095	// Locale is a required field
9096	Locale *string `type:"string" required:"true" enum:"Locale"`
9097
9098	// The location of the audio file. Currently, S3 URLs are supported. Only S3
9099	// locations comprised of safe characters are valid. For more information, see
9100	// Safe Characters (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#Safe%20Characters).
9101	//
9102	// Location is a required field
9103	Location *string `type:"string" required:"true"`
9104}
9105
9106// String returns the string representation
9107func (s Audio) String() string {
9108	return awsutil.Prettify(s)
9109}
9110
9111// GoString returns the string representation
9112func (s Audio) GoString() string {
9113	return s.String()
9114}
9115
9116// Validate inspects the fields of the type to determine if they are valid.
9117func (s *Audio) Validate() error {
9118	invalidParams := request.ErrInvalidParams{Context: "Audio"}
9119	if s.Locale == nil {
9120		invalidParams.Add(request.NewErrParamRequired("Locale"))
9121	}
9122	if s.Location == nil {
9123		invalidParams.Add(request.NewErrParamRequired("Location"))
9124	}
9125
9126	if invalidParams.Len() > 0 {
9127		return invalidParams
9128	}
9129	return nil
9130}
9131
9132// SetLocale sets the Locale field's value.
9133func (s *Audio) SetLocale(v string) *Audio {
9134	s.Locale = &v
9135	return s
9136}
9137
9138// SetLocation sets the Location field's value.
9139func (s *Audio) SetLocation(v string) *Audio {
9140	s.Location = &v
9141	return s
9142}
9143
9144// Usage report with specified parameters.
9145type BusinessReport struct {
9146	_ struct{} `type:"structure"`
9147
9148	// The time of report delivery.
9149	DeliveryTime *time.Time `type:"timestamp"`
9150
9151	// The download link where a user can download the report.
9152	DownloadUrl *string `type:"string"`
9153
9154	// The failure code.
9155	FailureCode *string `type:"string" enum:"BusinessReportFailureCode"`
9156
9157	// The S3 location of the output reports.
9158	S3Location *BusinessReportS3Location `type:"structure"`
9159
9160	// The status of the report generation execution (RUNNING, SUCCEEDED, or FAILED).
9161	Status *string `type:"string" enum:"BusinessReportStatus"`
9162}
9163
9164// String returns the string representation
9165func (s BusinessReport) String() string {
9166	return awsutil.Prettify(s)
9167}
9168
9169// GoString returns the string representation
9170func (s BusinessReport) GoString() string {
9171	return s.String()
9172}
9173
9174// SetDeliveryTime sets the DeliveryTime field's value.
9175func (s *BusinessReport) SetDeliveryTime(v time.Time) *BusinessReport {
9176	s.DeliveryTime = &v
9177	return s
9178}
9179
9180// SetDownloadUrl sets the DownloadUrl field's value.
9181func (s *BusinessReport) SetDownloadUrl(v string) *BusinessReport {
9182	s.DownloadUrl = &v
9183	return s
9184}
9185
9186// SetFailureCode sets the FailureCode field's value.
9187func (s *BusinessReport) SetFailureCode(v string) *BusinessReport {
9188	s.FailureCode = &v
9189	return s
9190}
9191
9192// SetS3Location sets the S3Location field's value.
9193func (s *BusinessReport) SetS3Location(v *BusinessReportS3Location) *BusinessReport {
9194	s.S3Location = v
9195	return s
9196}
9197
9198// SetStatus sets the Status field's value.
9199func (s *BusinessReport) SetStatus(v string) *BusinessReport {
9200	s.Status = &v
9201	return s
9202}
9203
9204// The content range of the report.
9205type BusinessReportContentRange struct {
9206	_ struct{} `type:"structure"`
9207
9208	// The interval of the content range.
9209	Interval *string `type:"string" enum:"BusinessReportInterval"`
9210}
9211
9212// String returns the string representation
9213func (s BusinessReportContentRange) String() string {
9214	return awsutil.Prettify(s)
9215}
9216
9217// GoString returns the string representation
9218func (s BusinessReportContentRange) GoString() string {
9219	return s.String()
9220}
9221
9222// SetInterval sets the Interval field's value.
9223func (s *BusinessReportContentRange) SetInterval(v string) *BusinessReportContentRange {
9224	s.Interval = &v
9225	return s
9226}
9227
9228// The recurrence of the reports.
9229type BusinessReportRecurrence struct {
9230	_ struct{} `type:"structure"`
9231
9232	// The start date.
9233	StartDate *string `type:"string"`
9234}
9235
9236// String returns the string representation
9237func (s BusinessReportRecurrence) String() string {
9238	return awsutil.Prettify(s)
9239}
9240
9241// GoString returns the string representation
9242func (s BusinessReportRecurrence) GoString() string {
9243	return s.String()
9244}
9245
9246// SetStartDate sets the StartDate field's value.
9247func (s *BusinessReportRecurrence) SetStartDate(v string) *BusinessReportRecurrence {
9248	s.StartDate = &v
9249	return s
9250}
9251
9252// The S3 location of the output reports.
9253type BusinessReportS3Location struct {
9254	_ struct{} `type:"structure"`
9255
9256	// The S3 bucket name of the output reports.
9257	BucketName *string `type:"string"`
9258
9259	// The path of the business report.
9260	Path *string `type:"string"`
9261}
9262
9263// String returns the string representation
9264func (s BusinessReportS3Location) String() string {
9265	return awsutil.Prettify(s)
9266}
9267
9268// GoString returns the string representation
9269func (s BusinessReportS3Location) GoString() string {
9270	return s.String()
9271}
9272
9273// SetBucketName sets the BucketName field's value.
9274func (s *BusinessReportS3Location) SetBucketName(v string) *BusinessReportS3Location {
9275	s.BucketName = &v
9276	return s
9277}
9278
9279// SetPath sets the Path field's value.
9280func (s *BusinessReportS3Location) SetPath(v string) *BusinessReportS3Location {
9281	s.Path = &v
9282	return s
9283}
9284
9285// The schedule of the usage report.
9286type BusinessReportSchedule struct {
9287	_ struct{} `type:"structure"`
9288
9289	// The content range of the reports.
9290	ContentRange *BusinessReportContentRange `type:"structure"`
9291
9292	// The format of the generated report (individual CSV files or zipped files
9293	// of individual files).
9294	Format *string `type:"string" enum:"BusinessReportFormat"`
9295
9296	// The details of the last business report delivery for a specified time interval.
9297	LastBusinessReport *BusinessReport `type:"structure"`
9298
9299	// The recurrence of the reports.
9300	Recurrence *BusinessReportRecurrence `type:"structure"`
9301
9302	// The S3 bucket name of the output reports.
9303	S3BucketName *string `type:"string"`
9304
9305	// The S3 key where the report is delivered.
9306	S3KeyPrefix *string `type:"string"`
9307
9308	// The ARN of the business report schedule.
9309	ScheduleArn *string `type:"string"`
9310
9311	// The name identifier of the schedule.
9312	ScheduleName *string `type:"string"`
9313}
9314
9315// String returns the string representation
9316func (s BusinessReportSchedule) String() string {
9317	return awsutil.Prettify(s)
9318}
9319
9320// GoString returns the string representation
9321func (s BusinessReportSchedule) GoString() string {
9322	return s.String()
9323}
9324
9325// SetContentRange sets the ContentRange field's value.
9326func (s *BusinessReportSchedule) SetContentRange(v *BusinessReportContentRange) *BusinessReportSchedule {
9327	s.ContentRange = v
9328	return s
9329}
9330
9331// SetFormat sets the Format field's value.
9332func (s *BusinessReportSchedule) SetFormat(v string) *BusinessReportSchedule {
9333	s.Format = &v
9334	return s
9335}
9336
9337// SetLastBusinessReport sets the LastBusinessReport field's value.
9338func (s *BusinessReportSchedule) SetLastBusinessReport(v *BusinessReport) *BusinessReportSchedule {
9339	s.LastBusinessReport = v
9340	return s
9341}
9342
9343// SetRecurrence sets the Recurrence field's value.
9344func (s *BusinessReportSchedule) SetRecurrence(v *BusinessReportRecurrence) *BusinessReportSchedule {
9345	s.Recurrence = v
9346	return s
9347}
9348
9349// SetS3BucketName sets the S3BucketName field's value.
9350func (s *BusinessReportSchedule) SetS3BucketName(v string) *BusinessReportSchedule {
9351	s.S3BucketName = &v
9352	return s
9353}
9354
9355// SetS3KeyPrefix sets the S3KeyPrefix field's value.
9356func (s *BusinessReportSchedule) SetS3KeyPrefix(v string) *BusinessReportSchedule {
9357	s.S3KeyPrefix = &v
9358	return s
9359}
9360
9361// SetScheduleArn sets the ScheduleArn field's value.
9362func (s *BusinessReportSchedule) SetScheduleArn(v string) *BusinessReportSchedule {
9363	s.ScheduleArn = &v
9364	return s
9365}
9366
9367// SetScheduleName sets the ScheduleName field's value.
9368func (s *BusinessReportSchedule) SetScheduleName(v string) *BusinessReportSchedule {
9369	s.ScheduleName = &v
9370	return s
9371}
9372
9373// The skill store category that is shown. Alexa skills are assigned a specific
9374// skill category during creation, such as News, Social, and Sports.
9375type Category struct {
9376	_ struct{} `type:"structure"`
9377
9378	// The ID of the skill store category.
9379	CategoryId *int64 `min:"1" type:"long"`
9380
9381	// The name of the skill store category.
9382	CategoryName *string `type:"string"`
9383}
9384
9385// String returns the string representation
9386func (s Category) String() string {
9387	return awsutil.Prettify(s)
9388}
9389
9390// GoString returns the string representation
9391func (s Category) GoString() string {
9392	return s.String()
9393}
9394
9395// SetCategoryId sets the CategoryId field's value.
9396func (s *Category) SetCategoryId(v int64) *Category {
9397	s.CategoryId = &v
9398	return s
9399}
9400
9401// SetCategoryName sets the CategoryName field's value.
9402func (s *Category) SetCategoryName(v string) *Category {
9403	s.CategoryName = &v
9404	return s
9405}
9406
9407// The default conference provider that is used if no other scheduled meetings
9408// are detected.
9409type ConferencePreference struct {
9410	_ struct{} `type:"structure"`
9411
9412	// The ARN of the default conference provider.
9413	DefaultConferenceProviderArn *string `type:"string"`
9414}
9415
9416// String returns the string representation
9417func (s ConferencePreference) String() string {
9418	return awsutil.Prettify(s)
9419}
9420
9421// GoString returns the string representation
9422func (s ConferencePreference) GoString() string {
9423	return s.String()
9424}
9425
9426// SetDefaultConferenceProviderArn sets the DefaultConferenceProviderArn field's value.
9427func (s *ConferencePreference) SetDefaultConferenceProviderArn(v string) *ConferencePreference {
9428	s.DefaultConferenceProviderArn = &v
9429	return s
9430}
9431
9432// An entity that provides a conferencing solution. Alexa for Business acts
9433// as the voice interface and mediator that connects users to their preferred
9434// conference provider. Examples of conference providers include Amazon Chime,
9435// Zoom, Cisco, and Polycom.
9436type ConferenceProvider struct {
9437	_ struct{} `type:"structure"`
9438
9439	// The ARN of the newly created conference provider.
9440	Arn *string `type:"string"`
9441
9442	// The IP endpoint and protocol for calling.
9443	IPDialIn *IPDialIn `type:"structure"`
9444
9445	// The meeting settings for the conference provider.
9446	MeetingSetting *MeetingSetting `type:"structure"`
9447
9448	// The name of the conference provider.
9449	Name *string `min:"1" type:"string"`
9450
9451	// The information for PSTN conferencing.
9452	PSTNDialIn *PSTNDialIn `type:"structure"`
9453
9454	// The type of conference providers.
9455	Type *string `type:"string" enum:"ConferenceProviderType"`
9456}
9457
9458// String returns the string representation
9459func (s ConferenceProvider) String() string {
9460	return awsutil.Prettify(s)
9461}
9462
9463// GoString returns the string representation
9464func (s ConferenceProvider) GoString() string {
9465	return s.String()
9466}
9467
9468// SetArn sets the Arn field's value.
9469func (s *ConferenceProvider) SetArn(v string) *ConferenceProvider {
9470	s.Arn = &v
9471	return s
9472}
9473
9474// SetIPDialIn sets the IPDialIn field's value.
9475func (s *ConferenceProvider) SetIPDialIn(v *IPDialIn) *ConferenceProvider {
9476	s.IPDialIn = v
9477	return s
9478}
9479
9480// SetMeetingSetting sets the MeetingSetting field's value.
9481func (s *ConferenceProvider) SetMeetingSetting(v *MeetingSetting) *ConferenceProvider {
9482	s.MeetingSetting = v
9483	return s
9484}
9485
9486// SetName sets the Name field's value.
9487func (s *ConferenceProvider) SetName(v string) *ConferenceProvider {
9488	s.Name = &v
9489	return s
9490}
9491
9492// SetPSTNDialIn sets the PSTNDialIn field's value.
9493func (s *ConferenceProvider) SetPSTNDialIn(v *PSTNDialIn) *ConferenceProvider {
9494	s.PSTNDialIn = v
9495	return s
9496}
9497
9498// SetType sets the Type field's value.
9499func (s *ConferenceProvider) SetType(v string) *ConferenceProvider {
9500	s.Type = &v
9501	return s
9502}
9503
9504// A contact with attributes.
9505type Contact struct {
9506	_ struct{} `type:"structure"`
9507
9508	// The ARN of the contact.
9509	ContactArn *string `type:"string"`
9510
9511	// The name of the contact to display on the console.
9512	DisplayName *string `min:"1" type:"string"`
9513
9514	// The first name of the contact, used to call the contact on the device.
9515	FirstName *string `min:"1" type:"string"`
9516
9517	// The last name of the contact, used to call the contact on the device.
9518	LastName *string `min:"1" type:"string"`
9519
9520	// The phone number of the contact. The phone number type defaults to WORK.
9521	// You can either specify PhoneNumber or PhoneNumbers. We recommend that you
9522	// use PhoneNumbers, which lets you specify the phone number type and multiple
9523	// numbers.
9524	PhoneNumber *string `type:"string" sensitive:"true"`
9525
9526	// The list of phone numbers for the contact.
9527	PhoneNumbers []*PhoneNumber `type:"list"`
9528
9529	// The list of SIP addresses for the contact.
9530	SipAddresses []*SipAddress `type:"list"`
9531}
9532
9533// String returns the string representation
9534func (s Contact) String() string {
9535	return awsutil.Prettify(s)
9536}
9537
9538// GoString returns the string representation
9539func (s Contact) GoString() string {
9540	return s.String()
9541}
9542
9543// SetContactArn sets the ContactArn field's value.
9544func (s *Contact) SetContactArn(v string) *Contact {
9545	s.ContactArn = &v
9546	return s
9547}
9548
9549// SetDisplayName sets the DisplayName field's value.
9550func (s *Contact) SetDisplayName(v string) *Contact {
9551	s.DisplayName = &v
9552	return s
9553}
9554
9555// SetFirstName sets the FirstName field's value.
9556func (s *Contact) SetFirstName(v string) *Contact {
9557	s.FirstName = &v
9558	return s
9559}
9560
9561// SetLastName sets the LastName field's value.
9562func (s *Contact) SetLastName(v string) *Contact {
9563	s.LastName = &v
9564	return s
9565}
9566
9567// SetPhoneNumber sets the PhoneNumber field's value.
9568func (s *Contact) SetPhoneNumber(v string) *Contact {
9569	s.PhoneNumber = &v
9570	return s
9571}
9572
9573// SetPhoneNumbers sets the PhoneNumbers field's value.
9574func (s *Contact) SetPhoneNumbers(v []*PhoneNumber) *Contact {
9575	s.PhoneNumbers = v
9576	return s
9577}
9578
9579// SetSipAddresses sets the SipAddresses field's value.
9580func (s *Contact) SetSipAddresses(v []*SipAddress) *Contact {
9581	s.SipAddresses = v
9582	return s
9583}
9584
9585// Information related to a contact.
9586type ContactData struct {
9587	_ struct{} `type:"structure"`
9588
9589	// The ARN of the contact.
9590	ContactArn *string `type:"string"`
9591
9592	// The name of the contact to display on the console.
9593	DisplayName *string `min:"1" type:"string"`
9594
9595	// The first name of the contact, used to call the contact on the device.
9596	FirstName *string `min:"1" type:"string"`
9597
9598	// The last name of the contact, used to call the contact on the device.
9599	LastName *string `min:"1" type:"string"`
9600
9601	// The phone number of the contact. The phone number type defaults to WORK.
9602	// You can specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers,
9603	// which lets you specify the phone number type and multiple numbers.
9604	PhoneNumber *string `type:"string" sensitive:"true"`
9605
9606	// The list of phone numbers for the contact.
9607	PhoneNumbers []*PhoneNumber `type:"list"`
9608
9609	// The list of SIP addresses for the contact.
9610	SipAddresses []*SipAddress `type:"list"`
9611}
9612
9613// String returns the string representation
9614func (s ContactData) String() string {
9615	return awsutil.Prettify(s)
9616}
9617
9618// GoString returns the string representation
9619func (s ContactData) GoString() string {
9620	return s.String()
9621}
9622
9623// SetContactArn sets the ContactArn field's value.
9624func (s *ContactData) SetContactArn(v string) *ContactData {
9625	s.ContactArn = &v
9626	return s
9627}
9628
9629// SetDisplayName sets the DisplayName field's value.
9630func (s *ContactData) SetDisplayName(v string) *ContactData {
9631	s.DisplayName = &v
9632	return s
9633}
9634
9635// SetFirstName sets the FirstName field's value.
9636func (s *ContactData) SetFirstName(v string) *ContactData {
9637	s.FirstName = &v
9638	return s
9639}
9640
9641// SetLastName sets the LastName field's value.
9642func (s *ContactData) SetLastName(v string) *ContactData {
9643	s.LastName = &v
9644	return s
9645}
9646
9647// SetPhoneNumber sets the PhoneNumber field's value.
9648func (s *ContactData) SetPhoneNumber(v string) *ContactData {
9649	s.PhoneNumber = &v
9650	return s
9651}
9652
9653// SetPhoneNumbers sets the PhoneNumbers field's value.
9654func (s *ContactData) SetPhoneNumbers(v []*PhoneNumber) *ContactData {
9655	s.PhoneNumbers = v
9656	return s
9657}
9658
9659// SetSipAddresses sets the SipAddresses field's value.
9660func (s *ContactData) SetSipAddresses(v []*SipAddress) *ContactData {
9661	s.SipAddresses = v
9662	return s
9663}
9664
9665// The content definition. This can contain only one text, SSML, or audio list
9666// object.
9667type Content struct {
9668	_ struct{} `type:"structure"`
9669
9670	// The list of audio messages.
9671	AudioList []*Audio `type:"list"`
9672
9673	// The list of SSML messages.
9674	SsmlList []*Ssml `type:"list"`
9675
9676	// The list of text messages.
9677	TextList []*Text `type:"list"`
9678}
9679
9680// String returns the string representation
9681func (s Content) String() string {
9682	return awsutil.Prettify(s)
9683}
9684
9685// GoString returns the string representation
9686func (s Content) GoString() string {
9687	return s.String()
9688}
9689
9690// Validate inspects the fields of the type to determine if they are valid.
9691func (s *Content) Validate() error {
9692	invalidParams := request.ErrInvalidParams{Context: "Content"}
9693	if s.AudioList != nil {
9694		for i, v := range s.AudioList {
9695			if v == nil {
9696				continue
9697			}
9698			if err := v.Validate(); err != nil {
9699				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioList", i), err.(request.ErrInvalidParams))
9700			}
9701		}
9702	}
9703	if s.SsmlList != nil {
9704		for i, v := range s.SsmlList {
9705			if v == nil {
9706				continue
9707			}
9708			if err := v.Validate(); err != nil {
9709				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SsmlList", i), err.(request.ErrInvalidParams))
9710			}
9711		}
9712	}
9713	if s.TextList != nil {
9714		for i, v := range s.TextList {
9715			if v == nil {
9716				continue
9717			}
9718			if err := v.Validate(); err != nil {
9719				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TextList", i), err.(request.ErrInvalidParams))
9720			}
9721		}
9722	}
9723
9724	if invalidParams.Len() > 0 {
9725		return invalidParams
9726	}
9727	return nil
9728}
9729
9730// SetAudioList sets the AudioList field's value.
9731func (s *Content) SetAudioList(v []*Audio) *Content {
9732	s.AudioList = v
9733	return s
9734}
9735
9736// SetSsmlList sets the SsmlList field's value.
9737func (s *Content) SetSsmlList(v []*Ssml) *Content {
9738	s.SsmlList = v
9739	return s
9740}
9741
9742// SetTextList sets the TextList field's value.
9743func (s *Content) SetTextList(v []*Text) *Content {
9744	s.TextList = v
9745	return s
9746}
9747
9748type CreateAddressBookInput struct {
9749	_ struct{} `type:"structure"`
9750
9751	// A unique, user-specified identifier for the request that ensures idempotency.
9752	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
9753
9754	// The description of the address book.
9755	Description *string `min:"1" type:"string"`
9756
9757	// The name of the address book.
9758	//
9759	// Name is a required field
9760	Name *string `min:"1" type:"string" required:"true"`
9761}
9762
9763// String returns the string representation
9764func (s CreateAddressBookInput) String() string {
9765	return awsutil.Prettify(s)
9766}
9767
9768// GoString returns the string representation
9769func (s CreateAddressBookInput) GoString() string {
9770	return s.String()
9771}
9772
9773// Validate inspects the fields of the type to determine if they are valid.
9774func (s *CreateAddressBookInput) Validate() error {
9775	invalidParams := request.ErrInvalidParams{Context: "CreateAddressBookInput"}
9776	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
9777		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
9778	}
9779	if s.Description != nil && len(*s.Description) < 1 {
9780		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
9781	}
9782	if s.Name == nil {
9783		invalidParams.Add(request.NewErrParamRequired("Name"))
9784	}
9785	if s.Name != nil && len(*s.Name) < 1 {
9786		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9787	}
9788
9789	if invalidParams.Len() > 0 {
9790		return invalidParams
9791	}
9792	return nil
9793}
9794
9795// SetClientRequestToken sets the ClientRequestToken field's value.
9796func (s *CreateAddressBookInput) SetClientRequestToken(v string) *CreateAddressBookInput {
9797	s.ClientRequestToken = &v
9798	return s
9799}
9800
9801// SetDescription sets the Description field's value.
9802func (s *CreateAddressBookInput) SetDescription(v string) *CreateAddressBookInput {
9803	s.Description = &v
9804	return s
9805}
9806
9807// SetName sets the Name field's value.
9808func (s *CreateAddressBookInput) SetName(v string) *CreateAddressBookInput {
9809	s.Name = &v
9810	return s
9811}
9812
9813type CreateAddressBookOutput struct {
9814	_ struct{} `type:"structure"`
9815
9816	// The ARN of the newly created address book.
9817	AddressBookArn *string `type:"string"`
9818}
9819
9820// String returns the string representation
9821func (s CreateAddressBookOutput) String() string {
9822	return awsutil.Prettify(s)
9823}
9824
9825// GoString returns the string representation
9826func (s CreateAddressBookOutput) GoString() string {
9827	return s.String()
9828}
9829
9830// SetAddressBookArn sets the AddressBookArn field's value.
9831func (s *CreateAddressBookOutput) SetAddressBookArn(v string) *CreateAddressBookOutput {
9832	s.AddressBookArn = &v
9833	return s
9834}
9835
9836type CreateBusinessReportScheduleInput struct {
9837	_ struct{} `type:"structure"`
9838
9839	// The client request token.
9840	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
9841
9842	// The content range of the reports.
9843	//
9844	// ContentRange is a required field
9845	ContentRange *BusinessReportContentRange `type:"structure" required:"true"`
9846
9847	// The format of the generated report (individual CSV files or zipped files
9848	// of individual files).
9849	//
9850	// Format is a required field
9851	Format *string `type:"string" required:"true" enum:"BusinessReportFormat"`
9852
9853	// The recurrence of the reports. If this isn't specified, the report will only
9854	// be delivered one time when the API is called.
9855	Recurrence *BusinessReportRecurrence `type:"structure"`
9856
9857	// The S3 bucket name of the output reports. If this isn't specified, the report
9858	// can be retrieved from a download link by calling ListBusinessReportSchedule.
9859	S3BucketName *string `type:"string"`
9860
9861	// The S3 key where the report is delivered.
9862	S3KeyPrefix *string `type:"string"`
9863
9864	// The name identifier of the schedule.
9865	ScheduleName *string `type:"string"`
9866}
9867
9868// String returns the string representation
9869func (s CreateBusinessReportScheduleInput) String() string {
9870	return awsutil.Prettify(s)
9871}
9872
9873// GoString returns the string representation
9874func (s CreateBusinessReportScheduleInput) GoString() string {
9875	return s.String()
9876}
9877
9878// Validate inspects the fields of the type to determine if they are valid.
9879func (s *CreateBusinessReportScheduleInput) Validate() error {
9880	invalidParams := request.ErrInvalidParams{Context: "CreateBusinessReportScheduleInput"}
9881	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
9882		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
9883	}
9884	if s.ContentRange == nil {
9885		invalidParams.Add(request.NewErrParamRequired("ContentRange"))
9886	}
9887	if s.Format == nil {
9888		invalidParams.Add(request.NewErrParamRequired("Format"))
9889	}
9890
9891	if invalidParams.Len() > 0 {
9892		return invalidParams
9893	}
9894	return nil
9895}
9896
9897// SetClientRequestToken sets the ClientRequestToken field's value.
9898func (s *CreateBusinessReportScheduleInput) SetClientRequestToken(v string) *CreateBusinessReportScheduleInput {
9899	s.ClientRequestToken = &v
9900	return s
9901}
9902
9903// SetContentRange sets the ContentRange field's value.
9904func (s *CreateBusinessReportScheduleInput) SetContentRange(v *BusinessReportContentRange) *CreateBusinessReportScheduleInput {
9905	s.ContentRange = v
9906	return s
9907}
9908
9909// SetFormat sets the Format field's value.
9910func (s *CreateBusinessReportScheduleInput) SetFormat(v string) *CreateBusinessReportScheduleInput {
9911	s.Format = &v
9912	return s
9913}
9914
9915// SetRecurrence sets the Recurrence field's value.
9916func (s *CreateBusinessReportScheduleInput) SetRecurrence(v *BusinessReportRecurrence) *CreateBusinessReportScheduleInput {
9917	s.Recurrence = v
9918	return s
9919}
9920
9921// SetS3BucketName sets the S3BucketName field's value.
9922func (s *CreateBusinessReportScheduleInput) SetS3BucketName(v string) *CreateBusinessReportScheduleInput {
9923	s.S3BucketName = &v
9924	return s
9925}
9926
9927// SetS3KeyPrefix sets the S3KeyPrefix field's value.
9928func (s *CreateBusinessReportScheduleInput) SetS3KeyPrefix(v string) *CreateBusinessReportScheduleInput {
9929	s.S3KeyPrefix = &v
9930	return s
9931}
9932
9933// SetScheduleName sets the ScheduleName field's value.
9934func (s *CreateBusinessReportScheduleInput) SetScheduleName(v string) *CreateBusinessReportScheduleInput {
9935	s.ScheduleName = &v
9936	return s
9937}
9938
9939type CreateBusinessReportScheduleOutput struct {
9940	_ struct{} `type:"structure"`
9941
9942	// The ARN of the business report schedule.
9943	ScheduleArn *string `type:"string"`
9944}
9945
9946// String returns the string representation
9947func (s CreateBusinessReportScheduleOutput) String() string {
9948	return awsutil.Prettify(s)
9949}
9950
9951// GoString returns the string representation
9952func (s CreateBusinessReportScheduleOutput) GoString() string {
9953	return s.String()
9954}
9955
9956// SetScheduleArn sets the ScheduleArn field's value.
9957func (s *CreateBusinessReportScheduleOutput) SetScheduleArn(v string) *CreateBusinessReportScheduleOutput {
9958	s.ScheduleArn = &v
9959	return s
9960}
9961
9962type CreateConferenceProviderInput struct {
9963	_ struct{} `type:"structure"`
9964
9965	// The request token of the client.
9966	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
9967
9968	// The name of the conference provider.
9969	//
9970	// ConferenceProviderName is a required field
9971	ConferenceProviderName *string `min:"1" type:"string" required:"true"`
9972
9973	// Represents a type within a list of predefined types.
9974	//
9975	// ConferenceProviderType is a required field
9976	ConferenceProviderType *string `type:"string" required:"true" enum:"ConferenceProviderType"`
9977
9978	// The IP endpoint and protocol for calling.
9979	IPDialIn *IPDialIn `type:"structure"`
9980
9981	// The meeting settings for the conference provider.
9982	//
9983	// MeetingSetting is a required field
9984	MeetingSetting *MeetingSetting `type:"structure" required:"true"`
9985
9986	// The information for PSTN conferencing.
9987	PSTNDialIn *PSTNDialIn `type:"structure"`
9988}
9989
9990// String returns the string representation
9991func (s CreateConferenceProviderInput) String() string {
9992	return awsutil.Prettify(s)
9993}
9994
9995// GoString returns the string representation
9996func (s CreateConferenceProviderInput) GoString() string {
9997	return s.String()
9998}
9999
10000// Validate inspects the fields of the type to determine if they are valid.
10001func (s *CreateConferenceProviderInput) Validate() error {
10002	invalidParams := request.ErrInvalidParams{Context: "CreateConferenceProviderInput"}
10003	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
10004		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
10005	}
10006	if s.ConferenceProviderName == nil {
10007		invalidParams.Add(request.NewErrParamRequired("ConferenceProviderName"))
10008	}
10009	if s.ConferenceProviderName != nil && len(*s.ConferenceProviderName) < 1 {
10010		invalidParams.Add(request.NewErrParamMinLen("ConferenceProviderName", 1))
10011	}
10012	if s.ConferenceProviderType == nil {
10013		invalidParams.Add(request.NewErrParamRequired("ConferenceProviderType"))
10014	}
10015	if s.MeetingSetting == nil {
10016		invalidParams.Add(request.NewErrParamRequired("MeetingSetting"))
10017	}
10018	if s.IPDialIn != nil {
10019		if err := s.IPDialIn.Validate(); err != nil {
10020			invalidParams.AddNested("IPDialIn", err.(request.ErrInvalidParams))
10021		}
10022	}
10023	if s.MeetingSetting != nil {
10024		if err := s.MeetingSetting.Validate(); err != nil {
10025			invalidParams.AddNested("MeetingSetting", err.(request.ErrInvalidParams))
10026		}
10027	}
10028	if s.PSTNDialIn != nil {
10029		if err := s.PSTNDialIn.Validate(); err != nil {
10030			invalidParams.AddNested("PSTNDialIn", err.(request.ErrInvalidParams))
10031		}
10032	}
10033
10034	if invalidParams.Len() > 0 {
10035		return invalidParams
10036	}
10037	return nil
10038}
10039
10040// SetClientRequestToken sets the ClientRequestToken field's value.
10041func (s *CreateConferenceProviderInput) SetClientRequestToken(v string) *CreateConferenceProviderInput {
10042	s.ClientRequestToken = &v
10043	return s
10044}
10045
10046// SetConferenceProviderName sets the ConferenceProviderName field's value.
10047func (s *CreateConferenceProviderInput) SetConferenceProviderName(v string) *CreateConferenceProviderInput {
10048	s.ConferenceProviderName = &v
10049	return s
10050}
10051
10052// SetConferenceProviderType sets the ConferenceProviderType field's value.
10053func (s *CreateConferenceProviderInput) SetConferenceProviderType(v string) *CreateConferenceProviderInput {
10054	s.ConferenceProviderType = &v
10055	return s
10056}
10057
10058// SetIPDialIn sets the IPDialIn field's value.
10059func (s *CreateConferenceProviderInput) SetIPDialIn(v *IPDialIn) *CreateConferenceProviderInput {
10060	s.IPDialIn = v
10061	return s
10062}
10063
10064// SetMeetingSetting sets the MeetingSetting field's value.
10065func (s *CreateConferenceProviderInput) SetMeetingSetting(v *MeetingSetting) *CreateConferenceProviderInput {
10066	s.MeetingSetting = v
10067	return s
10068}
10069
10070// SetPSTNDialIn sets the PSTNDialIn field's value.
10071func (s *CreateConferenceProviderInput) SetPSTNDialIn(v *PSTNDialIn) *CreateConferenceProviderInput {
10072	s.PSTNDialIn = v
10073	return s
10074}
10075
10076type CreateConferenceProviderOutput struct {
10077	_ struct{} `type:"structure"`
10078
10079	// The ARN of the newly-created conference provider.
10080	ConferenceProviderArn *string `type:"string"`
10081}
10082
10083// String returns the string representation
10084func (s CreateConferenceProviderOutput) String() string {
10085	return awsutil.Prettify(s)
10086}
10087
10088// GoString returns the string representation
10089func (s CreateConferenceProviderOutput) GoString() string {
10090	return s.String()
10091}
10092
10093// SetConferenceProviderArn sets the ConferenceProviderArn field's value.
10094func (s *CreateConferenceProviderOutput) SetConferenceProviderArn(v string) *CreateConferenceProviderOutput {
10095	s.ConferenceProviderArn = &v
10096	return s
10097}
10098
10099type CreateContactInput struct {
10100	_ struct{} `type:"structure"`
10101
10102	// A unique, user-specified identifier for this request that ensures idempotency.
10103	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
10104
10105	// The name of the contact to display on the console.
10106	DisplayName *string `min:"1" type:"string"`
10107
10108	// The first name of the contact that is used to call the contact on the device.
10109	//
10110	// FirstName is a required field
10111	FirstName *string `min:"1" type:"string" required:"true"`
10112
10113	// The last name of the contact that is used to call the contact on the device.
10114	LastName *string `min:"1" type:"string"`
10115
10116	// The phone number of the contact in E.164 format. The phone number type defaults
10117	// to WORK. You can specify PhoneNumber or PhoneNumbers. We recommend that you
10118	// use PhoneNumbers, which lets you specify the phone number type and multiple
10119	// numbers.
10120	PhoneNumber *string `type:"string" sensitive:"true"`
10121
10122	// The list of phone numbers for the contact.
10123	PhoneNumbers []*PhoneNumber `type:"list"`
10124
10125	// The list of SIP addresses for the contact.
10126	SipAddresses []*SipAddress `type:"list"`
10127}
10128
10129// String returns the string representation
10130func (s CreateContactInput) String() string {
10131	return awsutil.Prettify(s)
10132}
10133
10134// GoString returns the string representation
10135func (s CreateContactInput) GoString() string {
10136	return s.String()
10137}
10138
10139// Validate inspects the fields of the type to determine if they are valid.
10140func (s *CreateContactInput) Validate() error {
10141	invalidParams := request.ErrInvalidParams{Context: "CreateContactInput"}
10142	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
10143		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
10144	}
10145	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
10146		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
10147	}
10148	if s.FirstName == nil {
10149		invalidParams.Add(request.NewErrParamRequired("FirstName"))
10150	}
10151	if s.FirstName != nil && len(*s.FirstName) < 1 {
10152		invalidParams.Add(request.NewErrParamMinLen("FirstName", 1))
10153	}
10154	if s.LastName != nil && len(*s.LastName) < 1 {
10155		invalidParams.Add(request.NewErrParamMinLen("LastName", 1))
10156	}
10157	if s.PhoneNumbers != nil {
10158		for i, v := range s.PhoneNumbers {
10159			if v == nil {
10160				continue
10161			}
10162			if err := v.Validate(); err != nil {
10163				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PhoneNumbers", i), err.(request.ErrInvalidParams))
10164			}
10165		}
10166	}
10167	if s.SipAddresses != nil {
10168		for i, v := range s.SipAddresses {
10169			if v == nil {
10170				continue
10171			}
10172			if err := v.Validate(); err != nil {
10173				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SipAddresses", i), err.(request.ErrInvalidParams))
10174			}
10175		}
10176	}
10177
10178	if invalidParams.Len() > 0 {
10179		return invalidParams
10180	}
10181	return nil
10182}
10183
10184// SetClientRequestToken sets the ClientRequestToken field's value.
10185func (s *CreateContactInput) SetClientRequestToken(v string) *CreateContactInput {
10186	s.ClientRequestToken = &v
10187	return s
10188}
10189
10190// SetDisplayName sets the DisplayName field's value.
10191func (s *CreateContactInput) SetDisplayName(v string) *CreateContactInput {
10192	s.DisplayName = &v
10193	return s
10194}
10195
10196// SetFirstName sets the FirstName field's value.
10197func (s *CreateContactInput) SetFirstName(v string) *CreateContactInput {
10198	s.FirstName = &v
10199	return s
10200}
10201
10202// SetLastName sets the LastName field's value.
10203func (s *CreateContactInput) SetLastName(v string) *CreateContactInput {
10204	s.LastName = &v
10205	return s
10206}
10207
10208// SetPhoneNumber sets the PhoneNumber field's value.
10209func (s *CreateContactInput) SetPhoneNumber(v string) *CreateContactInput {
10210	s.PhoneNumber = &v
10211	return s
10212}
10213
10214// SetPhoneNumbers sets the PhoneNumbers field's value.
10215func (s *CreateContactInput) SetPhoneNumbers(v []*PhoneNumber) *CreateContactInput {
10216	s.PhoneNumbers = v
10217	return s
10218}
10219
10220// SetSipAddresses sets the SipAddresses field's value.
10221func (s *CreateContactInput) SetSipAddresses(v []*SipAddress) *CreateContactInput {
10222	s.SipAddresses = v
10223	return s
10224}
10225
10226type CreateContactOutput struct {
10227	_ struct{} `type:"structure"`
10228
10229	// The ARN of the newly created address book.
10230	ContactArn *string `type:"string"`
10231}
10232
10233// String returns the string representation
10234func (s CreateContactOutput) String() string {
10235	return awsutil.Prettify(s)
10236}
10237
10238// GoString returns the string representation
10239func (s CreateContactOutput) GoString() string {
10240	return s.String()
10241}
10242
10243// SetContactArn sets the ContactArn field's value.
10244func (s *CreateContactOutput) SetContactArn(v string) *CreateContactOutput {
10245	s.ContactArn = &v
10246	return s
10247}
10248
10249type CreateGatewayGroupInput struct {
10250	_ struct{} `type:"structure"`
10251
10252	// A unique, user-specified identifier for the request that ensures idempotency.
10253	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
10254
10255	// The description of the gateway group.
10256	Description *string `type:"string"`
10257
10258	// The name of the gateway group.
10259	//
10260	// Name is a required field
10261	Name *string `min:"1" type:"string" required:"true"`
10262}
10263
10264// String returns the string representation
10265func (s CreateGatewayGroupInput) String() string {
10266	return awsutil.Prettify(s)
10267}
10268
10269// GoString returns the string representation
10270func (s CreateGatewayGroupInput) GoString() string {
10271	return s.String()
10272}
10273
10274// Validate inspects the fields of the type to determine if they are valid.
10275func (s *CreateGatewayGroupInput) Validate() error {
10276	invalidParams := request.ErrInvalidParams{Context: "CreateGatewayGroupInput"}
10277	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
10278		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
10279	}
10280	if s.Name == nil {
10281		invalidParams.Add(request.NewErrParamRequired("Name"))
10282	}
10283	if s.Name != nil && len(*s.Name) < 1 {
10284		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10285	}
10286
10287	if invalidParams.Len() > 0 {
10288		return invalidParams
10289	}
10290	return nil
10291}
10292
10293// SetClientRequestToken sets the ClientRequestToken field's value.
10294func (s *CreateGatewayGroupInput) SetClientRequestToken(v string) *CreateGatewayGroupInput {
10295	s.ClientRequestToken = &v
10296	return s
10297}
10298
10299// SetDescription sets the Description field's value.
10300func (s *CreateGatewayGroupInput) SetDescription(v string) *CreateGatewayGroupInput {
10301	s.Description = &v
10302	return s
10303}
10304
10305// SetName sets the Name field's value.
10306func (s *CreateGatewayGroupInput) SetName(v string) *CreateGatewayGroupInput {
10307	s.Name = &v
10308	return s
10309}
10310
10311type CreateGatewayGroupOutput struct {
10312	_ struct{} `type:"structure"`
10313
10314	// The ARN of the created gateway group.
10315	GatewayGroupArn *string `type:"string"`
10316}
10317
10318// String returns the string representation
10319func (s CreateGatewayGroupOutput) String() string {
10320	return awsutil.Prettify(s)
10321}
10322
10323// GoString returns the string representation
10324func (s CreateGatewayGroupOutput) GoString() string {
10325	return s.String()
10326}
10327
10328// SetGatewayGroupArn sets the GatewayGroupArn field's value.
10329func (s *CreateGatewayGroupOutput) SetGatewayGroupArn(v string) *CreateGatewayGroupOutput {
10330	s.GatewayGroupArn = &v
10331	return s
10332}
10333
10334type CreateNetworkProfileInput struct {
10335	_ struct{} `type:"structure"`
10336
10337	// The ARN of the Private Certificate Authority (PCA) created in AWS Certificate
10338	// Manager (ACM). This is used to issue certificates to the devices.
10339	CertificateAuthorityArn *string `type:"string"`
10340
10341	// A unique, user-specified identifier for the request that ensures idempotency.
10342	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
10343
10344	// The current password of the Wi-Fi network.
10345	CurrentPassword *string `min:"5" type:"string" sensitive:"true"`
10346
10347	// Detailed information about a device's network profile.
10348	Description *string `type:"string"`
10349
10350	// The authentication standard that is used in the EAP framework. Currently,
10351	// EAP_TLS is supported.
10352	EapMethod *string `type:"string" enum:"NetworkEapMethod"`
10353
10354	// The name of the network profile associated with a device.
10355	//
10356	// NetworkProfileName is a required field
10357	NetworkProfileName *string `min:"1" type:"string" required:"true"`
10358
10359	// The next, or subsequent, password of the Wi-Fi network. This password is
10360	// asynchronously transmitted to the device and is used when the password of
10361	// the network changes to NextPassword.
10362	NextPassword *string `type:"string" sensitive:"true"`
10363
10364	// The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK,
10365	// WPA_PSK, WEP, or OPEN.
10366	//
10367	// SecurityType is a required field
10368	SecurityType *string `type:"string" required:"true" enum:"NetworkSecurityType"`
10369
10370	// The SSID of the Wi-Fi network.
10371	//
10372	// Ssid is a required field
10373	Ssid *string `min:"1" type:"string" required:"true"`
10374
10375	// The root certificates of your authentication server that is installed on
10376	// your devices and used to trust your authentication server during EAP negotiation.
10377	TrustAnchors []*string `min:"1" type:"list"`
10378}
10379
10380// String returns the string representation
10381func (s CreateNetworkProfileInput) String() string {
10382	return awsutil.Prettify(s)
10383}
10384
10385// GoString returns the string representation
10386func (s CreateNetworkProfileInput) GoString() string {
10387	return s.String()
10388}
10389
10390// Validate inspects the fields of the type to determine if they are valid.
10391func (s *CreateNetworkProfileInput) Validate() error {
10392	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkProfileInput"}
10393	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
10394		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
10395	}
10396	if s.CurrentPassword != nil && len(*s.CurrentPassword) < 5 {
10397		invalidParams.Add(request.NewErrParamMinLen("CurrentPassword", 5))
10398	}
10399	if s.NetworkProfileName == nil {
10400		invalidParams.Add(request.NewErrParamRequired("NetworkProfileName"))
10401	}
10402	if s.NetworkProfileName != nil && len(*s.NetworkProfileName) < 1 {
10403		invalidParams.Add(request.NewErrParamMinLen("NetworkProfileName", 1))
10404	}
10405	if s.SecurityType == nil {
10406		invalidParams.Add(request.NewErrParamRequired("SecurityType"))
10407	}
10408	if s.Ssid == nil {
10409		invalidParams.Add(request.NewErrParamRequired("Ssid"))
10410	}
10411	if s.Ssid != nil && len(*s.Ssid) < 1 {
10412		invalidParams.Add(request.NewErrParamMinLen("Ssid", 1))
10413	}
10414	if s.TrustAnchors != nil && len(s.TrustAnchors) < 1 {
10415		invalidParams.Add(request.NewErrParamMinLen("TrustAnchors", 1))
10416	}
10417
10418	if invalidParams.Len() > 0 {
10419		return invalidParams
10420	}
10421	return nil
10422}
10423
10424// SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value.
10425func (s *CreateNetworkProfileInput) SetCertificateAuthorityArn(v string) *CreateNetworkProfileInput {
10426	s.CertificateAuthorityArn = &v
10427	return s
10428}
10429
10430// SetClientRequestToken sets the ClientRequestToken field's value.
10431func (s *CreateNetworkProfileInput) SetClientRequestToken(v string) *CreateNetworkProfileInput {
10432	s.ClientRequestToken = &v
10433	return s
10434}
10435
10436// SetCurrentPassword sets the CurrentPassword field's value.
10437func (s *CreateNetworkProfileInput) SetCurrentPassword(v string) *CreateNetworkProfileInput {
10438	s.CurrentPassword = &v
10439	return s
10440}
10441
10442// SetDescription sets the Description field's value.
10443func (s *CreateNetworkProfileInput) SetDescription(v string) *CreateNetworkProfileInput {
10444	s.Description = &v
10445	return s
10446}
10447
10448// SetEapMethod sets the EapMethod field's value.
10449func (s *CreateNetworkProfileInput) SetEapMethod(v string) *CreateNetworkProfileInput {
10450	s.EapMethod = &v
10451	return s
10452}
10453
10454// SetNetworkProfileName sets the NetworkProfileName field's value.
10455func (s *CreateNetworkProfileInput) SetNetworkProfileName(v string) *CreateNetworkProfileInput {
10456	s.NetworkProfileName = &v
10457	return s
10458}
10459
10460// SetNextPassword sets the NextPassword field's value.
10461func (s *CreateNetworkProfileInput) SetNextPassword(v string) *CreateNetworkProfileInput {
10462	s.NextPassword = &v
10463	return s
10464}
10465
10466// SetSecurityType sets the SecurityType field's value.
10467func (s *CreateNetworkProfileInput) SetSecurityType(v string) *CreateNetworkProfileInput {
10468	s.SecurityType = &v
10469	return s
10470}
10471
10472// SetSsid sets the Ssid field's value.
10473func (s *CreateNetworkProfileInput) SetSsid(v string) *CreateNetworkProfileInput {
10474	s.Ssid = &v
10475	return s
10476}
10477
10478// SetTrustAnchors sets the TrustAnchors field's value.
10479func (s *CreateNetworkProfileInput) SetTrustAnchors(v []*string) *CreateNetworkProfileInput {
10480	s.TrustAnchors = v
10481	return s
10482}
10483
10484type CreateNetworkProfileOutput struct {
10485	_ struct{} `type:"structure"`
10486
10487	// The ARN of the network profile associated with a device.
10488	NetworkProfileArn *string `type:"string"`
10489}
10490
10491// String returns the string representation
10492func (s CreateNetworkProfileOutput) String() string {
10493	return awsutil.Prettify(s)
10494}
10495
10496// GoString returns the string representation
10497func (s CreateNetworkProfileOutput) GoString() string {
10498	return s.String()
10499}
10500
10501// SetNetworkProfileArn sets the NetworkProfileArn field's value.
10502func (s *CreateNetworkProfileOutput) SetNetworkProfileArn(v string) *CreateNetworkProfileOutput {
10503	s.NetworkProfileArn = &v
10504	return s
10505}
10506
10507type CreateProfileInput struct {
10508	_ struct{} `type:"structure"`
10509
10510	// The valid address for the room.
10511	//
10512	// Address is a required field
10513	Address *string `min:"1" type:"string" required:"true"`
10514
10515	// The user-specified token that is used during the creation of a profile.
10516	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
10517
10518	// The distance unit to be used by devices in the profile.
10519	//
10520	// DistanceUnit is a required field
10521	DistanceUnit *string `type:"string" required:"true" enum:"DistanceUnit"`
10522
10523	// The maximum volume limit for a room profile.
10524	MaxVolumeLimit *int64 `type:"integer"`
10525
10526	// Whether PSTN calling is enabled.
10527	PSTNEnabled *bool `type:"boolean"`
10528
10529	// The name of a room profile.
10530	//
10531	// ProfileName is a required field
10532	ProfileName *string `min:"1" type:"string" required:"true"`
10533
10534	// Whether room profile setup is enabled.
10535	SetupModeDisabled *bool `type:"boolean"`
10536
10537	// The temperature unit to be used by devices in the profile.
10538	//
10539	// TemperatureUnit is a required field
10540	TemperatureUnit *string `type:"string" required:"true" enum:"TemperatureUnit"`
10541
10542	// The time zone used by a room profile.
10543	//
10544	// Timezone is a required field
10545	Timezone *string `min:"1" type:"string" required:"true"`
10546
10547	// A wake word for Alexa, Echo, Amazon, or a computer.
10548	//
10549	// WakeWord is a required field
10550	WakeWord *string `type:"string" required:"true" enum:"WakeWord"`
10551}
10552
10553// String returns the string representation
10554func (s CreateProfileInput) String() string {
10555	return awsutil.Prettify(s)
10556}
10557
10558// GoString returns the string representation
10559func (s CreateProfileInput) GoString() string {
10560	return s.String()
10561}
10562
10563// Validate inspects the fields of the type to determine if they are valid.
10564func (s *CreateProfileInput) Validate() error {
10565	invalidParams := request.ErrInvalidParams{Context: "CreateProfileInput"}
10566	if s.Address == nil {
10567		invalidParams.Add(request.NewErrParamRequired("Address"))
10568	}
10569	if s.Address != nil && len(*s.Address) < 1 {
10570		invalidParams.Add(request.NewErrParamMinLen("Address", 1))
10571	}
10572	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
10573		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
10574	}
10575	if s.DistanceUnit == nil {
10576		invalidParams.Add(request.NewErrParamRequired("DistanceUnit"))
10577	}
10578	if s.ProfileName == nil {
10579		invalidParams.Add(request.NewErrParamRequired("ProfileName"))
10580	}
10581	if s.ProfileName != nil && len(*s.ProfileName) < 1 {
10582		invalidParams.Add(request.NewErrParamMinLen("ProfileName", 1))
10583	}
10584	if s.TemperatureUnit == nil {
10585		invalidParams.Add(request.NewErrParamRequired("TemperatureUnit"))
10586	}
10587	if s.Timezone == nil {
10588		invalidParams.Add(request.NewErrParamRequired("Timezone"))
10589	}
10590	if s.Timezone != nil && len(*s.Timezone) < 1 {
10591		invalidParams.Add(request.NewErrParamMinLen("Timezone", 1))
10592	}
10593	if s.WakeWord == nil {
10594		invalidParams.Add(request.NewErrParamRequired("WakeWord"))
10595	}
10596
10597	if invalidParams.Len() > 0 {
10598		return invalidParams
10599	}
10600	return nil
10601}
10602
10603// SetAddress sets the Address field's value.
10604func (s *CreateProfileInput) SetAddress(v string) *CreateProfileInput {
10605	s.Address = &v
10606	return s
10607}
10608
10609// SetClientRequestToken sets the ClientRequestToken field's value.
10610func (s *CreateProfileInput) SetClientRequestToken(v string) *CreateProfileInput {
10611	s.ClientRequestToken = &v
10612	return s
10613}
10614
10615// SetDistanceUnit sets the DistanceUnit field's value.
10616func (s *CreateProfileInput) SetDistanceUnit(v string) *CreateProfileInput {
10617	s.DistanceUnit = &v
10618	return s
10619}
10620
10621// SetMaxVolumeLimit sets the MaxVolumeLimit field's value.
10622func (s *CreateProfileInput) SetMaxVolumeLimit(v int64) *CreateProfileInput {
10623	s.MaxVolumeLimit = &v
10624	return s
10625}
10626
10627// SetPSTNEnabled sets the PSTNEnabled field's value.
10628func (s *CreateProfileInput) SetPSTNEnabled(v bool) *CreateProfileInput {
10629	s.PSTNEnabled = &v
10630	return s
10631}
10632
10633// SetProfileName sets the ProfileName field's value.
10634func (s *CreateProfileInput) SetProfileName(v string) *CreateProfileInput {
10635	s.ProfileName = &v
10636	return s
10637}
10638
10639// SetSetupModeDisabled sets the SetupModeDisabled field's value.
10640func (s *CreateProfileInput) SetSetupModeDisabled(v bool) *CreateProfileInput {
10641	s.SetupModeDisabled = &v
10642	return s
10643}
10644
10645// SetTemperatureUnit sets the TemperatureUnit field's value.
10646func (s *CreateProfileInput) SetTemperatureUnit(v string) *CreateProfileInput {
10647	s.TemperatureUnit = &v
10648	return s
10649}
10650
10651// SetTimezone sets the Timezone field's value.
10652func (s *CreateProfileInput) SetTimezone(v string) *CreateProfileInput {
10653	s.Timezone = &v
10654	return s
10655}
10656
10657// SetWakeWord sets the WakeWord field's value.
10658func (s *CreateProfileInput) SetWakeWord(v string) *CreateProfileInput {
10659	s.WakeWord = &v
10660	return s
10661}
10662
10663type CreateProfileOutput struct {
10664	_ struct{} `type:"structure"`
10665
10666	// The ARN of the newly created room profile in the response.
10667	ProfileArn *string `type:"string"`
10668}
10669
10670// String returns the string representation
10671func (s CreateProfileOutput) String() string {
10672	return awsutil.Prettify(s)
10673}
10674
10675// GoString returns the string representation
10676func (s CreateProfileOutput) GoString() string {
10677	return s.String()
10678}
10679
10680// SetProfileArn sets the ProfileArn field's value.
10681func (s *CreateProfileOutput) SetProfileArn(v string) *CreateProfileOutput {
10682	s.ProfileArn = &v
10683	return s
10684}
10685
10686type CreateRoomInput struct {
10687	_ struct{} `type:"structure"`
10688
10689	// A unique, user-specified identifier for this request that ensures idempotency.
10690	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
10691
10692	// The description for the room.
10693	Description *string `min:"1" type:"string"`
10694
10695	// The profile ARN for the room.
10696	ProfileArn *string `type:"string"`
10697
10698	// The calendar ARN for the room.
10699	ProviderCalendarId *string `type:"string"`
10700
10701	// The name for the room.
10702	//
10703	// RoomName is a required field
10704	RoomName *string `min:"1" type:"string" required:"true"`
10705
10706	// The tags for the room.
10707	Tags []*Tag `type:"list"`
10708}
10709
10710// String returns the string representation
10711func (s CreateRoomInput) String() string {
10712	return awsutil.Prettify(s)
10713}
10714
10715// GoString returns the string representation
10716func (s CreateRoomInput) GoString() string {
10717	return s.String()
10718}
10719
10720// Validate inspects the fields of the type to determine if they are valid.
10721func (s *CreateRoomInput) Validate() error {
10722	invalidParams := request.ErrInvalidParams{Context: "CreateRoomInput"}
10723	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
10724		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
10725	}
10726	if s.Description != nil && len(*s.Description) < 1 {
10727		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
10728	}
10729	if s.RoomName == nil {
10730		invalidParams.Add(request.NewErrParamRequired("RoomName"))
10731	}
10732	if s.RoomName != nil && len(*s.RoomName) < 1 {
10733		invalidParams.Add(request.NewErrParamMinLen("RoomName", 1))
10734	}
10735	if s.Tags != nil {
10736		for i, v := range s.Tags {
10737			if v == nil {
10738				continue
10739			}
10740			if err := v.Validate(); err != nil {
10741				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
10742			}
10743		}
10744	}
10745
10746	if invalidParams.Len() > 0 {
10747		return invalidParams
10748	}
10749	return nil
10750}
10751
10752// SetClientRequestToken sets the ClientRequestToken field's value.
10753func (s *CreateRoomInput) SetClientRequestToken(v string) *CreateRoomInput {
10754	s.ClientRequestToken = &v
10755	return s
10756}
10757
10758// SetDescription sets the Description field's value.
10759func (s *CreateRoomInput) SetDescription(v string) *CreateRoomInput {
10760	s.Description = &v
10761	return s
10762}
10763
10764// SetProfileArn sets the ProfileArn field's value.
10765func (s *CreateRoomInput) SetProfileArn(v string) *CreateRoomInput {
10766	s.ProfileArn = &v
10767	return s
10768}
10769
10770// SetProviderCalendarId sets the ProviderCalendarId field's value.
10771func (s *CreateRoomInput) SetProviderCalendarId(v string) *CreateRoomInput {
10772	s.ProviderCalendarId = &v
10773	return s
10774}
10775
10776// SetRoomName sets the RoomName field's value.
10777func (s *CreateRoomInput) SetRoomName(v string) *CreateRoomInput {
10778	s.RoomName = &v
10779	return s
10780}
10781
10782// SetTags sets the Tags field's value.
10783func (s *CreateRoomInput) SetTags(v []*Tag) *CreateRoomInput {
10784	s.Tags = v
10785	return s
10786}
10787
10788type CreateRoomOutput struct {
10789	_ struct{} `type:"structure"`
10790
10791	// The ARN of the newly created room in the response.
10792	RoomArn *string `type:"string"`
10793}
10794
10795// String returns the string representation
10796func (s CreateRoomOutput) String() string {
10797	return awsutil.Prettify(s)
10798}
10799
10800// GoString returns the string representation
10801func (s CreateRoomOutput) GoString() string {
10802	return s.String()
10803}
10804
10805// SetRoomArn sets the RoomArn field's value.
10806func (s *CreateRoomOutput) SetRoomArn(v string) *CreateRoomOutput {
10807	s.RoomArn = &v
10808	return s
10809}
10810
10811type CreateSkillGroupInput struct {
10812	_ struct{} `type:"structure"`
10813
10814	// A unique, user-specified identifier for this request that ensures idempotency.
10815	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
10816
10817	// The description for the skill group.
10818	Description *string `min:"1" type:"string"`
10819
10820	// The name for the skill group.
10821	//
10822	// SkillGroupName is a required field
10823	SkillGroupName *string `min:"1" type:"string" required:"true"`
10824}
10825
10826// String returns the string representation
10827func (s CreateSkillGroupInput) String() string {
10828	return awsutil.Prettify(s)
10829}
10830
10831// GoString returns the string representation
10832func (s CreateSkillGroupInput) GoString() string {
10833	return s.String()
10834}
10835
10836// Validate inspects the fields of the type to determine if they are valid.
10837func (s *CreateSkillGroupInput) Validate() error {
10838	invalidParams := request.ErrInvalidParams{Context: "CreateSkillGroupInput"}
10839	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
10840		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
10841	}
10842	if s.Description != nil && len(*s.Description) < 1 {
10843		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
10844	}
10845	if s.SkillGroupName == nil {
10846		invalidParams.Add(request.NewErrParamRequired("SkillGroupName"))
10847	}
10848	if s.SkillGroupName != nil && len(*s.SkillGroupName) < 1 {
10849		invalidParams.Add(request.NewErrParamMinLen("SkillGroupName", 1))
10850	}
10851
10852	if invalidParams.Len() > 0 {
10853		return invalidParams
10854	}
10855	return nil
10856}
10857
10858// SetClientRequestToken sets the ClientRequestToken field's value.
10859func (s *CreateSkillGroupInput) SetClientRequestToken(v string) *CreateSkillGroupInput {
10860	s.ClientRequestToken = &v
10861	return s
10862}
10863
10864// SetDescription sets the Description field's value.
10865func (s *CreateSkillGroupInput) SetDescription(v string) *CreateSkillGroupInput {
10866	s.Description = &v
10867	return s
10868}
10869
10870// SetSkillGroupName sets the SkillGroupName field's value.
10871func (s *CreateSkillGroupInput) SetSkillGroupName(v string) *CreateSkillGroupInput {
10872	s.SkillGroupName = &v
10873	return s
10874}
10875
10876type CreateSkillGroupOutput struct {
10877	_ struct{} `type:"structure"`
10878
10879	// The ARN of the newly created skill group in the response.
10880	SkillGroupArn *string `type:"string"`
10881}
10882
10883// String returns the string representation
10884func (s CreateSkillGroupOutput) String() string {
10885	return awsutil.Prettify(s)
10886}
10887
10888// GoString returns the string representation
10889func (s CreateSkillGroupOutput) GoString() string {
10890	return s.String()
10891}
10892
10893// SetSkillGroupArn sets the SkillGroupArn field's value.
10894func (s *CreateSkillGroupOutput) SetSkillGroupArn(v string) *CreateSkillGroupOutput {
10895	s.SkillGroupArn = &v
10896	return s
10897}
10898
10899type CreateUserInput struct {
10900	_ struct{} `type:"structure"`
10901
10902	// A unique, user-specified identifier for this request that ensures idempotency.
10903	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
10904
10905	// The email address for the user.
10906	Email *string `min:"1" type:"string"`
10907
10908	// The first name for the user.
10909	FirstName *string `type:"string"`
10910
10911	// The last name for the user.
10912	LastName *string `type:"string"`
10913
10914	// The tags for the user.
10915	Tags []*Tag `type:"list"`
10916
10917	// The ARN for the user.
10918	//
10919	// UserId is a required field
10920	UserId *string `min:"1" type:"string" required:"true"`
10921}
10922
10923// String returns the string representation
10924func (s CreateUserInput) String() string {
10925	return awsutil.Prettify(s)
10926}
10927
10928// GoString returns the string representation
10929func (s CreateUserInput) GoString() string {
10930	return s.String()
10931}
10932
10933// Validate inspects the fields of the type to determine if they are valid.
10934func (s *CreateUserInput) Validate() error {
10935	invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"}
10936	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
10937		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
10938	}
10939	if s.Email != nil && len(*s.Email) < 1 {
10940		invalidParams.Add(request.NewErrParamMinLen("Email", 1))
10941	}
10942	if s.UserId == nil {
10943		invalidParams.Add(request.NewErrParamRequired("UserId"))
10944	}
10945	if s.UserId != nil && len(*s.UserId) < 1 {
10946		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
10947	}
10948	if s.Tags != nil {
10949		for i, v := range s.Tags {
10950			if v == nil {
10951				continue
10952			}
10953			if err := v.Validate(); err != nil {
10954				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
10955			}
10956		}
10957	}
10958
10959	if invalidParams.Len() > 0 {
10960		return invalidParams
10961	}
10962	return nil
10963}
10964
10965// SetClientRequestToken sets the ClientRequestToken field's value.
10966func (s *CreateUserInput) SetClientRequestToken(v string) *CreateUserInput {
10967	s.ClientRequestToken = &v
10968	return s
10969}
10970
10971// SetEmail sets the Email field's value.
10972func (s *CreateUserInput) SetEmail(v string) *CreateUserInput {
10973	s.Email = &v
10974	return s
10975}
10976
10977// SetFirstName sets the FirstName field's value.
10978func (s *CreateUserInput) SetFirstName(v string) *CreateUserInput {
10979	s.FirstName = &v
10980	return s
10981}
10982
10983// SetLastName sets the LastName field's value.
10984func (s *CreateUserInput) SetLastName(v string) *CreateUserInput {
10985	s.LastName = &v
10986	return s
10987}
10988
10989// SetTags sets the Tags field's value.
10990func (s *CreateUserInput) SetTags(v []*Tag) *CreateUserInput {
10991	s.Tags = v
10992	return s
10993}
10994
10995// SetUserId sets the UserId field's value.
10996func (s *CreateUserInput) SetUserId(v string) *CreateUserInput {
10997	s.UserId = &v
10998	return s
10999}
11000
11001type CreateUserOutput struct {
11002	_ struct{} `type:"structure"`
11003
11004	// The ARN of the newly created user in the response.
11005	UserArn *string `type:"string"`
11006}
11007
11008// String returns the string representation
11009func (s CreateUserOutput) String() string {
11010	return awsutil.Prettify(s)
11011}
11012
11013// GoString returns the string representation
11014func (s CreateUserOutput) GoString() string {
11015	return s.String()
11016}
11017
11018// SetUserArn sets the UserArn field's value.
11019func (s *CreateUserOutput) SetUserArn(v string) *CreateUserOutput {
11020	s.UserArn = &v
11021	return s
11022}
11023
11024type DeleteAddressBookInput struct {
11025	_ struct{} `type:"structure"`
11026
11027	// The ARN of the address book to delete.
11028	//
11029	// AddressBookArn is a required field
11030	AddressBookArn *string `type:"string" required:"true"`
11031}
11032
11033// String returns the string representation
11034func (s DeleteAddressBookInput) String() string {
11035	return awsutil.Prettify(s)
11036}
11037
11038// GoString returns the string representation
11039func (s DeleteAddressBookInput) GoString() string {
11040	return s.String()
11041}
11042
11043// Validate inspects the fields of the type to determine if they are valid.
11044func (s *DeleteAddressBookInput) Validate() error {
11045	invalidParams := request.ErrInvalidParams{Context: "DeleteAddressBookInput"}
11046	if s.AddressBookArn == nil {
11047		invalidParams.Add(request.NewErrParamRequired("AddressBookArn"))
11048	}
11049
11050	if invalidParams.Len() > 0 {
11051		return invalidParams
11052	}
11053	return nil
11054}
11055
11056// SetAddressBookArn sets the AddressBookArn field's value.
11057func (s *DeleteAddressBookInput) SetAddressBookArn(v string) *DeleteAddressBookInput {
11058	s.AddressBookArn = &v
11059	return s
11060}
11061
11062type DeleteAddressBookOutput struct {
11063	_ struct{} `type:"structure"`
11064}
11065
11066// String returns the string representation
11067func (s DeleteAddressBookOutput) String() string {
11068	return awsutil.Prettify(s)
11069}
11070
11071// GoString returns the string representation
11072func (s DeleteAddressBookOutput) GoString() string {
11073	return s.String()
11074}
11075
11076type DeleteBusinessReportScheduleInput struct {
11077	_ struct{} `type:"structure"`
11078
11079	// The ARN of the business report schedule.
11080	//
11081	// ScheduleArn is a required field
11082	ScheduleArn *string `type:"string" required:"true"`
11083}
11084
11085// String returns the string representation
11086func (s DeleteBusinessReportScheduleInput) String() string {
11087	return awsutil.Prettify(s)
11088}
11089
11090// GoString returns the string representation
11091func (s DeleteBusinessReportScheduleInput) GoString() string {
11092	return s.String()
11093}
11094
11095// Validate inspects the fields of the type to determine if they are valid.
11096func (s *DeleteBusinessReportScheduleInput) Validate() error {
11097	invalidParams := request.ErrInvalidParams{Context: "DeleteBusinessReportScheduleInput"}
11098	if s.ScheduleArn == nil {
11099		invalidParams.Add(request.NewErrParamRequired("ScheduleArn"))
11100	}
11101
11102	if invalidParams.Len() > 0 {
11103		return invalidParams
11104	}
11105	return nil
11106}
11107
11108// SetScheduleArn sets the ScheduleArn field's value.
11109func (s *DeleteBusinessReportScheduleInput) SetScheduleArn(v string) *DeleteBusinessReportScheduleInput {
11110	s.ScheduleArn = &v
11111	return s
11112}
11113
11114type DeleteBusinessReportScheduleOutput struct {
11115	_ struct{} `type:"structure"`
11116}
11117
11118// String returns the string representation
11119func (s DeleteBusinessReportScheduleOutput) String() string {
11120	return awsutil.Prettify(s)
11121}
11122
11123// GoString returns the string representation
11124func (s DeleteBusinessReportScheduleOutput) GoString() string {
11125	return s.String()
11126}
11127
11128type DeleteConferenceProviderInput struct {
11129	_ struct{} `type:"structure"`
11130
11131	// The ARN of the conference provider.
11132	//
11133	// ConferenceProviderArn is a required field
11134	ConferenceProviderArn *string `type:"string" required:"true"`
11135}
11136
11137// String returns the string representation
11138func (s DeleteConferenceProviderInput) String() string {
11139	return awsutil.Prettify(s)
11140}
11141
11142// GoString returns the string representation
11143func (s DeleteConferenceProviderInput) GoString() string {
11144	return s.String()
11145}
11146
11147// Validate inspects the fields of the type to determine if they are valid.
11148func (s *DeleteConferenceProviderInput) Validate() error {
11149	invalidParams := request.ErrInvalidParams{Context: "DeleteConferenceProviderInput"}
11150	if s.ConferenceProviderArn == nil {
11151		invalidParams.Add(request.NewErrParamRequired("ConferenceProviderArn"))
11152	}
11153
11154	if invalidParams.Len() > 0 {
11155		return invalidParams
11156	}
11157	return nil
11158}
11159
11160// SetConferenceProviderArn sets the ConferenceProviderArn field's value.
11161func (s *DeleteConferenceProviderInput) SetConferenceProviderArn(v string) *DeleteConferenceProviderInput {
11162	s.ConferenceProviderArn = &v
11163	return s
11164}
11165
11166type DeleteConferenceProviderOutput struct {
11167	_ struct{} `type:"structure"`
11168}
11169
11170// String returns the string representation
11171func (s DeleteConferenceProviderOutput) String() string {
11172	return awsutil.Prettify(s)
11173}
11174
11175// GoString returns the string representation
11176func (s DeleteConferenceProviderOutput) GoString() string {
11177	return s.String()
11178}
11179
11180type DeleteContactInput struct {
11181	_ struct{} `type:"structure"`
11182
11183	// The ARN of the contact to delete.
11184	//
11185	// ContactArn is a required field
11186	ContactArn *string `type:"string" required:"true"`
11187}
11188
11189// String returns the string representation
11190func (s DeleteContactInput) String() string {
11191	return awsutil.Prettify(s)
11192}
11193
11194// GoString returns the string representation
11195func (s DeleteContactInput) GoString() string {
11196	return s.String()
11197}
11198
11199// Validate inspects the fields of the type to determine if they are valid.
11200func (s *DeleteContactInput) Validate() error {
11201	invalidParams := request.ErrInvalidParams{Context: "DeleteContactInput"}
11202	if s.ContactArn == nil {
11203		invalidParams.Add(request.NewErrParamRequired("ContactArn"))
11204	}
11205
11206	if invalidParams.Len() > 0 {
11207		return invalidParams
11208	}
11209	return nil
11210}
11211
11212// SetContactArn sets the ContactArn field's value.
11213func (s *DeleteContactInput) SetContactArn(v string) *DeleteContactInput {
11214	s.ContactArn = &v
11215	return s
11216}
11217
11218type DeleteContactOutput struct {
11219	_ struct{} `type:"structure"`
11220}
11221
11222// String returns the string representation
11223func (s DeleteContactOutput) String() string {
11224	return awsutil.Prettify(s)
11225}
11226
11227// GoString returns the string representation
11228func (s DeleteContactOutput) GoString() string {
11229	return s.String()
11230}
11231
11232type DeleteDeviceInput struct {
11233	_ struct{} `type:"structure"`
11234
11235	// The ARN of the device for which to request details.
11236	//
11237	// DeviceArn is a required field
11238	DeviceArn *string `type:"string" required:"true"`
11239}
11240
11241// String returns the string representation
11242func (s DeleteDeviceInput) String() string {
11243	return awsutil.Prettify(s)
11244}
11245
11246// GoString returns the string representation
11247func (s DeleteDeviceInput) GoString() string {
11248	return s.String()
11249}
11250
11251// Validate inspects the fields of the type to determine if they are valid.
11252func (s *DeleteDeviceInput) Validate() error {
11253	invalidParams := request.ErrInvalidParams{Context: "DeleteDeviceInput"}
11254	if s.DeviceArn == nil {
11255		invalidParams.Add(request.NewErrParamRequired("DeviceArn"))
11256	}
11257
11258	if invalidParams.Len() > 0 {
11259		return invalidParams
11260	}
11261	return nil
11262}
11263
11264// SetDeviceArn sets the DeviceArn field's value.
11265func (s *DeleteDeviceInput) SetDeviceArn(v string) *DeleteDeviceInput {
11266	s.DeviceArn = &v
11267	return s
11268}
11269
11270type DeleteDeviceOutput struct {
11271	_ struct{} `type:"structure"`
11272}
11273
11274// String returns the string representation
11275func (s DeleteDeviceOutput) String() string {
11276	return awsutil.Prettify(s)
11277}
11278
11279// GoString returns the string representation
11280func (s DeleteDeviceOutput) GoString() string {
11281	return s.String()
11282}
11283
11284type DeleteDeviceUsageDataInput struct {
11285	_ struct{} `type:"structure"`
11286
11287	// The ARN of the device.
11288	//
11289	// DeviceArn is a required field
11290	DeviceArn *string `type:"string" required:"true"`
11291
11292	// The type of usage data to delete.
11293	//
11294	// DeviceUsageType is a required field
11295	DeviceUsageType *string `type:"string" required:"true" enum:"DeviceUsageType"`
11296}
11297
11298// String returns the string representation
11299func (s DeleteDeviceUsageDataInput) String() string {
11300	return awsutil.Prettify(s)
11301}
11302
11303// GoString returns the string representation
11304func (s DeleteDeviceUsageDataInput) GoString() string {
11305	return s.String()
11306}
11307
11308// Validate inspects the fields of the type to determine if they are valid.
11309func (s *DeleteDeviceUsageDataInput) Validate() error {
11310	invalidParams := request.ErrInvalidParams{Context: "DeleteDeviceUsageDataInput"}
11311	if s.DeviceArn == nil {
11312		invalidParams.Add(request.NewErrParamRequired("DeviceArn"))
11313	}
11314	if s.DeviceUsageType == nil {
11315		invalidParams.Add(request.NewErrParamRequired("DeviceUsageType"))
11316	}
11317
11318	if invalidParams.Len() > 0 {
11319		return invalidParams
11320	}
11321	return nil
11322}
11323
11324// SetDeviceArn sets the DeviceArn field's value.
11325func (s *DeleteDeviceUsageDataInput) SetDeviceArn(v string) *DeleteDeviceUsageDataInput {
11326	s.DeviceArn = &v
11327	return s
11328}
11329
11330// SetDeviceUsageType sets the DeviceUsageType field's value.
11331func (s *DeleteDeviceUsageDataInput) SetDeviceUsageType(v string) *DeleteDeviceUsageDataInput {
11332	s.DeviceUsageType = &v
11333	return s
11334}
11335
11336type DeleteDeviceUsageDataOutput struct {
11337	_ struct{} `type:"structure"`
11338}
11339
11340// String returns the string representation
11341func (s DeleteDeviceUsageDataOutput) String() string {
11342	return awsutil.Prettify(s)
11343}
11344
11345// GoString returns the string representation
11346func (s DeleteDeviceUsageDataOutput) GoString() string {
11347	return s.String()
11348}
11349
11350type DeleteGatewayGroupInput struct {
11351	_ struct{} `type:"structure"`
11352
11353	// The ARN of the gateway group to delete.
11354	//
11355	// GatewayGroupArn is a required field
11356	GatewayGroupArn *string `type:"string" required:"true"`
11357}
11358
11359// String returns the string representation
11360func (s DeleteGatewayGroupInput) String() string {
11361	return awsutil.Prettify(s)
11362}
11363
11364// GoString returns the string representation
11365func (s DeleteGatewayGroupInput) GoString() string {
11366	return s.String()
11367}
11368
11369// Validate inspects the fields of the type to determine if they are valid.
11370func (s *DeleteGatewayGroupInput) Validate() error {
11371	invalidParams := request.ErrInvalidParams{Context: "DeleteGatewayGroupInput"}
11372	if s.GatewayGroupArn == nil {
11373		invalidParams.Add(request.NewErrParamRequired("GatewayGroupArn"))
11374	}
11375
11376	if invalidParams.Len() > 0 {
11377		return invalidParams
11378	}
11379	return nil
11380}
11381
11382// SetGatewayGroupArn sets the GatewayGroupArn field's value.
11383func (s *DeleteGatewayGroupInput) SetGatewayGroupArn(v string) *DeleteGatewayGroupInput {
11384	s.GatewayGroupArn = &v
11385	return s
11386}
11387
11388type DeleteGatewayGroupOutput struct {
11389	_ struct{} `type:"structure"`
11390}
11391
11392// String returns the string representation
11393func (s DeleteGatewayGroupOutput) String() string {
11394	return awsutil.Prettify(s)
11395}
11396
11397// GoString returns the string representation
11398func (s DeleteGatewayGroupOutput) GoString() string {
11399	return s.String()
11400}
11401
11402type DeleteNetworkProfileInput struct {
11403	_ struct{} `type:"structure"`
11404
11405	// The ARN of the network profile associated with a device.
11406	//
11407	// NetworkProfileArn is a required field
11408	NetworkProfileArn *string `type:"string" required:"true"`
11409}
11410
11411// String returns the string representation
11412func (s DeleteNetworkProfileInput) String() string {
11413	return awsutil.Prettify(s)
11414}
11415
11416// GoString returns the string representation
11417func (s DeleteNetworkProfileInput) GoString() string {
11418	return s.String()
11419}
11420
11421// Validate inspects the fields of the type to determine if they are valid.
11422func (s *DeleteNetworkProfileInput) Validate() error {
11423	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkProfileInput"}
11424	if s.NetworkProfileArn == nil {
11425		invalidParams.Add(request.NewErrParamRequired("NetworkProfileArn"))
11426	}
11427
11428	if invalidParams.Len() > 0 {
11429		return invalidParams
11430	}
11431	return nil
11432}
11433
11434// SetNetworkProfileArn sets the NetworkProfileArn field's value.
11435func (s *DeleteNetworkProfileInput) SetNetworkProfileArn(v string) *DeleteNetworkProfileInput {
11436	s.NetworkProfileArn = &v
11437	return s
11438}
11439
11440type DeleteNetworkProfileOutput struct {
11441	_ struct{} `type:"structure"`
11442}
11443
11444// String returns the string representation
11445func (s DeleteNetworkProfileOutput) String() string {
11446	return awsutil.Prettify(s)
11447}
11448
11449// GoString returns the string representation
11450func (s DeleteNetworkProfileOutput) GoString() string {
11451	return s.String()
11452}
11453
11454type DeleteProfileInput struct {
11455	_ struct{} `type:"structure"`
11456
11457	// The ARN of the room profile to delete. Required.
11458	ProfileArn *string `type:"string"`
11459}
11460
11461// String returns the string representation
11462func (s DeleteProfileInput) String() string {
11463	return awsutil.Prettify(s)
11464}
11465
11466// GoString returns the string representation
11467func (s DeleteProfileInput) GoString() string {
11468	return s.String()
11469}
11470
11471// SetProfileArn sets the ProfileArn field's value.
11472func (s *DeleteProfileInput) SetProfileArn(v string) *DeleteProfileInput {
11473	s.ProfileArn = &v
11474	return s
11475}
11476
11477type DeleteProfileOutput struct {
11478	_ struct{} `type:"structure"`
11479}
11480
11481// String returns the string representation
11482func (s DeleteProfileOutput) String() string {
11483	return awsutil.Prettify(s)
11484}
11485
11486// GoString returns the string representation
11487func (s DeleteProfileOutput) GoString() string {
11488	return s.String()
11489}
11490
11491type DeleteRoomInput struct {
11492	_ struct{} `type:"structure"`
11493
11494	// The ARN of the room to delete. Required.
11495	RoomArn *string `type:"string"`
11496}
11497
11498// String returns the string representation
11499func (s DeleteRoomInput) String() string {
11500	return awsutil.Prettify(s)
11501}
11502
11503// GoString returns the string representation
11504func (s DeleteRoomInput) GoString() string {
11505	return s.String()
11506}
11507
11508// SetRoomArn sets the RoomArn field's value.
11509func (s *DeleteRoomInput) SetRoomArn(v string) *DeleteRoomInput {
11510	s.RoomArn = &v
11511	return s
11512}
11513
11514type DeleteRoomOutput struct {
11515	_ struct{} `type:"structure"`
11516}
11517
11518// String returns the string representation
11519func (s DeleteRoomOutput) String() string {
11520	return awsutil.Prettify(s)
11521}
11522
11523// GoString returns the string representation
11524func (s DeleteRoomOutput) GoString() string {
11525	return s.String()
11526}
11527
11528type DeleteRoomSkillParameterInput struct {
11529	_ struct{} `type:"structure"`
11530
11531	// The room skill parameter key for which to remove details.
11532	//
11533	// ParameterKey is a required field
11534	ParameterKey *string `min:"1" type:"string" required:"true"`
11535
11536	// The ARN of the room from which to remove the room skill parameter details.
11537	RoomArn *string `type:"string"`
11538
11539	// The ID of the skill from which to remove the room skill parameter details.
11540	//
11541	// SkillId is a required field
11542	SkillId *string `type:"string" required:"true"`
11543}
11544
11545// String returns the string representation
11546func (s DeleteRoomSkillParameterInput) String() string {
11547	return awsutil.Prettify(s)
11548}
11549
11550// GoString returns the string representation
11551func (s DeleteRoomSkillParameterInput) GoString() string {
11552	return s.String()
11553}
11554
11555// Validate inspects the fields of the type to determine if they are valid.
11556func (s *DeleteRoomSkillParameterInput) Validate() error {
11557	invalidParams := request.ErrInvalidParams{Context: "DeleteRoomSkillParameterInput"}
11558	if s.ParameterKey == nil {
11559		invalidParams.Add(request.NewErrParamRequired("ParameterKey"))
11560	}
11561	if s.ParameterKey != nil && len(*s.ParameterKey) < 1 {
11562		invalidParams.Add(request.NewErrParamMinLen("ParameterKey", 1))
11563	}
11564	if s.SkillId == nil {
11565		invalidParams.Add(request.NewErrParamRequired("SkillId"))
11566	}
11567
11568	if invalidParams.Len() > 0 {
11569		return invalidParams
11570	}
11571	return nil
11572}
11573
11574// SetParameterKey sets the ParameterKey field's value.
11575func (s *DeleteRoomSkillParameterInput) SetParameterKey(v string) *DeleteRoomSkillParameterInput {
11576	s.ParameterKey = &v
11577	return s
11578}
11579
11580// SetRoomArn sets the RoomArn field's value.
11581func (s *DeleteRoomSkillParameterInput) SetRoomArn(v string) *DeleteRoomSkillParameterInput {
11582	s.RoomArn = &v
11583	return s
11584}
11585
11586// SetSkillId sets the SkillId field's value.
11587func (s *DeleteRoomSkillParameterInput) SetSkillId(v string) *DeleteRoomSkillParameterInput {
11588	s.SkillId = &v
11589	return s
11590}
11591
11592type DeleteRoomSkillParameterOutput struct {
11593	_ struct{} `type:"structure"`
11594}
11595
11596// String returns the string representation
11597func (s DeleteRoomSkillParameterOutput) String() string {
11598	return awsutil.Prettify(s)
11599}
11600
11601// GoString returns the string representation
11602func (s DeleteRoomSkillParameterOutput) GoString() string {
11603	return s.String()
11604}
11605
11606type DeleteSkillAuthorizationInput struct {
11607	_ struct{} `type:"structure"`
11608
11609	// The room that the skill is authorized for.
11610	RoomArn *string `type:"string"`
11611
11612	// The unique identifier of a skill.
11613	//
11614	// SkillId is a required field
11615	SkillId *string `type:"string" required:"true"`
11616}
11617
11618// String returns the string representation
11619func (s DeleteSkillAuthorizationInput) String() string {
11620	return awsutil.Prettify(s)
11621}
11622
11623// GoString returns the string representation
11624func (s DeleteSkillAuthorizationInput) GoString() string {
11625	return s.String()
11626}
11627
11628// Validate inspects the fields of the type to determine if they are valid.
11629func (s *DeleteSkillAuthorizationInput) Validate() error {
11630	invalidParams := request.ErrInvalidParams{Context: "DeleteSkillAuthorizationInput"}
11631	if s.SkillId == nil {
11632		invalidParams.Add(request.NewErrParamRequired("SkillId"))
11633	}
11634
11635	if invalidParams.Len() > 0 {
11636		return invalidParams
11637	}
11638	return nil
11639}
11640
11641// SetRoomArn sets the RoomArn field's value.
11642func (s *DeleteSkillAuthorizationInput) SetRoomArn(v string) *DeleteSkillAuthorizationInput {
11643	s.RoomArn = &v
11644	return s
11645}
11646
11647// SetSkillId sets the SkillId field's value.
11648func (s *DeleteSkillAuthorizationInput) SetSkillId(v string) *DeleteSkillAuthorizationInput {
11649	s.SkillId = &v
11650	return s
11651}
11652
11653type DeleteSkillAuthorizationOutput struct {
11654	_ struct{} `type:"structure"`
11655}
11656
11657// String returns the string representation
11658func (s DeleteSkillAuthorizationOutput) String() string {
11659	return awsutil.Prettify(s)
11660}
11661
11662// GoString returns the string representation
11663func (s DeleteSkillAuthorizationOutput) GoString() string {
11664	return s.String()
11665}
11666
11667type DeleteSkillGroupInput struct {
11668	_ struct{} `type:"structure"`
11669
11670	// The ARN of the skill group to delete. Required.
11671	SkillGroupArn *string `type:"string"`
11672}
11673
11674// String returns the string representation
11675func (s DeleteSkillGroupInput) String() string {
11676	return awsutil.Prettify(s)
11677}
11678
11679// GoString returns the string representation
11680func (s DeleteSkillGroupInput) GoString() string {
11681	return s.String()
11682}
11683
11684// SetSkillGroupArn sets the SkillGroupArn field's value.
11685func (s *DeleteSkillGroupInput) SetSkillGroupArn(v string) *DeleteSkillGroupInput {
11686	s.SkillGroupArn = &v
11687	return s
11688}
11689
11690type DeleteSkillGroupOutput struct {
11691	_ struct{} `type:"structure"`
11692}
11693
11694// String returns the string representation
11695func (s DeleteSkillGroupOutput) String() string {
11696	return awsutil.Prettify(s)
11697}
11698
11699// GoString returns the string representation
11700func (s DeleteSkillGroupOutput) GoString() string {
11701	return s.String()
11702}
11703
11704type DeleteUserInput struct {
11705	_ struct{} `type:"structure"`
11706
11707	// The ARN of the user's enrollment in the organization. Required.
11708	//
11709	// EnrollmentId is a required field
11710	EnrollmentId *string `type:"string" required:"true"`
11711
11712	// The ARN of the user to delete in the organization. Required.
11713	UserArn *string `type:"string"`
11714}
11715
11716// String returns the string representation
11717func (s DeleteUserInput) String() string {
11718	return awsutil.Prettify(s)
11719}
11720
11721// GoString returns the string representation
11722func (s DeleteUserInput) GoString() string {
11723	return s.String()
11724}
11725
11726// Validate inspects the fields of the type to determine if they are valid.
11727func (s *DeleteUserInput) Validate() error {
11728	invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"}
11729	if s.EnrollmentId == nil {
11730		invalidParams.Add(request.NewErrParamRequired("EnrollmentId"))
11731	}
11732
11733	if invalidParams.Len() > 0 {
11734		return invalidParams
11735	}
11736	return nil
11737}
11738
11739// SetEnrollmentId sets the EnrollmentId field's value.
11740func (s *DeleteUserInput) SetEnrollmentId(v string) *DeleteUserInput {
11741	s.EnrollmentId = &v
11742	return s
11743}
11744
11745// SetUserArn sets the UserArn field's value.
11746func (s *DeleteUserInput) SetUserArn(v string) *DeleteUserInput {
11747	s.UserArn = &v
11748	return s
11749}
11750
11751type DeleteUserOutput struct {
11752	_ struct{} `type:"structure"`
11753}
11754
11755// String returns the string representation
11756func (s DeleteUserOutput) String() string {
11757	return awsutil.Prettify(s)
11758}
11759
11760// GoString returns the string representation
11761func (s DeleteUserOutput) GoString() string {
11762	return s.String()
11763}
11764
11765// The details about the developer that published the skill.
11766type DeveloperInfo struct {
11767	_ struct{} `type:"structure"`
11768
11769	// The name of the developer.
11770	DeveloperName *string `type:"string"`
11771
11772	// The email of the developer.
11773	Email *string `min:"1" type:"string"`
11774
11775	// The URL of the privacy policy.
11776	PrivacyPolicy *string `type:"string"`
11777
11778	// The website of the developer.
11779	Url *string `type:"string"`
11780}
11781
11782// String returns the string representation
11783func (s DeveloperInfo) String() string {
11784	return awsutil.Prettify(s)
11785}
11786
11787// GoString returns the string representation
11788func (s DeveloperInfo) GoString() string {
11789	return s.String()
11790}
11791
11792// SetDeveloperName sets the DeveloperName field's value.
11793func (s *DeveloperInfo) SetDeveloperName(v string) *DeveloperInfo {
11794	s.DeveloperName = &v
11795	return s
11796}
11797
11798// SetEmail sets the Email field's value.
11799func (s *DeveloperInfo) SetEmail(v string) *DeveloperInfo {
11800	s.Email = &v
11801	return s
11802}
11803
11804// SetPrivacyPolicy sets the PrivacyPolicy field's value.
11805func (s *DeveloperInfo) SetPrivacyPolicy(v string) *DeveloperInfo {
11806	s.PrivacyPolicy = &v
11807	return s
11808}
11809
11810// SetUrl sets the Url field's value.
11811func (s *DeveloperInfo) SetUrl(v string) *DeveloperInfo {
11812	s.Url = &v
11813	return s
11814}
11815
11816// A device with attributes.
11817type Device struct {
11818	_ struct{} `type:"structure"`
11819
11820	// The ARN of a device.
11821	DeviceArn *string `type:"string"`
11822
11823	// The name of a device.
11824	DeviceName *string `min:"2" type:"string"`
11825
11826	// The serial number of a device.
11827	DeviceSerialNumber *string `type:"string"`
11828
11829	// The status of a device. If the status is not READY, check the DeviceStatusInfo
11830	// value for details.
11831	DeviceStatus *string `type:"string" enum:"DeviceStatus"`
11832
11833	// Detailed information about a device's status.
11834	DeviceStatusInfo *DeviceStatusInfo `type:"structure"`
11835
11836	// The type of a device.
11837	DeviceType *string `type:"string"`
11838
11839	// The MAC address of a device.
11840	MacAddress *string `type:"string"`
11841
11842	// Detailed information about a device's network profile.
11843	NetworkProfileInfo *DeviceNetworkProfileInfo `type:"structure"`
11844
11845	// The room ARN of a device.
11846	RoomArn *string `type:"string"`
11847
11848	// The software version of a device.
11849	SoftwareVersion *string `type:"string"`
11850}
11851
11852// String returns the string representation
11853func (s Device) String() string {
11854	return awsutil.Prettify(s)
11855}
11856
11857// GoString returns the string representation
11858func (s Device) GoString() string {
11859	return s.String()
11860}
11861
11862// SetDeviceArn sets the DeviceArn field's value.
11863func (s *Device) SetDeviceArn(v string) *Device {
11864	s.DeviceArn = &v
11865	return s
11866}
11867
11868// SetDeviceName sets the DeviceName field's value.
11869func (s *Device) SetDeviceName(v string) *Device {
11870	s.DeviceName = &v
11871	return s
11872}
11873
11874// SetDeviceSerialNumber sets the DeviceSerialNumber field's value.
11875func (s *Device) SetDeviceSerialNumber(v string) *Device {
11876	s.DeviceSerialNumber = &v
11877	return s
11878}
11879
11880// SetDeviceStatus sets the DeviceStatus field's value.
11881func (s *Device) SetDeviceStatus(v string) *Device {
11882	s.DeviceStatus = &v
11883	return s
11884}
11885
11886// SetDeviceStatusInfo sets the DeviceStatusInfo field's value.
11887func (s *Device) SetDeviceStatusInfo(v *DeviceStatusInfo) *Device {
11888	s.DeviceStatusInfo = v
11889	return s
11890}
11891
11892// SetDeviceType sets the DeviceType field's value.
11893func (s *Device) SetDeviceType(v string) *Device {
11894	s.DeviceType = &v
11895	return s
11896}
11897
11898// SetMacAddress sets the MacAddress field's value.
11899func (s *Device) SetMacAddress(v string) *Device {
11900	s.MacAddress = &v
11901	return s
11902}
11903
11904// SetNetworkProfileInfo sets the NetworkProfileInfo field's value.
11905func (s *Device) SetNetworkProfileInfo(v *DeviceNetworkProfileInfo) *Device {
11906	s.NetworkProfileInfo = v
11907	return s
11908}
11909
11910// SetRoomArn sets the RoomArn field's value.
11911func (s *Device) SetRoomArn(v string) *Device {
11912	s.RoomArn = &v
11913	return s
11914}
11915
11916// SetSoftwareVersion sets the SoftwareVersion field's value.
11917func (s *Device) SetSoftwareVersion(v string) *Device {
11918	s.SoftwareVersion = &v
11919	return s
11920}
11921
11922// Device attributes.
11923type DeviceData struct {
11924	_ struct{} `type:"structure"`
11925
11926	// The ARN of a device.
11927	DeviceArn *string `type:"string"`
11928
11929	// The name of a device.
11930	DeviceName *string `min:"2" type:"string"`
11931
11932	// The serial number of a device.
11933	DeviceSerialNumber *string `type:"string"`
11934
11935	// The status of a device.
11936	DeviceStatus *string `type:"string" enum:"DeviceStatus"`
11937
11938	// Detailed information about a device's status.
11939	DeviceStatusInfo *DeviceStatusInfo `type:"structure"`
11940
11941	// The type of a device.
11942	DeviceType *string `type:"string"`
11943
11944	// The MAC address of a device.
11945	MacAddress *string `type:"string"`
11946
11947	// The ARN of the network profile associated with a device.
11948	NetworkProfileArn *string `type:"string"`
11949
11950	// The name of the network profile associated with a device.
11951	NetworkProfileName *string `min:"1" type:"string"`
11952
11953	// The room ARN associated with a device.
11954	RoomArn *string `type:"string"`
11955
11956	// The name of the room associated with a device.
11957	RoomName *string `min:"1" type:"string"`
11958
11959	// The software version of a device.
11960	SoftwareVersion *string `type:"string"`
11961}
11962
11963// String returns the string representation
11964func (s DeviceData) String() string {
11965	return awsutil.Prettify(s)
11966}
11967
11968// GoString returns the string representation
11969func (s DeviceData) GoString() string {
11970	return s.String()
11971}
11972
11973// SetDeviceArn sets the DeviceArn field's value.
11974func (s *DeviceData) SetDeviceArn(v string) *DeviceData {
11975	s.DeviceArn = &v
11976	return s
11977}
11978
11979// SetDeviceName sets the DeviceName field's value.
11980func (s *DeviceData) SetDeviceName(v string) *DeviceData {
11981	s.DeviceName = &v
11982	return s
11983}
11984
11985// SetDeviceSerialNumber sets the DeviceSerialNumber field's value.
11986func (s *DeviceData) SetDeviceSerialNumber(v string) *DeviceData {
11987	s.DeviceSerialNumber = &v
11988	return s
11989}
11990
11991// SetDeviceStatus sets the DeviceStatus field's value.
11992func (s *DeviceData) SetDeviceStatus(v string) *DeviceData {
11993	s.DeviceStatus = &v
11994	return s
11995}
11996
11997// SetDeviceStatusInfo sets the DeviceStatusInfo field's value.
11998func (s *DeviceData) SetDeviceStatusInfo(v *DeviceStatusInfo) *DeviceData {
11999	s.DeviceStatusInfo = v
12000	return s
12001}
12002
12003// SetDeviceType sets the DeviceType field's value.
12004func (s *DeviceData) SetDeviceType(v string) *DeviceData {
12005	s.DeviceType = &v
12006	return s
12007}
12008
12009// SetMacAddress sets the MacAddress field's value.
12010func (s *DeviceData) SetMacAddress(v string) *DeviceData {
12011	s.MacAddress = &v
12012	return s
12013}
12014
12015// SetNetworkProfileArn sets the NetworkProfileArn field's value.
12016func (s *DeviceData) SetNetworkProfileArn(v string) *DeviceData {
12017	s.NetworkProfileArn = &v
12018	return s
12019}
12020
12021// SetNetworkProfileName sets the NetworkProfileName field's value.
12022func (s *DeviceData) SetNetworkProfileName(v string) *DeviceData {
12023	s.NetworkProfileName = &v
12024	return s
12025}
12026
12027// SetRoomArn sets the RoomArn field's value.
12028func (s *DeviceData) SetRoomArn(v string) *DeviceData {
12029	s.RoomArn = &v
12030	return s
12031}
12032
12033// SetRoomName sets the RoomName field's value.
12034func (s *DeviceData) SetRoomName(v string) *DeviceData {
12035	s.RoomName = &v
12036	return s
12037}
12038
12039// SetSoftwareVersion sets the SoftwareVersion field's value.
12040func (s *DeviceData) SetSoftwareVersion(v string) *DeviceData {
12041	s.SoftwareVersion = &v
12042	return s
12043}
12044
12045// The list of device events.
12046type DeviceEvent struct {
12047	_ struct{} `type:"structure"`
12048
12049	// The time (in epoch) when the event occurred.
12050	Timestamp *time.Time `type:"timestamp"`
12051
12052	// The type of device event.
12053	Type *string `type:"string" enum:"DeviceEventType"`
12054
12055	// The value of the event.
12056	Value *string `type:"string"`
12057}
12058
12059// String returns the string representation
12060func (s DeviceEvent) String() string {
12061	return awsutil.Prettify(s)
12062}
12063
12064// GoString returns the string representation
12065func (s DeviceEvent) GoString() string {
12066	return s.String()
12067}
12068
12069// SetTimestamp sets the Timestamp field's value.
12070func (s *DeviceEvent) SetTimestamp(v time.Time) *DeviceEvent {
12071	s.Timestamp = &v
12072	return s
12073}
12074
12075// SetType sets the Type field's value.
12076func (s *DeviceEvent) SetType(v string) *DeviceEvent {
12077	s.Type = &v
12078	return s
12079}
12080
12081// SetValue sets the Value field's value.
12082func (s *DeviceEvent) SetValue(v string) *DeviceEvent {
12083	s.Value = &v
12084	return s
12085}
12086
12087// Detailed information about a device's network profile.
12088type DeviceNetworkProfileInfo struct {
12089	_ struct{} `type:"structure"`
12090
12091	// The ARN of the certificate associated with a device.
12092	CertificateArn *string `type:"string"`
12093
12094	// The time (in epoch) when the certificate expires.
12095	CertificateExpirationTime *time.Time `type:"timestamp"`
12096
12097	// The ARN of the network profile associated with a device.
12098	NetworkProfileArn *string `type:"string"`
12099}
12100
12101// String returns the string representation
12102func (s DeviceNetworkProfileInfo) String() string {
12103	return awsutil.Prettify(s)
12104}
12105
12106// GoString returns the string representation
12107func (s DeviceNetworkProfileInfo) GoString() string {
12108	return s.String()
12109}
12110
12111// SetCertificateArn sets the CertificateArn field's value.
12112func (s *DeviceNetworkProfileInfo) SetCertificateArn(v string) *DeviceNetworkProfileInfo {
12113	s.CertificateArn = &v
12114	return s
12115}
12116
12117// SetCertificateExpirationTime sets the CertificateExpirationTime field's value.
12118func (s *DeviceNetworkProfileInfo) SetCertificateExpirationTime(v time.Time) *DeviceNetworkProfileInfo {
12119	s.CertificateExpirationTime = &v
12120	return s
12121}
12122
12123// SetNetworkProfileArn sets the NetworkProfileArn field's value.
12124func (s *DeviceNetworkProfileInfo) SetNetworkProfileArn(v string) *DeviceNetworkProfileInfo {
12125	s.NetworkProfileArn = &v
12126	return s
12127}
12128
12129// Details of a device’s status.
12130type DeviceStatusDetail struct {
12131	_ struct{} `type:"structure"`
12132
12133	// The device status detail code.
12134	Code *string `type:"string" enum:"DeviceStatusDetailCode"`
12135
12136	// The list of available features on the device.
12137	Feature *string `type:"string" enum:"Feature"`
12138}
12139
12140// String returns the string representation
12141func (s DeviceStatusDetail) String() string {
12142	return awsutil.Prettify(s)
12143}
12144
12145// GoString returns the string representation
12146func (s DeviceStatusDetail) GoString() string {
12147	return s.String()
12148}
12149
12150// SetCode sets the Code field's value.
12151func (s *DeviceStatusDetail) SetCode(v string) *DeviceStatusDetail {
12152	s.Code = &v
12153	return s
12154}
12155
12156// SetFeature sets the Feature field's value.
12157func (s *DeviceStatusDetail) SetFeature(v string) *DeviceStatusDetail {
12158	s.Feature = &v
12159	return s
12160}
12161
12162// Detailed information about a device's status.
12163type DeviceStatusInfo struct {
12164	_ struct{} `type:"structure"`
12165
12166	// The latest available information about the connection status of a device.
12167	ConnectionStatus *string `type:"string" enum:"ConnectionStatus"`
12168
12169	// One or more device status detail descriptions.
12170	DeviceStatusDetails []*DeviceStatusDetail `type:"list"`
12171}
12172
12173// String returns the string representation
12174func (s DeviceStatusInfo) String() string {
12175	return awsutil.Prettify(s)
12176}
12177
12178// GoString returns the string representation
12179func (s DeviceStatusInfo) GoString() string {
12180	return s.String()
12181}
12182
12183// SetConnectionStatus sets the ConnectionStatus field's value.
12184func (s *DeviceStatusInfo) SetConnectionStatus(v string) *DeviceStatusInfo {
12185	s.ConnectionStatus = &v
12186	return s
12187}
12188
12189// SetDeviceStatusDetails sets the DeviceStatusDetails field's value.
12190func (s *DeviceStatusInfo) SetDeviceStatusDetails(v []*DeviceStatusDetail) *DeviceStatusInfo {
12191	s.DeviceStatusDetails = v
12192	return s
12193}
12194
12195type DisassociateContactFromAddressBookInput struct {
12196	_ struct{} `type:"structure"`
12197
12198	// The ARN of the address from which to disassociate the contact.
12199	//
12200	// AddressBookArn is a required field
12201	AddressBookArn *string `type:"string" required:"true"`
12202
12203	// The ARN of the contact to disassociate from an address book.
12204	//
12205	// ContactArn is a required field
12206	ContactArn *string `type:"string" required:"true"`
12207}
12208
12209// String returns the string representation
12210func (s DisassociateContactFromAddressBookInput) String() string {
12211	return awsutil.Prettify(s)
12212}
12213
12214// GoString returns the string representation
12215func (s DisassociateContactFromAddressBookInput) GoString() string {
12216	return s.String()
12217}
12218
12219// Validate inspects the fields of the type to determine if they are valid.
12220func (s *DisassociateContactFromAddressBookInput) Validate() error {
12221	invalidParams := request.ErrInvalidParams{Context: "DisassociateContactFromAddressBookInput"}
12222	if s.AddressBookArn == nil {
12223		invalidParams.Add(request.NewErrParamRequired("AddressBookArn"))
12224	}
12225	if s.ContactArn == nil {
12226		invalidParams.Add(request.NewErrParamRequired("ContactArn"))
12227	}
12228
12229	if invalidParams.Len() > 0 {
12230		return invalidParams
12231	}
12232	return nil
12233}
12234
12235// SetAddressBookArn sets the AddressBookArn field's value.
12236func (s *DisassociateContactFromAddressBookInput) SetAddressBookArn(v string) *DisassociateContactFromAddressBookInput {
12237	s.AddressBookArn = &v
12238	return s
12239}
12240
12241// SetContactArn sets the ContactArn field's value.
12242func (s *DisassociateContactFromAddressBookInput) SetContactArn(v string) *DisassociateContactFromAddressBookInput {
12243	s.ContactArn = &v
12244	return s
12245}
12246
12247type DisassociateContactFromAddressBookOutput struct {
12248	_ struct{} `type:"structure"`
12249}
12250
12251// String returns the string representation
12252func (s DisassociateContactFromAddressBookOutput) String() string {
12253	return awsutil.Prettify(s)
12254}
12255
12256// GoString returns the string representation
12257func (s DisassociateContactFromAddressBookOutput) GoString() string {
12258	return s.String()
12259}
12260
12261type DisassociateDeviceFromRoomInput struct {
12262	_ struct{} `type:"structure"`
12263
12264	// The ARN of the device to disassociate from a room. Required.
12265	DeviceArn *string `type:"string"`
12266}
12267
12268// String returns the string representation
12269func (s DisassociateDeviceFromRoomInput) String() string {
12270	return awsutil.Prettify(s)
12271}
12272
12273// GoString returns the string representation
12274func (s DisassociateDeviceFromRoomInput) GoString() string {
12275	return s.String()
12276}
12277
12278// SetDeviceArn sets the DeviceArn field's value.
12279func (s *DisassociateDeviceFromRoomInput) SetDeviceArn(v string) *DisassociateDeviceFromRoomInput {
12280	s.DeviceArn = &v
12281	return s
12282}
12283
12284type DisassociateDeviceFromRoomOutput struct {
12285	_ struct{} `type:"structure"`
12286}
12287
12288// String returns the string representation
12289func (s DisassociateDeviceFromRoomOutput) String() string {
12290	return awsutil.Prettify(s)
12291}
12292
12293// GoString returns the string representation
12294func (s DisassociateDeviceFromRoomOutput) GoString() string {
12295	return s.String()
12296}
12297
12298type DisassociateSkillFromSkillGroupInput struct {
12299	_ struct{} `type:"structure"`
12300
12301	// The unique identifier of a skill. Required.
12302	SkillGroupArn *string `type:"string"`
12303
12304	// The ARN of a skill group to associate to a skill.
12305	//
12306	// SkillId is a required field
12307	SkillId *string `type:"string" required:"true"`
12308}
12309
12310// String returns the string representation
12311func (s DisassociateSkillFromSkillGroupInput) String() string {
12312	return awsutil.Prettify(s)
12313}
12314
12315// GoString returns the string representation
12316func (s DisassociateSkillFromSkillGroupInput) GoString() string {
12317	return s.String()
12318}
12319
12320// Validate inspects the fields of the type to determine if they are valid.
12321func (s *DisassociateSkillFromSkillGroupInput) Validate() error {
12322	invalidParams := request.ErrInvalidParams{Context: "DisassociateSkillFromSkillGroupInput"}
12323	if s.SkillId == nil {
12324		invalidParams.Add(request.NewErrParamRequired("SkillId"))
12325	}
12326
12327	if invalidParams.Len() > 0 {
12328		return invalidParams
12329	}
12330	return nil
12331}
12332
12333// SetSkillGroupArn sets the SkillGroupArn field's value.
12334func (s *DisassociateSkillFromSkillGroupInput) SetSkillGroupArn(v string) *DisassociateSkillFromSkillGroupInput {
12335	s.SkillGroupArn = &v
12336	return s
12337}
12338
12339// SetSkillId sets the SkillId field's value.
12340func (s *DisassociateSkillFromSkillGroupInput) SetSkillId(v string) *DisassociateSkillFromSkillGroupInput {
12341	s.SkillId = &v
12342	return s
12343}
12344
12345type DisassociateSkillFromSkillGroupOutput struct {
12346	_ struct{} `type:"structure"`
12347}
12348
12349// String returns the string representation
12350func (s DisassociateSkillFromSkillGroupOutput) String() string {
12351	return awsutil.Prettify(s)
12352}
12353
12354// GoString returns the string representation
12355func (s DisassociateSkillFromSkillGroupOutput) GoString() string {
12356	return s.String()
12357}
12358
12359type DisassociateSkillFromUsersInput struct {
12360	_ struct{} `type:"structure"`
12361
12362	// The private skill ID you want to make unavailable for enrolled users.
12363	//
12364	// SkillId is a required field
12365	SkillId *string `type:"string" required:"true"`
12366}
12367
12368// String returns the string representation
12369func (s DisassociateSkillFromUsersInput) String() string {
12370	return awsutil.Prettify(s)
12371}
12372
12373// GoString returns the string representation
12374func (s DisassociateSkillFromUsersInput) GoString() string {
12375	return s.String()
12376}
12377
12378// Validate inspects the fields of the type to determine if they are valid.
12379func (s *DisassociateSkillFromUsersInput) Validate() error {
12380	invalidParams := request.ErrInvalidParams{Context: "DisassociateSkillFromUsersInput"}
12381	if s.SkillId == nil {
12382		invalidParams.Add(request.NewErrParamRequired("SkillId"))
12383	}
12384
12385	if invalidParams.Len() > 0 {
12386		return invalidParams
12387	}
12388	return nil
12389}
12390
12391// SetSkillId sets the SkillId field's value.
12392func (s *DisassociateSkillFromUsersInput) SetSkillId(v string) *DisassociateSkillFromUsersInput {
12393	s.SkillId = &v
12394	return s
12395}
12396
12397type DisassociateSkillFromUsersOutput struct {
12398	_ struct{} `type:"structure"`
12399}
12400
12401// String returns the string representation
12402func (s DisassociateSkillFromUsersOutput) String() string {
12403	return awsutil.Prettify(s)
12404}
12405
12406// GoString returns the string representation
12407func (s DisassociateSkillFromUsersOutput) GoString() string {
12408	return s.String()
12409}
12410
12411type DisassociateSkillGroupFromRoomInput struct {
12412	_ struct{} `type:"structure"`
12413
12414	// The ARN of the room from which the skill group is to be disassociated. Required.
12415	RoomArn *string `type:"string"`
12416
12417	// The ARN of the skill group to disassociate from a room. Required.
12418	SkillGroupArn *string `type:"string"`
12419}
12420
12421// String returns the string representation
12422func (s DisassociateSkillGroupFromRoomInput) String() string {
12423	return awsutil.Prettify(s)
12424}
12425
12426// GoString returns the string representation
12427func (s DisassociateSkillGroupFromRoomInput) GoString() string {
12428	return s.String()
12429}
12430
12431// SetRoomArn sets the RoomArn field's value.
12432func (s *DisassociateSkillGroupFromRoomInput) SetRoomArn(v string) *DisassociateSkillGroupFromRoomInput {
12433	s.RoomArn = &v
12434	return s
12435}
12436
12437// SetSkillGroupArn sets the SkillGroupArn field's value.
12438func (s *DisassociateSkillGroupFromRoomInput) SetSkillGroupArn(v string) *DisassociateSkillGroupFromRoomInput {
12439	s.SkillGroupArn = &v
12440	return s
12441}
12442
12443type DisassociateSkillGroupFromRoomOutput struct {
12444	_ struct{} `type:"structure"`
12445}
12446
12447// String returns the string representation
12448func (s DisassociateSkillGroupFromRoomOutput) String() string {
12449	return awsutil.Prettify(s)
12450}
12451
12452// GoString returns the string representation
12453func (s DisassociateSkillGroupFromRoomOutput) GoString() string {
12454	return s.String()
12455}
12456
12457// A filter name and value pair that is used to return a more specific list
12458// of results. Filters can be used to match a set of resources by various criteria.
12459type Filter struct {
12460	_ struct{} `type:"structure"`
12461
12462	// The key of a filter.
12463	//
12464	// Key is a required field
12465	Key *string `min:"1" type:"string" required:"true"`
12466
12467	// The values of a filter.
12468	//
12469	// Values is a required field
12470	Values []*string `type:"list" required:"true"`
12471}
12472
12473// String returns the string representation
12474func (s Filter) String() string {
12475	return awsutil.Prettify(s)
12476}
12477
12478// GoString returns the string representation
12479func (s Filter) GoString() string {
12480	return s.String()
12481}
12482
12483// Validate inspects the fields of the type to determine if they are valid.
12484func (s *Filter) Validate() error {
12485	invalidParams := request.ErrInvalidParams{Context: "Filter"}
12486	if s.Key == nil {
12487		invalidParams.Add(request.NewErrParamRequired("Key"))
12488	}
12489	if s.Key != nil && len(*s.Key) < 1 {
12490		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12491	}
12492	if s.Values == nil {
12493		invalidParams.Add(request.NewErrParamRequired("Values"))
12494	}
12495
12496	if invalidParams.Len() > 0 {
12497		return invalidParams
12498	}
12499	return nil
12500}
12501
12502// SetKey sets the Key field's value.
12503func (s *Filter) SetKey(v string) *Filter {
12504	s.Key = &v
12505	return s
12506}
12507
12508// SetValues sets the Values field's value.
12509func (s *Filter) SetValues(v []*string) *Filter {
12510	s.Values = v
12511	return s
12512}
12513
12514type ForgetSmartHomeAppliancesInput struct {
12515	_ struct{} `type:"structure"`
12516
12517	// The room that the appliances are associated with.
12518	//
12519	// RoomArn is a required field
12520	RoomArn *string `type:"string" required:"true"`
12521}
12522
12523// String returns the string representation
12524func (s ForgetSmartHomeAppliancesInput) String() string {
12525	return awsutil.Prettify(s)
12526}
12527
12528// GoString returns the string representation
12529func (s ForgetSmartHomeAppliancesInput) GoString() string {
12530	return s.String()
12531}
12532
12533// Validate inspects the fields of the type to determine if they are valid.
12534func (s *ForgetSmartHomeAppliancesInput) Validate() error {
12535	invalidParams := request.ErrInvalidParams{Context: "ForgetSmartHomeAppliancesInput"}
12536	if s.RoomArn == nil {
12537		invalidParams.Add(request.NewErrParamRequired("RoomArn"))
12538	}
12539
12540	if invalidParams.Len() > 0 {
12541		return invalidParams
12542	}
12543	return nil
12544}
12545
12546// SetRoomArn sets the RoomArn field's value.
12547func (s *ForgetSmartHomeAppliancesInput) SetRoomArn(v string) *ForgetSmartHomeAppliancesInput {
12548	s.RoomArn = &v
12549	return s
12550}
12551
12552type ForgetSmartHomeAppliancesOutput struct {
12553	_ struct{} `type:"structure"`
12554}
12555
12556// String returns the string representation
12557func (s ForgetSmartHomeAppliancesOutput) String() string {
12558	return awsutil.Prettify(s)
12559}
12560
12561// GoString returns the string representation
12562func (s ForgetSmartHomeAppliancesOutput) GoString() string {
12563	return s.String()
12564}
12565
12566// The details of the gateway.
12567type Gateway struct {
12568	_ struct{} `type:"structure"`
12569
12570	// The ARN of the gateway.
12571	Arn *string `type:"string"`
12572
12573	// The description of the gateway.
12574	Description *string `type:"string"`
12575
12576	// The ARN of the gateway group that the gateway is associated to.
12577	GatewayGroupArn *string `type:"string"`
12578
12579	// The name of the gateway.
12580	Name *string `min:"1" type:"string"`
12581
12582	// The software version of the gateway. The gateway automatically updates its
12583	// software version during normal operation.
12584	SoftwareVersion *string `min:"1" type:"string"`
12585}
12586
12587// String returns the string representation
12588func (s Gateway) String() string {
12589	return awsutil.Prettify(s)
12590}
12591
12592// GoString returns the string representation
12593func (s Gateway) GoString() string {
12594	return s.String()
12595}
12596
12597// SetArn sets the Arn field's value.
12598func (s *Gateway) SetArn(v string) *Gateway {
12599	s.Arn = &v
12600	return s
12601}
12602
12603// SetDescription sets the Description field's value.
12604func (s *Gateway) SetDescription(v string) *Gateway {
12605	s.Description = &v
12606	return s
12607}
12608
12609// SetGatewayGroupArn sets the GatewayGroupArn field's value.
12610func (s *Gateway) SetGatewayGroupArn(v string) *Gateway {
12611	s.GatewayGroupArn = &v
12612	return s
12613}
12614
12615// SetName sets the Name field's value.
12616func (s *Gateway) SetName(v string) *Gateway {
12617	s.Name = &v
12618	return s
12619}
12620
12621// SetSoftwareVersion sets the SoftwareVersion field's value.
12622func (s *Gateway) SetSoftwareVersion(v string) *Gateway {
12623	s.SoftwareVersion = &v
12624	return s
12625}
12626
12627// The details of the gateway group.
12628type GatewayGroup struct {
12629	_ struct{} `type:"structure"`
12630
12631	// The ARN of the gateway group.
12632	Arn *string `type:"string"`
12633
12634	// The description of the gateway group.
12635	Description *string `type:"string"`
12636
12637	// The name of the gateway group.
12638	Name *string `min:"1" type:"string"`
12639}
12640
12641// String returns the string representation
12642func (s GatewayGroup) String() string {
12643	return awsutil.Prettify(s)
12644}
12645
12646// GoString returns the string representation
12647func (s GatewayGroup) GoString() string {
12648	return s.String()
12649}
12650
12651// SetArn sets the Arn field's value.
12652func (s *GatewayGroup) SetArn(v string) *GatewayGroup {
12653	s.Arn = &v
12654	return s
12655}
12656
12657// SetDescription sets the Description field's value.
12658func (s *GatewayGroup) SetDescription(v string) *GatewayGroup {
12659	s.Description = &v
12660	return s
12661}
12662
12663// SetName sets the Name field's value.
12664func (s *GatewayGroup) SetName(v string) *GatewayGroup {
12665	s.Name = &v
12666	return s
12667}
12668
12669// The summary of a gateway group.
12670type GatewayGroupSummary struct {
12671	_ struct{} `type:"structure"`
12672
12673	// The ARN of the gateway group.
12674	Arn *string `type:"string"`
12675
12676	// The description of the gateway group.
12677	Description *string `type:"string"`
12678
12679	// The name of the gateway group.
12680	Name *string `min:"1" type:"string"`
12681}
12682
12683// String returns the string representation
12684func (s GatewayGroupSummary) String() string {
12685	return awsutil.Prettify(s)
12686}
12687
12688// GoString returns the string representation
12689func (s GatewayGroupSummary) GoString() string {
12690	return s.String()
12691}
12692
12693// SetArn sets the Arn field's value.
12694func (s *GatewayGroupSummary) SetArn(v string) *GatewayGroupSummary {
12695	s.Arn = &v
12696	return s
12697}
12698
12699// SetDescription sets the Description field's value.
12700func (s *GatewayGroupSummary) SetDescription(v string) *GatewayGroupSummary {
12701	s.Description = &v
12702	return s
12703}
12704
12705// SetName sets the Name field's value.
12706func (s *GatewayGroupSummary) SetName(v string) *GatewayGroupSummary {
12707	s.Name = &v
12708	return s
12709}
12710
12711// The summary of a gateway.
12712type GatewaySummary struct {
12713	_ struct{} `type:"structure"`
12714
12715	// The ARN of the gateway.
12716	Arn *string `type:"string"`
12717
12718	// The description of the gateway.
12719	Description *string `type:"string"`
12720
12721	// The ARN of the gateway group that the gateway is associated to.
12722	GatewayGroupArn *string `type:"string"`
12723
12724	// The name of the gateway.
12725	Name *string `min:"1" type:"string"`
12726
12727	// The software version of the gateway. The gateway automatically updates its
12728	// software version during normal operation.
12729	SoftwareVersion *string `min:"1" type:"string"`
12730}
12731
12732// String returns the string representation
12733func (s GatewaySummary) String() string {
12734	return awsutil.Prettify(s)
12735}
12736
12737// GoString returns the string representation
12738func (s GatewaySummary) GoString() string {
12739	return s.String()
12740}
12741
12742// SetArn sets the Arn field's value.
12743func (s *GatewaySummary) SetArn(v string) *GatewaySummary {
12744	s.Arn = &v
12745	return s
12746}
12747
12748// SetDescription sets the Description field's value.
12749func (s *GatewaySummary) SetDescription(v string) *GatewaySummary {
12750	s.Description = &v
12751	return s
12752}
12753
12754// SetGatewayGroupArn sets the GatewayGroupArn field's value.
12755func (s *GatewaySummary) SetGatewayGroupArn(v string) *GatewaySummary {
12756	s.GatewayGroupArn = &v
12757	return s
12758}
12759
12760// SetName sets the Name field's value.
12761func (s *GatewaySummary) SetName(v string) *GatewaySummary {
12762	s.Name = &v
12763	return s
12764}
12765
12766// SetSoftwareVersion sets the SoftwareVersion field's value.
12767func (s *GatewaySummary) SetSoftwareVersion(v string) *GatewaySummary {
12768	s.SoftwareVersion = &v
12769	return s
12770}
12771
12772type GetAddressBookInput struct {
12773	_ struct{} `type:"structure"`
12774
12775	// The ARN of the address book for which to request details.
12776	//
12777	// AddressBookArn is a required field
12778	AddressBookArn *string `type:"string" required:"true"`
12779}
12780
12781// String returns the string representation
12782func (s GetAddressBookInput) String() string {
12783	return awsutil.Prettify(s)
12784}
12785
12786// GoString returns the string representation
12787func (s GetAddressBookInput) GoString() string {
12788	return s.String()
12789}
12790
12791// Validate inspects the fields of the type to determine if they are valid.
12792func (s *GetAddressBookInput) Validate() error {
12793	invalidParams := request.ErrInvalidParams{Context: "GetAddressBookInput"}
12794	if s.AddressBookArn == nil {
12795		invalidParams.Add(request.NewErrParamRequired("AddressBookArn"))
12796	}
12797
12798	if invalidParams.Len() > 0 {
12799		return invalidParams
12800	}
12801	return nil
12802}
12803
12804// SetAddressBookArn sets the AddressBookArn field's value.
12805func (s *GetAddressBookInput) SetAddressBookArn(v string) *GetAddressBookInput {
12806	s.AddressBookArn = &v
12807	return s
12808}
12809
12810type GetAddressBookOutput struct {
12811	_ struct{} `type:"structure"`
12812
12813	// The details of the requested address book.
12814	AddressBook *AddressBook `type:"structure"`
12815}
12816
12817// String returns the string representation
12818func (s GetAddressBookOutput) String() string {
12819	return awsutil.Prettify(s)
12820}
12821
12822// GoString returns the string representation
12823func (s GetAddressBookOutput) GoString() string {
12824	return s.String()
12825}
12826
12827// SetAddressBook sets the AddressBook field's value.
12828func (s *GetAddressBookOutput) SetAddressBook(v *AddressBook) *GetAddressBookOutput {
12829	s.AddressBook = v
12830	return s
12831}
12832
12833type GetConferencePreferenceInput struct {
12834	_ struct{} `type:"structure"`
12835}
12836
12837// String returns the string representation
12838func (s GetConferencePreferenceInput) String() string {
12839	return awsutil.Prettify(s)
12840}
12841
12842// GoString returns the string representation
12843func (s GetConferencePreferenceInput) GoString() string {
12844	return s.String()
12845}
12846
12847type GetConferencePreferenceOutput struct {
12848	_ struct{} `type:"structure"`
12849
12850	// The conference preference.
12851	Preference *ConferencePreference `type:"structure"`
12852}
12853
12854// String returns the string representation
12855func (s GetConferencePreferenceOutput) String() string {
12856	return awsutil.Prettify(s)
12857}
12858
12859// GoString returns the string representation
12860func (s GetConferencePreferenceOutput) GoString() string {
12861	return s.String()
12862}
12863
12864// SetPreference sets the Preference field's value.
12865func (s *GetConferencePreferenceOutput) SetPreference(v *ConferencePreference) *GetConferencePreferenceOutput {
12866	s.Preference = v
12867	return s
12868}
12869
12870type GetConferenceProviderInput struct {
12871	_ struct{} `type:"structure"`
12872
12873	// The ARN of the newly created conference provider.
12874	//
12875	// ConferenceProviderArn is a required field
12876	ConferenceProviderArn *string `type:"string" required:"true"`
12877}
12878
12879// String returns the string representation
12880func (s GetConferenceProviderInput) String() string {
12881	return awsutil.Prettify(s)
12882}
12883
12884// GoString returns the string representation
12885func (s GetConferenceProviderInput) GoString() string {
12886	return s.String()
12887}
12888
12889// Validate inspects the fields of the type to determine if they are valid.
12890func (s *GetConferenceProviderInput) Validate() error {
12891	invalidParams := request.ErrInvalidParams{Context: "GetConferenceProviderInput"}
12892	if s.ConferenceProviderArn == nil {
12893		invalidParams.Add(request.NewErrParamRequired("ConferenceProviderArn"))
12894	}
12895
12896	if invalidParams.Len() > 0 {
12897		return invalidParams
12898	}
12899	return nil
12900}
12901
12902// SetConferenceProviderArn sets the ConferenceProviderArn field's value.
12903func (s *GetConferenceProviderInput) SetConferenceProviderArn(v string) *GetConferenceProviderInput {
12904	s.ConferenceProviderArn = &v
12905	return s
12906}
12907
12908type GetConferenceProviderOutput struct {
12909	_ struct{} `type:"structure"`
12910
12911	// The conference provider.
12912	ConferenceProvider *ConferenceProvider `type:"structure"`
12913}
12914
12915// String returns the string representation
12916func (s GetConferenceProviderOutput) String() string {
12917	return awsutil.Prettify(s)
12918}
12919
12920// GoString returns the string representation
12921func (s GetConferenceProviderOutput) GoString() string {
12922	return s.String()
12923}
12924
12925// SetConferenceProvider sets the ConferenceProvider field's value.
12926func (s *GetConferenceProviderOutput) SetConferenceProvider(v *ConferenceProvider) *GetConferenceProviderOutput {
12927	s.ConferenceProvider = v
12928	return s
12929}
12930
12931type GetContactInput struct {
12932	_ struct{} `type:"structure"`
12933
12934	// The ARN of the contact for which to request details.
12935	//
12936	// ContactArn is a required field
12937	ContactArn *string `type:"string" required:"true"`
12938}
12939
12940// String returns the string representation
12941func (s GetContactInput) String() string {
12942	return awsutil.Prettify(s)
12943}
12944
12945// GoString returns the string representation
12946func (s GetContactInput) GoString() string {
12947	return s.String()
12948}
12949
12950// Validate inspects the fields of the type to determine if they are valid.
12951func (s *GetContactInput) Validate() error {
12952	invalidParams := request.ErrInvalidParams{Context: "GetContactInput"}
12953	if s.ContactArn == nil {
12954		invalidParams.Add(request.NewErrParamRequired("ContactArn"))
12955	}
12956
12957	if invalidParams.Len() > 0 {
12958		return invalidParams
12959	}
12960	return nil
12961}
12962
12963// SetContactArn sets the ContactArn field's value.
12964func (s *GetContactInput) SetContactArn(v string) *GetContactInput {
12965	s.ContactArn = &v
12966	return s
12967}
12968
12969type GetContactOutput struct {
12970	_ struct{} `type:"structure"`
12971
12972	// The details of the requested contact.
12973	Contact *Contact `type:"structure"`
12974}
12975
12976// String returns the string representation
12977func (s GetContactOutput) String() string {
12978	return awsutil.Prettify(s)
12979}
12980
12981// GoString returns the string representation
12982func (s GetContactOutput) GoString() string {
12983	return s.String()
12984}
12985
12986// SetContact sets the Contact field's value.
12987func (s *GetContactOutput) SetContact(v *Contact) *GetContactOutput {
12988	s.Contact = v
12989	return s
12990}
12991
12992type GetDeviceInput struct {
12993	_ struct{} `type:"structure"`
12994
12995	// The ARN of the device for which to request details. Required.
12996	DeviceArn *string `type:"string"`
12997}
12998
12999// String returns the string representation
13000func (s GetDeviceInput) String() string {
13001	return awsutil.Prettify(s)
13002}
13003
13004// GoString returns the string representation
13005func (s GetDeviceInput) GoString() string {
13006	return s.String()
13007}
13008
13009// SetDeviceArn sets the DeviceArn field's value.
13010func (s *GetDeviceInput) SetDeviceArn(v string) *GetDeviceInput {
13011	s.DeviceArn = &v
13012	return s
13013}
13014
13015type GetDeviceOutput struct {
13016	_ struct{} `type:"structure"`
13017
13018	// The details of the device requested. Required.
13019	Device *Device `type:"structure"`
13020}
13021
13022// String returns the string representation
13023func (s GetDeviceOutput) String() string {
13024	return awsutil.Prettify(s)
13025}
13026
13027// GoString returns the string representation
13028func (s GetDeviceOutput) GoString() string {
13029	return s.String()
13030}
13031
13032// SetDevice sets the Device field's value.
13033func (s *GetDeviceOutput) SetDevice(v *Device) *GetDeviceOutput {
13034	s.Device = v
13035	return s
13036}
13037
13038type GetGatewayGroupInput struct {
13039	_ struct{} `type:"structure"`
13040
13041	// The ARN of the gateway group to get.
13042	//
13043	// GatewayGroupArn is a required field
13044	GatewayGroupArn *string `type:"string" required:"true"`
13045}
13046
13047// String returns the string representation
13048func (s GetGatewayGroupInput) String() string {
13049	return awsutil.Prettify(s)
13050}
13051
13052// GoString returns the string representation
13053func (s GetGatewayGroupInput) GoString() string {
13054	return s.String()
13055}
13056
13057// Validate inspects the fields of the type to determine if they are valid.
13058func (s *GetGatewayGroupInput) Validate() error {
13059	invalidParams := request.ErrInvalidParams{Context: "GetGatewayGroupInput"}
13060	if s.GatewayGroupArn == nil {
13061		invalidParams.Add(request.NewErrParamRequired("GatewayGroupArn"))
13062	}
13063
13064	if invalidParams.Len() > 0 {
13065		return invalidParams
13066	}
13067	return nil
13068}
13069
13070// SetGatewayGroupArn sets the GatewayGroupArn field's value.
13071func (s *GetGatewayGroupInput) SetGatewayGroupArn(v string) *GetGatewayGroupInput {
13072	s.GatewayGroupArn = &v
13073	return s
13074}
13075
13076type GetGatewayGroupOutput struct {
13077	_ struct{} `type:"structure"`
13078
13079	// The details of the gateway group.
13080	GatewayGroup *GatewayGroup `type:"structure"`
13081}
13082
13083// String returns the string representation
13084func (s GetGatewayGroupOutput) String() string {
13085	return awsutil.Prettify(s)
13086}
13087
13088// GoString returns the string representation
13089func (s GetGatewayGroupOutput) GoString() string {
13090	return s.String()
13091}
13092
13093// SetGatewayGroup sets the GatewayGroup field's value.
13094func (s *GetGatewayGroupOutput) SetGatewayGroup(v *GatewayGroup) *GetGatewayGroupOutput {
13095	s.GatewayGroup = v
13096	return s
13097}
13098
13099type GetGatewayInput struct {
13100	_ struct{} `type:"structure"`
13101
13102	// The ARN of the gateway to get.
13103	//
13104	// GatewayArn is a required field
13105	GatewayArn *string `type:"string" required:"true"`
13106}
13107
13108// String returns the string representation
13109func (s GetGatewayInput) String() string {
13110	return awsutil.Prettify(s)
13111}
13112
13113// GoString returns the string representation
13114func (s GetGatewayInput) GoString() string {
13115	return s.String()
13116}
13117
13118// Validate inspects the fields of the type to determine if they are valid.
13119func (s *GetGatewayInput) Validate() error {
13120	invalidParams := request.ErrInvalidParams{Context: "GetGatewayInput"}
13121	if s.GatewayArn == nil {
13122		invalidParams.Add(request.NewErrParamRequired("GatewayArn"))
13123	}
13124
13125	if invalidParams.Len() > 0 {
13126		return invalidParams
13127	}
13128	return nil
13129}
13130
13131// SetGatewayArn sets the GatewayArn field's value.
13132func (s *GetGatewayInput) SetGatewayArn(v string) *GetGatewayInput {
13133	s.GatewayArn = &v
13134	return s
13135}
13136
13137type GetGatewayOutput struct {
13138	_ struct{} `type:"structure"`
13139
13140	// The details of the gateway.
13141	Gateway *Gateway `type:"structure"`
13142}
13143
13144// String returns the string representation
13145func (s GetGatewayOutput) String() string {
13146	return awsutil.Prettify(s)
13147}
13148
13149// GoString returns the string representation
13150func (s GetGatewayOutput) GoString() string {
13151	return s.String()
13152}
13153
13154// SetGateway sets the Gateway field's value.
13155func (s *GetGatewayOutput) SetGateway(v *Gateway) *GetGatewayOutput {
13156	s.Gateway = v
13157	return s
13158}
13159
13160type GetInvitationConfigurationInput struct {
13161	_ struct{} `type:"structure"`
13162}
13163
13164// String returns the string representation
13165func (s GetInvitationConfigurationInput) String() string {
13166	return awsutil.Prettify(s)
13167}
13168
13169// GoString returns the string representation
13170func (s GetInvitationConfigurationInput) GoString() string {
13171	return s.String()
13172}
13173
13174type GetInvitationConfigurationOutput struct {
13175	_ struct{} `type:"structure"`
13176
13177	// The email ID of the organization or individual contact that the enrolled
13178	// user can use.
13179	ContactEmail *string `min:"1" type:"string"`
13180
13181	// The name of the organization sending the enrollment invite to a user.
13182	OrganizationName *string `min:"1" type:"string"`
13183
13184	// The list of private skill IDs that you want to recommend to the user to enable
13185	// in the invitation.
13186	PrivateSkillIds []*string `type:"list"`
13187}
13188
13189// String returns the string representation
13190func (s GetInvitationConfigurationOutput) String() string {
13191	return awsutil.Prettify(s)
13192}
13193
13194// GoString returns the string representation
13195func (s GetInvitationConfigurationOutput) GoString() string {
13196	return s.String()
13197}
13198
13199// SetContactEmail sets the ContactEmail field's value.
13200func (s *GetInvitationConfigurationOutput) SetContactEmail(v string) *GetInvitationConfigurationOutput {
13201	s.ContactEmail = &v
13202	return s
13203}
13204
13205// SetOrganizationName sets the OrganizationName field's value.
13206func (s *GetInvitationConfigurationOutput) SetOrganizationName(v string) *GetInvitationConfigurationOutput {
13207	s.OrganizationName = &v
13208	return s
13209}
13210
13211// SetPrivateSkillIds sets the PrivateSkillIds field's value.
13212func (s *GetInvitationConfigurationOutput) SetPrivateSkillIds(v []*string) *GetInvitationConfigurationOutput {
13213	s.PrivateSkillIds = v
13214	return s
13215}
13216
13217type GetNetworkProfileInput struct {
13218	_ struct{} `type:"structure"`
13219
13220	// The ARN of the network profile associated with a device.
13221	//
13222	// NetworkProfileArn is a required field
13223	NetworkProfileArn *string `type:"string" required:"true"`
13224}
13225
13226// String returns the string representation
13227func (s GetNetworkProfileInput) String() string {
13228	return awsutil.Prettify(s)
13229}
13230
13231// GoString returns the string representation
13232func (s GetNetworkProfileInput) GoString() string {
13233	return s.String()
13234}
13235
13236// Validate inspects the fields of the type to determine if they are valid.
13237func (s *GetNetworkProfileInput) Validate() error {
13238	invalidParams := request.ErrInvalidParams{Context: "GetNetworkProfileInput"}
13239	if s.NetworkProfileArn == nil {
13240		invalidParams.Add(request.NewErrParamRequired("NetworkProfileArn"))
13241	}
13242
13243	if invalidParams.Len() > 0 {
13244		return invalidParams
13245	}
13246	return nil
13247}
13248
13249// SetNetworkProfileArn sets the NetworkProfileArn field's value.
13250func (s *GetNetworkProfileInput) SetNetworkProfileArn(v string) *GetNetworkProfileInput {
13251	s.NetworkProfileArn = &v
13252	return s
13253}
13254
13255type GetNetworkProfileOutput struct {
13256	_ struct{} `type:"structure"`
13257
13258	// The network profile associated with a device.
13259	NetworkProfile *NetworkProfile `type:"structure"`
13260}
13261
13262// String returns the string representation
13263func (s GetNetworkProfileOutput) String() string {
13264	return awsutil.Prettify(s)
13265}
13266
13267// GoString returns the string representation
13268func (s GetNetworkProfileOutput) GoString() string {
13269	return s.String()
13270}
13271
13272// SetNetworkProfile sets the NetworkProfile field's value.
13273func (s *GetNetworkProfileOutput) SetNetworkProfile(v *NetworkProfile) *GetNetworkProfileOutput {
13274	s.NetworkProfile = v
13275	return s
13276}
13277
13278type GetProfileInput struct {
13279	_ struct{} `type:"structure"`
13280
13281	// The ARN of the room profile for which to request details. Required.
13282	ProfileArn *string `type:"string"`
13283}
13284
13285// String returns the string representation
13286func (s GetProfileInput) String() string {
13287	return awsutil.Prettify(s)
13288}
13289
13290// GoString returns the string representation
13291func (s GetProfileInput) GoString() string {
13292	return s.String()
13293}
13294
13295// SetProfileArn sets the ProfileArn field's value.
13296func (s *GetProfileInput) SetProfileArn(v string) *GetProfileInput {
13297	s.ProfileArn = &v
13298	return s
13299}
13300
13301type GetProfileOutput struct {
13302	_ struct{} `type:"structure"`
13303
13304	// The details of the room profile requested. Required.
13305	Profile *Profile `type:"structure"`
13306}
13307
13308// String returns the string representation
13309func (s GetProfileOutput) String() string {
13310	return awsutil.Prettify(s)
13311}
13312
13313// GoString returns the string representation
13314func (s GetProfileOutput) GoString() string {
13315	return s.String()
13316}
13317
13318// SetProfile sets the Profile field's value.
13319func (s *GetProfileOutput) SetProfile(v *Profile) *GetProfileOutput {
13320	s.Profile = v
13321	return s
13322}
13323
13324type GetRoomInput struct {
13325	_ struct{} `type:"structure"`
13326
13327	// The ARN of the room for which to request details. Required.
13328	RoomArn *string `type:"string"`
13329}
13330
13331// String returns the string representation
13332func (s GetRoomInput) String() string {
13333	return awsutil.Prettify(s)
13334}
13335
13336// GoString returns the string representation
13337func (s GetRoomInput) GoString() string {
13338	return s.String()
13339}
13340
13341// SetRoomArn sets the RoomArn field's value.
13342func (s *GetRoomInput) SetRoomArn(v string) *GetRoomInput {
13343	s.RoomArn = &v
13344	return s
13345}
13346
13347type GetRoomOutput struct {
13348	_ struct{} `type:"structure"`
13349
13350	// The details of the room requested.
13351	Room *Room `type:"structure"`
13352}
13353
13354// String returns the string representation
13355func (s GetRoomOutput) String() string {
13356	return awsutil.Prettify(s)
13357}
13358
13359// GoString returns the string representation
13360func (s GetRoomOutput) GoString() string {
13361	return s.String()
13362}
13363
13364// SetRoom sets the Room field's value.
13365func (s *GetRoomOutput) SetRoom(v *Room) *GetRoomOutput {
13366	s.Room = v
13367	return s
13368}
13369
13370type GetRoomSkillParameterInput struct {
13371	_ struct{} `type:"structure"`
13372
13373	// The room skill parameter key for which to get details. Required.
13374	//
13375	// ParameterKey is a required field
13376	ParameterKey *string `min:"1" type:"string" required:"true"`
13377
13378	// The ARN of the room from which to get the room skill parameter details.
13379	RoomArn *string `type:"string"`
13380
13381	// The ARN of the skill from which to get the room skill parameter details.
13382	// Required.
13383	//
13384	// SkillId is a required field
13385	SkillId *string `type:"string" required:"true"`
13386}
13387
13388// String returns the string representation
13389func (s GetRoomSkillParameterInput) String() string {
13390	return awsutil.Prettify(s)
13391}
13392
13393// GoString returns the string representation
13394func (s GetRoomSkillParameterInput) GoString() string {
13395	return s.String()
13396}
13397
13398// Validate inspects the fields of the type to determine if they are valid.
13399func (s *GetRoomSkillParameterInput) Validate() error {
13400	invalidParams := request.ErrInvalidParams{Context: "GetRoomSkillParameterInput"}
13401	if s.ParameterKey == nil {
13402		invalidParams.Add(request.NewErrParamRequired("ParameterKey"))
13403	}
13404	if s.ParameterKey != nil && len(*s.ParameterKey) < 1 {
13405		invalidParams.Add(request.NewErrParamMinLen("ParameterKey", 1))
13406	}
13407	if s.SkillId == nil {
13408		invalidParams.Add(request.NewErrParamRequired("SkillId"))
13409	}
13410
13411	if invalidParams.Len() > 0 {
13412		return invalidParams
13413	}
13414	return nil
13415}
13416
13417// SetParameterKey sets the ParameterKey field's value.
13418func (s *GetRoomSkillParameterInput) SetParameterKey(v string) *GetRoomSkillParameterInput {
13419	s.ParameterKey = &v
13420	return s
13421}
13422
13423// SetRoomArn sets the RoomArn field's value.
13424func (s *GetRoomSkillParameterInput) SetRoomArn(v string) *GetRoomSkillParameterInput {
13425	s.RoomArn = &v
13426	return s
13427}
13428
13429// SetSkillId sets the SkillId field's value.
13430func (s *GetRoomSkillParameterInput) SetSkillId(v string) *GetRoomSkillParameterInput {
13431	s.SkillId = &v
13432	return s
13433}
13434
13435type GetRoomSkillParameterOutput struct {
13436	_ struct{} `type:"structure"`
13437
13438	// The details of the room skill parameter requested. Required.
13439	RoomSkillParameter *RoomSkillParameter `type:"structure"`
13440}
13441
13442// String returns the string representation
13443func (s GetRoomSkillParameterOutput) String() string {
13444	return awsutil.Prettify(s)
13445}
13446
13447// GoString returns the string representation
13448func (s GetRoomSkillParameterOutput) GoString() string {
13449	return s.String()
13450}
13451
13452// SetRoomSkillParameter sets the RoomSkillParameter field's value.
13453func (s *GetRoomSkillParameterOutput) SetRoomSkillParameter(v *RoomSkillParameter) *GetRoomSkillParameterOutput {
13454	s.RoomSkillParameter = v
13455	return s
13456}
13457
13458type GetSkillGroupInput struct {
13459	_ struct{} `type:"structure"`
13460
13461	// The ARN of the skill group for which to get details. Required.
13462	SkillGroupArn *string `type:"string"`
13463}
13464
13465// String returns the string representation
13466func (s GetSkillGroupInput) String() string {
13467	return awsutil.Prettify(s)
13468}
13469
13470// GoString returns the string representation
13471func (s GetSkillGroupInput) GoString() string {
13472	return s.String()
13473}
13474
13475// SetSkillGroupArn sets the SkillGroupArn field's value.
13476func (s *GetSkillGroupInput) SetSkillGroupArn(v string) *GetSkillGroupInput {
13477	s.SkillGroupArn = &v
13478	return s
13479}
13480
13481type GetSkillGroupOutput struct {
13482	_ struct{} `type:"structure"`
13483
13484	// The details of the skill group requested. Required.
13485	SkillGroup *SkillGroup `type:"structure"`
13486}
13487
13488// String returns the string representation
13489func (s GetSkillGroupOutput) String() string {
13490	return awsutil.Prettify(s)
13491}
13492
13493// GoString returns the string representation
13494func (s GetSkillGroupOutput) GoString() string {
13495	return s.String()
13496}
13497
13498// SetSkillGroup sets the SkillGroup field's value.
13499func (s *GetSkillGroupOutput) SetSkillGroup(v *SkillGroup) *GetSkillGroupOutput {
13500	s.SkillGroup = v
13501	return s
13502}
13503
13504// The IP endpoint and protocol for calling.
13505type IPDialIn struct {
13506	_ struct{} `type:"structure"`
13507
13508	// The protocol, including SIP, SIPS, and H323.
13509	//
13510	// CommsProtocol is a required field
13511	CommsProtocol *string `type:"string" required:"true" enum:"CommsProtocol"`
13512
13513	// The IP address.
13514	//
13515	// Endpoint is a required field
13516	Endpoint *string `min:"1" type:"string" required:"true"`
13517}
13518
13519// String returns the string representation
13520func (s IPDialIn) String() string {
13521	return awsutil.Prettify(s)
13522}
13523
13524// GoString returns the string representation
13525func (s IPDialIn) GoString() string {
13526	return s.String()
13527}
13528
13529// Validate inspects the fields of the type to determine if they are valid.
13530func (s *IPDialIn) Validate() error {
13531	invalidParams := request.ErrInvalidParams{Context: "IPDialIn"}
13532	if s.CommsProtocol == nil {
13533		invalidParams.Add(request.NewErrParamRequired("CommsProtocol"))
13534	}
13535	if s.Endpoint == nil {
13536		invalidParams.Add(request.NewErrParamRequired("Endpoint"))
13537	}
13538	if s.Endpoint != nil && len(*s.Endpoint) < 1 {
13539		invalidParams.Add(request.NewErrParamMinLen("Endpoint", 1))
13540	}
13541
13542	if invalidParams.Len() > 0 {
13543		return invalidParams
13544	}
13545	return nil
13546}
13547
13548// SetCommsProtocol sets the CommsProtocol field's value.
13549func (s *IPDialIn) SetCommsProtocol(v string) *IPDialIn {
13550	s.CommsProtocol = &v
13551	return s
13552}
13553
13554// SetEndpoint sets the Endpoint field's value.
13555func (s *IPDialIn) SetEndpoint(v string) *IPDialIn {
13556	s.Endpoint = &v
13557	return s
13558}
13559
13560type ListBusinessReportSchedulesInput struct {
13561	_ struct{} `type:"structure"`
13562
13563	// The maximum number of schedules listed in the call.
13564	MaxResults *int64 `min:"1" type:"integer"`
13565
13566	// The token used to list the remaining schedules from the previous API call.
13567	NextToken *string `min:"1" type:"string"`
13568}
13569
13570// String returns the string representation
13571func (s ListBusinessReportSchedulesInput) String() string {
13572	return awsutil.Prettify(s)
13573}
13574
13575// GoString returns the string representation
13576func (s ListBusinessReportSchedulesInput) GoString() string {
13577	return s.String()
13578}
13579
13580// Validate inspects the fields of the type to determine if they are valid.
13581func (s *ListBusinessReportSchedulesInput) Validate() error {
13582	invalidParams := request.ErrInvalidParams{Context: "ListBusinessReportSchedulesInput"}
13583	if s.MaxResults != nil && *s.MaxResults < 1 {
13584		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
13585	}
13586	if s.NextToken != nil && len(*s.NextToken) < 1 {
13587		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
13588	}
13589
13590	if invalidParams.Len() > 0 {
13591		return invalidParams
13592	}
13593	return nil
13594}
13595
13596// SetMaxResults sets the MaxResults field's value.
13597func (s *ListBusinessReportSchedulesInput) SetMaxResults(v int64) *ListBusinessReportSchedulesInput {
13598	s.MaxResults = &v
13599	return s
13600}
13601
13602// SetNextToken sets the NextToken field's value.
13603func (s *ListBusinessReportSchedulesInput) SetNextToken(v string) *ListBusinessReportSchedulesInput {
13604	s.NextToken = &v
13605	return s
13606}
13607
13608type ListBusinessReportSchedulesOutput struct {
13609	_ struct{} `type:"structure"`
13610
13611	// The schedule of the reports.
13612	BusinessReportSchedules []*BusinessReportSchedule `type:"list"`
13613
13614	// The token used to list the remaining schedules from the previous API call.
13615	NextToken *string `min:"1" type:"string"`
13616}
13617
13618// String returns the string representation
13619func (s ListBusinessReportSchedulesOutput) String() string {
13620	return awsutil.Prettify(s)
13621}
13622
13623// GoString returns the string representation
13624func (s ListBusinessReportSchedulesOutput) GoString() string {
13625	return s.String()
13626}
13627
13628// SetBusinessReportSchedules sets the BusinessReportSchedules field's value.
13629func (s *ListBusinessReportSchedulesOutput) SetBusinessReportSchedules(v []*BusinessReportSchedule) *ListBusinessReportSchedulesOutput {
13630	s.BusinessReportSchedules = v
13631	return s
13632}
13633
13634// SetNextToken sets the NextToken field's value.
13635func (s *ListBusinessReportSchedulesOutput) SetNextToken(v string) *ListBusinessReportSchedulesOutput {
13636	s.NextToken = &v
13637	return s
13638}
13639
13640type ListConferenceProvidersInput struct {
13641	_ struct{} `type:"structure"`
13642
13643	// The maximum number of conference providers to be returned, per paginated
13644	// calls.
13645	MaxResults *int64 `min:"1" type:"integer"`
13646
13647	// The tokens used for pagination.
13648	NextToken *string `min:"1" type:"string"`
13649}
13650
13651// String returns the string representation
13652func (s ListConferenceProvidersInput) String() string {
13653	return awsutil.Prettify(s)
13654}
13655
13656// GoString returns the string representation
13657func (s ListConferenceProvidersInput) GoString() string {
13658	return s.String()
13659}
13660
13661// Validate inspects the fields of the type to determine if they are valid.
13662func (s *ListConferenceProvidersInput) Validate() error {
13663	invalidParams := request.ErrInvalidParams{Context: "ListConferenceProvidersInput"}
13664	if s.MaxResults != nil && *s.MaxResults < 1 {
13665		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
13666	}
13667	if s.NextToken != nil && len(*s.NextToken) < 1 {
13668		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
13669	}
13670
13671	if invalidParams.Len() > 0 {
13672		return invalidParams
13673	}
13674	return nil
13675}
13676
13677// SetMaxResults sets the MaxResults field's value.
13678func (s *ListConferenceProvidersInput) SetMaxResults(v int64) *ListConferenceProvidersInput {
13679	s.MaxResults = &v
13680	return s
13681}
13682
13683// SetNextToken sets the NextToken field's value.
13684func (s *ListConferenceProvidersInput) SetNextToken(v string) *ListConferenceProvidersInput {
13685	s.NextToken = &v
13686	return s
13687}
13688
13689type ListConferenceProvidersOutput struct {
13690	_ struct{} `type:"structure"`
13691
13692	// The conference providers.
13693	ConferenceProviders []*ConferenceProvider `type:"list"`
13694
13695	// The tokens used for pagination.
13696	NextToken *string `min:"1" type:"string"`
13697}
13698
13699// String returns the string representation
13700func (s ListConferenceProvidersOutput) String() string {
13701	return awsutil.Prettify(s)
13702}
13703
13704// GoString returns the string representation
13705func (s ListConferenceProvidersOutput) GoString() string {
13706	return s.String()
13707}
13708
13709// SetConferenceProviders sets the ConferenceProviders field's value.
13710func (s *ListConferenceProvidersOutput) SetConferenceProviders(v []*ConferenceProvider) *ListConferenceProvidersOutput {
13711	s.ConferenceProviders = v
13712	return s
13713}
13714
13715// SetNextToken sets the NextToken field's value.
13716func (s *ListConferenceProvidersOutput) SetNextToken(v string) *ListConferenceProvidersOutput {
13717	s.NextToken = &v
13718	return s
13719}
13720
13721type ListDeviceEventsInput struct {
13722	_ struct{} `type:"structure"`
13723
13724	// The ARN of a device.
13725	//
13726	// DeviceArn is a required field
13727	DeviceArn *string `type:"string" required:"true"`
13728
13729	// The event type to filter device events. If EventType isn't specified, this
13730	// returns a list of all device events in reverse chronological order. If EventType
13731	// is specified, this returns a list of device events for that EventType in
13732	// reverse chronological order.
13733	EventType *string `type:"string" enum:"DeviceEventType"`
13734
13735	// The maximum number of results to include in the response. The default value
13736	// is 50. If more results exist than the specified MaxResults value, a token
13737	// is included in the response so that the remaining results can be retrieved.
13738	MaxResults *int64 `min:"1" type:"integer"`
13739
13740	// An optional token returned from a prior request. Use this token for pagination
13741	// of results from this action. If this parameter is specified, the response
13742	// only includes results beyond the token, up to the value specified by MaxResults.
13743	// When the end of results is reached, the response has a value of null.
13744	NextToken *string `min:"1" type:"string"`
13745}
13746
13747// String returns the string representation
13748func (s ListDeviceEventsInput) String() string {
13749	return awsutil.Prettify(s)
13750}
13751
13752// GoString returns the string representation
13753func (s ListDeviceEventsInput) GoString() string {
13754	return s.String()
13755}
13756
13757// Validate inspects the fields of the type to determine if they are valid.
13758func (s *ListDeviceEventsInput) Validate() error {
13759	invalidParams := request.ErrInvalidParams{Context: "ListDeviceEventsInput"}
13760	if s.DeviceArn == nil {
13761		invalidParams.Add(request.NewErrParamRequired("DeviceArn"))
13762	}
13763	if s.MaxResults != nil && *s.MaxResults < 1 {
13764		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
13765	}
13766	if s.NextToken != nil && len(*s.NextToken) < 1 {
13767		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
13768	}
13769
13770	if invalidParams.Len() > 0 {
13771		return invalidParams
13772	}
13773	return nil
13774}
13775
13776// SetDeviceArn sets the DeviceArn field's value.
13777func (s *ListDeviceEventsInput) SetDeviceArn(v string) *ListDeviceEventsInput {
13778	s.DeviceArn = &v
13779	return s
13780}
13781
13782// SetEventType sets the EventType field's value.
13783func (s *ListDeviceEventsInput) SetEventType(v string) *ListDeviceEventsInput {
13784	s.EventType = &v
13785	return s
13786}
13787
13788// SetMaxResults sets the MaxResults field's value.
13789func (s *ListDeviceEventsInput) SetMaxResults(v int64) *ListDeviceEventsInput {
13790	s.MaxResults = &v
13791	return s
13792}
13793
13794// SetNextToken sets the NextToken field's value.
13795func (s *ListDeviceEventsInput) SetNextToken(v string) *ListDeviceEventsInput {
13796	s.NextToken = &v
13797	return s
13798}
13799
13800type ListDeviceEventsOutput struct {
13801	_ struct{} `type:"structure"`
13802
13803	// The device events requested for the device ARN.
13804	DeviceEvents []*DeviceEvent `type:"list"`
13805
13806	// The token returned to indicate that there is more data available.
13807	NextToken *string `min:"1" type:"string"`
13808}
13809
13810// String returns the string representation
13811func (s ListDeviceEventsOutput) String() string {
13812	return awsutil.Prettify(s)
13813}
13814
13815// GoString returns the string representation
13816func (s ListDeviceEventsOutput) GoString() string {
13817	return s.String()
13818}
13819
13820// SetDeviceEvents sets the DeviceEvents field's value.
13821func (s *ListDeviceEventsOutput) SetDeviceEvents(v []*DeviceEvent) *ListDeviceEventsOutput {
13822	s.DeviceEvents = v
13823	return s
13824}
13825
13826// SetNextToken sets the NextToken field's value.
13827func (s *ListDeviceEventsOutput) SetNextToken(v string) *ListDeviceEventsOutput {
13828	s.NextToken = &v
13829	return s
13830}
13831
13832type ListGatewayGroupsInput struct {
13833	_ struct{} `type:"structure"`
13834
13835	// The maximum number of gateway group summaries to return. The default is 50.
13836	MaxResults *int64 `min:"1" type:"integer"`
13837
13838	// The token used to paginate though multiple pages of gateway group summaries.
13839	NextToken *string `min:"1" type:"string"`
13840}
13841
13842// String returns the string representation
13843func (s ListGatewayGroupsInput) String() string {
13844	return awsutil.Prettify(s)
13845}
13846
13847// GoString returns the string representation
13848func (s ListGatewayGroupsInput) GoString() string {
13849	return s.String()
13850}
13851
13852// Validate inspects the fields of the type to determine if they are valid.
13853func (s *ListGatewayGroupsInput) Validate() error {
13854	invalidParams := request.ErrInvalidParams{Context: "ListGatewayGroupsInput"}
13855	if s.MaxResults != nil && *s.MaxResults < 1 {
13856		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
13857	}
13858	if s.NextToken != nil && len(*s.NextToken) < 1 {
13859		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
13860	}
13861
13862	if invalidParams.Len() > 0 {
13863		return invalidParams
13864	}
13865	return nil
13866}
13867
13868// SetMaxResults sets the MaxResults field's value.
13869func (s *ListGatewayGroupsInput) SetMaxResults(v int64) *ListGatewayGroupsInput {
13870	s.MaxResults = &v
13871	return s
13872}
13873
13874// SetNextToken sets the NextToken field's value.
13875func (s *ListGatewayGroupsInput) SetNextToken(v string) *ListGatewayGroupsInput {
13876	s.NextToken = &v
13877	return s
13878}
13879
13880type ListGatewayGroupsOutput struct {
13881	_ struct{} `type:"structure"`
13882
13883	// The gateway groups in the list.
13884	GatewayGroups []*GatewayGroupSummary `type:"list"`
13885
13886	// The token used to paginate though multiple pages of gateway group summaries.
13887	NextToken *string `min:"1" type:"string"`
13888}
13889
13890// String returns the string representation
13891func (s ListGatewayGroupsOutput) String() string {
13892	return awsutil.Prettify(s)
13893}
13894
13895// GoString returns the string representation
13896func (s ListGatewayGroupsOutput) GoString() string {
13897	return s.String()
13898}
13899
13900// SetGatewayGroups sets the GatewayGroups field's value.
13901func (s *ListGatewayGroupsOutput) SetGatewayGroups(v []*GatewayGroupSummary) *ListGatewayGroupsOutput {
13902	s.GatewayGroups = v
13903	return s
13904}
13905
13906// SetNextToken sets the NextToken field's value.
13907func (s *ListGatewayGroupsOutput) SetNextToken(v string) *ListGatewayGroupsOutput {
13908	s.NextToken = &v
13909	return s
13910}
13911
13912type ListGatewaysInput struct {
13913	_ struct{} `type:"structure"`
13914
13915	// The gateway group ARN for which to list gateways.
13916	GatewayGroupArn *string `type:"string"`
13917
13918	// The maximum number of gateway summaries to return. The default is 50.
13919	MaxResults *int64 `min:"1" type:"integer"`
13920
13921	// The token used to paginate though multiple pages of gateway summaries.
13922	NextToken *string `min:"1" type:"string"`
13923}
13924
13925// String returns the string representation
13926func (s ListGatewaysInput) String() string {
13927	return awsutil.Prettify(s)
13928}
13929
13930// GoString returns the string representation
13931func (s ListGatewaysInput) GoString() string {
13932	return s.String()
13933}
13934
13935// Validate inspects the fields of the type to determine if they are valid.
13936func (s *ListGatewaysInput) Validate() error {
13937	invalidParams := request.ErrInvalidParams{Context: "ListGatewaysInput"}
13938	if s.MaxResults != nil && *s.MaxResults < 1 {
13939		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
13940	}
13941	if s.NextToken != nil && len(*s.NextToken) < 1 {
13942		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
13943	}
13944
13945	if invalidParams.Len() > 0 {
13946		return invalidParams
13947	}
13948	return nil
13949}
13950
13951// SetGatewayGroupArn sets the GatewayGroupArn field's value.
13952func (s *ListGatewaysInput) SetGatewayGroupArn(v string) *ListGatewaysInput {
13953	s.GatewayGroupArn = &v
13954	return s
13955}
13956
13957// SetMaxResults sets the MaxResults field's value.
13958func (s *ListGatewaysInput) SetMaxResults(v int64) *ListGatewaysInput {
13959	s.MaxResults = &v
13960	return s
13961}
13962
13963// SetNextToken sets the NextToken field's value.
13964func (s *ListGatewaysInput) SetNextToken(v string) *ListGatewaysInput {
13965	s.NextToken = &v
13966	return s
13967}
13968
13969type ListGatewaysOutput struct {
13970	_ struct{} `type:"structure"`
13971
13972	// The gateways in the list.
13973	Gateways []*GatewaySummary `type:"list"`
13974
13975	// The token used to paginate though multiple pages of gateway summaries.
13976	NextToken *string `min:"1" type:"string"`
13977}
13978
13979// String returns the string representation
13980func (s ListGatewaysOutput) String() string {
13981	return awsutil.Prettify(s)
13982}
13983
13984// GoString returns the string representation
13985func (s ListGatewaysOutput) GoString() string {
13986	return s.String()
13987}
13988
13989// SetGateways sets the Gateways field's value.
13990func (s *ListGatewaysOutput) SetGateways(v []*GatewaySummary) *ListGatewaysOutput {
13991	s.Gateways = v
13992	return s
13993}
13994
13995// SetNextToken sets the NextToken field's value.
13996func (s *ListGatewaysOutput) SetNextToken(v string) *ListGatewaysOutput {
13997	s.NextToken = &v
13998	return s
13999}
14000
14001type ListSkillsInput struct {
14002	_ struct{} `type:"structure"`
14003
14004	// Whether the skill is enabled under the user's account, or if it requires
14005	// linking to be used.
14006	EnablementType *string `type:"string" enum:"EnablementTypeFilter"`
14007
14008	// The maximum number of results to include in the response. If more results
14009	// exist than the specified MaxResults value, a token is included in the response
14010	// so that the remaining results can be retrieved. Required.
14011	MaxResults *int64 `min:"1" type:"integer"`
14012
14013	// An optional token returned from a prior request. Use this token for pagination
14014	// of results from this action. If this parameter is specified, the response
14015	// includes only results beyond the token, up to the value specified by MaxResults.
14016	// Required.
14017	NextToken *string `min:"1" type:"string"`
14018
14019	// The ARN of the skill group for which to list enabled skills. Required.
14020	SkillGroupArn *string `type:"string"`
14021
14022	// Whether the skill is publicly available or is a private skill.
14023	SkillType *string `type:"string" enum:"SkillTypeFilter"`
14024}
14025
14026// String returns the string representation
14027func (s ListSkillsInput) String() string {
14028	return awsutil.Prettify(s)
14029}
14030
14031// GoString returns the string representation
14032func (s ListSkillsInput) GoString() string {
14033	return s.String()
14034}
14035
14036// Validate inspects the fields of the type to determine if they are valid.
14037func (s *ListSkillsInput) Validate() error {
14038	invalidParams := request.ErrInvalidParams{Context: "ListSkillsInput"}
14039	if s.MaxResults != nil && *s.MaxResults < 1 {
14040		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14041	}
14042	if s.NextToken != nil && len(*s.NextToken) < 1 {
14043		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14044	}
14045
14046	if invalidParams.Len() > 0 {
14047		return invalidParams
14048	}
14049	return nil
14050}
14051
14052// SetEnablementType sets the EnablementType field's value.
14053func (s *ListSkillsInput) SetEnablementType(v string) *ListSkillsInput {
14054	s.EnablementType = &v
14055	return s
14056}
14057
14058// SetMaxResults sets the MaxResults field's value.
14059func (s *ListSkillsInput) SetMaxResults(v int64) *ListSkillsInput {
14060	s.MaxResults = &v
14061	return s
14062}
14063
14064// SetNextToken sets the NextToken field's value.
14065func (s *ListSkillsInput) SetNextToken(v string) *ListSkillsInput {
14066	s.NextToken = &v
14067	return s
14068}
14069
14070// SetSkillGroupArn sets the SkillGroupArn field's value.
14071func (s *ListSkillsInput) SetSkillGroupArn(v string) *ListSkillsInput {
14072	s.SkillGroupArn = &v
14073	return s
14074}
14075
14076// SetSkillType sets the SkillType field's value.
14077func (s *ListSkillsInput) SetSkillType(v string) *ListSkillsInput {
14078	s.SkillType = &v
14079	return s
14080}
14081
14082type ListSkillsOutput struct {
14083	_ struct{} `type:"structure"`
14084
14085	// The token returned to indicate that there is more data available.
14086	NextToken *string `min:"1" type:"string"`
14087
14088	// The list of enabled skills requested. Required.
14089	SkillSummaries []*SkillSummary `type:"list"`
14090}
14091
14092// String returns the string representation
14093func (s ListSkillsOutput) String() string {
14094	return awsutil.Prettify(s)
14095}
14096
14097// GoString returns the string representation
14098func (s ListSkillsOutput) GoString() string {
14099	return s.String()
14100}
14101
14102// SetNextToken sets the NextToken field's value.
14103func (s *ListSkillsOutput) SetNextToken(v string) *ListSkillsOutput {
14104	s.NextToken = &v
14105	return s
14106}
14107
14108// SetSkillSummaries sets the SkillSummaries field's value.
14109func (s *ListSkillsOutput) SetSkillSummaries(v []*SkillSummary) *ListSkillsOutput {
14110	s.SkillSummaries = v
14111	return s
14112}
14113
14114type ListSkillsStoreCategoriesInput struct {
14115	_ struct{} `type:"structure"`
14116
14117	// The maximum number of categories returned, per paginated calls.
14118	MaxResults *int64 `min:"1" type:"integer"`
14119
14120	// The tokens used for pagination.
14121	NextToken *string `min:"1" type:"string"`
14122}
14123
14124// String returns the string representation
14125func (s ListSkillsStoreCategoriesInput) String() string {
14126	return awsutil.Prettify(s)
14127}
14128
14129// GoString returns the string representation
14130func (s ListSkillsStoreCategoriesInput) GoString() string {
14131	return s.String()
14132}
14133
14134// Validate inspects the fields of the type to determine if they are valid.
14135func (s *ListSkillsStoreCategoriesInput) Validate() error {
14136	invalidParams := request.ErrInvalidParams{Context: "ListSkillsStoreCategoriesInput"}
14137	if s.MaxResults != nil && *s.MaxResults < 1 {
14138		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14139	}
14140	if s.NextToken != nil && len(*s.NextToken) < 1 {
14141		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14142	}
14143
14144	if invalidParams.Len() > 0 {
14145		return invalidParams
14146	}
14147	return nil
14148}
14149
14150// SetMaxResults sets the MaxResults field's value.
14151func (s *ListSkillsStoreCategoriesInput) SetMaxResults(v int64) *ListSkillsStoreCategoriesInput {
14152	s.MaxResults = &v
14153	return s
14154}
14155
14156// SetNextToken sets the NextToken field's value.
14157func (s *ListSkillsStoreCategoriesInput) SetNextToken(v string) *ListSkillsStoreCategoriesInput {
14158	s.NextToken = &v
14159	return s
14160}
14161
14162type ListSkillsStoreCategoriesOutput struct {
14163	_ struct{} `type:"structure"`
14164
14165	// The list of categories.
14166	CategoryList []*Category `type:"list"`
14167
14168	// The tokens used for pagination.
14169	NextToken *string `min:"1" type:"string"`
14170}
14171
14172// String returns the string representation
14173func (s ListSkillsStoreCategoriesOutput) String() string {
14174	return awsutil.Prettify(s)
14175}
14176
14177// GoString returns the string representation
14178func (s ListSkillsStoreCategoriesOutput) GoString() string {
14179	return s.String()
14180}
14181
14182// SetCategoryList sets the CategoryList field's value.
14183func (s *ListSkillsStoreCategoriesOutput) SetCategoryList(v []*Category) *ListSkillsStoreCategoriesOutput {
14184	s.CategoryList = v
14185	return s
14186}
14187
14188// SetNextToken sets the NextToken field's value.
14189func (s *ListSkillsStoreCategoriesOutput) SetNextToken(v string) *ListSkillsStoreCategoriesOutput {
14190	s.NextToken = &v
14191	return s
14192}
14193
14194type ListSkillsStoreSkillsByCategoryInput struct {
14195	_ struct{} `type:"structure"`
14196
14197	// The category ID for which the skills are being retrieved from the skill store.
14198	//
14199	// CategoryId is a required field
14200	CategoryId *int64 `min:"1" type:"long" required:"true"`
14201
14202	// The maximum number of skills returned per paginated calls.
14203	MaxResults *int64 `min:"1" type:"integer"`
14204
14205	// The tokens used for pagination.
14206	NextToken *string `min:"1" type:"string"`
14207}
14208
14209// String returns the string representation
14210func (s ListSkillsStoreSkillsByCategoryInput) String() string {
14211	return awsutil.Prettify(s)
14212}
14213
14214// GoString returns the string representation
14215func (s ListSkillsStoreSkillsByCategoryInput) GoString() string {
14216	return s.String()
14217}
14218
14219// Validate inspects the fields of the type to determine if they are valid.
14220func (s *ListSkillsStoreSkillsByCategoryInput) Validate() error {
14221	invalidParams := request.ErrInvalidParams{Context: "ListSkillsStoreSkillsByCategoryInput"}
14222	if s.CategoryId == nil {
14223		invalidParams.Add(request.NewErrParamRequired("CategoryId"))
14224	}
14225	if s.CategoryId != nil && *s.CategoryId < 1 {
14226		invalidParams.Add(request.NewErrParamMinValue("CategoryId", 1))
14227	}
14228	if s.MaxResults != nil && *s.MaxResults < 1 {
14229		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14230	}
14231	if s.NextToken != nil && len(*s.NextToken) < 1 {
14232		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14233	}
14234
14235	if invalidParams.Len() > 0 {
14236		return invalidParams
14237	}
14238	return nil
14239}
14240
14241// SetCategoryId sets the CategoryId field's value.
14242func (s *ListSkillsStoreSkillsByCategoryInput) SetCategoryId(v int64) *ListSkillsStoreSkillsByCategoryInput {
14243	s.CategoryId = &v
14244	return s
14245}
14246
14247// SetMaxResults sets the MaxResults field's value.
14248func (s *ListSkillsStoreSkillsByCategoryInput) SetMaxResults(v int64) *ListSkillsStoreSkillsByCategoryInput {
14249	s.MaxResults = &v
14250	return s
14251}
14252
14253// SetNextToken sets the NextToken field's value.
14254func (s *ListSkillsStoreSkillsByCategoryInput) SetNextToken(v string) *ListSkillsStoreSkillsByCategoryInput {
14255	s.NextToken = &v
14256	return s
14257}
14258
14259type ListSkillsStoreSkillsByCategoryOutput struct {
14260	_ struct{} `type:"structure"`
14261
14262	// The tokens used for pagination.
14263	NextToken *string `min:"1" type:"string"`
14264
14265	// The skill store skills.
14266	SkillsStoreSkills []*SkillsStoreSkill `type:"list"`
14267}
14268
14269// String returns the string representation
14270func (s ListSkillsStoreSkillsByCategoryOutput) String() string {
14271	return awsutil.Prettify(s)
14272}
14273
14274// GoString returns the string representation
14275func (s ListSkillsStoreSkillsByCategoryOutput) GoString() string {
14276	return s.String()
14277}
14278
14279// SetNextToken sets the NextToken field's value.
14280func (s *ListSkillsStoreSkillsByCategoryOutput) SetNextToken(v string) *ListSkillsStoreSkillsByCategoryOutput {
14281	s.NextToken = &v
14282	return s
14283}
14284
14285// SetSkillsStoreSkills sets the SkillsStoreSkills field's value.
14286func (s *ListSkillsStoreSkillsByCategoryOutput) SetSkillsStoreSkills(v []*SkillsStoreSkill) *ListSkillsStoreSkillsByCategoryOutput {
14287	s.SkillsStoreSkills = v
14288	return s
14289}
14290
14291type ListSmartHomeAppliancesInput struct {
14292	_ struct{} `type:"structure"`
14293
14294	// The maximum number of appliances to be returned, per paginated calls.
14295	MaxResults *int64 `min:"1" type:"integer"`
14296
14297	// The tokens used for pagination.
14298	NextToken *string `min:"1" type:"string"`
14299
14300	// The room that the appliances are associated with.
14301	//
14302	// RoomArn is a required field
14303	RoomArn *string `type:"string" required:"true"`
14304}
14305
14306// String returns the string representation
14307func (s ListSmartHomeAppliancesInput) String() string {
14308	return awsutil.Prettify(s)
14309}
14310
14311// GoString returns the string representation
14312func (s ListSmartHomeAppliancesInput) GoString() string {
14313	return s.String()
14314}
14315
14316// Validate inspects the fields of the type to determine if they are valid.
14317func (s *ListSmartHomeAppliancesInput) Validate() error {
14318	invalidParams := request.ErrInvalidParams{Context: "ListSmartHomeAppliancesInput"}
14319	if s.MaxResults != nil && *s.MaxResults < 1 {
14320		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14321	}
14322	if s.NextToken != nil && len(*s.NextToken) < 1 {
14323		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14324	}
14325	if s.RoomArn == nil {
14326		invalidParams.Add(request.NewErrParamRequired("RoomArn"))
14327	}
14328
14329	if invalidParams.Len() > 0 {
14330		return invalidParams
14331	}
14332	return nil
14333}
14334
14335// SetMaxResults sets the MaxResults field's value.
14336func (s *ListSmartHomeAppliancesInput) SetMaxResults(v int64) *ListSmartHomeAppliancesInput {
14337	s.MaxResults = &v
14338	return s
14339}
14340
14341// SetNextToken sets the NextToken field's value.
14342func (s *ListSmartHomeAppliancesInput) SetNextToken(v string) *ListSmartHomeAppliancesInput {
14343	s.NextToken = &v
14344	return s
14345}
14346
14347// SetRoomArn sets the RoomArn field's value.
14348func (s *ListSmartHomeAppliancesInput) SetRoomArn(v string) *ListSmartHomeAppliancesInput {
14349	s.RoomArn = &v
14350	return s
14351}
14352
14353type ListSmartHomeAppliancesOutput struct {
14354	_ struct{} `type:"structure"`
14355
14356	// The tokens used for pagination.
14357	NextToken *string `min:"1" type:"string"`
14358
14359	// The smart home appliances.
14360	SmartHomeAppliances []*SmartHomeAppliance `type:"list"`
14361}
14362
14363// String returns the string representation
14364func (s ListSmartHomeAppliancesOutput) String() string {
14365	return awsutil.Prettify(s)
14366}
14367
14368// GoString returns the string representation
14369func (s ListSmartHomeAppliancesOutput) GoString() string {
14370	return s.String()
14371}
14372
14373// SetNextToken sets the NextToken field's value.
14374func (s *ListSmartHomeAppliancesOutput) SetNextToken(v string) *ListSmartHomeAppliancesOutput {
14375	s.NextToken = &v
14376	return s
14377}
14378
14379// SetSmartHomeAppliances sets the SmartHomeAppliances field's value.
14380func (s *ListSmartHomeAppliancesOutput) SetSmartHomeAppliances(v []*SmartHomeAppliance) *ListSmartHomeAppliancesOutput {
14381	s.SmartHomeAppliances = v
14382	return s
14383}
14384
14385type ListTagsInput struct {
14386	_ struct{} `type:"structure"`
14387
14388	// The ARN of the specified resource for which to list tags.
14389	//
14390	// Arn is a required field
14391	Arn *string `type:"string" required:"true"`
14392
14393	// The maximum number of results to include in the response. If more results
14394	// exist than the specified MaxResults value, a token is included in the response
14395	// so that the remaining results can be retrieved.
14396	MaxResults *int64 `min:"1" type:"integer"`
14397
14398	// An optional token returned from a prior request. Use this token for pagination
14399	// of results from this action. If this parameter is specified, the response
14400	// includes only results beyond the token, up to the value specified by MaxResults.
14401	NextToken *string `min:"1" type:"string"`
14402}
14403
14404// String returns the string representation
14405func (s ListTagsInput) String() string {
14406	return awsutil.Prettify(s)
14407}
14408
14409// GoString returns the string representation
14410func (s ListTagsInput) GoString() string {
14411	return s.String()
14412}
14413
14414// Validate inspects the fields of the type to determine if they are valid.
14415func (s *ListTagsInput) Validate() error {
14416	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
14417	if s.Arn == nil {
14418		invalidParams.Add(request.NewErrParamRequired("Arn"))
14419	}
14420	if s.MaxResults != nil && *s.MaxResults < 1 {
14421		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14422	}
14423	if s.NextToken != nil && len(*s.NextToken) < 1 {
14424		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14425	}
14426
14427	if invalidParams.Len() > 0 {
14428		return invalidParams
14429	}
14430	return nil
14431}
14432
14433// SetArn sets the Arn field's value.
14434func (s *ListTagsInput) SetArn(v string) *ListTagsInput {
14435	s.Arn = &v
14436	return s
14437}
14438
14439// SetMaxResults sets the MaxResults field's value.
14440func (s *ListTagsInput) SetMaxResults(v int64) *ListTagsInput {
14441	s.MaxResults = &v
14442	return s
14443}
14444
14445// SetNextToken sets the NextToken field's value.
14446func (s *ListTagsInput) SetNextToken(v string) *ListTagsInput {
14447	s.NextToken = &v
14448	return s
14449}
14450
14451type ListTagsOutput struct {
14452	_ struct{} `type:"structure"`
14453
14454	// The token returned to indicate that there is more data available.
14455	NextToken *string `min:"1" type:"string"`
14456
14457	// The tags requested for the specified resource.
14458	Tags []*Tag `type:"list"`
14459}
14460
14461// String returns the string representation
14462func (s ListTagsOutput) String() string {
14463	return awsutil.Prettify(s)
14464}
14465
14466// GoString returns the string representation
14467func (s ListTagsOutput) GoString() string {
14468	return s.String()
14469}
14470
14471// SetNextToken sets the NextToken field's value.
14472func (s *ListTagsOutput) SetNextToken(v string) *ListTagsOutput {
14473	s.NextToken = &v
14474	return s
14475}
14476
14477// SetTags sets the Tags field's value.
14478func (s *ListTagsOutput) SetTags(v []*Tag) *ListTagsOutput {
14479	s.Tags = v
14480	return s
14481}
14482
14483// The values that indicate whether a pin is always required (YES), never required
14484// (NO), or OPTIONAL.
14485//
14486//    * If YES, Alexa will always ask for a meeting pin.
14487//
14488//    * If NO, Alexa will never ask for a meeting pin.
14489//
14490//    * If OPTIONAL, Alexa will ask if you have a meeting pin and if the customer
14491//    responds with yes, it will ask for the meeting pin.
14492type MeetingSetting struct {
14493	_ struct{} `type:"structure"`
14494
14495	// The values that indicate whether the pin is always required.
14496	//
14497	// RequirePin is a required field
14498	RequirePin *string `type:"string" required:"true" enum:"RequirePin"`
14499}
14500
14501// String returns the string representation
14502func (s MeetingSetting) String() string {
14503	return awsutil.Prettify(s)
14504}
14505
14506// GoString returns the string representation
14507func (s MeetingSetting) GoString() string {
14508	return s.String()
14509}
14510
14511// Validate inspects the fields of the type to determine if they are valid.
14512func (s *MeetingSetting) Validate() error {
14513	invalidParams := request.ErrInvalidParams{Context: "MeetingSetting"}
14514	if s.RequirePin == nil {
14515		invalidParams.Add(request.NewErrParamRequired("RequirePin"))
14516	}
14517
14518	if invalidParams.Len() > 0 {
14519		return invalidParams
14520	}
14521	return nil
14522}
14523
14524// SetRequirePin sets the RequirePin field's value.
14525func (s *MeetingSetting) SetRequirePin(v string) *MeetingSetting {
14526	s.RequirePin = &v
14527	return s
14528}
14529
14530// The network profile associated with a device.
14531type NetworkProfile struct {
14532	_ struct{} `type:"structure"`
14533
14534	// The ARN of the Private Certificate Authority (PCA) created in AWS Certificate
14535	// Manager (ACM). This is used to issue certificates to the devices.
14536	CertificateAuthorityArn *string `type:"string"`
14537
14538	// The current password of the Wi-Fi network.
14539	CurrentPassword *string `min:"5" type:"string" sensitive:"true"`
14540
14541	// Detailed information about a device's network profile.
14542	Description *string `type:"string"`
14543
14544	// The authentication standard that is used in the EAP framework. Currently,
14545	// EAP_TLS is supported.
14546	EapMethod *string `type:"string" enum:"NetworkEapMethod"`
14547
14548	// The ARN of the network profile associated with a device.
14549	NetworkProfileArn *string `type:"string"`
14550
14551	// The name of the network profile associated with a device.
14552	NetworkProfileName *string `min:"1" type:"string"`
14553
14554	// The next, or subsequent, password of the Wi-Fi network. This password is
14555	// asynchronously transmitted to the device and is used when the password of
14556	// the network changes to NextPassword.
14557	NextPassword *string `type:"string" sensitive:"true"`
14558
14559	// The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK,
14560	// WPA_PSK, WEP, or OPEN.
14561	SecurityType *string `type:"string" enum:"NetworkSecurityType"`
14562
14563	// The SSID of the Wi-Fi network.
14564	Ssid *string `min:"1" type:"string"`
14565
14566	// The root certificates of your authentication server, which is installed on
14567	// your devices and used to trust your authentication server during EAP negotiation.
14568	TrustAnchors []*string `min:"1" type:"list"`
14569}
14570
14571// String returns the string representation
14572func (s NetworkProfile) String() string {
14573	return awsutil.Prettify(s)
14574}
14575
14576// GoString returns the string representation
14577func (s NetworkProfile) GoString() string {
14578	return s.String()
14579}
14580
14581// SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value.
14582func (s *NetworkProfile) SetCertificateAuthorityArn(v string) *NetworkProfile {
14583	s.CertificateAuthorityArn = &v
14584	return s
14585}
14586
14587// SetCurrentPassword sets the CurrentPassword field's value.
14588func (s *NetworkProfile) SetCurrentPassword(v string) *NetworkProfile {
14589	s.CurrentPassword = &v
14590	return s
14591}
14592
14593// SetDescription sets the Description field's value.
14594func (s *NetworkProfile) SetDescription(v string) *NetworkProfile {
14595	s.Description = &v
14596	return s
14597}
14598
14599// SetEapMethod sets the EapMethod field's value.
14600func (s *NetworkProfile) SetEapMethod(v string) *NetworkProfile {
14601	s.EapMethod = &v
14602	return s
14603}
14604
14605// SetNetworkProfileArn sets the NetworkProfileArn field's value.
14606func (s *NetworkProfile) SetNetworkProfileArn(v string) *NetworkProfile {
14607	s.NetworkProfileArn = &v
14608	return s
14609}
14610
14611// SetNetworkProfileName sets the NetworkProfileName field's value.
14612func (s *NetworkProfile) SetNetworkProfileName(v string) *NetworkProfile {
14613	s.NetworkProfileName = &v
14614	return s
14615}
14616
14617// SetNextPassword sets the NextPassword field's value.
14618func (s *NetworkProfile) SetNextPassword(v string) *NetworkProfile {
14619	s.NextPassword = &v
14620	return s
14621}
14622
14623// SetSecurityType sets the SecurityType field's value.
14624func (s *NetworkProfile) SetSecurityType(v string) *NetworkProfile {
14625	s.SecurityType = &v
14626	return s
14627}
14628
14629// SetSsid sets the Ssid field's value.
14630func (s *NetworkProfile) SetSsid(v string) *NetworkProfile {
14631	s.Ssid = &v
14632	return s
14633}
14634
14635// SetTrustAnchors sets the TrustAnchors field's value.
14636func (s *NetworkProfile) SetTrustAnchors(v []*string) *NetworkProfile {
14637	s.TrustAnchors = v
14638	return s
14639}
14640
14641// The data associated with a network profile.
14642type NetworkProfileData struct {
14643	_ struct{} `type:"structure"`
14644
14645	// The ARN of the Private Certificate Authority (PCA) created in AWS Certificate
14646	// Manager (ACM). This is used to issue certificates to the devices.
14647	CertificateAuthorityArn *string `type:"string"`
14648
14649	// Detailed information about a device's network profile.
14650	Description *string `type:"string"`
14651
14652	// The authentication standard that is used in the EAP framework. Currently,
14653	// EAP_TLS is supported.
14654	EapMethod *string `type:"string" enum:"NetworkEapMethod"`
14655
14656	// The ARN of the network profile associated with a device.
14657	NetworkProfileArn *string `type:"string"`
14658
14659	// The name of the network profile associated with a device.
14660	NetworkProfileName *string `min:"1" type:"string"`
14661
14662	// The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK,
14663	// WPA_PSK, WEP, or OPEN.
14664	SecurityType *string `type:"string" enum:"NetworkSecurityType"`
14665
14666	// The SSID of the Wi-Fi network.
14667	Ssid *string `min:"1" type:"string"`
14668}
14669
14670// String returns the string representation
14671func (s NetworkProfileData) String() string {
14672	return awsutil.Prettify(s)
14673}
14674
14675// GoString returns the string representation
14676func (s NetworkProfileData) GoString() string {
14677	return s.String()
14678}
14679
14680// SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value.
14681func (s *NetworkProfileData) SetCertificateAuthorityArn(v string) *NetworkProfileData {
14682	s.CertificateAuthorityArn = &v
14683	return s
14684}
14685
14686// SetDescription sets the Description field's value.
14687func (s *NetworkProfileData) SetDescription(v string) *NetworkProfileData {
14688	s.Description = &v
14689	return s
14690}
14691
14692// SetEapMethod sets the EapMethod field's value.
14693func (s *NetworkProfileData) SetEapMethod(v string) *NetworkProfileData {
14694	s.EapMethod = &v
14695	return s
14696}
14697
14698// SetNetworkProfileArn sets the NetworkProfileArn field's value.
14699func (s *NetworkProfileData) SetNetworkProfileArn(v string) *NetworkProfileData {
14700	s.NetworkProfileArn = &v
14701	return s
14702}
14703
14704// SetNetworkProfileName sets the NetworkProfileName field's value.
14705func (s *NetworkProfileData) SetNetworkProfileName(v string) *NetworkProfileData {
14706	s.NetworkProfileName = &v
14707	return s
14708}
14709
14710// SetSecurityType sets the SecurityType field's value.
14711func (s *NetworkProfileData) SetSecurityType(v string) *NetworkProfileData {
14712	s.SecurityType = &v
14713	return s
14714}
14715
14716// SetSsid sets the Ssid field's value.
14717func (s *NetworkProfileData) SetSsid(v string) *NetworkProfileData {
14718	s.Ssid = &v
14719	return s
14720}
14721
14722// The information for public switched telephone network (PSTN) conferencing.
14723type PSTNDialIn struct {
14724	_ struct{} `type:"structure"`
14725
14726	// The zip code.
14727	//
14728	// CountryCode is a required field
14729	CountryCode *string `type:"string" required:"true"`
14730
14731	// The delay duration before Alexa enters the conference ID with dual-tone multi-frequency
14732	// (DTMF). Each number on the dial pad corresponds to a DTMF tone, which is
14733	// how we send data over the telephone network.
14734	//
14735	// OneClickIdDelay is a required field
14736	OneClickIdDelay *string `min:"1" type:"string" required:"true"`
14737
14738	// The delay duration before Alexa enters the conference pin with dual-tone
14739	// multi-frequency (DTMF). Each number on the dial pad corresponds to a DTMF
14740	// tone, which is how we send data over the telephone network.
14741	//
14742	// OneClickPinDelay is a required field
14743	OneClickPinDelay *string `min:"1" type:"string" required:"true"`
14744
14745	// The phone number to call to join the conference.
14746	//
14747	// PhoneNumber is a required field
14748	PhoneNumber *string `type:"string" required:"true"`
14749}
14750
14751// String returns the string representation
14752func (s PSTNDialIn) String() string {
14753	return awsutil.Prettify(s)
14754}
14755
14756// GoString returns the string representation
14757func (s PSTNDialIn) GoString() string {
14758	return s.String()
14759}
14760
14761// Validate inspects the fields of the type to determine if they are valid.
14762func (s *PSTNDialIn) Validate() error {
14763	invalidParams := request.ErrInvalidParams{Context: "PSTNDialIn"}
14764	if s.CountryCode == nil {
14765		invalidParams.Add(request.NewErrParamRequired("CountryCode"))
14766	}
14767	if s.OneClickIdDelay == nil {
14768		invalidParams.Add(request.NewErrParamRequired("OneClickIdDelay"))
14769	}
14770	if s.OneClickIdDelay != nil && len(*s.OneClickIdDelay) < 1 {
14771		invalidParams.Add(request.NewErrParamMinLen("OneClickIdDelay", 1))
14772	}
14773	if s.OneClickPinDelay == nil {
14774		invalidParams.Add(request.NewErrParamRequired("OneClickPinDelay"))
14775	}
14776	if s.OneClickPinDelay != nil && len(*s.OneClickPinDelay) < 1 {
14777		invalidParams.Add(request.NewErrParamMinLen("OneClickPinDelay", 1))
14778	}
14779	if s.PhoneNumber == nil {
14780		invalidParams.Add(request.NewErrParamRequired("PhoneNumber"))
14781	}
14782
14783	if invalidParams.Len() > 0 {
14784		return invalidParams
14785	}
14786	return nil
14787}
14788
14789// SetCountryCode sets the CountryCode field's value.
14790func (s *PSTNDialIn) SetCountryCode(v string) *PSTNDialIn {
14791	s.CountryCode = &v
14792	return s
14793}
14794
14795// SetOneClickIdDelay sets the OneClickIdDelay field's value.
14796func (s *PSTNDialIn) SetOneClickIdDelay(v string) *PSTNDialIn {
14797	s.OneClickIdDelay = &v
14798	return s
14799}
14800
14801// SetOneClickPinDelay sets the OneClickPinDelay field's value.
14802func (s *PSTNDialIn) SetOneClickPinDelay(v string) *PSTNDialIn {
14803	s.OneClickPinDelay = &v
14804	return s
14805}
14806
14807// SetPhoneNumber sets the PhoneNumber field's value.
14808func (s *PSTNDialIn) SetPhoneNumber(v string) *PSTNDialIn {
14809	s.PhoneNumber = &v
14810	return s
14811}
14812
14813// The phone number for the contact containing the raw number and phone number
14814// type.
14815type PhoneNumber struct {
14816	_ struct{} `type:"structure"`
14817
14818	// The raw value of the phone number.
14819	//
14820	// Number is a required field
14821	Number *string `type:"string" required:"true" sensitive:"true"`
14822
14823	// The type of the phone number.
14824	//
14825	// Type is a required field
14826	Type *string `type:"string" required:"true" enum:"PhoneNumberType" sensitive:"true"`
14827}
14828
14829// String returns the string representation
14830func (s PhoneNumber) String() string {
14831	return awsutil.Prettify(s)
14832}
14833
14834// GoString returns the string representation
14835func (s PhoneNumber) GoString() string {
14836	return s.String()
14837}
14838
14839// Validate inspects the fields of the type to determine if they are valid.
14840func (s *PhoneNumber) Validate() error {
14841	invalidParams := request.ErrInvalidParams{Context: "PhoneNumber"}
14842	if s.Number == nil {
14843		invalidParams.Add(request.NewErrParamRequired("Number"))
14844	}
14845	if s.Type == nil {
14846		invalidParams.Add(request.NewErrParamRequired("Type"))
14847	}
14848
14849	if invalidParams.Len() > 0 {
14850		return invalidParams
14851	}
14852	return nil
14853}
14854
14855// SetNumber sets the Number field's value.
14856func (s *PhoneNumber) SetNumber(v string) *PhoneNumber {
14857	s.Number = &v
14858	return s
14859}
14860
14861// SetType sets the Type field's value.
14862func (s *PhoneNumber) SetType(v string) *PhoneNumber {
14863	s.Type = &v
14864	return s
14865}
14866
14867// A room profile with attributes.
14868type Profile struct {
14869	_ struct{} `type:"structure"`
14870
14871	// The address of a room profile.
14872	Address *string `min:"1" type:"string"`
14873
14874	// The ARN of the address book.
14875	AddressBookArn *string `type:"string"`
14876
14877	// The distance unit of a room profile.
14878	DistanceUnit *string `type:"string" enum:"DistanceUnit"`
14879
14880	// Retrieves if the profile is default or not.
14881	IsDefault *bool `type:"boolean"`
14882
14883	// The max volume limit of a room profile.
14884	MaxVolumeLimit *int64 `type:"integer"`
14885
14886	// The PSTN setting of a room profile.
14887	PSTNEnabled *bool `type:"boolean"`
14888
14889	// The ARN of a room profile.
14890	ProfileArn *string `type:"string"`
14891
14892	// The name of a room profile.
14893	ProfileName *string `min:"1" type:"string"`
14894
14895	// The setup mode of a room profile.
14896	SetupModeDisabled *bool `type:"boolean"`
14897
14898	// The temperature unit of a room profile.
14899	TemperatureUnit *string `type:"string" enum:"TemperatureUnit"`
14900
14901	// The time zone of a room profile.
14902	Timezone *string `min:"1" type:"string"`
14903
14904	// The wake word of a room profile.
14905	WakeWord *string `type:"string" enum:"WakeWord"`
14906}
14907
14908// String returns the string representation
14909func (s Profile) String() string {
14910	return awsutil.Prettify(s)
14911}
14912
14913// GoString returns the string representation
14914func (s Profile) GoString() string {
14915	return s.String()
14916}
14917
14918// SetAddress sets the Address field's value.
14919func (s *Profile) SetAddress(v string) *Profile {
14920	s.Address = &v
14921	return s
14922}
14923
14924// SetAddressBookArn sets the AddressBookArn field's value.
14925func (s *Profile) SetAddressBookArn(v string) *Profile {
14926	s.AddressBookArn = &v
14927	return s
14928}
14929
14930// SetDistanceUnit sets the DistanceUnit field's value.
14931func (s *Profile) SetDistanceUnit(v string) *Profile {
14932	s.DistanceUnit = &v
14933	return s
14934}
14935
14936// SetIsDefault sets the IsDefault field's value.
14937func (s *Profile) SetIsDefault(v bool) *Profile {
14938	s.IsDefault = &v
14939	return s
14940}
14941
14942// SetMaxVolumeLimit sets the MaxVolumeLimit field's value.
14943func (s *Profile) SetMaxVolumeLimit(v int64) *Profile {
14944	s.MaxVolumeLimit = &v
14945	return s
14946}
14947
14948// SetPSTNEnabled sets the PSTNEnabled field's value.
14949func (s *Profile) SetPSTNEnabled(v bool) *Profile {
14950	s.PSTNEnabled = &v
14951	return s
14952}
14953
14954// SetProfileArn sets the ProfileArn field's value.
14955func (s *Profile) SetProfileArn(v string) *Profile {
14956	s.ProfileArn = &v
14957	return s
14958}
14959
14960// SetProfileName sets the ProfileName field's value.
14961func (s *Profile) SetProfileName(v string) *Profile {
14962	s.ProfileName = &v
14963	return s
14964}
14965
14966// SetSetupModeDisabled sets the SetupModeDisabled field's value.
14967func (s *Profile) SetSetupModeDisabled(v bool) *Profile {
14968	s.SetupModeDisabled = &v
14969	return s
14970}
14971
14972// SetTemperatureUnit sets the TemperatureUnit field's value.
14973func (s *Profile) SetTemperatureUnit(v string) *Profile {
14974	s.TemperatureUnit = &v
14975	return s
14976}
14977
14978// SetTimezone sets the Timezone field's value.
14979func (s *Profile) SetTimezone(v string) *Profile {
14980	s.Timezone = &v
14981	return s
14982}
14983
14984// SetWakeWord sets the WakeWord field's value.
14985func (s *Profile) SetWakeWord(v string) *Profile {
14986	s.WakeWord = &v
14987	return s
14988}
14989
14990// The data of a room profile.
14991type ProfileData struct {
14992	_ struct{} `type:"structure"`
14993
14994	// The address of a room profile.
14995	Address *string `min:"1" type:"string"`
14996
14997	// The distance unit of a room profile.
14998	DistanceUnit *string `type:"string" enum:"DistanceUnit"`
14999
15000	// Retrieves if the profile data is default or not.
15001	IsDefault *bool `type:"boolean"`
15002
15003	// The ARN of a room profile.
15004	ProfileArn *string `type:"string"`
15005
15006	// The name of a room profile.
15007	ProfileName *string `min:"1" type:"string"`
15008
15009	// The temperature unit of a room profile.
15010	TemperatureUnit *string `type:"string" enum:"TemperatureUnit"`
15011
15012	// The timezone of a room profile.
15013	Timezone *string `min:"1" type:"string"`
15014
15015	// The wake word of a room profile.
15016	WakeWord *string `type:"string" enum:"WakeWord"`
15017}
15018
15019// String returns the string representation
15020func (s ProfileData) String() string {
15021	return awsutil.Prettify(s)
15022}
15023
15024// GoString returns the string representation
15025func (s ProfileData) GoString() string {
15026	return s.String()
15027}
15028
15029// SetAddress sets the Address field's value.
15030func (s *ProfileData) SetAddress(v string) *ProfileData {
15031	s.Address = &v
15032	return s
15033}
15034
15035// SetDistanceUnit sets the DistanceUnit field's value.
15036func (s *ProfileData) SetDistanceUnit(v string) *ProfileData {
15037	s.DistanceUnit = &v
15038	return s
15039}
15040
15041// SetIsDefault sets the IsDefault field's value.
15042func (s *ProfileData) SetIsDefault(v bool) *ProfileData {
15043	s.IsDefault = &v
15044	return s
15045}
15046
15047// SetProfileArn sets the ProfileArn field's value.
15048func (s *ProfileData) SetProfileArn(v string) *ProfileData {
15049	s.ProfileArn = &v
15050	return s
15051}
15052
15053// SetProfileName sets the ProfileName field's value.
15054func (s *ProfileData) SetProfileName(v string) *ProfileData {
15055	s.ProfileName = &v
15056	return s
15057}
15058
15059// SetTemperatureUnit sets the TemperatureUnit field's value.
15060func (s *ProfileData) SetTemperatureUnit(v string) *ProfileData {
15061	s.TemperatureUnit = &v
15062	return s
15063}
15064
15065// SetTimezone sets the Timezone field's value.
15066func (s *ProfileData) SetTimezone(v string) *ProfileData {
15067	s.Timezone = &v
15068	return s
15069}
15070
15071// SetWakeWord sets the WakeWord field's value.
15072func (s *ProfileData) SetWakeWord(v string) *ProfileData {
15073	s.WakeWord = &v
15074	return s
15075}
15076
15077type PutConferencePreferenceInput struct {
15078	_ struct{} `type:"structure"`
15079
15080	// The conference preference of a specific conference provider.
15081	//
15082	// ConferencePreference is a required field
15083	ConferencePreference *ConferencePreference `type:"structure" required:"true"`
15084}
15085
15086// String returns the string representation
15087func (s PutConferencePreferenceInput) String() string {
15088	return awsutil.Prettify(s)
15089}
15090
15091// GoString returns the string representation
15092func (s PutConferencePreferenceInput) GoString() string {
15093	return s.String()
15094}
15095
15096// Validate inspects the fields of the type to determine if they are valid.
15097func (s *PutConferencePreferenceInput) Validate() error {
15098	invalidParams := request.ErrInvalidParams{Context: "PutConferencePreferenceInput"}
15099	if s.ConferencePreference == nil {
15100		invalidParams.Add(request.NewErrParamRequired("ConferencePreference"))
15101	}
15102
15103	if invalidParams.Len() > 0 {
15104		return invalidParams
15105	}
15106	return nil
15107}
15108
15109// SetConferencePreference sets the ConferencePreference field's value.
15110func (s *PutConferencePreferenceInput) SetConferencePreference(v *ConferencePreference) *PutConferencePreferenceInput {
15111	s.ConferencePreference = v
15112	return s
15113}
15114
15115type PutConferencePreferenceOutput struct {
15116	_ struct{} `type:"structure"`
15117}
15118
15119// String returns the string representation
15120func (s PutConferencePreferenceOutput) String() string {
15121	return awsutil.Prettify(s)
15122}
15123
15124// GoString returns the string representation
15125func (s PutConferencePreferenceOutput) GoString() string {
15126	return s.String()
15127}
15128
15129type PutInvitationConfigurationInput struct {
15130	_ struct{} `type:"structure"`
15131
15132	// The email ID of the organization or individual contact that the enrolled
15133	// user can use.
15134	ContactEmail *string `min:"1" type:"string"`
15135
15136	// The name of the organization sending the enrollment invite to a user.
15137	//
15138	// OrganizationName is a required field
15139	OrganizationName *string `min:"1" type:"string" required:"true"`
15140
15141	// The list of private skill IDs that you want to recommend to the user to enable
15142	// in the invitation.
15143	PrivateSkillIds []*string `type:"list"`
15144}
15145
15146// String returns the string representation
15147func (s PutInvitationConfigurationInput) String() string {
15148	return awsutil.Prettify(s)
15149}
15150
15151// GoString returns the string representation
15152func (s PutInvitationConfigurationInput) GoString() string {
15153	return s.String()
15154}
15155
15156// Validate inspects the fields of the type to determine if they are valid.
15157func (s *PutInvitationConfigurationInput) Validate() error {
15158	invalidParams := request.ErrInvalidParams{Context: "PutInvitationConfigurationInput"}
15159	if s.ContactEmail != nil && len(*s.ContactEmail) < 1 {
15160		invalidParams.Add(request.NewErrParamMinLen("ContactEmail", 1))
15161	}
15162	if s.OrganizationName == nil {
15163		invalidParams.Add(request.NewErrParamRequired("OrganizationName"))
15164	}
15165	if s.OrganizationName != nil && len(*s.OrganizationName) < 1 {
15166		invalidParams.Add(request.NewErrParamMinLen("OrganizationName", 1))
15167	}
15168
15169	if invalidParams.Len() > 0 {
15170		return invalidParams
15171	}
15172	return nil
15173}
15174
15175// SetContactEmail sets the ContactEmail field's value.
15176func (s *PutInvitationConfigurationInput) SetContactEmail(v string) *PutInvitationConfigurationInput {
15177	s.ContactEmail = &v
15178	return s
15179}
15180
15181// SetOrganizationName sets the OrganizationName field's value.
15182func (s *PutInvitationConfigurationInput) SetOrganizationName(v string) *PutInvitationConfigurationInput {
15183	s.OrganizationName = &v
15184	return s
15185}
15186
15187// SetPrivateSkillIds sets the PrivateSkillIds field's value.
15188func (s *PutInvitationConfigurationInput) SetPrivateSkillIds(v []*string) *PutInvitationConfigurationInput {
15189	s.PrivateSkillIds = v
15190	return s
15191}
15192
15193type PutInvitationConfigurationOutput struct {
15194	_ struct{} `type:"structure"`
15195}
15196
15197// String returns the string representation
15198func (s PutInvitationConfigurationOutput) String() string {
15199	return awsutil.Prettify(s)
15200}
15201
15202// GoString returns the string representation
15203func (s PutInvitationConfigurationOutput) GoString() string {
15204	return s.String()
15205}
15206
15207type PutRoomSkillParameterInput struct {
15208	_ struct{} `type:"structure"`
15209
15210	// The ARN of the room associated with the room skill parameter. Required.
15211	RoomArn *string `type:"string"`
15212
15213	// The updated room skill parameter. Required.
15214	//
15215	// RoomSkillParameter is a required field
15216	RoomSkillParameter *RoomSkillParameter `type:"structure" required:"true"`
15217
15218	// The ARN of the skill associated with the room skill parameter. Required.
15219	//
15220	// SkillId is a required field
15221	SkillId *string `type:"string" required:"true"`
15222}
15223
15224// String returns the string representation
15225func (s PutRoomSkillParameterInput) String() string {
15226	return awsutil.Prettify(s)
15227}
15228
15229// GoString returns the string representation
15230func (s PutRoomSkillParameterInput) GoString() string {
15231	return s.String()
15232}
15233
15234// Validate inspects the fields of the type to determine if they are valid.
15235func (s *PutRoomSkillParameterInput) Validate() error {
15236	invalidParams := request.ErrInvalidParams{Context: "PutRoomSkillParameterInput"}
15237	if s.RoomSkillParameter == nil {
15238		invalidParams.Add(request.NewErrParamRequired("RoomSkillParameter"))
15239	}
15240	if s.SkillId == nil {
15241		invalidParams.Add(request.NewErrParamRequired("SkillId"))
15242	}
15243	if s.RoomSkillParameter != nil {
15244		if err := s.RoomSkillParameter.Validate(); err != nil {
15245			invalidParams.AddNested("RoomSkillParameter", err.(request.ErrInvalidParams))
15246		}
15247	}
15248
15249	if invalidParams.Len() > 0 {
15250		return invalidParams
15251	}
15252	return nil
15253}
15254
15255// SetRoomArn sets the RoomArn field's value.
15256func (s *PutRoomSkillParameterInput) SetRoomArn(v string) *PutRoomSkillParameterInput {
15257	s.RoomArn = &v
15258	return s
15259}
15260
15261// SetRoomSkillParameter sets the RoomSkillParameter field's value.
15262func (s *PutRoomSkillParameterInput) SetRoomSkillParameter(v *RoomSkillParameter) *PutRoomSkillParameterInput {
15263	s.RoomSkillParameter = v
15264	return s
15265}
15266
15267// SetSkillId sets the SkillId field's value.
15268func (s *PutRoomSkillParameterInput) SetSkillId(v string) *PutRoomSkillParameterInput {
15269	s.SkillId = &v
15270	return s
15271}
15272
15273type PutRoomSkillParameterOutput struct {
15274	_ struct{} `type:"structure"`
15275}
15276
15277// String returns the string representation
15278func (s PutRoomSkillParameterOutput) String() string {
15279	return awsutil.Prettify(s)
15280}
15281
15282// GoString returns the string representation
15283func (s PutRoomSkillParameterOutput) GoString() string {
15284	return s.String()
15285}
15286
15287type PutSkillAuthorizationInput struct {
15288	_ struct{} `type:"structure"`
15289
15290	// The authorization result specific to OAUTH code grant output. "Code” must
15291	// be populated in the AuthorizationResult map to establish the authorization.
15292	//
15293	// AuthorizationResult is a required field
15294	AuthorizationResult map[string]*string `type:"map" required:"true" sensitive:"true"`
15295
15296	// The room that the skill is authorized for.
15297	RoomArn *string `type:"string"`
15298
15299	// The unique identifier of a skill.
15300	//
15301	// SkillId is a required field
15302	SkillId *string `type:"string" required:"true"`
15303}
15304
15305// String returns the string representation
15306func (s PutSkillAuthorizationInput) String() string {
15307	return awsutil.Prettify(s)
15308}
15309
15310// GoString returns the string representation
15311func (s PutSkillAuthorizationInput) GoString() string {
15312	return s.String()
15313}
15314
15315// Validate inspects the fields of the type to determine if they are valid.
15316func (s *PutSkillAuthorizationInput) Validate() error {
15317	invalidParams := request.ErrInvalidParams{Context: "PutSkillAuthorizationInput"}
15318	if s.AuthorizationResult == nil {
15319		invalidParams.Add(request.NewErrParamRequired("AuthorizationResult"))
15320	}
15321	if s.SkillId == nil {
15322		invalidParams.Add(request.NewErrParamRequired("SkillId"))
15323	}
15324
15325	if invalidParams.Len() > 0 {
15326		return invalidParams
15327	}
15328	return nil
15329}
15330
15331// SetAuthorizationResult sets the AuthorizationResult field's value.
15332func (s *PutSkillAuthorizationInput) SetAuthorizationResult(v map[string]*string) *PutSkillAuthorizationInput {
15333	s.AuthorizationResult = v
15334	return s
15335}
15336
15337// SetRoomArn sets the RoomArn field's value.
15338func (s *PutSkillAuthorizationInput) SetRoomArn(v string) *PutSkillAuthorizationInput {
15339	s.RoomArn = &v
15340	return s
15341}
15342
15343// SetSkillId sets the SkillId field's value.
15344func (s *PutSkillAuthorizationInput) SetSkillId(v string) *PutSkillAuthorizationInput {
15345	s.SkillId = &v
15346	return s
15347}
15348
15349type PutSkillAuthorizationOutput struct {
15350	_ struct{} `type:"structure"`
15351}
15352
15353// String returns the string representation
15354func (s PutSkillAuthorizationOutput) String() string {
15355	return awsutil.Prettify(s)
15356}
15357
15358// GoString returns the string representation
15359func (s PutSkillAuthorizationOutput) GoString() string {
15360	return s.String()
15361}
15362
15363type RegisterAVSDeviceInput struct {
15364	_ struct{} `type:"structure"`
15365
15366	// The device type ID for your AVS device generated by Amazon when the OEM creates
15367	// a new product on Amazon's Developer Console.
15368	//
15369	// AmazonId is a required field
15370	AmazonId *string `type:"string" required:"true"`
15371
15372	// The client ID of the OEM used for code-based linking authorization on an
15373	// AVS device.
15374	//
15375	// ClientId is a required field
15376	ClientId *string `type:"string" required:"true"`
15377
15378	// The key generated by the OEM that uniquely identifies a specified instance
15379	// of your AVS device.
15380	//
15381	// DeviceSerialNumber is a required field
15382	DeviceSerialNumber *string `type:"string" required:"true"`
15383
15384	// The product ID used to identify your AVS device during authorization.
15385	//
15386	// ProductId is a required field
15387	ProductId *string `type:"string" required:"true"`
15388
15389	// The code that is obtained after your AVS device has made a POST request to
15390	// LWA as a part of the Device Authorization Request component of the OAuth
15391	// code-based linking specification.
15392	//
15393	// UserCode is a required field
15394	UserCode *string `min:"1" type:"string" required:"true"`
15395}
15396
15397// String returns the string representation
15398func (s RegisterAVSDeviceInput) String() string {
15399	return awsutil.Prettify(s)
15400}
15401
15402// GoString returns the string representation
15403func (s RegisterAVSDeviceInput) GoString() string {
15404	return s.String()
15405}
15406
15407// Validate inspects the fields of the type to determine if they are valid.
15408func (s *RegisterAVSDeviceInput) Validate() error {
15409	invalidParams := request.ErrInvalidParams{Context: "RegisterAVSDeviceInput"}
15410	if s.AmazonId == nil {
15411		invalidParams.Add(request.NewErrParamRequired("AmazonId"))
15412	}
15413	if s.ClientId == nil {
15414		invalidParams.Add(request.NewErrParamRequired("ClientId"))
15415	}
15416	if s.DeviceSerialNumber == nil {
15417		invalidParams.Add(request.NewErrParamRequired("DeviceSerialNumber"))
15418	}
15419	if s.ProductId == nil {
15420		invalidParams.Add(request.NewErrParamRequired("ProductId"))
15421	}
15422	if s.UserCode == nil {
15423		invalidParams.Add(request.NewErrParamRequired("UserCode"))
15424	}
15425	if s.UserCode != nil && len(*s.UserCode) < 1 {
15426		invalidParams.Add(request.NewErrParamMinLen("UserCode", 1))
15427	}
15428
15429	if invalidParams.Len() > 0 {
15430		return invalidParams
15431	}
15432	return nil
15433}
15434
15435// SetAmazonId sets the AmazonId field's value.
15436func (s *RegisterAVSDeviceInput) SetAmazonId(v string) *RegisterAVSDeviceInput {
15437	s.AmazonId = &v
15438	return s
15439}
15440
15441// SetClientId sets the ClientId field's value.
15442func (s *RegisterAVSDeviceInput) SetClientId(v string) *RegisterAVSDeviceInput {
15443	s.ClientId = &v
15444	return s
15445}
15446
15447// SetDeviceSerialNumber sets the DeviceSerialNumber field's value.
15448func (s *RegisterAVSDeviceInput) SetDeviceSerialNumber(v string) *RegisterAVSDeviceInput {
15449	s.DeviceSerialNumber = &v
15450	return s
15451}
15452
15453// SetProductId sets the ProductId field's value.
15454func (s *RegisterAVSDeviceInput) SetProductId(v string) *RegisterAVSDeviceInput {
15455	s.ProductId = &v
15456	return s
15457}
15458
15459// SetUserCode sets the UserCode field's value.
15460func (s *RegisterAVSDeviceInput) SetUserCode(v string) *RegisterAVSDeviceInput {
15461	s.UserCode = &v
15462	return s
15463}
15464
15465type RegisterAVSDeviceOutput struct {
15466	_ struct{} `type:"structure"`
15467
15468	// The ARN of the device.
15469	DeviceArn *string `type:"string"`
15470}
15471
15472// String returns the string representation
15473func (s RegisterAVSDeviceOutput) String() string {
15474	return awsutil.Prettify(s)
15475}
15476
15477// GoString returns the string representation
15478func (s RegisterAVSDeviceOutput) GoString() string {
15479	return s.String()
15480}
15481
15482// SetDeviceArn sets the DeviceArn field's value.
15483func (s *RegisterAVSDeviceOutput) SetDeviceArn(v string) *RegisterAVSDeviceOutput {
15484	s.DeviceArn = &v
15485	return s
15486}
15487
15488type RejectSkillInput struct {
15489	_ struct{} `type:"structure"`
15490
15491	// The unique identifier of the skill.
15492	//
15493	// SkillId is a required field
15494	SkillId *string `type:"string" required:"true"`
15495}
15496
15497// String returns the string representation
15498func (s RejectSkillInput) String() string {
15499	return awsutil.Prettify(s)
15500}
15501
15502// GoString returns the string representation
15503func (s RejectSkillInput) GoString() string {
15504	return s.String()
15505}
15506
15507// Validate inspects the fields of the type to determine if they are valid.
15508func (s *RejectSkillInput) Validate() error {
15509	invalidParams := request.ErrInvalidParams{Context: "RejectSkillInput"}
15510	if s.SkillId == nil {
15511		invalidParams.Add(request.NewErrParamRequired("SkillId"))
15512	}
15513
15514	if invalidParams.Len() > 0 {
15515		return invalidParams
15516	}
15517	return nil
15518}
15519
15520// SetSkillId sets the SkillId field's value.
15521func (s *RejectSkillInput) SetSkillId(v string) *RejectSkillInput {
15522	s.SkillId = &v
15523	return s
15524}
15525
15526type RejectSkillOutput struct {
15527	_ struct{} `type:"structure"`
15528}
15529
15530// String returns the string representation
15531func (s RejectSkillOutput) String() string {
15532	return awsutil.Prettify(s)
15533}
15534
15535// GoString returns the string representation
15536func (s RejectSkillOutput) GoString() string {
15537	return s.String()
15538}
15539
15540type ResolveRoomInput struct {
15541	_ struct{} `type:"structure"`
15542
15543	// The ARN of the skill that was requested. Required.
15544	//
15545	// SkillId is a required field
15546	SkillId *string `type:"string" required:"true"`
15547
15548	// The ARN of the user. Required.
15549	//
15550	// UserId is a required field
15551	UserId *string `type:"string" required:"true"`
15552}
15553
15554// String returns the string representation
15555func (s ResolveRoomInput) String() string {
15556	return awsutil.Prettify(s)
15557}
15558
15559// GoString returns the string representation
15560func (s ResolveRoomInput) GoString() string {
15561	return s.String()
15562}
15563
15564// Validate inspects the fields of the type to determine if they are valid.
15565func (s *ResolveRoomInput) Validate() error {
15566	invalidParams := request.ErrInvalidParams{Context: "ResolveRoomInput"}
15567	if s.SkillId == nil {
15568		invalidParams.Add(request.NewErrParamRequired("SkillId"))
15569	}
15570	if s.UserId == nil {
15571		invalidParams.Add(request.NewErrParamRequired("UserId"))
15572	}
15573
15574	if invalidParams.Len() > 0 {
15575		return invalidParams
15576	}
15577	return nil
15578}
15579
15580// SetSkillId sets the SkillId field's value.
15581func (s *ResolveRoomInput) SetSkillId(v string) *ResolveRoomInput {
15582	s.SkillId = &v
15583	return s
15584}
15585
15586// SetUserId sets the UserId field's value.
15587func (s *ResolveRoomInput) SetUserId(v string) *ResolveRoomInput {
15588	s.UserId = &v
15589	return s
15590}
15591
15592type ResolveRoomOutput struct {
15593	_ struct{} `type:"structure"`
15594
15595	// The ARN of the room from which the skill request was invoked.
15596	RoomArn *string `type:"string"`
15597
15598	// The name of the room from which the skill request was invoked.
15599	RoomName *string `min:"1" type:"string"`
15600
15601	// Response to get the room profile request. Required.
15602	RoomSkillParameters []*RoomSkillParameter `type:"list"`
15603}
15604
15605// String returns the string representation
15606func (s ResolveRoomOutput) String() string {
15607	return awsutil.Prettify(s)
15608}
15609
15610// GoString returns the string representation
15611func (s ResolveRoomOutput) GoString() string {
15612	return s.String()
15613}
15614
15615// SetRoomArn sets the RoomArn field's value.
15616func (s *ResolveRoomOutput) SetRoomArn(v string) *ResolveRoomOutput {
15617	s.RoomArn = &v
15618	return s
15619}
15620
15621// SetRoomName sets the RoomName field's value.
15622func (s *ResolveRoomOutput) SetRoomName(v string) *ResolveRoomOutput {
15623	s.RoomName = &v
15624	return s
15625}
15626
15627// SetRoomSkillParameters sets the RoomSkillParameters field's value.
15628func (s *ResolveRoomOutput) SetRoomSkillParameters(v []*RoomSkillParameter) *ResolveRoomOutput {
15629	s.RoomSkillParameters = v
15630	return s
15631}
15632
15633type RevokeInvitationInput struct {
15634	_ struct{} `type:"structure"`
15635
15636	// The ARN of the enrollment invitation to revoke. Required.
15637	EnrollmentId *string `type:"string"`
15638
15639	// The ARN of the user for whom to revoke an enrollment invitation. Required.
15640	UserArn *string `type:"string"`
15641}
15642
15643// String returns the string representation
15644func (s RevokeInvitationInput) String() string {
15645	return awsutil.Prettify(s)
15646}
15647
15648// GoString returns the string representation
15649func (s RevokeInvitationInput) GoString() string {
15650	return s.String()
15651}
15652
15653// SetEnrollmentId sets the EnrollmentId field's value.
15654func (s *RevokeInvitationInput) SetEnrollmentId(v string) *RevokeInvitationInput {
15655	s.EnrollmentId = &v
15656	return s
15657}
15658
15659// SetUserArn sets the UserArn field's value.
15660func (s *RevokeInvitationInput) SetUserArn(v string) *RevokeInvitationInput {
15661	s.UserArn = &v
15662	return s
15663}
15664
15665type RevokeInvitationOutput struct {
15666	_ struct{} `type:"structure"`
15667}
15668
15669// String returns the string representation
15670func (s RevokeInvitationOutput) String() string {
15671	return awsutil.Prettify(s)
15672}
15673
15674// GoString returns the string representation
15675func (s RevokeInvitationOutput) GoString() string {
15676	return s.String()
15677}
15678
15679// A room with attributes.
15680type Room struct {
15681	_ struct{} `type:"structure"`
15682
15683	// The description of a room.
15684	Description *string `min:"1" type:"string"`
15685
15686	// The profile ARN of a room.
15687	ProfileArn *string `type:"string"`
15688
15689	// The provider calendar ARN of a room.
15690	ProviderCalendarId *string `type:"string"`
15691
15692	// The ARN of a room.
15693	RoomArn *string `type:"string"`
15694
15695	// The name of a room.
15696	RoomName *string `min:"1" type:"string"`
15697}
15698
15699// String returns the string representation
15700func (s Room) String() string {
15701	return awsutil.Prettify(s)
15702}
15703
15704// GoString returns the string representation
15705func (s Room) GoString() string {
15706	return s.String()
15707}
15708
15709// SetDescription sets the Description field's value.
15710func (s *Room) SetDescription(v string) *Room {
15711	s.Description = &v
15712	return s
15713}
15714
15715// SetProfileArn sets the ProfileArn field's value.
15716func (s *Room) SetProfileArn(v string) *Room {
15717	s.ProfileArn = &v
15718	return s
15719}
15720
15721// SetProviderCalendarId sets the ProviderCalendarId field's value.
15722func (s *Room) SetProviderCalendarId(v string) *Room {
15723	s.ProviderCalendarId = &v
15724	return s
15725}
15726
15727// SetRoomArn sets the RoomArn field's value.
15728func (s *Room) SetRoomArn(v string) *Room {
15729	s.RoomArn = &v
15730	return s
15731}
15732
15733// SetRoomName sets the RoomName field's value.
15734func (s *Room) SetRoomName(v string) *Room {
15735	s.RoomName = &v
15736	return s
15737}
15738
15739// The data of a room.
15740type RoomData struct {
15741	_ struct{} `type:"structure"`
15742
15743	// The description of a room.
15744	Description *string `min:"1" type:"string"`
15745
15746	// The profile ARN of a room.
15747	ProfileArn *string `type:"string"`
15748
15749	// The profile name of a room.
15750	ProfileName *string `min:"1" type:"string"`
15751
15752	// The provider calendar ARN of a room.
15753	ProviderCalendarId *string `type:"string"`
15754
15755	// The ARN of a room.
15756	RoomArn *string `type:"string"`
15757
15758	// The name of a room.
15759	RoomName *string `min:"1" type:"string"`
15760}
15761
15762// String returns the string representation
15763func (s RoomData) String() string {
15764	return awsutil.Prettify(s)
15765}
15766
15767// GoString returns the string representation
15768func (s RoomData) GoString() string {
15769	return s.String()
15770}
15771
15772// SetDescription sets the Description field's value.
15773func (s *RoomData) SetDescription(v string) *RoomData {
15774	s.Description = &v
15775	return s
15776}
15777
15778// SetProfileArn sets the ProfileArn field's value.
15779func (s *RoomData) SetProfileArn(v string) *RoomData {
15780	s.ProfileArn = &v
15781	return s
15782}
15783
15784// SetProfileName sets the ProfileName field's value.
15785func (s *RoomData) SetProfileName(v string) *RoomData {
15786	s.ProfileName = &v
15787	return s
15788}
15789
15790// SetProviderCalendarId sets the ProviderCalendarId field's value.
15791func (s *RoomData) SetProviderCalendarId(v string) *RoomData {
15792	s.ProviderCalendarId = &v
15793	return s
15794}
15795
15796// SetRoomArn sets the RoomArn field's value.
15797func (s *RoomData) SetRoomArn(v string) *RoomData {
15798	s.RoomArn = &v
15799	return s
15800}
15801
15802// SetRoomName sets the RoomName field's value.
15803func (s *RoomData) SetRoomName(v string) *RoomData {
15804	s.RoomName = &v
15805	return s
15806}
15807
15808// A skill parameter associated with a room.
15809type RoomSkillParameter struct {
15810	_ struct{} `type:"structure"`
15811
15812	// The parameter key of a room skill parameter. ParameterKey is an enumerated
15813	// type that only takes “DEFAULT” or “SCOPE” as valid values.
15814	//
15815	// ParameterKey is a required field
15816	ParameterKey *string `min:"1" type:"string" required:"true"`
15817
15818	// The parameter value of a room skill parameter.
15819	//
15820	// ParameterValue is a required field
15821	ParameterValue *string `min:"1" type:"string" required:"true"`
15822}
15823
15824// String returns the string representation
15825func (s RoomSkillParameter) String() string {
15826	return awsutil.Prettify(s)
15827}
15828
15829// GoString returns the string representation
15830func (s RoomSkillParameter) GoString() string {
15831	return s.String()
15832}
15833
15834// Validate inspects the fields of the type to determine if they are valid.
15835func (s *RoomSkillParameter) Validate() error {
15836	invalidParams := request.ErrInvalidParams{Context: "RoomSkillParameter"}
15837	if s.ParameterKey == nil {
15838		invalidParams.Add(request.NewErrParamRequired("ParameterKey"))
15839	}
15840	if s.ParameterKey != nil && len(*s.ParameterKey) < 1 {
15841		invalidParams.Add(request.NewErrParamMinLen("ParameterKey", 1))
15842	}
15843	if s.ParameterValue == nil {
15844		invalidParams.Add(request.NewErrParamRequired("ParameterValue"))
15845	}
15846	if s.ParameterValue != nil && len(*s.ParameterValue) < 1 {
15847		invalidParams.Add(request.NewErrParamMinLen("ParameterValue", 1))
15848	}
15849
15850	if invalidParams.Len() > 0 {
15851		return invalidParams
15852	}
15853	return nil
15854}
15855
15856// SetParameterKey sets the ParameterKey field's value.
15857func (s *RoomSkillParameter) SetParameterKey(v string) *RoomSkillParameter {
15858	s.ParameterKey = &v
15859	return s
15860}
15861
15862// SetParameterValue sets the ParameterValue field's value.
15863func (s *RoomSkillParameter) SetParameterValue(v string) *RoomSkillParameter {
15864	s.ParameterValue = &v
15865	return s
15866}
15867
15868type SearchAddressBooksInput struct {
15869	_ struct{} `type:"structure"`
15870
15871	// The filters to use to list a specified set of address books. The supported
15872	// filter key is AddressBookName.
15873	Filters []*Filter `type:"list"`
15874
15875	// The maximum number of results to include in the response. If more results
15876	// exist than the specified MaxResults value, a token is included in the response
15877	// so that the remaining results can be retrieved.
15878	MaxResults *int64 `min:"1" type:"integer"`
15879
15880	// An optional token returned from a prior request. Use this token for pagination
15881	// of results from this action. If this parameter is specified, the response
15882	// only includes results beyond the token, up to the value specified by MaxResults.
15883	NextToken *string `min:"1" type:"string"`
15884
15885	// The sort order to use in listing the specified set of address books. The
15886	// supported sort key is AddressBookName.
15887	SortCriteria []*Sort `type:"list"`
15888}
15889
15890// String returns the string representation
15891func (s SearchAddressBooksInput) String() string {
15892	return awsutil.Prettify(s)
15893}
15894
15895// GoString returns the string representation
15896func (s SearchAddressBooksInput) GoString() string {
15897	return s.String()
15898}
15899
15900// Validate inspects the fields of the type to determine if they are valid.
15901func (s *SearchAddressBooksInput) Validate() error {
15902	invalidParams := request.ErrInvalidParams{Context: "SearchAddressBooksInput"}
15903	if s.MaxResults != nil && *s.MaxResults < 1 {
15904		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
15905	}
15906	if s.NextToken != nil && len(*s.NextToken) < 1 {
15907		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
15908	}
15909	if s.Filters != nil {
15910		for i, v := range s.Filters {
15911			if v == nil {
15912				continue
15913			}
15914			if err := v.Validate(); err != nil {
15915				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
15916			}
15917		}
15918	}
15919	if s.SortCriteria != nil {
15920		for i, v := range s.SortCriteria {
15921			if v == nil {
15922				continue
15923			}
15924			if err := v.Validate(); err != nil {
15925				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortCriteria", i), err.(request.ErrInvalidParams))
15926			}
15927		}
15928	}
15929
15930	if invalidParams.Len() > 0 {
15931		return invalidParams
15932	}
15933	return nil
15934}
15935
15936// SetFilters sets the Filters field's value.
15937func (s *SearchAddressBooksInput) SetFilters(v []*Filter) *SearchAddressBooksInput {
15938	s.Filters = v
15939	return s
15940}
15941
15942// SetMaxResults sets the MaxResults field's value.
15943func (s *SearchAddressBooksInput) SetMaxResults(v int64) *SearchAddressBooksInput {
15944	s.MaxResults = &v
15945	return s
15946}
15947
15948// SetNextToken sets the NextToken field's value.
15949func (s *SearchAddressBooksInput) SetNextToken(v string) *SearchAddressBooksInput {
15950	s.NextToken = &v
15951	return s
15952}
15953
15954// SetSortCriteria sets the SortCriteria field's value.
15955func (s *SearchAddressBooksInput) SetSortCriteria(v []*Sort) *SearchAddressBooksInput {
15956	s.SortCriteria = v
15957	return s
15958}
15959
15960type SearchAddressBooksOutput struct {
15961	_ struct{} `type:"structure"`
15962
15963	// The address books that meet the specified set of filter criteria, in sort
15964	// order.
15965	AddressBooks []*AddressBookData `type:"list"`
15966
15967	// The token returned to indicate that there is more data available.
15968	NextToken *string `min:"1" type:"string"`
15969
15970	// The total number of address books returned.
15971	TotalCount *int64 `type:"integer"`
15972}
15973
15974// String returns the string representation
15975func (s SearchAddressBooksOutput) String() string {
15976	return awsutil.Prettify(s)
15977}
15978
15979// GoString returns the string representation
15980func (s SearchAddressBooksOutput) GoString() string {
15981	return s.String()
15982}
15983
15984// SetAddressBooks sets the AddressBooks field's value.
15985func (s *SearchAddressBooksOutput) SetAddressBooks(v []*AddressBookData) *SearchAddressBooksOutput {
15986	s.AddressBooks = v
15987	return s
15988}
15989
15990// SetNextToken sets the NextToken field's value.
15991func (s *SearchAddressBooksOutput) SetNextToken(v string) *SearchAddressBooksOutput {
15992	s.NextToken = &v
15993	return s
15994}
15995
15996// SetTotalCount sets the TotalCount field's value.
15997func (s *SearchAddressBooksOutput) SetTotalCount(v int64) *SearchAddressBooksOutput {
15998	s.TotalCount = &v
15999	return s
16000}
16001
16002type SearchContactsInput struct {
16003	_ struct{} `type:"structure"`
16004
16005	// The filters to use to list a specified set of address books. The supported
16006	// filter keys are DisplayName, FirstName, LastName, and AddressBookArns.
16007	Filters []*Filter `type:"list"`
16008
16009	// The maximum number of results to include in the response. If more results
16010	// exist than the specified MaxResults value, a token is included in the response
16011	// so that the remaining results can be retrieved.
16012	MaxResults *int64 `min:"1" type:"integer"`
16013
16014	// An optional token returned from a prior request. Use this token for pagination
16015	// of results from this action. If this parameter is specified, the response
16016	// only includes results beyond the token, up to the value specified by MaxResults.
16017	NextToken *string `min:"1" type:"string"`
16018
16019	// The sort order to use in listing the specified set of contacts. The supported
16020	// sort keys are DisplayName, FirstName, and LastName.
16021	SortCriteria []*Sort `type:"list"`
16022}
16023
16024// String returns the string representation
16025func (s SearchContactsInput) String() string {
16026	return awsutil.Prettify(s)
16027}
16028
16029// GoString returns the string representation
16030func (s SearchContactsInput) GoString() string {
16031	return s.String()
16032}
16033
16034// Validate inspects the fields of the type to determine if they are valid.
16035func (s *SearchContactsInput) Validate() error {
16036	invalidParams := request.ErrInvalidParams{Context: "SearchContactsInput"}
16037	if s.MaxResults != nil && *s.MaxResults < 1 {
16038		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
16039	}
16040	if s.NextToken != nil && len(*s.NextToken) < 1 {
16041		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
16042	}
16043	if s.Filters != nil {
16044		for i, v := range s.Filters {
16045			if v == nil {
16046				continue
16047			}
16048			if err := v.Validate(); err != nil {
16049				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
16050			}
16051		}
16052	}
16053	if s.SortCriteria != nil {
16054		for i, v := range s.SortCriteria {
16055			if v == nil {
16056				continue
16057			}
16058			if err := v.Validate(); err != nil {
16059				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortCriteria", i), err.(request.ErrInvalidParams))
16060			}
16061		}
16062	}
16063
16064	if invalidParams.Len() > 0 {
16065		return invalidParams
16066	}
16067	return nil
16068}
16069
16070// SetFilters sets the Filters field's value.
16071func (s *SearchContactsInput) SetFilters(v []*Filter) *SearchContactsInput {
16072	s.Filters = v
16073	return s
16074}
16075
16076// SetMaxResults sets the MaxResults field's value.
16077func (s *SearchContactsInput) SetMaxResults(v int64) *SearchContactsInput {
16078	s.MaxResults = &v
16079	return s
16080}
16081
16082// SetNextToken sets the NextToken field's value.
16083func (s *SearchContactsInput) SetNextToken(v string) *SearchContactsInput {
16084	s.NextToken = &v
16085	return s
16086}
16087
16088// SetSortCriteria sets the SortCriteria field's value.
16089func (s *SearchContactsInput) SetSortCriteria(v []*Sort) *SearchContactsInput {
16090	s.SortCriteria = v
16091	return s
16092}
16093
16094type SearchContactsOutput struct {
16095	_ struct{} `type:"structure"`
16096
16097	// The contacts that meet the specified set of filter criteria, in sort order.
16098	Contacts []*ContactData `type:"list"`
16099
16100	// The token returned to indicate that there is more data available.
16101	NextToken *string `min:"1" type:"string"`
16102
16103	// The total number of contacts returned.
16104	TotalCount *int64 `type:"integer"`
16105}
16106
16107// String returns the string representation
16108func (s SearchContactsOutput) String() string {
16109	return awsutil.Prettify(s)
16110}
16111
16112// GoString returns the string representation
16113func (s SearchContactsOutput) GoString() string {
16114	return s.String()
16115}
16116
16117// SetContacts sets the Contacts field's value.
16118func (s *SearchContactsOutput) SetContacts(v []*ContactData) *SearchContactsOutput {
16119	s.Contacts = v
16120	return s
16121}
16122
16123// SetNextToken sets the NextToken field's value.
16124func (s *SearchContactsOutput) SetNextToken(v string) *SearchContactsOutput {
16125	s.NextToken = &v
16126	return s
16127}
16128
16129// SetTotalCount sets the TotalCount field's value.
16130func (s *SearchContactsOutput) SetTotalCount(v int64) *SearchContactsOutput {
16131	s.TotalCount = &v
16132	return s
16133}
16134
16135type SearchDevicesInput struct {
16136	_ struct{} `type:"structure"`
16137
16138	// The filters to use to list a specified set of devices. Supported filter keys
16139	// are DeviceName, DeviceStatus, DeviceStatusDetailCode, RoomName, DeviceType,
16140	// DeviceSerialNumber, UnassociatedOnly, ConnectionStatus (ONLINE and OFFLINE),
16141	// NetworkProfileName, NetworkProfileArn, Feature, and FailureCode.
16142	Filters []*Filter `type:"list"`
16143
16144	// The maximum number of results to include in the response. If more results
16145	// exist than the specified MaxResults value, a token is included in the response
16146	// so that the remaining results can be retrieved.
16147	MaxResults *int64 `min:"1" type:"integer"`
16148
16149	// An optional token returned from a prior request. Use this token for pagination
16150	// of results from this action. If this parameter is specified, the response
16151	// includes only results beyond the token, up to the value specified by MaxResults.
16152	NextToken *string `min:"1" type:"string"`
16153
16154	// The sort order to use in listing the specified set of devices. Supported
16155	// sort keys are DeviceName, DeviceStatus, RoomName, DeviceType, DeviceSerialNumber,
16156	// ConnectionStatus, NetworkProfileName, NetworkProfileArn, Feature, and FailureCode.
16157	SortCriteria []*Sort `type:"list"`
16158}
16159
16160// String returns the string representation
16161func (s SearchDevicesInput) String() string {
16162	return awsutil.Prettify(s)
16163}
16164
16165// GoString returns the string representation
16166func (s SearchDevicesInput) GoString() string {
16167	return s.String()
16168}
16169
16170// Validate inspects the fields of the type to determine if they are valid.
16171func (s *SearchDevicesInput) Validate() error {
16172	invalidParams := request.ErrInvalidParams{Context: "SearchDevicesInput"}
16173	if s.MaxResults != nil && *s.MaxResults < 1 {
16174		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
16175	}
16176	if s.NextToken != nil && len(*s.NextToken) < 1 {
16177		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
16178	}
16179	if s.Filters != nil {
16180		for i, v := range s.Filters {
16181			if v == nil {
16182				continue
16183			}
16184			if err := v.Validate(); err != nil {
16185				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
16186			}
16187		}
16188	}
16189	if s.SortCriteria != nil {
16190		for i, v := range s.SortCriteria {
16191			if v == nil {
16192				continue
16193			}
16194			if err := v.Validate(); err != nil {
16195				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortCriteria", i), err.(request.ErrInvalidParams))
16196			}
16197		}
16198	}
16199
16200	if invalidParams.Len() > 0 {
16201		return invalidParams
16202	}
16203	return nil
16204}
16205
16206// SetFilters sets the Filters field's value.
16207func (s *SearchDevicesInput) SetFilters(v []*Filter) *SearchDevicesInput {
16208	s.Filters = v
16209	return s
16210}
16211
16212// SetMaxResults sets the MaxResults field's value.
16213func (s *SearchDevicesInput) SetMaxResults(v int64) *SearchDevicesInput {
16214	s.MaxResults = &v
16215	return s
16216}
16217
16218// SetNextToken sets the NextToken field's value.
16219func (s *SearchDevicesInput) SetNextToken(v string) *SearchDevicesInput {
16220	s.NextToken = &v
16221	return s
16222}
16223
16224// SetSortCriteria sets the SortCriteria field's value.
16225func (s *SearchDevicesInput) SetSortCriteria(v []*Sort) *SearchDevicesInput {
16226	s.SortCriteria = v
16227	return s
16228}
16229
16230type SearchDevicesOutput struct {
16231	_ struct{} `type:"structure"`
16232
16233	// The devices that meet the specified set of filter criteria, in sort order.
16234	Devices []*DeviceData `type:"list"`
16235
16236	// The token returned to indicate that there is more data available.
16237	NextToken *string `min:"1" type:"string"`
16238
16239	// The total number of devices returned.
16240	TotalCount *int64 `type:"integer"`
16241}
16242
16243// String returns the string representation
16244func (s SearchDevicesOutput) String() string {
16245	return awsutil.Prettify(s)
16246}
16247
16248// GoString returns the string representation
16249func (s SearchDevicesOutput) GoString() string {
16250	return s.String()
16251}
16252
16253// SetDevices sets the Devices field's value.
16254func (s *SearchDevicesOutput) SetDevices(v []*DeviceData) *SearchDevicesOutput {
16255	s.Devices = v
16256	return s
16257}
16258
16259// SetNextToken sets the NextToken field's value.
16260func (s *SearchDevicesOutput) SetNextToken(v string) *SearchDevicesOutput {
16261	s.NextToken = &v
16262	return s
16263}
16264
16265// SetTotalCount sets the TotalCount field's value.
16266func (s *SearchDevicesOutput) SetTotalCount(v int64) *SearchDevicesOutput {
16267	s.TotalCount = &v
16268	return s
16269}
16270
16271type SearchNetworkProfilesInput struct {
16272	_ struct{} `type:"structure"`
16273
16274	// The filters to use to list a specified set of network profiles. Valid filters
16275	// are NetworkProfileName, Ssid, and SecurityType.
16276	Filters []*Filter `type:"list"`
16277
16278	// The maximum number of results to include in the response. If more results
16279	// exist than the specified MaxResults value, a token is included in the response
16280	// so that the remaining results can be retrieved.
16281	MaxResults *int64 `min:"1" type:"integer"`
16282
16283	// An optional token returned from a prior request. Use this token for pagination
16284	// of results from this action. If this parameter is specified, the response
16285	// includes only results beyond the token, up to the value specified by MaxResults.
16286	NextToken *string `min:"1" type:"string"`
16287
16288	// The sort order to use to list the specified set of network profiles. Valid
16289	// sort criteria includes NetworkProfileName, Ssid, and SecurityType.
16290	SortCriteria []*Sort `type:"list"`
16291}
16292
16293// String returns the string representation
16294func (s SearchNetworkProfilesInput) String() string {
16295	return awsutil.Prettify(s)
16296}
16297
16298// GoString returns the string representation
16299func (s SearchNetworkProfilesInput) GoString() string {
16300	return s.String()
16301}
16302
16303// Validate inspects the fields of the type to determine if they are valid.
16304func (s *SearchNetworkProfilesInput) Validate() error {
16305	invalidParams := request.ErrInvalidParams{Context: "SearchNetworkProfilesInput"}
16306	if s.MaxResults != nil && *s.MaxResults < 1 {
16307		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
16308	}
16309	if s.NextToken != nil && len(*s.NextToken) < 1 {
16310		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
16311	}
16312	if s.Filters != nil {
16313		for i, v := range s.Filters {
16314			if v == nil {
16315				continue
16316			}
16317			if err := v.Validate(); err != nil {
16318				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
16319			}
16320		}
16321	}
16322	if s.SortCriteria != nil {
16323		for i, v := range s.SortCriteria {
16324			if v == nil {
16325				continue
16326			}
16327			if err := v.Validate(); err != nil {
16328				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortCriteria", i), err.(request.ErrInvalidParams))
16329			}
16330		}
16331	}
16332
16333	if invalidParams.Len() > 0 {
16334		return invalidParams
16335	}
16336	return nil
16337}
16338
16339// SetFilters sets the Filters field's value.
16340func (s *SearchNetworkProfilesInput) SetFilters(v []*Filter) *SearchNetworkProfilesInput {
16341	s.Filters = v
16342	return s
16343}
16344
16345// SetMaxResults sets the MaxResults field's value.
16346func (s *SearchNetworkProfilesInput) SetMaxResults(v int64) *SearchNetworkProfilesInput {
16347	s.MaxResults = &v
16348	return s
16349}
16350
16351// SetNextToken sets the NextToken field's value.
16352func (s *SearchNetworkProfilesInput) SetNextToken(v string) *SearchNetworkProfilesInput {
16353	s.NextToken = &v
16354	return s
16355}
16356
16357// SetSortCriteria sets the SortCriteria field's value.
16358func (s *SearchNetworkProfilesInput) SetSortCriteria(v []*Sort) *SearchNetworkProfilesInput {
16359	s.SortCriteria = v
16360	return s
16361}
16362
16363type SearchNetworkProfilesOutput struct {
16364	_ struct{} `type:"structure"`
16365
16366	// The network profiles that meet the specified set of filter criteria, in sort
16367	// order. It is a list of NetworkProfileData objects.
16368	NetworkProfiles []*NetworkProfileData `type:"list"`
16369
16370	// An optional token returned from a prior request. Use this token for pagination
16371	// of results from this action. If this parameter is specified, the response
16372	// includes only results beyond the token, up to the value specified by MaxResults.
16373	NextToken *string `min:"1" type:"string"`
16374
16375	// The total number of network profiles returned.
16376	TotalCount *int64 `type:"integer"`
16377}
16378
16379// String returns the string representation
16380func (s SearchNetworkProfilesOutput) String() string {
16381	return awsutil.Prettify(s)
16382}
16383
16384// GoString returns the string representation
16385func (s SearchNetworkProfilesOutput) GoString() string {
16386	return s.String()
16387}
16388
16389// SetNetworkProfiles sets the NetworkProfiles field's value.
16390func (s *SearchNetworkProfilesOutput) SetNetworkProfiles(v []*NetworkProfileData) *SearchNetworkProfilesOutput {
16391	s.NetworkProfiles = v
16392	return s
16393}
16394
16395// SetNextToken sets the NextToken field's value.
16396func (s *SearchNetworkProfilesOutput) SetNextToken(v string) *SearchNetworkProfilesOutput {
16397	s.NextToken = &v
16398	return s
16399}
16400
16401// SetTotalCount sets the TotalCount field's value.
16402func (s *SearchNetworkProfilesOutput) SetTotalCount(v int64) *SearchNetworkProfilesOutput {
16403	s.TotalCount = &v
16404	return s
16405}
16406
16407type SearchProfilesInput struct {
16408	_ struct{} `type:"structure"`
16409
16410	// The filters to use to list a specified set of room profiles. Supported filter
16411	// keys are ProfileName and Address. Required.
16412	Filters []*Filter `type:"list"`
16413
16414	// The maximum number of results to include in the response. If more results
16415	// exist than the specified MaxResults value, a token is included in the response
16416	// so that the remaining results can be retrieved.
16417	MaxResults *int64 `min:"1" type:"integer"`
16418
16419	// An optional token returned from a prior request. Use this token for pagination
16420	// of results from this action. If this parameter is specified, the response
16421	// includes only results beyond the token, up to the value specified by MaxResults.
16422	NextToken *string `min:"1" type:"string"`
16423
16424	// The sort order to use in listing the specified set of room profiles. Supported
16425	// sort keys are ProfileName and Address.
16426	SortCriteria []*Sort `type:"list"`
16427}
16428
16429// String returns the string representation
16430func (s SearchProfilesInput) String() string {
16431	return awsutil.Prettify(s)
16432}
16433
16434// GoString returns the string representation
16435func (s SearchProfilesInput) GoString() string {
16436	return s.String()
16437}
16438
16439// Validate inspects the fields of the type to determine if they are valid.
16440func (s *SearchProfilesInput) Validate() error {
16441	invalidParams := request.ErrInvalidParams{Context: "SearchProfilesInput"}
16442	if s.MaxResults != nil && *s.MaxResults < 1 {
16443		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
16444	}
16445	if s.NextToken != nil && len(*s.NextToken) < 1 {
16446		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
16447	}
16448	if s.Filters != nil {
16449		for i, v := range s.Filters {
16450			if v == nil {
16451				continue
16452			}
16453			if err := v.Validate(); err != nil {
16454				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
16455			}
16456		}
16457	}
16458	if s.SortCriteria != nil {
16459		for i, v := range s.SortCriteria {
16460			if v == nil {
16461				continue
16462			}
16463			if err := v.Validate(); err != nil {
16464				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortCriteria", i), err.(request.ErrInvalidParams))
16465			}
16466		}
16467	}
16468
16469	if invalidParams.Len() > 0 {
16470		return invalidParams
16471	}
16472	return nil
16473}
16474
16475// SetFilters sets the Filters field's value.
16476func (s *SearchProfilesInput) SetFilters(v []*Filter) *SearchProfilesInput {
16477	s.Filters = v
16478	return s
16479}
16480
16481// SetMaxResults sets the MaxResults field's value.
16482func (s *SearchProfilesInput) SetMaxResults(v int64) *SearchProfilesInput {
16483	s.MaxResults = &v
16484	return s
16485}
16486
16487// SetNextToken sets the NextToken field's value.
16488func (s *SearchProfilesInput) SetNextToken(v string) *SearchProfilesInput {
16489	s.NextToken = &v
16490	return s
16491}
16492
16493// SetSortCriteria sets the SortCriteria field's value.
16494func (s *SearchProfilesInput) SetSortCriteria(v []*Sort) *SearchProfilesInput {
16495	s.SortCriteria = v
16496	return s
16497}
16498
16499type SearchProfilesOutput struct {
16500	_ struct{} `type:"structure"`
16501
16502	// The token returned to indicate that there is more data available.
16503	NextToken *string `min:"1" type:"string"`
16504
16505	// The profiles that meet the specified set of filter criteria, in sort order.
16506	Profiles []*ProfileData `type:"list"`
16507
16508	// The total number of room profiles returned.
16509	TotalCount *int64 `type:"integer"`
16510}
16511
16512// String returns the string representation
16513func (s SearchProfilesOutput) String() string {
16514	return awsutil.Prettify(s)
16515}
16516
16517// GoString returns the string representation
16518func (s SearchProfilesOutput) GoString() string {
16519	return s.String()
16520}
16521
16522// SetNextToken sets the NextToken field's value.
16523func (s *SearchProfilesOutput) SetNextToken(v string) *SearchProfilesOutput {
16524	s.NextToken = &v
16525	return s
16526}
16527
16528// SetProfiles sets the Profiles field's value.
16529func (s *SearchProfilesOutput) SetProfiles(v []*ProfileData) *SearchProfilesOutput {
16530	s.Profiles = v
16531	return s
16532}
16533
16534// SetTotalCount sets the TotalCount field's value.
16535func (s *SearchProfilesOutput) SetTotalCount(v int64) *SearchProfilesOutput {
16536	s.TotalCount = &v
16537	return s
16538}
16539
16540type SearchRoomsInput struct {
16541	_ struct{} `type:"structure"`
16542
16543	// The filters to use to list a specified set of rooms. The supported filter
16544	// keys are RoomName and ProfileName.
16545	Filters []*Filter `type:"list"`
16546
16547	// The maximum number of results to include in the response. If more results
16548	// exist than the specified MaxResults value, a token is included in the response
16549	// so that the remaining results can be retrieved.
16550	MaxResults *int64 `min:"1" type:"integer"`
16551
16552	// An optional token returned from a prior request. Use this token for pagination
16553	// of results from this action. If this parameter is specified, the response
16554	// includes only results beyond the token, up to the value specified by MaxResults.
16555	NextToken *string `min:"1" type:"string"`
16556
16557	// The sort order to use in listing the specified set of rooms. The supported
16558	// sort keys are RoomName and ProfileName.
16559	SortCriteria []*Sort `type:"list"`
16560}
16561
16562// String returns the string representation
16563func (s SearchRoomsInput) String() string {
16564	return awsutil.Prettify(s)
16565}
16566
16567// GoString returns the string representation
16568func (s SearchRoomsInput) GoString() string {
16569	return s.String()
16570}
16571
16572// Validate inspects the fields of the type to determine if they are valid.
16573func (s *SearchRoomsInput) Validate() error {
16574	invalidParams := request.ErrInvalidParams{Context: "SearchRoomsInput"}
16575	if s.MaxResults != nil && *s.MaxResults < 1 {
16576		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
16577	}
16578	if s.NextToken != nil && len(*s.NextToken) < 1 {
16579		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
16580	}
16581	if s.Filters != nil {
16582		for i, v := range s.Filters {
16583			if v == nil {
16584				continue
16585			}
16586			if err := v.Validate(); err != nil {
16587				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
16588			}
16589		}
16590	}
16591	if s.SortCriteria != nil {
16592		for i, v := range s.SortCriteria {
16593			if v == nil {
16594				continue
16595			}
16596			if err := v.Validate(); err != nil {
16597				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortCriteria", i), err.(request.ErrInvalidParams))
16598			}
16599		}
16600	}
16601
16602	if invalidParams.Len() > 0 {
16603		return invalidParams
16604	}
16605	return nil
16606}
16607
16608// SetFilters sets the Filters field's value.
16609func (s *SearchRoomsInput) SetFilters(v []*Filter) *SearchRoomsInput {
16610	s.Filters = v
16611	return s
16612}
16613
16614// SetMaxResults sets the MaxResults field's value.
16615func (s *SearchRoomsInput) SetMaxResults(v int64) *SearchRoomsInput {
16616	s.MaxResults = &v
16617	return s
16618}
16619
16620// SetNextToken sets the NextToken field's value.
16621func (s *SearchRoomsInput) SetNextToken(v string) *SearchRoomsInput {
16622	s.NextToken = &v
16623	return s
16624}
16625
16626// SetSortCriteria sets the SortCriteria field's value.
16627func (s *SearchRoomsInput) SetSortCriteria(v []*Sort) *SearchRoomsInput {
16628	s.SortCriteria = v
16629	return s
16630}
16631
16632type SearchRoomsOutput struct {
16633	_ struct{} `type:"structure"`
16634
16635	// The token returned to indicate that there is more data available.
16636	NextToken *string `min:"1" type:"string"`
16637
16638	// The rooms that meet the specified set of filter criteria, in sort order.
16639	Rooms []*RoomData `type:"list"`
16640
16641	// The total number of rooms returned.
16642	TotalCount *int64 `type:"integer"`
16643}
16644
16645// String returns the string representation
16646func (s SearchRoomsOutput) String() string {
16647	return awsutil.Prettify(s)
16648}
16649
16650// GoString returns the string representation
16651func (s SearchRoomsOutput) GoString() string {
16652	return s.String()
16653}
16654
16655// SetNextToken sets the NextToken field's value.
16656func (s *SearchRoomsOutput) SetNextToken(v string) *SearchRoomsOutput {
16657	s.NextToken = &v
16658	return s
16659}
16660
16661// SetRooms sets the Rooms field's value.
16662func (s *SearchRoomsOutput) SetRooms(v []*RoomData) *SearchRoomsOutput {
16663	s.Rooms = v
16664	return s
16665}
16666
16667// SetTotalCount sets the TotalCount field's value.
16668func (s *SearchRoomsOutput) SetTotalCount(v int64) *SearchRoomsOutput {
16669	s.TotalCount = &v
16670	return s
16671}
16672
16673type SearchSkillGroupsInput struct {
16674	_ struct{} `type:"structure"`
16675
16676	// The filters to use to list a specified set of skill groups. The supported
16677	// filter key is SkillGroupName.
16678	Filters []*Filter `type:"list"`
16679
16680	// The maximum number of results to include in the response. If more results
16681	// exist than the specified MaxResults value, a token is included in the response
16682	// so that the remaining results can be retrieved.
16683	MaxResults *int64 `min:"1" type:"integer"`
16684
16685	// An optional token returned from a prior request. Use this token for pagination
16686	// of results from this action. If this parameter is specified, the response
16687	// includes only results beyond the token, up to the value specified by MaxResults.
16688	// Required.
16689	NextToken *string `min:"1" type:"string"`
16690
16691	// The sort order to use in listing the specified set of skill groups. The supported
16692	// sort key is SkillGroupName.
16693	SortCriteria []*Sort `type:"list"`
16694}
16695
16696// String returns the string representation
16697func (s SearchSkillGroupsInput) String() string {
16698	return awsutil.Prettify(s)
16699}
16700
16701// GoString returns the string representation
16702func (s SearchSkillGroupsInput) GoString() string {
16703	return s.String()
16704}
16705
16706// Validate inspects the fields of the type to determine if they are valid.
16707func (s *SearchSkillGroupsInput) Validate() error {
16708	invalidParams := request.ErrInvalidParams{Context: "SearchSkillGroupsInput"}
16709	if s.MaxResults != nil && *s.MaxResults < 1 {
16710		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
16711	}
16712	if s.NextToken != nil && len(*s.NextToken) < 1 {
16713		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
16714	}
16715	if s.Filters != nil {
16716		for i, v := range s.Filters {
16717			if v == nil {
16718				continue
16719			}
16720			if err := v.Validate(); err != nil {
16721				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
16722			}
16723		}
16724	}
16725	if s.SortCriteria != nil {
16726		for i, v := range s.SortCriteria {
16727			if v == nil {
16728				continue
16729			}
16730			if err := v.Validate(); err != nil {
16731				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortCriteria", i), err.(request.ErrInvalidParams))
16732			}
16733		}
16734	}
16735
16736	if invalidParams.Len() > 0 {
16737		return invalidParams
16738	}
16739	return nil
16740}
16741
16742// SetFilters sets the Filters field's value.
16743func (s *SearchSkillGroupsInput) SetFilters(v []*Filter) *SearchSkillGroupsInput {
16744	s.Filters = v
16745	return s
16746}
16747
16748// SetMaxResults sets the MaxResults field's value.
16749func (s *SearchSkillGroupsInput) SetMaxResults(v int64) *SearchSkillGroupsInput {
16750	s.MaxResults = &v
16751	return s
16752}
16753
16754// SetNextToken sets the NextToken field's value.
16755func (s *SearchSkillGroupsInput) SetNextToken(v string) *SearchSkillGroupsInput {
16756	s.NextToken = &v
16757	return s
16758}
16759
16760// SetSortCriteria sets the SortCriteria field's value.
16761func (s *SearchSkillGroupsInput) SetSortCriteria(v []*Sort) *SearchSkillGroupsInput {
16762	s.SortCriteria = v
16763	return s
16764}
16765
16766type SearchSkillGroupsOutput struct {
16767	_ struct{} `type:"structure"`
16768
16769	// The token returned to indicate that there is more data available.
16770	NextToken *string `min:"1" type:"string"`
16771
16772	// The skill groups that meet the filter criteria, in sort order.
16773	SkillGroups []*SkillGroupData `type:"list"`
16774
16775	// The total number of skill groups returned.
16776	TotalCount *int64 `type:"integer"`
16777}
16778
16779// String returns the string representation
16780func (s SearchSkillGroupsOutput) String() string {
16781	return awsutil.Prettify(s)
16782}
16783
16784// GoString returns the string representation
16785func (s SearchSkillGroupsOutput) GoString() string {
16786	return s.String()
16787}
16788
16789// SetNextToken sets the NextToken field's value.
16790func (s *SearchSkillGroupsOutput) SetNextToken(v string) *SearchSkillGroupsOutput {
16791	s.NextToken = &v
16792	return s
16793}
16794
16795// SetSkillGroups sets the SkillGroups field's value.
16796func (s *SearchSkillGroupsOutput) SetSkillGroups(v []*SkillGroupData) *SearchSkillGroupsOutput {
16797	s.SkillGroups = v
16798	return s
16799}
16800
16801// SetTotalCount sets the TotalCount field's value.
16802func (s *SearchSkillGroupsOutput) SetTotalCount(v int64) *SearchSkillGroupsOutput {
16803	s.TotalCount = &v
16804	return s
16805}
16806
16807type SearchUsersInput struct {
16808	_ struct{} `type:"structure"`
16809
16810	// The filters to use for listing a specific set of users. Required. Supported
16811	// filter keys are UserId, FirstName, LastName, Email, and EnrollmentStatus.
16812	Filters []*Filter `type:"list"`
16813
16814	// The maximum number of results to include in the response. If more results
16815	// exist than the specified MaxResults value, a token is included in the response
16816	// so that the remaining results can be retrieved. Required.
16817	MaxResults *int64 `min:"1" type:"integer"`
16818
16819	// An optional token returned from a prior request. Use this token for pagination
16820	// of results from this action. If this parameter is specified, the response
16821	// includes only results beyond the token, up to the value specified by MaxResults.
16822	// Required.
16823	NextToken *string `min:"1" type:"string"`
16824
16825	// The sort order to use in listing the filtered set of users. Required. Supported
16826	// sort keys are UserId, FirstName, LastName, Email, and EnrollmentStatus.
16827	SortCriteria []*Sort `type:"list"`
16828}
16829
16830// String returns the string representation
16831func (s SearchUsersInput) String() string {
16832	return awsutil.Prettify(s)
16833}
16834
16835// GoString returns the string representation
16836func (s SearchUsersInput) GoString() string {
16837	return s.String()
16838}
16839
16840// Validate inspects the fields of the type to determine if they are valid.
16841func (s *SearchUsersInput) Validate() error {
16842	invalidParams := request.ErrInvalidParams{Context: "SearchUsersInput"}
16843	if s.MaxResults != nil && *s.MaxResults < 1 {
16844		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
16845	}
16846	if s.NextToken != nil && len(*s.NextToken) < 1 {
16847		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
16848	}
16849	if s.Filters != nil {
16850		for i, v := range s.Filters {
16851			if v == nil {
16852				continue
16853			}
16854			if err := v.Validate(); err != nil {
16855				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
16856			}
16857		}
16858	}
16859	if s.SortCriteria != nil {
16860		for i, v := range s.SortCriteria {
16861			if v == nil {
16862				continue
16863			}
16864			if err := v.Validate(); err != nil {
16865				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortCriteria", i), err.(request.ErrInvalidParams))
16866			}
16867		}
16868	}
16869
16870	if invalidParams.Len() > 0 {
16871		return invalidParams
16872	}
16873	return nil
16874}
16875
16876// SetFilters sets the Filters field's value.
16877func (s *SearchUsersInput) SetFilters(v []*Filter) *SearchUsersInput {
16878	s.Filters = v
16879	return s
16880}
16881
16882// SetMaxResults sets the MaxResults field's value.
16883func (s *SearchUsersInput) SetMaxResults(v int64) *SearchUsersInput {
16884	s.MaxResults = &v
16885	return s
16886}
16887
16888// SetNextToken sets the NextToken field's value.
16889func (s *SearchUsersInput) SetNextToken(v string) *SearchUsersInput {
16890	s.NextToken = &v
16891	return s
16892}
16893
16894// SetSortCriteria sets the SortCriteria field's value.
16895func (s *SearchUsersInput) SetSortCriteria(v []*Sort) *SearchUsersInput {
16896	s.SortCriteria = v
16897	return s
16898}
16899
16900type SearchUsersOutput struct {
16901	_ struct{} `type:"structure"`
16902
16903	// The token returned to indicate that there is more data available.
16904	NextToken *string `min:"1" type:"string"`
16905
16906	// The total number of users returned.
16907	TotalCount *int64 `type:"integer"`
16908
16909	// The users that meet the specified set of filter criteria, in sort order.
16910	Users []*UserData `type:"list"`
16911}
16912
16913// String returns the string representation
16914func (s SearchUsersOutput) String() string {
16915	return awsutil.Prettify(s)
16916}
16917
16918// GoString returns the string representation
16919func (s SearchUsersOutput) GoString() string {
16920	return s.String()
16921}
16922
16923// SetNextToken sets the NextToken field's value.
16924func (s *SearchUsersOutput) SetNextToken(v string) *SearchUsersOutput {
16925	s.NextToken = &v
16926	return s
16927}
16928
16929// SetTotalCount sets the TotalCount field's value.
16930func (s *SearchUsersOutput) SetTotalCount(v int64) *SearchUsersOutput {
16931	s.TotalCount = &v
16932	return s
16933}
16934
16935// SetUsers sets the Users field's value.
16936func (s *SearchUsersOutput) SetUsers(v []*UserData) *SearchUsersOutput {
16937	s.Users = v
16938	return s
16939}
16940
16941type SendAnnouncementInput struct {
16942	_ struct{} `type:"structure"`
16943
16944	// The unique, user-specified identifier for the request that ensures idempotency.
16945	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
16946
16947	// The announcement content. This can contain only one of the three possible
16948	// announcement types (text, SSML or audio).
16949	//
16950	// Content is a required field
16951	Content *Content `type:"structure" required:"true"`
16952
16953	// The filters to use to send an announcement to a specified list of rooms.
16954	// The supported filter keys are RoomName, ProfileName, RoomArn, and ProfileArn.
16955	// To send to all rooms, specify an empty RoomFilters list.
16956	//
16957	// RoomFilters is a required field
16958	RoomFilters []*Filter `type:"list" required:"true"`
16959
16960	// The time to live for an announcement. Default is 300. If delivery doesn't
16961	// occur within this time, the announcement is not delivered.
16962	TimeToLiveInSeconds *int64 `min:"1" type:"integer"`
16963}
16964
16965// String returns the string representation
16966func (s SendAnnouncementInput) String() string {
16967	return awsutil.Prettify(s)
16968}
16969
16970// GoString returns the string representation
16971func (s SendAnnouncementInput) GoString() string {
16972	return s.String()
16973}
16974
16975// Validate inspects the fields of the type to determine if they are valid.
16976func (s *SendAnnouncementInput) Validate() error {
16977	invalidParams := request.ErrInvalidParams{Context: "SendAnnouncementInput"}
16978	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
16979		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
16980	}
16981	if s.Content == nil {
16982		invalidParams.Add(request.NewErrParamRequired("Content"))
16983	}
16984	if s.RoomFilters == nil {
16985		invalidParams.Add(request.NewErrParamRequired("RoomFilters"))
16986	}
16987	if s.TimeToLiveInSeconds != nil && *s.TimeToLiveInSeconds < 1 {
16988		invalidParams.Add(request.NewErrParamMinValue("TimeToLiveInSeconds", 1))
16989	}
16990	if s.Content != nil {
16991		if err := s.Content.Validate(); err != nil {
16992			invalidParams.AddNested("Content", err.(request.ErrInvalidParams))
16993		}
16994	}
16995	if s.RoomFilters != nil {
16996		for i, v := range s.RoomFilters {
16997			if v == nil {
16998				continue
16999			}
17000			if err := v.Validate(); err != nil {
17001				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RoomFilters", i), err.(request.ErrInvalidParams))
17002			}
17003		}
17004	}
17005
17006	if invalidParams.Len() > 0 {
17007		return invalidParams
17008	}
17009	return nil
17010}
17011
17012// SetClientRequestToken sets the ClientRequestToken field's value.
17013func (s *SendAnnouncementInput) SetClientRequestToken(v string) *SendAnnouncementInput {
17014	s.ClientRequestToken = &v
17015	return s
17016}
17017
17018// SetContent sets the Content field's value.
17019func (s *SendAnnouncementInput) SetContent(v *Content) *SendAnnouncementInput {
17020	s.Content = v
17021	return s
17022}
17023
17024// SetRoomFilters sets the RoomFilters field's value.
17025func (s *SendAnnouncementInput) SetRoomFilters(v []*Filter) *SendAnnouncementInput {
17026	s.RoomFilters = v
17027	return s
17028}
17029
17030// SetTimeToLiveInSeconds sets the TimeToLiveInSeconds field's value.
17031func (s *SendAnnouncementInput) SetTimeToLiveInSeconds(v int64) *SendAnnouncementInput {
17032	s.TimeToLiveInSeconds = &v
17033	return s
17034}
17035
17036type SendAnnouncementOutput struct {
17037	_ struct{} `type:"structure"`
17038
17039	// The identifier of the announcement.
17040	AnnouncementArn *string `type:"string"`
17041}
17042
17043// String returns the string representation
17044func (s SendAnnouncementOutput) String() string {
17045	return awsutil.Prettify(s)
17046}
17047
17048// GoString returns the string representation
17049func (s SendAnnouncementOutput) GoString() string {
17050	return s.String()
17051}
17052
17053// SetAnnouncementArn sets the AnnouncementArn field's value.
17054func (s *SendAnnouncementOutput) SetAnnouncementArn(v string) *SendAnnouncementOutput {
17055	s.AnnouncementArn = &v
17056	return s
17057}
17058
17059type SendInvitationInput struct {
17060	_ struct{} `type:"structure"`
17061
17062	// The ARN of the user to whom to send an invitation. Required.
17063	UserArn *string `type:"string"`
17064}
17065
17066// String returns the string representation
17067func (s SendInvitationInput) String() string {
17068	return awsutil.Prettify(s)
17069}
17070
17071// GoString returns the string representation
17072func (s SendInvitationInput) GoString() string {
17073	return s.String()
17074}
17075
17076// SetUserArn sets the UserArn field's value.
17077func (s *SendInvitationInput) SetUserArn(v string) *SendInvitationInput {
17078	s.UserArn = &v
17079	return s
17080}
17081
17082type SendInvitationOutput struct {
17083	_ struct{} `type:"structure"`
17084}
17085
17086// String returns the string representation
17087func (s SendInvitationOutput) String() string {
17088	return awsutil.Prettify(s)
17089}
17090
17091// GoString returns the string representation
17092func (s SendInvitationOutput) GoString() string {
17093	return s.String()
17094}
17095
17096// The SIP address for the contact containing the URI and SIP address type.
17097type SipAddress struct {
17098	_ struct{} `type:"structure"`
17099
17100	// The type of the SIP address.
17101	//
17102	// Type is a required field
17103	Type *string `type:"string" required:"true" enum:"SipType" sensitive:"true"`
17104
17105	// The URI for the SIP address.
17106	//
17107	// Uri is a required field
17108	Uri *string `min:"1" type:"string" required:"true" sensitive:"true"`
17109}
17110
17111// String returns the string representation
17112func (s SipAddress) String() string {
17113	return awsutil.Prettify(s)
17114}
17115
17116// GoString returns the string representation
17117func (s SipAddress) GoString() string {
17118	return s.String()
17119}
17120
17121// Validate inspects the fields of the type to determine if they are valid.
17122func (s *SipAddress) Validate() error {
17123	invalidParams := request.ErrInvalidParams{Context: "SipAddress"}
17124	if s.Type == nil {
17125		invalidParams.Add(request.NewErrParamRequired("Type"))
17126	}
17127	if s.Uri == nil {
17128		invalidParams.Add(request.NewErrParamRequired("Uri"))
17129	}
17130	if s.Uri != nil && len(*s.Uri) < 1 {
17131		invalidParams.Add(request.NewErrParamMinLen("Uri", 1))
17132	}
17133
17134	if invalidParams.Len() > 0 {
17135		return invalidParams
17136	}
17137	return nil
17138}
17139
17140// SetType sets the Type field's value.
17141func (s *SipAddress) SetType(v string) *SipAddress {
17142	s.Type = &v
17143	return s
17144}
17145
17146// SetUri sets the Uri field's value.
17147func (s *SipAddress) SetUri(v string) *SipAddress {
17148	s.Uri = &v
17149	return s
17150}
17151
17152// Granular information about the skill.
17153type SkillDetails struct {
17154	_ struct{} `type:"structure"`
17155
17156	// The details about what the skill supports organized as bullet points.
17157	BulletPoints []*string `type:"list"`
17158
17159	// The details about the developer that published the skill.
17160	DeveloperInfo *DeveloperInfo `type:"structure"`
17161
17162	// The URL of the end user license agreement.
17163	EndUserLicenseAgreement *string `type:"string"`
17164
17165	// The generic keywords associated with the skill that can be used to find a
17166	// skill.
17167	GenericKeywords []*string `type:"list"`
17168
17169	// The phrase used to trigger the skill.
17170	InvocationPhrase *string `type:"string"`
17171
17172	// The updates added in bullet points.
17173	NewInThisVersionBulletPoints []*string `type:"list"`
17174
17175	// The description of the product.
17176	ProductDescription *string `type:"string"`
17177
17178	// The date when the skill was released.
17179	ReleaseDate *string `type:"string"`
17180
17181	// The list of reviews for the skill, including Key and Value pair.
17182	Reviews map[string]*string `type:"map"`
17183
17184	// The types of skills.
17185	SkillTypes []*string `type:"list"`
17186}
17187
17188// String returns the string representation
17189func (s SkillDetails) String() string {
17190	return awsutil.Prettify(s)
17191}
17192
17193// GoString returns the string representation
17194func (s SkillDetails) GoString() string {
17195	return s.String()
17196}
17197
17198// SetBulletPoints sets the BulletPoints field's value.
17199func (s *SkillDetails) SetBulletPoints(v []*string) *SkillDetails {
17200	s.BulletPoints = v
17201	return s
17202}
17203
17204// SetDeveloperInfo sets the DeveloperInfo field's value.
17205func (s *SkillDetails) SetDeveloperInfo(v *DeveloperInfo) *SkillDetails {
17206	s.DeveloperInfo = v
17207	return s
17208}
17209
17210// SetEndUserLicenseAgreement sets the EndUserLicenseAgreement field's value.
17211func (s *SkillDetails) SetEndUserLicenseAgreement(v string) *SkillDetails {
17212	s.EndUserLicenseAgreement = &v
17213	return s
17214}
17215
17216// SetGenericKeywords sets the GenericKeywords field's value.
17217func (s *SkillDetails) SetGenericKeywords(v []*string) *SkillDetails {
17218	s.GenericKeywords = v
17219	return s
17220}
17221
17222// SetInvocationPhrase sets the InvocationPhrase field's value.
17223func (s *SkillDetails) SetInvocationPhrase(v string) *SkillDetails {
17224	s.InvocationPhrase = &v
17225	return s
17226}
17227
17228// SetNewInThisVersionBulletPoints sets the NewInThisVersionBulletPoints field's value.
17229func (s *SkillDetails) SetNewInThisVersionBulletPoints(v []*string) *SkillDetails {
17230	s.NewInThisVersionBulletPoints = v
17231	return s
17232}
17233
17234// SetProductDescription sets the ProductDescription field's value.
17235func (s *SkillDetails) SetProductDescription(v string) *SkillDetails {
17236	s.ProductDescription = &v
17237	return s
17238}
17239
17240// SetReleaseDate sets the ReleaseDate field's value.
17241func (s *SkillDetails) SetReleaseDate(v string) *SkillDetails {
17242	s.ReleaseDate = &v
17243	return s
17244}
17245
17246// SetReviews sets the Reviews field's value.
17247func (s *SkillDetails) SetReviews(v map[string]*string) *SkillDetails {
17248	s.Reviews = v
17249	return s
17250}
17251
17252// SetSkillTypes sets the SkillTypes field's value.
17253func (s *SkillDetails) SetSkillTypes(v []*string) *SkillDetails {
17254	s.SkillTypes = v
17255	return s
17256}
17257
17258// A skill group with attributes.
17259type SkillGroup struct {
17260	_ struct{} `type:"structure"`
17261
17262	// The description of a skill group.
17263	Description *string `min:"1" type:"string"`
17264
17265	// The ARN of a skill group.
17266	SkillGroupArn *string `type:"string"`
17267
17268	// The name of a skill group.
17269	SkillGroupName *string `min:"1" type:"string"`
17270}
17271
17272// String returns the string representation
17273func (s SkillGroup) String() string {
17274	return awsutil.Prettify(s)
17275}
17276
17277// GoString returns the string representation
17278func (s SkillGroup) GoString() string {
17279	return s.String()
17280}
17281
17282// SetDescription sets the Description field's value.
17283func (s *SkillGroup) SetDescription(v string) *SkillGroup {
17284	s.Description = &v
17285	return s
17286}
17287
17288// SetSkillGroupArn sets the SkillGroupArn field's value.
17289func (s *SkillGroup) SetSkillGroupArn(v string) *SkillGroup {
17290	s.SkillGroupArn = &v
17291	return s
17292}
17293
17294// SetSkillGroupName sets the SkillGroupName field's value.
17295func (s *SkillGroup) SetSkillGroupName(v string) *SkillGroup {
17296	s.SkillGroupName = &v
17297	return s
17298}
17299
17300// The attributes of a skill group.
17301type SkillGroupData struct {
17302	_ struct{} `type:"structure"`
17303
17304	// The description of a skill group.
17305	Description *string `min:"1" type:"string"`
17306
17307	// The skill group ARN of a skill group.
17308	SkillGroupArn *string `type:"string"`
17309
17310	// The skill group name of a skill group.
17311	SkillGroupName *string `min:"1" type:"string"`
17312}
17313
17314// String returns the string representation
17315func (s SkillGroupData) String() string {
17316	return awsutil.Prettify(s)
17317}
17318
17319// GoString returns the string representation
17320func (s SkillGroupData) GoString() string {
17321	return s.String()
17322}
17323
17324// SetDescription sets the Description field's value.
17325func (s *SkillGroupData) SetDescription(v string) *SkillGroupData {
17326	s.Description = &v
17327	return s
17328}
17329
17330// SetSkillGroupArn sets the SkillGroupArn field's value.
17331func (s *SkillGroupData) SetSkillGroupArn(v string) *SkillGroupData {
17332	s.SkillGroupArn = &v
17333	return s
17334}
17335
17336// SetSkillGroupName sets the SkillGroupName field's value.
17337func (s *SkillGroupData) SetSkillGroupName(v string) *SkillGroupData {
17338	s.SkillGroupName = &v
17339	return s
17340}
17341
17342// The summary of skills.
17343type SkillSummary struct {
17344	_ struct{} `type:"structure"`
17345
17346	// Whether the skill is enabled under the user's account, or if it requires
17347	// linking to be used.
17348	EnablementType *string `type:"string" enum:"EnablementType"`
17349
17350	// The ARN of the skill summary.
17351	SkillId *string `type:"string"`
17352
17353	// The name of the skill.
17354	SkillName *string `min:"1" type:"string"`
17355
17356	// Whether the skill is publicly available or is a private skill.
17357	SkillType *string `min:"1" type:"string" enum:"SkillType"`
17358
17359	// Linking support for a skill.
17360	SupportsLinking *bool `type:"boolean"`
17361}
17362
17363// String returns the string representation
17364func (s SkillSummary) String() string {
17365	return awsutil.Prettify(s)
17366}
17367
17368// GoString returns the string representation
17369func (s SkillSummary) GoString() string {
17370	return s.String()
17371}
17372
17373// SetEnablementType sets the EnablementType field's value.
17374func (s *SkillSummary) SetEnablementType(v string) *SkillSummary {
17375	s.EnablementType = &v
17376	return s
17377}
17378
17379// SetSkillId sets the SkillId field's value.
17380func (s *SkillSummary) SetSkillId(v string) *SkillSummary {
17381	s.SkillId = &v
17382	return s
17383}
17384
17385// SetSkillName sets the SkillName field's value.
17386func (s *SkillSummary) SetSkillName(v string) *SkillSummary {
17387	s.SkillName = &v
17388	return s
17389}
17390
17391// SetSkillType sets the SkillType field's value.
17392func (s *SkillSummary) SetSkillType(v string) *SkillSummary {
17393	s.SkillType = &v
17394	return s
17395}
17396
17397// SetSupportsLinking sets the SupportsLinking field's value.
17398func (s *SkillSummary) SetSupportsLinking(v bool) *SkillSummary {
17399	s.SupportsLinking = &v
17400	return s
17401}
17402
17403// The detailed information about an Alexa skill.
17404type SkillsStoreSkill struct {
17405	_ struct{} `type:"structure"`
17406
17407	// The URL where the skill icon resides.
17408	IconUrl *string `type:"string"`
17409
17410	// Sample utterances that interact with the skill.
17411	SampleUtterances []*string `type:"list"`
17412
17413	// Short description about the skill.
17414	ShortDescription *string `type:"string"`
17415
17416	// Information about the skill.
17417	SkillDetails *SkillDetails `type:"structure"`
17418
17419	// The ARN of the skill.
17420	SkillId *string `type:"string"`
17421
17422	// The name of the skill.
17423	SkillName *string `min:"1" type:"string"`
17424
17425	// Linking support for a skill.
17426	SupportsLinking *bool `type:"boolean"`
17427}
17428
17429// String returns the string representation
17430func (s SkillsStoreSkill) String() string {
17431	return awsutil.Prettify(s)
17432}
17433
17434// GoString returns the string representation
17435func (s SkillsStoreSkill) GoString() string {
17436	return s.String()
17437}
17438
17439// SetIconUrl sets the IconUrl field's value.
17440func (s *SkillsStoreSkill) SetIconUrl(v string) *SkillsStoreSkill {
17441	s.IconUrl = &v
17442	return s
17443}
17444
17445// SetSampleUtterances sets the SampleUtterances field's value.
17446func (s *SkillsStoreSkill) SetSampleUtterances(v []*string) *SkillsStoreSkill {
17447	s.SampleUtterances = v
17448	return s
17449}
17450
17451// SetShortDescription sets the ShortDescription field's value.
17452func (s *SkillsStoreSkill) SetShortDescription(v string) *SkillsStoreSkill {
17453	s.ShortDescription = &v
17454	return s
17455}
17456
17457// SetSkillDetails sets the SkillDetails field's value.
17458func (s *SkillsStoreSkill) SetSkillDetails(v *SkillDetails) *SkillsStoreSkill {
17459	s.SkillDetails = v
17460	return s
17461}
17462
17463// SetSkillId sets the SkillId field's value.
17464func (s *SkillsStoreSkill) SetSkillId(v string) *SkillsStoreSkill {
17465	s.SkillId = &v
17466	return s
17467}
17468
17469// SetSkillName sets the SkillName field's value.
17470func (s *SkillsStoreSkill) SetSkillName(v string) *SkillsStoreSkill {
17471	s.SkillName = &v
17472	return s
17473}
17474
17475// SetSupportsLinking sets the SupportsLinking field's value.
17476func (s *SkillsStoreSkill) SetSupportsLinking(v bool) *SkillsStoreSkill {
17477	s.SupportsLinking = &v
17478	return s
17479}
17480
17481// A smart home appliance that can connect to a central system. Any domestic
17482// device can be a smart appliance.
17483type SmartHomeAppliance struct {
17484	_ struct{} `type:"structure"`
17485
17486	// The description of the smart home appliance.
17487	Description *string `type:"string"`
17488
17489	// The friendly name of the smart home appliance.
17490	FriendlyName *string `type:"string"`
17491
17492	// The name of the manufacturer of the smart home appliance.
17493	ManufacturerName *string `type:"string"`
17494}
17495
17496// String returns the string representation
17497func (s SmartHomeAppliance) String() string {
17498	return awsutil.Prettify(s)
17499}
17500
17501// GoString returns the string representation
17502func (s SmartHomeAppliance) GoString() string {
17503	return s.String()
17504}
17505
17506// SetDescription sets the Description field's value.
17507func (s *SmartHomeAppliance) SetDescription(v string) *SmartHomeAppliance {
17508	s.Description = &v
17509	return s
17510}
17511
17512// SetFriendlyName sets the FriendlyName field's value.
17513func (s *SmartHomeAppliance) SetFriendlyName(v string) *SmartHomeAppliance {
17514	s.FriendlyName = &v
17515	return s
17516}
17517
17518// SetManufacturerName sets the ManufacturerName field's value.
17519func (s *SmartHomeAppliance) SetManufacturerName(v string) *SmartHomeAppliance {
17520	s.ManufacturerName = &v
17521	return s
17522}
17523
17524// An object representing a sort criteria.
17525type Sort struct {
17526	_ struct{} `type:"structure"`
17527
17528	// The sort key of a sort object.
17529	//
17530	// Key is a required field
17531	Key *string `min:"1" type:"string" required:"true"`
17532
17533	// The sort value of a sort object.
17534	//
17535	// Value is a required field
17536	Value *string `type:"string" required:"true" enum:"SortValue"`
17537}
17538
17539// String returns the string representation
17540func (s Sort) String() string {
17541	return awsutil.Prettify(s)
17542}
17543
17544// GoString returns the string representation
17545func (s Sort) GoString() string {
17546	return s.String()
17547}
17548
17549// Validate inspects the fields of the type to determine if they are valid.
17550func (s *Sort) Validate() error {
17551	invalidParams := request.ErrInvalidParams{Context: "Sort"}
17552	if s.Key == nil {
17553		invalidParams.Add(request.NewErrParamRequired("Key"))
17554	}
17555	if s.Key != nil && len(*s.Key) < 1 {
17556		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
17557	}
17558	if s.Value == nil {
17559		invalidParams.Add(request.NewErrParamRequired("Value"))
17560	}
17561
17562	if invalidParams.Len() > 0 {
17563		return invalidParams
17564	}
17565	return nil
17566}
17567
17568// SetKey sets the Key field's value.
17569func (s *Sort) SetKey(v string) *Sort {
17570	s.Key = &v
17571	return s
17572}
17573
17574// SetValue sets the Value field's value.
17575func (s *Sort) SetValue(v string) *Sort {
17576	s.Value = &v
17577	return s
17578}
17579
17580// The SSML message. For more information, see SSML Reference (https://developer.amazon.com/docs/custom-skills/speech-synthesis-markup-language-ssml-reference.html).
17581type Ssml struct {
17582	_ struct{} `type:"structure"`
17583
17584	// The locale of the SSML message. Currently, en-US is supported.
17585	//
17586	// Locale is a required field
17587	Locale *string `type:"string" required:"true" enum:"Locale"`
17588
17589	// The value of the SSML message in the correct SSML format. The audio tag is
17590	// not supported.
17591	//
17592	// Value is a required field
17593	Value *string `type:"string" required:"true"`
17594}
17595
17596// String returns the string representation
17597func (s Ssml) String() string {
17598	return awsutil.Prettify(s)
17599}
17600
17601// GoString returns the string representation
17602func (s Ssml) GoString() string {
17603	return s.String()
17604}
17605
17606// Validate inspects the fields of the type to determine if they are valid.
17607func (s *Ssml) Validate() error {
17608	invalidParams := request.ErrInvalidParams{Context: "Ssml"}
17609	if s.Locale == nil {
17610		invalidParams.Add(request.NewErrParamRequired("Locale"))
17611	}
17612	if s.Value == nil {
17613		invalidParams.Add(request.NewErrParamRequired("Value"))
17614	}
17615
17616	if invalidParams.Len() > 0 {
17617		return invalidParams
17618	}
17619	return nil
17620}
17621
17622// SetLocale sets the Locale field's value.
17623func (s *Ssml) SetLocale(v string) *Ssml {
17624	s.Locale = &v
17625	return s
17626}
17627
17628// SetValue sets the Value field's value.
17629func (s *Ssml) SetValue(v string) *Ssml {
17630	s.Value = &v
17631	return s
17632}
17633
17634type StartDeviceSyncInput struct {
17635	_ struct{} `type:"structure"`
17636
17637	// The ARN of the device to sync. Required.
17638	DeviceArn *string `type:"string"`
17639
17640	// Request structure to start the device sync. Required.
17641	//
17642	// Features is a required field
17643	Features []*string `type:"list" required:"true"`
17644
17645	// The ARN of the room with which the device to sync is associated. Required.
17646	RoomArn *string `type:"string"`
17647}
17648
17649// String returns the string representation
17650func (s StartDeviceSyncInput) String() string {
17651	return awsutil.Prettify(s)
17652}
17653
17654// GoString returns the string representation
17655func (s StartDeviceSyncInput) GoString() string {
17656	return s.String()
17657}
17658
17659// Validate inspects the fields of the type to determine if they are valid.
17660func (s *StartDeviceSyncInput) Validate() error {
17661	invalidParams := request.ErrInvalidParams{Context: "StartDeviceSyncInput"}
17662	if s.Features == nil {
17663		invalidParams.Add(request.NewErrParamRequired("Features"))
17664	}
17665
17666	if invalidParams.Len() > 0 {
17667		return invalidParams
17668	}
17669	return nil
17670}
17671
17672// SetDeviceArn sets the DeviceArn field's value.
17673func (s *StartDeviceSyncInput) SetDeviceArn(v string) *StartDeviceSyncInput {
17674	s.DeviceArn = &v
17675	return s
17676}
17677
17678// SetFeatures sets the Features field's value.
17679func (s *StartDeviceSyncInput) SetFeatures(v []*string) *StartDeviceSyncInput {
17680	s.Features = v
17681	return s
17682}
17683
17684// SetRoomArn sets the RoomArn field's value.
17685func (s *StartDeviceSyncInput) SetRoomArn(v string) *StartDeviceSyncInput {
17686	s.RoomArn = &v
17687	return s
17688}
17689
17690type StartDeviceSyncOutput struct {
17691	_ struct{} `type:"structure"`
17692}
17693
17694// String returns the string representation
17695func (s StartDeviceSyncOutput) String() string {
17696	return awsutil.Prettify(s)
17697}
17698
17699// GoString returns the string representation
17700func (s StartDeviceSyncOutput) GoString() string {
17701	return s.String()
17702}
17703
17704type StartSmartHomeApplianceDiscoveryInput struct {
17705	_ struct{} `type:"structure"`
17706
17707	// The room where smart home appliance discovery was initiated.
17708	//
17709	// RoomArn is a required field
17710	RoomArn *string `type:"string" required:"true"`
17711}
17712
17713// String returns the string representation
17714func (s StartSmartHomeApplianceDiscoveryInput) String() string {
17715	return awsutil.Prettify(s)
17716}
17717
17718// GoString returns the string representation
17719func (s StartSmartHomeApplianceDiscoveryInput) GoString() string {
17720	return s.String()
17721}
17722
17723// Validate inspects the fields of the type to determine if they are valid.
17724func (s *StartSmartHomeApplianceDiscoveryInput) Validate() error {
17725	invalidParams := request.ErrInvalidParams{Context: "StartSmartHomeApplianceDiscoveryInput"}
17726	if s.RoomArn == nil {
17727		invalidParams.Add(request.NewErrParamRequired("RoomArn"))
17728	}
17729
17730	if invalidParams.Len() > 0 {
17731		return invalidParams
17732	}
17733	return nil
17734}
17735
17736// SetRoomArn sets the RoomArn field's value.
17737func (s *StartSmartHomeApplianceDiscoveryInput) SetRoomArn(v string) *StartSmartHomeApplianceDiscoveryInput {
17738	s.RoomArn = &v
17739	return s
17740}
17741
17742type StartSmartHomeApplianceDiscoveryOutput struct {
17743	_ struct{} `type:"structure"`
17744}
17745
17746// String returns the string representation
17747func (s StartSmartHomeApplianceDiscoveryOutput) String() string {
17748	return awsutil.Prettify(s)
17749}
17750
17751// GoString returns the string representation
17752func (s StartSmartHomeApplianceDiscoveryOutput) GoString() string {
17753	return s.String()
17754}
17755
17756// A key-value pair that can be associated with a resource.
17757type Tag struct {
17758	_ struct{} `type:"structure"`
17759
17760	// The key of a tag. Tag keys are case-sensitive.
17761	//
17762	// Key is a required field
17763	Key *string `min:"1" type:"string" required:"true"`
17764
17765	// The value of a tag. Tag values are case-sensitive and can be null.
17766	//
17767	// Value is a required field
17768	Value *string `type:"string" required:"true"`
17769}
17770
17771// String returns the string representation
17772func (s Tag) String() string {
17773	return awsutil.Prettify(s)
17774}
17775
17776// GoString returns the string representation
17777func (s Tag) GoString() string {
17778	return s.String()
17779}
17780
17781// Validate inspects the fields of the type to determine if they are valid.
17782func (s *Tag) Validate() error {
17783	invalidParams := request.ErrInvalidParams{Context: "Tag"}
17784	if s.Key == nil {
17785		invalidParams.Add(request.NewErrParamRequired("Key"))
17786	}
17787	if s.Key != nil && len(*s.Key) < 1 {
17788		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
17789	}
17790	if s.Value == nil {
17791		invalidParams.Add(request.NewErrParamRequired("Value"))
17792	}
17793
17794	if invalidParams.Len() > 0 {
17795		return invalidParams
17796	}
17797	return nil
17798}
17799
17800// SetKey sets the Key field's value.
17801func (s *Tag) SetKey(v string) *Tag {
17802	s.Key = &v
17803	return s
17804}
17805
17806// SetValue sets the Value field's value.
17807func (s *Tag) SetValue(v string) *Tag {
17808	s.Value = &v
17809	return s
17810}
17811
17812type TagResourceInput struct {
17813	_ struct{} `type:"structure"`
17814
17815	// The ARN of the resource to which to add metadata tags. Required.
17816	//
17817	// Arn is a required field
17818	Arn *string `type:"string" required:"true"`
17819
17820	// The tags to be added to the specified resource. Do not provide system tags.
17821	// Required.
17822	//
17823	// Tags is a required field
17824	Tags []*Tag `type:"list" required:"true"`
17825}
17826
17827// String returns the string representation
17828func (s TagResourceInput) String() string {
17829	return awsutil.Prettify(s)
17830}
17831
17832// GoString returns the string representation
17833func (s TagResourceInput) GoString() string {
17834	return s.String()
17835}
17836
17837// Validate inspects the fields of the type to determine if they are valid.
17838func (s *TagResourceInput) Validate() error {
17839	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
17840	if s.Arn == nil {
17841		invalidParams.Add(request.NewErrParamRequired("Arn"))
17842	}
17843	if s.Tags == nil {
17844		invalidParams.Add(request.NewErrParamRequired("Tags"))
17845	}
17846	if s.Tags != nil {
17847		for i, v := range s.Tags {
17848			if v == nil {
17849				continue
17850			}
17851			if err := v.Validate(); err != nil {
17852				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
17853			}
17854		}
17855	}
17856
17857	if invalidParams.Len() > 0 {
17858		return invalidParams
17859	}
17860	return nil
17861}
17862
17863// SetArn sets the Arn field's value.
17864func (s *TagResourceInput) SetArn(v string) *TagResourceInput {
17865	s.Arn = &v
17866	return s
17867}
17868
17869// SetTags sets the Tags field's value.
17870func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
17871	s.Tags = v
17872	return s
17873}
17874
17875type TagResourceOutput struct {
17876	_ struct{} `type:"structure"`
17877}
17878
17879// String returns the string representation
17880func (s TagResourceOutput) String() string {
17881	return awsutil.Prettify(s)
17882}
17883
17884// GoString returns the string representation
17885func (s TagResourceOutput) GoString() string {
17886	return s.String()
17887}
17888
17889// The text message.
17890type Text struct {
17891	_ struct{} `type:"structure"`
17892
17893	// The locale of the text message. Currently, en-US is supported.
17894	//
17895	// Locale is a required field
17896	Locale *string `type:"string" required:"true" enum:"Locale"`
17897
17898	// The value of the text message.
17899	//
17900	// Value is a required field
17901	Value *string `type:"string" required:"true"`
17902}
17903
17904// String returns the string representation
17905func (s Text) String() string {
17906	return awsutil.Prettify(s)
17907}
17908
17909// GoString returns the string representation
17910func (s Text) GoString() string {
17911	return s.String()
17912}
17913
17914// Validate inspects the fields of the type to determine if they are valid.
17915func (s *Text) Validate() error {
17916	invalidParams := request.ErrInvalidParams{Context: "Text"}
17917	if s.Locale == nil {
17918		invalidParams.Add(request.NewErrParamRequired("Locale"))
17919	}
17920	if s.Value == nil {
17921		invalidParams.Add(request.NewErrParamRequired("Value"))
17922	}
17923
17924	if invalidParams.Len() > 0 {
17925		return invalidParams
17926	}
17927	return nil
17928}
17929
17930// SetLocale sets the Locale field's value.
17931func (s *Text) SetLocale(v string) *Text {
17932	s.Locale = &v
17933	return s
17934}
17935
17936// SetValue sets the Value field's value.
17937func (s *Text) SetValue(v string) *Text {
17938	s.Value = &v
17939	return s
17940}
17941
17942type UntagResourceInput struct {
17943	_ struct{} `type:"structure"`
17944
17945	// The ARN of the resource from which to remove metadata tags. Required.
17946	//
17947	// Arn is a required field
17948	Arn *string `type:"string" required:"true"`
17949
17950	// The tags to be removed from the specified resource. Do not provide system
17951	// tags. Required.
17952	//
17953	// TagKeys is a required field
17954	TagKeys []*string `type:"list" required:"true"`
17955}
17956
17957// String returns the string representation
17958func (s UntagResourceInput) String() string {
17959	return awsutil.Prettify(s)
17960}
17961
17962// GoString returns the string representation
17963func (s UntagResourceInput) GoString() string {
17964	return s.String()
17965}
17966
17967// Validate inspects the fields of the type to determine if they are valid.
17968func (s *UntagResourceInput) Validate() error {
17969	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
17970	if s.Arn == nil {
17971		invalidParams.Add(request.NewErrParamRequired("Arn"))
17972	}
17973	if s.TagKeys == nil {
17974		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
17975	}
17976
17977	if invalidParams.Len() > 0 {
17978		return invalidParams
17979	}
17980	return nil
17981}
17982
17983// SetArn sets the Arn field's value.
17984func (s *UntagResourceInput) SetArn(v string) *UntagResourceInput {
17985	s.Arn = &v
17986	return s
17987}
17988
17989// SetTagKeys sets the TagKeys field's value.
17990func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
17991	s.TagKeys = v
17992	return s
17993}
17994
17995type UntagResourceOutput struct {
17996	_ struct{} `type:"structure"`
17997}
17998
17999// String returns the string representation
18000func (s UntagResourceOutput) String() string {
18001	return awsutil.Prettify(s)
18002}
18003
18004// GoString returns the string representation
18005func (s UntagResourceOutput) GoString() string {
18006	return s.String()
18007}
18008
18009type UpdateAddressBookInput struct {
18010	_ struct{} `type:"structure"`
18011
18012	// The ARN of the room to update.
18013	//
18014	// AddressBookArn is a required field
18015	AddressBookArn *string `type:"string" required:"true"`
18016
18017	// The updated description of the room.
18018	Description *string `min:"1" type:"string"`
18019
18020	// The updated name of the room.
18021	Name *string `min:"1" type:"string"`
18022}
18023
18024// String returns the string representation
18025func (s UpdateAddressBookInput) String() string {
18026	return awsutil.Prettify(s)
18027}
18028
18029// GoString returns the string representation
18030func (s UpdateAddressBookInput) GoString() string {
18031	return s.String()
18032}
18033
18034// Validate inspects the fields of the type to determine if they are valid.
18035func (s *UpdateAddressBookInput) Validate() error {
18036	invalidParams := request.ErrInvalidParams{Context: "UpdateAddressBookInput"}
18037	if s.AddressBookArn == nil {
18038		invalidParams.Add(request.NewErrParamRequired("AddressBookArn"))
18039	}
18040	if s.Description != nil && len(*s.Description) < 1 {
18041		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
18042	}
18043	if s.Name != nil && len(*s.Name) < 1 {
18044		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
18045	}
18046
18047	if invalidParams.Len() > 0 {
18048		return invalidParams
18049	}
18050	return nil
18051}
18052
18053// SetAddressBookArn sets the AddressBookArn field's value.
18054func (s *UpdateAddressBookInput) SetAddressBookArn(v string) *UpdateAddressBookInput {
18055	s.AddressBookArn = &v
18056	return s
18057}
18058
18059// SetDescription sets the Description field's value.
18060func (s *UpdateAddressBookInput) SetDescription(v string) *UpdateAddressBookInput {
18061	s.Description = &v
18062	return s
18063}
18064
18065// SetName sets the Name field's value.
18066func (s *UpdateAddressBookInput) SetName(v string) *UpdateAddressBookInput {
18067	s.Name = &v
18068	return s
18069}
18070
18071type UpdateAddressBookOutput struct {
18072	_ struct{} `type:"structure"`
18073}
18074
18075// String returns the string representation
18076func (s UpdateAddressBookOutput) String() string {
18077	return awsutil.Prettify(s)
18078}
18079
18080// GoString returns the string representation
18081func (s UpdateAddressBookOutput) GoString() string {
18082	return s.String()
18083}
18084
18085type UpdateBusinessReportScheduleInput struct {
18086	_ struct{} `type:"structure"`
18087
18088	// The format of the generated report (individual CSV files or zipped files
18089	// of individual files).
18090	Format *string `type:"string" enum:"BusinessReportFormat"`
18091
18092	// The recurrence of the reports.
18093	Recurrence *BusinessReportRecurrence `type:"structure"`
18094
18095	// The S3 location of the output reports.
18096	S3BucketName *string `type:"string"`
18097
18098	// The S3 key where the report is delivered.
18099	S3KeyPrefix *string `type:"string"`
18100
18101	// The ARN of the business report schedule.
18102	//
18103	// ScheduleArn is a required field
18104	ScheduleArn *string `type:"string" required:"true"`
18105
18106	// The name identifier of the schedule.
18107	ScheduleName *string `type:"string"`
18108}
18109
18110// String returns the string representation
18111func (s UpdateBusinessReportScheduleInput) String() string {
18112	return awsutil.Prettify(s)
18113}
18114
18115// GoString returns the string representation
18116func (s UpdateBusinessReportScheduleInput) GoString() string {
18117	return s.String()
18118}
18119
18120// Validate inspects the fields of the type to determine if they are valid.
18121func (s *UpdateBusinessReportScheduleInput) Validate() error {
18122	invalidParams := request.ErrInvalidParams{Context: "UpdateBusinessReportScheduleInput"}
18123	if s.ScheduleArn == nil {
18124		invalidParams.Add(request.NewErrParamRequired("ScheduleArn"))
18125	}
18126
18127	if invalidParams.Len() > 0 {
18128		return invalidParams
18129	}
18130	return nil
18131}
18132
18133// SetFormat sets the Format field's value.
18134func (s *UpdateBusinessReportScheduleInput) SetFormat(v string) *UpdateBusinessReportScheduleInput {
18135	s.Format = &v
18136	return s
18137}
18138
18139// SetRecurrence sets the Recurrence field's value.
18140func (s *UpdateBusinessReportScheduleInput) SetRecurrence(v *BusinessReportRecurrence) *UpdateBusinessReportScheduleInput {
18141	s.Recurrence = v
18142	return s
18143}
18144
18145// SetS3BucketName sets the S3BucketName field's value.
18146func (s *UpdateBusinessReportScheduleInput) SetS3BucketName(v string) *UpdateBusinessReportScheduleInput {
18147	s.S3BucketName = &v
18148	return s
18149}
18150
18151// SetS3KeyPrefix sets the S3KeyPrefix field's value.
18152func (s *UpdateBusinessReportScheduleInput) SetS3KeyPrefix(v string) *UpdateBusinessReportScheduleInput {
18153	s.S3KeyPrefix = &v
18154	return s
18155}
18156
18157// SetScheduleArn sets the ScheduleArn field's value.
18158func (s *UpdateBusinessReportScheduleInput) SetScheduleArn(v string) *UpdateBusinessReportScheduleInput {
18159	s.ScheduleArn = &v
18160	return s
18161}
18162
18163// SetScheduleName sets the ScheduleName field's value.
18164func (s *UpdateBusinessReportScheduleInput) SetScheduleName(v string) *UpdateBusinessReportScheduleInput {
18165	s.ScheduleName = &v
18166	return s
18167}
18168
18169type UpdateBusinessReportScheduleOutput struct {
18170	_ struct{} `type:"structure"`
18171}
18172
18173// String returns the string representation
18174func (s UpdateBusinessReportScheduleOutput) String() string {
18175	return awsutil.Prettify(s)
18176}
18177
18178// GoString returns the string representation
18179func (s UpdateBusinessReportScheduleOutput) GoString() string {
18180	return s.String()
18181}
18182
18183type UpdateConferenceProviderInput struct {
18184	_ struct{} `type:"structure"`
18185
18186	// The ARN of the conference provider.
18187	//
18188	// ConferenceProviderArn is a required field
18189	ConferenceProviderArn *string `type:"string" required:"true"`
18190
18191	// The type of the conference provider.
18192	//
18193	// ConferenceProviderType is a required field
18194	ConferenceProviderType *string `type:"string" required:"true" enum:"ConferenceProviderType"`
18195
18196	// The IP endpoint and protocol for calling.
18197	IPDialIn *IPDialIn `type:"structure"`
18198
18199	// The meeting settings for the conference provider.
18200	//
18201	// MeetingSetting is a required field
18202	MeetingSetting *MeetingSetting `type:"structure" required:"true"`
18203
18204	// The information for PSTN conferencing.
18205	PSTNDialIn *PSTNDialIn `type:"structure"`
18206}
18207
18208// String returns the string representation
18209func (s UpdateConferenceProviderInput) String() string {
18210	return awsutil.Prettify(s)
18211}
18212
18213// GoString returns the string representation
18214func (s UpdateConferenceProviderInput) GoString() string {
18215	return s.String()
18216}
18217
18218// Validate inspects the fields of the type to determine if they are valid.
18219func (s *UpdateConferenceProviderInput) Validate() error {
18220	invalidParams := request.ErrInvalidParams{Context: "UpdateConferenceProviderInput"}
18221	if s.ConferenceProviderArn == nil {
18222		invalidParams.Add(request.NewErrParamRequired("ConferenceProviderArn"))
18223	}
18224	if s.ConferenceProviderType == nil {
18225		invalidParams.Add(request.NewErrParamRequired("ConferenceProviderType"))
18226	}
18227	if s.MeetingSetting == nil {
18228		invalidParams.Add(request.NewErrParamRequired("MeetingSetting"))
18229	}
18230	if s.IPDialIn != nil {
18231		if err := s.IPDialIn.Validate(); err != nil {
18232			invalidParams.AddNested("IPDialIn", err.(request.ErrInvalidParams))
18233		}
18234	}
18235	if s.MeetingSetting != nil {
18236		if err := s.MeetingSetting.Validate(); err != nil {
18237			invalidParams.AddNested("MeetingSetting", err.(request.ErrInvalidParams))
18238		}
18239	}
18240	if s.PSTNDialIn != nil {
18241		if err := s.PSTNDialIn.Validate(); err != nil {
18242			invalidParams.AddNested("PSTNDialIn", err.(request.ErrInvalidParams))
18243		}
18244	}
18245
18246	if invalidParams.Len() > 0 {
18247		return invalidParams
18248	}
18249	return nil
18250}
18251
18252// SetConferenceProviderArn sets the ConferenceProviderArn field's value.
18253func (s *UpdateConferenceProviderInput) SetConferenceProviderArn(v string) *UpdateConferenceProviderInput {
18254	s.ConferenceProviderArn = &v
18255	return s
18256}
18257
18258// SetConferenceProviderType sets the ConferenceProviderType field's value.
18259func (s *UpdateConferenceProviderInput) SetConferenceProviderType(v string) *UpdateConferenceProviderInput {
18260	s.ConferenceProviderType = &v
18261	return s
18262}
18263
18264// SetIPDialIn sets the IPDialIn field's value.
18265func (s *UpdateConferenceProviderInput) SetIPDialIn(v *IPDialIn) *UpdateConferenceProviderInput {
18266	s.IPDialIn = v
18267	return s
18268}
18269
18270// SetMeetingSetting sets the MeetingSetting field's value.
18271func (s *UpdateConferenceProviderInput) SetMeetingSetting(v *MeetingSetting) *UpdateConferenceProviderInput {
18272	s.MeetingSetting = v
18273	return s
18274}
18275
18276// SetPSTNDialIn sets the PSTNDialIn field's value.
18277func (s *UpdateConferenceProviderInput) SetPSTNDialIn(v *PSTNDialIn) *UpdateConferenceProviderInput {
18278	s.PSTNDialIn = v
18279	return s
18280}
18281
18282type UpdateConferenceProviderOutput struct {
18283	_ struct{} `type:"structure"`
18284}
18285
18286// String returns the string representation
18287func (s UpdateConferenceProviderOutput) String() string {
18288	return awsutil.Prettify(s)
18289}
18290
18291// GoString returns the string representation
18292func (s UpdateConferenceProviderOutput) GoString() string {
18293	return s.String()
18294}
18295
18296type UpdateContactInput struct {
18297	_ struct{} `type:"structure"`
18298
18299	// The ARN of the contact to update.
18300	//
18301	// ContactArn is a required field
18302	ContactArn *string `type:"string" required:"true"`
18303
18304	// The updated display name of the contact.
18305	DisplayName *string `min:"1" type:"string"`
18306
18307	// The updated first name of the contact.
18308	FirstName *string `min:"1" type:"string"`
18309
18310	// The updated last name of the contact.
18311	LastName *string `min:"1" type:"string"`
18312
18313	// The updated phone number of the contact. The phone number type defaults to
18314	// WORK. You can either specify PhoneNumber or PhoneNumbers. We recommend that
18315	// you use PhoneNumbers, which lets you specify the phone number type and multiple
18316	// numbers.
18317	PhoneNumber *string `type:"string" sensitive:"true"`
18318
18319	// The list of phone numbers for the contact.
18320	PhoneNumbers []*PhoneNumber `type:"list"`
18321
18322	// The list of SIP addresses for the contact.
18323	SipAddresses []*SipAddress `type:"list"`
18324}
18325
18326// String returns the string representation
18327func (s UpdateContactInput) String() string {
18328	return awsutil.Prettify(s)
18329}
18330
18331// GoString returns the string representation
18332func (s UpdateContactInput) GoString() string {
18333	return s.String()
18334}
18335
18336// Validate inspects the fields of the type to determine if they are valid.
18337func (s *UpdateContactInput) Validate() error {
18338	invalidParams := request.ErrInvalidParams{Context: "UpdateContactInput"}
18339	if s.ContactArn == nil {
18340		invalidParams.Add(request.NewErrParamRequired("ContactArn"))
18341	}
18342	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
18343		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
18344	}
18345	if s.FirstName != nil && len(*s.FirstName) < 1 {
18346		invalidParams.Add(request.NewErrParamMinLen("FirstName", 1))
18347	}
18348	if s.LastName != nil && len(*s.LastName) < 1 {
18349		invalidParams.Add(request.NewErrParamMinLen("LastName", 1))
18350	}
18351	if s.PhoneNumbers != nil {
18352		for i, v := range s.PhoneNumbers {
18353			if v == nil {
18354				continue
18355			}
18356			if err := v.Validate(); err != nil {
18357				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PhoneNumbers", i), err.(request.ErrInvalidParams))
18358			}
18359		}
18360	}
18361	if s.SipAddresses != nil {
18362		for i, v := range s.SipAddresses {
18363			if v == nil {
18364				continue
18365			}
18366			if err := v.Validate(); err != nil {
18367				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SipAddresses", i), err.(request.ErrInvalidParams))
18368			}
18369		}
18370	}
18371
18372	if invalidParams.Len() > 0 {
18373		return invalidParams
18374	}
18375	return nil
18376}
18377
18378// SetContactArn sets the ContactArn field's value.
18379func (s *UpdateContactInput) SetContactArn(v string) *UpdateContactInput {
18380	s.ContactArn = &v
18381	return s
18382}
18383
18384// SetDisplayName sets the DisplayName field's value.
18385func (s *UpdateContactInput) SetDisplayName(v string) *UpdateContactInput {
18386	s.DisplayName = &v
18387	return s
18388}
18389
18390// SetFirstName sets the FirstName field's value.
18391func (s *UpdateContactInput) SetFirstName(v string) *UpdateContactInput {
18392	s.FirstName = &v
18393	return s
18394}
18395
18396// SetLastName sets the LastName field's value.
18397func (s *UpdateContactInput) SetLastName(v string) *UpdateContactInput {
18398	s.LastName = &v
18399	return s
18400}
18401
18402// SetPhoneNumber sets the PhoneNumber field's value.
18403func (s *UpdateContactInput) SetPhoneNumber(v string) *UpdateContactInput {
18404	s.PhoneNumber = &v
18405	return s
18406}
18407
18408// SetPhoneNumbers sets the PhoneNumbers field's value.
18409func (s *UpdateContactInput) SetPhoneNumbers(v []*PhoneNumber) *UpdateContactInput {
18410	s.PhoneNumbers = v
18411	return s
18412}
18413
18414// SetSipAddresses sets the SipAddresses field's value.
18415func (s *UpdateContactInput) SetSipAddresses(v []*SipAddress) *UpdateContactInput {
18416	s.SipAddresses = v
18417	return s
18418}
18419
18420type UpdateContactOutput struct {
18421	_ struct{} `type:"structure"`
18422}
18423
18424// String returns the string representation
18425func (s UpdateContactOutput) String() string {
18426	return awsutil.Prettify(s)
18427}
18428
18429// GoString returns the string representation
18430func (s UpdateContactOutput) GoString() string {
18431	return s.String()
18432}
18433
18434type UpdateDeviceInput struct {
18435	_ struct{} `type:"structure"`
18436
18437	// The ARN of the device to update. Required.
18438	DeviceArn *string `type:"string"`
18439
18440	// The updated device name. Required.
18441	DeviceName *string `min:"2" type:"string"`
18442}
18443
18444// String returns the string representation
18445func (s UpdateDeviceInput) String() string {
18446	return awsutil.Prettify(s)
18447}
18448
18449// GoString returns the string representation
18450func (s UpdateDeviceInput) GoString() string {
18451	return s.String()
18452}
18453
18454// Validate inspects the fields of the type to determine if they are valid.
18455func (s *UpdateDeviceInput) Validate() error {
18456	invalidParams := request.ErrInvalidParams{Context: "UpdateDeviceInput"}
18457	if s.DeviceName != nil && len(*s.DeviceName) < 2 {
18458		invalidParams.Add(request.NewErrParamMinLen("DeviceName", 2))
18459	}
18460
18461	if invalidParams.Len() > 0 {
18462		return invalidParams
18463	}
18464	return nil
18465}
18466
18467// SetDeviceArn sets the DeviceArn field's value.
18468func (s *UpdateDeviceInput) SetDeviceArn(v string) *UpdateDeviceInput {
18469	s.DeviceArn = &v
18470	return s
18471}
18472
18473// SetDeviceName sets the DeviceName field's value.
18474func (s *UpdateDeviceInput) SetDeviceName(v string) *UpdateDeviceInput {
18475	s.DeviceName = &v
18476	return s
18477}
18478
18479type UpdateDeviceOutput struct {
18480	_ struct{} `type:"structure"`
18481}
18482
18483// String returns the string representation
18484func (s UpdateDeviceOutput) String() string {
18485	return awsutil.Prettify(s)
18486}
18487
18488// GoString returns the string representation
18489func (s UpdateDeviceOutput) GoString() string {
18490	return s.String()
18491}
18492
18493type UpdateGatewayGroupInput struct {
18494	_ struct{} `type:"structure"`
18495
18496	// The updated description of the gateway group.
18497	Description *string `type:"string"`
18498
18499	// The ARN of the gateway group to update.
18500	//
18501	// GatewayGroupArn is a required field
18502	GatewayGroupArn *string `type:"string" required:"true"`
18503
18504	// The updated name of the gateway group.
18505	Name *string `min:"1" type:"string"`
18506}
18507
18508// String returns the string representation
18509func (s UpdateGatewayGroupInput) String() string {
18510	return awsutil.Prettify(s)
18511}
18512
18513// GoString returns the string representation
18514func (s UpdateGatewayGroupInput) GoString() string {
18515	return s.String()
18516}
18517
18518// Validate inspects the fields of the type to determine if they are valid.
18519func (s *UpdateGatewayGroupInput) Validate() error {
18520	invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayGroupInput"}
18521	if s.GatewayGroupArn == nil {
18522		invalidParams.Add(request.NewErrParamRequired("GatewayGroupArn"))
18523	}
18524	if s.Name != nil && len(*s.Name) < 1 {
18525		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
18526	}
18527
18528	if invalidParams.Len() > 0 {
18529		return invalidParams
18530	}
18531	return nil
18532}
18533
18534// SetDescription sets the Description field's value.
18535func (s *UpdateGatewayGroupInput) SetDescription(v string) *UpdateGatewayGroupInput {
18536	s.Description = &v
18537	return s
18538}
18539
18540// SetGatewayGroupArn sets the GatewayGroupArn field's value.
18541func (s *UpdateGatewayGroupInput) SetGatewayGroupArn(v string) *UpdateGatewayGroupInput {
18542	s.GatewayGroupArn = &v
18543	return s
18544}
18545
18546// SetName sets the Name field's value.
18547func (s *UpdateGatewayGroupInput) SetName(v string) *UpdateGatewayGroupInput {
18548	s.Name = &v
18549	return s
18550}
18551
18552type UpdateGatewayGroupOutput struct {
18553	_ struct{} `type:"structure"`
18554}
18555
18556// String returns the string representation
18557func (s UpdateGatewayGroupOutput) String() string {
18558	return awsutil.Prettify(s)
18559}
18560
18561// GoString returns the string representation
18562func (s UpdateGatewayGroupOutput) GoString() string {
18563	return s.String()
18564}
18565
18566type UpdateGatewayInput struct {
18567	_ struct{} `type:"structure"`
18568
18569	// The updated description of the gateway.
18570	Description *string `type:"string"`
18571
18572	// The ARN of the gateway to update.
18573	//
18574	// GatewayArn is a required field
18575	GatewayArn *string `type:"string" required:"true"`
18576
18577	// The updated name of the gateway.
18578	Name *string `min:"1" type:"string"`
18579
18580	// The updated software version of the gateway. The gateway automatically updates
18581	// its software version during normal operation.
18582	SoftwareVersion *string `min:"1" type:"string"`
18583}
18584
18585// String returns the string representation
18586func (s UpdateGatewayInput) String() string {
18587	return awsutil.Prettify(s)
18588}
18589
18590// GoString returns the string representation
18591func (s UpdateGatewayInput) GoString() string {
18592	return s.String()
18593}
18594
18595// Validate inspects the fields of the type to determine if they are valid.
18596func (s *UpdateGatewayInput) Validate() error {
18597	invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayInput"}
18598	if s.GatewayArn == nil {
18599		invalidParams.Add(request.NewErrParamRequired("GatewayArn"))
18600	}
18601	if s.Name != nil && len(*s.Name) < 1 {
18602		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
18603	}
18604	if s.SoftwareVersion != nil && len(*s.SoftwareVersion) < 1 {
18605		invalidParams.Add(request.NewErrParamMinLen("SoftwareVersion", 1))
18606	}
18607
18608	if invalidParams.Len() > 0 {
18609		return invalidParams
18610	}
18611	return nil
18612}
18613
18614// SetDescription sets the Description field's value.
18615func (s *UpdateGatewayInput) SetDescription(v string) *UpdateGatewayInput {
18616	s.Description = &v
18617	return s
18618}
18619
18620// SetGatewayArn sets the GatewayArn field's value.
18621func (s *UpdateGatewayInput) SetGatewayArn(v string) *UpdateGatewayInput {
18622	s.GatewayArn = &v
18623	return s
18624}
18625
18626// SetName sets the Name field's value.
18627func (s *UpdateGatewayInput) SetName(v string) *UpdateGatewayInput {
18628	s.Name = &v
18629	return s
18630}
18631
18632// SetSoftwareVersion sets the SoftwareVersion field's value.
18633func (s *UpdateGatewayInput) SetSoftwareVersion(v string) *UpdateGatewayInput {
18634	s.SoftwareVersion = &v
18635	return s
18636}
18637
18638type UpdateGatewayOutput struct {
18639	_ struct{} `type:"structure"`
18640}
18641
18642// String returns the string representation
18643func (s UpdateGatewayOutput) String() string {
18644	return awsutil.Prettify(s)
18645}
18646
18647// GoString returns the string representation
18648func (s UpdateGatewayOutput) GoString() string {
18649	return s.String()
18650}
18651
18652type UpdateNetworkProfileInput struct {
18653	_ struct{} `type:"structure"`
18654
18655	// The ARN of the Private Certificate Authority (PCA) created in AWS Certificate
18656	// Manager (ACM). This is used to issue certificates to the devices.
18657	CertificateAuthorityArn *string `type:"string"`
18658
18659	// The current password of the Wi-Fi network.
18660	CurrentPassword *string `min:"5" type:"string" sensitive:"true"`
18661
18662	// Detailed information about a device's network profile.
18663	Description *string `type:"string"`
18664
18665	// The ARN of the network profile associated with a device.
18666	//
18667	// NetworkProfileArn is a required field
18668	NetworkProfileArn *string `type:"string" required:"true"`
18669
18670	// The name of the network profile associated with a device.
18671	NetworkProfileName *string `min:"1" type:"string"`
18672
18673	// The next, or subsequent, password of the Wi-Fi network. This password is
18674	// asynchronously transmitted to the device and is used when the password of
18675	// the network changes to NextPassword.
18676	NextPassword *string `type:"string" sensitive:"true"`
18677
18678	// The root certificate(s) of your authentication server that will be installed
18679	// on your devices and used to trust your authentication server during EAP negotiation.
18680	TrustAnchors []*string `min:"1" type:"list"`
18681}
18682
18683// String returns the string representation
18684func (s UpdateNetworkProfileInput) String() string {
18685	return awsutil.Prettify(s)
18686}
18687
18688// GoString returns the string representation
18689func (s UpdateNetworkProfileInput) GoString() string {
18690	return s.String()
18691}
18692
18693// Validate inspects the fields of the type to determine if they are valid.
18694func (s *UpdateNetworkProfileInput) Validate() error {
18695	invalidParams := request.ErrInvalidParams{Context: "UpdateNetworkProfileInput"}
18696	if s.CurrentPassword != nil && len(*s.CurrentPassword) < 5 {
18697		invalidParams.Add(request.NewErrParamMinLen("CurrentPassword", 5))
18698	}
18699	if s.NetworkProfileArn == nil {
18700		invalidParams.Add(request.NewErrParamRequired("NetworkProfileArn"))
18701	}
18702	if s.NetworkProfileName != nil && len(*s.NetworkProfileName) < 1 {
18703		invalidParams.Add(request.NewErrParamMinLen("NetworkProfileName", 1))
18704	}
18705	if s.TrustAnchors != nil && len(s.TrustAnchors) < 1 {
18706		invalidParams.Add(request.NewErrParamMinLen("TrustAnchors", 1))
18707	}
18708
18709	if invalidParams.Len() > 0 {
18710		return invalidParams
18711	}
18712	return nil
18713}
18714
18715// SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value.
18716func (s *UpdateNetworkProfileInput) SetCertificateAuthorityArn(v string) *UpdateNetworkProfileInput {
18717	s.CertificateAuthorityArn = &v
18718	return s
18719}
18720
18721// SetCurrentPassword sets the CurrentPassword field's value.
18722func (s *UpdateNetworkProfileInput) SetCurrentPassword(v string) *UpdateNetworkProfileInput {
18723	s.CurrentPassword = &v
18724	return s
18725}
18726
18727// SetDescription sets the Description field's value.
18728func (s *UpdateNetworkProfileInput) SetDescription(v string) *UpdateNetworkProfileInput {
18729	s.Description = &v
18730	return s
18731}
18732
18733// SetNetworkProfileArn sets the NetworkProfileArn field's value.
18734func (s *UpdateNetworkProfileInput) SetNetworkProfileArn(v string) *UpdateNetworkProfileInput {
18735	s.NetworkProfileArn = &v
18736	return s
18737}
18738
18739// SetNetworkProfileName sets the NetworkProfileName field's value.
18740func (s *UpdateNetworkProfileInput) SetNetworkProfileName(v string) *UpdateNetworkProfileInput {
18741	s.NetworkProfileName = &v
18742	return s
18743}
18744
18745// SetNextPassword sets the NextPassword field's value.
18746func (s *UpdateNetworkProfileInput) SetNextPassword(v string) *UpdateNetworkProfileInput {
18747	s.NextPassword = &v
18748	return s
18749}
18750
18751// SetTrustAnchors sets the TrustAnchors field's value.
18752func (s *UpdateNetworkProfileInput) SetTrustAnchors(v []*string) *UpdateNetworkProfileInput {
18753	s.TrustAnchors = v
18754	return s
18755}
18756
18757type UpdateNetworkProfileOutput struct {
18758	_ struct{} `type:"structure"`
18759}
18760
18761// String returns the string representation
18762func (s UpdateNetworkProfileOutput) String() string {
18763	return awsutil.Prettify(s)
18764}
18765
18766// GoString returns the string representation
18767func (s UpdateNetworkProfileOutput) GoString() string {
18768	return s.String()
18769}
18770
18771type UpdateProfileInput struct {
18772	_ struct{} `type:"structure"`
18773
18774	// The updated address for the room profile.
18775	Address *string `min:"1" type:"string"`
18776
18777	// The updated distance unit for the room profile.
18778	DistanceUnit *string `type:"string" enum:"DistanceUnit"`
18779
18780	// Sets the profile as default if selected. If this is missing, no update is
18781	// done to the default status.
18782	IsDefault *bool `type:"boolean"`
18783
18784	// The updated maximum volume limit for the room profile.
18785	MaxVolumeLimit *int64 `type:"integer"`
18786
18787	// Whether the PSTN setting of the room profile is enabled.
18788	PSTNEnabled *bool `type:"boolean"`
18789
18790	// The ARN of the room profile to update. Required.
18791	ProfileArn *string `type:"string"`
18792
18793	// The updated name for the room profile.
18794	ProfileName *string `min:"1" type:"string"`
18795
18796	// Whether the setup mode of the profile is enabled.
18797	SetupModeDisabled *bool `type:"boolean"`
18798
18799	// The updated temperature unit for the room profile.
18800	TemperatureUnit *string `type:"string" enum:"TemperatureUnit"`
18801
18802	// The updated timezone for the room profile.
18803	Timezone *string `min:"1" type:"string"`
18804
18805	// The updated wake word for the room profile.
18806	WakeWord *string `type:"string" enum:"WakeWord"`
18807}
18808
18809// String returns the string representation
18810func (s UpdateProfileInput) String() string {
18811	return awsutil.Prettify(s)
18812}
18813
18814// GoString returns the string representation
18815func (s UpdateProfileInput) GoString() string {
18816	return s.String()
18817}
18818
18819// Validate inspects the fields of the type to determine if they are valid.
18820func (s *UpdateProfileInput) Validate() error {
18821	invalidParams := request.ErrInvalidParams{Context: "UpdateProfileInput"}
18822	if s.Address != nil && len(*s.Address) < 1 {
18823		invalidParams.Add(request.NewErrParamMinLen("Address", 1))
18824	}
18825	if s.ProfileName != nil && len(*s.ProfileName) < 1 {
18826		invalidParams.Add(request.NewErrParamMinLen("ProfileName", 1))
18827	}
18828	if s.Timezone != nil && len(*s.Timezone) < 1 {
18829		invalidParams.Add(request.NewErrParamMinLen("Timezone", 1))
18830	}
18831
18832	if invalidParams.Len() > 0 {
18833		return invalidParams
18834	}
18835	return nil
18836}
18837
18838// SetAddress sets the Address field's value.
18839func (s *UpdateProfileInput) SetAddress(v string) *UpdateProfileInput {
18840	s.Address = &v
18841	return s
18842}
18843
18844// SetDistanceUnit sets the DistanceUnit field's value.
18845func (s *UpdateProfileInput) SetDistanceUnit(v string) *UpdateProfileInput {
18846	s.DistanceUnit = &v
18847	return s
18848}
18849
18850// SetIsDefault sets the IsDefault field's value.
18851func (s *UpdateProfileInput) SetIsDefault(v bool) *UpdateProfileInput {
18852	s.IsDefault = &v
18853	return s
18854}
18855
18856// SetMaxVolumeLimit sets the MaxVolumeLimit field's value.
18857func (s *UpdateProfileInput) SetMaxVolumeLimit(v int64) *UpdateProfileInput {
18858	s.MaxVolumeLimit = &v
18859	return s
18860}
18861
18862// SetPSTNEnabled sets the PSTNEnabled field's value.
18863func (s *UpdateProfileInput) SetPSTNEnabled(v bool) *UpdateProfileInput {
18864	s.PSTNEnabled = &v
18865	return s
18866}
18867
18868// SetProfileArn sets the ProfileArn field's value.
18869func (s *UpdateProfileInput) SetProfileArn(v string) *UpdateProfileInput {
18870	s.ProfileArn = &v
18871	return s
18872}
18873
18874// SetProfileName sets the ProfileName field's value.
18875func (s *UpdateProfileInput) SetProfileName(v string) *UpdateProfileInput {
18876	s.ProfileName = &v
18877	return s
18878}
18879
18880// SetSetupModeDisabled sets the SetupModeDisabled field's value.
18881func (s *UpdateProfileInput) SetSetupModeDisabled(v bool) *UpdateProfileInput {
18882	s.SetupModeDisabled = &v
18883	return s
18884}
18885
18886// SetTemperatureUnit sets the TemperatureUnit field's value.
18887func (s *UpdateProfileInput) SetTemperatureUnit(v string) *UpdateProfileInput {
18888	s.TemperatureUnit = &v
18889	return s
18890}
18891
18892// SetTimezone sets the Timezone field's value.
18893func (s *UpdateProfileInput) SetTimezone(v string) *UpdateProfileInput {
18894	s.Timezone = &v
18895	return s
18896}
18897
18898// SetWakeWord sets the WakeWord field's value.
18899func (s *UpdateProfileInput) SetWakeWord(v string) *UpdateProfileInput {
18900	s.WakeWord = &v
18901	return s
18902}
18903
18904type UpdateProfileOutput struct {
18905	_ struct{} `type:"structure"`
18906}
18907
18908// String returns the string representation
18909func (s UpdateProfileOutput) String() string {
18910	return awsutil.Prettify(s)
18911}
18912
18913// GoString returns the string representation
18914func (s UpdateProfileOutput) GoString() string {
18915	return s.String()
18916}
18917
18918type UpdateRoomInput struct {
18919	_ struct{} `type:"structure"`
18920
18921	// The updated description for the room.
18922	Description *string `min:"1" type:"string"`
18923
18924	// The updated profile ARN for the room.
18925	ProfileArn *string `type:"string"`
18926
18927	// The updated provider calendar ARN for the room.
18928	ProviderCalendarId *string `type:"string"`
18929
18930	// The ARN of the room to update.
18931	RoomArn *string `type:"string"`
18932
18933	// The updated name for the room.
18934	RoomName *string `min:"1" type:"string"`
18935}
18936
18937// String returns the string representation
18938func (s UpdateRoomInput) String() string {
18939	return awsutil.Prettify(s)
18940}
18941
18942// GoString returns the string representation
18943func (s UpdateRoomInput) GoString() string {
18944	return s.String()
18945}
18946
18947// Validate inspects the fields of the type to determine if they are valid.
18948func (s *UpdateRoomInput) Validate() error {
18949	invalidParams := request.ErrInvalidParams{Context: "UpdateRoomInput"}
18950	if s.Description != nil && len(*s.Description) < 1 {
18951		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
18952	}
18953	if s.RoomName != nil && len(*s.RoomName) < 1 {
18954		invalidParams.Add(request.NewErrParamMinLen("RoomName", 1))
18955	}
18956
18957	if invalidParams.Len() > 0 {
18958		return invalidParams
18959	}
18960	return nil
18961}
18962
18963// SetDescription sets the Description field's value.
18964func (s *UpdateRoomInput) SetDescription(v string) *UpdateRoomInput {
18965	s.Description = &v
18966	return s
18967}
18968
18969// SetProfileArn sets the ProfileArn field's value.
18970func (s *UpdateRoomInput) SetProfileArn(v string) *UpdateRoomInput {
18971	s.ProfileArn = &v
18972	return s
18973}
18974
18975// SetProviderCalendarId sets the ProviderCalendarId field's value.
18976func (s *UpdateRoomInput) SetProviderCalendarId(v string) *UpdateRoomInput {
18977	s.ProviderCalendarId = &v
18978	return s
18979}
18980
18981// SetRoomArn sets the RoomArn field's value.
18982func (s *UpdateRoomInput) SetRoomArn(v string) *UpdateRoomInput {
18983	s.RoomArn = &v
18984	return s
18985}
18986
18987// SetRoomName sets the RoomName field's value.
18988func (s *UpdateRoomInput) SetRoomName(v string) *UpdateRoomInput {
18989	s.RoomName = &v
18990	return s
18991}
18992
18993type UpdateRoomOutput struct {
18994	_ struct{} `type:"structure"`
18995}
18996
18997// String returns the string representation
18998func (s UpdateRoomOutput) String() string {
18999	return awsutil.Prettify(s)
19000}
19001
19002// GoString returns the string representation
19003func (s UpdateRoomOutput) GoString() string {
19004	return s.String()
19005}
19006
19007type UpdateSkillGroupInput struct {
19008	_ struct{} `type:"structure"`
19009
19010	// The updated description for the skill group.
19011	Description *string `min:"1" type:"string"`
19012
19013	// The ARN of the skill group to update.
19014	SkillGroupArn *string `type:"string"`
19015
19016	// The updated name for the skill group.
19017	SkillGroupName *string `min:"1" type:"string"`
19018}
19019
19020// String returns the string representation
19021func (s UpdateSkillGroupInput) String() string {
19022	return awsutil.Prettify(s)
19023}
19024
19025// GoString returns the string representation
19026func (s UpdateSkillGroupInput) GoString() string {
19027	return s.String()
19028}
19029
19030// Validate inspects the fields of the type to determine if they are valid.
19031func (s *UpdateSkillGroupInput) Validate() error {
19032	invalidParams := request.ErrInvalidParams{Context: "UpdateSkillGroupInput"}
19033	if s.Description != nil && len(*s.Description) < 1 {
19034		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
19035	}
19036	if s.SkillGroupName != nil && len(*s.SkillGroupName) < 1 {
19037		invalidParams.Add(request.NewErrParamMinLen("SkillGroupName", 1))
19038	}
19039
19040	if invalidParams.Len() > 0 {
19041		return invalidParams
19042	}
19043	return nil
19044}
19045
19046// SetDescription sets the Description field's value.
19047func (s *UpdateSkillGroupInput) SetDescription(v string) *UpdateSkillGroupInput {
19048	s.Description = &v
19049	return s
19050}
19051
19052// SetSkillGroupArn sets the SkillGroupArn field's value.
19053func (s *UpdateSkillGroupInput) SetSkillGroupArn(v string) *UpdateSkillGroupInput {
19054	s.SkillGroupArn = &v
19055	return s
19056}
19057
19058// SetSkillGroupName sets the SkillGroupName field's value.
19059func (s *UpdateSkillGroupInput) SetSkillGroupName(v string) *UpdateSkillGroupInput {
19060	s.SkillGroupName = &v
19061	return s
19062}
19063
19064type UpdateSkillGroupOutput struct {
19065	_ struct{} `type:"structure"`
19066}
19067
19068// String returns the string representation
19069func (s UpdateSkillGroupOutput) String() string {
19070	return awsutil.Prettify(s)
19071}
19072
19073// GoString returns the string representation
19074func (s UpdateSkillGroupOutput) GoString() string {
19075	return s.String()
19076}
19077
19078// Information related to a user.
19079type UserData struct {
19080	_ struct{} `type:"structure"`
19081
19082	// The email of a user.
19083	Email *string `min:"1" type:"string"`
19084
19085	// The enrollment ARN of a user.
19086	EnrollmentId *string `type:"string"`
19087
19088	// The enrollment status of a user.
19089	EnrollmentStatus *string `type:"string" enum:"EnrollmentStatus"`
19090
19091	// The first name of a user.
19092	FirstName *string `type:"string"`
19093
19094	// The last name of a user.
19095	LastName *string `type:"string"`
19096
19097	// The ARN of a user.
19098	UserArn *string `type:"string"`
19099}
19100
19101// String returns the string representation
19102func (s UserData) String() string {
19103	return awsutil.Prettify(s)
19104}
19105
19106// GoString returns the string representation
19107func (s UserData) GoString() string {
19108	return s.String()
19109}
19110
19111// SetEmail sets the Email field's value.
19112func (s *UserData) SetEmail(v string) *UserData {
19113	s.Email = &v
19114	return s
19115}
19116
19117// SetEnrollmentId sets the EnrollmentId field's value.
19118func (s *UserData) SetEnrollmentId(v string) *UserData {
19119	s.EnrollmentId = &v
19120	return s
19121}
19122
19123// SetEnrollmentStatus sets the EnrollmentStatus field's value.
19124func (s *UserData) SetEnrollmentStatus(v string) *UserData {
19125	s.EnrollmentStatus = &v
19126	return s
19127}
19128
19129// SetFirstName sets the FirstName field's value.
19130func (s *UserData) SetFirstName(v string) *UserData {
19131	s.FirstName = &v
19132	return s
19133}
19134
19135// SetLastName sets the LastName field's value.
19136func (s *UserData) SetLastName(v string) *UserData {
19137	s.LastName = &v
19138	return s
19139}
19140
19141// SetUserArn sets the UserArn field's value.
19142func (s *UserData) SetUserArn(v string) *UserData {
19143	s.UserArn = &v
19144	return s
19145}
19146
19147const (
19148	// BusinessReportFailureCodeAccessDenied is a BusinessReportFailureCode enum value
19149	BusinessReportFailureCodeAccessDenied = "ACCESS_DENIED"
19150
19151	// BusinessReportFailureCodeNoSuchBucket is a BusinessReportFailureCode enum value
19152	BusinessReportFailureCodeNoSuchBucket = "NO_SUCH_BUCKET"
19153
19154	// BusinessReportFailureCodeInternalFailure is a BusinessReportFailureCode enum value
19155	BusinessReportFailureCodeInternalFailure = "INTERNAL_FAILURE"
19156)
19157
19158const (
19159	// BusinessReportFormatCsv is a BusinessReportFormat enum value
19160	BusinessReportFormatCsv = "CSV"
19161
19162	// BusinessReportFormatCsvZip is a BusinessReportFormat enum value
19163	BusinessReportFormatCsvZip = "CSV_ZIP"
19164)
19165
19166const (
19167	// BusinessReportIntervalOneDay is a BusinessReportInterval enum value
19168	BusinessReportIntervalOneDay = "ONE_DAY"
19169
19170	// BusinessReportIntervalOneWeek is a BusinessReportInterval enum value
19171	BusinessReportIntervalOneWeek = "ONE_WEEK"
19172)
19173
19174const (
19175	// BusinessReportStatusRunning is a BusinessReportStatus enum value
19176	BusinessReportStatusRunning = "RUNNING"
19177
19178	// BusinessReportStatusSucceeded is a BusinessReportStatus enum value
19179	BusinessReportStatusSucceeded = "SUCCEEDED"
19180
19181	// BusinessReportStatusFailed is a BusinessReportStatus enum value
19182	BusinessReportStatusFailed = "FAILED"
19183)
19184
19185const (
19186	// CommsProtocolSip is a CommsProtocol enum value
19187	CommsProtocolSip = "SIP"
19188
19189	// CommsProtocolSips is a CommsProtocol enum value
19190	CommsProtocolSips = "SIPS"
19191
19192	// CommsProtocolH323 is a CommsProtocol enum value
19193	CommsProtocolH323 = "H323"
19194)
19195
19196const (
19197	// ConferenceProviderTypeChime is a ConferenceProviderType enum value
19198	ConferenceProviderTypeChime = "CHIME"
19199
19200	// ConferenceProviderTypeBluejeans is a ConferenceProviderType enum value
19201	ConferenceProviderTypeBluejeans = "BLUEJEANS"
19202
19203	// ConferenceProviderTypeFuze is a ConferenceProviderType enum value
19204	ConferenceProviderTypeFuze = "FUZE"
19205
19206	// ConferenceProviderTypeGoogleHangouts is a ConferenceProviderType enum value
19207	ConferenceProviderTypeGoogleHangouts = "GOOGLE_HANGOUTS"
19208
19209	// ConferenceProviderTypePolycom is a ConferenceProviderType enum value
19210	ConferenceProviderTypePolycom = "POLYCOM"
19211
19212	// ConferenceProviderTypeRingcentral is a ConferenceProviderType enum value
19213	ConferenceProviderTypeRingcentral = "RINGCENTRAL"
19214
19215	// ConferenceProviderTypeSkypeForBusiness is a ConferenceProviderType enum value
19216	ConferenceProviderTypeSkypeForBusiness = "SKYPE_FOR_BUSINESS"
19217
19218	// ConferenceProviderTypeWebex is a ConferenceProviderType enum value
19219	ConferenceProviderTypeWebex = "WEBEX"
19220
19221	// ConferenceProviderTypeZoom is a ConferenceProviderType enum value
19222	ConferenceProviderTypeZoom = "ZOOM"
19223
19224	// ConferenceProviderTypeCustom is a ConferenceProviderType enum value
19225	ConferenceProviderTypeCustom = "CUSTOM"
19226)
19227
19228const (
19229	// ConnectionStatusOnline is a ConnectionStatus enum value
19230	ConnectionStatusOnline = "ONLINE"
19231
19232	// ConnectionStatusOffline is a ConnectionStatus enum value
19233	ConnectionStatusOffline = "OFFLINE"
19234)
19235
19236const (
19237	// DeviceEventTypeConnectionStatus is a DeviceEventType enum value
19238	DeviceEventTypeConnectionStatus = "CONNECTION_STATUS"
19239
19240	// DeviceEventTypeDeviceStatus is a DeviceEventType enum value
19241	DeviceEventTypeDeviceStatus = "DEVICE_STATUS"
19242)
19243
19244const (
19245	// DeviceStatusReady is a DeviceStatus enum value
19246	DeviceStatusReady = "READY"
19247
19248	// DeviceStatusPending is a DeviceStatus enum value
19249	DeviceStatusPending = "PENDING"
19250
19251	// DeviceStatusWasOffline is a DeviceStatus enum value
19252	DeviceStatusWasOffline = "WAS_OFFLINE"
19253
19254	// DeviceStatusDeregistered is a DeviceStatus enum value
19255	DeviceStatusDeregistered = "DEREGISTERED"
19256
19257	// DeviceStatusFailed is a DeviceStatus enum value
19258	DeviceStatusFailed = "FAILED"
19259)
19260
19261const (
19262	// DeviceStatusDetailCodeDeviceSoftwareUpdateNeeded is a DeviceStatusDetailCode enum value
19263	DeviceStatusDetailCodeDeviceSoftwareUpdateNeeded = "DEVICE_SOFTWARE_UPDATE_NEEDED"
19264
19265	// DeviceStatusDetailCodeDeviceWasOffline is a DeviceStatusDetailCode enum value
19266	DeviceStatusDetailCodeDeviceWasOffline = "DEVICE_WAS_OFFLINE"
19267
19268	// DeviceStatusDetailCodeCredentialsAccessFailure is a DeviceStatusDetailCode enum value
19269	DeviceStatusDetailCodeCredentialsAccessFailure = "CREDENTIALS_ACCESS_FAILURE"
19270
19271	// DeviceStatusDetailCodeTlsVersionMismatch is a DeviceStatusDetailCode enum value
19272	DeviceStatusDetailCodeTlsVersionMismatch = "TLS_VERSION_MISMATCH"
19273
19274	// DeviceStatusDetailCodeAssociationRejection is a DeviceStatusDetailCode enum value
19275	DeviceStatusDetailCodeAssociationRejection = "ASSOCIATION_REJECTION"
19276
19277	// DeviceStatusDetailCodeAuthenticationFailure is a DeviceStatusDetailCode enum value
19278	DeviceStatusDetailCodeAuthenticationFailure = "AUTHENTICATION_FAILURE"
19279
19280	// DeviceStatusDetailCodeDhcpFailure is a DeviceStatusDetailCode enum value
19281	DeviceStatusDetailCodeDhcpFailure = "DHCP_FAILURE"
19282
19283	// DeviceStatusDetailCodeInternetUnavailable is a DeviceStatusDetailCode enum value
19284	DeviceStatusDetailCodeInternetUnavailable = "INTERNET_UNAVAILABLE"
19285
19286	// DeviceStatusDetailCodeDnsFailure is a DeviceStatusDetailCode enum value
19287	DeviceStatusDetailCodeDnsFailure = "DNS_FAILURE"
19288
19289	// DeviceStatusDetailCodeUnknownFailure is a DeviceStatusDetailCode enum value
19290	DeviceStatusDetailCodeUnknownFailure = "UNKNOWN_FAILURE"
19291
19292	// DeviceStatusDetailCodeCertificateIssuingLimitExceeded is a DeviceStatusDetailCode enum value
19293	DeviceStatusDetailCodeCertificateIssuingLimitExceeded = "CERTIFICATE_ISSUING_LIMIT_EXCEEDED"
19294
19295	// DeviceStatusDetailCodeInvalidCertificateAuthority is a DeviceStatusDetailCode enum value
19296	DeviceStatusDetailCodeInvalidCertificateAuthority = "INVALID_CERTIFICATE_AUTHORITY"
19297
19298	// DeviceStatusDetailCodeNetworkProfileNotFound is a DeviceStatusDetailCode enum value
19299	DeviceStatusDetailCodeNetworkProfileNotFound = "NETWORK_PROFILE_NOT_FOUND"
19300
19301	// DeviceStatusDetailCodeInvalidPasswordState is a DeviceStatusDetailCode enum value
19302	DeviceStatusDetailCodeInvalidPasswordState = "INVALID_PASSWORD_STATE"
19303
19304	// DeviceStatusDetailCodePasswordNotFound is a DeviceStatusDetailCode enum value
19305	DeviceStatusDetailCodePasswordNotFound = "PASSWORD_NOT_FOUND"
19306)
19307
19308const (
19309	// DeviceUsageTypeVoice is a DeviceUsageType enum value
19310	DeviceUsageTypeVoice = "VOICE"
19311)
19312
19313const (
19314	// DistanceUnitMetric is a DistanceUnit enum value
19315	DistanceUnitMetric = "METRIC"
19316
19317	// DistanceUnitImperial is a DistanceUnit enum value
19318	DistanceUnitImperial = "IMPERIAL"
19319)
19320
19321const (
19322	// EnablementTypeEnabled is a EnablementType enum value
19323	EnablementTypeEnabled = "ENABLED"
19324
19325	// EnablementTypePending is a EnablementType enum value
19326	EnablementTypePending = "PENDING"
19327)
19328
19329const (
19330	// EnablementTypeFilterEnabled is a EnablementTypeFilter enum value
19331	EnablementTypeFilterEnabled = "ENABLED"
19332
19333	// EnablementTypeFilterPending is a EnablementTypeFilter enum value
19334	EnablementTypeFilterPending = "PENDING"
19335)
19336
19337const (
19338	// EnrollmentStatusInitialized is a EnrollmentStatus enum value
19339	EnrollmentStatusInitialized = "INITIALIZED"
19340
19341	// EnrollmentStatusPending is a EnrollmentStatus enum value
19342	EnrollmentStatusPending = "PENDING"
19343
19344	// EnrollmentStatusRegistered is a EnrollmentStatus enum value
19345	EnrollmentStatusRegistered = "REGISTERED"
19346
19347	// EnrollmentStatusDisassociating is a EnrollmentStatus enum value
19348	EnrollmentStatusDisassociating = "DISASSOCIATING"
19349
19350	// EnrollmentStatusDeregistering is a EnrollmentStatus enum value
19351	EnrollmentStatusDeregistering = "DEREGISTERING"
19352)
19353
19354const (
19355	// FeatureBluetooth is a Feature enum value
19356	FeatureBluetooth = "BLUETOOTH"
19357
19358	// FeatureVolume is a Feature enum value
19359	FeatureVolume = "VOLUME"
19360
19361	// FeatureNotifications is a Feature enum value
19362	FeatureNotifications = "NOTIFICATIONS"
19363
19364	// FeatureLists is a Feature enum value
19365	FeatureLists = "LISTS"
19366
19367	// FeatureSkills is a Feature enum value
19368	FeatureSkills = "SKILLS"
19369
19370	// FeatureNetworkProfile is a Feature enum value
19371	FeatureNetworkProfile = "NETWORK_PROFILE"
19372
19373	// FeatureSettings is a Feature enum value
19374	FeatureSettings = "SETTINGS"
19375
19376	// FeatureAll is a Feature enum value
19377	FeatureAll = "ALL"
19378)
19379
19380const (
19381	// LocaleEnUs is a Locale enum value
19382	LocaleEnUs = "en-US"
19383)
19384
19385const (
19386	// NetworkEapMethodEapTls is a NetworkEapMethod enum value
19387	NetworkEapMethodEapTls = "EAP_TLS"
19388)
19389
19390const (
19391	// NetworkSecurityTypeOpen is a NetworkSecurityType enum value
19392	NetworkSecurityTypeOpen = "OPEN"
19393
19394	// NetworkSecurityTypeWep is a NetworkSecurityType enum value
19395	NetworkSecurityTypeWep = "WEP"
19396
19397	// NetworkSecurityTypeWpaPsk is a NetworkSecurityType enum value
19398	NetworkSecurityTypeWpaPsk = "WPA_PSK"
19399
19400	// NetworkSecurityTypeWpa2Psk is a NetworkSecurityType enum value
19401	NetworkSecurityTypeWpa2Psk = "WPA2_PSK"
19402
19403	// NetworkSecurityTypeWpa2Enterprise is a NetworkSecurityType enum value
19404	NetworkSecurityTypeWpa2Enterprise = "WPA2_ENTERPRISE"
19405)
19406
19407const (
19408	// PhoneNumberTypeMobile is a PhoneNumberType enum value
19409	PhoneNumberTypeMobile = "MOBILE"
19410
19411	// PhoneNumberTypeWork is a PhoneNumberType enum value
19412	PhoneNumberTypeWork = "WORK"
19413
19414	// PhoneNumberTypeHome is a PhoneNumberType enum value
19415	PhoneNumberTypeHome = "HOME"
19416)
19417
19418const (
19419	// RequirePinYes is a RequirePin enum value
19420	RequirePinYes = "YES"
19421
19422	// RequirePinNo is a RequirePin enum value
19423	RequirePinNo = "NO"
19424
19425	// RequirePinOptional is a RequirePin enum value
19426	RequirePinOptional = "OPTIONAL"
19427)
19428
19429const (
19430	// SipTypeWork is a SipType enum value
19431	SipTypeWork = "WORK"
19432)
19433
19434const (
19435	// SkillTypePublic is a SkillType enum value
19436	SkillTypePublic = "PUBLIC"
19437
19438	// SkillTypePrivate is a SkillType enum value
19439	SkillTypePrivate = "PRIVATE"
19440)
19441
19442const (
19443	// SkillTypeFilterPublic is a SkillTypeFilter enum value
19444	SkillTypeFilterPublic = "PUBLIC"
19445
19446	// SkillTypeFilterPrivate is a SkillTypeFilter enum value
19447	SkillTypeFilterPrivate = "PRIVATE"
19448
19449	// SkillTypeFilterAll is a SkillTypeFilter enum value
19450	SkillTypeFilterAll = "ALL"
19451)
19452
19453const (
19454	// SortValueAsc is a SortValue enum value
19455	SortValueAsc = "ASC"
19456
19457	// SortValueDesc is a SortValue enum value
19458	SortValueDesc = "DESC"
19459)
19460
19461const (
19462	// TemperatureUnitFahrenheit is a TemperatureUnit enum value
19463	TemperatureUnitFahrenheit = "FAHRENHEIT"
19464
19465	// TemperatureUnitCelsius is a TemperatureUnit enum value
19466	TemperatureUnitCelsius = "CELSIUS"
19467)
19468
19469const (
19470	// WakeWordAlexa is a WakeWord enum value
19471	WakeWordAlexa = "ALEXA"
19472
19473	// WakeWordAmazon is a WakeWord enum value
19474	WakeWordAmazon = "AMAZON"
19475
19476	// WakeWordEcho is a WakeWord enum value
19477	WakeWordEcho = "ECHO"
19478
19479	// WakeWordComputer is a WakeWord enum value
19480	WakeWordComputer = "COMPUTER"
19481)
19482