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 Types:
73//   * LimitExceededException
74//   You are performing an action that would put you beyond your account's limits.
75//
76//   * NotFoundException
77//   The resource is not found.
78//
79//   * 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 Types:
159//   * 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 Types:
239//   * NotFoundException
240//   The resource is not found.
241//
242//   * ConcurrentModificationException
243//   There is a concurrent modification of resources.
244//
245//   * 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 Types:
329//   * LimitExceededException
330//   You are performing an action that would put you beyond your account's limits.
331//
332//   * ConcurrentModificationException
333//   There is a concurrent modification of resources.
334//
335//   * 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 Types:
417//   * 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 Types:
497//   * ConcurrentModificationException
498//   There is a concurrent modification of resources.
499//
500//   * NotFoundException
501//   The resource is not found.
502//
503//   * 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 Types:
583//   * ConcurrentModificationException
584//   There is a concurrent modification of resources.
585//
586//   * 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 Types:
665//   * AlreadyExistsException
666//   The resource being created already exists.
667//
668//   * 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 Types:
748//   * 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 Types:
827//   * 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 Types:
906//   * AlreadyExistsException
907//   The resource being created already exists.
908//
909//   * 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 Types:
988//   * AlreadyExistsException
989//   The resource being created already exists.
990//
991//   * 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 Types:
1070//   * AlreadyExistsException
1071//   The resource being created already exists.
1072//
1073//   * LimitExceededException
1074//   You are performing an action that would put you beyond your account's limits.
1075//
1076//   * ConcurrentModificationException
1077//   There is a concurrent modification of resources.
1078//
1079//   * InvalidCertificateAuthorityException
1080//   The Certificate Authority can't issue or revoke a certificate.
1081//
1082//   * 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 Types:
1161//   * LimitExceededException
1162//   You are performing an action that would put you beyond your account's limits.
1163//
1164//   * AlreadyExistsException
1165//   The resource being created already exists.
1166//
1167//   * 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 Types:
1246//   * AlreadyExistsException
1247//   The resource being created already exists.
1248//
1249//   * 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 Types:
1328//   * AlreadyExistsException
1329//   The resource being created already exists.
1330//
1331//   * LimitExceededException
1332//   You are performing an action that would put you beyond your account's limits.
1333//
1334//   * 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 Types:
1413//   * ResourceInUseException
1414//   The resource in the request is already in use.
1415//
1416//   * LimitExceededException
1417//   You are performing an action that would put you beyond your account's limits.
1418//
1419//   * 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 Types:
1499//   * NotFoundException
1500//   The resource is not found.
1501//
1502//   * 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 Types:
1583//   * NotFoundException
1584//   The resource is not found.
1585//
1586//   * 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 Types:
1666//   * 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 Types:
1746//   * NotFoundException
1747//   The resource is not found.
1748//
1749//   * 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 Types:
1829//   * NotFoundException
1830//   The resource is not found.
1831//
1832//   * ConcurrentModificationException
1833//   There is a concurrent modification of resources.
1834//
1835//   * 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// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1911// with awserr.Error's Code and Message methods to get detailed information about
1912// the error.
1913//
1914// See the AWS API reference guide for Alexa For Business's
1915// API operation DeleteDeviceUsageData for usage and error information.
1916//
1917// Returned Error Types:
1918//   * NotFoundException
1919//   The resource is not found.
1920//
1921//   * DeviceNotRegisteredException
1922//   The request failed because this device is no longer registered and therefore
1923//   no longer managed by this account.
1924//
1925//   * LimitExceededException
1926//   You are performing an action that would put you beyond your account's limits.
1927//
1928// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteDeviceUsageData
1929func (c *AlexaForBusiness) DeleteDeviceUsageData(input *DeleteDeviceUsageDataInput) (*DeleteDeviceUsageDataOutput, error) {
1930	req, out := c.DeleteDeviceUsageDataRequest(input)
1931	return out, req.Send()
1932}
1933
1934// DeleteDeviceUsageDataWithContext is the same as DeleteDeviceUsageData with the addition of
1935// the ability to pass a context and additional request options.
1936//
1937// See DeleteDeviceUsageData for details on how to use this API operation.
1938//
1939// The context must be non-nil and will be used for request cancellation. If
1940// the context is nil a panic will occur. In the future the SDK may create
1941// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1942// for more information on using Contexts.
1943func (c *AlexaForBusiness) DeleteDeviceUsageDataWithContext(ctx aws.Context, input *DeleteDeviceUsageDataInput, opts ...request.Option) (*DeleteDeviceUsageDataOutput, error) {
1944	req, out := c.DeleteDeviceUsageDataRequest(input)
1945	req.SetContext(ctx)
1946	req.ApplyOptions(opts...)
1947	return out, req.Send()
1948}
1949
1950const opDeleteGatewayGroup = "DeleteGatewayGroup"
1951
1952// DeleteGatewayGroupRequest generates a "aws/request.Request" representing the
1953// client's request for the DeleteGatewayGroup operation. The "output" return
1954// value will be populated with the request's response once the request completes
1955// successfully.
1956//
1957// Use "Send" method on the returned Request to send the API call to the service.
1958// the "output" return value is not valid until after Send returns without error.
1959//
1960// See DeleteGatewayGroup for more information on using the DeleteGatewayGroup
1961// API call, and error handling.
1962//
1963// This method is useful when you want to inject custom logic or configuration
1964// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1965//
1966//
1967//    // Example sending a request using the DeleteGatewayGroupRequest method.
1968//    req, resp := client.DeleteGatewayGroupRequest(params)
1969//
1970//    err := req.Send()
1971//    if err == nil { // resp is now filled
1972//        fmt.Println(resp)
1973//    }
1974//
1975// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteGatewayGroup
1976func (c *AlexaForBusiness) DeleteGatewayGroupRequest(input *DeleteGatewayGroupInput) (req *request.Request, output *DeleteGatewayGroupOutput) {
1977	op := &request.Operation{
1978		Name:       opDeleteGatewayGroup,
1979		HTTPMethod: "POST",
1980		HTTPPath:   "/",
1981	}
1982
1983	if input == nil {
1984		input = &DeleteGatewayGroupInput{}
1985	}
1986
1987	output = &DeleteGatewayGroupOutput{}
1988	req = c.newRequest(op, input, output)
1989	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1990	return
1991}
1992
1993// DeleteGatewayGroup API operation for Alexa For Business.
1994//
1995// Deletes a gateway group.
1996//
1997// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1998// with awserr.Error's Code and Message methods to get detailed information about
1999// the error.
2000//
2001// See the AWS API reference guide for Alexa For Business's
2002// API operation DeleteGatewayGroup for usage and error information.
2003//
2004// Returned Error Types:
2005//   * ResourceAssociatedException
2006//   Another resource is associated with the resource in the request.
2007//
2008// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteGatewayGroup
2009func (c *AlexaForBusiness) DeleteGatewayGroup(input *DeleteGatewayGroupInput) (*DeleteGatewayGroupOutput, error) {
2010	req, out := c.DeleteGatewayGroupRequest(input)
2011	return out, req.Send()
2012}
2013
2014// DeleteGatewayGroupWithContext is the same as DeleteGatewayGroup with the addition of
2015// the ability to pass a context and additional request options.
2016//
2017// See DeleteGatewayGroup for details on how to use this API operation.
2018//
2019// The context must be non-nil and will be used for request cancellation. If
2020// the context is nil a panic will occur. In the future the SDK may create
2021// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2022// for more information on using Contexts.
2023func (c *AlexaForBusiness) DeleteGatewayGroupWithContext(ctx aws.Context, input *DeleteGatewayGroupInput, opts ...request.Option) (*DeleteGatewayGroupOutput, error) {
2024	req, out := c.DeleteGatewayGroupRequest(input)
2025	req.SetContext(ctx)
2026	req.ApplyOptions(opts...)
2027	return out, req.Send()
2028}
2029
2030const opDeleteNetworkProfile = "DeleteNetworkProfile"
2031
2032// DeleteNetworkProfileRequest generates a "aws/request.Request" representing the
2033// client's request for the DeleteNetworkProfile operation. The "output" return
2034// value will be populated with the request's response once the request completes
2035// successfully.
2036//
2037// Use "Send" method on the returned Request to send the API call to the service.
2038// the "output" return value is not valid until after Send returns without error.
2039//
2040// See DeleteNetworkProfile for more information on using the DeleteNetworkProfile
2041// API call, and error handling.
2042//
2043// This method is useful when you want to inject custom logic or configuration
2044// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2045//
2046//
2047//    // Example sending a request using the DeleteNetworkProfileRequest method.
2048//    req, resp := client.DeleteNetworkProfileRequest(params)
2049//
2050//    err := req.Send()
2051//    if err == nil { // resp is now filled
2052//        fmt.Println(resp)
2053//    }
2054//
2055// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteNetworkProfile
2056func (c *AlexaForBusiness) DeleteNetworkProfileRequest(input *DeleteNetworkProfileInput) (req *request.Request, output *DeleteNetworkProfileOutput) {
2057	op := &request.Operation{
2058		Name:       opDeleteNetworkProfile,
2059		HTTPMethod: "POST",
2060		HTTPPath:   "/",
2061	}
2062
2063	if input == nil {
2064		input = &DeleteNetworkProfileInput{}
2065	}
2066
2067	output = &DeleteNetworkProfileOutput{}
2068	req = c.newRequest(op, input, output)
2069	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2070	return
2071}
2072
2073// DeleteNetworkProfile API operation for Alexa For Business.
2074//
2075// Deletes a network profile by the network profile ARN.
2076//
2077// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2078// with awserr.Error's Code and Message methods to get detailed information about
2079// the error.
2080//
2081// See the AWS API reference guide for Alexa For Business's
2082// API operation DeleteNetworkProfile for usage and error information.
2083//
2084// Returned Error Types:
2085//   * ResourceInUseException
2086//   The resource in the request is already in use.
2087//
2088//   * ConcurrentModificationException
2089//   There is a concurrent modification of resources.
2090//
2091//   * NotFoundException
2092//   The resource is not found.
2093//
2094// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteNetworkProfile
2095func (c *AlexaForBusiness) DeleteNetworkProfile(input *DeleteNetworkProfileInput) (*DeleteNetworkProfileOutput, error) {
2096	req, out := c.DeleteNetworkProfileRequest(input)
2097	return out, req.Send()
2098}
2099
2100// DeleteNetworkProfileWithContext is the same as DeleteNetworkProfile with the addition of
2101// the ability to pass a context and additional request options.
2102//
2103// See DeleteNetworkProfile for details on how to use this API operation.
2104//
2105// The context must be non-nil and will be used for request cancellation. If
2106// the context is nil a panic will occur. In the future the SDK may create
2107// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2108// for more information on using Contexts.
2109func (c *AlexaForBusiness) DeleteNetworkProfileWithContext(ctx aws.Context, input *DeleteNetworkProfileInput, opts ...request.Option) (*DeleteNetworkProfileOutput, error) {
2110	req, out := c.DeleteNetworkProfileRequest(input)
2111	req.SetContext(ctx)
2112	req.ApplyOptions(opts...)
2113	return out, req.Send()
2114}
2115
2116const opDeleteProfile = "DeleteProfile"
2117
2118// DeleteProfileRequest generates a "aws/request.Request" representing the
2119// client's request for the DeleteProfile operation. The "output" return
2120// value will be populated with the request's response once the request completes
2121// successfully.
2122//
2123// Use "Send" method on the returned Request to send the API call to the service.
2124// the "output" return value is not valid until after Send returns without error.
2125//
2126// See DeleteProfile for more information on using the DeleteProfile
2127// API call, and error handling.
2128//
2129// This method is useful when you want to inject custom logic or configuration
2130// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2131//
2132//
2133//    // Example sending a request using the DeleteProfileRequest method.
2134//    req, resp := client.DeleteProfileRequest(params)
2135//
2136//    err := req.Send()
2137//    if err == nil { // resp is now filled
2138//        fmt.Println(resp)
2139//    }
2140//
2141// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteProfile
2142func (c *AlexaForBusiness) DeleteProfileRequest(input *DeleteProfileInput) (req *request.Request, output *DeleteProfileOutput) {
2143	op := &request.Operation{
2144		Name:       opDeleteProfile,
2145		HTTPMethod: "POST",
2146		HTTPPath:   "/",
2147	}
2148
2149	if input == nil {
2150		input = &DeleteProfileInput{}
2151	}
2152
2153	output = &DeleteProfileOutput{}
2154	req = c.newRequest(op, input, output)
2155	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2156	return
2157}
2158
2159// DeleteProfile API operation for Alexa For Business.
2160//
2161// Deletes a room profile by the profile ARN.
2162//
2163// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2164// with awserr.Error's Code and Message methods to get detailed information about
2165// the error.
2166//
2167// See the AWS API reference guide for Alexa For Business's
2168// API operation DeleteProfile for usage and error information.
2169//
2170// Returned Error Types:
2171//   * NotFoundException
2172//   The resource is not found.
2173//
2174//   * ConcurrentModificationException
2175//   There is a concurrent modification of resources.
2176//
2177// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteProfile
2178func (c *AlexaForBusiness) DeleteProfile(input *DeleteProfileInput) (*DeleteProfileOutput, error) {
2179	req, out := c.DeleteProfileRequest(input)
2180	return out, req.Send()
2181}
2182
2183// DeleteProfileWithContext is the same as DeleteProfile with the addition of
2184// the ability to pass a context and additional request options.
2185//
2186// See DeleteProfile for details on how to use this API operation.
2187//
2188// The context must be non-nil and will be used for request cancellation. If
2189// the context is nil a panic will occur. In the future the SDK may create
2190// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2191// for more information on using Contexts.
2192func (c *AlexaForBusiness) DeleteProfileWithContext(ctx aws.Context, input *DeleteProfileInput, opts ...request.Option) (*DeleteProfileOutput, error) {
2193	req, out := c.DeleteProfileRequest(input)
2194	req.SetContext(ctx)
2195	req.ApplyOptions(opts...)
2196	return out, req.Send()
2197}
2198
2199const opDeleteRoom = "DeleteRoom"
2200
2201// DeleteRoomRequest generates a "aws/request.Request" representing the
2202// client's request for the DeleteRoom operation. The "output" return
2203// value will be populated with the request's response once the request completes
2204// successfully.
2205//
2206// Use "Send" method on the returned Request to send the API call to the service.
2207// the "output" return value is not valid until after Send returns without error.
2208//
2209// See DeleteRoom for more information on using the DeleteRoom
2210// API call, and error handling.
2211//
2212// This method is useful when you want to inject custom logic or configuration
2213// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2214//
2215//
2216//    // Example sending a request using the DeleteRoomRequest method.
2217//    req, resp := client.DeleteRoomRequest(params)
2218//
2219//    err := req.Send()
2220//    if err == nil { // resp is now filled
2221//        fmt.Println(resp)
2222//    }
2223//
2224// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteRoom
2225func (c *AlexaForBusiness) DeleteRoomRequest(input *DeleteRoomInput) (req *request.Request, output *DeleteRoomOutput) {
2226	op := &request.Operation{
2227		Name:       opDeleteRoom,
2228		HTTPMethod: "POST",
2229		HTTPPath:   "/",
2230	}
2231
2232	if input == nil {
2233		input = &DeleteRoomInput{}
2234	}
2235
2236	output = &DeleteRoomOutput{}
2237	req = c.newRequest(op, input, output)
2238	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2239	return
2240}
2241
2242// DeleteRoom API operation for Alexa For Business.
2243//
2244// Deletes a room by the room ARN.
2245//
2246// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2247// with awserr.Error's Code and Message methods to get detailed information about
2248// the error.
2249//
2250// See the AWS API reference guide for Alexa For Business's
2251// API operation DeleteRoom for usage and error information.
2252//
2253// Returned Error Types:
2254//   * NotFoundException
2255//   The resource is not found.
2256//
2257//   * ConcurrentModificationException
2258//   There is a concurrent modification of resources.
2259//
2260// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteRoom
2261func (c *AlexaForBusiness) DeleteRoom(input *DeleteRoomInput) (*DeleteRoomOutput, error) {
2262	req, out := c.DeleteRoomRequest(input)
2263	return out, req.Send()
2264}
2265
2266// DeleteRoomWithContext is the same as DeleteRoom with the addition of
2267// the ability to pass a context and additional request options.
2268//
2269// See DeleteRoom for details on how to use this API operation.
2270//
2271// The context must be non-nil and will be used for request cancellation. If
2272// the context is nil a panic will occur. In the future the SDK may create
2273// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2274// for more information on using Contexts.
2275func (c *AlexaForBusiness) DeleteRoomWithContext(ctx aws.Context, input *DeleteRoomInput, opts ...request.Option) (*DeleteRoomOutput, error) {
2276	req, out := c.DeleteRoomRequest(input)
2277	req.SetContext(ctx)
2278	req.ApplyOptions(opts...)
2279	return out, req.Send()
2280}
2281
2282const opDeleteRoomSkillParameter = "DeleteRoomSkillParameter"
2283
2284// DeleteRoomSkillParameterRequest generates a "aws/request.Request" representing the
2285// client's request for the DeleteRoomSkillParameter operation. The "output" return
2286// value will be populated with the request's response once the request completes
2287// successfully.
2288//
2289// Use "Send" method on the returned Request to send the API call to the service.
2290// the "output" return value is not valid until after Send returns without error.
2291//
2292// See DeleteRoomSkillParameter for more information on using the DeleteRoomSkillParameter
2293// API call, and error handling.
2294//
2295// This method is useful when you want to inject custom logic or configuration
2296// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2297//
2298//
2299//    // Example sending a request using the DeleteRoomSkillParameterRequest method.
2300//    req, resp := client.DeleteRoomSkillParameterRequest(params)
2301//
2302//    err := req.Send()
2303//    if err == nil { // resp is now filled
2304//        fmt.Println(resp)
2305//    }
2306//
2307// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteRoomSkillParameter
2308func (c *AlexaForBusiness) DeleteRoomSkillParameterRequest(input *DeleteRoomSkillParameterInput) (req *request.Request, output *DeleteRoomSkillParameterOutput) {
2309	op := &request.Operation{
2310		Name:       opDeleteRoomSkillParameter,
2311		HTTPMethod: "POST",
2312		HTTPPath:   "/",
2313	}
2314
2315	if input == nil {
2316		input = &DeleteRoomSkillParameterInput{}
2317	}
2318
2319	output = &DeleteRoomSkillParameterOutput{}
2320	req = c.newRequest(op, input, output)
2321	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2322	return
2323}
2324
2325// DeleteRoomSkillParameter API operation for Alexa For Business.
2326//
2327// Deletes room skill parameter details by room, skill, and parameter key ID.
2328//
2329// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2330// with awserr.Error's Code and Message methods to get detailed information about
2331// the error.
2332//
2333// See the AWS API reference guide for Alexa For Business's
2334// API operation DeleteRoomSkillParameter for usage and error information.
2335//
2336// Returned Error Types:
2337//   * ConcurrentModificationException
2338//   There is a concurrent modification of resources.
2339//
2340// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteRoomSkillParameter
2341func (c *AlexaForBusiness) DeleteRoomSkillParameter(input *DeleteRoomSkillParameterInput) (*DeleteRoomSkillParameterOutput, error) {
2342	req, out := c.DeleteRoomSkillParameterRequest(input)
2343	return out, req.Send()
2344}
2345
2346// DeleteRoomSkillParameterWithContext is the same as DeleteRoomSkillParameter with the addition of
2347// the ability to pass a context and additional request options.
2348//
2349// See DeleteRoomSkillParameter for details on how to use this API operation.
2350//
2351// The context must be non-nil and will be used for request cancellation. If
2352// the context is nil a panic will occur. In the future the SDK may create
2353// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2354// for more information on using Contexts.
2355func (c *AlexaForBusiness) DeleteRoomSkillParameterWithContext(ctx aws.Context, input *DeleteRoomSkillParameterInput, opts ...request.Option) (*DeleteRoomSkillParameterOutput, error) {
2356	req, out := c.DeleteRoomSkillParameterRequest(input)
2357	req.SetContext(ctx)
2358	req.ApplyOptions(opts...)
2359	return out, req.Send()
2360}
2361
2362const opDeleteSkillAuthorization = "DeleteSkillAuthorization"
2363
2364// DeleteSkillAuthorizationRequest generates a "aws/request.Request" representing the
2365// client's request for the DeleteSkillAuthorization operation. The "output" return
2366// value will be populated with the request's response once the request completes
2367// successfully.
2368//
2369// Use "Send" method on the returned Request to send the API call to the service.
2370// the "output" return value is not valid until after Send returns without error.
2371//
2372// See DeleteSkillAuthorization for more information on using the DeleteSkillAuthorization
2373// API call, and error handling.
2374//
2375// This method is useful when you want to inject custom logic or configuration
2376// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2377//
2378//
2379//    // Example sending a request using the DeleteSkillAuthorizationRequest method.
2380//    req, resp := client.DeleteSkillAuthorizationRequest(params)
2381//
2382//    err := req.Send()
2383//    if err == nil { // resp is now filled
2384//        fmt.Println(resp)
2385//    }
2386//
2387// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteSkillAuthorization
2388func (c *AlexaForBusiness) DeleteSkillAuthorizationRequest(input *DeleteSkillAuthorizationInput) (req *request.Request, output *DeleteSkillAuthorizationOutput) {
2389	op := &request.Operation{
2390		Name:       opDeleteSkillAuthorization,
2391		HTTPMethod: "POST",
2392		HTTPPath:   "/",
2393	}
2394
2395	if input == nil {
2396		input = &DeleteSkillAuthorizationInput{}
2397	}
2398
2399	output = &DeleteSkillAuthorizationOutput{}
2400	req = c.newRequest(op, input, output)
2401	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2402	return
2403}
2404
2405// DeleteSkillAuthorization API operation for Alexa For Business.
2406//
2407// Unlinks a third-party account from a skill.
2408//
2409// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2410// with awserr.Error's Code and Message methods to get detailed information about
2411// the error.
2412//
2413// See the AWS API reference guide for Alexa For Business's
2414// API operation DeleteSkillAuthorization for usage and error information.
2415//
2416// Returned Error Types:
2417//   * NotFoundException
2418//   The resource is not found.
2419//
2420//   * ConcurrentModificationException
2421//   There is a concurrent modification of resources.
2422//
2423// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteSkillAuthorization
2424func (c *AlexaForBusiness) DeleteSkillAuthorization(input *DeleteSkillAuthorizationInput) (*DeleteSkillAuthorizationOutput, error) {
2425	req, out := c.DeleteSkillAuthorizationRequest(input)
2426	return out, req.Send()
2427}
2428
2429// DeleteSkillAuthorizationWithContext is the same as DeleteSkillAuthorization with the addition of
2430// the ability to pass a context and additional request options.
2431//
2432// See DeleteSkillAuthorization for details on how to use this API operation.
2433//
2434// The context must be non-nil and will be used for request cancellation. If
2435// the context is nil a panic will occur. In the future the SDK may create
2436// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2437// for more information on using Contexts.
2438func (c *AlexaForBusiness) DeleteSkillAuthorizationWithContext(ctx aws.Context, input *DeleteSkillAuthorizationInput, opts ...request.Option) (*DeleteSkillAuthorizationOutput, error) {
2439	req, out := c.DeleteSkillAuthorizationRequest(input)
2440	req.SetContext(ctx)
2441	req.ApplyOptions(opts...)
2442	return out, req.Send()
2443}
2444
2445const opDeleteSkillGroup = "DeleteSkillGroup"
2446
2447// DeleteSkillGroupRequest generates a "aws/request.Request" representing the
2448// client's request for the DeleteSkillGroup operation. The "output" return
2449// value will be populated with the request's response once the request completes
2450// successfully.
2451//
2452// Use "Send" method on the returned Request to send the API call to the service.
2453// the "output" return value is not valid until after Send returns without error.
2454//
2455// See DeleteSkillGroup for more information on using the DeleteSkillGroup
2456// API call, and error handling.
2457//
2458// This method is useful when you want to inject custom logic or configuration
2459// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2460//
2461//
2462//    // Example sending a request using the DeleteSkillGroupRequest method.
2463//    req, resp := client.DeleteSkillGroupRequest(params)
2464//
2465//    err := req.Send()
2466//    if err == nil { // resp is now filled
2467//        fmt.Println(resp)
2468//    }
2469//
2470// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteSkillGroup
2471func (c *AlexaForBusiness) DeleteSkillGroupRequest(input *DeleteSkillGroupInput) (req *request.Request, output *DeleteSkillGroupOutput) {
2472	op := &request.Operation{
2473		Name:       opDeleteSkillGroup,
2474		HTTPMethod: "POST",
2475		HTTPPath:   "/",
2476	}
2477
2478	if input == nil {
2479		input = &DeleteSkillGroupInput{}
2480	}
2481
2482	output = &DeleteSkillGroupOutput{}
2483	req = c.newRequest(op, input, output)
2484	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2485	return
2486}
2487
2488// DeleteSkillGroup API operation for Alexa For Business.
2489//
2490// Deletes a skill group by skill group ARN.
2491//
2492// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2493// with awserr.Error's Code and Message methods to get detailed information about
2494// the error.
2495//
2496// See the AWS API reference guide for Alexa For Business's
2497// API operation DeleteSkillGroup for usage and error information.
2498//
2499// Returned Error Types:
2500//   * NotFoundException
2501//   The resource is not found.
2502//
2503//   * ConcurrentModificationException
2504//   There is a concurrent modification of resources.
2505//
2506// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteSkillGroup
2507func (c *AlexaForBusiness) DeleteSkillGroup(input *DeleteSkillGroupInput) (*DeleteSkillGroupOutput, error) {
2508	req, out := c.DeleteSkillGroupRequest(input)
2509	return out, req.Send()
2510}
2511
2512// DeleteSkillGroupWithContext is the same as DeleteSkillGroup with the addition of
2513// the ability to pass a context and additional request options.
2514//
2515// See DeleteSkillGroup for details on how to use this API operation.
2516//
2517// The context must be non-nil and will be used for request cancellation. If
2518// the context is nil a panic will occur. In the future the SDK may create
2519// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2520// for more information on using Contexts.
2521func (c *AlexaForBusiness) DeleteSkillGroupWithContext(ctx aws.Context, input *DeleteSkillGroupInput, opts ...request.Option) (*DeleteSkillGroupOutput, error) {
2522	req, out := c.DeleteSkillGroupRequest(input)
2523	req.SetContext(ctx)
2524	req.ApplyOptions(opts...)
2525	return out, req.Send()
2526}
2527
2528const opDeleteUser = "DeleteUser"
2529
2530// DeleteUserRequest generates a "aws/request.Request" representing the
2531// client's request for the DeleteUser operation. The "output" return
2532// value will be populated with the request's response once the request completes
2533// successfully.
2534//
2535// Use "Send" method on the returned Request to send the API call to the service.
2536// the "output" return value is not valid until after Send returns without error.
2537//
2538// See DeleteUser for more information on using the DeleteUser
2539// API call, and error handling.
2540//
2541// This method is useful when you want to inject custom logic or configuration
2542// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2543//
2544//
2545//    // Example sending a request using the DeleteUserRequest method.
2546//    req, resp := client.DeleteUserRequest(params)
2547//
2548//    err := req.Send()
2549//    if err == nil { // resp is now filled
2550//        fmt.Println(resp)
2551//    }
2552//
2553// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteUser
2554func (c *AlexaForBusiness) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) {
2555	op := &request.Operation{
2556		Name:       opDeleteUser,
2557		HTTPMethod: "POST",
2558		HTTPPath:   "/",
2559	}
2560
2561	if input == nil {
2562		input = &DeleteUserInput{}
2563	}
2564
2565	output = &DeleteUserOutput{}
2566	req = c.newRequest(op, input, output)
2567	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2568	return
2569}
2570
2571// DeleteUser API operation for Alexa For Business.
2572//
2573// Deletes a specified user by user ARN and enrollment ARN.
2574//
2575// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2576// with awserr.Error's Code and Message methods to get detailed information about
2577// the error.
2578//
2579// See the AWS API reference guide for Alexa For Business's
2580// API operation DeleteUser for usage and error information.
2581//
2582// Returned Error Types:
2583//   * NotFoundException
2584//   The resource is not found.
2585//
2586//   * ConcurrentModificationException
2587//   There is a concurrent modification of resources.
2588//
2589// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DeleteUser
2590func (c *AlexaForBusiness) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) {
2591	req, out := c.DeleteUserRequest(input)
2592	return out, req.Send()
2593}
2594
2595// DeleteUserWithContext is the same as DeleteUser with the addition of
2596// the ability to pass a context and additional request options.
2597//
2598// See DeleteUser for details on how to use this API operation.
2599//
2600// The context must be non-nil and will be used for request cancellation. If
2601// the context is nil a panic will occur. In the future the SDK may create
2602// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2603// for more information on using Contexts.
2604func (c *AlexaForBusiness) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) {
2605	req, out := c.DeleteUserRequest(input)
2606	req.SetContext(ctx)
2607	req.ApplyOptions(opts...)
2608	return out, req.Send()
2609}
2610
2611const opDisassociateContactFromAddressBook = "DisassociateContactFromAddressBook"
2612
2613// DisassociateContactFromAddressBookRequest generates a "aws/request.Request" representing the
2614// client's request for the DisassociateContactFromAddressBook operation. The "output" return
2615// value will be populated with the request's response once the request completes
2616// successfully.
2617//
2618// Use "Send" method on the returned Request to send the API call to the service.
2619// the "output" return value is not valid until after Send returns without error.
2620//
2621// See DisassociateContactFromAddressBook for more information on using the DisassociateContactFromAddressBook
2622// API call, and error handling.
2623//
2624// This method is useful when you want to inject custom logic or configuration
2625// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2626//
2627//
2628//    // Example sending a request using the DisassociateContactFromAddressBookRequest method.
2629//    req, resp := client.DisassociateContactFromAddressBookRequest(params)
2630//
2631//    err := req.Send()
2632//    if err == nil { // resp is now filled
2633//        fmt.Println(resp)
2634//    }
2635//
2636// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateContactFromAddressBook
2637func (c *AlexaForBusiness) DisassociateContactFromAddressBookRequest(input *DisassociateContactFromAddressBookInput) (req *request.Request, output *DisassociateContactFromAddressBookOutput) {
2638	op := &request.Operation{
2639		Name:       opDisassociateContactFromAddressBook,
2640		HTTPMethod: "POST",
2641		HTTPPath:   "/",
2642	}
2643
2644	if input == nil {
2645		input = &DisassociateContactFromAddressBookInput{}
2646	}
2647
2648	output = &DisassociateContactFromAddressBookOutput{}
2649	req = c.newRequest(op, input, output)
2650	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2651	return
2652}
2653
2654// DisassociateContactFromAddressBook API operation for Alexa For Business.
2655//
2656// Disassociates a contact from a given address book.
2657//
2658// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2659// with awserr.Error's Code and Message methods to get detailed information about
2660// the error.
2661//
2662// See the AWS API reference guide for Alexa For Business's
2663// API operation DisassociateContactFromAddressBook for usage and error information.
2664// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateContactFromAddressBook
2665func (c *AlexaForBusiness) DisassociateContactFromAddressBook(input *DisassociateContactFromAddressBookInput) (*DisassociateContactFromAddressBookOutput, error) {
2666	req, out := c.DisassociateContactFromAddressBookRequest(input)
2667	return out, req.Send()
2668}
2669
2670// DisassociateContactFromAddressBookWithContext is the same as DisassociateContactFromAddressBook with the addition of
2671// the ability to pass a context and additional request options.
2672//
2673// See DisassociateContactFromAddressBook for details on how to use this API operation.
2674//
2675// The context must be non-nil and will be used for request cancellation. If
2676// the context is nil a panic will occur. In the future the SDK may create
2677// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2678// for more information on using Contexts.
2679func (c *AlexaForBusiness) DisassociateContactFromAddressBookWithContext(ctx aws.Context, input *DisassociateContactFromAddressBookInput, opts ...request.Option) (*DisassociateContactFromAddressBookOutput, error) {
2680	req, out := c.DisassociateContactFromAddressBookRequest(input)
2681	req.SetContext(ctx)
2682	req.ApplyOptions(opts...)
2683	return out, req.Send()
2684}
2685
2686const opDisassociateDeviceFromRoom = "DisassociateDeviceFromRoom"
2687
2688// DisassociateDeviceFromRoomRequest generates a "aws/request.Request" representing the
2689// client's request for the DisassociateDeviceFromRoom operation. The "output" return
2690// value will be populated with the request's response once the request completes
2691// successfully.
2692//
2693// Use "Send" method on the returned Request to send the API call to the service.
2694// the "output" return value is not valid until after Send returns without error.
2695//
2696// See DisassociateDeviceFromRoom for more information on using the DisassociateDeviceFromRoom
2697// API call, and error handling.
2698//
2699// This method is useful when you want to inject custom logic or configuration
2700// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2701//
2702//
2703//    // Example sending a request using the DisassociateDeviceFromRoomRequest method.
2704//    req, resp := client.DisassociateDeviceFromRoomRequest(params)
2705//
2706//    err := req.Send()
2707//    if err == nil { // resp is now filled
2708//        fmt.Println(resp)
2709//    }
2710//
2711// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateDeviceFromRoom
2712func (c *AlexaForBusiness) DisassociateDeviceFromRoomRequest(input *DisassociateDeviceFromRoomInput) (req *request.Request, output *DisassociateDeviceFromRoomOutput) {
2713	op := &request.Operation{
2714		Name:       opDisassociateDeviceFromRoom,
2715		HTTPMethod: "POST",
2716		HTTPPath:   "/",
2717	}
2718
2719	if input == nil {
2720		input = &DisassociateDeviceFromRoomInput{}
2721	}
2722
2723	output = &DisassociateDeviceFromRoomOutput{}
2724	req = c.newRequest(op, input, output)
2725	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2726	return
2727}
2728
2729// DisassociateDeviceFromRoom API operation for Alexa For Business.
2730//
2731// Disassociates a device from its current room. The device continues to be
2732// connected to the Wi-Fi network and is still registered to the account. The
2733// device settings and skills are removed from the room.
2734//
2735// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2736// with awserr.Error's Code and Message methods to get detailed information about
2737// the error.
2738//
2739// See the AWS API reference guide for Alexa For Business's
2740// API operation DisassociateDeviceFromRoom for usage and error information.
2741//
2742// Returned Error Types:
2743//   * ConcurrentModificationException
2744//   There is a concurrent modification of resources.
2745//
2746//   * DeviceNotRegisteredException
2747//   The request failed because this device is no longer registered and therefore
2748//   no longer managed by this account.
2749//
2750// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateDeviceFromRoom
2751func (c *AlexaForBusiness) DisassociateDeviceFromRoom(input *DisassociateDeviceFromRoomInput) (*DisassociateDeviceFromRoomOutput, error) {
2752	req, out := c.DisassociateDeviceFromRoomRequest(input)
2753	return out, req.Send()
2754}
2755
2756// DisassociateDeviceFromRoomWithContext is the same as DisassociateDeviceFromRoom with the addition of
2757// the ability to pass a context and additional request options.
2758//
2759// See DisassociateDeviceFromRoom for details on how to use this API operation.
2760//
2761// The context must be non-nil and will be used for request cancellation. If
2762// the context is nil a panic will occur. In the future the SDK may create
2763// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2764// for more information on using Contexts.
2765func (c *AlexaForBusiness) DisassociateDeviceFromRoomWithContext(ctx aws.Context, input *DisassociateDeviceFromRoomInput, opts ...request.Option) (*DisassociateDeviceFromRoomOutput, error) {
2766	req, out := c.DisassociateDeviceFromRoomRequest(input)
2767	req.SetContext(ctx)
2768	req.ApplyOptions(opts...)
2769	return out, req.Send()
2770}
2771
2772const opDisassociateSkillFromSkillGroup = "DisassociateSkillFromSkillGroup"
2773
2774// DisassociateSkillFromSkillGroupRequest generates a "aws/request.Request" representing the
2775// client's request for the DisassociateSkillFromSkillGroup operation. The "output" return
2776// value will be populated with the request's response once the request completes
2777// successfully.
2778//
2779// Use "Send" method on the returned Request to send the API call to the service.
2780// the "output" return value is not valid until after Send returns without error.
2781//
2782// See DisassociateSkillFromSkillGroup for more information on using the DisassociateSkillFromSkillGroup
2783// API call, and error handling.
2784//
2785// This method is useful when you want to inject custom logic or configuration
2786// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2787//
2788//
2789//    // Example sending a request using the DisassociateSkillFromSkillGroupRequest method.
2790//    req, resp := client.DisassociateSkillFromSkillGroupRequest(params)
2791//
2792//    err := req.Send()
2793//    if err == nil { // resp is now filled
2794//        fmt.Println(resp)
2795//    }
2796//
2797// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateSkillFromSkillGroup
2798func (c *AlexaForBusiness) DisassociateSkillFromSkillGroupRequest(input *DisassociateSkillFromSkillGroupInput) (req *request.Request, output *DisassociateSkillFromSkillGroupOutput) {
2799	op := &request.Operation{
2800		Name:       opDisassociateSkillFromSkillGroup,
2801		HTTPMethod: "POST",
2802		HTTPPath:   "/",
2803	}
2804
2805	if input == nil {
2806		input = &DisassociateSkillFromSkillGroupInput{}
2807	}
2808
2809	output = &DisassociateSkillFromSkillGroupOutput{}
2810	req = c.newRequest(op, input, output)
2811	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2812	return
2813}
2814
2815// DisassociateSkillFromSkillGroup API operation for Alexa For Business.
2816//
2817// Disassociates a skill from a skill group.
2818//
2819// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2820// with awserr.Error's Code and Message methods to get detailed information about
2821// the error.
2822//
2823// See the AWS API reference guide for Alexa For Business's
2824// API operation DisassociateSkillFromSkillGroup for usage and error information.
2825//
2826// Returned Error Types:
2827//   * ConcurrentModificationException
2828//   There is a concurrent modification of resources.
2829//
2830//   * NotFoundException
2831//   The resource is not found.
2832//
2833// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateSkillFromSkillGroup
2834func (c *AlexaForBusiness) DisassociateSkillFromSkillGroup(input *DisassociateSkillFromSkillGroupInput) (*DisassociateSkillFromSkillGroupOutput, error) {
2835	req, out := c.DisassociateSkillFromSkillGroupRequest(input)
2836	return out, req.Send()
2837}
2838
2839// DisassociateSkillFromSkillGroupWithContext is the same as DisassociateSkillFromSkillGroup with the addition of
2840// the ability to pass a context and additional request options.
2841//
2842// See DisassociateSkillFromSkillGroup for details on how to use this API operation.
2843//
2844// The context must be non-nil and will be used for request cancellation. If
2845// the context is nil a panic will occur. In the future the SDK may create
2846// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2847// for more information on using Contexts.
2848func (c *AlexaForBusiness) DisassociateSkillFromSkillGroupWithContext(ctx aws.Context, input *DisassociateSkillFromSkillGroupInput, opts ...request.Option) (*DisassociateSkillFromSkillGroupOutput, error) {
2849	req, out := c.DisassociateSkillFromSkillGroupRequest(input)
2850	req.SetContext(ctx)
2851	req.ApplyOptions(opts...)
2852	return out, req.Send()
2853}
2854
2855const opDisassociateSkillFromUsers = "DisassociateSkillFromUsers"
2856
2857// DisassociateSkillFromUsersRequest generates a "aws/request.Request" representing the
2858// client's request for the DisassociateSkillFromUsers operation. The "output" return
2859// value will be populated with the request's response once the request completes
2860// successfully.
2861//
2862// Use "Send" method on the returned Request to send the API call to the service.
2863// the "output" return value is not valid until after Send returns without error.
2864//
2865// See DisassociateSkillFromUsers for more information on using the DisassociateSkillFromUsers
2866// API call, and error handling.
2867//
2868// This method is useful when you want to inject custom logic or configuration
2869// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2870//
2871//
2872//    // Example sending a request using the DisassociateSkillFromUsersRequest method.
2873//    req, resp := client.DisassociateSkillFromUsersRequest(params)
2874//
2875//    err := req.Send()
2876//    if err == nil { // resp is now filled
2877//        fmt.Println(resp)
2878//    }
2879//
2880// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateSkillFromUsers
2881func (c *AlexaForBusiness) DisassociateSkillFromUsersRequest(input *DisassociateSkillFromUsersInput) (req *request.Request, output *DisassociateSkillFromUsersOutput) {
2882	op := &request.Operation{
2883		Name:       opDisassociateSkillFromUsers,
2884		HTTPMethod: "POST",
2885		HTTPPath:   "/",
2886	}
2887
2888	if input == nil {
2889		input = &DisassociateSkillFromUsersInput{}
2890	}
2891
2892	output = &DisassociateSkillFromUsersOutput{}
2893	req = c.newRequest(op, input, output)
2894	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2895	return
2896}
2897
2898// DisassociateSkillFromUsers API operation for Alexa For Business.
2899//
2900// Makes a private skill unavailable for enrolled users and prevents them from
2901// enabling it on their devices.
2902//
2903// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2904// with awserr.Error's Code and Message methods to get detailed information about
2905// the error.
2906//
2907// See the AWS API reference guide for Alexa For Business's
2908// API operation DisassociateSkillFromUsers for usage and error information.
2909//
2910// Returned Error Types:
2911//   * ConcurrentModificationException
2912//   There is a concurrent modification of resources.
2913//
2914//   * NotFoundException
2915//   The resource is not found.
2916//
2917// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateSkillFromUsers
2918func (c *AlexaForBusiness) DisassociateSkillFromUsers(input *DisassociateSkillFromUsersInput) (*DisassociateSkillFromUsersOutput, error) {
2919	req, out := c.DisassociateSkillFromUsersRequest(input)
2920	return out, req.Send()
2921}
2922
2923// DisassociateSkillFromUsersWithContext is the same as DisassociateSkillFromUsers with the addition of
2924// the ability to pass a context and additional request options.
2925//
2926// See DisassociateSkillFromUsers for details on how to use this API operation.
2927//
2928// The context must be non-nil and will be used for request cancellation. If
2929// the context is nil a panic will occur. In the future the SDK may create
2930// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2931// for more information on using Contexts.
2932func (c *AlexaForBusiness) DisassociateSkillFromUsersWithContext(ctx aws.Context, input *DisassociateSkillFromUsersInput, opts ...request.Option) (*DisassociateSkillFromUsersOutput, error) {
2933	req, out := c.DisassociateSkillFromUsersRequest(input)
2934	req.SetContext(ctx)
2935	req.ApplyOptions(opts...)
2936	return out, req.Send()
2937}
2938
2939const opDisassociateSkillGroupFromRoom = "DisassociateSkillGroupFromRoom"
2940
2941// DisassociateSkillGroupFromRoomRequest generates a "aws/request.Request" representing the
2942// client's request for the DisassociateSkillGroupFromRoom operation. The "output" return
2943// value will be populated with the request's response once the request completes
2944// successfully.
2945//
2946// Use "Send" method on the returned Request to send the API call to the service.
2947// the "output" return value is not valid until after Send returns without error.
2948//
2949// See DisassociateSkillGroupFromRoom for more information on using the DisassociateSkillGroupFromRoom
2950// API call, and error handling.
2951//
2952// This method is useful when you want to inject custom logic or configuration
2953// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2954//
2955//
2956//    // Example sending a request using the DisassociateSkillGroupFromRoomRequest method.
2957//    req, resp := client.DisassociateSkillGroupFromRoomRequest(params)
2958//
2959//    err := req.Send()
2960//    if err == nil { // resp is now filled
2961//        fmt.Println(resp)
2962//    }
2963//
2964// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateSkillGroupFromRoom
2965func (c *AlexaForBusiness) DisassociateSkillGroupFromRoomRequest(input *DisassociateSkillGroupFromRoomInput) (req *request.Request, output *DisassociateSkillGroupFromRoomOutput) {
2966	op := &request.Operation{
2967		Name:       opDisassociateSkillGroupFromRoom,
2968		HTTPMethod: "POST",
2969		HTTPPath:   "/",
2970	}
2971
2972	if input == nil {
2973		input = &DisassociateSkillGroupFromRoomInput{}
2974	}
2975
2976	output = &DisassociateSkillGroupFromRoomOutput{}
2977	req = c.newRequest(op, input, output)
2978	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2979	return
2980}
2981
2982// DisassociateSkillGroupFromRoom API operation for Alexa For Business.
2983//
2984// Disassociates a skill group from a specified room. This disables all skills
2985// in the skill group on all devices in the room.
2986//
2987// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2988// with awserr.Error's Code and Message methods to get detailed information about
2989// the error.
2990//
2991// See the AWS API reference guide for Alexa For Business's
2992// API operation DisassociateSkillGroupFromRoom for usage and error information.
2993//
2994// Returned Error Types:
2995//   * ConcurrentModificationException
2996//   There is a concurrent modification of resources.
2997//
2998// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/DisassociateSkillGroupFromRoom
2999func (c *AlexaForBusiness) DisassociateSkillGroupFromRoom(input *DisassociateSkillGroupFromRoomInput) (*DisassociateSkillGroupFromRoomOutput, error) {
3000	req, out := c.DisassociateSkillGroupFromRoomRequest(input)
3001	return out, req.Send()
3002}
3003
3004// DisassociateSkillGroupFromRoomWithContext is the same as DisassociateSkillGroupFromRoom with the addition of
3005// the ability to pass a context and additional request options.
3006//
3007// See DisassociateSkillGroupFromRoom for details on how to use this API operation.
3008//
3009// The context must be non-nil and will be used for request cancellation. If
3010// the context is nil a panic will occur. In the future the SDK may create
3011// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3012// for more information on using Contexts.
3013func (c *AlexaForBusiness) DisassociateSkillGroupFromRoomWithContext(ctx aws.Context, input *DisassociateSkillGroupFromRoomInput, opts ...request.Option) (*DisassociateSkillGroupFromRoomOutput, error) {
3014	req, out := c.DisassociateSkillGroupFromRoomRequest(input)
3015	req.SetContext(ctx)
3016	req.ApplyOptions(opts...)
3017	return out, req.Send()
3018}
3019
3020const opForgetSmartHomeAppliances = "ForgetSmartHomeAppliances"
3021
3022// ForgetSmartHomeAppliancesRequest generates a "aws/request.Request" representing the
3023// client's request for the ForgetSmartHomeAppliances operation. The "output" return
3024// value will be populated with the request's response once the request completes
3025// successfully.
3026//
3027// Use "Send" method on the returned Request to send the API call to the service.
3028// the "output" return value is not valid until after Send returns without error.
3029//
3030// See ForgetSmartHomeAppliances for more information on using the ForgetSmartHomeAppliances
3031// API call, and error handling.
3032//
3033// This method is useful when you want to inject custom logic or configuration
3034// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3035//
3036//
3037//    // Example sending a request using the ForgetSmartHomeAppliancesRequest method.
3038//    req, resp := client.ForgetSmartHomeAppliancesRequest(params)
3039//
3040//    err := req.Send()
3041//    if err == nil { // resp is now filled
3042//        fmt.Println(resp)
3043//    }
3044//
3045// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ForgetSmartHomeAppliances
3046func (c *AlexaForBusiness) ForgetSmartHomeAppliancesRequest(input *ForgetSmartHomeAppliancesInput) (req *request.Request, output *ForgetSmartHomeAppliancesOutput) {
3047	op := &request.Operation{
3048		Name:       opForgetSmartHomeAppliances,
3049		HTTPMethod: "POST",
3050		HTTPPath:   "/",
3051	}
3052
3053	if input == nil {
3054		input = &ForgetSmartHomeAppliancesInput{}
3055	}
3056
3057	output = &ForgetSmartHomeAppliancesOutput{}
3058	req = c.newRequest(op, input, output)
3059	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3060	return
3061}
3062
3063// ForgetSmartHomeAppliances API operation for Alexa For Business.
3064//
3065// Forgets smart home appliances associated to a room.
3066//
3067// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3068// with awserr.Error's Code and Message methods to get detailed information about
3069// the error.
3070//
3071// See the AWS API reference guide for Alexa For Business's
3072// API operation ForgetSmartHomeAppliances for usage and error information.
3073//
3074// Returned Error Types:
3075//   * NotFoundException
3076//   The resource is not found.
3077//
3078// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ForgetSmartHomeAppliances
3079func (c *AlexaForBusiness) ForgetSmartHomeAppliances(input *ForgetSmartHomeAppliancesInput) (*ForgetSmartHomeAppliancesOutput, error) {
3080	req, out := c.ForgetSmartHomeAppliancesRequest(input)
3081	return out, req.Send()
3082}
3083
3084// ForgetSmartHomeAppliancesWithContext is the same as ForgetSmartHomeAppliances with the addition of
3085// the ability to pass a context and additional request options.
3086//
3087// See ForgetSmartHomeAppliances for details on how to use this API operation.
3088//
3089// The context must be non-nil and will be used for request cancellation. If
3090// the context is nil a panic will occur. In the future the SDK may create
3091// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3092// for more information on using Contexts.
3093func (c *AlexaForBusiness) ForgetSmartHomeAppliancesWithContext(ctx aws.Context, input *ForgetSmartHomeAppliancesInput, opts ...request.Option) (*ForgetSmartHomeAppliancesOutput, error) {
3094	req, out := c.ForgetSmartHomeAppliancesRequest(input)
3095	req.SetContext(ctx)
3096	req.ApplyOptions(opts...)
3097	return out, req.Send()
3098}
3099
3100const opGetAddressBook = "GetAddressBook"
3101
3102// GetAddressBookRequest generates a "aws/request.Request" representing the
3103// client's request for the GetAddressBook operation. The "output" return
3104// value will be populated with the request's response once the request completes
3105// successfully.
3106//
3107// Use "Send" method on the returned Request to send the API call to the service.
3108// the "output" return value is not valid until after Send returns without error.
3109//
3110// See GetAddressBook for more information on using the GetAddressBook
3111// API call, and error handling.
3112//
3113// This method is useful when you want to inject custom logic or configuration
3114// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3115//
3116//
3117//    // Example sending a request using the GetAddressBookRequest method.
3118//    req, resp := client.GetAddressBookRequest(params)
3119//
3120//    err := req.Send()
3121//    if err == nil { // resp is now filled
3122//        fmt.Println(resp)
3123//    }
3124//
3125// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetAddressBook
3126func (c *AlexaForBusiness) GetAddressBookRequest(input *GetAddressBookInput) (req *request.Request, output *GetAddressBookOutput) {
3127	op := &request.Operation{
3128		Name:       opGetAddressBook,
3129		HTTPMethod: "POST",
3130		HTTPPath:   "/",
3131	}
3132
3133	if input == nil {
3134		input = &GetAddressBookInput{}
3135	}
3136
3137	output = &GetAddressBookOutput{}
3138	req = c.newRequest(op, input, output)
3139	return
3140}
3141
3142// GetAddressBook API operation for Alexa For Business.
3143//
3144// Gets address the book details by the address book ARN.
3145//
3146// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3147// with awserr.Error's Code and Message methods to get detailed information about
3148// the error.
3149//
3150// See the AWS API reference guide for Alexa For Business's
3151// API operation GetAddressBook for usage and error information.
3152//
3153// Returned Error Types:
3154//   * NotFoundException
3155//   The resource is not found.
3156//
3157// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetAddressBook
3158func (c *AlexaForBusiness) GetAddressBook(input *GetAddressBookInput) (*GetAddressBookOutput, error) {
3159	req, out := c.GetAddressBookRequest(input)
3160	return out, req.Send()
3161}
3162
3163// GetAddressBookWithContext is the same as GetAddressBook with the addition of
3164// the ability to pass a context and additional request options.
3165//
3166// See GetAddressBook for details on how to use this API operation.
3167//
3168// The context must be non-nil and will be used for request cancellation. If
3169// the context is nil a panic will occur. In the future the SDK may create
3170// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3171// for more information on using Contexts.
3172func (c *AlexaForBusiness) GetAddressBookWithContext(ctx aws.Context, input *GetAddressBookInput, opts ...request.Option) (*GetAddressBookOutput, error) {
3173	req, out := c.GetAddressBookRequest(input)
3174	req.SetContext(ctx)
3175	req.ApplyOptions(opts...)
3176	return out, req.Send()
3177}
3178
3179const opGetConferencePreference = "GetConferencePreference"
3180
3181// GetConferencePreferenceRequest generates a "aws/request.Request" representing the
3182// client's request for the GetConferencePreference operation. The "output" return
3183// value will be populated with the request's response once the request completes
3184// successfully.
3185//
3186// Use "Send" method on the returned Request to send the API call to the service.
3187// the "output" return value is not valid until after Send returns without error.
3188//
3189// See GetConferencePreference for more information on using the GetConferencePreference
3190// API call, and error handling.
3191//
3192// This method is useful when you want to inject custom logic or configuration
3193// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3194//
3195//
3196//    // Example sending a request using the GetConferencePreferenceRequest method.
3197//    req, resp := client.GetConferencePreferenceRequest(params)
3198//
3199//    err := req.Send()
3200//    if err == nil { // resp is now filled
3201//        fmt.Println(resp)
3202//    }
3203//
3204// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetConferencePreference
3205func (c *AlexaForBusiness) GetConferencePreferenceRequest(input *GetConferencePreferenceInput) (req *request.Request, output *GetConferencePreferenceOutput) {
3206	op := &request.Operation{
3207		Name:       opGetConferencePreference,
3208		HTTPMethod: "POST",
3209		HTTPPath:   "/",
3210	}
3211
3212	if input == nil {
3213		input = &GetConferencePreferenceInput{}
3214	}
3215
3216	output = &GetConferencePreferenceOutput{}
3217	req = c.newRequest(op, input, output)
3218	return
3219}
3220
3221// GetConferencePreference API operation for Alexa For Business.
3222//
3223// Retrieves the existing conference preferences.
3224//
3225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3226// with awserr.Error's Code and Message methods to get detailed information about
3227// the error.
3228//
3229// See the AWS API reference guide for Alexa For Business's
3230// API operation GetConferencePreference for usage and error information.
3231//
3232// Returned Error Types:
3233//   * NotFoundException
3234//   The resource is not found.
3235//
3236// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetConferencePreference
3237func (c *AlexaForBusiness) GetConferencePreference(input *GetConferencePreferenceInput) (*GetConferencePreferenceOutput, error) {
3238	req, out := c.GetConferencePreferenceRequest(input)
3239	return out, req.Send()
3240}
3241
3242// GetConferencePreferenceWithContext is the same as GetConferencePreference with the addition of
3243// the ability to pass a context and additional request options.
3244//
3245// See GetConferencePreference for details on how to use this API operation.
3246//
3247// The context must be non-nil and will be used for request cancellation. If
3248// the context is nil a panic will occur. In the future the SDK may create
3249// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3250// for more information on using Contexts.
3251func (c *AlexaForBusiness) GetConferencePreferenceWithContext(ctx aws.Context, input *GetConferencePreferenceInput, opts ...request.Option) (*GetConferencePreferenceOutput, error) {
3252	req, out := c.GetConferencePreferenceRequest(input)
3253	req.SetContext(ctx)
3254	req.ApplyOptions(opts...)
3255	return out, req.Send()
3256}
3257
3258const opGetConferenceProvider = "GetConferenceProvider"
3259
3260// GetConferenceProviderRequest generates a "aws/request.Request" representing the
3261// client's request for the GetConferenceProvider operation. The "output" return
3262// value will be populated with the request's response once the request completes
3263// successfully.
3264//
3265// Use "Send" method on the returned Request to send the API call to the service.
3266// the "output" return value is not valid until after Send returns without error.
3267//
3268// See GetConferenceProvider for more information on using the GetConferenceProvider
3269// API call, and error handling.
3270//
3271// This method is useful when you want to inject custom logic or configuration
3272// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3273//
3274//
3275//    // Example sending a request using the GetConferenceProviderRequest method.
3276//    req, resp := client.GetConferenceProviderRequest(params)
3277//
3278//    err := req.Send()
3279//    if err == nil { // resp is now filled
3280//        fmt.Println(resp)
3281//    }
3282//
3283// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetConferenceProvider
3284func (c *AlexaForBusiness) GetConferenceProviderRequest(input *GetConferenceProviderInput) (req *request.Request, output *GetConferenceProviderOutput) {
3285	op := &request.Operation{
3286		Name:       opGetConferenceProvider,
3287		HTTPMethod: "POST",
3288		HTTPPath:   "/",
3289	}
3290
3291	if input == nil {
3292		input = &GetConferenceProviderInput{}
3293	}
3294
3295	output = &GetConferenceProviderOutput{}
3296	req = c.newRequest(op, input, output)
3297	return
3298}
3299
3300// GetConferenceProvider API operation for Alexa For Business.
3301//
3302// Gets details about a specific conference provider.
3303//
3304// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3305// with awserr.Error's Code and Message methods to get detailed information about
3306// the error.
3307//
3308// See the AWS API reference guide for Alexa For Business's
3309// API operation GetConferenceProvider for usage and error information.
3310//
3311// Returned Error Types:
3312//   * NotFoundException
3313//   The resource is not found.
3314//
3315// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetConferenceProvider
3316func (c *AlexaForBusiness) GetConferenceProvider(input *GetConferenceProviderInput) (*GetConferenceProviderOutput, error) {
3317	req, out := c.GetConferenceProviderRequest(input)
3318	return out, req.Send()
3319}
3320
3321// GetConferenceProviderWithContext is the same as GetConferenceProvider with the addition of
3322// the ability to pass a context and additional request options.
3323//
3324// See GetConferenceProvider for details on how to use this API operation.
3325//
3326// The context must be non-nil and will be used for request cancellation. If
3327// the context is nil a panic will occur. In the future the SDK may create
3328// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3329// for more information on using Contexts.
3330func (c *AlexaForBusiness) GetConferenceProviderWithContext(ctx aws.Context, input *GetConferenceProviderInput, opts ...request.Option) (*GetConferenceProviderOutput, error) {
3331	req, out := c.GetConferenceProviderRequest(input)
3332	req.SetContext(ctx)
3333	req.ApplyOptions(opts...)
3334	return out, req.Send()
3335}
3336
3337const opGetContact = "GetContact"
3338
3339// GetContactRequest generates a "aws/request.Request" representing the
3340// client's request for the GetContact operation. The "output" return
3341// value will be populated with the request's response once the request completes
3342// successfully.
3343//
3344// Use "Send" method on the returned Request to send the API call to the service.
3345// the "output" return value is not valid until after Send returns without error.
3346//
3347// See GetContact for more information on using the GetContact
3348// API call, and error handling.
3349//
3350// This method is useful when you want to inject custom logic or configuration
3351// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3352//
3353//
3354//    // Example sending a request using the GetContactRequest method.
3355//    req, resp := client.GetContactRequest(params)
3356//
3357//    err := req.Send()
3358//    if err == nil { // resp is now filled
3359//        fmt.Println(resp)
3360//    }
3361//
3362// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetContact
3363func (c *AlexaForBusiness) GetContactRequest(input *GetContactInput) (req *request.Request, output *GetContactOutput) {
3364	op := &request.Operation{
3365		Name:       opGetContact,
3366		HTTPMethod: "POST",
3367		HTTPPath:   "/",
3368	}
3369
3370	if input == nil {
3371		input = &GetContactInput{}
3372	}
3373
3374	output = &GetContactOutput{}
3375	req = c.newRequest(op, input, output)
3376	return
3377}
3378
3379// GetContact API operation for Alexa For Business.
3380//
3381// Gets the contact details by the contact ARN.
3382//
3383// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3384// with awserr.Error's Code and Message methods to get detailed information about
3385// the error.
3386//
3387// See the AWS API reference guide for Alexa For Business's
3388// API operation GetContact for usage and error information.
3389//
3390// Returned Error Types:
3391//   * NotFoundException
3392//   The resource is not found.
3393//
3394// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetContact
3395func (c *AlexaForBusiness) GetContact(input *GetContactInput) (*GetContactOutput, error) {
3396	req, out := c.GetContactRequest(input)
3397	return out, req.Send()
3398}
3399
3400// GetContactWithContext is the same as GetContact with the addition of
3401// the ability to pass a context and additional request options.
3402//
3403// See GetContact for details on how to use this API operation.
3404//
3405// The context must be non-nil and will be used for request cancellation. If
3406// the context is nil a panic will occur. In the future the SDK may create
3407// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3408// for more information on using Contexts.
3409func (c *AlexaForBusiness) GetContactWithContext(ctx aws.Context, input *GetContactInput, opts ...request.Option) (*GetContactOutput, error) {
3410	req, out := c.GetContactRequest(input)
3411	req.SetContext(ctx)
3412	req.ApplyOptions(opts...)
3413	return out, req.Send()
3414}
3415
3416const opGetDevice = "GetDevice"
3417
3418// GetDeviceRequest generates a "aws/request.Request" representing the
3419// client's request for the GetDevice operation. The "output" return
3420// value will be populated with the request's response once the request completes
3421// successfully.
3422//
3423// Use "Send" method on the returned Request to send the API call to the service.
3424// the "output" return value is not valid until after Send returns without error.
3425//
3426// See GetDevice for more information on using the GetDevice
3427// API call, and error handling.
3428//
3429// This method is useful when you want to inject custom logic or configuration
3430// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3431//
3432//
3433//    // Example sending a request using the GetDeviceRequest method.
3434//    req, resp := client.GetDeviceRequest(params)
3435//
3436//    err := req.Send()
3437//    if err == nil { // resp is now filled
3438//        fmt.Println(resp)
3439//    }
3440//
3441// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetDevice
3442func (c *AlexaForBusiness) GetDeviceRequest(input *GetDeviceInput) (req *request.Request, output *GetDeviceOutput) {
3443	op := &request.Operation{
3444		Name:       opGetDevice,
3445		HTTPMethod: "POST",
3446		HTTPPath:   "/",
3447	}
3448
3449	if input == nil {
3450		input = &GetDeviceInput{}
3451	}
3452
3453	output = &GetDeviceOutput{}
3454	req = c.newRequest(op, input, output)
3455	return
3456}
3457
3458// GetDevice API operation for Alexa For Business.
3459//
3460// Gets the details of a device by device ARN.
3461//
3462// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3463// with awserr.Error's Code and Message methods to get detailed information about
3464// the error.
3465//
3466// See the AWS API reference guide for Alexa For Business's
3467// API operation GetDevice for usage and error information.
3468//
3469// Returned Error Types:
3470//   * NotFoundException
3471//   The resource is not found.
3472//
3473// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetDevice
3474func (c *AlexaForBusiness) GetDevice(input *GetDeviceInput) (*GetDeviceOutput, error) {
3475	req, out := c.GetDeviceRequest(input)
3476	return out, req.Send()
3477}
3478
3479// GetDeviceWithContext is the same as GetDevice with the addition of
3480// the ability to pass a context and additional request options.
3481//
3482// See GetDevice for details on how to use this API operation.
3483//
3484// The context must be non-nil and will be used for request cancellation. If
3485// the context is nil a panic will occur. In the future the SDK may create
3486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3487// for more information on using Contexts.
3488func (c *AlexaForBusiness) GetDeviceWithContext(ctx aws.Context, input *GetDeviceInput, opts ...request.Option) (*GetDeviceOutput, error) {
3489	req, out := c.GetDeviceRequest(input)
3490	req.SetContext(ctx)
3491	req.ApplyOptions(opts...)
3492	return out, req.Send()
3493}
3494
3495const opGetGateway = "GetGateway"
3496
3497// GetGatewayRequest generates a "aws/request.Request" representing the
3498// client's request for the GetGateway operation. The "output" return
3499// value will be populated with the request's response once the request completes
3500// successfully.
3501//
3502// Use "Send" method on the returned Request to send the API call to the service.
3503// the "output" return value is not valid until after Send returns without error.
3504//
3505// See GetGateway for more information on using the GetGateway
3506// API call, and error handling.
3507//
3508// This method is useful when you want to inject custom logic or configuration
3509// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3510//
3511//
3512//    // Example sending a request using the GetGatewayRequest method.
3513//    req, resp := client.GetGatewayRequest(params)
3514//
3515//    err := req.Send()
3516//    if err == nil { // resp is now filled
3517//        fmt.Println(resp)
3518//    }
3519//
3520// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetGateway
3521func (c *AlexaForBusiness) GetGatewayRequest(input *GetGatewayInput) (req *request.Request, output *GetGatewayOutput) {
3522	op := &request.Operation{
3523		Name:       opGetGateway,
3524		HTTPMethod: "POST",
3525		HTTPPath:   "/",
3526	}
3527
3528	if input == nil {
3529		input = &GetGatewayInput{}
3530	}
3531
3532	output = &GetGatewayOutput{}
3533	req = c.newRequest(op, input, output)
3534	return
3535}
3536
3537// GetGateway API operation for Alexa For Business.
3538//
3539// Retrieves the details of a gateway.
3540//
3541// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3542// with awserr.Error's Code and Message methods to get detailed information about
3543// the error.
3544//
3545// See the AWS API reference guide for Alexa For Business's
3546// API operation GetGateway for usage and error information.
3547//
3548// Returned Error Types:
3549//   * NotFoundException
3550//   The resource is not found.
3551//
3552// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetGateway
3553func (c *AlexaForBusiness) GetGateway(input *GetGatewayInput) (*GetGatewayOutput, error) {
3554	req, out := c.GetGatewayRequest(input)
3555	return out, req.Send()
3556}
3557
3558// GetGatewayWithContext is the same as GetGateway with the addition of
3559// the ability to pass a context and additional request options.
3560//
3561// See GetGateway for details on how to use this API operation.
3562//
3563// The context must be non-nil and will be used for request cancellation. If
3564// the context is nil a panic will occur. In the future the SDK may create
3565// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3566// for more information on using Contexts.
3567func (c *AlexaForBusiness) GetGatewayWithContext(ctx aws.Context, input *GetGatewayInput, opts ...request.Option) (*GetGatewayOutput, error) {
3568	req, out := c.GetGatewayRequest(input)
3569	req.SetContext(ctx)
3570	req.ApplyOptions(opts...)
3571	return out, req.Send()
3572}
3573
3574const opGetGatewayGroup = "GetGatewayGroup"
3575
3576// GetGatewayGroupRequest generates a "aws/request.Request" representing the
3577// client's request for the GetGatewayGroup operation. The "output" return
3578// value will be populated with the request's response once the request completes
3579// successfully.
3580//
3581// Use "Send" method on the returned Request to send the API call to the service.
3582// the "output" return value is not valid until after Send returns without error.
3583//
3584// See GetGatewayGroup for more information on using the GetGatewayGroup
3585// API call, and error handling.
3586//
3587// This method is useful when you want to inject custom logic or configuration
3588// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3589//
3590//
3591//    // Example sending a request using the GetGatewayGroupRequest method.
3592//    req, resp := client.GetGatewayGroupRequest(params)
3593//
3594//    err := req.Send()
3595//    if err == nil { // resp is now filled
3596//        fmt.Println(resp)
3597//    }
3598//
3599// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetGatewayGroup
3600func (c *AlexaForBusiness) GetGatewayGroupRequest(input *GetGatewayGroupInput) (req *request.Request, output *GetGatewayGroupOutput) {
3601	op := &request.Operation{
3602		Name:       opGetGatewayGroup,
3603		HTTPMethod: "POST",
3604		HTTPPath:   "/",
3605	}
3606
3607	if input == nil {
3608		input = &GetGatewayGroupInput{}
3609	}
3610
3611	output = &GetGatewayGroupOutput{}
3612	req = c.newRequest(op, input, output)
3613	return
3614}
3615
3616// GetGatewayGroup API operation for Alexa For Business.
3617//
3618// Retrieves the details of a gateway group.
3619//
3620// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3621// with awserr.Error's Code and Message methods to get detailed information about
3622// the error.
3623//
3624// See the AWS API reference guide for Alexa For Business's
3625// API operation GetGatewayGroup for usage and error information.
3626//
3627// Returned Error Types:
3628//   * NotFoundException
3629//   The resource is not found.
3630//
3631// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetGatewayGroup
3632func (c *AlexaForBusiness) GetGatewayGroup(input *GetGatewayGroupInput) (*GetGatewayGroupOutput, error) {
3633	req, out := c.GetGatewayGroupRequest(input)
3634	return out, req.Send()
3635}
3636
3637// GetGatewayGroupWithContext is the same as GetGatewayGroup with the addition of
3638// the ability to pass a context and additional request options.
3639//
3640// See GetGatewayGroup for details on how to use this API operation.
3641//
3642// The context must be non-nil and will be used for request cancellation. If
3643// the context is nil a panic will occur. In the future the SDK may create
3644// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3645// for more information on using Contexts.
3646func (c *AlexaForBusiness) GetGatewayGroupWithContext(ctx aws.Context, input *GetGatewayGroupInput, opts ...request.Option) (*GetGatewayGroupOutput, error) {
3647	req, out := c.GetGatewayGroupRequest(input)
3648	req.SetContext(ctx)
3649	req.ApplyOptions(opts...)
3650	return out, req.Send()
3651}
3652
3653const opGetInvitationConfiguration = "GetInvitationConfiguration"
3654
3655// GetInvitationConfigurationRequest generates a "aws/request.Request" representing the
3656// client's request for the GetInvitationConfiguration operation. The "output" return
3657// value will be populated with the request's response once the request completes
3658// successfully.
3659//
3660// Use "Send" method on the returned Request to send the API call to the service.
3661// the "output" return value is not valid until after Send returns without error.
3662//
3663// See GetInvitationConfiguration for more information on using the GetInvitationConfiguration
3664// API call, and error handling.
3665//
3666// This method is useful when you want to inject custom logic or configuration
3667// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3668//
3669//
3670//    // Example sending a request using the GetInvitationConfigurationRequest method.
3671//    req, resp := client.GetInvitationConfigurationRequest(params)
3672//
3673//    err := req.Send()
3674//    if err == nil { // resp is now filled
3675//        fmt.Println(resp)
3676//    }
3677//
3678// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetInvitationConfiguration
3679func (c *AlexaForBusiness) GetInvitationConfigurationRequest(input *GetInvitationConfigurationInput) (req *request.Request, output *GetInvitationConfigurationOutput) {
3680	op := &request.Operation{
3681		Name:       opGetInvitationConfiguration,
3682		HTTPMethod: "POST",
3683		HTTPPath:   "/",
3684	}
3685
3686	if input == nil {
3687		input = &GetInvitationConfigurationInput{}
3688	}
3689
3690	output = &GetInvitationConfigurationOutput{}
3691	req = c.newRequest(op, input, output)
3692	return
3693}
3694
3695// GetInvitationConfiguration API operation for Alexa For Business.
3696//
3697// Retrieves the configured values for the user enrollment invitation email
3698// template.
3699//
3700// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3701// with awserr.Error's Code and Message methods to get detailed information about
3702// the error.
3703//
3704// See the AWS API reference guide for Alexa For Business's
3705// API operation GetInvitationConfiguration for usage and error information.
3706//
3707// Returned Error Types:
3708//   * NotFoundException
3709//   The resource is not found.
3710//
3711// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetInvitationConfiguration
3712func (c *AlexaForBusiness) GetInvitationConfiguration(input *GetInvitationConfigurationInput) (*GetInvitationConfigurationOutput, error) {
3713	req, out := c.GetInvitationConfigurationRequest(input)
3714	return out, req.Send()
3715}
3716
3717// GetInvitationConfigurationWithContext is the same as GetInvitationConfiguration with the addition of
3718// the ability to pass a context and additional request options.
3719//
3720// See GetInvitationConfiguration for details on how to use this API operation.
3721//
3722// The context must be non-nil and will be used for request cancellation. If
3723// the context is nil a panic will occur. In the future the SDK may create
3724// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3725// for more information on using Contexts.
3726func (c *AlexaForBusiness) GetInvitationConfigurationWithContext(ctx aws.Context, input *GetInvitationConfigurationInput, opts ...request.Option) (*GetInvitationConfigurationOutput, error) {
3727	req, out := c.GetInvitationConfigurationRequest(input)
3728	req.SetContext(ctx)
3729	req.ApplyOptions(opts...)
3730	return out, req.Send()
3731}
3732
3733const opGetNetworkProfile = "GetNetworkProfile"
3734
3735// GetNetworkProfileRequest generates a "aws/request.Request" representing the
3736// client's request for the GetNetworkProfile operation. The "output" return
3737// value will be populated with the request's response once the request completes
3738// successfully.
3739//
3740// Use "Send" method on the returned Request to send the API call to the service.
3741// the "output" return value is not valid until after Send returns without error.
3742//
3743// See GetNetworkProfile for more information on using the GetNetworkProfile
3744// API call, and error handling.
3745//
3746// This method is useful when you want to inject custom logic or configuration
3747// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3748//
3749//
3750//    // Example sending a request using the GetNetworkProfileRequest method.
3751//    req, resp := client.GetNetworkProfileRequest(params)
3752//
3753//    err := req.Send()
3754//    if err == nil { // resp is now filled
3755//        fmt.Println(resp)
3756//    }
3757//
3758// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetNetworkProfile
3759func (c *AlexaForBusiness) GetNetworkProfileRequest(input *GetNetworkProfileInput) (req *request.Request, output *GetNetworkProfileOutput) {
3760	op := &request.Operation{
3761		Name:       opGetNetworkProfile,
3762		HTTPMethod: "POST",
3763		HTTPPath:   "/",
3764	}
3765
3766	if input == nil {
3767		input = &GetNetworkProfileInput{}
3768	}
3769
3770	output = &GetNetworkProfileOutput{}
3771	req = c.newRequest(op, input, output)
3772	return
3773}
3774
3775// GetNetworkProfile API operation for Alexa For Business.
3776//
3777// Gets the network profile details by the network profile ARN.
3778//
3779// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3780// with awserr.Error's Code and Message methods to get detailed information about
3781// the error.
3782//
3783// See the AWS API reference guide for Alexa For Business's
3784// API operation GetNetworkProfile for usage and error information.
3785//
3786// Returned Error Types:
3787//   * NotFoundException
3788//   The resource is not found.
3789//
3790//   * InvalidSecretsManagerResourceException
3791//   A password in SecretsManager is in an invalid state.
3792//
3793// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetNetworkProfile
3794func (c *AlexaForBusiness) GetNetworkProfile(input *GetNetworkProfileInput) (*GetNetworkProfileOutput, error) {
3795	req, out := c.GetNetworkProfileRequest(input)
3796	return out, req.Send()
3797}
3798
3799// GetNetworkProfileWithContext is the same as GetNetworkProfile with the addition of
3800// the ability to pass a context and additional request options.
3801//
3802// See GetNetworkProfile for details on how to use this API operation.
3803//
3804// The context must be non-nil and will be used for request cancellation. If
3805// the context is nil a panic will occur. In the future the SDK may create
3806// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3807// for more information on using Contexts.
3808func (c *AlexaForBusiness) GetNetworkProfileWithContext(ctx aws.Context, input *GetNetworkProfileInput, opts ...request.Option) (*GetNetworkProfileOutput, error) {
3809	req, out := c.GetNetworkProfileRequest(input)
3810	req.SetContext(ctx)
3811	req.ApplyOptions(opts...)
3812	return out, req.Send()
3813}
3814
3815const opGetProfile = "GetProfile"
3816
3817// GetProfileRequest generates a "aws/request.Request" representing the
3818// client's request for the GetProfile operation. The "output" return
3819// value will be populated with the request's response once the request completes
3820// successfully.
3821//
3822// Use "Send" method on the returned Request to send the API call to the service.
3823// the "output" return value is not valid until after Send returns without error.
3824//
3825// See GetProfile for more information on using the GetProfile
3826// API call, and error handling.
3827//
3828// This method is useful when you want to inject custom logic or configuration
3829// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3830//
3831//
3832//    // Example sending a request using the GetProfileRequest method.
3833//    req, resp := client.GetProfileRequest(params)
3834//
3835//    err := req.Send()
3836//    if err == nil { // resp is now filled
3837//        fmt.Println(resp)
3838//    }
3839//
3840// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetProfile
3841func (c *AlexaForBusiness) GetProfileRequest(input *GetProfileInput) (req *request.Request, output *GetProfileOutput) {
3842	op := &request.Operation{
3843		Name:       opGetProfile,
3844		HTTPMethod: "POST",
3845		HTTPPath:   "/",
3846	}
3847
3848	if input == nil {
3849		input = &GetProfileInput{}
3850	}
3851
3852	output = &GetProfileOutput{}
3853	req = c.newRequest(op, input, output)
3854	return
3855}
3856
3857// GetProfile API operation for Alexa For Business.
3858//
3859// Gets the details of a room profile by profile ARN.
3860//
3861// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3862// with awserr.Error's Code and Message methods to get detailed information about
3863// the error.
3864//
3865// See the AWS API reference guide for Alexa For Business's
3866// API operation GetProfile for usage and error information.
3867//
3868// Returned Error Types:
3869//   * NotFoundException
3870//   The resource is not found.
3871//
3872// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetProfile
3873func (c *AlexaForBusiness) GetProfile(input *GetProfileInput) (*GetProfileOutput, error) {
3874	req, out := c.GetProfileRequest(input)
3875	return out, req.Send()
3876}
3877
3878// GetProfileWithContext is the same as GetProfile with the addition of
3879// the ability to pass a context and additional request options.
3880//
3881// See GetProfile for details on how to use this API operation.
3882//
3883// The context must be non-nil and will be used for request cancellation. If
3884// the context is nil a panic will occur. In the future the SDK may create
3885// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3886// for more information on using Contexts.
3887func (c *AlexaForBusiness) GetProfileWithContext(ctx aws.Context, input *GetProfileInput, opts ...request.Option) (*GetProfileOutput, error) {
3888	req, out := c.GetProfileRequest(input)
3889	req.SetContext(ctx)
3890	req.ApplyOptions(opts...)
3891	return out, req.Send()
3892}
3893
3894const opGetRoom = "GetRoom"
3895
3896// GetRoomRequest generates a "aws/request.Request" representing the
3897// client's request for the GetRoom operation. The "output" return
3898// value will be populated with the request's response once the request completes
3899// successfully.
3900//
3901// Use "Send" method on the returned Request to send the API call to the service.
3902// the "output" return value is not valid until after Send returns without error.
3903//
3904// See GetRoom for more information on using the GetRoom
3905// API call, and error handling.
3906//
3907// This method is useful when you want to inject custom logic or configuration
3908// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3909//
3910//
3911//    // Example sending a request using the GetRoomRequest method.
3912//    req, resp := client.GetRoomRequest(params)
3913//
3914//    err := req.Send()
3915//    if err == nil { // resp is now filled
3916//        fmt.Println(resp)
3917//    }
3918//
3919// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetRoom
3920func (c *AlexaForBusiness) GetRoomRequest(input *GetRoomInput) (req *request.Request, output *GetRoomOutput) {
3921	op := &request.Operation{
3922		Name:       opGetRoom,
3923		HTTPMethod: "POST",
3924		HTTPPath:   "/",
3925	}
3926
3927	if input == nil {
3928		input = &GetRoomInput{}
3929	}
3930
3931	output = &GetRoomOutput{}
3932	req = c.newRequest(op, input, output)
3933	return
3934}
3935
3936// GetRoom API operation for Alexa For Business.
3937//
3938// Gets room details by room ARN.
3939//
3940// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3941// with awserr.Error's Code and Message methods to get detailed information about
3942// the error.
3943//
3944// See the AWS API reference guide for Alexa For Business's
3945// API operation GetRoom for usage and error information.
3946//
3947// Returned Error Types:
3948//   * NotFoundException
3949//   The resource is not found.
3950//
3951// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetRoom
3952func (c *AlexaForBusiness) GetRoom(input *GetRoomInput) (*GetRoomOutput, error) {
3953	req, out := c.GetRoomRequest(input)
3954	return out, req.Send()
3955}
3956
3957// GetRoomWithContext is the same as GetRoom with the addition of
3958// the ability to pass a context and additional request options.
3959//
3960// See GetRoom for details on how to use this API operation.
3961//
3962// The context must be non-nil and will be used for request cancellation. If
3963// the context is nil a panic will occur. In the future the SDK may create
3964// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3965// for more information on using Contexts.
3966func (c *AlexaForBusiness) GetRoomWithContext(ctx aws.Context, input *GetRoomInput, opts ...request.Option) (*GetRoomOutput, error) {
3967	req, out := c.GetRoomRequest(input)
3968	req.SetContext(ctx)
3969	req.ApplyOptions(opts...)
3970	return out, req.Send()
3971}
3972
3973const opGetRoomSkillParameter = "GetRoomSkillParameter"
3974
3975// GetRoomSkillParameterRequest generates a "aws/request.Request" representing the
3976// client's request for the GetRoomSkillParameter operation. The "output" return
3977// value will be populated with the request's response once the request completes
3978// successfully.
3979//
3980// Use "Send" method on the returned Request to send the API call to the service.
3981// the "output" return value is not valid until after Send returns without error.
3982//
3983// See GetRoomSkillParameter for more information on using the GetRoomSkillParameter
3984// API call, and error handling.
3985//
3986// This method is useful when you want to inject custom logic or configuration
3987// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3988//
3989//
3990//    // Example sending a request using the GetRoomSkillParameterRequest method.
3991//    req, resp := client.GetRoomSkillParameterRequest(params)
3992//
3993//    err := req.Send()
3994//    if err == nil { // resp is now filled
3995//        fmt.Println(resp)
3996//    }
3997//
3998// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetRoomSkillParameter
3999func (c *AlexaForBusiness) GetRoomSkillParameterRequest(input *GetRoomSkillParameterInput) (req *request.Request, output *GetRoomSkillParameterOutput) {
4000	op := &request.Operation{
4001		Name:       opGetRoomSkillParameter,
4002		HTTPMethod: "POST",
4003		HTTPPath:   "/",
4004	}
4005
4006	if input == nil {
4007		input = &GetRoomSkillParameterInput{}
4008	}
4009
4010	output = &GetRoomSkillParameterOutput{}
4011	req = c.newRequest(op, input, output)
4012	return
4013}
4014
4015// GetRoomSkillParameter API operation for Alexa For Business.
4016//
4017// Gets room skill parameter details by room, skill, and parameter key ARN.
4018//
4019// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4020// with awserr.Error's Code and Message methods to get detailed information about
4021// the error.
4022//
4023// See the AWS API reference guide for Alexa For Business's
4024// API operation GetRoomSkillParameter for usage and error information.
4025//
4026// Returned Error Types:
4027//   * NotFoundException
4028//   The resource is not found.
4029//
4030// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetRoomSkillParameter
4031func (c *AlexaForBusiness) GetRoomSkillParameter(input *GetRoomSkillParameterInput) (*GetRoomSkillParameterOutput, error) {
4032	req, out := c.GetRoomSkillParameterRequest(input)
4033	return out, req.Send()
4034}
4035
4036// GetRoomSkillParameterWithContext is the same as GetRoomSkillParameter with the addition of
4037// the ability to pass a context and additional request options.
4038//
4039// See GetRoomSkillParameter for details on how to use this API operation.
4040//
4041// The context must be non-nil and will be used for request cancellation. If
4042// the context is nil a panic will occur. In the future the SDK may create
4043// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4044// for more information on using Contexts.
4045func (c *AlexaForBusiness) GetRoomSkillParameterWithContext(ctx aws.Context, input *GetRoomSkillParameterInput, opts ...request.Option) (*GetRoomSkillParameterOutput, error) {
4046	req, out := c.GetRoomSkillParameterRequest(input)
4047	req.SetContext(ctx)
4048	req.ApplyOptions(opts...)
4049	return out, req.Send()
4050}
4051
4052const opGetSkillGroup = "GetSkillGroup"
4053
4054// GetSkillGroupRequest generates a "aws/request.Request" representing the
4055// client's request for the GetSkillGroup operation. The "output" return
4056// value will be populated with the request's response once the request completes
4057// successfully.
4058//
4059// Use "Send" method on the returned Request to send the API call to the service.
4060// the "output" return value is not valid until after Send returns without error.
4061//
4062// See GetSkillGroup for more information on using the GetSkillGroup
4063// API call, and error handling.
4064//
4065// This method is useful when you want to inject custom logic or configuration
4066// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4067//
4068//
4069//    // Example sending a request using the GetSkillGroupRequest method.
4070//    req, resp := client.GetSkillGroupRequest(params)
4071//
4072//    err := req.Send()
4073//    if err == nil { // resp is now filled
4074//        fmt.Println(resp)
4075//    }
4076//
4077// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetSkillGroup
4078func (c *AlexaForBusiness) GetSkillGroupRequest(input *GetSkillGroupInput) (req *request.Request, output *GetSkillGroupOutput) {
4079	op := &request.Operation{
4080		Name:       opGetSkillGroup,
4081		HTTPMethod: "POST",
4082		HTTPPath:   "/",
4083	}
4084
4085	if input == nil {
4086		input = &GetSkillGroupInput{}
4087	}
4088
4089	output = &GetSkillGroupOutput{}
4090	req = c.newRequest(op, input, output)
4091	return
4092}
4093
4094// GetSkillGroup API operation for Alexa For Business.
4095//
4096// Gets skill group details by skill group ARN.
4097//
4098// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4099// with awserr.Error's Code and Message methods to get detailed information about
4100// the error.
4101//
4102// See the AWS API reference guide for Alexa For Business's
4103// API operation GetSkillGroup for usage and error information.
4104//
4105// Returned Error Types:
4106//   * NotFoundException
4107//   The resource is not found.
4108//
4109// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/GetSkillGroup
4110func (c *AlexaForBusiness) GetSkillGroup(input *GetSkillGroupInput) (*GetSkillGroupOutput, error) {
4111	req, out := c.GetSkillGroupRequest(input)
4112	return out, req.Send()
4113}
4114
4115// GetSkillGroupWithContext is the same as GetSkillGroup with the addition of
4116// the ability to pass a context and additional request options.
4117//
4118// See GetSkillGroup for details on how to use this API operation.
4119//
4120// The context must be non-nil and will be used for request cancellation. If
4121// the context is nil a panic will occur. In the future the SDK may create
4122// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4123// for more information on using Contexts.
4124func (c *AlexaForBusiness) GetSkillGroupWithContext(ctx aws.Context, input *GetSkillGroupInput, opts ...request.Option) (*GetSkillGroupOutput, error) {
4125	req, out := c.GetSkillGroupRequest(input)
4126	req.SetContext(ctx)
4127	req.ApplyOptions(opts...)
4128	return out, req.Send()
4129}
4130
4131const opListBusinessReportSchedules = "ListBusinessReportSchedules"
4132
4133// ListBusinessReportSchedulesRequest generates a "aws/request.Request" representing the
4134// client's request for the ListBusinessReportSchedules operation. The "output" return
4135// value will be populated with the request's response once the request completes
4136// successfully.
4137//
4138// Use "Send" method on the returned Request to send the API call to the service.
4139// the "output" return value is not valid until after Send returns without error.
4140//
4141// See ListBusinessReportSchedules for more information on using the ListBusinessReportSchedules
4142// API call, and error handling.
4143//
4144// This method is useful when you want to inject custom logic or configuration
4145// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4146//
4147//
4148//    // Example sending a request using the ListBusinessReportSchedulesRequest method.
4149//    req, resp := client.ListBusinessReportSchedulesRequest(params)
4150//
4151//    err := req.Send()
4152//    if err == nil { // resp is now filled
4153//        fmt.Println(resp)
4154//    }
4155//
4156// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListBusinessReportSchedules
4157func (c *AlexaForBusiness) ListBusinessReportSchedulesRequest(input *ListBusinessReportSchedulesInput) (req *request.Request, output *ListBusinessReportSchedulesOutput) {
4158	op := &request.Operation{
4159		Name:       opListBusinessReportSchedules,
4160		HTTPMethod: "POST",
4161		HTTPPath:   "/",
4162		Paginator: &request.Paginator{
4163			InputTokens:     []string{"NextToken"},
4164			OutputTokens:    []string{"NextToken"},
4165			LimitToken:      "MaxResults",
4166			TruncationToken: "",
4167		},
4168	}
4169
4170	if input == nil {
4171		input = &ListBusinessReportSchedulesInput{}
4172	}
4173
4174	output = &ListBusinessReportSchedulesOutput{}
4175	req = c.newRequest(op, input, output)
4176	return
4177}
4178
4179// ListBusinessReportSchedules API operation for Alexa For Business.
4180//
4181// Lists the details of the schedules that a user configured. A download URL
4182// of the report associated with each schedule is returned every time this action
4183// is called. A new download URL is returned each time, and is valid for 24
4184// hours.
4185//
4186// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4187// with awserr.Error's Code and Message methods to get detailed information about
4188// the error.
4189//
4190// See the AWS API reference guide for Alexa For Business's
4191// API operation ListBusinessReportSchedules for usage and error information.
4192// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListBusinessReportSchedules
4193func (c *AlexaForBusiness) ListBusinessReportSchedules(input *ListBusinessReportSchedulesInput) (*ListBusinessReportSchedulesOutput, error) {
4194	req, out := c.ListBusinessReportSchedulesRequest(input)
4195	return out, req.Send()
4196}
4197
4198// ListBusinessReportSchedulesWithContext is the same as ListBusinessReportSchedules with the addition of
4199// the ability to pass a context and additional request options.
4200//
4201// See ListBusinessReportSchedules for details on how to use this API operation.
4202//
4203// The context must be non-nil and will be used for request cancellation. If
4204// the context is nil a panic will occur. In the future the SDK may create
4205// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4206// for more information on using Contexts.
4207func (c *AlexaForBusiness) ListBusinessReportSchedulesWithContext(ctx aws.Context, input *ListBusinessReportSchedulesInput, opts ...request.Option) (*ListBusinessReportSchedulesOutput, error) {
4208	req, out := c.ListBusinessReportSchedulesRequest(input)
4209	req.SetContext(ctx)
4210	req.ApplyOptions(opts...)
4211	return out, req.Send()
4212}
4213
4214// ListBusinessReportSchedulesPages iterates over the pages of a ListBusinessReportSchedules operation,
4215// calling the "fn" function with the response data for each page. To stop
4216// iterating, return false from the fn function.
4217//
4218// See ListBusinessReportSchedules method for more information on how to use this operation.
4219//
4220// Note: This operation can generate multiple requests to a service.
4221//
4222//    // Example iterating over at most 3 pages of a ListBusinessReportSchedules operation.
4223//    pageNum := 0
4224//    err := client.ListBusinessReportSchedulesPages(params,
4225//        func(page *alexaforbusiness.ListBusinessReportSchedulesOutput, lastPage bool) bool {
4226//            pageNum++
4227//            fmt.Println(page)
4228//            return pageNum <= 3
4229//        })
4230//
4231func (c *AlexaForBusiness) ListBusinessReportSchedulesPages(input *ListBusinessReportSchedulesInput, fn func(*ListBusinessReportSchedulesOutput, bool) bool) error {
4232	return c.ListBusinessReportSchedulesPagesWithContext(aws.BackgroundContext(), input, fn)
4233}
4234
4235// ListBusinessReportSchedulesPagesWithContext same as ListBusinessReportSchedulesPages except
4236// it takes a Context and allows setting request options on the pages.
4237//
4238// The context must be non-nil and will be used for request cancellation. If
4239// the context is nil a panic will occur. In the future the SDK may create
4240// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4241// for more information on using Contexts.
4242func (c *AlexaForBusiness) ListBusinessReportSchedulesPagesWithContext(ctx aws.Context, input *ListBusinessReportSchedulesInput, fn func(*ListBusinessReportSchedulesOutput, bool) bool, opts ...request.Option) error {
4243	p := request.Pagination{
4244		NewRequest: func() (*request.Request, error) {
4245			var inCpy *ListBusinessReportSchedulesInput
4246			if input != nil {
4247				tmp := *input
4248				inCpy = &tmp
4249			}
4250			req, _ := c.ListBusinessReportSchedulesRequest(inCpy)
4251			req.SetContext(ctx)
4252			req.ApplyOptions(opts...)
4253			return req, nil
4254		},
4255	}
4256
4257	for p.Next() {
4258		if !fn(p.Page().(*ListBusinessReportSchedulesOutput), !p.HasNextPage()) {
4259			break
4260		}
4261	}
4262
4263	return p.Err()
4264}
4265
4266const opListConferenceProviders = "ListConferenceProviders"
4267
4268// ListConferenceProvidersRequest generates a "aws/request.Request" representing the
4269// client's request for the ListConferenceProviders operation. The "output" return
4270// value will be populated with the request's response once the request completes
4271// successfully.
4272//
4273// Use "Send" method on the returned Request to send the API call to the service.
4274// the "output" return value is not valid until after Send returns without error.
4275//
4276// See ListConferenceProviders for more information on using the ListConferenceProviders
4277// API call, and error handling.
4278//
4279// This method is useful when you want to inject custom logic or configuration
4280// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4281//
4282//
4283//    // Example sending a request using the ListConferenceProvidersRequest method.
4284//    req, resp := client.ListConferenceProvidersRequest(params)
4285//
4286//    err := req.Send()
4287//    if err == nil { // resp is now filled
4288//        fmt.Println(resp)
4289//    }
4290//
4291// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListConferenceProviders
4292func (c *AlexaForBusiness) ListConferenceProvidersRequest(input *ListConferenceProvidersInput) (req *request.Request, output *ListConferenceProvidersOutput) {
4293	op := &request.Operation{
4294		Name:       opListConferenceProviders,
4295		HTTPMethod: "POST",
4296		HTTPPath:   "/",
4297		Paginator: &request.Paginator{
4298			InputTokens:     []string{"NextToken"},
4299			OutputTokens:    []string{"NextToken"},
4300			LimitToken:      "MaxResults",
4301			TruncationToken: "",
4302		},
4303	}
4304
4305	if input == nil {
4306		input = &ListConferenceProvidersInput{}
4307	}
4308
4309	output = &ListConferenceProvidersOutput{}
4310	req = c.newRequest(op, input, output)
4311	return
4312}
4313
4314// ListConferenceProviders API operation for Alexa For Business.
4315//
4316// Lists conference providers under a specific AWS account.
4317//
4318// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4319// with awserr.Error's Code and Message methods to get detailed information about
4320// the error.
4321//
4322// See the AWS API reference guide for Alexa For Business's
4323// API operation ListConferenceProviders for usage and error information.
4324// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListConferenceProviders
4325func (c *AlexaForBusiness) ListConferenceProviders(input *ListConferenceProvidersInput) (*ListConferenceProvidersOutput, error) {
4326	req, out := c.ListConferenceProvidersRequest(input)
4327	return out, req.Send()
4328}
4329
4330// ListConferenceProvidersWithContext is the same as ListConferenceProviders with the addition of
4331// the ability to pass a context and additional request options.
4332//
4333// See ListConferenceProviders for details on how to use this API operation.
4334//
4335// The context must be non-nil and will be used for request cancellation. If
4336// the context is nil a panic will occur. In the future the SDK may create
4337// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4338// for more information on using Contexts.
4339func (c *AlexaForBusiness) ListConferenceProvidersWithContext(ctx aws.Context, input *ListConferenceProvidersInput, opts ...request.Option) (*ListConferenceProvidersOutput, error) {
4340	req, out := c.ListConferenceProvidersRequest(input)
4341	req.SetContext(ctx)
4342	req.ApplyOptions(opts...)
4343	return out, req.Send()
4344}
4345
4346// ListConferenceProvidersPages iterates over the pages of a ListConferenceProviders operation,
4347// calling the "fn" function with the response data for each page. To stop
4348// iterating, return false from the fn function.
4349//
4350// See ListConferenceProviders method for more information on how to use this operation.
4351//
4352// Note: This operation can generate multiple requests to a service.
4353//
4354//    // Example iterating over at most 3 pages of a ListConferenceProviders operation.
4355//    pageNum := 0
4356//    err := client.ListConferenceProvidersPages(params,
4357//        func(page *alexaforbusiness.ListConferenceProvidersOutput, lastPage bool) bool {
4358//            pageNum++
4359//            fmt.Println(page)
4360//            return pageNum <= 3
4361//        })
4362//
4363func (c *AlexaForBusiness) ListConferenceProvidersPages(input *ListConferenceProvidersInput, fn func(*ListConferenceProvidersOutput, bool) bool) error {
4364	return c.ListConferenceProvidersPagesWithContext(aws.BackgroundContext(), input, fn)
4365}
4366
4367// ListConferenceProvidersPagesWithContext same as ListConferenceProvidersPages except
4368// it takes a Context and allows setting request options on the pages.
4369//
4370// The context must be non-nil and will be used for request cancellation. If
4371// the context is nil a panic will occur. In the future the SDK may create
4372// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4373// for more information on using Contexts.
4374func (c *AlexaForBusiness) ListConferenceProvidersPagesWithContext(ctx aws.Context, input *ListConferenceProvidersInput, fn func(*ListConferenceProvidersOutput, bool) bool, opts ...request.Option) error {
4375	p := request.Pagination{
4376		NewRequest: func() (*request.Request, error) {
4377			var inCpy *ListConferenceProvidersInput
4378			if input != nil {
4379				tmp := *input
4380				inCpy = &tmp
4381			}
4382			req, _ := c.ListConferenceProvidersRequest(inCpy)
4383			req.SetContext(ctx)
4384			req.ApplyOptions(opts...)
4385			return req, nil
4386		},
4387	}
4388
4389	for p.Next() {
4390		if !fn(p.Page().(*ListConferenceProvidersOutput), !p.HasNextPage()) {
4391			break
4392		}
4393	}
4394
4395	return p.Err()
4396}
4397
4398const opListDeviceEvents = "ListDeviceEvents"
4399
4400// ListDeviceEventsRequest generates a "aws/request.Request" representing the
4401// client's request for the ListDeviceEvents operation. The "output" return
4402// value will be populated with the request's response once the request completes
4403// successfully.
4404//
4405// Use "Send" method on the returned Request to send the API call to the service.
4406// the "output" return value is not valid until after Send returns without error.
4407//
4408// See ListDeviceEvents for more information on using the ListDeviceEvents
4409// API call, and error handling.
4410//
4411// This method is useful when you want to inject custom logic or configuration
4412// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4413//
4414//
4415//    // Example sending a request using the ListDeviceEventsRequest method.
4416//    req, resp := client.ListDeviceEventsRequest(params)
4417//
4418//    err := req.Send()
4419//    if err == nil { // resp is now filled
4420//        fmt.Println(resp)
4421//    }
4422//
4423// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListDeviceEvents
4424func (c *AlexaForBusiness) ListDeviceEventsRequest(input *ListDeviceEventsInput) (req *request.Request, output *ListDeviceEventsOutput) {
4425	op := &request.Operation{
4426		Name:       opListDeviceEvents,
4427		HTTPMethod: "POST",
4428		HTTPPath:   "/",
4429		Paginator: &request.Paginator{
4430			InputTokens:     []string{"NextToken"},
4431			OutputTokens:    []string{"NextToken"},
4432			LimitToken:      "MaxResults",
4433			TruncationToken: "",
4434		},
4435	}
4436
4437	if input == nil {
4438		input = &ListDeviceEventsInput{}
4439	}
4440
4441	output = &ListDeviceEventsOutput{}
4442	req = c.newRequest(op, input, output)
4443	return
4444}
4445
4446// ListDeviceEvents API operation for Alexa For Business.
4447//
4448// Lists the device event history, including device connection status, for up
4449// to 30 days.
4450//
4451// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4452// with awserr.Error's Code and Message methods to get detailed information about
4453// the error.
4454//
4455// See the AWS API reference guide for Alexa For Business's
4456// API operation ListDeviceEvents for usage and error information.
4457//
4458// Returned Error Types:
4459//   * NotFoundException
4460//   The resource is not found.
4461//
4462// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListDeviceEvents
4463func (c *AlexaForBusiness) ListDeviceEvents(input *ListDeviceEventsInput) (*ListDeviceEventsOutput, error) {
4464	req, out := c.ListDeviceEventsRequest(input)
4465	return out, req.Send()
4466}
4467
4468// ListDeviceEventsWithContext is the same as ListDeviceEvents with the addition of
4469// the ability to pass a context and additional request options.
4470//
4471// See ListDeviceEvents for details on how to use this API operation.
4472//
4473// The context must be non-nil and will be used for request cancellation. If
4474// the context is nil a panic will occur. In the future the SDK may create
4475// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4476// for more information on using Contexts.
4477func (c *AlexaForBusiness) ListDeviceEventsWithContext(ctx aws.Context, input *ListDeviceEventsInput, opts ...request.Option) (*ListDeviceEventsOutput, error) {
4478	req, out := c.ListDeviceEventsRequest(input)
4479	req.SetContext(ctx)
4480	req.ApplyOptions(opts...)
4481	return out, req.Send()
4482}
4483
4484// ListDeviceEventsPages iterates over the pages of a ListDeviceEvents operation,
4485// calling the "fn" function with the response data for each page. To stop
4486// iterating, return false from the fn function.
4487//
4488// See ListDeviceEvents method for more information on how to use this operation.
4489//
4490// Note: This operation can generate multiple requests to a service.
4491//
4492//    // Example iterating over at most 3 pages of a ListDeviceEvents operation.
4493//    pageNum := 0
4494//    err := client.ListDeviceEventsPages(params,
4495//        func(page *alexaforbusiness.ListDeviceEventsOutput, lastPage bool) bool {
4496//            pageNum++
4497//            fmt.Println(page)
4498//            return pageNum <= 3
4499//        })
4500//
4501func (c *AlexaForBusiness) ListDeviceEventsPages(input *ListDeviceEventsInput, fn func(*ListDeviceEventsOutput, bool) bool) error {
4502	return c.ListDeviceEventsPagesWithContext(aws.BackgroundContext(), input, fn)
4503}
4504
4505// ListDeviceEventsPagesWithContext same as ListDeviceEventsPages except
4506// it takes a Context and allows setting request options on the pages.
4507//
4508// The context must be non-nil and will be used for request cancellation. If
4509// the context is nil a panic will occur. In the future the SDK may create
4510// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4511// for more information on using Contexts.
4512func (c *AlexaForBusiness) ListDeviceEventsPagesWithContext(ctx aws.Context, input *ListDeviceEventsInput, fn func(*ListDeviceEventsOutput, bool) bool, opts ...request.Option) error {
4513	p := request.Pagination{
4514		NewRequest: func() (*request.Request, error) {
4515			var inCpy *ListDeviceEventsInput
4516			if input != nil {
4517				tmp := *input
4518				inCpy = &tmp
4519			}
4520			req, _ := c.ListDeviceEventsRequest(inCpy)
4521			req.SetContext(ctx)
4522			req.ApplyOptions(opts...)
4523			return req, nil
4524		},
4525	}
4526
4527	for p.Next() {
4528		if !fn(p.Page().(*ListDeviceEventsOutput), !p.HasNextPage()) {
4529			break
4530		}
4531	}
4532
4533	return p.Err()
4534}
4535
4536const opListGatewayGroups = "ListGatewayGroups"
4537
4538// ListGatewayGroupsRequest generates a "aws/request.Request" representing the
4539// client's request for the ListGatewayGroups operation. The "output" return
4540// value will be populated with the request's response once the request completes
4541// successfully.
4542//
4543// Use "Send" method on the returned Request to send the API call to the service.
4544// the "output" return value is not valid until after Send returns without error.
4545//
4546// See ListGatewayGroups for more information on using the ListGatewayGroups
4547// API call, and error handling.
4548//
4549// This method is useful when you want to inject custom logic or configuration
4550// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4551//
4552//
4553//    // Example sending a request using the ListGatewayGroupsRequest method.
4554//    req, resp := client.ListGatewayGroupsRequest(params)
4555//
4556//    err := req.Send()
4557//    if err == nil { // resp is now filled
4558//        fmt.Println(resp)
4559//    }
4560//
4561// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListGatewayGroups
4562func (c *AlexaForBusiness) ListGatewayGroupsRequest(input *ListGatewayGroupsInput) (req *request.Request, output *ListGatewayGroupsOutput) {
4563	op := &request.Operation{
4564		Name:       opListGatewayGroups,
4565		HTTPMethod: "POST",
4566		HTTPPath:   "/",
4567		Paginator: &request.Paginator{
4568			InputTokens:     []string{"NextToken"},
4569			OutputTokens:    []string{"NextToken"},
4570			LimitToken:      "MaxResults",
4571			TruncationToken: "",
4572		},
4573	}
4574
4575	if input == nil {
4576		input = &ListGatewayGroupsInput{}
4577	}
4578
4579	output = &ListGatewayGroupsOutput{}
4580	req = c.newRequest(op, input, output)
4581	return
4582}
4583
4584// ListGatewayGroups API operation for Alexa For Business.
4585//
4586// Retrieves a list of gateway group summaries. Use GetGatewayGroup to retrieve
4587// details of a specific gateway group.
4588//
4589// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4590// with awserr.Error's Code and Message methods to get detailed information about
4591// the error.
4592//
4593// See the AWS API reference guide for Alexa For Business's
4594// API operation ListGatewayGroups for usage and error information.
4595// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListGatewayGroups
4596func (c *AlexaForBusiness) ListGatewayGroups(input *ListGatewayGroupsInput) (*ListGatewayGroupsOutput, error) {
4597	req, out := c.ListGatewayGroupsRequest(input)
4598	return out, req.Send()
4599}
4600
4601// ListGatewayGroupsWithContext is the same as ListGatewayGroups with the addition of
4602// the ability to pass a context and additional request options.
4603//
4604// See ListGatewayGroups for details on how to use this API operation.
4605//
4606// The context must be non-nil and will be used for request cancellation. If
4607// the context is nil a panic will occur. In the future the SDK may create
4608// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4609// for more information on using Contexts.
4610func (c *AlexaForBusiness) ListGatewayGroupsWithContext(ctx aws.Context, input *ListGatewayGroupsInput, opts ...request.Option) (*ListGatewayGroupsOutput, error) {
4611	req, out := c.ListGatewayGroupsRequest(input)
4612	req.SetContext(ctx)
4613	req.ApplyOptions(opts...)
4614	return out, req.Send()
4615}
4616
4617// ListGatewayGroupsPages iterates over the pages of a ListGatewayGroups operation,
4618// calling the "fn" function with the response data for each page. To stop
4619// iterating, return false from the fn function.
4620//
4621// See ListGatewayGroups method for more information on how to use this operation.
4622//
4623// Note: This operation can generate multiple requests to a service.
4624//
4625//    // Example iterating over at most 3 pages of a ListGatewayGroups operation.
4626//    pageNum := 0
4627//    err := client.ListGatewayGroupsPages(params,
4628//        func(page *alexaforbusiness.ListGatewayGroupsOutput, lastPage bool) bool {
4629//            pageNum++
4630//            fmt.Println(page)
4631//            return pageNum <= 3
4632//        })
4633//
4634func (c *AlexaForBusiness) ListGatewayGroupsPages(input *ListGatewayGroupsInput, fn func(*ListGatewayGroupsOutput, bool) bool) error {
4635	return c.ListGatewayGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
4636}
4637
4638// ListGatewayGroupsPagesWithContext same as ListGatewayGroupsPages except
4639// it takes a Context and allows setting request options on the pages.
4640//
4641// The context must be non-nil and will be used for request cancellation. If
4642// the context is nil a panic will occur. In the future the SDK may create
4643// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4644// for more information on using Contexts.
4645func (c *AlexaForBusiness) ListGatewayGroupsPagesWithContext(ctx aws.Context, input *ListGatewayGroupsInput, fn func(*ListGatewayGroupsOutput, bool) bool, opts ...request.Option) error {
4646	p := request.Pagination{
4647		NewRequest: func() (*request.Request, error) {
4648			var inCpy *ListGatewayGroupsInput
4649			if input != nil {
4650				tmp := *input
4651				inCpy = &tmp
4652			}
4653			req, _ := c.ListGatewayGroupsRequest(inCpy)
4654			req.SetContext(ctx)
4655			req.ApplyOptions(opts...)
4656			return req, nil
4657		},
4658	}
4659
4660	for p.Next() {
4661		if !fn(p.Page().(*ListGatewayGroupsOutput), !p.HasNextPage()) {
4662			break
4663		}
4664	}
4665
4666	return p.Err()
4667}
4668
4669const opListGateways = "ListGateways"
4670
4671// ListGatewaysRequest generates a "aws/request.Request" representing the
4672// client's request for the ListGateways operation. The "output" return
4673// value will be populated with the request's response once the request completes
4674// successfully.
4675//
4676// Use "Send" method on the returned Request to send the API call to the service.
4677// the "output" return value is not valid until after Send returns without error.
4678//
4679// See ListGateways for more information on using the ListGateways
4680// API call, and error handling.
4681//
4682// This method is useful when you want to inject custom logic or configuration
4683// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4684//
4685//
4686//    // Example sending a request using the ListGatewaysRequest method.
4687//    req, resp := client.ListGatewaysRequest(params)
4688//
4689//    err := req.Send()
4690//    if err == nil { // resp is now filled
4691//        fmt.Println(resp)
4692//    }
4693//
4694// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListGateways
4695func (c *AlexaForBusiness) ListGatewaysRequest(input *ListGatewaysInput) (req *request.Request, output *ListGatewaysOutput) {
4696	op := &request.Operation{
4697		Name:       opListGateways,
4698		HTTPMethod: "POST",
4699		HTTPPath:   "/",
4700		Paginator: &request.Paginator{
4701			InputTokens:     []string{"NextToken"},
4702			OutputTokens:    []string{"NextToken"},
4703			LimitToken:      "MaxResults",
4704			TruncationToken: "",
4705		},
4706	}
4707
4708	if input == nil {
4709		input = &ListGatewaysInput{}
4710	}
4711
4712	output = &ListGatewaysOutput{}
4713	req = c.newRequest(op, input, output)
4714	return
4715}
4716
4717// ListGateways API operation for Alexa For Business.
4718//
4719// Retrieves a list of gateway summaries. Use GetGateway to retrieve details
4720// of a specific gateway. An optional gateway group ARN can be provided to only
4721// retrieve gateway summaries of gateways that are associated with that gateway
4722// group ARN.
4723//
4724// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4725// with awserr.Error's Code and Message methods to get detailed information about
4726// the error.
4727//
4728// See the AWS API reference guide for Alexa For Business's
4729// API operation ListGateways for usage and error information.
4730// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListGateways
4731func (c *AlexaForBusiness) ListGateways(input *ListGatewaysInput) (*ListGatewaysOutput, error) {
4732	req, out := c.ListGatewaysRequest(input)
4733	return out, req.Send()
4734}
4735
4736// ListGatewaysWithContext is the same as ListGateways with the addition of
4737// the ability to pass a context and additional request options.
4738//
4739// See ListGateways for details on how to use this API operation.
4740//
4741// The context must be non-nil and will be used for request cancellation. If
4742// the context is nil a panic will occur. In the future the SDK may create
4743// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4744// for more information on using Contexts.
4745func (c *AlexaForBusiness) ListGatewaysWithContext(ctx aws.Context, input *ListGatewaysInput, opts ...request.Option) (*ListGatewaysOutput, error) {
4746	req, out := c.ListGatewaysRequest(input)
4747	req.SetContext(ctx)
4748	req.ApplyOptions(opts...)
4749	return out, req.Send()
4750}
4751
4752// ListGatewaysPages iterates over the pages of a ListGateways operation,
4753// calling the "fn" function with the response data for each page. To stop
4754// iterating, return false from the fn function.
4755//
4756// See ListGateways method for more information on how to use this operation.
4757//
4758// Note: This operation can generate multiple requests to a service.
4759//
4760//    // Example iterating over at most 3 pages of a ListGateways operation.
4761//    pageNum := 0
4762//    err := client.ListGatewaysPages(params,
4763//        func(page *alexaforbusiness.ListGatewaysOutput, lastPage bool) bool {
4764//            pageNum++
4765//            fmt.Println(page)
4766//            return pageNum <= 3
4767//        })
4768//
4769func (c *AlexaForBusiness) ListGatewaysPages(input *ListGatewaysInput, fn func(*ListGatewaysOutput, bool) bool) error {
4770	return c.ListGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
4771}
4772
4773// ListGatewaysPagesWithContext same as ListGatewaysPages except
4774// it takes a Context and allows setting request options on the pages.
4775//
4776// The context must be non-nil and will be used for request cancellation. If
4777// the context is nil a panic will occur. In the future the SDK may create
4778// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4779// for more information on using Contexts.
4780func (c *AlexaForBusiness) ListGatewaysPagesWithContext(ctx aws.Context, input *ListGatewaysInput, fn func(*ListGatewaysOutput, bool) bool, opts ...request.Option) error {
4781	p := request.Pagination{
4782		NewRequest: func() (*request.Request, error) {
4783			var inCpy *ListGatewaysInput
4784			if input != nil {
4785				tmp := *input
4786				inCpy = &tmp
4787			}
4788			req, _ := c.ListGatewaysRequest(inCpy)
4789			req.SetContext(ctx)
4790			req.ApplyOptions(opts...)
4791			return req, nil
4792		},
4793	}
4794
4795	for p.Next() {
4796		if !fn(p.Page().(*ListGatewaysOutput), !p.HasNextPage()) {
4797			break
4798		}
4799	}
4800
4801	return p.Err()
4802}
4803
4804const opListSkills = "ListSkills"
4805
4806// ListSkillsRequest generates a "aws/request.Request" representing the
4807// client's request for the ListSkills operation. The "output" return
4808// value will be populated with the request's response once the request completes
4809// successfully.
4810//
4811// Use "Send" method on the returned Request to send the API call to the service.
4812// the "output" return value is not valid until after Send returns without error.
4813//
4814// See ListSkills for more information on using the ListSkills
4815// API call, and error handling.
4816//
4817// This method is useful when you want to inject custom logic or configuration
4818// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4819//
4820//
4821//    // Example sending a request using the ListSkillsRequest method.
4822//    req, resp := client.ListSkillsRequest(params)
4823//
4824//    err := req.Send()
4825//    if err == nil { // resp is now filled
4826//        fmt.Println(resp)
4827//    }
4828//
4829// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListSkills
4830func (c *AlexaForBusiness) ListSkillsRequest(input *ListSkillsInput) (req *request.Request, output *ListSkillsOutput) {
4831	op := &request.Operation{
4832		Name:       opListSkills,
4833		HTTPMethod: "POST",
4834		HTTPPath:   "/",
4835		Paginator: &request.Paginator{
4836			InputTokens:     []string{"NextToken"},
4837			OutputTokens:    []string{"NextToken"},
4838			LimitToken:      "MaxResults",
4839			TruncationToken: "",
4840		},
4841	}
4842
4843	if input == nil {
4844		input = &ListSkillsInput{}
4845	}
4846
4847	output = &ListSkillsOutput{}
4848	req = c.newRequest(op, input, output)
4849	return
4850}
4851
4852// ListSkills API operation for Alexa For Business.
4853//
4854// Lists all enabled skills in a specific skill group.
4855//
4856// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4857// with awserr.Error's Code and Message methods to get detailed information about
4858// the error.
4859//
4860// See the AWS API reference guide for Alexa For Business's
4861// API operation ListSkills for usage and error information.
4862// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListSkills
4863func (c *AlexaForBusiness) ListSkills(input *ListSkillsInput) (*ListSkillsOutput, error) {
4864	req, out := c.ListSkillsRequest(input)
4865	return out, req.Send()
4866}
4867
4868// ListSkillsWithContext is the same as ListSkills with the addition of
4869// the ability to pass a context and additional request options.
4870//
4871// See ListSkills for details on how to use this API operation.
4872//
4873// The context must be non-nil and will be used for request cancellation. If
4874// the context is nil a panic will occur. In the future the SDK may create
4875// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4876// for more information on using Contexts.
4877func (c *AlexaForBusiness) ListSkillsWithContext(ctx aws.Context, input *ListSkillsInput, opts ...request.Option) (*ListSkillsOutput, error) {
4878	req, out := c.ListSkillsRequest(input)
4879	req.SetContext(ctx)
4880	req.ApplyOptions(opts...)
4881	return out, req.Send()
4882}
4883
4884// ListSkillsPages iterates over the pages of a ListSkills operation,
4885// calling the "fn" function with the response data for each page. To stop
4886// iterating, return false from the fn function.
4887//
4888// See ListSkills method for more information on how to use this operation.
4889//
4890// Note: This operation can generate multiple requests to a service.
4891//
4892//    // Example iterating over at most 3 pages of a ListSkills operation.
4893//    pageNum := 0
4894//    err := client.ListSkillsPages(params,
4895//        func(page *alexaforbusiness.ListSkillsOutput, lastPage bool) bool {
4896//            pageNum++
4897//            fmt.Println(page)
4898//            return pageNum <= 3
4899//        })
4900//
4901func (c *AlexaForBusiness) ListSkillsPages(input *ListSkillsInput, fn func(*ListSkillsOutput, bool) bool) error {
4902	return c.ListSkillsPagesWithContext(aws.BackgroundContext(), input, fn)
4903}
4904
4905// ListSkillsPagesWithContext same as ListSkillsPages except
4906// it takes a Context and allows setting request options on the pages.
4907//
4908// The context must be non-nil and will be used for request cancellation. If
4909// the context is nil a panic will occur. In the future the SDK may create
4910// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4911// for more information on using Contexts.
4912func (c *AlexaForBusiness) ListSkillsPagesWithContext(ctx aws.Context, input *ListSkillsInput, fn func(*ListSkillsOutput, bool) bool, opts ...request.Option) error {
4913	p := request.Pagination{
4914		NewRequest: func() (*request.Request, error) {
4915			var inCpy *ListSkillsInput
4916			if input != nil {
4917				tmp := *input
4918				inCpy = &tmp
4919			}
4920			req, _ := c.ListSkillsRequest(inCpy)
4921			req.SetContext(ctx)
4922			req.ApplyOptions(opts...)
4923			return req, nil
4924		},
4925	}
4926
4927	for p.Next() {
4928		if !fn(p.Page().(*ListSkillsOutput), !p.HasNextPage()) {
4929			break
4930		}
4931	}
4932
4933	return p.Err()
4934}
4935
4936const opListSkillsStoreCategories = "ListSkillsStoreCategories"
4937
4938// ListSkillsStoreCategoriesRequest generates a "aws/request.Request" representing the
4939// client's request for the ListSkillsStoreCategories operation. The "output" return
4940// value will be populated with the request's response once the request completes
4941// successfully.
4942//
4943// Use "Send" method on the returned Request to send the API call to the service.
4944// the "output" return value is not valid until after Send returns without error.
4945//
4946// See ListSkillsStoreCategories for more information on using the ListSkillsStoreCategories
4947// API call, and error handling.
4948//
4949// This method is useful when you want to inject custom logic or configuration
4950// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4951//
4952//
4953//    // Example sending a request using the ListSkillsStoreCategoriesRequest method.
4954//    req, resp := client.ListSkillsStoreCategoriesRequest(params)
4955//
4956//    err := req.Send()
4957//    if err == nil { // resp is now filled
4958//        fmt.Println(resp)
4959//    }
4960//
4961// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListSkillsStoreCategories
4962func (c *AlexaForBusiness) ListSkillsStoreCategoriesRequest(input *ListSkillsStoreCategoriesInput) (req *request.Request, output *ListSkillsStoreCategoriesOutput) {
4963	op := &request.Operation{
4964		Name:       opListSkillsStoreCategories,
4965		HTTPMethod: "POST",
4966		HTTPPath:   "/",
4967		Paginator: &request.Paginator{
4968			InputTokens:     []string{"NextToken"},
4969			OutputTokens:    []string{"NextToken"},
4970			LimitToken:      "MaxResults",
4971			TruncationToken: "",
4972		},
4973	}
4974
4975	if input == nil {
4976		input = &ListSkillsStoreCategoriesInput{}
4977	}
4978
4979	output = &ListSkillsStoreCategoriesOutput{}
4980	req = c.newRequest(op, input, output)
4981	return
4982}
4983
4984// ListSkillsStoreCategories API operation for Alexa For Business.
4985//
4986// Lists all categories in the Alexa skill store.
4987//
4988// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4989// with awserr.Error's Code and Message methods to get detailed information about
4990// the error.
4991//
4992// See the AWS API reference guide for Alexa For Business's
4993// API operation ListSkillsStoreCategories for usage and error information.
4994// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListSkillsStoreCategories
4995func (c *AlexaForBusiness) ListSkillsStoreCategories(input *ListSkillsStoreCategoriesInput) (*ListSkillsStoreCategoriesOutput, error) {
4996	req, out := c.ListSkillsStoreCategoriesRequest(input)
4997	return out, req.Send()
4998}
4999
5000// ListSkillsStoreCategoriesWithContext is the same as ListSkillsStoreCategories with the addition of
5001// the ability to pass a context and additional request options.
5002//
5003// See ListSkillsStoreCategories for details on how to use this API operation.
5004//
5005// The context must be non-nil and will be used for request cancellation. If
5006// the context is nil a panic will occur. In the future the SDK may create
5007// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5008// for more information on using Contexts.
5009func (c *AlexaForBusiness) ListSkillsStoreCategoriesWithContext(ctx aws.Context, input *ListSkillsStoreCategoriesInput, opts ...request.Option) (*ListSkillsStoreCategoriesOutput, error) {
5010	req, out := c.ListSkillsStoreCategoriesRequest(input)
5011	req.SetContext(ctx)
5012	req.ApplyOptions(opts...)
5013	return out, req.Send()
5014}
5015
5016// ListSkillsStoreCategoriesPages iterates over the pages of a ListSkillsStoreCategories operation,
5017// calling the "fn" function with the response data for each page. To stop
5018// iterating, return false from the fn function.
5019//
5020// See ListSkillsStoreCategories method for more information on how to use this operation.
5021//
5022// Note: This operation can generate multiple requests to a service.
5023//
5024//    // Example iterating over at most 3 pages of a ListSkillsStoreCategories operation.
5025//    pageNum := 0
5026//    err := client.ListSkillsStoreCategoriesPages(params,
5027//        func(page *alexaforbusiness.ListSkillsStoreCategoriesOutput, lastPage bool) bool {
5028//            pageNum++
5029//            fmt.Println(page)
5030//            return pageNum <= 3
5031//        })
5032//
5033func (c *AlexaForBusiness) ListSkillsStoreCategoriesPages(input *ListSkillsStoreCategoriesInput, fn func(*ListSkillsStoreCategoriesOutput, bool) bool) error {
5034	return c.ListSkillsStoreCategoriesPagesWithContext(aws.BackgroundContext(), input, fn)
5035}
5036
5037// ListSkillsStoreCategoriesPagesWithContext same as ListSkillsStoreCategoriesPages except
5038// it takes a Context and allows setting request options on the pages.
5039//
5040// The context must be non-nil and will be used for request cancellation. If
5041// the context is nil a panic will occur. In the future the SDK may create
5042// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5043// for more information on using Contexts.
5044func (c *AlexaForBusiness) ListSkillsStoreCategoriesPagesWithContext(ctx aws.Context, input *ListSkillsStoreCategoriesInput, fn func(*ListSkillsStoreCategoriesOutput, bool) bool, opts ...request.Option) error {
5045	p := request.Pagination{
5046		NewRequest: func() (*request.Request, error) {
5047			var inCpy *ListSkillsStoreCategoriesInput
5048			if input != nil {
5049				tmp := *input
5050				inCpy = &tmp
5051			}
5052			req, _ := c.ListSkillsStoreCategoriesRequest(inCpy)
5053			req.SetContext(ctx)
5054			req.ApplyOptions(opts...)
5055			return req, nil
5056		},
5057	}
5058
5059	for p.Next() {
5060		if !fn(p.Page().(*ListSkillsStoreCategoriesOutput), !p.HasNextPage()) {
5061			break
5062		}
5063	}
5064
5065	return p.Err()
5066}
5067
5068const opListSkillsStoreSkillsByCategory = "ListSkillsStoreSkillsByCategory"
5069
5070// ListSkillsStoreSkillsByCategoryRequest generates a "aws/request.Request" representing the
5071// client's request for the ListSkillsStoreSkillsByCategory operation. The "output" return
5072// value will be populated with the request's response once the request completes
5073// successfully.
5074//
5075// Use "Send" method on the returned Request to send the API call to the service.
5076// the "output" return value is not valid until after Send returns without error.
5077//
5078// See ListSkillsStoreSkillsByCategory for more information on using the ListSkillsStoreSkillsByCategory
5079// API call, and error handling.
5080//
5081// This method is useful when you want to inject custom logic or configuration
5082// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5083//
5084//
5085//    // Example sending a request using the ListSkillsStoreSkillsByCategoryRequest method.
5086//    req, resp := client.ListSkillsStoreSkillsByCategoryRequest(params)
5087//
5088//    err := req.Send()
5089//    if err == nil { // resp is now filled
5090//        fmt.Println(resp)
5091//    }
5092//
5093// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListSkillsStoreSkillsByCategory
5094func (c *AlexaForBusiness) ListSkillsStoreSkillsByCategoryRequest(input *ListSkillsStoreSkillsByCategoryInput) (req *request.Request, output *ListSkillsStoreSkillsByCategoryOutput) {
5095	op := &request.Operation{
5096		Name:       opListSkillsStoreSkillsByCategory,
5097		HTTPMethod: "POST",
5098		HTTPPath:   "/",
5099		Paginator: &request.Paginator{
5100			InputTokens:     []string{"NextToken"},
5101			OutputTokens:    []string{"NextToken"},
5102			LimitToken:      "MaxResults",
5103			TruncationToken: "",
5104		},
5105	}
5106
5107	if input == nil {
5108		input = &ListSkillsStoreSkillsByCategoryInput{}
5109	}
5110
5111	output = &ListSkillsStoreSkillsByCategoryOutput{}
5112	req = c.newRequest(op, input, output)
5113	return
5114}
5115
5116// ListSkillsStoreSkillsByCategory API operation for Alexa For Business.
5117//
5118// Lists all skills in the Alexa skill store by category.
5119//
5120// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5121// with awserr.Error's Code and Message methods to get detailed information about
5122// the error.
5123//
5124// See the AWS API reference guide for Alexa For Business's
5125// API operation ListSkillsStoreSkillsByCategory for usage and error information.
5126// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListSkillsStoreSkillsByCategory
5127func (c *AlexaForBusiness) ListSkillsStoreSkillsByCategory(input *ListSkillsStoreSkillsByCategoryInput) (*ListSkillsStoreSkillsByCategoryOutput, error) {
5128	req, out := c.ListSkillsStoreSkillsByCategoryRequest(input)
5129	return out, req.Send()
5130}
5131
5132// ListSkillsStoreSkillsByCategoryWithContext is the same as ListSkillsStoreSkillsByCategory with the addition of
5133// the ability to pass a context and additional request options.
5134//
5135// See ListSkillsStoreSkillsByCategory for details on how to use this API operation.
5136//
5137// The context must be non-nil and will be used for request cancellation. If
5138// the context is nil a panic will occur. In the future the SDK may create
5139// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5140// for more information on using Contexts.
5141func (c *AlexaForBusiness) ListSkillsStoreSkillsByCategoryWithContext(ctx aws.Context, input *ListSkillsStoreSkillsByCategoryInput, opts ...request.Option) (*ListSkillsStoreSkillsByCategoryOutput, error) {
5142	req, out := c.ListSkillsStoreSkillsByCategoryRequest(input)
5143	req.SetContext(ctx)
5144	req.ApplyOptions(opts...)
5145	return out, req.Send()
5146}
5147
5148// ListSkillsStoreSkillsByCategoryPages iterates over the pages of a ListSkillsStoreSkillsByCategory operation,
5149// calling the "fn" function with the response data for each page. To stop
5150// iterating, return false from the fn function.
5151//
5152// See ListSkillsStoreSkillsByCategory method for more information on how to use this operation.
5153//
5154// Note: This operation can generate multiple requests to a service.
5155//
5156//    // Example iterating over at most 3 pages of a ListSkillsStoreSkillsByCategory operation.
5157//    pageNum := 0
5158//    err := client.ListSkillsStoreSkillsByCategoryPages(params,
5159//        func(page *alexaforbusiness.ListSkillsStoreSkillsByCategoryOutput, lastPage bool) bool {
5160//            pageNum++
5161//            fmt.Println(page)
5162//            return pageNum <= 3
5163//        })
5164//
5165func (c *AlexaForBusiness) ListSkillsStoreSkillsByCategoryPages(input *ListSkillsStoreSkillsByCategoryInput, fn func(*ListSkillsStoreSkillsByCategoryOutput, bool) bool) error {
5166	return c.ListSkillsStoreSkillsByCategoryPagesWithContext(aws.BackgroundContext(), input, fn)
5167}
5168
5169// ListSkillsStoreSkillsByCategoryPagesWithContext same as ListSkillsStoreSkillsByCategoryPages except
5170// it takes a Context and allows setting request options on the pages.
5171//
5172// The context must be non-nil and will be used for request cancellation. If
5173// the context is nil a panic will occur. In the future the SDK may create
5174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5175// for more information on using Contexts.
5176func (c *AlexaForBusiness) ListSkillsStoreSkillsByCategoryPagesWithContext(ctx aws.Context, input *ListSkillsStoreSkillsByCategoryInput, fn func(*ListSkillsStoreSkillsByCategoryOutput, bool) bool, opts ...request.Option) error {
5177	p := request.Pagination{
5178		NewRequest: func() (*request.Request, error) {
5179			var inCpy *ListSkillsStoreSkillsByCategoryInput
5180			if input != nil {
5181				tmp := *input
5182				inCpy = &tmp
5183			}
5184			req, _ := c.ListSkillsStoreSkillsByCategoryRequest(inCpy)
5185			req.SetContext(ctx)
5186			req.ApplyOptions(opts...)
5187			return req, nil
5188		},
5189	}
5190
5191	for p.Next() {
5192		if !fn(p.Page().(*ListSkillsStoreSkillsByCategoryOutput), !p.HasNextPage()) {
5193			break
5194		}
5195	}
5196
5197	return p.Err()
5198}
5199
5200const opListSmartHomeAppliances = "ListSmartHomeAppliances"
5201
5202// ListSmartHomeAppliancesRequest generates a "aws/request.Request" representing the
5203// client's request for the ListSmartHomeAppliances operation. The "output" return
5204// value will be populated with the request's response once the request completes
5205// successfully.
5206//
5207// Use "Send" method on the returned Request to send the API call to the service.
5208// the "output" return value is not valid until after Send returns without error.
5209//
5210// See ListSmartHomeAppliances for more information on using the ListSmartHomeAppliances
5211// API call, and error handling.
5212//
5213// This method is useful when you want to inject custom logic or configuration
5214// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5215//
5216//
5217//    // Example sending a request using the ListSmartHomeAppliancesRequest method.
5218//    req, resp := client.ListSmartHomeAppliancesRequest(params)
5219//
5220//    err := req.Send()
5221//    if err == nil { // resp is now filled
5222//        fmt.Println(resp)
5223//    }
5224//
5225// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListSmartHomeAppliances
5226func (c *AlexaForBusiness) ListSmartHomeAppliancesRequest(input *ListSmartHomeAppliancesInput) (req *request.Request, output *ListSmartHomeAppliancesOutput) {
5227	op := &request.Operation{
5228		Name:       opListSmartHomeAppliances,
5229		HTTPMethod: "POST",
5230		HTTPPath:   "/",
5231		Paginator: &request.Paginator{
5232			InputTokens:     []string{"NextToken"},
5233			OutputTokens:    []string{"NextToken"},
5234			LimitToken:      "MaxResults",
5235			TruncationToken: "",
5236		},
5237	}
5238
5239	if input == nil {
5240		input = &ListSmartHomeAppliancesInput{}
5241	}
5242
5243	output = &ListSmartHomeAppliancesOutput{}
5244	req = c.newRequest(op, input, output)
5245	return
5246}
5247
5248// ListSmartHomeAppliances API operation for Alexa For Business.
5249//
5250// Lists all of the smart home appliances associated with a room.
5251//
5252// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5253// with awserr.Error's Code and Message methods to get detailed information about
5254// the error.
5255//
5256// See the AWS API reference guide for Alexa For Business's
5257// API operation ListSmartHomeAppliances for usage and error information.
5258//
5259// Returned Error Types:
5260//   * NotFoundException
5261//   The resource is not found.
5262//
5263// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListSmartHomeAppliances
5264func (c *AlexaForBusiness) ListSmartHomeAppliances(input *ListSmartHomeAppliancesInput) (*ListSmartHomeAppliancesOutput, error) {
5265	req, out := c.ListSmartHomeAppliancesRequest(input)
5266	return out, req.Send()
5267}
5268
5269// ListSmartHomeAppliancesWithContext is the same as ListSmartHomeAppliances with the addition of
5270// the ability to pass a context and additional request options.
5271//
5272// See ListSmartHomeAppliances for details on how to use this API operation.
5273//
5274// The context must be non-nil and will be used for request cancellation. If
5275// the context is nil a panic will occur. In the future the SDK may create
5276// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5277// for more information on using Contexts.
5278func (c *AlexaForBusiness) ListSmartHomeAppliancesWithContext(ctx aws.Context, input *ListSmartHomeAppliancesInput, opts ...request.Option) (*ListSmartHomeAppliancesOutput, error) {
5279	req, out := c.ListSmartHomeAppliancesRequest(input)
5280	req.SetContext(ctx)
5281	req.ApplyOptions(opts...)
5282	return out, req.Send()
5283}
5284
5285// ListSmartHomeAppliancesPages iterates over the pages of a ListSmartHomeAppliances operation,
5286// calling the "fn" function with the response data for each page. To stop
5287// iterating, return false from the fn function.
5288//
5289// See ListSmartHomeAppliances method for more information on how to use this operation.
5290//
5291// Note: This operation can generate multiple requests to a service.
5292//
5293//    // Example iterating over at most 3 pages of a ListSmartHomeAppliances operation.
5294//    pageNum := 0
5295//    err := client.ListSmartHomeAppliancesPages(params,
5296//        func(page *alexaforbusiness.ListSmartHomeAppliancesOutput, lastPage bool) bool {
5297//            pageNum++
5298//            fmt.Println(page)
5299//            return pageNum <= 3
5300//        })
5301//
5302func (c *AlexaForBusiness) ListSmartHomeAppliancesPages(input *ListSmartHomeAppliancesInput, fn func(*ListSmartHomeAppliancesOutput, bool) bool) error {
5303	return c.ListSmartHomeAppliancesPagesWithContext(aws.BackgroundContext(), input, fn)
5304}
5305
5306// ListSmartHomeAppliancesPagesWithContext same as ListSmartHomeAppliancesPages except
5307// it takes a Context and allows setting request options on the pages.
5308//
5309// The context must be non-nil and will be used for request cancellation. If
5310// the context is nil a panic will occur. In the future the SDK may create
5311// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5312// for more information on using Contexts.
5313func (c *AlexaForBusiness) ListSmartHomeAppliancesPagesWithContext(ctx aws.Context, input *ListSmartHomeAppliancesInput, fn func(*ListSmartHomeAppliancesOutput, bool) bool, opts ...request.Option) error {
5314	p := request.Pagination{
5315		NewRequest: func() (*request.Request, error) {
5316			var inCpy *ListSmartHomeAppliancesInput
5317			if input != nil {
5318				tmp := *input
5319				inCpy = &tmp
5320			}
5321			req, _ := c.ListSmartHomeAppliancesRequest(inCpy)
5322			req.SetContext(ctx)
5323			req.ApplyOptions(opts...)
5324			return req, nil
5325		},
5326	}
5327
5328	for p.Next() {
5329		if !fn(p.Page().(*ListSmartHomeAppliancesOutput), !p.HasNextPage()) {
5330			break
5331		}
5332	}
5333
5334	return p.Err()
5335}
5336
5337const opListTags = "ListTags"
5338
5339// ListTagsRequest generates a "aws/request.Request" representing the
5340// client's request for the ListTags operation. The "output" return
5341// value will be populated with the request's response once the request completes
5342// successfully.
5343//
5344// Use "Send" method on the returned Request to send the API call to the service.
5345// the "output" return value is not valid until after Send returns without error.
5346//
5347// See ListTags for more information on using the ListTags
5348// API call, and error handling.
5349//
5350// This method is useful when you want to inject custom logic or configuration
5351// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5352//
5353//
5354//    // Example sending a request using the ListTagsRequest method.
5355//    req, resp := client.ListTagsRequest(params)
5356//
5357//    err := req.Send()
5358//    if err == nil { // resp is now filled
5359//        fmt.Println(resp)
5360//    }
5361//
5362// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListTags
5363func (c *AlexaForBusiness) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) {
5364	op := &request.Operation{
5365		Name:       opListTags,
5366		HTTPMethod: "POST",
5367		HTTPPath:   "/",
5368		Paginator: &request.Paginator{
5369			InputTokens:     []string{"NextToken"},
5370			OutputTokens:    []string{"NextToken"},
5371			LimitToken:      "MaxResults",
5372			TruncationToken: "",
5373		},
5374	}
5375
5376	if input == nil {
5377		input = &ListTagsInput{}
5378	}
5379
5380	output = &ListTagsOutput{}
5381	req = c.newRequest(op, input, output)
5382	return
5383}
5384
5385// ListTags API operation for Alexa For Business.
5386//
5387// Lists all tags for the specified resource.
5388//
5389// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5390// with awserr.Error's Code and Message methods to get detailed information about
5391// the error.
5392//
5393// See the AWS API reference guide for Alexa For Business's
5394// API operation ListTags for usage and error information.
5395//
5396// Returned Error Types:
5397//   * NotFoundException
5398//   The resource is not found.
5399//
5400// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ListTags
5401func (c *AlexaForBusiness) ListTags(input *ListTagsInput) (*ListTagsOutput, error) {
5402	req, out := c.ListTagsRequest(input)
5403	return out, req.Send()
5404}
5405
5406// ListTagsWithContext is the same as ListTags with the addition of
5407// the ability to pass a context and additional request options.
5408//
5409// See ListTags for details on how to use this API operation.
5410//
5411// The context must be non-nil and will be used for request cancellation. If
5412// the context is nil a panic will occur. In the future the SDK may create
5413// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5414// for more information on using Contexts.
5415func (c *AlexaForBusiness) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) {
5416	req, out := c.ListTagsRequest(input)
5417	req.SetContext(ctx)
5418	req.ApplyOptions(opts...)
5419	return out, req.Send()
5420}
5421
5422// ListTagsPages iterates over the pages of a ListTags operation,
5423// calling the "fn" function with the response data for each page. To stop
5424// iterating, return false from the fn function.
5425//
5426// See ListTags method for more information on how to use this operation.
5427//
5428// Note: This operation can generate multiple requests to a service.
5429//
5430//    // Example iterating over at most 3 pages of a ListTags operation.
5431//    pageNum := 0
5432//    err := client.ListTagsPages(params,
5433//        func(page *alexaforbusiness.ListTagsOutput, lastPage bool) bool {
5434//            pageNum++
5435//            fmt.Println(page)
5436//            return pageNum <= 3
5437//        })
5438//
5439func (c *AlexaForBusiness) ListTagsPages(input *ListTagsInput, fn func(*ListTagsOutput, bool) bool) error {
5440	return c.ListTagsPagesWithContext(aws.BackgroundContext(), input, fn)
5441}
5442
5443// ListTagsPagesWithContext same as ListTagsPages except
5444// it takes a Context and allows setting request options on the pages.
5445//
5446// The context must be non-nil and will be used for request cancellation. If
5447// the context is nil a panic will occur. In the future the SDK may create
5448// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5449// for more information on using Contexts.
5450func (c *AlexaForBusiness) ListTagsPagesWithContext(ctx aws.Context, input *ListTagsInput, fn func(*ListTagsOutput, bool) bool, opts ...request.Option) error {
5451	p := request.Pagination{
5452		NewRequest: func() (*request.Request, error) {
5453			var inCpy *ListTagsInput
5454			if input != nil {
5455				tmp := *input
5456				inCpy = &tmp
5457			}
5458			req, _ := c.ListTagsRequest(inCpy)
5459			req.SetContext(ctx)
5460			req.ApplyOptions(opts...)
5461			return req, nil
5462		},
5463	}
5464
5465	for p.Next() {
5466		if !fn(p.Page().(*ListTagsOutput), !p.HasNextPage()) {
5467			break
5468		}
5469	}
5470
5471	return p.Err()
5472}
5473
5474const opPutConferencePreference = "PutConferencePreference"
5475
5476// PutConferencePreferenceRequest generates a "aws/request.Request" representing the
5477// client's request for the PutConferencePreference operation. The "output" return
5478// value will be populated with the request's response once the request completes
5479// successfully.
5480//
5481// Use "Send" method on the returned Request to send the API call to the service.
5482// the "output" return value is not valid until after Send returns without error.
5483//
5484// See PutConferencePreference for more information on using the PutConferencePreference
5485// API call, and error handling.
5486//
5487// This method is useful when you want to inject custom logic or configuration
5488// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5489//
5490//
5491//    // Example sending a request using the PutConferencePreferenceRequest method.
5492//    req, resp := client.PutConferencePreferenceRequest(params)
5493//
5494//    err := req.Send()
5495//    if err == nil { // resp is now filled
5496//        fmt.Println(resp)
5497//    }
5498//
5499// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/PutConferencePreference
5500func (c *AlexaForBusiness) PutConferencePreferenceRequest(input *PutConferencePreferenceInput) (req *request.Request, output *PutConferencePreferenceOutput) {
5501	op := &request.Operation{
5502		Name:       opPutConferencePreference,
5503		HTTPMethod: "POST",
5504		HTTPPath:   "/",
5505	}
5506
5507	if input == nil {
5508		input = &PutConferencePreferenceInput{}
5509	}
5510
5511	output = &PutConferencePreferenceOutput{}
5512	req = c.newRequest(op, input, output)
5513	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5514	return
5515}
5516
5517// PutConferencePreference API operation for Alexa For Business.
5518//
5519// Sets the conference preferences on a specific conference provider at the
5520// account level.
5521//
5522// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5523// with awserr.Error's Code and Message methods to get detailed information about
5524// the error.
5525//
5526// See the AWS API reference guide for Alexa For Business's
5527// API operation PutConferencePreference for usage and error information.
5528//
5529// Returned Error Types:
5530//   * NotFoundException
5531//   The resource is not found.
5532//
5533// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/PutConferencePreference
5534func (c *AlexaForBusiness) PutConferencePreference(input *PutConferencePreferenceInput) (*PutConferencePreferenceOutput, error) {
5535	req, out := c.PutConferencePreferenceRequest(input)
5536	return out, req.Send()
5537}
5538
5539// PutConferencePreferenceWithContext is the same as PutConferencePreference with the addition of
5540// the ability to pass a context and additional request options.
5541//
5542// See PutConferencePreference for details on how to use this API operation.
5543//
5544// The context must be non-nil and will be used for request cancellation. If
5545// the context is nil a panic will occur. In the future the SDK may create
5546// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5547// for more information on using Contexts.
5548func (c *AlexaForBusiness) PutConferencePreferenceWithContext(ctx aws.Context, input *PutConferencePreferenceInput, opts ...request.Option) (*PutConferencePreferenceOutput, error) {
5549	req, out := c.PutConferencePreferenceRequest(input)
5550	req.SetContext(ctx)
5551	req.ApplyOptions(opts...)
5552	return out, req.Send()
5553}
5554
5555const opPutInvitationConfiguration = "PutInvitationConfiguration"
5556
5557// PutInvitationConfigurationRequest generates a "aws/request.Request" representing the
5558// client's request for the PutInvitationConfiguration operation. The "output" return
5559// value will be populated with the request's response once the request completes
5560// successfully.
5561//
5562// Use "Send" method on the returned Request to send the API call to the service.
5563// the "output" return value is not valid until after Send returns without error.
5564//
5565// See PutInvitationConfiguration for more information on using the PutInvitationConfiguration
5566// API call, and error handling.
5567//
5568// This method is useful when you want to inject custom logic or configuration
5569// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5570//
5571//
5572//    // Example sending a request using the PutInvitationConfigurationRequest method.
5573//    req, resp := client.PutInvitationConfigurationRequest(params)
5574//
5575//    err := req.Send()
5576//    if err == nil { // resp is now filled
5577//        fmt.Println(resp)
5578//    }
5579//
5580// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/PutInvitationConfiguration
5581func (c *AlexaForBusiness) PutInvitationConfigurationRequest(input *PutInvitationConfigurationInput) (req *request.Request, output *PutInvitationConfigurationOutput) {
5582	op := &request.Operation{
5583		Name:       opPutInvitationConfiguration,
5584		HTTPMethod: "POST",
5585		HTTPPath:   "/",
5586	}
5587
5588	if input == nil {
5589		input = &PutInvitationConfigurationInput{}
5590	}
5591
5592	output = &PutInvitationConfigurationOutput{}
5593	req = c.newRequest(op, input, output)
5594	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5595	return
5596}
5597
5598// PutInvitationConfiguration API operation for Alexa For Business.
5599//
5600// Configures the email template for the user enrollment invitation with the
5601// specified attributes.
5602//
5603// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5604// with awserr.Error's Code and Message methods to get detailed information about
5605// the error.
5606//
5607// See the AWS API reference guide for Alexa For Business's
5608// API operation PutInvitationConfiguration for usage and error information.
5609//
5610// Returned Error Types:
5611//   * NotFoundException
5612//   The resource is not found.
5613//
5614//   * ConcurrentModificationException
5615//   There is a concurrent modification of resources.
5616//
5617// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/PutInvitationConfiguration
5618func (c *AlexaForBusiness) PutInvitationConfiguration(input *PutInvitationConfigurationInput) (*PutInvitationConfigurationOutput, error) {
5619	req, out := c.PutInvitationConfigurationRequest(input)
5620	return out, req.Send()
5621}
5622
5623// PutInvitationConfigurationWithContext is the same as PutInvitationConfiguration with the addition of
5624// the ability to pass a context and additional request options.
5625//
5626// See PutInvitationConfiguration for details on how to use this API operation.
5627//
5628// The context must be non-nil and will be used for request cancellation. If
5629// the context is nil a panic will occur. In the future the SDK may create
5630// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5631// for more information on using Contexts.
5632func (c *AlexaForBusiness) PutInvitationConfigurationWithContext(ctx aws.Context, input *PutInvitationConfigurationInput, opts ...request.Option) (*PutInvitationConfigurationOutput, error) {
5633	req, out := c.PutInvitationConfigurationRequest(input)
5634	req.SetContext(ctx)
5635	req.ApplyOptions(opts...)
5636	return out, req.Send()
5637}
5638
5639const opPutRoomSkillParameter = "PutRoomSkillParameter"
5640
5641// PutRoomSkillParameterRequest generates a "aws/request.Request" representing the
5642// client's request for the PutRoomSkillParameter operation. The "output" return
5643// value will be populated with the request's response once the request completes
5644// successfully.
5645//
5646// Use "Send" method on the returned Request to send the API call to the service.
5647// the "output" return value is not valid until after Send returns without error.
5648//
5649// See PutRoomSkillParameter for more information on using the PutRoomSkillParameter
5650// API call, and error handling.
5651//
5652// This method is useful when you want to inject custom logic or configuration
5653// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5654//
5655//
5656//    // Example sending a request using the PutRoomSkillParameterRequest method.
5657//    req, resp := client.PutRoomSkillParameterRequest(params)
5658//
5659//    err := req.Send()
5660//    if err == nil { // resp is now filled
5661//        fmt.Println(resp)
5662//    }
5663//
5664// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/PutRoomSkillParameter
5665func (c *AlexaForBusiness) PutRoomSkillParameterRequest(input *PutRoomSkillParameterInput) (req *request.Request, output *PutRoomSkillParameterOutput) {
5666	op := &request.Operation{
5667		Name:       opPutRoomSkillParameter,
5668		HTTPMethod: "POST",
5669		HTTPPath:   "/",
5670	}
5671
5672	if input == nil {
5673		input = &PutRoomSkillParameterInput{}
5674	}
5675
5676	output = &PutRoomSkillParameterOutput{}
5677	req = c.newRequest(op, input, output)
5678	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5679	return
5680}
5681
5682// PutRoomSkillParameter API operation for Alexa For Business.
5683//
5684// Updates room skill parameter details by room, skill, and parameter key ID.
5685// Not all skills have a room skill parameter.
5686//
5687// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5688// with awserr.Error's Code and Message methods to get detailed information about
5689// the error.
5690//
5691// See the AWS API reference guide for Alexa For Business's
5692// API operation PutRoomSkillParameter for usage and error information.
5693//
5694// Returned Error Types:
5695//   * ConcurrentModificationException
5696//   There is a concurrent modification of resources.
5697//
5698// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/PutRoomSkillParameter
5699func (c *AlexaForBusiness) PutRoomSkillParameter(input *PutRoomSkillParameterInput) (*PutRoomSkillParameterOutput, error) {
5700	req, out := c.PutRoomSkillParameterRequest(input)
5701	return out, req.Send()
5702}
5703
5704// PutRoomSkillParameterWithContext is the same as PutRoomSkillParameter with the addition of
5705// the ability to pass a context and additional request options.
5706//
5707// See PutRoomSkillParameter for details on how to use this API operation.
5708//
5709// The context must be non-nil and will be used for request cancellation. If
5710// the context is nil a panic will occur. In the future the SDK may create
5711// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5712// for more information on using Contexts.
5713func (c *AlexaForBusiness) PutRoomSkillParameterWithContext(ctx aws.Context, input *PutRoomSkillParameterInput, opts ...request.Option) (*PutRoomSkillParameterOutput, error) {
5714	req, out := c.PutRoomSkillParameterRequest(input)
5715	req.SetContext(ctx)
5716	req.ApplyOptions(opts...)
5717	return out, req.Send()
5718}
5719
5720const opPutSkillAuthorization = "PutSkillAuthorization"
5721
5722// PutSkillAuthorizationRequest generates a "aws/request.Request" representing the
5723// client's request for the PutSkillAuthorization operation. The "output" return
5724// value will be populated with the request's response once the request completes
5725// successfully.
5726//
5727// Use "Send" method on the returned Request to send the API call to the service.
5728// the "output" return value is not valid until after Send returns without error.
5729//
5730// See PutSkillAuthorization for more information on using the PutSkillAuthorization
5731// API call, and error handling.
5732//
5733// This method is useful when you want to inject custom logic or configuration
5734// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5735//
5736//
5737//    // Example sending a request using the PutSkillAuthorizationRequest method.
5738//    req, resp := client.PutSkillAuthorizationRequest(params)
5739//
5740//    err := req.Send()
5741//    if err == nil { // resp is now filled
5742//        fmt.Println(resp)
5743//    }
5744//
5745// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/PutSkillAuthorization
5746func (c *AlexaForBusiness) PutSkillAuthorizationRequest(input *PutSkillAuthorizationInput) (req *request.Request, output *PutSkillAuthorizationOutput) {
5747	op := &request.Operation{
5748		Name:       opPutSkillAuthorization,
5749		HTTPMethod: "POST",
5750		HTTPPath:   "/",
5751	}
5752
5753	if input == nil {
5754		input = &PutSkillAuthorizationInput{}
5755	}
5756
5757	output = &PutSkillAuthorizationOutput{}
5758	req = c.newRequest(op, input, output)
5759	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5760	return
5761}
5762
5763// PutSkillAuthorization API operation for Alexa For Business.
5764//
5765// Links a user's account to a third-party skill provider. If this API operation
5766// is called by an assumed IAM role, the skill being linked must be a private
5767// skill. Also, the skill must be owned by the AWS account that assumed the
5768// IAM role.
5769//
5770// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5771// with awserr.Error's Code and Message methods to get detailed information about
5772// the error.
5773//
5774// See the AWS API reference guide for Alexa For Business's
5775// API operation PutSkillAuthorization for usage and error information.
5776//
5777// Returned Error Types:
5778//   * UnauthorizedException
5779//   The caller has no permissions to operate on the resource involved in the
5780//   API call.
5781//
5782//   * ConcurrentModificationException
5783//   There is a concurrent modification of resources.
5784//
5785// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/PutSkillAuthorization
5786func (c *AlexaForBusiness) PutSkillAuthorization(input *PutSkillAuthorizationInput) (*PutSkillAuthorizationOutput, error) {
5787	req, out := c.PutSkillAuthorizationRequest(input)
5788	return out, req.Send()
5789}
5790
5791// PutSkillAuthorizationWithContext is the same as PutSkillAuthorization with the addition of
5792// the ability to pass a context and additional request options.
5793//
5794// See PutSkillAuthorization for details on how to use this API operation.
5795//
5796// The context must be non-nil and will be used for request cancellation. If
5797// the context is nil a panic will occur. In the future the SDK may create
5798// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5799// for more information on using Contexts.
5800func (c *AlexaForBusiness) PutSkillAuthorizationWithContext(ctx aws.Context, input *PutSkillAuthorizationInput, opts ...request.Option) (*PutSkillAuthorizationOutput, error) {
5801	req, out := c.PutSkillAuthorizationRequest(input)
5802	req.SetContext(ctx)
5803	req.ApplyOptions(opts...)
5804	return out, req.Send()
5805}
5806
5807const opRegisterAVSDevice = "RegisterAVSDevice"
5808
5809// RegisterAVSDeviceRequest generates a "aws/request.Request" representing the
5810// client's request for the RegisterAVSDevice operation. The "output" return
5811// value will be populated with the request's response once the request completes
5812// successfully.
5813//
5814// Use "Send" method on the returned Request to send the API call to the service.
5815// the "output" return value is not valid until after Send returns without error.
5816//
5817// See RegisterAVSDevice for more information on using the RegisterAVSDevice
5818// API call, and error handling.
5819//
5820// This method is useful when you want to inject custom logic or configuration
5821// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5822//
5823//
5824//    // Example sending a request using the RegisterAVSDeviceRequest method.
5825//    req, resp := client.RegisterAVSDeviceRequest(params)
5826//
5827//    err := req.Send()
5828//    if err == nil { // resp is now filled
5829//        fmt.Println(resp)
5830//    }
5831//
5832// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/RegisterAVSDevice
5833func (c *AlexaForBusiness) RegisterAVSDeviceRequest(input *RegisterAVSDeviceInput) (req *request.Request, output *RegisterAVSDeviceOutput) {
5834	op := &request.Operation{
5835		Name:       opRegisterAVSDevice,
5836		HTTPMethod: "POST",
5837		HTTPPath:   "/",
5838	}
5839
5840	if input == nil {
5841		input = &RegisterAVSDeviceInput{}
5842	}
5843
5844	output = &RegisterAVSDeviceOutput{}
5845	req = c.newRequest(op, input, output)
5846	return
5847}
5848
5849// RegisterAVSDevice API operation for Alexa For Business.
5850//
5851// Registers an Alexa-enabled device built by an Original Equipment Manufacturer
5852// (OEM) using Alexa Voice Service (AVS).
5853//
5854// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5855// with awserr.Error's Code and Message methods to get detailed information about
5856// the error.
5857//
5858// See the AWS API reference guide for Alexa For Business's
5859// API operation RegisterAVSDevice for usage and error information.
5860//
5861// Returned Error Types:
5862//   * LimitExceededException
5863//   You are performing an action that would put you beyond your account's limits.
5864//
5865//   * ConcurrentModificationException
5866//   There is a concurrent modification of resources.
5867//
5868//   * NotFoundException
5869//   The resource is not found.
5870//
5871//   * InvalidDeviceException
5872//   The device is in an invalid state.
5873//
5874// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/RegisterAVSDevice
5875func (c *AlexaForBusiness) RegisterAVSDevice(input *RegisterAVSDeviceInput) (*RegisterAVSDeviceOutput, error) {
5876	req, out := c.RegisterAVSDeviceRequest(input)
5877	return out, req.Send()
5878}
5879
5880// RegisterAVSDeviceWithContext is the same as RegisterAVSDevice with the addition of
5881// the ability to pass a context and additional request options.
5882//
5883// See RegisterAVSDevice for details on how to use this API operation.
5884//
5885// The context must be non-nil and will be used for request cancellation. If
5886// the context is nil a panic will occur. In the future the SDK may create
5887// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5888// for more information on using Contexts.
5889func (c *AlexaForBusiness) RegisterAVSDeviceWithContext(ctx aws.Context, input *RegisterAVSDeviceInput, opts ...request.Option) (*RegisterAVSDeviceOutput, error) {
5890	req, out := c.RegisterAVSDeviceRequest(input)
5891	req.SetContext(ctx)
5892	req.ApplyOptions(opts...)
5893	return out, req.Send()
5894}
5895
5896const opRejectSkill = "RejectSkill"
5897
5898// RejectSkillRequest generates a "aws/request.Request" representing the
5899// client's request for the RejectSkill operation. The "output" return
5900// value will be populated with the request's response once the request completes
5901// successfully.
5902//
5903// Use "Send" method on the returned Request to send the API call to the service.
5904// the "output" return value is not valid until after Send returns without error.
5905//
5906// See RejectSkill for more information on using the RejectSkill
5907// API call, and error handling.
5908//
5909// This method is useful when you want to inject custom logic or configuration
5910// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5911//
5912//
5913//    // Example sending a request using the RejectSkillRequest method.
5914//    req, resp := client.RejectSkillRequest(params)
5915//
5916//    err := req.Send()
5917//    if err == nil { // resp is now filled
5918//        fmt.Println(resp)
5919//    }
5920//
5921// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/RejectSkill
5922func (c *AlexaForBusiness) RejectSkillRequest(input *RejectSkillInput) (req *request.Request, output *RejectSkillOutput) {
5923	op := &request.Operation{
5924		Name:       opRejectSkill,
5925		HTTPMethod: "POST",
5926		HTTPPath:   "/",
5927	}
5928
5929	if input == nil {
5930		input = &RejectSkillInput{}
5931	}
5932
5933	output = &RejectSkillOutput{}
5934	req = c.newRequest(op, input, output)
5935	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5936	return
5937}
5938
5939// RejectSkill API operation for Alexa For Business.
5940//
5941// Disassociates a skill from the organization under a user's AWS account. If
5942// the skill is a private skill, it moves to an AcceptStatus of PENDING. Any
5943// private or public skill that is rejected can be added later by calling the
5944// ApproveSkill API.
5945//
5946// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5947// with awserr.Error's Code and Message methods to get detailed information about
5948// the error.
5949//
5950// See the AWS API reference guide for Alexa For Business's
5951// API operation RejectSkill for usage and error information.
5952//
5953// Returned Error Types:
5954//   * ConcurrentModificationException
5955//   There is a concurrent modification of resources.
5956//
5957//   * NotFoundException
5958//   The resource is not found.
5959//
5960// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/RejectSkill
5961func (c *AlexaForBusiness) RejectSkill(input *RejectSkillInput) (*RejectSkillOutput, error) {
5962	req, out := c.RejectSkillRequest(input)
5963	return out, req.Send()
5964}
5965
5966// RejectSkillWithContext is the same as RejectSkill with the addition of
5967// the ability to pass a context and additional request options.
5968//
5969// See RejectSkill for details on how to use this API operation.
5970//
5971// The context must be non-nil and will be used for request cancellation. If
5972// the context is nil a panic will occur. In the future the SDK may create
5973// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5974// for more information on using Contexts.
5975func (c *AlexaForBusiness) RejectSkillWithContext(ctx aws.Context, input *RejectSkillInput, opts ...request.Option) (*RejectSkillOutput, error) {
5976	req, out := c.RejectSkillRequest(input)
5977	req.SetContext(ctx)
5978	req.ApplyOptions(opts...)
5979	return out, req.Send()
5980}
5981
5982const opResolveRoom = "ResolveRoom"
5983
5984// ResolveRoomRequest generates a "aws/request.Request" representing the
5985// client's request for the ResolveRoom operation. The "output" return
5986// value will be populated with the request's response once the request completes
5987// successfully.
5988//
5989// Use "Send" method on the returned Request to send the API call to the service.
5990// the "output" return value is not valid until after Send returns without error.
5991//
5992// See ResolveRoom for more information on using the ResolveRoom
5993// API call, and error handling.
5994//
5995// This method is useful when you want to inject custom logic or configuration
5996// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5997//
5998//
5999//    // Example sending a request using the ResolveRoomRequest method.
6000//    req, resp := client.ResolveRoomRequest(params)
6001//
6002//    err := req.Send()
6003//    if err == nil { // resp is now filled
6004//        fmt.Println(resp)
6005//    }
6006//
6007// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ResolveRoom
6008func (c *AlexaForBusiness) ResolveRoomRequest(input *ResolveRoomInput) (req *request.Request, output *ResolveRoomOutput) {
6009	op := &request.Operation{
6010		Name:       opResolveRoom,
6011		HTTPMethod: "POST",
6012		HTTPPath:   "/",
6013	}
6014
6015	if input == nil {
6016		input = &ResolveRoomInput{}
6017	}
6018
6019	output = &ResolveRoomOutput{}
6020	req = c.newRequest(op, input, output)
6021	return
6022}
6023
6024// ResolveRoom API operation for Alexa For Business.
6025//
6026// Determines the details for the room from which a skill request was invoked.
6027// This operation is used by skill developers.
6028//
6029// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6030// with awserr.Error's Code and Message methods to get detailed information about
6031// the error.
6032//
6033// See the AWS API reference guide for Alexa For Business's
6034// API operation ResolveRoom for usage and error information.
6035//
6036// Returned Error Types:
6037//   * NotFoundException
6038//   The resource is not found.
6039//
6040// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/ResolveRoom
6041func (c *AlexaForBusiness) ResolveRoom(input *ResolveRoomInput) (*ResolveRoomOutput, error) {
6042	req, out := c.ResolveRoomRequest(input)
6043	return out, req.Send()
6044}
6045
6046// ResolveRoomWithContext is the same as ResolveRoom with the addition of
6047// the ability to pass a context and additional request options.
6048//
6049// See ResolveRoom for details on how to use this API operation.
6050//
6051// The context must be non-nil and will be used for request cancellation. If
6052// the context is nil a panic will occur. In the future the SDK may create
6053// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6054// for more information on using Contexts.
6055func (c *AlexaForBusiness) ResolveRoomWithContext(ctx aws.Context, input *ResolveRoomInput, opts ...request.Option) (*ResolveRoomOutput, error) {
6056	req, out := c.ResolveRoomRequest(input)
6057	req.SetContext(ctx)
6058	req.ApplyOptions(opts...)
6059	return out, req.Send()
6060}
6061
6062const opRevokeInvitation = "RevokeInvitation"
6063
6064// RevokeInvitationRequest generates a "aws/request.Request" representing the
6065// client's request for the RevokeInvitation operation. The "output" return
6066// value will be populated with the request's response once the request completes
6067// successfully.
6068//
6069// Use "Send" method on the returned Request to send the API call to the service.
6070// the "output" return value is not valid until after Send returns without error.
6071//
6072// See RevokeInvitation for more information on using the RevokeInvitation
6073// API call, and error handling.
6074//
6075// This method is useful when you want to inject custom logic or configuration
6076// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6077//
6078//
6079//    // Example sending a request using the RevokeInvitationRequest method.
6080//    req, resp := client.RevokeInvitationRequest(params)
6081//
6082//    err := req.Send()
6083//    if err == nil { // resp is now filled
6084//        fmt.Println(resp)
6085//    }
6086//
6087// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/RevokeInvitation
6088func (c *AlexaForBusiness) RevokeInvitationRequest(input *RevokeInvitationInput) (req *request.Request, output *RevokeInvitationOutput) {
6089	op := &request.Operation{
6090		Name:       opRevokeInvitation,
6091		HTTPMethod: "POST",
6092		HTTPPath:   "/",
6093	}
6094
6095	if input == nil {
6096		input = &RevokeInvitationInput{}
6097	}
6098
6099	output = &RevokeInvitationOutput{}
6100	req = c.newRequest(op, input, output)
6101	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6102	return
6103}
6104
6105// RevokeInvitation API operation for Alexa For Business.
6106//
6107// Revokes an invitation and invalidates the enrollment URL.
6108//
6109// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6110// with awserr.Error's Code and Message methods to get detailed information about
6111// the error.
6112//
6113// See the AWS API reference guide for Alexa For Business's
6114// API operation RevokeInvitation for usage and error information.
6115//
6116// Returned Error Types:
6117//   * NotFoundException
6118//   The resource is not found.
6119//
6120//   * ConcurrentModificationException
6121//   There is a concurrent modification of resources.
6122//
6123// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/RevokeInvitation
6124func (c *AlexaForBusiness) RevokeInvitation(input *RevokeInvitationInput) (*RevokeInvitationOutput, error) {
6125	req, out := c.RevokeInvitationRequest(input)
6126	return out, req.Send()
6127}
6128
6129// RevokeInvitationWithContext is the same as RevokeInvitation with the addition of
6130// the ability to pass a context and additional request options.
6131//
6132// See RevokeInvitation for details on how to use this API operation.
6133//
6134// The context must be non-nil and will be used for request cancellation. If
6135// the context is nil a panic will occur. In the future the SDK may create
6136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6137// for more information on using Contexts.
6138func (c *AlexaForBusiness) RevokeInvitationWithContext(ctx aws.Context, input *RevokeInvitationInput, opts ...request.Option) (*RevokeInvitationOutput, error) {
6139	req, out := c.RevokeInvitationRequest(input)
6140	req.SetContext(ctx)
6141	req.ApplyOptions(opts...)
6142	return out, req.Send()
6143}
6144
6145const opSearchAddressBooks = "SearchAddressBooks"
6146
6147// SearchAddressBooksRequest generates a "aws/request.Request" representing the
6148// client's request for the SearchAddressBooks operation. The "output" return
6149// value will be populated with the request's response once the request completes
6150// successfully.
6151//
6152// Use "Send" method on the returned Request to send the API call to the service.
6153// the "output" return value is not valid until after Send returns without error.
6154//
6155// See SearchAddressBooks for more information on using the SearchAddressBooks
6156// API call, and error handling.
6157//
6158// This method is useful when you want to inject custom logic or configuration
6159// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6160//
6161//
6162//    // Example sending a request using the SearchAddressBooksRequest method.
6163//    req, resp := client.SearchAddressBooksRequest(params)
6164//
6165//    err := req.Send()
6166//    if err == nil { // resp is now filled
6167//        fmt.Println(resp)
6168//    }
6169//
6170// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchAddressBooks
6171func (c *AlexaForBusiness) SearchAddressBooksRequest(input *SearchAddressBooksInput) (req *request.Request, output *SearchAddressBooksOutput) {
6172	op := &request.Operation{
6173		Name:       opSearchAddressBooks,
6174		HTTPMethod: "POST",
6175		HTTPPath:   "/",
6176		Paginator: &request.Paginator{
6177			InputTokens:     []string{"NextToken"},
6178			OutputTokens:    []string{"NextToken"},
6179			LimitToken:      "MaxResults",
6180			TruncationToken: "",
6181		},
6182	}
6183
6184	if input == nil {
6185		input = &SearchAddressBooksInput{}
6186	}
6187
6188	output = &SearchAddressBooksOutput{}
6189	req = c.newRequest(op, input, output)
6190	return
6191}
6192
6193// SearchAddressBooks API operation for Alexa For Business.
6194//
6195// Searches address books and lists the ones that meet a set of filter and sort
6196// criteria.
6197//
6198// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6199// with awserr.Error's Code and Message methods to get detailed information about
6200// the error.
6201//
6202// See the AWS API reference guide for Alexa For Business's
6203// API operation SearchAddressBooks for usage and error information.
6204// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchAddressBooks
6205func (c *AlexaForBusiness) SearchAddressBooks(input *SearchAddressBooksInput) (*SearchAddressBooksOutput, error) {
6206	req, out := c.SearchAddressBooksRequest(input)
6207	return out, req.Send()
6208}
6209
6210// SearchAddressBooksWithContext is the same as SearchAddressBooks with the addition of
6211// the ability to pass a context and additional request options.
6212//
6213// See SearchAddressBooks for details on how to use this API operation.
6214//
6215// The context must be non-nil and will be used for request cancellation. If
6216// the context is nil a panic will occur. In the future the SDK may create
6217// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6218// for more information on using Contexts.
6219func (c *AlexaForBusiness) SearchAddressBooksWithContext(ctx aws.Context, input *SearchAddressBooksInput, opts ...request.Option) (*SearchAddressBooksOutput, error) {
6220	req, out := c.SearchAddressBooksRequest(input)
6221	req.SetContext(ctx)
6222	req.ApplyOptions(opts...)
6223	return out, req.Send()
6224}
6225
6226// SearchAddressBooksPages iterates over the pages of a SearchAddressBooks operation,
6227// calling the "fn" function with the response data for each page. To stop
6228// iterating, return false from the fn function.
6229//
6230// See SearchAddressBooks method for more information on how to use this operation.
6231//
6232// Note: This operation can generate multiple requests to a service.
6233//
6234//    // Example iterating over at most 3 pages of a SearchAddressBooks operation.
6235//    pageNum := 0
6236//    err := client.SearchAddressBooksPages(params,
6237//        func(page *alexaforbusiness.SearchAddressBooksOutput, lastPage bool) bool {
6238//            pageNum++
6239//            fmt.Println(page)
6240//            return pageNum <= 3
6241//        })
6242//
6243func (c *AlexaForBusiness) SearchAddressBooksPages(input *SearchAddressBooksInput, fn func(*SearchAddressBooksOutput, bool) bool) error {
6244	return c.SearchAddressBooksPagesWithContext(aws.BackgroundContext(), input, fn)
6245}
6246
6247// SearchAddressBooksPagesWithContext same as SearchAddressBooksPages except
6248// it takes a Context and allows setting request options on the pages.
6249//
6250// The context must be non-nil and will be used for request cancellation. If
6251// the context is nil a panic will occur. In the future the SDK may create
6252// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6253// for more information on using Contexts.
6254func (c *AlexaForBusiness) SearchAddressBooksPagesWithContext(ctx aws.Context, input *SearchAddressBooksInput, fn func(*SearchAddressBooksOutput, bool) bool, opts ...request.Option) error {
6255	p := request.Pagination{
6256		NewRequest: func() (*request.Request, error) {
6257			var inCpy *SearchAddressBooksInput
6258			if input != nil {
6259				tmp := *input
6260				inCpy = &tmp
6261			}
6262			req, _ := c.SearchAddressBooksRequest(inCpy)
6263			req.SetContext(ctx)
6264			req.ApplyOptions(opts...)
6265			return req, nil
6266		},
6267	}
6268
6269	for p.Next() {
6270		if !fn(p.Page().(*SearchAddressBooksOutput), !p.HasNextPage()) {
6271			break
6272		}
6273	}
6274
6275	return p.Err()
6276}
6277
6278const opSearchContacts = "SearchContacts"
6279
6280// SearchContactsRequest generates a "aws/request.Request" representing the
6281// client's request for the SearchContacts operation. The "output" return
6282// value will be populated with the request's response once the request completes
6283// successfully.
6284//
6285// Use "Send" method on the returned Request to send the API call to the service.
6286// the "output" return value is not valid until after Send returns without error.
6287//
6288// See SearchContacts for more information on using the SearchContacts
6289// API call, and error handling.
6290//
6291// This method is useful when you want to inject custom logic or configuration
6292// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6293//
6294//
6295//    // Example sending a request using the SearchContactsRequest method.
6296//    req, resp := client.SearchContactsRequest(params)
6297//
6298//    err := req.Send()
6299//    if err == nil { // resp is now filled
6300//        fmt.Println(resp)
6301//    }
6302//
6303// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchContacts
6304func (c *AlexaForBusiness) SearchContactsRequest(input *SearchContactsInput) (req *request.Request, output *SearchContactsOutput) {
6305	op := &request.Operation{
6306		Name:       opSearchContacts,
6307		HTTPMethod: "POST",
6308		HTTPPath:   "/",
6309		Paginator: &request.Paginator{
6310			InputTokens:     []string{"NextToken"},
6311			OutputTokens:    []string{"NextToken"},
6312			LimitToken:      "MaxResults",
6313			TruncationToken: "",
6314		},
6315	}
6316
6317	if input == nil {
6318		input = &SearchContactsInput{}
6319	}
6320
6321	output = &SearchContactsOutput{}
6322	req = c.newRequest(op, input, output)
6323	return
6324}
6325
6326// SearchContacts API operation for Alexa For Business.
6327//
6328// Searches contacts and lists the ones that meet a set of filter and sort criteria.
6329//
6330// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6331// with awserr.Error's Code and Message methods to get detailed information about
6332// the error.
6333//
6334// See the AWS API reference guide for Alexa For Business's
6335// API operation SearchContacts for usage and error information.
6336// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchContacts
6337func (c *AlexaForBusiness) SearchContacts(input *SearchContactsInput) (*SearchContactsOutput, error) {
6338	req, out := c.SearchContactsRequest(input)
6339	return out, req.Send()
6340}
6341
6342// SearchContactsWithContext is the same as SearchContacts with the addition of
6343// the ability to pass a context and additional request options.
6344//
6345// See SearchContacts for details on how to use this API operation.
6346//
6347// The context must be non-nil and will be used for request cancellation. If
6348// the context is nil a panic will occur. In the future the SDK may create
6349// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6350// for more information on using Contexts.
6351func (c *AlexaForBusiness) SearchContactsWithContext(ctx aws.Context, input *SearchContactsInput, opts ...request.Option) (*SearchContactsOutput, error) {
6352	req, out := c.SearchContactsRequest(input)
6353	req.SetContext(ctx)
6354	req.ApplyOptions(opts...)
6355	return out, req.Send()
6356}
6357
6358// SearchContactsPages iterates over the pages of a SearchContacts operation,
6359// calling the "fn" function with the response data for each page. To stop
6360// iterating, return false from the fn function.
6361//
6362// See SearchContacts method for more information on how to use this operation.
6363//
6364// Note: This operation can generate multiple requests to a service.
6365//
6366//    // Example iterating over at most 3 pages of a SearchContacts operation.
6367//    pageNum := 0
6368//    err := client.SearchContactsPages(params,
6369//        func(page *alexaforbusiness.SearchContactsOutput, lastPage bool) bool {
6370//            pageNum++
6371//            fmt.Println(page)
6372//            return pageNum <= 3
6373//        })
6374//
6375func (c *AlexaForBusiness) SearchContactsPages(input *SearchContactsInput, fn func(*SearchContactsOutput, bool) bool) error {
6376	return c.SearchContactsPagesWithContext(aws.BackgroundContext(), input, fn)
6377}
6378
6379// SearchContactsPagesWithContext same as SearchContactsPages except
6380// it takes a Context and allows setting request options on the pages.
6381//
6382// The context must be non-nil and will be used for request cancellation. If
6383// the context is nil a panic will occur. In the future the SDK may create
6384// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6385// for more information on using Contexts.
6386func (c *AlexaForBusiness) SearchContactsPagesWithContext(ctx aws.Context, input *SearchContactsInput, fn func(*SearchContactsOutput, bool) bool, opts ...request.Option) error {
6387	p := request.Pagination{
6388		NewRequest: func() (*request.Request, error) {
6389			var inCpy *SearchContactsInput
6390			if input != nil {
6391				tmp := *input
6392				inCpy = &tmp
6393			}
6394			req, _ := c.SearchContactsRequest(inCpy)
6395			req.SetContext(ctx)
6396			req.ApplyOptions(opts...)
6397			return req, nil
6398		},
6399	}
6400
6401	for p.Next() {
6402		if !fn(p.Page().(*SearchContactsOutput), !p.HasNextPage()) {
6403			break
6404		}
6405	}
6406
6407	return p.Err()
6408}
6409
6410const opSearchDevices = "SearchDevices"
6411
6412// SearchDevicesRequest generates a "aws/request.Request" representing the
6413// client's request for the SearchDevices operation. The "output" return
6414// value will be populated with the request's response once the request completes
6415// successfully.
6416//
6417// Use "Send" method on the returned Request to send the API call to the service.
6418// the "output" return value is not valid until after Send returns without error.
6419//
6420// See SearchDevices for more information on using the SearchDevices
6421// API call, and error handling.
6422//
6423// This method is useful when you want to inject custom logic or configuration
6424// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6425//
6426//
6427//    // Example sending a request using the SearchDevicesRequest method.
6428//    req, resp := client.SearchDevicesRequest(params)
6429//
6430//    err := req.Send()
6431//    if err == nil { // resp is now filled
6432//        fmt.Println(resp)
6433//    }
6434//
6435// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchDevices
6436func (c *AlexaForBusiness) SearchDevicesRequest(input *SearchDevicesInput) (req *request.Request, output *SearchDevicesOutput) {
6437	op := &request.Operation{
6438		Name:       opSearchDevices,
6439		HTTPMethod: "POST",
6440		HTTPPath:   "/",
6441		Paginator: &request.Paginator{
6442			InputTokens:     []string{"NextToken"},
6443			OutputTokens:    []string{"NextToken"},
6444			LimitToken:      "MaxResults",
6445			TruncationToken: "",
6446		},
6447	}
6448
6449	if input == nil {
6450		input = &SearchDevicesInput{}
6451	}
6452
6453	output = &SearchDevicesOutput{}
6454	req = c.newRequest(op, input, output)
6455	return
6456}
6457
6458// SearchDevices API operation for Alexa For Business.
6459//
6460// Searches devices and lists the ones that meet a set of filter criteria.
6461//
6462// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6463// with awserr.Error's Code and Message methods to get detailed information about
6464// the error.
6465//
6466// See the AWS API reference guide for Alexa For Business's
6467// API operation SearchDevices for usage and error information.
6468// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchDevices
6469func (c *AlexaForBusiness) SearchDevices(input *SearchDevicesInput) (*SearchDevicesOutput, error) {
6470	req, out := c.SearchDevicesRequest(input)
6471	return out, req.Send()
6472}
6473
6474// SearchDevicesWithContext is the same as SearchDevices with the addition of
6475// the ability to pass a context and additional request options.
6476//
6477// See SearchDevices for details on how to use this API operation.
6478//
6479// The context must be non-nil and will be used for request cancellation. If
6480// the context is nil a panic will occur. In the future the SDK may create
6481// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6482// for more information on using Contexts.
6483func (c *AlexaForBusiness) SearchDevicesWithContext(ctx aws.Context, input *SearchDevicesInput, opts ...request.Option) (*SearchDevicesOutput, error) {
6484	req, out := c.SearchDevicesRequest(input)
6485	req.SetContext(ctx)
6486	req.ApplyOptions(opts...)
6487	return out, req.Send()
6488}
6489
6490// SearchDevicesPages iterates over the pages of a SearchDevices operation,
6491// calling the "fn" function with the response data for each page. To stop
6492// iterating, return false from the fn function.
6493//
6494// See SearchDevices method for more information on how to use this operation.
6495//
6496// Note: This operation can generate multiple requests to a service.
6497//
6498//    // Example iterating over at most 3 pages of a SearchDevices operation.
6499//    pageNum := 0
6500//    err := client.SearchDevicesPages(params,
6501//        func(page *alexaforbusiness.SearchDevicesOutput, lastPage bool) bool {
6502//            pageNum++
6503//            fmt.Println(page)
6504//            return pageNum <= 3
6505//        })
6506//
6507func (c *AlexaForBusiness) SearchDevicesPages(input *SearchDevicesInput, fn func(*SearchDevicesOutput, bool) bool) error {
6508	return c.SearchDevicesPagesWithContext(aws.BackgroundContext(), input, fn)
6509}
6510
6511// SearchDevicesPagesWithContext same as SearchDevicesPages except
6512// it takes a Context and allows setting request options on the pages.
6513//
6514// The context must be non-nil and will be used for request cancellation. If
6515// the context is nil a panic will occur. In the future the SDK may create
6516// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6517// for more information on using Contexts.
6518func (c *AlexaForBusiness) SearchDevicesPagesWithContext(ctx aws.Context, input *SearchDevicesInput, fn func(*SearchDevicesOutput, bool) bool, opts ...request.Option) error {
6519	p := request.Pagination{
6520		NewRequest: func() (*request.Request, error) {
6521			var inCpy *SearchDevicesInput
6522			if input != nil {
6523				tmp := *input
6524				inCpy = &tmp
6525			}
6526			req, _ := c.SearchDevicesRequest(inCpy)
6527			req.SetContext(ctx)
6528			req.ApplyOptions(opts...)
6529			return req, nil
6530		},
6531	}
6532
6533	for p.Next() {
6534		if !fn(p.Page().(*SearchDevicesOutput), !p.HasNextPage()) {
6535			break
6536		}
6537	}
6538
6539	return p.Err()
6540}
6541
6542const opSearchNetworkProfiles = "SearchNetworkProfiles"
6543
6544// SearchNetworkProfilesRequest generates a "aws/request.Request" representing the
6545// client's request for the SearchNetworkProfiles operation. The "output" return
6546// value will be populated with the request's response once the request completes
6547// successfully.
6548//
6549// Use "Send" method on the returned Request to send the API call to the service.
6550// the "output" return value is not valid until after Send returns without error.
6551//
6552// See SearchNetworkProfiles for more information on using the SearchNetworkProfiles
6553// API call, and error handling.
6554//
6555// This method is useful when you want to inject custom logic or configuration
6556// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6557//
6558//
6559//    // Example sending a request using the SearchNetworkProfilesRequest method.
6560//    req, resp := client.SearchNetworkProfilesRequest(params)
6561//
6562//    err := req.Send()
6563//    if err == nil { // resp is now filled
6564//        fmt.Println(resp)
6565//    }
6566//
6567// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchNetworkProfiles
6568func (c *AlexaForBusiness) SearchNetworkProfilesRequest(input *SearchNetworkProfilesInput) (req *request.Request, output *SearchNetworkProfilesOutput) {
6569	op := &request.Operation{
6570		Name:       opSearchNetworkProfiles,
6571		HTTPMethod: "POST",
6572		HTTPPath:   "/",
6573		Paginator: &request.Paginator{
6574			InputTokens:     []string{"NextToken"},
6575			OutputTokens:    []string{"NextToken"},
6576			LimitToken:      "MaxResults",
6577			TruncationToken: "",
6578		},
6579	}
6580
6581	if input == nil {
6582		input = &SearchNetworkProfilesInput{}
6583	}
6584
6585	output = &SearchNetworkProfilesOutput{}
6586	req = c.newRequest(op, input, output)
6587	return
6588}
6589
6590// SearchNetworkProfiles API operation for Alexa For Business.
6591//
6592// Searches network profiles and lists the ones that meet a set of filter and
6593// sort criteria.
6594//
6595// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6596// with awserr.Error's Code and Message methods to get detailed information about
6597// the error.
6598//
6599// See the AWS API reference guide for Alexa For Business's
6600// API operation SearchNetworkProfiles for usage and error information.
6601// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchNetworkProfiles
6602func (c *AlexaForBusiness) SearchNetworkProfiles(input *SearchNetworkProfilesInput) (*SearchNetworkProfilesOutput, error) {
6603	req, out := c.SearchNetworkProfilesRequest(input)
6604	return out, req.Send()
6605}
6606
6607// SearchNetworkProfilesWithContext is the same as SearchNetworkProfiles with the addition of
6608// the ability to pass a context and additional request options.
6609//
6610// See SearchNetworkProfiles for details on how to use this API operation.
6611//
6612// The context must be non-nil and will be used for request cancellation. If
6613// the context is nil a panic will occur. In the future the SDK may create
6614// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6615// for more information on using Contexts.
6616func (c *AlexaForBusiness) SearchNetworkProfilesWithContext(ctx aws.Context, input *SearchNetworkProfilesInput, opts ...request.Option) (*SearchNetworkProfilesOutput, error) {
6617	req, out := c.SearchNetworkProfilesRequest(input)
6618	req.SetContext(ctx)
6619	req.ApplyOptions(opts...)
6620	return out, req.Send()
6621}
6622
6623// SearchNetworkProfilesPages iterates over the pages of a SearchNetworkProfiles operation,
6624// calling the "fn" function with the response data for each page. To stop
6625// iterating, return false from the fn function.
6626//
6627// See SearchNetworkProfiles method for more information on how to use this operation.
6628//
6629// Note: This operation can generate multiple requests to a service.
6630//
6631//    // Example iterating over at most 3 pages of a SearchNetworkProfiles operation.
6632//    pageNum := 0
6633//    err := client.SearchNetworkProfilesPages(params,
6634//        func(page *alexaforbusiness.SearchNetworkProfilesOutput, lastPage bool) bool {
6635//            pageNum++
6636//            fmt.Println(page)
6637//            return pageNum <= 3
6638//        })
6639//
6640func (c *AlexaForBusiness) SearchNetworkProfilesPages(input *SearchNetworkProfilesInput, fn func(*SearchNetworkProfilesOutput, bool) bool) error {
6641	return c.SearchNetworkProfilesPagesWithContext(aws.BackgroundContext(), input, fn)
6642}
6643
6644// SearchNetworkProfilesPagesWithContext same as SearchNetworkProfilesPages except
6645// it takes a Context and allows setting request options on the pages.
6646//
6647// The context must be non-nil and will be used for request cancellation. If
6648// the context is nil a panic will occur. In the future the SDK may create
6649// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6650// for more information on using Contexts.
6651func (c *AlexaForBusiness) SearchNetworkProfilesPagesWithContext(ctx aws.Context, input *SearchNetworkProfilesInput, fn func(*SearchNetworkProfilesOutput, bool) bool, opts ...request.Option) error {
6652	p := request.Pagination{
6653		NewRequest: func() (*request.Request, error) {
6654			var inCpy *SearchNetworkProfilesInput
6655			if input != nil {
6656				tmp := *input
6657				inCpy = &tmp
6658			}
6659			req, _ := c.SearchNetworkProfilesRequest(inCpy)
6660			req.SetContext(ctx)
6661			req.ApplyOptions(opts...)
6662			return req, nil
6663		},
6664	}
6665
6666	for p.Next() {
6667		if !fn(p.Page().(*SearchNetworkProfilesOutput), !p.HasNextPage()) {
6668			break
6669		}
6670	}
6671
6672	return p.Err()
6673}
6674
6675const opSearchProfiles = "SearchProfiles"
6676
6677// SearchProfilesRequest generates a "aws/request.Request" representing the
6678// client's request for the SearchProfiles operation. The "output" return
6679// value will be populated with the request's response once the request completes
6680// successfully.
6681//
6682// Use "Send" method on the returned Request to send the API call to the service.
6683// the "output" return value is not valid until after Send returns without error.
6684//
6685// See SearchProfiles for more information on using the SearchProfiles
6686// API call, and error handling.
6687//
6688// This method is useful when you want to inject custom logic or configuration
6689// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6690//
6691//
6692//    // Example sending a request using the SearchProfilesRequest method.
6693//    req, resp := client.SearchProfilesRequest(params)
6694//
6695//    err := req.Send()
6696//    if err == nil { // resp is now filled
6697//        fmt.Println(resp)
6698//    }
6699//
6700// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchProfiles
6701func (c *AlexaForBusiness) SearchProfilesRequest(input *SearchProfilesInput) (req *request.Request, output *SearchProfilesOutput) {
6702	op := &request.Operation{
6703		Name:       opSearchProfiles,
6704		HTTPMethod: "POST",
6705		HTTPPath:   "/",
6706		Paginator: &request.Paginator{
6707			InputTokens:     []string{"NextToken"},
6708			OutputTokens:    []string{"NextToken"},
6709			LimitToken:      "MaxResults",
6710			TruncationToken: "",
6711		},
6712	}
6713
6714	if input == nil {
6715		input = &SearchProfilesInput{}
6716	}
6717
6718	output = &SearchProfilesOutput{}
6719	req = c.newRequest(op, input, output)
6720	return
6721}
6722
6723// SearchProfiles API operation for Alexa For Business.
6724//
6725// Searches room profiles and lists the ones that meet a set of filter criteria.
6726//
6727// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6728// with awserr.Error's Code and Message methods to get detailed information about
6729// the error.
6730//
6731// See the AWS API reference guide for Alexa For Business's
6732// API operation SearchProfiles for usage and error information.
6733// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchProfiles
6734func (c *AlexaForBusiness) SearchProfiles(input *SearchProfilesInput) (*SearchProfilesOutput, error) {
6735	req, out := c.SearchProfilesRequest(input)
6736	return out, req.Send()
6737}
6738
6739// SearchProfilesWithContext is the same as SearchProfiles with the addition of
6740// the ability to pass a context and additional request options.
6741//
6742// See SearchProfiles for details on how to use this API operation.
6743//
6744// The context must be non-nil and will be used for request cancellation. If
6745// the context is nil a panic will occur. In the future the SDK may create
6746// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6747// for more information on using Contexts.
6748func (c *AlexaForBusiness) SearchProfilesWithContext(ctx aws.Context, input *SearchProfilesInput, opts ...request.Option) (*SearchProfilesOutput, error) {
6749	req, out := c.SearchProfilesRequest(input)
6750	req.SetContext(ctx)
6751	req.ApplyOptions(opts...)
6752	return out, req.Send()
6753}
6754
6755// SearchProfilesPages iterates over the pages of a SearchProfiles operation,
6756// calling the "fn" function with the response data for each page. To stop
6757// iterating, return false from the fn function.
6758//
6759// See SearchProfiles method for more information on how to use this operation.
6760//
6761// Note: This operation can generate multiple requests to a service.
6762//
6763//    // Example iterating over at most 3 pages of a SearchProfiles operation.
6764//    pageNum := 0
6765//    err := client.SearchProfilesPages(params,
6766//        func(page *alexaforbusiness.SearchProfilesOutput, lastPage bool) bool {
6767//            pageNum++
6768//            fmt.Println(page)
6769//            return pageNum <= 3
6770//        })
6771//
6772func (c *AlexaForBusiness) SearchProfilesPages(input *SearchProfilesInput, fn func(*SearchProfilesOutput, bool) bool) error {
6773	return c.SearchProfilesPagesWithContext(aws.BackgroundContext(), input, fn)
6774}
6775
6776// SearchProfilesPagesWithContext same as SearchProfilesPages except
6777// it takes a Context and allows setting request options on the pages.
6778//
6779// The context must be non-nil and will be used for request cancellation. If
6780// the context is nil a panic will occur. In the future the SDK may create
6781// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6782// for more information on using Contexts.
6783func (c *AlexaForBusiness) SearchProfilesPagesWithContext(ctx aws.Context, input *SearchProfilesInput, fn func(*SearchProfilesOutput, bool) bool, opts ...request.Option) error {
6784	p := request.Pagination{
6785		NewRequest: func() (*request.Request, error) {
6786			var inCpy *SearchProfilesInput
6787			if input != nil {
6788				tmp := *input
6789				inCpy = &tmp
6790			}
6791			req, _ := c.SearchProfilesRequest(inCpy)
6792			req.SetContext(ctx)
6793			req.ApplyOptions(opts...)
6794			return req, nil
6795		},
6796	}
6797
6798	for p.Next() {
6799		if !fn(p.Page().(*SearchProfilesOutput), !p.HasNextPage()) {
6800			break
6801		}
6802	}
6803
6804	return p.Err()
6805}
6806
6807const opSearchRooms = "SearchRooms"
6808
6809// SearchRoomsRequest generates a "aws/request.Request" representing the
6810// client's request for the SearchRooms operation. The "output" return
6811// value will be populated with the request's response once the request completes
6812// successfully.
6813//
6814// Use "Send" method on the returned Request to send the API call to the service.
6815// the "output" return value is not valid until after Send returns without error.
6816//
6817// See SearchRooms for more information on using the SearchRooms
6818// API call, and error handling.
6819//
6820// This method is useful when you want to inject custom logic or configuration
6821// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6822//
6823//
6824//    // Example sending a request using the SearchRoomsRequest method.
6825//    req, resp := client.SearchRoomsRequest(params)
6826//
6827//    err := req.Send()
6828//    if err == nil { // resp is now filled
6829//        fmt.Println(resp)
6830//    }
6831//
6832// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchRooms
6833func (c *AlexaForBusiness) SearchRoomsRequest(input *SearchRoomsInput) (req *request.Request, output *SearchRoomsOutput) {
6834	op := &request.Operation{
6835		Name:       opSearchRooms,
6836		HTTPMethod: "POST",
6837		HTTPPath:   "/",
6838		Paginator: &request.Paginator{
6839			InputTokens:     []string{"NextToken"},
6840			OutputTokens:    []string{"NextToken"},
6841			LimitToken:      "MaxResults",
6842			TruncationToken: "",
6843		},
6844	}
6845
6846	if input == nil {
6847		input = &SearchRoomsInput{}
6848	}
6849
6850	output = &SearchRoomsOutput{}
6851	req = c.newRequest(op, input, output)
6852	return
6853}
6854
6855// SearchRooms API operation for Alexa For Business.
6856//
6857// Searches rooms and lists the ones that meet a set of filter and sort criteria.
6858//
6859// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6860// with awserr.Error's Code and Message methods to get detailed information about
6861// the error.
6862//
6863// See the AWS API reference guide for Alexa For Business's
6864// API operation SearchRooms for usage and error information.
6865// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchRooms
6866func (c *AlexaForBusiness) SearchRooms(input *SearchRoomsInput) (*SearchRoomsOutput, error) {
6867	req, out := c.SearchRoomsRequest(input)
6868	return out, req.Send()
6869}
6870
6871// SearchRoomsWithContext is the same as SearchRooms with the addition of
6872// the ability to pass a context and additional request options.
6873//
6874// See SearchRooms for details on how to use this API operation.
6875//
6876// The context must be non-nil and will be used for request cancellation. If
6877// the context is nil a panic will occur. In the future the SDK may create
6878// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6879// for more information on using Contexts.
6880func (c *AlexaForBusiness) SearchRoomsWithContext(ctx aws.Context, input *SearchRoomsInput, opts ...request.Option) (*SearchRoomsOutput, error) {
6881	req, out := c.SearchRoomsRequest(input)
6882	req.SetContext(ctx)
6883	req.ApplyOptions(opts...)
6884	return out, req.Send()
6885}
6886
6887// SearchRoomsPages iterates over the pages of a SearchRooms operation,
6888// calling the "fn" function with the response data for each page. To stop
6889// iterating, return false from the fn function.
6890//
6891// See SearchRooms method for more information on how to use this operation.
6892//
6893// Note: This operation can generate multiple requests to a service.
6894//
6895//    // Example iterating over at most 3 pages of a SearchRooms operation.
6896//    pageNum := 0
6897//    err := client.SearchRoomsPages(params,
6898//        func(page *alexaforbusiness.SearchRoomsOutput, lastPage bool) bool {
6899//            pageNum++
6900//            fmt.Println(page)
6901//            return pageNum <= 3
6902//        })
6903//
6904func (c *AlexaForBusiness) SearchRoomsPages(input *SearchRoomsInput, fn func(*SearchRoomsOutput, bool) bool) error {
6905	return c.SearchRoomsPagesWithContext(aws.BackgroundContext(), input, fn)
6906}
6907
6908// SearchRoomsPagesWithContext same as SearchRoomsPages except
6909// it takes a Context and allows setting request options on the pages.
6910//
6911// The context must be non-nil and will be used for request cancellation. If
6912// the context is nil a panic will occur. In the future the SDK may create
6913// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6914// for more information on using Contexts.
6915func (c *AlexaForBusiness) SearchRoomsPagesWithContext(ctx aws.Context, input *SearchRoomsInput, fn func(*SearchRoomsOutput, bool) bool, opts ...request.Option) error {
6916	p := request.Pagination{
6917		NewRequest: func() (*request.Request, error) {
6918			var inCpy *SearchRoomsInput
6919			if input != nil {
6920				tmp := *input
6921				inCpy = &tmp
6922			}
6923			req, _ := c.SearchRoomsRequest(inCpy)
6924			req.SetContext(ctx)
6925			req.ApplyOptions(opts...)
6926			return req, nil
6927		},
6928	}
6929
6930	for p.Next() {
6931		if !fn(p.Page().(*SearchRoomsOutput), !p.HasNextPage()) {
6932			break
6933		}
6934	}
6935
6936	return p.Err()
6937}
6938
6939const opSearchSkillGroups = "SearchSkillGroups"
6940
6941// SearchSkillGroupsRequest generates a "aws/request.Request" representing the
6942// client's request for the SearchSkillGroups operation. The "output" return
6943// value will be populated with the request's response once the request completes
6944// successfully.
6945//
6946// Use "Send" method on the returned Request to send the API call to the service.
6947// the "output" return value is not valid until after Send returns without error.
6948//
6949// See SearchSkillGroups for more information on using the SearchSkillGroups
6950// API call, and error handling.
6951//
6952// This method is useful when you want to inject custom logic or configuration
6953// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6954//
6955//
6956//    // Example sending a request using the SearchSkillGroupsRequest method.
6957//    req, resp := client.SearchSkillGroupsRequest(params)
6958//
6959//    err := req.Send()
6960//    if err == nil { // resp is now filled
6961//        fmt.Println(resp)
6962//    }
6963//
6964// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchSkillGroups
6965func (c *AlexaForBusiness) SearchSkillGroupsRequest(input *SearchSkillGroupsInput) (req *request.Request, output *SearchSkillGroupsOutput) {
6966	op := &request.Operation{
6967		Name:       opSearchSkillGroups,
6968		HTTPMethod: "POST",
6969		HTTPPath:   "/",
6970		Paginator: &request.Paginator{
6971			InputTokens:     []string{"NextToken"},
6972			OutputTokens:    []string{"NextToken"},
6973			LimitToken:      "MaxResults",
6974			TruncationToken: "",
6975		},
6976	}
6977
6978	if input == nil {
6979		input = &SearchSkillGroupsInput{}
6980	}
6981
6982	output = &SearchSkillGroupsOutput{}
6983	req = c.newRequest(op, input, output)
6984	return
6985}
6986
6987// SearchSkillGroups API operation for Alexa For Business.
6988//
6989// Searches skill groups and lists the ones that meet a set of filter and sort
6990// criteria.
6991//
6992// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6993// with awserr.Error's Code and Message methods to get detailed information about
6994// the error.
6995//
6996// See the AWS API reference guide for Alexa For Business's
6997// API operation SearchSkillGroups for usage and error information.
6998// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchSkillGroups
6999func (c *AlexaForBusiness) SearchSkillGroups(input *SearchSkillGroupsInput) (*SearchSkillGroupsOutput, error) {
7000	req, out := c.SearchSkillGroupsRequest(input)
7001	return out, req.Send()
7002}
7003
7004// SearchSkillGroupsWithContext is the same as SearchSkillGroups with the addition of
7005// the ability to pass a context and additional request options.
7006//
7007// See SearchSkillGroups for details on how to use this API operation.
7008//
7009// The context must be non-nil and will be used for request cancellation. If
7010// the context is nil a panic will occur. In the future the SDK may create
7011// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7012// for more information on using Contexts.
7013func (c *AlexaForBusiness) SearchSkillGroupsWithContext(ctx aws.Context, input *SearchSkillGroupsInput, opts ...request.Option) (*SearchSkillGroupsOutput, error) {
7014	req, out := c.SearchSkillGroupsRequest(input)
7015	req.SetContext(ctx)
7016	req.ApplyOptions(opts...)
7017	return out, req.Send()
7018}
7019
7020// SearchSkillGroupsPages iterates over the pages of a SearchSkillGroups operation,
7021// calling the "fn" function with the response data for each page. To stop
7022// iterating, return false from the fn function.
7023//
7024// See SearchSkillGroups method for more information on how to use this operation.
7025//
7026// Note: This operation can generate multiple requests to a service.
7027//
7028//    // Example iterating over at most 3 pages of a SearchSkillGroups operation.
7029//    pageNum := 0
7030//    err := client.SearchSkillGroupsPages(params,
7031//        func(page *alexaforbusiness.SearchSkillGroupsOutput, lastPage bool) bool {
7032//            pageNum++
7033//            fmt.Println(page)
7034//            return pageNum <= 3
7035//        })
7036//
7037func (c *AlexaForBusiness) SearchSkillGroupsPages(input *SearchSkillGroupsInput, fn func(*SearchSkillGroupsOutput, bool) bool) error {
7038	return c.SearchSkillGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
7039}
7040
7041// SearchSkillGroupsPagesWithContext same as SearchSkillGroupsPages except
7042// it takes a Context and allows setting request options on the pages.
7043//
7044// The context must be non-nil and will be used for request cancellation. If
7045// the context is nil a panic will occur. In the future the SDK may create
7046// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7047// for more information on using Contexts.
7048func (c *AlexaForBusiness) SearchSkillGroupsPagesWithContext(ctx aws.Context, input *SearchSkillGroupsInput, fn func(*SearchSkillGroupsOutput, bool) bool, opts ...request.Option) error {
7049	p := request.Pagination{
7050		NewRequest: func() (*request.Request, error) {
7051			var inCpy *SearchSkillGroupsInput
7052			if input != nil {
7053				tmp := *input
7054				inCpy = &tmp
7055			}
7056			req, _ := c.SearchSkillGroupsRequest(inCpy)
7057			req.SetContext(ctx)
7058			req.ApplyOptions(opts...)
7059			return req, nil
7060		},
7061	}
7062
7063	for p.Next() {
7064		if !fn(p.Page().(*SearchSkillGroupsOutput), !p.HasNextPage()) {
7065			break
7066		}
7067	}
7068
7069	return p.Err()
7070}
7071
7072const opSearchUsers = "SearchUsers"
7073
7074// SearchUsersRequest generates a "aws/request.Request" representing the
7075// client's request for the SearchUsers operation. The "output" return
7076// value will be populated with the request's response once the request completes
7077// successfully.
7078//
7079// Use "Send" method on the returned Request to send the API call to the service.
7080// the "output" return value is not valid until after Send returns without error.
7081//
7082// See SearchUsers for more information on using the SearchUsers
7083// API call, and error handling.
7084//
7085// This method is useful when you want to inject custom logic or configuration
7086// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7087//
7088//
7089//    // Example sending a request using the SearchUsersRequest method.
7090//    req, resp := client.SearchUsersRequest(params)
7091//
7092//    err := req.Send()
7093//    if err == nil { // resp is now filled
7094//        fmt.Println(resp)
7095//    }
7096//
7097// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchUsers
7098func (c *AlexaForBusiness) SearchUsersRequest(input *SearchUsersInput) (req *request.Request, output *SearchUsersOutput) {
7099	op := &request.Operation{
7100		Name:       opSearchUsers,
7101		HTTPMethod: "POST",
7102		HTTPPath:   "/",
7103		Paginator: &request.Paginator{
7104			InputTokens:     []string{"NextToken"},
7105			OutputTokens:    []string{"NextToken"},
7106			LimitToken:      "MaxResults",
7107			TruncationToken: "",
7108		},
7109	}
7110
7111	if input == nil {
7112		input = &SearchUsersInput{}
7113	}
7114
7115	output = &SearchUsersOutput{}
7116	req = c.newRequest(op, input, output)
7117	return
7118}
7119
7120// SearchUsers API operation for Alexa For Business.
7121//
7122// Searches users and lists the ones that meet a set of filter and sort criteria.
7123//
7124// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7125// with awserr.Error's Code and Message methods to get detailed information about
7126// the error.
7127//
7128// See the AWS API reference guide for Alexa For Business's
7129// API operation SearchUsers for usage and error information.
7130// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SearchUsers
7131func (c *AlexaForBusiness) SearchUsers(input *SearchUsersInput) (*SearchUsersOutput, error) {
7132	req, out := c.SearchUsersRequest(input)
7133	return out, req.Send()
7134}
7135
7136// SearchUsersWithContext is the same as SearchUsers with the addition of
7137// the ability to pass a context and additional request options.
7138//
7139// See SearchUsers for details on how to use this API operation.
7140//
7141// The context must be non-nil and will be used for request cancellation. If
7142// the context is nil a panic will occur. In the future the SDK may create
7143// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7144// for more information on using Contexts.
7145func (c *AlexaForBusiness) SearchUsersWithContext(ctx aws.Context, input *SearchUsersInput, opts ...request.Option) (*SearchUsersOutput, error) {
7146	req, out := c.SearchUsersRequest(input)
7147	req.SetContext(ctx)
7148	req.ApplyOptions(opts...)
7149	return out, req.Send()
7150}
7151
7152// SearchUsersPages iterates over the pages of a SearchUsers operation,
7153// calling the "fn" function with the response data for each page. To stop
7154// iterating, return false from the fn function.
7155//
7156// See SearchUsers method for more information on how to use this operation.
7157//
7158// Note: This operation can generate multiple requests to a service.
7159//
7160//    // Example iterating over at most 3 pages of a SearchUsers operation.
7161//    pageNum := 0
7162//    err := client.SearchUsersPages(params,
7163//        func(page *alexaforbusiness.SearchUsersOutput, lastPage bool) bool {
7164//            pageNum++
7165//            fmt.Println(page)
7166//            return pageNum <= 3
7167//        })
7168//
7169func (c *AlexaForBusiness) SearchUsersPages(input *SearchUsersInput, fn func(*SearchUsersOutput, bool) bool) error {
7170	return c.SearchUsersPagesWithContext(aws.BackgroundContext(), input, fn)
7171}
7172
7173// SearchUsersPagesWithContext same as SearchUsersPages except
7174// it takes a Context and allows setting request options on the pages.
7175//
7176// The context must be non-nil and will be used for request cancellation. If
7177// the context is nil a panic will occur. In the future the SDK may create
7178// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7179// for more information on using Contexts.
7180func (c *AlexaForBusiness) SearchUsersPagesWithContext(ctx aws.Context, input *SearchUsersInput, fn func(*SearchUsersOutput, bool) bool, opts ...request.Option) error {
7181	p := request.Pagination{
7182		NewRequest: func() (*request.Request, error) {
7183			var inCpy *SearchUsersInput
7184			if input != nil {
7185				tmp := *input
7186				inCpy = &tmp
7187			}
7188			req, _ := c.SearchUsersRequest(inCpy)
7189			req.SetContext(ctx)
7190			req.ApplyOptions(opts...)
7191			return req, nil
7192		},
7193	}
7194
7195	for p.Next() {
7196		if !fn(p.Page().(*SearchUsersOutput), !p.HasNextPage()) {
7197			break
7198		}
7199	}
7200
7201	return p.Err()
7202}
7203
7204const opSendAnnouncement = "SendAnnouncement"
7205
7206// SendAnnouncementRequest generates a "aws/request.Request" representing the
7207// client's request for the SendAnnouncement operation. The "output" return
7208// value will be populated with the request's response once the request completes
7209// successfully.
7210//
7211// Use "Send" method on the returned Request to send the API call to the service.
7212// the "output" return value is not valid until after Send returns without error.
7213//
7214// See SendAnnouncement for more information on using the SendAnnouncement
7215// API call, and error handling.
7216//
7217// This method is useful when you want to inject custom logic or configuration
7218// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7219//
7220//
7221//    // Example sending a request using the SendAnnouncementRequest method.
7222//    req, resp := client.SendAnnouncementRequest(params)
7223//
7224//    err := req.Send()
7225//    if err == nil { // resp is now filled
7226//        fmt.Println(resp)
7227//    }
7228//
7229// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SendAnnouncement
7230func (c *AlexaForBusiness) SendAnnouncementRequest(input *SendAnnouncementInput) (req *request.Request, output *SendAnnouncementOutput) {
7231	op := &request.Operation{
7232		Name:       opSendAnnouncement,
7233		HTTPMethod: "POST",
7234		HTTPPath:   "/",
7235	}
7236
7237	if input == nil {
7238		input = &SendAnnouncementInput{}
7239	}
7240
7241	output = &SendAnnouncementOutput{}
7242	req = c.newRequest(op, input, output)
7243	return
7244}
7245
7246// SendAnnouncement API operation for Alexa For Business.
7247//
7248// Triggers an asynchronous flow to send text, SSML, or audio announcements
7249// to rooms that are identified by a search or filter.
7250//
7251// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7252// with awserr.Error's Code and Message methods to get detailed information about
7253// the error.
7254//
7255// See the AWS API reference guide for Alexa For Business's
7256// API operation SendAnnouncement for usage and error information.
7257//
7258// Returned Error Types:
7259//   * LimitExceededException
7260//   You are performing an action that would put you beyond your account's limits.
7261//
7262//   * AlreadyExistsException
7263//   The resource being created already exists.
7264//
7265// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SendAnnouncement
7266func (c *AlexaForBusiness) SendAnnouncement(input *SendAnnouncementInput) (*SendAnnouncementOutput, error) {
7267	req, out := c.SendAnnouncementRequest(input)
7268	return out, req.Send()
7269}
7270
7271// SendAnnouncementWithContext is the same as SendAnnouncement with the addition of
7272// the ability to pass a context and additional request options.
7273//
7274// See SendAnnouncement for details on how to use this API operation.
7275//
7276// The context must be non-nil and will be used for request cancellation. If
7277// the context is nil a panic will occur. In the future the SDK may create
7278// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7279// for more information on using Contexts.
7280func (c *AlexaForBusiness) SendAnnouncementWithContext(ctx aws.Context, input *SendAnnouncementInput, opts ...request.Option) (*SendAnnouncementOutput, error) {
7281	req, out := c.SendAnnouncementRequest(input)
7282	req.SetContext(ctx)
7283	req.ApplyOptions(opts...)
7284	return out, req.Send()
7285}
7286
7287const opSendInvitation = "SendInvitation"
7288
7289// SendInvitationRequest generates a "aws/request.Request" representing the
7290// client's request for the SendInvitation operation. The "output" return
7291// value will be populated with the request's response once the request completes
7292// successfully.
7293//
7294// Use "Send" method on the returned Request to send the API call to the service.
7295// the "output" return value is not valid until after Send returns without error.
7296//
7297// See SendInvitation for more information on using the SendInvitation
7298// API call, and error handling.
7299//
7300// This method is useful when you want to inject custom logic or configuration
7301// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7302//
7303//
7304//    // Example sending a request using the SendInvitationRequest method.
7305//    req, resp := client.SendInvitationRequest(params)
7306//
7307//    err := req.Send()
7308//    if err == nil { // resp is now filled
7309//        fmt.Println(resp)
7310//    }
7311//
7312// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SendInvitation
7313func (c *AlexaForBusiness) SendInvitationRequest(input *SendInvitationInput) (req *request.Request, output *SendInvitationOutput) {
7314	op := &request.Operation{
7315		Name:       opSendInvitation,
7316		HTTPMethod: "POST",
7317		HTTPPath:   "/",
7318	}
7319
7320	if input == nil {
7321		input = &SendInvitationInput{}
7322	}
7323
7324	output = &SendInvitationOutput{}
7325	req = c.newRequest(op, input, output)
7326	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7327	return
7328}
7329
7330// SendInvitation API operation for Alexa For Business.
7331//
7332// Sends an enrollment invitation email with a URL to a user. The URL is valid
7333// for 30 days or until you call this operation again, whichever comes first.
7334//
7335// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7336// with awserr.Error's Code and Message methods to get detailed information about
7337// the error.
7338//
7339// See the AWS API reference guide for Alexa For Business's
7340// API operation SendInvitation for usage and error information.
7341//
7342// Returned Error Types:
7343//   * NotFoundException
7344//   The resource is not found.
7345//
7346//   * InvalidUserStatusException
7347//   The attempt to update a user is invalid due to the user's current status.
7348//
7349//   * ConcurrentModificationException
7350//   There is a concurrent modification of resources.
7351//
7352// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/SendInvitation
7353func (c *AlexaForBusiness) SendInvitation(input *SendInvitationInput) (*SendInvitationOutput, error) {
7354	req, out := c.SendInvitationRequest(input)
7355	return out, req.Send()
7356}
7357
7358// SendInvitationWithContext is the same as SendInvitation with the addition of
7359// the ability to pass a context and additional request options.
7360//
7361// See SendInvitation for details on how to use this API operation.
7362//
7363// The context must be non-nil and will be used for request cancellation. If
7364// the context is nil a panic will occur. In the future the SDK may create
7365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7366// for more information on using Contexts.
7367func (c *AlexaForBusiness) SendInvitationWithContext(ctx aws.Context, input *SendInvitationInput, opts ...request.Option) (*SendInvitationOutput, error) {
7368	req, out := c.SendInvitationRequest(input)
7369	req.SetContext(ctx)
7370	req.ApplyOptions(opts...)
7371	return out, req.Send()
7372}
7373
7374const opStartDeviceSync = "StartDeviceSync"
7375
7376// StartDeviceSyncRequest generates a "aws/request.Request" representing the
7377// client's request for the StartDeviceSync operation. The "output" return
7378// value will be populated with the request's response once the request completes
7379// successfully.
7380//
7381// Use "Send" method on the returned Request to send the API call to the service.
7382// the "output" return value is not valid until after Send returns without error.
7383//
7384// See StartDeviceSync for more information on using the StartDeviceSync
7385// API call, and error handling.
7386//
7387// This method is useful when you want to inject custom logic or configuration
7388// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7389//
7390//
7391//    // Example sending a request using the StartDeviceSyncRequest method.
7392//    req, resp := client.StartDeviceSyncRequest(params)
7393//
7394//    err := req.Send()
7395//    if err == nil { // resp is now filled
7396//        fmt.Println(resp)
7397//    }
7398//
7399// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/StartDeviceSync
7400func (c *AlexaForBusiness) StartDeviceSyncRequest(input *StartDeviceSyncInput) (req *request.Request, output *StartDeviceSyncOutput) {
7401	op := &request.Operation{
7402		Name:       opStartDeviceSync,
7403		HTTPMethod: "POST",
7404		HTTPPath:   "/",
7405	}
7406
7407	if input == nil {
7408		input = &StartDeviceSyncInput{}
7409	}
7410
7411	output = &StartDeviceSyncOutput{}
7412	req = c.newRequest(op, input, output)
7413	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7414	return
7415}
7416
7417// StartDeviceSync API operation for Alexa For Business.
7418//
7419// Resets a device and its account to the known default settings. This clears
7420// all information and settings set by previous users in the following ways:
7421//
7422//    * Bluetooth - This unpairs all bluetooth devices paired with your echo
7423//    device.
7424//
7425//    * Volume - This resets the echo device's volume to the default value.
7426//
7427//    * Notifications - This clears all notifications from your echo device.
7428//
7429//    * Lists - This clears all to-do items from your echo device.
7430//
7431//    * Settings - This internally syncs the room's profile (if the device is
7432//    assigned to a room), contacts, address books, delegation access for account
7433//    linking, and communications (if enabled on the room profile).
7434//
7435// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7436// with awserr.Error's Code and Message methods to get detailed information about
7437// the error.
7438//
7439// See the AWS API reference guide for Alexa For Business's
7440// API operation StartDeviceSync for usage and error information.
7441//
7442// Returned Error Types:
7443//   * DeviceNotRegisteredException
7444//   The request failed because this device is no longer registered and therefore
7445//   no longer managed by this account.
7446//
7447// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/StartDeviceSync
7448func (c *AlexaForBusiness) StartDeviceSync(input *StartDeviceSyncInput) (*StartDeviceSyncOutput, error) {
7449	req, out := c.StartDeviceSyncRequest(input)
7450	return out, req.Send()
7451}
7452
7453// StartDeviceSyncWithContext is the same as StartDeviceSync with the addition of
7454// the ability to pass a context and additional request options.
7455//
7456// See StartDeviceSync for details on how to use this API operation.
7457//
7458// The context must be non-nil and will be used for request cancellation. If
7459// the context is nil a panic will occur. In the future the SDK may create
7460// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7461// for more information on using Contexts.
7462func (c *AlexaForBusiness) StartDeviceSyncWithContext(ctx aws.Context, input *StartDeviceSyncInput, opts ...request.Option) (*StartDeviceSyncOutput, error) {
7463	req, out := c.StartDeviceSyncRequest(input)
7464	req.SetContext(ctx)
7465	req.ApplyOptions(opts...)
7466	return out, req.Send()
7467}
7468
7469const opStartSmartHomeApplianceDiscovery = "StartSmartHomeApplianceDiscovery"
7470
7471// StartSmartHomeApplianceDiscoveryRequest generates a "aws/request.Request" representing the
7472// client's request for the StartSmartHomeApplianceDiscovery operation. The "output" return
7473// value will be populated with the request's response once the request completes
7474// successfully.
7475//
7476// Use "Send" method on the returned Request to send the API call to the service.
7477// the "output" return value is not valid until after Send returns without error.
7478//
7479// See StartSmartHomeApplianceDiscovery for more information on using the StartSmartHomeApplianceDiscovery
7480// API call, and error handling.
7481//
7482// This method is useful when you want to inject custom logic or configuration
7483// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7484//
7485//
7486//    // Example sending a request using the StartSmartHomeApplianceDiscoveryRequest method.
7487//    req, resp := client.StartSmartHomeApplianceDiscoveryRequest(params)
7488//
7489//    err := req.Send()
7490//    if err == nil { // resp is now filled
7491//        fmt.Println(resp)
7492//    }
7493//
7494// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/StartSmartHomeApplianceDiscovery
7495func (c *AlexaForBusiness) StartSmartHomeApplianceDiscoveryRequest(input *StartSmartHomeApplianceDiscoveryInput) (req *request.Request, output *StartSmartHomeApplianceDiscoveryOutput) {
7496	op := &request.Operation{
7497		Name:       opStartSmartHomeApplianceDiscovery,
7498		HTTPMethod: "POST",
7499		HTTPPath:   "/",
7500	}
7501
7502	if input == nil {
7503		input = &StartSmartHomeApplianceDiscoveryInput{}
7504	}
7505
7506	output = &StartSmartHomeApplianceDiscoveryOutput{}
7507	req = c.newRequest(op, input, output)
7508	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7509	return
7510}
7511
7512// StartSmartHomeApplianceDiscovery API operation for Alexa For Business.
7513//
7514// Initiates the discovery of any smart home appliances associated with the
7515// room.
7516//
7517// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7518// with awserr.Error's Code and Message methods to get detailed information about
7519// the error.
7520//
7521// See the AWS API reference guide for Alexa For Business's
7522// API operation StartSmartHomeApplianceDiscovery for usage and error information.
7523//
7524// Returned Error Types:
7525//   * NotFoundException
7526//   The resource is not found.
7527//
7528// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/StartSmartHomeApplianceDiscovery
7529func (c *AlexaForBusiness) StartSmartHomeApplianceDiscovery(input *StartSmartHomeApplianceDiscoveryInput) (*StartSmartHomeApplianceDiscoveryOutput, error) {
7530	req, out := c.StartSmartHomeApplianceDiscoveryRequest(input)
7531	return out, req.Send()
7532}
7533
7534// StartSmartHomeApplianceDiscoveryWithContext is the same as StartSmartHomeApplianceDiscovery with the addition of
7535// the ability to pass a context and additional request options.
7536//
7537// See StartSmartHomeApplianceDiscovery for details on how to use this API operation.
7538//
7539// The context must be non-nil and will be used for request cancellation. If
7540// the context is nil a panic will occur. In the future the SDK may create
7541// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7542// for more information on using Contexts.
7543func (c *AlexaForBusiness) StartSmartHomeApplianceDiscoveryWithContext(ctx aws.Context, input *StartSmartHomeApplianceDiscoveryInput, opts ...request.Option) (*StartSmartHomeApplianceDiscoveryOutput, error) {
7544	req, out := c.StartSmartHomeApplianceDiscoveryRequest(input)
7545	req.SetContext(ctx)
7546	req.ApplyOptions(opts...)
7547	return out, req.Send()
7548}
7549
7550const opTagResource = "TagResource"
7551
7552// TagResourceRequest generates a "aws/request.Request" representing the
7553// client's request for the TagResource operation. The "output" return
7554// value will be populated with the request's response once the request completes
7555// successfully.
7556//
7557// Use "Send" method on the returned Request to send the API call to the service.
7558// the "output" return value is not valid until after Send returns without error.
7559//
7560// See TagResource for more information on using the TagResource
7561// API call, and error handling.
7562//
7563// This method is useful when you want to inject custom logic or configuration
7564// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7565//
7566//
7567//    // Example sending a request using the TagResourceRequest method.
7568//    req, resp := client.TagResourceRequest(params)
7569//
7570//    err := req.Send()
7571//    if err == nil { // resp is now filled
7572//        fmt.Println(resp)
7573//    }
7574//
7575// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/TagResource
7576func (c *AlexaForBusiness) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
7577	op := &request.Operation{
7578		Name:       opTagResource,
7579		HTTPMethod: "POST",
7580		HTTPPath:   "/",
7581	}
7582
7583	if input == nil {
7584		input = &TagResourceInput{}
7585	}
7586
7587	output = &TagResourceOutput{}
7588	req = c.newRequest(op, input, output)
7589	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7590	return
7591}
7592
7593// TagResource API operation for Alexa For Business.
7594//
7595// Adds metadata tags to a specified resource.
7596//
7597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7598// with awserr.Error's Code and Message methods to get detailed information about
7599// the error.
7600//
7601// See the AWS API reference guide for Alexa For Business's
7602// API operation TagResource for usage and error information.
7603//
7604// Returned Error Types:
7605//   * NotFoundException
7606//   The resource is not found.
7607//
7608// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/TagResource
7609func (c *AlexaForBusiness) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
7610	req, out := c.TagResourceRequest(input)
7611	return out, req.Send()
7612}
7613
7614// TagResourceWithContext is the same as TagResource with the addition of
7615// the ability to pass a context and additional request options.
7616//
7617// See TagResource for details on how to use this API operation.
7618//
7619// The context must be non-nil and will be used for request cancellation. If
7620// the context is nil a panic will occur. In the future the SDK may create
7621// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7622// for more information on using Contexts.
7623func (c *AlexaForBusiness) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
7624	req, out := c.TagResourceRequest(input)
7625	req.SetContext(ctx)
7626	req.ApplyOptions(opts...)
7627	return out, req.Send()
7628}
7629
7630const opUntagResource = "UntagResource"
7631
7632// UntagResourceRequest generates a "aws/request.Request" representing the
7633// client's request for the UntagResource operation. The "output" return
7634// value will be populated with the request's response once the request completes
7635// successfully.
7636//
7637// Use "Send" method on the returned Request to send the API call to the service.
7638// the "output" return value is not valid until after Send returns without error.
7639//
7640// See UntagResource for more information on using the UntagResource
7641// API call, and error handling.
7642//
7643// This method is useful when you want to inject custom logic or configuration
7644// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7645//
7646//
7647//    // Example sending a request using the UntagResourceRequest method.
7648//    req, resp := client.UntagResourceRequest(params)
7649//
7650//    err := req.Send()
7651//    if err == nil { // resp is now filled
7652//        fmt.Println(resp)
7653//    }
7654//
7655// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UntagResource
7656func (c *AlexaForBusiness) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
7657	op := &request.Operation{
7658		Name:       opUntagResource,
7659		HTTPMethod: "POST",
7660		HTTPPath:   "/",
7661	}
7662
7663	if input == nil {
7664		input = &UntagResourceInput{}
7665	}
7666
7667	output = &UntagResourceOutput{}
7668	req = c.newRequest(op, input, output)
7669	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7670	return
7671}
7672
7673// UntagResource API operation for Alexa For Business.
7674//
7675// Removes metadata tags from a specified resource.
7676//
7677// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7678// with awserr.Error's Code and Message methods to get detailed information about
7679// the error.
7680//
7681// See the AWS API reference guide for Alexa For Business's
7682// API operation UntagResource for usage and error information.
7683//
7684// Returned Error Types:
7685//   * NotFoundException
7686//   The resource is not found.
7687//
7688// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UntagResource
7689func (c *AlexaForBusiness) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
7690	req, out := c.UntagResourceRequest(input)
7691	return out, req.Send()
7692}
7693
7694// UntagResourceWithContext is the same as UntagResource with the addition of
7695// the ability to pass a context and additional request options.
7696//
7697// See UntagResource for details on how to use this API operation.
7698//
7699// The context must be non-nil and will be used for request cancellation. If
7700// the context is nil a panic will occur. In the future the SDK may create
7701// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7702// for more information on using Contexts.
7703func (c *AlexaForBusiness) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
7704	req, out := c.UntagResourceRequest(input)
7705	req.SetContext(ctx)
7706	req.ApplyOptions(opts...)
7707	return out, req.Send()
7708}
7709
7710const opUpdateAddressBook = "UpdateAddressBook"
7711
7712// UpdateAddressBookRequest generates a "aws/request.Request" representing the
7713// client's request for the UpdateAddressBook operation. The "output" return
7714// value will be populated with the request's response once the request completes
7715// successfully.
7716//
7717// Use "Send" method on the returned Request to send the API call to the service.
7718// the "output" return value is not valid until after Send returns without error.
7719//
7720// See UpdateAddressBook for more information on using the UpdateAddressBook
7721// API call, and error handling.
7722//
7723// This method is useful when you want to inject custom logic or configuration
7724// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7725//
7726//
7727//    // Example sending a request using the UpdateAddressBookRequest method.
7728//    req, resp := client.UpdateAddressBookRequest(params)
7729//
7730//    err := req.Send()
7731//    if err == nil { // resp is now filled
7732//        fmt.Println(resp)
7733//    }
7734//
7735// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateAddressBook
7736func (c *AlexaForBusiness) UpdateAddressBookRequest(input *UpdateAddressBookInput) (req *request.Request, output *UpdateAddressBookOutput) {
7737	op := &request.Operation{
7738		Name:       opUpdateAddressBook,
7739		HTTPMethod: "POST",
7740		HTTPPath:   "/",
7741	}
7742
7743	if input == nil {
7744		input = &UpdateAddressBookInput{}
7745	}
7746
7747	output = &UpdateAddressBookOutput{}
7748	req = c.newRequest(op, input, output)
7749	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7750	return
7751}
7752
7753// UpdateAddressBook API operation for Alexa For Business.
7754//
7755// Updates address book details by the address book ARN.
7756//
7757// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7758// with awserr.Error's Code and Message methods to get detailed information about
7759// the error.
7760//
7761// See the AWS API reference guide for Alexa For Business's
7762// API operation UpdateAddressBook for usage and error information.
7763//
7764// Returned Error Types:
7765//   * NotFoundException
7766//   The resource is not found.
7767//
7768//   * NameInUseException
7769//   The name sent in the request is already in use.
7770//
7771//   * ConcurrentModificationException
7772//   There is a concurrent modification of resources.
7773//
7774// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateAddressBook
7775func (c *AlexaForBusiness) UpdateAddressBook(input *UpdateAddressBookInput) (*UpdateAddressBookOutput, error) {
7776	req, out := c.UpdateAddressBookRequest(input)
7777	return out, req.Send()
7778}
7779
7780// UpdateAddressBookWithContext is the same as UpdateAddressBook with the addition of
7781// the ability to pass a context and additional request options.
7782//
7783// See UpdateAddressBook for details on how to use this API operation.
7784//
7785// The context must be non-nil and will be used for request cancellation. If
7786// the context is nil a panic will occur. In the future the SDK may create
7787// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7788// for more information on using Contexts.
7789func (c *AlexaForBusiness) UpdateAddressBookWithContext(ctx aws.Context, input *UpdateAddressBookInput, opts ...request.Option) (*UpdateAddressBookOutput, error) {
7790	req, out := c.UpdateAddressBookRequest(input)
7791	req.SetContext(ctx)
7792	req.ApplyOptions(opts...)
7793	return out, req.Send()
7794}
7795
7796const opUpdateBusinessReportSchedule = "UpdateBusinessReportSchedule"
7797
7798// UpdateBusinessReportScheduleRequest generates a "aws/request.Request" representing the
7799// client's request for the UpdateBusinessReportSchedule operation. The "output" return
7800// value will be populated with the request's response once the request completes
7801// successfully.
7802//
7803// Use "Send" method on the returned Request to send the API call to the service.
7804// the "output" return value is not valid until after Send returns without error.
7805//
7806// See UpdateBusinessReportSchedule for more information on using the UpdateBusinessReportSchedule
7807// API call, and error handling.
7808//
7809// This method is useful when you want to inject custom logic or configuration
7810// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7811//
7812//
7813//    // Example sending a request using the UpdateBusinessReportScheduleRequest method.
7814//    req, resp := client.UpdateBusinessReportScheduleRequest(params)
7815//
7816//    err := req.Send()
7817//    if err == nil { // resp is now filled
7818//        fmt.Println(resp)
7819//    }
7820//
7821// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateBusinessReportSchedule
7822func (c *AlexaForBusiness) UpdateBusinessReportScheduleRequest(input *UpdateBusinessReportScheduleInput) (req *request.Request, output *UpdateBusinessReportScheduleOutput) {
7823	op := &request.Operation{
7824		Name:       opUpdateBusinessReportSchedule,
7825		HTTPMethod: "POST",
7826		HTTPPath:   "/",
7827	}
7828
7829	if input == nil {
7830		input = &UpdateBusinessReportScheduleInput{}
7831	}
7832
7833	output = &UpdateBusinessReportScheduleOutput{}
7834	req = c.newRequest(op, input, output)
7835	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7836	return
7837}
7838
7839// UpdateBusinessReportSchedule API operation for Alexa For Business.
7840//
7841// Updates the configuration of the report delivery schedule with the specified
7842// schedule ARN.
7843//
7844// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7845// with awserr.Error's Code and Message methods to get detailed information about
7846// the error.
7847//
7848// See the AWS API reference guide for Alexa For Business's
7849// API operation UpdateBusinessReportSchedule for usage and error information.
7850//
7851// Returned Error Types:
7852//   * NotFoundException
7853//   The resource is not found.
7854//
7855//   * ConcurrentModificationException
7856//   There is a concurrent modification of resources.
7857//
7858// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateBusinessReportSchedule
7859func (c *AlexaForBusiness) UpdateBusinessReportSchedule(input *UpdateBusinessReportScheduleInput) (*UpdateBusinessReportScheduleOutput, error) {
7860	req, out := c.UpdateBusinessReportScheduleRequest(input)
7861	return out, req.Send()
7862}
7863
7864// UpdateBusinessReportScheduleWithContext is the same as UpdateBusinessReportSchedule with the addition of
7865// the ability to pass a context and additional request options.
7866//
7867// See UpdateBusinessReportSchedule for details on how to use this API operation.
7868//
7869// The context must be non-nil and will be used for request cancellation. If
7870// the context is nil a panic will occur. In the future the SDK may create
7871// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7872// for more information on using Contexts.
7873func (c *AlexaForBusiness) UpdateBusinessReportScheduleWithContext(ctx aws.Context, input *UpdateBusinessReportScheduleInput, opts ...request.Option) (*UpdateBusinessReportScheduleOutput, error) {
7874	req, out := c.UpdateBusinessReportScheduleRequest(input)
7875	req.SetContext(ctx)
7876	req.ApplyOptions(opts...)
7877	return out, req.Send()
7878}
7879
7880const opUpdateConferenceProvider = "UpdateConferenceProvider"
7881
7882// UpdateConferenceProviderRequest generates a "aws/request.Request" representing the
7883// client's request for the UpdateConferenceProvider operation. The "output" return
7884// value will be populated with the request's response once the request completes
7885// successfully.
7886//
7887// Use "Send" method on the returned Request to send the API call to the service.
7888// the "output" return value is not valid until after Send returns without error.
7889//
7890// See UpdateConferenceProvider for more information on using the UpdateConferenceProvider
7891// API call, and error handling.
7892//
7893// This method is useful when you want to inject custom logic or configuration
7894// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7895//
7896//
7897//    // Example sending a request using the UpdateConferenceProviderRequest method.
7898//    req, resp := client.UpdateConferenceProviderRequest(params)
7899//
7900//    err := req.Send()
7901//    if err == nil { // resp is now filled
7902//        fmt.Println(resp)
7903//    }
7904//
7905// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateConferenceProvider
7906func (c *AlexaForBusiness) UpdateConferenceProviderRequest(input *UpdateConferenceProviderInput) (req *request.Request, output *UpdateConferenceProviderOutput) {
7907	op := &request.Operation{
7908		Name:       opUpdateConferenceProvider,
7909		HTTPMethod: "POST",
7910		HTTPPath:   "/",
7911	}
7912
7913	if input == nil {
7914		input = &UpdateConferenceProviderInput{}
7915	}
7916
7917	output = &UpdateConferenceProviderOutput{}
7918	req = c.newRequest(op, input, output)
7919	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7920	return
7921}
7922
7923// UpdateConferenceProvider API operation for Alexa For Business.
7924//
7925// Updates an existing conference provider's settings.
7926//
7927// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7928// with awserr.Error's Code and Message methods to get detailed information about
7929// the error.
7930//
7931// See the AWS API reference guide for Alexa For Business's
7932// API operation UpdateConferenceProvider for usage and error information.
7933//
7934// Returned Error Types:
7935//   * NotFoundException
7936//   The resource is not found.
7937//
7938// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateConferenceProvider
7939func (c *AlexaForBusiness) UpdateConferenceProvider(input *UpdateConferenceProviderInput) (*UpdateConferenceProviderOutput, error) {
7940	req, out := c.UpdateConferenceProviderRequest(input)
7941	return out, req.Send()
7942}
7943
7944// UpdateConferenceProviderWithContext is the same as UpdateConferenceProvider with the addition of
7945// the ability to pass a context and additional request options.
7946//
7947// See UpdateConferenceProvider for details on how to use this API operation.
7948//
7949// The context must be non-nil and will be used for request cancellation. If
7950// the context is nil a panic will occur. In the future the SDK may create
7951// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7952// for more information on using Contexts.
7953func (c *AlexaForBusiness) UpdateConferenceProviderWithContext(ctx aws.Context, input *UpdateConferenceProviderInput, opts ...request.Option) (*UpdateConferenceProviderOutput, error) {
7954	req, out := c.UpdateConferenceProviderRequest(input)
7955	req.SetContext(ctx)
7956	req.ApplyOptions(opts...)
7957	return out, req.Send()
7958}
7959
7960const opUpdateContact = "UpdateContact"
7961
7962// UpdateContactRequest generates a "aws/request.Request" representing the
7963// client's request for the UpdateContact operation. The "output" return
7964// value will be populated with the request's response once the request completes
7965// successfully.
7966//
7967// Use "Send" method on the returned Request to send the API call to the service.
7968// the "output" return value is not valid until after Send returns without error.
7969//
7970// See UpdateContact for more information on using the UpdateContact
7971// API call, and error handling.
7972//
7973// This method is useful when you want to inject custom logic or configuration
7974// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7975//
7976//
7977//    // Example sending a request using the UpdateContactRequest method.
7978//    req, resp := client.UpdateContactRequest(params)
7979//
7980//    err := req.Send()
7981//    if err == nil { // resp is now filled
7982//        fmt.Println(resp)
7983//    }
7984//
7985// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateContact
7986func (c *AlexaForBusiness) UpdateContactRequest(input *UpdateContactInput) (req *request.Request, output *UpdateContactOutput) {
7987	op := &request.Operation{
7988		Name:       opUpdateContact,
7989		HTTPMethod: "POST",
7990		HTTPPath:   "/",
7991	}
7992
7993	if input == nil {
7994		input = &UpdateContactInput{}
7995	}
7996
7997	output = &UpdateContactOutput{}
7998	req = c.newRequest(op, input, output)
7999	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8000	return
8001}
8002
8003// UpdateContact API operation for Alexa For Business.
8004//
8005// Updates the contact details by the contact ARN.
8006//
8007// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8008// with awserr.Error's Code and Message methods to get detailed information about
8009// the error.
8010//
8011// See the AWS API reference guide for Alexa For Business's
8012// API operation UpdateContact for usage and error information.
8013//
8014// Returned Error Types:
8015//   * NotFoundException
8016//   The resource is not found.
8017//
8018//   * ConcurrentModificationException
8019//   There is a concurrent modification of resources.
8020//
8021// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateContact
8022func (c *AlexaForBusiness) UpdateContact(input *UpdateContactInput) (*UpdateContactOutput, error) {
8023	req, out := c.UpdateContactRequest(input)
8024	return out, req.Send()
8025}
8026
8027// UpdateContactWithContext is the same as UpdateContact with the addition of
8028// the ability to pass a context and additional request options.
8029//
8030// See UpdateContact for details on how to use this API operation.
8031//
8032// The context must be non-nil and will be used for request cancellation. If
8033// the context is nil a panic will occur. In the future the SDK may create
8034// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8035// for more information on using Contexts.
8036func (c *AlexaForBusiness) UpdateContactWithContext(ctx aws.Context, input *UpdateContactInput, opts ...request.Option) (*UpdateContactOutput, error) {
8037	req, out := c.UpdateContactRequest(input)
8038	req.SetContext(ctx)
8039	req.ApplyOptions(opts...)
8040	return out, req.Send()
8041}
8042
8043const opUpdateDevice = "UpdateDevice"
8044
8045// UpdateDeviceRequest generates a "aws/request.Request" representing the
8046// client's request for the UpdateDevice operation. The "output" return
8047// value will be populated with the request's response once the request completes
8048// successfully.
8049//
8050// Use "Send" method on the returned Request to send the API call to the service.
8051// the "output" return value is not valid until after Send returns without error.
8052//
8053// See UpdateDevice for more information on using the UpdateDevice
8054// API call, and error handling.
8055//
8056// This method is useful when you want to inject custom logic or configuration
8057// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8058//
8059//
8060//    // Example sending a request using the UpdateDeviceRequest method.
8061//    req, resp := client.UpdateDeviceRequest(params)
8062//
8063//    err := req.Send()
8064//    if err == nil { // resp is now filled
8065//        fmt.Println(resp)
8066//    }
8067//
8068// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateDevice
8069func (c *AlexaForBusiness) UpdateDeviceRequest(input *UpdateDeviceInput) (req *request.Request, output *UpdateDeviceOutput) {
8070	op := &request.Operation{
8071		Name:       opUpdateDevice,
8072		HTTPMethod: "POST",
8073		HTTPPath:   "/",
8074	}
8075
8076	if input == nil {
8077		input = &UpdateDeviceInput{}
8078	}
8079
8080	output = &UpdateDeviceOutput{}
8081	req = c.newRequest(op, input, output)
8082	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8083	return
8084}
8085
8086// UpdateDevice API operation for Alexa For Business.
8087//
8088// Updates the device name by device ARN.
8089//
8090// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8091// with awserr.Error's Code and Message methods to get detailed information about
8092// the error.
8093//
8094// See the AWS API reference guide for Alexa For Business's
8095// API operation UpdateDevice for usage and error information.
8096//
8097// Returned Error Types:
8098//   * NotFoundException
8099//   The resource is not found.
8100//
8101//   * ConcurrentModificationException
8102//   There is a concurrent modification of resources.
8103//
8104//   * DeviceNotRegisteredException
8105//   The request failed because this device is no longer registered and therefore
8106//   no longer managed by this account.
8107//
8108// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateDevice
8109func (c *AlexaForBusiness) UpdateDevice(input *UpdateDeviceInput) (*UpdateDeviceOutput, error) {
8110	req, out := c.UpdateDeviceRequest(input)
8111	return out, req.Send()
8112}
8113
8114// UpdateDeviceWithContext is the same as UpdateDevice with the addition of
8115// the ability to pass a context and additional request options.
8116//
8117// See UpdateDevice for details on how to use this API operation.
8118//
8119// The context must be non-nil and will be used for request cancellation. If
8120// the context is nil a panic will occur. In the future the SDK may create
8121// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8122// for more information on using Contexts.
8123func (c *AlexaForBusiness) UpdateDeviceWithContext(ctx aws.Context, input *UpdateDeviceInput, opts ...request.Option) (*UpdateDeviceOutput, error) {
8124	req, out := c.UpdateDeviceRequest(input)
8125	req.SetContext(ctx)
8126	req.ApplyOptions(opts...)
8127	return out, req.Send()
8128}
8129
8130const opUpdateGateway = "UpdateGateway"
8131
8132// UpdateGatewayRequest generates a "aws/request.Request" representing the
8133// client's request for the UpdateGateway operation. The "output" return
8134// value will be populated with the request's response once the request completes
8135// successfully.
8136//
8137// Use "Send" method on the returned Request to send the API call to the service.
8138// the "output" return value is not valid until after Send returns without error.
8139//
8140// See UpdateGateway for more information on using the UpdateGateway
8141// API call, and error handling.
8142//
8143// This method is useful when you want to inject custom logic or configuration
8144// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8145//
8146//
8147//    // Example sending a request using the UpdateGatewayRequest method.
8148//    req, resp := client.UpdateGatewayRequest(params)
8149//
8150//    err := req.Send()
8151//    if err == nil { // resp is now filled
8152//        fmt.Println(resp)
8153//    }
8154//
8155// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateGateway
8156func (c *AlexaForBusiness) UpdateGatewayRequest(input *UpdateGatewayInput) (req *request.Request, output *UpdateGatewayOutput) {
8157	op := &request.Operation{
8158		Name:       opUpdateGateway,
8159		HTTPMethod: "POST",
8160		HTTPPath:   "/",
8161	}
8162
8163	if input == nil {
8164		input = &UpdateGatewayInput{}
8165	}
8166
8167	output = &UpdateGatewayOutput{}
8168	req = c.newRequest(op, input, output)
8169	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8170	return
8171}
8172
8173// UpdateGateway API operation for Alexa For Business.
8174//
8175// Updates the details of a gateway. If any optional field is not provided,
8176// the existing corresponding value is left unmodified.
8177//
8178// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8179// with awserr.Error's Code and Message methods to get detailed information about
8180// the error.
8181//
8182// See the AWS API reference guide for Alexa For Business's
8183// API operation UpdateGateway for usage and error information.
8184//
8185// Returned Error Types:
8186//   * NotFoundException
8187//   The resource is not found.
8188//
8189//   * NameInUseException
8190//   The name sent in the request is already in use.
8191//
8192// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateGateway
8193func (c *AlexaForBusiness) UpdateGateway(input *UpdateGatewayInput) (*UpdateGatewayOutput, error) {
8194	req, out := c.UpdateGatewayRequest(input)
8195	return out, req.Send()
8196}
8197
8198// UpdateGatewayWithContext is the same as UpdateGateway with the addition of
8199// the ability to pass a context and additional request options.
8200//
8201// See UpdateGateway for details on how to use this API operation.
8202//
8203// The context must be non-nil and will be used for request cancellation. If
8204// the context is nil a panic will occur. In the future the SDK may create
8205// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8206// for more information on using Contexts.
8207func (c *AlexaForBusiness) UpdateGatewayWithContext(ctx aws.Context, input *UpdateGatewayInput, opts ...request.Option) (*UpdateGatewayOutput, error) {
8208	req, out := c.UpdateGatewayRequest(input)
8209	req.SetContext(ctx)
8210	req.ApplyOptions(opts...)
8211	return out, req.Send()
8212}
8213
8214const opUpdateGatewayGroup = "UpdateGatewayGroup"
8215
8216// UpdateGatewayGroupRequest generates a "aws/request.Request" representing the
8217// client's request for the UpdateGatewayGroup operation. The "output" return
8218// value will be populated with the request's response once the request completes
8219// successfully.
8220//
8221// Use "Send" method on the returned Request to send the API call to the service.
8222// the "output" return value is not valid until after Send returns without error.
8223//
8224// See UpdateGatewayGroup for more information on using the UpdateGatewayGroup
8225// API call, and error handling.
8226//
8227// This method is useful when you want to inject custom logic or configuration
8228// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8229//
8230//
8231//    // Example sending a request using the UpdateGatewayGroupRequest method.
8232//    req, resp := client.UpdateGatewayGroupRequest(params)
8233//
8234//    err := req.Send()
8235//    if err == nil { // resp is now filled
8236//        fmt.Println(resp)
8237//    }
8238//
8239// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateGatewayGroup
8240func (c *AlexaForBusiness) UpdateGatewayGroupRequest(input *UpdateGatewayGroupInput) (req *request.Request, output *UpdateGatewayGroupOutput) {
8241	op := &request.Operation{
8242		Name:       opUpdateGatewayGroup,
8243		HTTPMethod: "POST",
8244		HTTPPath:   "/",
8245	}
8246
8247	if input == nil {
8248		input = &UpdateGatewayGroupInput{}
8249	}
8250
8251	output = &UpdateGatewayGroupOutput{}
8252	req = c.newRequest(op, input, output)
8253	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8254	return
8255}
8256
8257// UpdateGatewayGroup API operation for Alexa For Business.
8258//
8259// Updates the details of a gateway group. If any optional field is not provided,
8260// the existing corresponding value is left unmodified.
8261//
8262// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8263// with awserr.Error's Code and Message methods to get detailed information about
8264// the error.
8265//
8266// See the AWS API reference guide for Alexa For Business's
8267// API operation UpdateGatewayGroup for usage and error information.
8268//
8269// Returned Error Types:
8270//   * NotFoundException
8271//   The resource is not found.
8272//
8273//   * NameInUseException
8274//   The name sent in the request is already in use.
8275//
8276// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateGatewayGroup
8277func (c *AlexaForBusiness) UpdateGatewayGroup(input *UpdateGatewayGroupInput) (*UpdateGatewayGroupOutput, error) {
8278	req, out := c.UpdateGatewayGroupRequest(input)
8279	return out, req.Send()
8280}
8281
8282// UpdateGatewayGroupWithContext is the same as UpdateGatewayGroup with the addition of
8283// the ability to pass a context and additional request options.
8284//
8285// See UpdateGatewayGroup for details on how to use this API operation.
8286//
8287// The context must be non-nil and will be used for request cancellation. If
8288// the context is nil a panic will occur. In the future the SDK may create
8289// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8290// for more information on using Contexts.
8291func (c *AlexaForBusiness) UpdateGatewayGroupWithContext(ctx aws.Context, input *UpdateGatewayGroupInput, opts ...request.Option) (*UpdateGatewayGroupOutput, error) {
8292	req, out := c.UpdateGatewayGroupRequest(input)
8293	req.SetContext(ctx)
8294	req.ApplyOptions(opts...)
8295	return out, req.Send()
8296}
8297
8298const opUpdateNetworkProfile = "UpdateNetworkProfile"
8299
8300// UpdateNetworkProfileRequest generates a "aws/request.Request" representing the
8301// client's request for the UpdateNetworkProfile operation. The "output" return
8302// value will be populated with the request's response once the request completes
8303// successfully.
8304//
8305// Use "Send" method on the returned Request to send the API call to the service.
8306// the "output" return value is not valid until after Send returns without error.
8307//
8308// See UpdateNetworkProfile for more information on using the UpdateNetworkProfile
8309// API call, and error handling.
8310//
8311// This method is useful when you want to inject custom logic or configuration
8312// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8313//
8314//
8315//    // Example sending a request using the UpdateNetworkProfileRequest method.
8316//    req, resp := client.UpdateNetworkProfileRequest(params)
8317//
8318//    err := req.Send()
8319//    if err == nil { // resp is now filled
8320//        fmt.Println(resp)
8321//    }
8322//
8323// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateNetworkProfile
8324func (c *AlexaForBusiness) UpdateNetworkProfileRequest(input *UpdateNetworkProfileInput) (req *request.Request, output *UpdateNetworkProfileOutput) {
8325	op := &request.Operation{
8326		Name:       opUpdateNetworkProfile,
8327		HTTPMethod: "POST",
8328		HTTPPath:   "/",
8329	}
8330
8331	if input == nil {
8332		input = &UpdateNetworkProfileInput{}
8333	}
8334
8335	output = &UpdateNetworkProfileOutput{}
8336	req = c.newRequest(op, input, output)
8337	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8338	return
8339}
8340
8341// UpdateNetworkProfile API operation for Alexa For Business.
8342//
8343// Updates a network profile by the network profile ARN.
8344//
8345// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8346// with awserr.Error's Code and Message methods to get detailed information about
8347// the error.
8348//
8349// See the AWS API reference guide for Alexa For Business's
8350// API operation UpdateNetworkProfile for usage and error information.
8351//
8352// Returned Error Types:
8353//   * NotFoundException
8354//   The resource is not found.
8355//
8356//   * NameInUseException
8357//   The name sent in the request is already in use.
8358//
8359//   * ConcurrentModificationException
8360//   There is a concurrent modification of resources.
8361//
8362//   * InvalidCertificateAuthorityException
8363//   The Certificate Authority can't issue or revoke a certificate.
8364//
8365//   * InvalidSecretsManagerResourceException
8366//   A password in SecretsManager is in an invalid state.
8367//
8368// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateNetworkProfile
8369func (c *AlexaForBusiness) UpdateNetworkProfile(input *UpdateNetworkProfileInput) (*UpdateNetworkProfileOutput, error) {
8370	req, out := c.UpdateNetworkProfileRequest(input)
8371	return out, req.Send()
8372}
8373
8374// UpdateNetworkProfileWithContext is the same as UpdateNetworkProfile with the addition of
8375// the ability to pass a context and additional request options.
8376//
8377// See UpdateNetworkProfile for details on how to use this API operation.
8378//
8379// The context must be non-nil and will be used for request cancellation. If
8380// the context is nil a panic will occur. In the future the SDK may create
8381// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8382// for more information on using Contexts.
8383func (c *AlexaForBusiness) UpdateNetworkProfileWithContext(ctx aws.Context, input *UpdateNetworkProfileInput, opts ...request.Option) (*UpdateNetworkProfileOutput, error) {
8384	req, out := c.UpdateNetworkProfileRequest(input)
8385	req.SetContext(ctx)
8386	req.ApplyOptions(opts...)
8387	return out, req.Send()
8388}
8389
8390const opUpdateProfile = "UpdateProfile"
8391
8392// UpdateProfileRequest generates a "aws/request.Request" representing the
8393// client's request for the UpdateProfile operation. The "output" return
8394// value will be populated with the request's response once the request completes
8395// successfully.
8396//
8397// Use "Send" method on the returned Request to send the API call to the service.
8398// the "output" return value is not valid until after Send returns without error.
8399//
8400// See UpdateProfile for more information on using the UpdateProfile
8401// API call, and error handling.
8402//
8403// This method is useful when you want to inject custom logic or configuration
8404// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8405//
8406//
8407//    // Example sending a request using the UpdateProfileRequest method.
8408//    req, resp := client.UpdateProfileRequest(params)
8409//
8410//    err := req.Send()
8411//    if err == nil { // resp is now filled
8412//        fmt.Println(resp)
8413//    }
8414//
8415// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateProfile
8416func (c *AlexaForBusiness) UpdateProfileRequest(input *UpdateProfileInput) (req *request.Request, output *UpdateProfileOutput) {
8417	op := &request.Operation{
8418		Name:       opUpdateProfile,
8419		HTTPMethod: "POST",
8420		HTTPPath:   "/",
8421	}
8422
8423	if input == nil {
8424		input = &UpdateProfileInput{}
8425	}
8426
8427	output = &UpdateProfileOutput{}
8428	req = c.newRequest(op, input, output)
8429	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8430	return
8431}
8432
8433// UpdateProfile API operation for Alexa For Business.
8434//
8435// Updates an existing room profile by room profile ARN.
8436//
8437// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8438// with awserr.Error's Code and Message methods to get detailed information about
8439// the error.
8440//
8441// See the AWS API reference guide for Alexa For Business's
8442// API operation UpdateProfile for usage and error information.
8443//
8444// Returned Error Types:
8445//   * NotFoundException
8446//   The resource is not found.
8447//
8448//   * NameInUseException
8449//   The name sent in the request is already in use.
8450//
8451//   * ConcurrentModificationException
8452//   There is a concurrent modification of resources.
8453//
8454// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateProfile
8455func (c *AlexaForBusiness) UpdateProfile(input *UpdateProfileInput) (*UpdateProfileOutput, error) {
8456	req, out := c.UpdateProfileRequest(input)
8457	return out, req.Send()
8458}
8459
8460// UpdateProfileWithContext is the same as UpdateProfile with the addition of
8461// the ability to pass a context and additional request options.
8462//
8463// See UpdateProfile for details on how to use this API operation.
8464//
8465// The context must be non-nil and will be used for request cancellation. If
8466// the context is nil a panic will occur. In the future the SDK may create
8467// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8468// for more information on using Contexts.
8469func (c *AlexaForBusiness) UpdateProfileWithContext(ctx aws.Context, input *UpdateProfileInput, opts ...request.Option) (*UpdateProfileOutput, error) {
8470	req, out := c.UpdateProfileRequest(input)
8471	req.SetContext(ctx)
8472	req.ApplyOptions(opts...)
8473	return out, req.Send()
8474}
8475
8476const opUpdateRoom = "UpdateRoom"
8477
8478// UpdateRoomRequest generates a "aws/request.Request" representing the
8479// client's request for the UpdateRoom operation. The "output" return
8480// value will be populated with the request's response once the request completes
8481// successfully.
8482//
8483// Use "Send" method on the returned Request to send the API call to the service.
8484// the "output" return value is not valid until after Send returns without error.
8485//
8486// See UpdateRoom for more information on using the UpdateRoom
8487// API call, and error handling.
8488//
8489// This method is useful when you want to inject custom logic or configuration
8490// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8491//
8492//
8493//    // Example sending a request using the UpdateRoomRequest method.
8494//    req, resp := client.UpdateRoomRequest(params)
8495//
8496//    err := req.Send()
8497//    if err == nil { // resp is now filled
8498//        fmt.Println(resp)
8499//    }
8500//
8501// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateRoom
8502func (c *AlexaForBusiness) UpdateRoomRequest(input *UpdateRoomInput) (req *request.Request, output *UpdateRoomOutput) {
8503	op := &request.Operation{
8504		Name:       opUpdateRoom,
8505		HTTPMethod: "POST",
8506		HTTPPath:   "/",
8507	}
8508
8509	if input == nil {
8510		input = &UpdateRoomInput{}
8511	}
8512
8513	output = &UpdateRoomOutput{}
8514	req = c.newRequest(op, input, output)
8515	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8516	return
8517}
8518
8519// UpdateRoom API operation for Alexa For Business.
8520//
8521// Updates room details by room ARN.
8522//
8523// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8524// with awserr.Error's Code and Message methods to get detailed information about
8525// the error.
8526//
8527// See the AWS API reference guide for Alexa For Business's
8528// API operation UpdateRoom for usage and error information.
8529//
8530// Returned Error Types:
8531//   * NotFoundException
8532//   The resource is not found.
8533//
8534//   * NameInUseException
8535//   The name sent in the request is already in use.
8536//
8537// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateRoom
8538func (c *AlexaForBusiness) UpdateRoom(input *UpdateRoomInput) (*UpdateRoomOutput, error) {
8539	req, out := c.UpdateRoomRequest(input)
8540	return out, req.Send()
8541}
8542
8543// UpdateRoomWithContext is the same as UpdateRoom with the addition of
8544// the ability to pass a context and additional request options.
8545//
8546// See UpdateRoom for details on how to use this API operation.
8547//
8548// The context must be non-nil and will be used for request cancellation. If
8549// the context is nil a panic will occur. In the future the SDK may create
8550// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8551// for more information on using Contexts.
8552func (c *AlexaForBusiness) UpdateRoomWithContext(ctx aws.Context, input *UpdateRoomInput, opts ...request.Option) (*UpdateRoomOutput, error) {
8553	req, out := c.UpdateRoomRequest(input)
8554	req.SetContext(ctx)
8555	req.ApplyOptions(opts...)
8556	return out, req.Send()
8557}
8558
8559const opUpdateSkillGroup = "UpdateSkillGroup"
8560
8561// UpdateSkillGroupRequest generates a "aws/request.Request" representing the
8562// client's request for the UpdateSkillGroup operation. The "output" return
8563// value will be populated with the request's response once the request completes
8564// successfully.
8565//
8566// Use "Send" method on the returned Request to send the API call to the service.
8567// the "output" return value is not valid until after Send returns without error.
8568//
8569// See UpdateSkillGroup for more information on using the UpdateSkillGroup
8570// API call, and error handling.
8571//
8572// This method is useful when you want to inject custom logic or configuration
8573// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8574//
8575//
8576//    // Example sending a request using the UpdateSkillGroupRequest method.
8577//    req, resp := client.UpdateSkillGroupRequest(params)
8578//
8579//    err := req.Send()
8580//    if err == nil { // resp is now filled
8581//        fmt.Println(resp)
8582//    }
8583//
8584// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateSkillGroup
8585func (c *AlexaForBusiness) UpdateSkillGroupRequest(input *UpdateSkillGroupInput) (req *request.Request, output *UpdateSkillGroupOutput) {
8586	op := &request.Operation{
8587		Name:       opUpdateSkillGroup,
8588		HTTPMethod: "POST",
8589		HTTPPath:   "/",
8590	}
8591
8592	if input == nil {
8593		input = &UpdateSkillGroupInput{}
8594	}
8595
8596	output = &UpdateSkillGroupOutput{}
8597	req = c.newRequest(op, input, output)
8598	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8599	return
8600}
8601
8602// UpdateSkillGroup API operation for Alexa For Business.
8603//
8604// Updates skill group details by skill group ARN.
8605//
8606// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8607// with awserr.Error's Code and Message methods to get detailed information about
8608// the error.
8609//
8610// See the AWS API reference guide for Alexa For Business's
8611// API operation UpdateSkillGroup for usage and error information.
8612//
8613// Returned Error Types:
8614//   * NotFoundException
8615//   The resource is not found.
8616//
8617//   * NameInUseException
8618//   The name sent in the request is already in use.
8619//
8620//   * ConcurrentModificationException
8621//   There is a concurrent modification of resources.
8622//
8623// See also, https://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/UpdateSkillGroup
8624func (c *AlexaForBusiness) UpdateSkillGroup(input *UpdateSkillGroupInput) (*UpdateSkillGroupOutput, error) {
8625	req, out := c.UpdateSkillGroupRequest(input)
8626	return out, req.Send()
8627}
8628
8629// UpdateSkillGroupWithContext is the same as UpdateSkillGroup with the addition of
8630// the ability to pass a context and additional request options.
8631//
8632// See UpdateSkillGroup for details on how to use this API operation.
8633//
8634// The context must be non-nil and will be used for request cancellation. If
8635// the context is nil a panic will occur. In the future the SDK may create
8636// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8637// for more information on using Contexts.
8638func (c *AlexaForBusiness) UpdateSkillGroupWithContext(ctx aws.Context, input *UpdateSkillGroupInput, opts ...request.Option) (*UpdateSkillGroupOutput, error) {
8639	req, out := c.UpdateSkillGroupRequest(input)
8640	req.SetContext(ctx)
8641	req.ApplyOptions(opts...)
8642	return out, req.Send()
8643}
8644
8645// An address book with attributes.
8646type AddressBook struct {
8647	_ struct{} `type:"structure"`
8648
8649	// The ARN of the address book.
8650	AddressBookArn *string `type:"string"`
8651
8652	// The description of the address book.
8653	Description *string `min:"1" type:"string"`
8654
8655	// The name of the address book.
8656	Name *string `min:"1" type:"string"`
8657}
8658
8659// String returns the string representation
8660func (s AddressBook) String() string {
8661	return awsutil.Prettify(s)
8662}
8663
8664// GoString returns the string representation
8665func (s AddressBook) GoString() string {
8666	return s.String()
8667}
8668
8669// SetAddressBookArn sets the AddressBookArn field's value.
8670func (s *AddressBook) SetAddressBookArn(v string) *AddressBook {
8671	s.AddressBookArn = &v
8672	return s
8673}
8674
8675// SetDescription sets the Description field's value.
8676func (s *AddressBook) SetDescription(v string) *AddressBook {
8677	s.Description = &v
8678	return s
8679}
8680
8681// SetName sets the Name field's value.
8682func (s *AddressBook) SetName(v string) *AddressBook {
8683	s.Name = &v
8684	return s
8685}
8686
8687// Information related to an address book.
8688type AddressBookData struct {
8689	_ struct{} `type:"structure"`
8690
8691	// The ARN of the address book.
8692	AddressBookArn *string `type:"string"`
8693
8694	// The description of the address book.
8695	Description *string `min:"1" type:"string"`
8696
8697	// The name of the address book.
8698	Name *string `min:"1" type:"string"`
8699}
8700
8701// String returns the string representation
8702func (s AddressBookData) String() string {
8703	return awsutil.Prettify(s)
8704}
8705
8706// GoString returns the string representation
8707func (s AddressBookData) GoString() string {
8708	return s.String()
8709}
8710
8711// SetAddressBookArn sets the AddressBookArn field's value.
8712func (s *AddressBookData) SetAddressBookArn(v string) *AddressBookData {
8713	s.AddressBookArn = &v
8714	return s
8715}
8716
8717// SetDescription sets the Description field's value.
8718func (s *AddressBookData) SetDescription(v string) *AddressBookData {
8719	s.Description = &v
8720	return s
8721}
8722
8723// SetName sets the Name field's value.
8724func (s *AddressBookData) SetName(v string) *AddressBookData {
8725	s.Name = &v
8726	return s
8727}
8728
8729// The resource being created already exists.
8730type AlreadyExistsException struct {
8731	_            struct{}                  `type:"structure"`
8732	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8733
8734	Message_ *string `locationName:"Message" type:"string"`
8735}
8736
8737// String returns the string representation
8738func (s AlreadyExistsException) String() string {
8739	return awsutil.Prettify(s)
8740}
8741
8742// GoString returns the string representation
8743func (s AlreadyExistsException) GoString() string {
8744	return s.String()
8745}
8746
8747func newErrorAlreadyExistsException(v protocol.ResponseMetadata) error {
8748	return &AlreadyExistsException{
8749		RespMetadata: v,
8750	}
8751}
8752
8753// Code returns the exception type name.
8754func (s *AlreadyExistsException) Code() string {
8755	return "AlreadyExistsException"
8756}
8757
8758// Message returns the exception's message.
8759func (s *AlreadyExistsException) Message() string {
8760	if s.Message_ != nil {
8761		return *s.Message_
8762	}
8763	return ""
8764}
8765
8766// OrigErr always returns nil, satisfies awserr.Error interface.
8767func (s *AlreadyExistsException) OrigErr() error {
8768	return nil
8769}
8770
8771func (s *AlreadyExistsException) Error() string {
8772	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8773}
8774
8775// Status code returns the HTTP status code for the request's response error.
8776func (s *AlreadyExistsException) StatusCode() int {
8777	return s.RespMetadata.StatusCode
8778}
8779
8780// RequestID returns the service's response RequestID for request.
8781func (s *AlreadyExistsException) RequestID() string {
8782	return s.RespMetadata.RequestID
8783}
8784
8785type ApproveSkillInput struct {
8786	_ struct{} `type:"structure"`
8787
8788	// The unique identifier of the skill.
8789	//
8790	// SkillId is a required field
8791	SkillId *string `type:"string" required:"true"`
8792}
8793
8794// String returns the string representation
8795func (s ApproveSkillInput) String() string {
8796	return awsutil.Prettify(s)
8797}
8798
8799// GoString returns the string representation
8800func (s ApproveSkillInput) GoString() string {
8801	return s.String()
8802}
8803
8804// Validate inspects the fields of the type to determine if they are valid.
8805func (s *ApproveSkillInput) Validate() error {
8806	invalidParams := request.ErrInvalidParams{Context: "ApproveSkillInput"}
8807	if s.SkillId == nil {
8808		invalidParams.Add(request.NewErrParamRequired("SkillId"))
8809	}
8810
8811	if invalidParams.Len() > 0 {
8812		return invalidParams
8813	}
8814	return nil
8815}
8816
8817// SetSkillId sets the SkillId field's value.
8818func (s *ApproveSkillInput) SetSkillId(v string) *ApproveSkillInput {
8819	s.SkillId = &v
8820	return s
8821}
8822
8823type ApproveSkillOutput struct {
8824	_ struct{} `type:"structure"`
8825}
8826
8827// String returns the string representation
8828func (s ApproveSkillOutput) String() string {
8829	return awsutil.Prettify(s)
8830}
8831
8832// GoString returns the string representation
8833func (s ApproveSkillOutput) GoString() string {
8834	return s.String()
8835}
8836
8837type AssociateContactWithAddressBookInput struct {
8838	_ struct{} `type:"structure"`
8839
8840	// The ARN of the address book with which to associate the contact.
8841	//
8842	// AddressBookArn is a required field
8843	AddressBookArn *string `type:"string" required:"true"`
8844
8845	// The ARN of the contact to associate with an address book.
8846	//
8847	// ContactArn is a required field
8848	ContactArn *string `type:"string" required:"true"`
8849}
8850
8851// String returns the string representation
8852func (s AssociateContactWithAddressBookInput) String() string {
8853	return awsutil.Prettify(s)
8854}
8855
8856// GoString returns the string representation
8857func (s AssociateContactWithAddressBookInput) GoString() string {
8858	return s.String()
8859}
8860
8861// Validate inspects the fields of the type to determine if they are valid.
8862func (s *AssociateContactWithAddressBookInput) Validate() error {
8863	invalidParams := request.ErrInvalidParams{Context: "AssociateContactWithAddressBookInput"}
8864	if s.AddressBookArn == nil {
8865		invalidParams.Add(request.NewErrParamRequired("AddressBookArn"))
8866	}
8867	if s.ContactArn == nil {
8868		invalidParams.Add(request.NewErrParamRequired("ContactArn"))
8869	}
8870
8871	if invalidParams.Len() > 0 {
8872		return invalidParams
8873	}
8874	return nil
8875}
8876
8877// SetAddressBookArn sets the AddressBookArn field's value.
8878func (s *AssociateContactWithAddressBookInput) SetAddressBookArn(v string) *AssociateContactWithAddressBookInput {
8879	s.AddressBookArn = &v
8880	return s
8881}
8882
8883// SetContactArn sets the ContactArn field's value.
8884func (s *AssociateContactWithAddressBookInput) SetContactArn(v string) *AssociateContactWithAddressBookInput {
8885	s.ContactArn = &v
8886	return s
8887}
8888
8889type AssociateContactWithAddressBookOutput struct {
8890	_ struct{} `type:"structure"`
8891}
8892
8893// String returns the string representation
8894func (s AssociateContactWithAddressBookOutput) String() string {
8895	return awsutil.Prettify(s)
8896}
8897
8898// GoString returns the string representation
8899func (s AssociateContactWithAddressBookOutput) GoString() string {
8900	return s.String()
8901}
8902
8903type AssociateDeviceWithNetworkProfileInput struct {
8904	_ struct{} `type:"structure"`
8905
8906	// The device ARN.
8907	//
8908	// DeviceArn is a required field
8909	DeviceArn *string `type:"string" required:"true"`
8910
8911	// The ARN of the network profile to associate with a device.
8912	//
8913	// NetworkProfileArn is a required field
8914	NetworkProfileArn *string `type:"string" required:"true"`
8915}
8916
8917// String returns the string representation
8918func (s AssociateDeviceWithNetworkProfileInput) String() string {
8919	return awsutil.Prettify(s)
8920}
8921
8922// GoString returns the string representation
8923func (s AssociateDeviceWithNetworkProfileInput) GoString() string {
8924	return s.String()
8925}
8926
8927// Validate inspects the fields of the type to determine if they are valid.
8928func (s *AssociateDeviceWithNetworkProfileInput) Validate() error {
8929	invalidParams := request.ErrInvalidParams{Context: "AssociateDeviceWithNetworkProfileInput"}
8930	if s.DeviceArn == nil {
8931		invalidParams.Add(request.NewErrParamRequired("DeviceArn"))
8932	}
8933	if s.NetworkProfileArn == nil {
8934		invalidParams.Add(request.NewErrParamRequired("NetworkProfileArn"))
8935	}
8936
8937	if invalidParams.Len() > 0 {
8938		return invalidParams
8939	}
8940	return nil
8941}
8942
8943// SetDeviceArn sets the DeviceArn field's value.
8944func (s *AssociateDeviceWithNetworkProfileInput) SetDeviceArn(v string) *AssociateDeviceWithNetworkProfileInput {
8945	s.DeviceArn = &v
8946	return s
8947}
8948
8949// SetNetworkProfileArn sets the NetworkProfileArn field's value.
8950func (s *AssociateDeviceWithNetworkProfileInput) SetNetworkProfileArn(v string) *AssociateDeviceWithNetworkProfileInput {
8951	s.NetworkProfileArn = &v
8952	return s
8953}
8954
8955type AssociateDeviceWithNetworkProfileOutput struct {
8956	_ struct{} `type:"structure"`
8957}
8958
8959// String returns the string representation
8960func (s AssociateDeviceWithNetworkProfileOutput) String() string {
8961	return awsutil.Prettify(s)
8962}
8963
8964// GoString returns the string representation
8965func (s AssociateDeviceWithNetworkProfileOutput) GoString() string {
8966	return s.String()
8967}
8968
8969type AssociateDeviceWithRoomInput struct {
8970	_ struct{} `type:"structure"`
8971
8972	// The ARN of the device to associate to a room. Required.
8973	DeviceArn *string `type:"string"`
8974
8975	// The ARN of the room with which to associate the device. Required.
8976	RoomArn *string `type:"string"`
8977}
8978
8979// String returns the string representation
8980func (s AssociateDeviceWithRoomInput) String() string {
8981	return awsutil.Prettify(s)
8982}
8983
8984// GoString returns the string representation
8985func (s AssociateDeviceWithRoomInput) GoString() string {
8986	return s.String()
8987}
8988
8989// SetDeviceArn sets the DeviceArn field's value.
8990func (s *AssociateDeviceWithRoomInput) SetDeviceArn(v string) *AssociateDeviceWithRoomInput {
8991	s.DeviceArn = &v
8992	return s
8993}
8994
8995// SetRoomArn sets the RoomArn field's value.
8996func (s *AssociateDeviceWithRoomInput) SetRoomArn(v string) *AssociateDeviceWithRoomInput {
8997	s.RoomArn = &v
8998	return s
8999}
9000
9001type AssociateDeviceWithRoomOutput struct {
9002	_ struct{} `type:"structure"`
9003}
9004
9005// String returns the string representation
9006func (s AssociateDeviceWithRoomOutput) String() string {
9007	return awsutil.Prettify(s)
9008}
9009
9010// GoString returns the string representation
9011func (s AssociateDeviceWithRoomOutput) GoString() string {
9012	return s.String()
9013}
9014
9015type AssociateSkillGroupWithRoomInput struct {
9016	_ struct{} `type:"structure"`
9017
9018	// The ARN of the room with which to associate the skill group. Required.
9019	RoomArn *string `type:"string"`
9020
9021	// The ARN of the skill group to associate with a room. Required.
9022	SkillGroupArn *string `type:"string"`
9023}
9024
9025// String returns the string representation
9026func (s AssociateSkillGroupWithRoomInput) String() string {
9027	return awsutil.Prettify(s)
9028}
9029
9030// GoString returns the string representation
9031func (s AssociateSkillGroupWithRoomInput) GoString() string {
9032	return s.String()
9033}
9034
9035// SetRoomArn sets the RoomArn field's value.
9036func (s *AssociateSkillGroupWithRoomInput) SetRoomArn(v string) *AssociateSkillGroupWithRoomInput {
9037	s.RoomArn = &v
9038	return s
9039}
9040
9041// SetSkillGroupArn sets the SkillGroupArn field's value.
9042func (s *AssociateSkillGroupWithRoomInput) SetSkillGroupArn(v string) *AssociateSkillGroupWithRoomInput {
9043	s.SkillGroupArn = &v
9044	return s
9045}
9046
9047type AssociateSkillGroupWithRoomOutput struct {
9048	_ struct{} `type:"structure"`
9049}
9050
9051// String returns the string representation
9052func (s AssociateSkillGroupWithRoomOutput) String() string {
9053	return awsutil.Prettify(s)
9054}
9055
9056// GoString returns the string representation
9057func (s AssociateSkillGroupWithRoomOutput) GoString() string {
9058	return s.String()
9059}
9060
9061type AssociateSkillWithSkillGroupInput struct {
9062	_ struct{} `type:"structure"`
9063
9064	// The ARN of the skill group to associate the skill to. Required.
9065	SkillGroupArn *string `type:"string"`
9066
9067	// The unique identifier of the skill.
9068	//
9069	// SkillId is a required field
9070	SkillId *string `type:"string" required:"true"`
9071}
9072
9073// String returns the string representation
9074func (s AssociateSkillWithSkillGroupInput) String() string {
9075	return awsutil.Prettify(s)
9076}
9077
9078// GoString returns the string representation
9079func (s AssociateSkillWithSkillGroupInput) GoString() string {
9080	return s.String()
9081}
9082
9083// Validate inspects the fields of the type to determine if they are valid.
9084func (s *AssociateSkillWithSkillGroupInput) Validate() error {
9085	invalidParams := request.ErrInvalidParams{Context: "AssociateSkillWithSkillGroupInput"}
9086	if s.SkillId == nil {
9087		invalidParams.Add(request.NewErrParamRequired("SkillId"))
9088	}
9089
9090	if invalidParams.Len() > 0 {
9091		return invalidParams
9092	}
9093	return nil
9094}
9095
9096// SetSkillGroupArn sets the SkillGroupArn field's value.
9097func (s *AssociateSkillWithSkillGroupInput) SetSkillGroupArn(v string) *AssociateSkillWithSkillGroupInput {
9098	s.SkillGroupArn = &v
9099	return s
9100}
9101
9102// SetSkillId sets the SkillId field's value.
9103func (s *AssociateSkillWithSkillGroupInput) SetSkillId(v string) *AssociateSkillWithSkillGroupInput {
9104	s.SkillId = &v
9105	return s
9106}
9107
9108type AssociateSkillWithSkillGroupOutput struct {
9109	_ struct{} `type:"structure"`
9110}
9111
9112// String returns the string representation
9113func (s AssociateSkillWithSkillGroupOutput) String() string {
9114	return awsutil.Prettify(s)
9115}
9116
9117// GoString returns the string representation
9118func (s AssociateSkillWithSkillGroupOutput) GoString() string {
9119	return s.String()
9120}
9121
9122type AssociateSkillWithUsersInput struct {
9123	_ struct{} `type:"structure"`
9124
9125	// The private skill ID you want to make available to enrolled users.
9126	//
9127	// SkillId is a required field
9128	SkillId *string `type:"string" required:"true"`
9129}
9130
9131// String returns the string representation
9132func (s AssociateSkillWithUsersInput) String() string {
9133	return awsutil.Prettify(s)
9134}
9135
9136// GoString returns the string representation
9137func (s AssociateSkillWithUsersInput) GoString() string {
9138	return s.String()
9139}
9140
9141// Validate inspects the fields of the type to determine if they are valid.
9142func (s *AssociateSkillWithUsersInput) Validate() error {
9143	invalidParams := request.ErrInvalidParams{Context: "AssociateSkillWithUsersInput"}
9144	if s.SkillId == nil {
9145		invalidParams.Add(request.NewErrParamRequired("SkillId"))
9146	}
9147
9148	if invalidParams.Len() > 0 {
9149		return invalidParams
9150	}
9151	return nil
9152}
9153
9154// SetSkillId sets the SkillId field's value.
9155func (s *AssociateSkillWithUsersInput) SetSkillId(v string) *AssociateSkillWithUsersInput {
9156	s.SkillId = &v
9157	return s
9158}
9159
9160type AssociateSkillWithUsersOutput struct {
9161	_ struct{} `type:"structure"`
9162}
9163
9164// String returns the string representation
9165func (s AssociateSkillWithUsersOutput) String() string {
9166	return awsutil.Prettify(s)
9167}
9168
9169// GoString returns the string representation
9170func (s AssociateSkillWithUsersOutput) GoString() string {
9171	return s.String()
9172}
9173
9174// The audio message. There is a 1 MB limit on the audio file input and the
9175// only supported format is MP3. To convert your MP3 audio files to an Alexa-friendly,
9176//
9177// required codec version (MPEG version 2) and bit rate (48 kbps), you might
9178// use converter software. One option for this is a command-line tool, FFmpeg.
9179// For more information, see FFmpeg (https://www.ffmpeg.org/). The following
9180// command converts the provided <input-file> to an MP3 file that is played
9181// in the announcement:
9182//
9183// ffmpeg -i <input-file> -ac 2 -codec:a libmp3lame -b:a 48k -ar 16000 <output-file.mp3>
9184type Audio struct {
9185	_ struct{} `type:"structure"`
9186
9187	// The locale of the audio message. Currently, en-US is supported.
9188	//
9189	// Locale is a required field
9190	Locale *string `type:"string" required:"true" enum:"Locale"`
9191
9192	// The location of the audio file. Currently, S3 URLs are supported. Only S3
9193	// locations comprised of safe characters are valid. For more information, see
9194	// Safe Characters (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#Safe%20Characters).
9195	//
9196	// Location is a required field
9197	Location *string `type:"string" required:"true"`
9198}
9199
9200// String returns the string representation
9201func (s Audio) String() string {
9202	return awsutil.Prettify(s)
9203}
9204
9205// GoString returns the string representation
9206func (s Audio) GoString() string {
9207	return s.String()
9208}
9209
9210// Validate inspects the fields of the type to determine if they are valid.
9211func (s *Audio) Validate() error {
9212	invalidParams := request.ErrInvalidParams{Context: "Audio"}
9213	if s.Locale == nil {
9214		invalidParams.Add(request.NewErrParamRequired("Locale"))
9215	}
9216	if s.Location == nil {
9217		invalidParams.Add(request.NewErrParamRequired("Location"))
9218	}
9219
9220	if invalidParams.Len() > 0 {
9221		return invalidParams
9222	}
9223	return nil
9224}
9225
9226// SetLocale sets the Locale field's value.
9227func (s *Audio) SetLocale(v string) *Audio {
9228	s.Locale = &v
9229	return s
9230}
9231
9232// SetLocation sets the Location field's value.
9233func (s *Audio) SetLocation(v string) *Audio {
9234	s.Location = &v
9235	return s
9236}
9237
9238// Usage report with specified parameters.
9239type BusinessReport struct {
9240	_ struct{} `type:"structure"`
9241
9242	// The time of report delivery.
9243	DeliveryTime *time.Time `type:"timestamp"`
9244
9245	// The download link where a user can download the report.
9246	DownloadUrl *string `type:"string"`
9247
9248	// The failure code.
9249	FailureCode *string `type:"string" enum:"BusinessReportFailureCode"`
9250
9251	// The S3 location of the output reports.
9252	S3Location *BusinessReportS3Location `type:"structure"`
9253
9254	// The status of the report generation execution (RUNNING, SUCCEEDED, or FAILED).
9255	Status *string `type:"string" enum:"BusinessReportStatus"`
9256}
9257
9258// String returns the string representation
9259func (s BusinessReport) String() string {
9260	return awsutil.Prettify(s)
9261}
9262
9263// GoString returns the string representation
9264func (s BusinessReport) GoString() string {
9265	return s.String()
9266}
9267
9268// SetDeliveryTime sets the DeliveryTime field's value.
9269func (s *BusinessReport) SetDeliveryTime(v time.Time) *BusinessReport {
9270	s.DeliveryTime = &v
9271	return s
9272}
9273
9274// SetDownloadUrl sets the DownloadUrl field's value.
9275func (s *BusinessReport) SetDownloadUrl(v string) *BusinessReport {
9276	s.DownloadUrl = &v
9277	return s
9278}
9279
9280// SetFailureCode sets the FailureCode field's value.
9281func (s *BusinessReport) SetFailureCode(v string) *BusinessReport {
9282	s.FailureCode = &v
9283	return s
9284}
9285
9286// SetS3Location sets the S3Location field's value.
9287func (s *BusinessReport) SetS3Location(v *BusinessReportS3Location) *BusinessReport {
9288	s.S3Location = v
9289	return s
9290}
9291
9292// SetStatus sets the Status field's value.
9293func (s *BusinessReport) SetStatus(v string) *BusinessReport {
9294	s.Status = &v
9295	return s
9296}
9297
9298// The content range of the report.
9299type BusinessReportContentRange struct {
9300	_ struct{} `type:"structure"`
9301
9302	// The interval of the content range.
9303	//
9304	// Interval is a required field
9305	Interval *string `type:"string" required:"true" enum:"BusinessReportInterval"`
9306}
9307
9308// String returns the string representation
9309func (s BusinessReportContentRange) String() string {
9310	return awsutil.Prettify(s)
9311}
9312
9313// GoString returns the string representation
9314func (s BusinessReportContentRange) GoString() string {
9315	return s.String()
9316}
9317
9318// Validate inspects the fields of the type to determine if they are valid.
9319func (s *BusinessReportContentRange) Validate() error {
9320	invalidParams := request.ErrInvalidParams{Context: "BusinessReportContentRange"}
9321	if s.Interval == nil {
9322		invalidParams.Add(request.NewErrParamRequired("Interval"))
9323	}
9324
9325	if invalidParams.Len() > 0 {
9326		return invalidParams
9327	}
9328	return nil
9329}
9330
9331// SetInterval sets the Interval field's value.
9332func (s *BusinessReportContentRange) SetInterval(v string) *BusinessReportContentRange {
9333	s.Interval = &v
9334	return s
9335}
9336
9337// The recurrence of the reports.
9338type BusinessReportRecurrence struct {
9339	_ struct{} `type:"structure"`
9340
9341	// The start date.
9342	StartDate *string `type:"string"`
9343}
9344
9345// String returns the string representation
9346func (s BusinessReportRecurrence) String() string {
9347	return awsutil.Prettify(s)
9348}
9349
9350// GoString returns the string representation
9351func (s BusinessReportRecurrence) GoString() string {
9352	return s.String()
9353}
9354
9355// SetStartDate sets the StartDate field's value.
9356func (s *BusinessReportRecurrence) SetStartDate(v string) *BusinessReportRecurrence {
9357	s.StartDate = &v
9358	return s
9359}
9360
9361// The S3 location of the output reports.
9362type BusinessReportS3Location struct {
9363	_ struct{} `type:"structure"`
9364
9365	// The S3 bucket name of the output reports.
9366	BucketName *string `type:"string"`
9367
9368	// The path of the business report.
9369	Path *string `type:"string"`
9370}
9371
9372// String returns the string representation
9373func (s BusinessReportS3Location) String() string {
9374	return awsutil.Prettify(s)
9375}
9376
9377// GoString returns the string representation
9378func (s BusinessReportS3Location) GoString() string {
9379	return s.String()
9380}
9381
9382// SetBucketName sets the BucketName field's value.
9383func (s *BusinessReportS3Location) SetBucketName(v string) *BusinessReportS3Location {
9384	s.BucketName = &v
9385	return s
9386}
9387
9388// SetPath sets the Path field's value.
9389func (s *BusinessReportS3Location) SetPath(v string) *BusinessReportS3Location {
9390	s.Path = &v
9391	return s
9392}
9393
9394// The schedule of the usage report.
9395type BusinessReportSchedule struct {
9396	_ struct{} `type:"structure"`
9397
9398	// The content range of the reports.
9399	ContentRange *BusinessReportContentRange `type:"structure"`
9400
9401	// The format of the generated report (individual CSV files or zipped files
9402	// of individual files).
9403	Format *string `type:"string" enum:"BusinessReportFormat"`
9404
9405	// The details of the last business report delivery for a specified time interval.
9406	LastBusinessReport *BusinessReport `type:"structure"`
9407
9408	// The recurrence of the reports.
9409	Recurrence *BusinessReportRecurrence `type:"structure"`
9410
9411	// The S3 bucket name of the output reports.
9412	S3BucketName *string `type:"string"`
9413
9414	// The S3 key where the report is delivered.
9415	S3KeyPrefix *string `type:"string"`
9416
9417	// The ARN of the business report schedule.
9418	ScheduleArn *string `type:"string"`
9419
9420	// The name identifier of the schedule.
9421	ScheduleName *string `type:"string"`
9422}
9423
9424// String returns the string representation
9425func (s BusinessReportSchedule) String() string {
9426	return awsutil.Prettify(s)
9427}
9428
9429// GoString returns the string representation
9430func (s BusinessReportSchedule) GoString() string {
9431	return s.String()
9432}
9433
9434// SetContentRange sets the ContentRange field's value.
9435func (s *BusinessReportSchedule) SetContentRange(v *BusinessReportContentRange) *BusinessReportSchedule {
9436	s.ContentRange = v
9437	return s
9438}
9439
9440// SetFormat sets the Format field's value.
9441func (s *BusinessReportSchedule) SetFormat(v string) *BusinessReportSchedule {
9442	s.Format = &v
9443	return s
9444}
9445
9446// SetLastBusinessReport sets the LastBusinessReport field's value.
9447func (s *BusinessReportSchedule) SetLastBusinessReport(v *BusinessReport) *BusinessReportSchedule {
9448	s.LastBusinessReport = v
9449	return s
9450}
9451
9452// SetRecurrence sets the Recurrence field's value.
9453func (s *BusinessReportSchedule) SetRecurrence(v *BusinessReportRecurrence) *BusinessReportSchedule {
9454	s.Recurrence = v
9455	return s
9456}
9457
9458// SetS3BucketName sets the S3BucketName field's value.
9459func (s *BusinessReportSchedule) SetS3BucketName(v string) *BusinessReportSchedule {
9460	s.S3BucketName = &v
9461	return s
9462}
9463
9464// SetS3KeyPrefix sets the S3KeyPrefix field's value.
9465func (s *BusinessReportSchedule) SetS3KeyPrefix(v string) *BusinessReportSchedule {
9466	s.S3KeyPrefix = &v
9467	return s
9468}
9469
9470// SetScheduleArn sets the ScheduleArn field's value.
9471func (s *BusinessReportSchedule) SetScheduleArn(v string) *BusinessReportSchedule {
9472	s.ScheduleArn = &v
9473	return s
9474}
9475
9476// SetScheduleName sets the ScheduleName field's value.
9477func (s *BusinessReportSchedule) SetScheduleName(v string) *BusinessReportSchedule {
9478	s.ScheduleName = &v
9479	return s
9480}
9481
9482// The skill store category that is shown. Alexa skills are assigned a specific
9483// skill category during creation, such as News, Social, and Sports.
9484type Category struct {
9485	_ struct{} `type:"structure"`
9486
9487	// The ID of the skill store category.
9488	CategoryId *int64 `min:"1" type:"long"`
9489
9490	// The name of the skill store category.
9491	CategoryName *string `type:"string"`
9492}
9493
9494// String returns the string representation
9495func (s Category) String() string {
9496	return awsutil.Prettify(s)
9497}
9498
9499// GoString returns the string representation
9500func (s Category) GoString() string {
9501	return s.String()
9502}
9503
9504// SetCategoryId sets the CategoryId field's value.
9505func (s *Category) SetCategoryId(v int64) *Category {
9506	s.CategoryId = &v
9507	return s
9508}
9509
9510// SetCategoryName sets the CategoryName field's value.
9511func (s *Category) SetCategoryName(v string) *Category {
9512	s.CategoryName = &v
9513	return s
9514}
9515
9516// There is a concurrent modification of resources.
9517type ConcurrentModificationException struct {
9518	_            struct{}                  `type:"structure"`
9519	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9520
9521	Message_ *string `locationName:"Message" type:"string"`
9522}
9523
9524// String returns the string representation
9525func (s ConcurrentModificationException) String() string {
9526	return awsutil.Prettify(s)
9527}
9528
9529// GoString returns the string representation
9530func (s ConcurrentModificationException) GoString() string {
9531	return s.String()
9532}
9533
9534func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
9535	return &ConcurrentModificationException{
9536		RespMetadata: v,
9537	}
9538}
9539
9540// Code returns the exception type name.
9541func (s *ConcurrentModificationException) Code() string {
9542	return "ConcurrentModificationException"
9543}
9544
9545// Message returns the exception's message.
9546func (s *ConcurrentModificationException) Message() string {
9547	if s.Message_ != nil {
9548		return *s.Message_
9549	}
9550	return ""
9551}
9552
9553// OrigErr always returns nil, satisfies awserr.Error interface.
9554func (s *ConcurrentModificationException) OrigErr() error {
9555	return nil
9556}
9557
9558func (s *ConcurrentModificationException) Error() string {
9559	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9560}
9561
9562// Status code returns the HTTP status code for the request's response error.
9563func (s *ConcurrentModificationException) StatusCode() int {
9564	return s.RespMetadata.StatusCode
9565}
9566
9567// RequestID returns the service's response RequestID for request.
9568func (s *ConcurrentModificationException) RequestID() string {
9569	return s.RespMetadata.RequestID
9570}
9571
9572// The default conference provider that is used if no other scheduled meetings
9573// are detected.
9574type ConferencePreference struct {
9575	_ struct{} `type:"structure"`
9576
9577	// The ARN of the default conference provider.
9578	DefaultConferenceProviderArn *string `type:"string"`
9579}
9580
9581// String returns the string representation
9582func (s ConferencePreference) String() string {
9583	return awsutil.Prettify(s)
9584}
9585
9586// GoString returns the string representation
9587func (s ConferencePreference) GoString() string {
9588	return s.String()
9589}
9590
9591// SetDefaultConferenceProviderArn sets the DefaultConferenceProviderArn field's value.
9592func (s *ConferencePreference) SetDefaultConferenceProviderArn(v string) *ConferencePreference {
9593	s.DefaultConferenceProviderArn = &v
9594	return s
9595}
9596
9597// An entity that provides a conferencing solution. Alexa for Business acts
9598// as the voice interface and mediator that connects users to their preferred
9599// conference provider. Examples of conference providers include Amazon Chime,
9600// Zoom, Cisco, and Polycom.
9601type ConferenceProvider struct {
9602	_ struct{} `type:"structure"`
9603
9604	// The ARN of the newly created conference provider.
9605	Arn *string `type:"string"`
9606
9607	// The IP endpoint and protocol for calling.
9608	IPDialIn *IPDialIn `type:"structure"`
9609
9610	// The meeting settings for the conference provider.
9611	MeetingSetting *MeetingSetting `type:"structure"`
9612
9613	// The name of the conference provider.
9614	Name *string `min:"1" type:"string"`
9615
9616	// The information for PSTN conferencing.
9617	PSTNDialIn *PSTNDialIn `type:"structure"`
9618
9619	// The type of conference providers.
9620	Type *string `type:"string" enum:"ConferenceProviderType"`
9621}
9622
9623// String returns the string representation
9624func (s ConferenceProvider) String() string {
9625	return awsutil.Prettify(s)
9626}
9627
9628// GoString returns the string representation
9629func (s ConferenceProvider) GoString() string {
9630	return s.String()
9631}
9632
9633// SetArn sets the Arn field's value.
9634func (s *ConferenceProvider) SetArn(v string) *ConferenceProvider {
9635	s.Arn = &v
9636	return s
9637}
9638
9639// SetIPDialIn sets the IPDialIn field's value.
9640func (s *ConferenceProvider) SetIPDialIn(v *IPDialIn) *ConferenceProvider {
9641	s.IPDialIn = v
9642	return s
9643}
9644
9645// SetMeetingSetting sets the MeetingSetting field's value.
9646func (s *ConferenceProvider) SetMeetingSetting(v *MeetingSetting) *ConferenceProvider {
9647	s.MeetingSetting = v
9648	return s
9649}
9650
9651// SetName sets the Name field's value.
9652func (s *ConferenceProvider) SetName(v string) *ConferenceProvider {
9653	s.Name = &v
9654	return s
9655}
9656
9657// SetPSTNDialIn sets the PSTNDialIn field's value.
9658func (s *ConferenceProvider) SetPSTNDialIn(v *PSTNDialIn) *ConferenceProvider {
9659	s.PSTNDialIn = v
9660	return s
9661}
9662
9663// SetType sets the Type field's value.
9664func (s *ConferenceProvider) SetType(v string) *ConferenceProvider {
9665	s.Type = &v
9666	return s
9667}
9668
9669// A contact with attributes.
9670type Contact struct {
9671	_ struct{} `type:"structure"`
9672
9673	// The ARN of the contact.
9674	ContactArn *string `type:"string"`
9675
9676	// The name of the contact to display on the console.
9677	DisplayName *string `min:"1" type:"string"`
9678
9679	// The first name of the contact, used to call the contact on the device.
9680	FirstName *string `min:"1" type:"string"`
9681
9682	// The last name of the contact, used to call the contact on the device.
9683	LastName *string `min:"1" type:"string"`
9684
9685	// The phone number of the contact. The phone number type defaults to WORK.
9686	// You can either specify PhoneNumber or PhoneNumbers. We recommend that you
9687	// use PhoneNumbers, which lets you specify the phone number type and multiple
9688	// numbers.
9689	PhoneNumber *string `type:"string" sensitive:"true"`
9690
9691	// The list of phone numbers for the contact.
9692	PhoneNumbers []*PhoneNumber `type:"list"`
9693
9694	// The list of SIP addresses for the contact.
9695	SipAddresses []*SipAddress `type:"list"`
9696}
9697
9698// String returns the string representation
9699func (s Contact) String() string {
9700	return awsutil.Prettify(s)
9701}
9702
9703// GoString returns the string representation
9704func (s Contact) GoString() string {
9705	return s.String()
9706}
9707
9708// SetContactArn sets the ContactArn field's value.
9709func (s *Contact) SetContactArn(v string) *Contact {
9710	s.ContactArn = &v
9711	return s
9712}
9713
9714// SetDisplayName sets the DisplayName field's value.
9715func (s *Contact) SetDisplayName(v string) *Contact {
9716	s.DisplayName = &v
9717	return s
9718}
9719
9720// SetFirstName sets the FirstName field's value.
9721func (s *Contact) SetFirstName(v string) *Contact {
9722	s.FirstName = &v
9723	return s
9724}
9725
9726// SetLastName sets the LastName field's value.
9727func (s *Contact) SetLastName(v string) *Contact {
9728	s.LastName = &v
9729	return s
9730}
9731
9732// SetPhoneNumber sets the PhoneNumber field's value.
9733func (s *Contact) SetPhoneNumber(v string) *Contact {
9734	s.PhoneNumber = &v
9735	return s
9736}
9737
9738// SetPhoneNumbers sets the PhoneNumbers field's value.
9739func (s *Contact) SetPhoneNumbers(v []*PhoneNumber) *Contact {
9740	s.PhoneNumbers = v
9741	return s
9742}
9743
9744// SetSipAddresses sets the SipAddresses field's value.
9745func (s *Contact) SetSipAddresses(v []*SipAddress) *Contact {
9746	s.SipAddresses = v
9747	return s
9748}
9749
9750// Information related to a contact.
9751type ContactData struct {
9752	_ struct{} `type:"structure"`
9753
9754	// The ARN of the contact.
9755	ContactArn *string `type:"string"`
9756
9757	// The name of the contact to display on the console.
9758	DisplayName *string `min:"1" type:"string"`
9759
9760	// The first name of the contact, used to call the contact on the device.
9761	FirstName *string `min:"1" type:"string"`
9762
9763	// The last name of the contact, used to call the contact on the device.
9764	LastName *string `min:"1" type:"string"`
9765
9766	// The phone number of the contact. The phone number type defaults to WORK.
9767	// You can specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers,
9768	// which lets you specify the phone number type and multiple numbers.
9769	PhoneNumber *string `type:"string" sensitive:"true"`
9770
9771	// The list of phone numbers for the contact.
9772	PhoneNumbers []*PhoneNumber `type:"list"`
9773
9774	// The list of SIP addresses for the contact.
9775	SipAddresses []*SipAddress `type:"list"`
9776}
9777
9778// String returns the string representation
9779func (s ContactData) String() string {
9780	return awsutil.Prettify(s)
9781}
9782
9783// GoString returns the string representation
9784func (s ContactData) GoString() string {
9785	return s.String()
9786}
9787
9788// SetContactArn sets the ContactArn field's value.
9789func (s *ContactData) SetContactArn(v string) *ContactData {
9790	s.ContactArn = &v
9791	return s
9792}
9793
9794// SetDisplayName sets the DisplayName field's value.
9795func (s *ContactData) SetDisplayName(v string) *ContactData {
9796	s.DisplayName = &v
9797	return s
9798}
9799
9800// SetFirstName sets the FirstName field's value.
9801func (s *ContactData) SetFirstName(v string) *ContactData {
9802	s.FirstName = &v
9803	return s
9804}
9805
9806// SetLastName sets the LastName field's value.
9807func (s *ContactData) SetLastName(v string) *ContactData {
9808	s.LastName = &v
9809	return s
9810}
9811
9812// SetPhoneNumber sets the PhoneNumber field's value.
9813func (s *ContactData) SetPhoneNumber(v string) *ContactData {
9814	s.PhoneNumber = &v
9815	return s
9816}
9817
9818// SetPhoneNumbers sets the PhoneNumbers field's value.
9819func (s *ContactData) SetPhoneNumbers(v []*PhoneNumber) *ContactData {
9820	s.PhoneNumbers = v
9821	return s
9822}
9823
9824// SetSipAddresses sets the SipAddresses field's value.
9825func (s *ContactData) SetSipAddresses(v []*SipAddress) *ContactData {
9826	s.SipAddresses = v
9827	return s
9828}
9829
9830// The content definition. This can contain only one text, SSML, or audio list
9831// object.
9832type Content struct {
9833	_ struct{} `type:"structure"`
9834
9835	// The list of audio messages.
9836	AudioList []*Audio `type:"list"`
9837
9838	// The list of SSML messages.
9839	SsmlList []*Ssml `type:"list"`
9840
9841	// The list of text messages.
9842	TextList []*Text `type:"list"`
9843}
9844
9845// String returns the string representation
9846func (s Content) String() string {
9847	return awsutil.Prettify(s)
9848}
9849
9850// GoString returns the string representation
9851func (s Content) GoString() string {
9852	return s.String()
9853}
9854
9855// Validate inspects the fields of the type to determine if they are valid.
9856func (s *Content) Validate() error {
9857	invalidParams := request.ErrInvalidParams{Context: "Content"}
9858	if s.AudioList != nil {
9859		for i, v := range s.AudioList {
9860			if v == nil {
9861				continue
9862			}
9863			if err := v.Validate(); err != nil {
9864				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioList", i), err.(request.ErrInvalidParams))
9865			}
9866		}
9867	}
9868	if s.SsmlList != nil {
9869		for i, v := range s.SsmlList {
9870			if v == nil {
9871				continue
9872			}
9873			if err := v.Validate(); err != nil {
9874				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SsmlList", i), err.(request.ErrInvalidParams))
9875			}
9876		}
9877	}
9878	if s.TextList != nil {
9879		for i, v := range s.TextList {
9880			if v == nil {
9881				continue
9882			}
9883			if err := v.Validate(); err != nil {
9884				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TextList", i), err.(request.ErrInvalidParams))
9885			}
9886		}
9887	}
9888
9889	if invalidParams.Len() > 0 {
9890		return invalidParams
9891	}
9892	return nil
9893}
9894
9895// SetAudioList sets the AudioList field's value.
9896func (s *Content) SetAudioList(v []*Audio) *Content {
9897	s.AudioList = v
9898	return s
9899}
9900
9901// SetSsmlList sets the SsmlList field's value.
9902func (s *Content) SetSsmlList(v []*Ssml) *Content {
9903	s.SsmlList = v
9904	return s
9905}
9906
9907// SetTextList sets the TextList field's value.
9908func (s *Content) SetTextList(v []*Text) *Content {
9909	s.TextList = v
9910	return s
9911}
9912
9913type CreateAddressBookInput struct {
9914	_ struct{} `type:"structure"`
9915
9916	// A unique, user-specified identifier for the request that ensures idempotency.
9917	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
9918
9919	// The description of the address book.
9920	Description *string `min:"1" type:"string"`
9921
9922	// The name of the address book.
9923	//
9924	// Name is a required field
9925	Name *string `min:"1" type:"string" required:"true"`
9926}
9927
9928// String returns the string representation
9929func (s CreateAddressBookInput) String() string {
9930	return awsutil.Prettify(s)
9931}
9932
9933// GoString returns the string representation
9934func (s CreateAddressBookInput) GoString() string {
9935	return s.String()
9936}
9937
9938// Validate inspects the fields of the type to determine if they are valid.
9939func (s *CreateAddressBookInput) Validate() error {
9940	invalidParams := request.ErrInvalidParams{Context: "CreateAddressBookInput"}
9941	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
9942		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
9943	}
9944	if s.Description != nil && len(*s.Description) < 1 {
9945		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
9946	}
9947	if s.Name == nil {
9948		invalidParams.Add(request.NewErrParamRequired("Name"))
9949	}
9950	if s.Name != nil && len(*s.Name) < 1 {
9951		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9952	}
9953
9954	if invalidParams.Len() > 0 {
9955		return invalidParams
9956	}
9957	return nil
9958}
9959
9960// SetClientRequestToken sets the ClientRequestToken field's value.
9961func (s *CreateAddressBookInput) SetClientRequestToken(v string) *CreateAddressBookInput {
9962	s.ClientRequestToken = &v
9963	return s
9964}
9965
9966// SetDescription sets the Description field's value.
9967func (s *CreateAddressBookInput) SetDescription(v string) *CreateAddressBookInput {
9968	s.Description = &v
9969	return s
9970}
9971
9972// SetName sets the Name field's value.
9973func (s *CreateAddressBookInput) SetName(v string) *CreateAddressBookInput {
9974	s.Name = &v
9975	return s
9976}
9977
9978type CreateAddressBookOutput struct {
9979	_ struct{} `type:"structure"`
9980
9981	// The ARN of the newly created address book.
9982	AddressBookArn *string `type:"string"`
9983}
9984
9985// String returns the string representation
9986func (s CreateAddressBookOutput) String() string {
9987	return awsutil.Prettify(s)
9988}
9989
9990// GoString returns the string representation
9991func (s CreateAddressBookOutput) GoString() string {
9992	return s.String()
9993}
9994
9995// SetAddressBookArn sets the AddressBookArn field's value.
9996func (s *CreateAddressBookOutput) SetAddressBookArn(v string) *CreateAddressBookOutput {
9997	s.AddressBookArn = &v
9998	return s
9999}
10000
10001type CreateBusinessReportScheduleInput struct {
10002	_ struct{} `type:"structure"`
10003
10004	// The client request token.
10005	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
10006
10007	// The content range of the reports.
10008	//
10009	// ContentRange is a required field
10010	ContentRange *BusinessReportContentRange `type:"structure" required:"true"`
10011
10012	// The format of the generated report (individual CSV files or zipped files
10013	// of individual files).
10014	//
10015	// Format is a required field
10016	Format *string `type:"string" required:"true" enum:"BusinessReportFormat"`
10017
10018	// The recurrence of the reports. If this isn't specified, the report will only
10019	// be delivered one time when the API is called.
10020	Recurrence *BusinessReportRecurrence `type:"structure"`
10021
10022	// The S3 bucket name of the output reports. If this isn't specified, the report
10023	// can be retrieved from a download link by calling ListBusinessReportSchedule.
10024	S3BucketName *string `type:"string"`
10025
10026	// The S3 key where the report is delivered.
10027	S3KeyPrefix *string `type:"string"`
10028
10029	// The name identifier of the schedule.
10030	ScheduleName *string `type:"string"`
10031
10032	// The tags for the business report schedule.
10033	Tags []*Tag `type:"list"`
10034}
10035
10036// String returns the string representation
10037func (s CreateBusinessReportScheduleInput) String() string {
10038	return awsutil.Prettify(s)
10039}
10040
10041// GoString returns the string representation
10042func (s CreateBusinessReportScheduleInput) GoString() string {
10043	return s.String()
10044}
10045
10046// Validate inspects the fields of the type to determine if they are valid.
10047func (s *CreateBusinessReportScheduleInput) Validate() error {
10048	invalidParams := request.ErrInvalidParams{Context: "CreateBusinessReportScheduleInput"}
10049	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
10050		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
10051	}
10052	if s.ContentRange == nil {
10053		invalidParams.Add(request.NewErrParamRequired("ContentRange"))
10054	}
10055	if s.Format == nil {
10056		invalidParams.Add(request.NewErrParamRequired("Format"))
10057	}
10058	if s.ContentRange != nil {
10059		if err := s.ContentRange.Validate(); err != nil {
10060			invalidParams.AddNested("ContentRange", err.(request.ErrInvalidParams))
10061		}
10062	}
10063	if s.Tags != nil {
10064		for i, v := range s.Tags {
10065			if v == nil {
10066				continue
10067			}
10068			if err := v.Validate(); err != nil {
10069				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
10070			}
10071		}
10072	}
10073
10074	if invalidParams.Len() > 0 {
10075		return invalidParams
10076	}
10077	return nil
10078}
10079
10080// SetClientRequestToken sets the ClientRequestToken field's value.
10081func (s *CreateBusinessReportScheduleInput) SetClientRequestToken(v string) *CreateBusinessReportScheduleInput {
10082	s.ClientRequestToken = &v
10083	return s
10084}
10085
10086// SetContentRange sets the ContentRange field's value.
10087func (s *CreateBusinessReportScheduleInput) SetContentRange(v *BusinessReportContentRange) *CreateBusinessReportScheduleInput {
10088	s.ContentRange = v
10089	return s
10090}
10091
10092// SetFormat sets the Format field's value.
10093func (s *CreateBusinessReportScheduleInput) SetFormat(v string) *CreateBusinessReportScheduleInput {
10094	s.Format = &v
10095	return s
10096}
10097
10098// SetRecurrence sets the Recurrence field's value.
10099func (s *CreateBusinessReportScheduleInput) SetRecurrence(v *BusinessReportRecurrence) *CreateBusinessReportScheduleInput {
10100	s.Recurrence = v
10101	return s
10102}
10103
10104// SetS3BucketName sets the S3BucketName field's value.
10105func (s *CreateBusinessReportScheduleInput) SetS3BucketName(v string) *CreateBusinessReportScheduleInput {
10106	s.S3BucketName = &v
10107	return s
10108}
10109
10110// SetS3KeyPrefix sets the S3KeyPrefix field's value.
10111func (s *CreateBusinessReportScheduleInput) SetS3KeyPrefix(v string) *CreateBusinessReportScheduleInput {
10112	s.S3KeyPrefix = &v
10113	return s
10114}
10115
10116// SetScheduleName sets the ScheduleName field's value.
10117func (s *CreateBusinessReportScheduleInput) SetScheduleName(v string) *CreateBusinessReportScheduleInput {
10118	s.ScheduleName = &v
10119	return s
10120}
10121
10122// SetTags sets the Tags field's value.
10123func (s *CreateBusinessReportScheduleInput) SetTags(v []*Tag) *CreateBusinessReportScheduleInput {
10124	s.Tags = v
10125	return s
10126}
10127
10128type CreateBusinessReportScheduleOutput struct {
10129	_ struct{} `type:"structure"`
10130
10131	// The ARN of the business report schedule.
10132	ScheduleArn *string `type:"string"`
10133}
10134
10135// String returns the string representation
10136func (s CreateBusinessReportScheduleOutput) String() string {
10137	return awsutil.Prettify(s)
10138}
10139
10140// GoString returns the string representation
10141func (s CreateBusinessReportScheduleOutput) GoString() string {
10142	return s.String()
10143}
10144
10145// SetScheduleArn sets the ScheduleArn field's value.
10146func (s *CreateBusinessReportScheduleOutput) SetScheduleArn(v string) *CreateBusinessReportScheduleOutput {
10147	s.ScheduleArn = &v
10148	return s
10149}
10150
10151type CreateConferenceProviderInput struct {
10152	_ struct{} `type:"structure"`
10153
10154	// The request token of the client.
10155	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
10156
10157	// The name of the conference provider.
10158	//
10159	// ConferenceProviderName is a required field
10160	ConferenceProviderName *string `min:"1" type:"string" required:"true"`
10161
10162	// Represents a type within a list of predefined types.
10163	//
10164	// ConferenceProviderType is a required field
10165	ConferenceProviderType *string `type:"string" required:"true" enum:"ConferenceProviderType"`
10166
10167	// The IP endpoint and protocol for calling.
10168	IPDialIn *IPDialIn `type:"structure"`
10169
10170	// The meeting settings for the conference provider.
10171	//
10172	// MeetingSetting is a required field
10173	MeetingSetting *MeetingSetting `type:"structure" required:"true"`
10174
10175	// The information for PSTN conferencing.
10176	PSTNDialIn *PSTNDialIn `type:"structure"`
10177}
10178
10179// String returns the string representation
10180func (s CreateConferenceProviderInput) String() string {
10181	return awsutil.Prettify(s)
10182}
10183
10184// GoString returns the string representation
10185func (s CreateConferenceProviderInput) GoString() string {
10186	return s.String()
10187}
10188
10189// Validate inspects the fields of the type to determine if they are valid.
10190func (s *CreateConferenceProviderInput) Validate() error {
10191	invalidParams := request.ErrInvalidParams{Context: "CreateConferenceProviderInput"}
10192	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
10193		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
10194	}
10195	if s.ConferenceProviderName == nil {
10196		invalidParams.Add(request.NewErrParamRequired("ConferenceProviderName"))
10197	}
10198	if s.ConferenceProviderName != nil && len(*s.ConferenceProviderName) < 1 {
10199		invalidParams.Add(request.NewErrParamMinLen("ConferenceProviderName", 1))
10200	}
10201	if s.ConferenceProviderType == nil {
10202		invalidParams.Add(request.NewErrParamRequired("ConferenceProviderType"))
10203	}
10204	if s.MeetingSetting == nil {
10205		invalidParams.Add(request.NewErrParamRequired("MeetingSetting"))
10206	}
10207	if s.IPDialIn != nil {
10208		if err := s.IPDialIn.Validate(); err != nil {
10209			invalidParams.AddNested("IPDialIn", err.(request.ErrInvalidParams))
10210		}
10211	}
10212	if s.MeetingSetting != nil {
10213		if err := s.MeetingSetting.Validate(); err != nil {
10214			invalidParams.AddNested("MeetingSetting", err.(request.ErrInvalidParams))
10215		}
10216	}
10217	if s.PSTNDialIn != nil {
10218		if err := s.PSTNDialIn.Validate(); err != nil {
10219			invalidParams.AddNested("PSTNDialIn", err.(request.ErrInvalidParams))
10220		}
10221	}
10222
10223	if invalidParams.Len() > 0 {
10224		return invalidParams
10225	}
10226	return nil
10227}
10228
10229// SetClientRequestToken sets the ClientRequestToken field's value.
10230func (s *CreateConferenceProviderInput) SetClientRequestToken(v string) *CreateConferenceProviderInput {
10231	s.ClientRequestToken = &v
10232	return s
10233}
10234
10235// SetConferenceProviderName sets the ConferenceProviderName field's value.
10236func (s *CreateConferenceProviderInput) SetConferenceProviderName(v string) *CreateConferenceProviderInput {
10237	s.ConferenceProviderName = &v
10238	return s
10239}
10240
10241// SetConferenceProviderType sets the ConferenceProviderType field's value.
10242func (s *CreateConferenceProviderInput) SetConferenceProviderType(v string) *CreateConferenceProviderInput {
10243	s.ConferenceProviderType = &v
10244	return s
10245}
10246
10247// SetIPDialIn sets the IPDialIn field's value.
10248func (s *CreateConferenceProviderInput) SetIPDialIn(v *IPDialIn) *CreateConferenceProviderInput {
10249	s.IPDialIn = v
10250	return s
10251}
10252
10253// SetMeetingSetting sets the MeetingSetting field's value.
10254func (s *CreateConferenceProviderInput) SetMeetingSetting(v *MeetingSetting) *CreateConferenceProviderInput {
10255	s.MeetingSetting = v
10256	return s
10257}
10258
10259// SetPSTNDialIn sets the PSTNDialIn field's value.
10260func (s *CreateConferenceProviderInput) SetPSTNDialIn(v *PSTNDialIn) *CreateConferenceProviderInput {
10261	s.PSTNDialIn = v
10262	return s
10263}
10264
10265type CreateConferenceProviderOutput struct {
10266	_ struct{} `type:"structure"`
10267
10268	// The ARN of the newly-created conference provider.
10269	ConferenceProviderArn *string `type:"string"`
10270}
10271
10272// String returns the string representation
10273func (s CreateConferenceProviderOutput) String() string {
10274	return awsutil.Prettify(s)
10275}
10276
10277// GoString returns the string representation
10278func (s CreateConferenceProviderOutput) GoString() string {
10279	return s.String()
10280}
10281
10282// SetConferenceProviderArn sets the ConferenceProviderArn field's value.
10283func (s *CreateConferenceProviderOutput) SetConferenceProviderArn(v string) *CreateConferenceProviderOutput {
10284	s.ConferenceProviderArn = &v
10285	return s
10286}
10287
10288type CreateContactInput struct {
10289	_ struct{} `type:"structure"`
10290
10291	// A unique, user-specified identifier for this request that ensures idempotency.
10292	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
10293
10294	// The name of the contact to display on the console.
10295	DisplayName *string `min:"1" type:"string"`
10296
10297	// The first name of the contact that is used to call the contact on the device.
10298	//
10299	// FirstName is a required field
10300	FirstName *string `min:"1" type:"string" required:"true"`
10301
10302	// The last name of the contact that is used to call the contact on the device.
10303	LastName *string `min:"1" type:"string"`
10304
10305	// The phone number of the contact in E.164 format. The phone number type defaults
10306	// to WORK. You can specify PhoneNumber or PhoneNumbers. We recommend that you
10307	// use PhoneNumbers, which lets you specify the phone number type and multiple
10308	// numbers.
10309	PhoneNumber *string `type:"string" sensitive:"true"`
10310
10311	// The list of phone numbers for the contact.
10312	PhoneNumbers []*PhoneNumber `type:"list"`
10313
10314	// The list of SIP addresses for the contact.
10315	SipAddresses []*SipAddress `type:"list"`
10316}
10317
10318// String returns the string representation
10319func (s CreateContactInput) String() string {
10320	return awsutil.Prettify(s)
10321}
10322
10323// GoString returns the string representation
10324func (s CreateContactInput) GoString() string {
10325	return s.String()
10326}
10327
10328// Validate inspects the fields of the type to determine if they are valid.
10329func (s *CreateContactInput) Validate() error {
10330	invalidParams := request.ErrInvalidParams{Context: "CreateContactInput"}
10331	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
10332		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
10333	}
10334	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
10335		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
10336	}
10337	if s.FirstName == nil {
10338		invalidParams.Add(request.NewErrParamRequired("FirstName"))
10339	}
10340	if s.FirstName != nil && len(*s.FirstName) < 1 {
10341		invalidParams.Add(request.NewErrParamMinLen("FirstName", 1))
10342	}
10343	if s.LastName != nil && len(*s.LastName) < 1 {
10344		invalidParams.Add(request.NewErrParamMinLen("LastName", 1))
10345	}
10346	if s.PhoneNumbers != nil {
10347		for i, v := range s.PhoneNumbers {
10348			if v == nil {
10349				continue
10350			}
10351			if err := v.Validate(); err != nil {
10352				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PhoneNumbers", i), err.(request.ErrInvalidParams))
10353			}
10354		}
10355	}
10356	if s.SipAddresses != nil {
10357		for i, v := range s.SipAddresses {
10358			if v == nil {
10359				continue
10360			}
10361			if err := v.Validate(); err != nil {
10362				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SipAddresses", i), err.(request.ErrInvalidParams))
10363			}
10364		}
10365	}
10366
10367	if invalidParams.Len() > 0 {
10368		return invalidParams
10369	}
10370	return nil
10371}
10372
10373// SetClientRequestToken sets the ClientRequestToken field's value.
10374func (s *CreateContactInput) SetClientRequestToken(v string) *CreateContactInput {
10375	s.ClientRequestToken = &v
10376	return s
10377}
10378
10379// SetDisplayName sets the DisplayName field's value.
10380func (s *CreateContactInput) SetDisplayName(v string) *CreateContactInput {
10381	s.DisplayName = &v
10382	return s
10383}
10384
10385// SetFirstName sets the FirstName field's value.
10386func (s *CreateContactInput) SetFirstName(v string) *CreateContactInput {
10387	s.FirstName = &v
10388	return s
10389}
10390
10391// SetLastName sets the LastName field's value.
10392func (s *CreateContactInput) SetLastName(v string) *CreateContactInput {
10393	s.LastName = &v
10394	return s
10395}
10396
10397// SetPhoneNumber sets the PhoneNumber field's value.
10398func (s *CreateContactInput) SetPhoneNumber(v string) *CreateContactInput {
10399	s.PhoneNumber = &v
10400	return s
10401}
10402
10403// SetPhoneNumbers sets the PhoneNumbers field's value.
10404func (s *CreateContactInput) SetPhoneNumbers(v []*PhoneNumber) *CreateContactInput {
10405	s.PhoneNumbers = v
10406	return s
10407}
10408
10409// SetSipAddresses sets the SipAddresses field's value.
10410func (s *CreateContactInput) SetSipAddresses(v []*SipAddress) *CreateContactInput {
10411	s.SipAddresses = v
10412	return s
10413}
10414
10415type CreateContactOutput struct {
10416	_ struct{} `type:"structure"`
10417
10418	// The ARN of the newly created address book.
10419	ContactArn *string `type:"string"`
10420}
10421
10422// String returns the string representation
10423func (s CreateContactOutput) String() string {
10424	return awsutil.Prettify(s)
10425}
10426
10427// GoString returns the string representation
10428func (s CreateContactOutput) GoString() string {
10429	return s.String()
10430}
10431
10432// SetContactArn sets the ContactArn field's value.
10433func (s *CreateContactOutput) SetContactArn(v string) *CreateContactOutput {
10434	s.ContactArn = &v
10435	return s
10436}
10437
10438// Creates settings for the end of meeting reminder feature that are applied
10439// to a room profile. The end of meeting reminder enables Alexa to remind users
10440// when a meeting is ending.
10441type CreateEndOfMeetingReminder struct {
10442	_ struct{} `type:"structure"`
10443
10444	// Whether an end of meeting reminder is enabled or not.
10445	//
10446	// Enabled is a required field
10447	Enabled *bool `type:"boolean" required:"true"`
10448
10449	// A range of 3 to 15 minutes that determines when the reminder begins.
10450	//
10451	// ReminderAtMinutes is a required field
10452	ReminderAtMinutes []*int64 `min:"1" type:"list" required:"true"`
10453
10454	// The type of sound that users hear during the end of meeting reminder.
10455	//
10456	// ReminderType is a required field
10457	ReminderType *string `type:"string" required:"true" enum:"EndOfMeetingReminderType"`
10458}
10459
10460// String returns the string representation
10461func (s CreateEndOfMeetingReminder) String() string {
10462	return awsutil.Prettify(s)
10463}
10464
10465// GoString returns the string representation
10466func (s CreateEndOfMeetingReminder) GoString() string {
10467	return s.String()
10468}
10469
10470// Validate inspects the fields of the type to determine if they are valid.
10471func (s *CreateEndOfMeetingReminder) Validate() error {
10472	invalidParams := request.ErrInvalidParams{Context: "CreateEndOfMeetingReminder"}
10473	if s.Enabled == nil {
10474		invalidParams.Add(request.NewErrParamRequired("Enabled"))
10475	}
10476	if s.ReminderAtMinutes == nil {
10477		invalidParams.Add(request.NewErrParamRequired("ReminderAtMinutes"))
10478	}
10479	if s.ReminderAtMinutes != nil && len(s.ReminderAtMinutes) < 1 {
10480		invalidParams.Add(request.NewErrParamMinLen("ReminderAtMinutes", 1))
10481	}
10482	if s.ReminderType == nil {
10483		invalidParams.Add(request.NewErrParamRequired("ReminderType"))
10484	}
10485
10486	if invalidParams.Len() > 0 {
10487		return invalidParams
10488	}
10489	return nil
10490}
10491
10492// SetEnabled sets the Enabled field's value.
10493func (s *CreateEndOfMeetingReminder) SetEnabled(v bool) *CreateEndOfMeetingReminder {
10494	s.Enabled = &v
10495	return s
10496}
10497
10498// SetReminderAtMinutes sets the ReminderAtMinutes field's value.
10499func (s *CreateEndOfMeetingReminder) SetReminderAtMinutes(v []*int64) *CreateEndOfMeetingReminder {
10500	s.ReminderAtMinutes = v
10501	return s
10502}
10503
10504// SetReminderType sets the ReminderType field's value.
10505func (s *CreateEndOfMeetingReminder) SetReminderType(v string) *CreateEndOfMeetingReminder {
10506	s.ReminderType = &v
10507	return s
10508}
10509
10510type CreateGatewayGroupInput struct {
10511	_ struct{} `type:"structure"`
10512
10513	// A unique, user-specified identifier for the request that ensures idempotency.
10514	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
10515
10516	// The description of the gateway group.
10517	Description *string `type:"string"`
10518
10519	// The name of the gateway group.
10520	//
10521	// Name is a required field
10522	Name *string `min:"1" type:"string" required:"true"`
10523}
10524
10525// String returns the string representation
10526func (s CreateGatewayGroupInput) String() string {
10527	return awsutil.Prettify(s)
10528}
10529
10530// GoString returns the string representation
10531func (s CreateGatewayGroupInput) GoString() string {
10532	return s.String()
10533}
10534
10535// Validate inspects the fields of the type to determine if they are valid.
10536func (s *CreateGatewayGroupInput) Validate() error {
10537	invalidParams := request.ErrInvalidParams{Context: "CreateGatewayGroupInput"}
10538	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
10539		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
10540	}
10541	if s.Name == nil {
10542		invalidParams.Add(request.NewErrParamRequired("Name"))
10543	}
10544	if s.Name != nil && len(*s.Name) < 1 {
10545		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10546	}
10547
10548	if invalidParams.Len() > 0 {
10549		return invalidParams
10550	}
10551	return nil
10552}
10553
10554// SetClientRequestToken sets the ClientRequestToken field's value.
10555func (s *CreateGatewayGroupInput) SetClientRequestToken(v string) *CreateGatewayGroupInput {
10556	s.ClientRequestToken = &v
10557	return s
10558}
10559
10560// SetDescription sets the Description field's value.
10561func (s *CreateGatewayGroupInput) SetDescription(v string) *CreateGatewayGroupInput {
10562	s.Description = &v
10563	return s
10564}
10565
10566// SetName sets the Name field's value.
10567func (s *CreateGatewayGroupInput) SetName(v string) *CreateGatewayGroupInput {
10568	s.Name = &v
10569	return s
10570}
10571
10572type CreateGatewayGroupOutput struct {
10573	_ struct{} `type:"structure"`
10574
10575	// The ARN of the created gateway group.
10576	GatewayGroupArn *string `type:"string"`
10577}
10578
10579// String returns the string representation
10580func (s CreateGatewayGroupOutput) String() string {
10581	return awsutil.Prettify(s)
10582}
10583
10584// GoString returns the string representation
10585func (s CreateGatewayGroupOutput) GoString() string {
10586	return s.String()
10587}
10588
10589// SetGatewayGroupArn sets the GatewayGroupArn field's value.
10590func (s *CreateGatewayGroupOutput) SetGatewayGroupArn(v string) *CreateGatewayGroupOutput {
10591	s.GatewayGroupArn = &v
10592	return s
10593}
10594
10595// Creates settings for the instant booking feature that are applied to a room
10596// profile. When users start their meeting with Alexa, Alexa automatically books
10597// the room for the configured duration if the room is available.
10598type CreateInstantBooking struct {
10599	_ struct{} `type:"structure"`
10600
10601	// Duration between 15 and 240 minutes at increments of 15 that determines how
10602	// long to book an available room when a meeting is started with Alexa.
10603	//
10604	// DurationInMinutes is a required field
10605	DurationInMinutes *int64 `type:"integer" required:"true"`
10606
10607	// Whether instant booking is enabled or not.
10608	//
10609	// Enabled is a required field
10610	Enabled *bool `type:"boolean" required:"true"`
10611}
10612
10613// String returns the string representation
10614func (s CreateInstantBooking) String() string {
10615	return awsutil.Prettify(s)
10616}
10617
10618// GoString returns the string representation
10619func (s CreateInstantBooking) GoString() string {
10620	return s.String()
10621}
10622
10623// Validate inspects the fields of the type to determine if they are valid.
10624func (s *CreateInstantBooking) Validate() error {
10625	invalidParams := request.ErrInvalidParams{Context: "CreateInstantBooking"}
10626	if s.DurationInMinutes == nil {
10627		invalidParams.Add(request.NewErrParamRequired("DurationInMinutes"))
10628	}
10629	if s.Enabled == nil {
10630		invalidParams.Add(request.NewErrParamRequired("Enabled"))
10631	}
10632
10633	if invalidParams.Len() > 0 {
10634		return invalidParams
10635	}
10636	return nil
10637}
10638
10639// SetDurationInMinutes sets the DurationInMinutes field's value.
10640func (s *CreateInstantBooking) SetDurationInMinutes(v int64) *CreateInstantBooking {
10641	s.DurationInMinutes = &v
10642	return s
10643}
10644
10645// SetEnabled sets the Enabled field's value.
10646func (s *CreateInstantBooking) SetEnabled(v bool) *CreateInstantBooking {
10647	s.Enabled = &v
10648	return s
10649}
10650
10651// Creates meeting room settings of a room profile.
10652type CreateMeetingRoomConfiguration struct {
10653	_ struct{} `type:"structure"`
10654
10655	// Creates settings for the end of meeting reminder feature that are applied
10656	// to a room profile. The end of meeting reminder enables Alexa to remind users
10657	// when a meeting is ending.
10658	EndOfMeetingReminder *CreateEndOfMeetingReminder `type:"structure"`
10659
10660	// Settings to automatically book a room for a configured duration if it's free
10661	// when joining a meeting with Alexa.
10662	InstantBooking *CreateInstantBooking `type:"structure"`
10663
10664	// Settings for requiring a check in when a room is reserved. Alexa can cancel
10665	// a room reservation if it's not checked into to make the room available for
10666	// others. Users can check in by joining the meeting with Alexa or an AVS device,
10667	// or by saying “Alexa, check in.”
10668	RequireCheckIn *CreateRequireCheckIn `type:"structure"`
10669
10670	// Whether room utilization metrics are enabled or not.
10671	RoomUtilizationMetricsEnabled *bool `type:"boolean"`
10672}
10673
10674// String returns the string representation
10675func (s CreateMeetingRoomConfiguration) String() string {
10676	return awsutil.Prettify(s)
10677}
10678
10679// GoString returns the string representation
10680func (s CreateMeetingRoomConfiguration) GoString() string {
10681	return s.String()
10682}
10683
10684// Validate inspects the fields of the type to determine if they are valid.
10685func (s *CreateMeetingRoomConfiguration) Validate() error {
10686	invalidParams := request.ErrInvalidParams{Context: "CreateMeetingRoomConfiguration"}
10687	if s.EndOfMeetingReminder != nil {
10688		if err := s.EndOfMeetingReminder.Validate(); err != nil {
10689			invalidParams.AddNested("EndOfMeetingReminder", err.(request.ErrInvalidParams))
10690		}
10691	}
10692	if s.InstantBooking != nil {
10693		if err := s.InstantBooking.Validate(); err != nil {
10694			invalidParams.AddNested("InstantBooking", err.(request.ErrInvalidParams))
10695		}
10696	}
10697	if s.RequireCheckIn != nil {
10698		if err := s.RequireCheckIn.Validate(); err != nil {
10699			invalidParams.AddNested("RequireCheckIn", err.(request.ErrInvalidParams))
10700		}
10701	}
10702
10703	if invalidParams.Len() > 0 {
10704		return invalidParams
10705	}
10706	return nil
10707}
10708
10709// SetEndOfMeetingReminder sets the EndOfMeetingReminder field's value.
10710func (s *CreateMeetingRoomConfiguration) SetEndOfMeetingReminder(v *CreateEndOfMeetingReminder) *CreateMeetingRoomConfiguration {
10711	s.EndOfMeetingReminder = v
10712	return s
10713}
10714
10715// SetInstantBooking sets the InstantBooking field's value.
10716func (s *CreateMeetingRoomConfiguration) SetInstantBooking(v *CreateInstantBooking) *CreateMeetingRoomConfiguration {
10717	s.InstantBooking = v
10718	return s
10719}
10720
10721// SetRequireCheckIn sets the RequireCheckIn field's value.
10722func (s *CreateMeetingRoomConfiguration) SetRequireCheckIn(v *CreateRequireCheckIn) *CreateMeetingRoomConfiguration {
10723	s.RequireCheckIn = v
10724	return s
10725}
10726
10727// SetRoomUtilizationMetricsEnabled sets the RoomUtilizationMetricsEnabled field's value.
10728func (s *CreateMeetingRoomConfiguration) SetRoomUtilizationMetricsEnabled(v bool) *CreateMeetingRoomConfiguration {
10729	s.RoomUtilizationMetricsEnabled = &v
10730	return s
10731}
10732
10733type CreateNetworkProfileInput struct {
10734	_ struct{} `type:"structure"`
10735
10736	// The ARN of the Private Certificate Authority (PCA) created in AWS Certificate
10737	// Manager (ACM). This is used to issue certificates to the devices.
10738	CertificateAuthorityArn *string `type:"string"`
10739
10740	// A unique, user-specified identifier for the request that ensures idempotency.
10741	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
10742
10743	// The current password of the Wi-Fi network.
10744	CurrentPassword *string `min:"5" type:"string" sensitive:"true"`
10745
10746	// Detailed information about a device's network profile.
10747	Description *string `type:"string"`
10748
10749	// The authentication standard that is used in the EAP framework. Currently,
10750	// EAP_TLS is supported.
10751	EapMethod *string `type:"string" enum:"NetworkEapMethod"`
10752
10753	// The name of the network profile associated with a device.
10754	//
10755	// NetworkProfileName is a required field
10756	NetworkProfileName *string `min:"1" type:"string" required:"true"`
10757
10758	// The next, or subsequent, password of the Wi-Fi network. This password is
10759	// asynchronously transmitted to the device and is used when the password of
10760	// the network changes to NextPassword.
10761	NextPassword *string `type:"string" sensitive:"true"`
10762
10763	// The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK,
10764	// WPA_PSK, WEP, or OPEN.
10765	//
10766	// SecurityType is a required field
10767	SecurityType *string `type:"string" required:"true" enum:"NetworkSecurityType"`
10768
10769	// The SSID of the Wi-Fi network.
10770	//
10771	// Ssid is a required field
10772	Ssid *string `min:"1" type:"string" required:"true"`
10773
10774	// The root certificates of your authentication server that is installed on
10775	// your devices and used to trust your authentication server during EAP negotiation.
10776	TrustAnchors []*string `min:"1" type:"list"`
10777}
10778
10779// String returns the string representation
10780func (s CreateNetworkProfileInput) String() string {
10781	return awsutil.Prettify(s)
10782}
10783
10784// GoString returns the string representation
10785func (s CreateNetworkProfileInput) GoString() string {
10786	return s.String()
10787}
10788
10789// Validate inspects the fields of the type to determine if they are valid.
10790func (s *CreateNetworkProfileInput) Validate() error {
10791	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkProfileInput"}
10792	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
10793		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
10794	}
10795	if s.CurrentPassword != nil && len(*s.CurrentPassword) < 5 {
10796		invalidParams.Add(request.NewErrParamMinLen("CurrentPassword", 5))
10797	}
10798	if s.NetworkProfileName == nil {
10799		invalidParams.Add(request.NewErrParamRequired("NetworkProfileName"))
10800	}
10801	if s.NetworkProfileName != nil && len(*s.NetworkProfileName) < 1 {
10802		invalidParams.Add(request.NewErrParamMinLen("NetworkProfileName", 1))
10803	}
10804	if s.SecurityType == nil {
10805		invalidParams.Add(request.NewErrParamRequired("SecurityType"))
10806	}
10807	if s.Ssid == nil {
10808		invalidParams.Add(request.NewErrParamRequired("Ssid"))
10809	}
10810	if s.Ssid != nil && len(*s.Ssid) < 1 {
10811		invalidParams.Add(request.NewErrParamMinLen("Ssid", 1))
10812	}
10813	if s.TrustAnchors != nil && len(s.TrustAnchors) < 1 {
10814		invalidParams.Add(request.NewErrParamMinLen("TrustAnchors", 1))
10815	}
10816
10817	if invalidParams.Len() > 0 {
10818		return invalidParams
10819	}
10820	return nil
10821}
10822
10823// SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value.
10824func (s *CreateNetworkProfileInput) SetCertificateAuthorityArn(v string) *CreateNetworkProfileInput {
10825	s.CertificateAuthorityArn = &v
10826	return s
10827}
10828
10829// SetClientRequestToken sets the ClientRequestToken field's value.
10830func (s *CreateNetworkProfileInput) SetClientRequestToken(v string) *CreateNetworkProfileInput {
10831	s.ClientRequestToken = &v
10832	return s
10833}
10834
10835// SetCurrentPassword sets the CurrentPassword field's value.
10836func (s *CreateNetworkProfileInput) SetCurrentPassword(v string) *CreateNetworkProfileInput {
10837	s.CurrentPassword = &v
10838	return s
10839}
10840
10841// SetDescription sets the Description field's value.
10842func (s *CreateNetworkProfileInput) SetDescription(v string) *CreateNetworkProfileInput {
10843	s.Description = &v
10844	return s
10845}
10846
10847// SetEapMethod sets the EapMethod field's value.
10848func (s *CreateNetworkProfileInput) SetEapMethod(v string) *CreateNetworkProfileInput {
10849	s.EapMethod = &v
10850	return s
10851}
10852
10853// SetNetworkProfileName sets the NetworkProfileName field's value.
10854func (s *CreateNetworkProfileInput) SetNetworkProfileName(v string) *CreateNetworkProfileInput {
10855	s.NetworkProfileName = &v
10856	return s
10857}
10858
10859// SetNextPassword sets the NextPassword field's value.
10860func (s *CreateNetworkProfileInput) SetNextPassword(v string) *CreateNetworkProfileInput {
10861	s.NextPassword = &v
10862	return s
10863}
10864
10865// SetSecurityType sets the SecurityType field's value.
10866func (s *CreateNetworkProfileInput) SetSecurityType(v string) *CreateNetworkProfileInput {
10867	s.SecurityType = &v
10868	return s
10869}
10870
10871// SetSsid sets the Ssid field's value.
10872func (s *CreateNetworkProfileInput) SetSsid(v string) *CreateNetworkProfileInput {
10873	s.Ssid = &v
10874	return s
10875}
10876
10877// SetTrustAnchors sets the TrustAnchors field's value.
10878func (s *CreateNetworkProfileInput) SetTrustAnchors(v []*string) *CreateNetworkProfileInput {
10879	s.TrustAnchors = v
10880	return s
10881}
10882
10883type CreateNetworkProfileOutput struct {
10884	_ struct{} `type:"structure"`
10885
10886	// The ARN of the network profile associated with a device.
10887	NetworkProfileArn *string `type:"string"`
10888}
10889
10890// String returns the string representation
10891func (s CreateNetworkProfileOutput) String() string {
10892	return awsutil.Prettify(s)
10893}
10894
10895// GoString returns the string representation
10896func (s CreateNetworkProfileOutput) GoString() string {
10897	return s.String()
10898}
10899
10900// SetNetworkProfileArn sets the NetworkProfileArn field's value.
10901func (s *CreateNetworkProfileOutput) SetNetworkProfileArn(v string) *CreateNetworkProfileOutput {
10902	s.NetworkProfileArn = &v
10903	return s
10904}
10905
10906type CreateProfileInput struct {
10907	_ struct{} `type:"structure"`
10908
10909	// The valid address for the room.
10910	//
10911	// Address is a required field
10912	Address *string `min:"1" type:"string" required:"true"`
10913
10914	// The user-specified token that is used during the creation of a profile.
10915	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
10916
10917	// The distance unit to be used by devices in the profile.
10918	//
10919	// DistanceUnit is a required field
10920	DistanceUnit *string `type:"string" required:"true" enum:"DistanceUnit"`
10921
10922	// The locale of the room profile. (This is currently only available to a limited
10923	// preview audience.)
10924	Locale *string `min:"1" type:"string"`
10925
10926	// The maximum volume limit for a room profile.
10927	MaxVolumeLimit *int64 `type:"integer"`
10928
10929	// The meeting room settings of a room profile.
10930	MeetingRoomConfiguration *CreateMeetingRoomConfiguration `type:"structure"`
10931
10932	// Whether PSTN calling is enabled.
10933	PSTNEnabled *bool `type:"boolean"`
10934
10935	// The name of a room profile.
10936	//
10937	// ProfileName is a required field
10938	ProfileName *string `min:"1" type:"string" required:"true"`
10939
10940	// Whether room profile setup is enabled.
10941	SetupModeDisabled *bool `type:"boolean"`
10942
10943	// The tags for the profile.
10944	Tags []*Tag `type:"list"`
10945
10946	// The temperature unit to be used by devices in the profile.
10947	//
10948	// TemperatureUnit is a required field
10949	TemperatureUnit *string `type:"string" required:"true" enum:"TemperatureUnit"`
10950
10951	// The time zone used by a room profile.
10952	//
10953	// Timezone is a required field
10954	Timezone *string `min:"1" type:"string" required:"true"`
10955
10956	// A wake word for Alexa, Echo, Amazon, or a computer.
10957	//
10958	// WakeWord is a required field
10959	WakeWord *string `type:"string" required:"true" enum:"WakeWord"`
10960}
10961
10962// String returns the string representation
10963func (s CreateProfileInput) String() string {
10964	return awsutil.Prettify(s)
10965}
10966
10967// GoString returns the string representation
10968func (s CreateProfileInput) GoString() string {
10969	return s.String()
10970}
10971
10972// Validate inspects the fields of the type to determine if they are valid.
10973func (s *CreateProfileInput) Validate() error {
10974	invalidParams := request.ErrInvalidParams{Context: "CreateProfileInput"}
10975	if s.Address == nil {
10976		invalidParams.Add(request.NewErrParamRequired("Address"))
10977	}
10978	if s.Address != nil && len(*s.Address) < 1 {
10979		invalidParams.Add(request.NewErrParamMinLen("Address", 1))
10980	}
10981	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
10982		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
10983	}
10984	if s.DistanceUnit == nil {
10985		invalidParams.Add(request.NewErrParamRequired("DistanceUnit"))
10986	}
10987	if s.Locale != nil && len(*s.Locale) < 1 {
10988		invalidParams.Add(request.NewErrParamMinLen("Locale", 1))
10989	}
10990	if s.ProfileName == nil {
10991		invalidParams.Add(request.NewErrParamRequired("ProfileName"))
10992	}
10993	if s.ProfileName != nil && len(*s.ProfileName) < 1 {
10994		invalidParams.Add(request.NewErrParamMinLen("ProfileName", 1))
10995	}
10996	if s.TemperatureUnit == nil {
10997		invalidParams.Add(request.NewErrParamRequired("TemperatureUnit"))
10998	}
10999	if s.Timezone == nil {
11000		invalidParams.Add(request.NewErrParamRequired("Timezone"))
11001	}
11002	if s.Timezone != nil && len(*s.Timezone) < 1 {
11003		invalidParams.Add(request.NewErrParamMinLen("Timezone", 1))
11004	}
11005	if s.WakeWord == nil {
11006		invalidParams.Add(request.NewErrParamRequired("WakeWord"))
11007	}
11008	if s.MeetingRoomConfiguration != nil {
11009		if err := s.MeetingRoomConfiguration.Validate(); err != nil {
11010			invalidParams.AddNested("MeetingRoomConfiguration", err.(request.ErrInvalidParams))
11011		}
11012	}
11013	if s.Tags != nil {
11014		for i, v := range s.Tags {
11015			if v == nil {
11016				continue
11017			}
11018			if err := v.Validate(); err != nil {
11019				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
11020			}
11021		}
11022	}
11023
11024	if invalidParams.Len() > 0 {
11025		return invalidParams
11026	}
11027	return nil
11028}
11029
11030// SetAddress sets the Address field's value.
11031func (s *CreateProfileInput) SetAddress(v string) *CreateProfileInput {
11032	s.Address = &v
11033	return s
11034}
11035
11036// SetClientRequestToken sets the ClientRequestToken field's value.
11037func (s *CreateProfileInput) SetClientRequestToken(v string) *CreateProfileInput {
11038	s.ClientRequestToken = &v
11039	return s
11040}
11041
11042// SetDistanceUnit sets the DistanceUnit field's value.
11043func (s *CreateProfileInput) SetDistanceUnit(v string) *CreateProfileInput {
11044	s.DistanceUnit = &v
11045	return s
11046}
11047
11048// SetLocale sets the Locale field's value.
11049func (s *CreateProfileInput) SetLocale(v string) *CreateProfileInput {
11050	s.Locale = &v
11051	return s
11052}
11053
11054// SetMaxVolumeLimit sets the MaxVolumeLimit field's value.
11055func (s *CreateProfileInput) SetMaxVolumeLimit(v int64) *CreateProfileInput {
11056	s.MaxVolumeLimit = &v
11057	return s
11058}
11059
11060// SetMeetingRoomConfiguration sets the MeetingRoomConfiguration field's value.
11061func (s *CreateProfileInput) SetMeetingRoomConfiguration(v *CreateMeetingRoomConfiguration) *CreateProfileInput {
11062	s.MeetingRoomConfiguration = v
11063	return s
11064}
11065
11066// SetPSTNEnabled sets the PSTNEnabled field's value.
11067func (s *CreateProfileInput) SetPSTNEnabled(v bool) *CreateProfileInput {
11068	s.PSTNEnabled = &v
11069	return s
11070}
11071
11072// SetProfileName sets the ProfileName field's value.
11073func (s *CreateProfileInput) SetProfileName(v string) *CreateProfileInput {
11074	s.ProfileName = &v
11075	return s
11076}
11077
11078// SetSetupModeDisabled sets the SetupModeDisabled field's value.
11079func (s *CreateProfileInput) SetSetupModeDisabled(v bool) *CreateProfileInput {
11080	s.SetupModeDisabled = &v
11081	return s
11082}
11083
11084// SetTags sets the Tags field's value.
11085func (s *CreateProfileInput) SetTags(v []*Tag) *CreateProfileInput {
11086	s.Tags = v
11087	return s
11088}
11089
11090// SetTemperatureUnit sets the TemperatureUnit field's value.
11091func (s *CreateProfileInput) SetTemperatureUnit(v string) *CreateProfileInput {
11092	s.TemperatureUnit = &v
11093	return s
11094}
11095
11096// SetTimezone sets the Timezone field's value.
11097func (s *CreateProfileInput) SetTimezone(v string) *CreateProfileInput {
11098	s.Timezone = &v
11099	return s
11100}
11101
11102// SetWakeWord sets the WakeWord field's value.
11103func (s *CreateProfileInput) SetWakeWord(v string) *CreateProfileInput {
11104	s.WakeWord = &v
11105	return s
11106}
11107
11108type CreateProfileOutput struct {
11109	_ struct{} `type:"structure"`
11110
11111	// The ARN of the newly created room profile in the response.
11112	ProfileArn *string `type:"string"`
11113}
11114
11115// String returns the string representation
11116func (s CreateProfileOutput) String() string {
11117	return awsutil.Prettify(s)
11118}
11119
11120// GoString returns the string representation
11121func (s CreateProfileOutput) GoString() string {
11122	return s.String()
11123}
11124
11125// SetProfileArn sets the ProfileArn field's value.
11126func (s *CreateProfileOutput) SetProfileArn(v string) *CreateProfileOutput {
11127	s.ProfileArn = &v
11128	return s
11129}
11130
11131// Creates settings for the require check in feature that are applied to a room
11132// profile. Require check in allows a meeting room’s Alexa or AVS device to
11133// prompt the user to check in; otherwise, the room will be released.
11134type CreateRequireCheckIn struct {
11135	_ struct{} `type:"structure"`
11136
11137	// Whether require check in is enabled or not.
11138	//
11139	// Enabled is a required field
11140	Enabled *bool `type:"boolean" required:"true"`
11141
11142	// Duration between 5 and 20 minutes to determine when to release the room if
11143	// it's not checked into.
11144	//
11145	// ReleaseAfterMinutes is a required field
11146	ReleaseAfterMinutes *int64 `type:"integer" required:"true"`
11147}
11148
11149// String returns the string representation
11150func (s CreateRequireCheckIn) String() string {
11151	return awsutil.Prettify(s)
11152}
11153
11154// GoString returns the string representation
11155func (s CreateRequireCheckIn) GoString() string {
11156	return s.String()
11157}
11158
11159// Validate inspects the fields of the type to determine if they are valid.
11160func (s *CreateRequireCheckIn) Validate() error {
11161	invalidParams := request.ErrInvalidParams{Context: "CreateRequireCheckIn"}
11162	if s.Enabled == nil {
11163		invalidParams.Add(request.NewErrParamRequired("Enabled"))
11164	}
11165	if s.ReleaseAfterMinutes == nil {
11166		invalidParams.Add(request.NewErrParamRequired("ReleaseAfterMinutes"))
11167	}
11168
11169	if invalidParams.Len() > 0 {
11170		return invalidParams
11171	}
11172	return nil
11173}
11174
11175// SetEnabled sets the Enabled field's value.
11176func (s *CreateRequireCheckIn) SetEnabled(v bool) *CreateRequireCheckIn {
11177	s.Enabled = &v
11178	return s
11179}
11180
11181// SetReleaseAfterMinutes sets the ReleaseAfterMinutes field's value.
11182func (s *CreateRequireCheckIn) SetReleaseAfterMinutes(v int64) *CreateRequireCheckIn {
11183	s.ReleaseAfterMinutes = &v
11184	return s
11185}
11186
11187type CreateRoomInput struct {
11188	_ struct{} `type:"structure"`
11189
11190	// A unique, user-specified identifier for this request that ensures idempotency.
11191	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
11192
11193	// The description for the room.
11194	Description *string `min:"1" type:"string"`
11195
11196	// The profile ARN for the room. This is required.
11197	ProfileArn *string `type:"string"`
11198
11199	// The calendar ARN for the room.
11200	ProviderCalendarId *string `type:"string"`
11201
11202	// The name for the room.
11203	//
11204	// RoomName is a required field
11205	RoomName *string `min:"1" type:"string" required:"true"`
11206
11207	// The tags for the room.
11208	Tags []*Tag `type:"list"`
11209}
11210
11211// String returns the string representation
11212func (s CreateRoomInput) String() string {
11213	return awsutil.Prettify(s)
11214}
11215
11216// GoString returns the string representation
11217func (s CreateRoomInput) GoString() string {
11218	return s.String()
11219}
11220
11221// Validate inspects the fields of the type to determine if they are valid.
11222func (s *CreateRoomInput) Validate() error {
11223	invalidParams := request.ErrInvalidParams{Context: "CreateRoomInput"}
11224	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
11225		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
11226	}
11227	if s.Description != nil && len(*s.Description) < 1 {
11228		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
11229	}
11230	if s.RoomName == nil {
11231		invalidParams.Add(request.NewErrParamRequired("RoomName"))
11232	}
11233	if s.RoomName != nil && len(*s.RoomName) < 1 {
11234		invalidParams.Add(request.NewErrParamMinLen("RoomName", 1))
11235	}
11236	if s.Tags != nil {
11237		for i, v := range s.Tags {
11238			if v == nil {
11239				continue
11240			}
11241			if err := v.Validate(); err != nil {
11242				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
11243			}
11244		}
11245	}
11246
11247	if invalidParams.Len() > 0 {
11248		return invalidParams
11249	}
11250	return nil
11251}
11252
11253// SetClientRequestToken sets the ClientRequestToken field's value.
11254func (s *CreateRoomInput) SetClientRequestToken(v string) *CreateRoomInput {
11255	s.ClientRequestToken = &v
11256	return s
11257}
11258
11259// SetDescription sets the Description field's value.
11260func (s *CreateRoomInput) SetDescription(v string) *CreateRoomInput {
11261	s.Description = &v
11262	return s
11263}
11264
11265// SetProfileArn sets the ProfileArn field's value.
11266func (s *CreateRoomInput) SetProfileArn(v string) *CreateRoomInput {
11267	s.ProfileArn = &v
11268	return s
11269}
11270
11271// SetProviderCalendarId sets the ProviderCalendarId field's value.
11272func (s *CreateRoomInput) SetProviderCalendarId(v string) *CreateRoomInput {
11273	s.ProviderCalendarId = &v
11274	return s
11275}
11276
11277// SetRoomName sets the RoomName field's value.
11278func (s *CreateRoomInput) SetRoomName(v string) *CreateRoomInput {
11279	s.RoomName = &v
11280	return s
11281}
11282
11283// SetTags sets the Tags field's value.
11284func (s *CreateRoomInput) SetTags(v []*Tag) *CreateRoomInput {
11285	s.Tags = v
11286	return s
11287}
11288
11289type CreateRoomOutput struct {
11290	_ struct{} `type:"structure"`
11291
11292	// The ARN of the newly created room in the response.
11293	RoomArn *string `type:"string"`
11294}
11295
11296// String returns the string representation
11297func (s CreateRoomOutput) String() string {
11298	return awsutil.Prettify(s)
11299}
11300
11301// GoString returns the string representation
11302func (s CreateRoomOutput) GoString() string {
11303	return s.String()
11304}
11305
11306// SetRoomArn sets the RoomArn field's value.
11307func (s *CreateRoomOutput) SetRoomArn(v string) *CreateRoomOutput {
11308	s.RoomArn = &v
11309	return s
11310}
11311
11312type CreateSkillGroupInput struct {
11313	_ struct{} `type:"structure"`
11314
11315	// A unique, user-specified identifier for this request that ensures idempotency.
11316	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
11317
11318	// The description for the skill group.
11319	Description *string `min:"1" type:"string"`
11320
11321	// The name for the skill group.
11322	//
11323	// SkillGroupName is a required field
11324	SkillGroupName *string `min:"1" type:"string" required:"true"`
11325
11326	// The tags for the skill group.
11327	Tags []*Tag `type:"list"`
11328}
11329
11330// String returns the string representation
11331func (s CreateSkillGroupInput) String() string {
11332	return awsutil.Prettify(s)
11333}
11334
11335// GoString returns the string representation
11336func (s CreateSkillGroupInput) GoString() string {
11337	return s.String()
11338}
11339
11340// Validate inspects the fields of the type to determine if they are valid.
11341func (s *CreateSkillGroupInput) Validate() error {
11342	invalidParams := request.ErrInvalidParams{Context: "CreateSkillGroupInput"}
11343	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
11344		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
11345	}
11346	if s.Description != nil && len(*s.Description) < 1 {
11347		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
11348	}
11349	if s.SkillGroupName == nil {
11350		invalidParams.Add(request.NewErrParamRequired("SkillGroupName"))
11351	}
11352	if s.SkillGroupName != nil && len(*s.SkillGroupName) < 1 {
11353		invalidParams.Add(request.NewErrParamMinLen("SkillGroupName", 1))
11354	}
11355	if s.Tags != nil {
11356		for i, v := range s.Tags {
11357			if v == nil {
11358				continue
11359			}
11360			if err := v.Validate(); err != nil {
11361				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
11362			}
11363		}
11364	}
11365
11366	if invalidParams.Len() > 0 {
11367		return invalidParams
11368	}
11369	return nil
11370}
11371
11372// SetClientRequestToken sets the ClientRequestToken field's value.
11373func (s *CreateSkillGroupInput) SetClientRequestToken(v string) *CreateSkillGroupInput {
11374	s.ClientRequestToken = &v
11375	return s
11376}
11377
11378// SetDescription sets the Description field's value.
11379func (s *CreateSkillGroupInput) SetDescription(v string) *CreateSkillGroupInput {
11380	s.Description = &v
11381	return s
11382}
11383
11384// SetSkillGroupName sets the SkillGroupName field's value.
11385func (s *CreateSkillGroupInput) SetSkillGroupName(v string) *CreateSkillGroupInput {
11386	s.SkillGroupName = &v
11387	return s
11388}
11389
11390// SetTags sets the Tags field's value.
11391func (s *CreateSkillGroupInput) SetTags(v []*Tag) *CreateSkillGroupInput {
11392	s.Tags = v
11393	return s
11394}
11395
11396type CreateSkillGroupOutput struct {
11397	_ struct{} `type:"structure"`
11398
11399	// The ARN of the newly created skill group in the response.
11400	SkillGroupArn *string `type:"string"`
11401}
11402
11403// String returns the string representation
11404func (s CreateSkillGroupOutput) String() string {
11405	return awsutil.Prettify(s)
11406}
11407
11408// GoString returns the string representation
11409func (s CreateSkillGroupOutput) GoString() string {
11410	return s.String()
11411}
11412
11413// SetSkillGroupArn sets the SkillGroupArn field's value.
11414func (s *CreateSkillGroupOutput) SetSkillGroupArn(v string) *CreateSkillGroupOutput {
11415	s.SkillGroupArn = &v
11416	return s
11417}
11418
11419type CreateUserInput struct {
11420	_ struct{} `type:"structure"`
11421
11422	// A unique, user-specified identifier for this request that ensures idempotency.
11423	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
11424
11425	// The email address for the user.
11426	Email *string `min:"1" type:"string"`
11427
11428	// The first name for the user.
11429	FirstName *string `type:"string"`
11430
11431	// The last name for the user.
11432	LastName *string `type:"string"`
11433
11434	// The tags for the user.
11435	Tags []*Tag `type:"list"`
11436
11437	// The ARN for the user.
11438	//
11439	// UserId is a required field
11440	UserId *string `min:"1" type:"string" required:"true"`
11441}
11442
11443// String returns the string representation
11444func (s CreateUserInput) String() string {
11445	return awsutil.Prettify(s)
11446}
11447
11448// GoString returns the string representation
11449func (s CreateUserInput) GoString() string {
11450	return s.String()
11451}
11452
11453// Validate inspects the fields of the type to determine if they are valid.
11454func (s *CreateUserInput) Validate() error {
11455	invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"}
11456	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
11457		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
11458	}
11459	if s.Email != nil && len(*s.Email) < 1 {
11460		invalidParams.Add(request.NewErrParamMinLen("Email", 1))
11461	}
11462	if s.UserId == nil {
11463		invalidParams.Add(request.NewErrParamRequired("UserId"))
11464	}
11465	if s.UserId != nil && len(*s.UserId) < 1 {
11466		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
11467	}
11468	if s.Tags != nil {
11469		for i, v := range s.Tags {
11470			if v == nil {
11471				continue
11472			}
11473			if err := v.Validate(); err != nil {
11474				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
11475			}
11476		}
11477	}
11478
11479	if invalidParams.Len() > 0 {
11480		return invalidParams
11481	}
11482	return nil
11483}
11484
11485// SetClientRequestToken sets the ClientRequestToken field's value.
11486func (s *CreateUserInput) SetClientRequestToken(v string) *CreateUserInput {
11487	s.ClientRequestToken = &v
11488	return s
11489}
11490
11491// SetEmail sets the Email field's value.
11492func (s *CreateUserInput) SetEmail(v string) *CreateUserInput {
11493	s.Email = &v
11494	return s
11495}
11496
11497// SetFirstName sets the FirstName field's value.
11498func (s *CreateUserInput) SetFirstName(v string) *CreateUserInput {
11499	s.FirstName = &v
11500	return s
11501}
11502
11503// SetLastName sets the LastName field's value.
11504func (s *CreateUserInput) SetLastName(v string) *CreateUserInput {
11505	s.LastName = &v
11506	return s
11507}
11508
11509// SetTags sets the Tags field's value.
11510func (s *CreateUserInput) SetTags(v []*Tag) *CreateUserInput {
11511	s.Tags = v
11512	return s
11513}
11514
11515// SetUserId sets the UserId field's value.
11516func (s *CreateUserInput) SetUserId(v string) *CreateUserInput {
11517	s.UserId = &v
11518	return s
11519}
11520
11521type CreateUserOutput struct {
11522	_ struct{} `type:"structure"`
11523
11524	// The ARN of the newly created user in the response.
11525	UserArn *string `type:"string"`
11526}
11527
11528// String returns the string representation
11529func (s CreateUserOutput) String() string {
11530	return awsutil.Prettify(s)
11531}
11532
11533// GoString returns the string representation
11534func (s CreateUserOutput) GoString() string {
11535	return s.String()
11536}
11537
11538// SetUserArn sets the UserArn field's value.
11539func (s *CreateUserOutput) SetUserArn(v string) *CreateUserOutput {
11540	s.UserArn = &v
11541	return s
11542}
11543
11544type DeleteAddressBookInput struct {
11545	_ struct{} `type:"structure"`
11546
11547	// The ARN of the address book to delete.
11548	//
11549	// AddressBookArn is a required field
11550	AddressBookArn *string `type:"string" required:"true"`
11551}
11552
11553// String returns the string representation
11554func (s DeleteAddressBookInput) String() string {
11555	return awsutil.Prettify(s)
11556}
11557
11558// GoString returns the string representation
11559func (s DeleteAddressBookInput) GoString() string {
11560	return s.String()
11561}
11562
11563// Validate inspects the fields of the type to determine if they are valid.
11564func (s *DeleteAddressBookInput) Validate() error {
11565	invalidParams := request.ErrInvalidParams{Context: "DeleteAddressBookInput"}
11566	if s.AddressBookArn == nil {
11567		invalidParams.Add(request.NewErrParamRequired("AddressBookArn"))
11568	}
11569
11570	if invalidParams.Len() > 0 {
11571		return invalidParams
11572	}
11573	return nil
11574}
11575
11576// SetAddressBookArn sets the AddressBookArn field's value.
11577func (s *DeleteAddressBookInput) SetAddressBookArn(v string) *DeleteAddressBookInput {
11578	s.AddressBookArn = &v
11579	return s
11580}
11581
11582type DeleteAddressBookOutput struct {
11583	_ struct{} `type:"structure"`
11584}
11585
11586// String returns the string representation
11587func (s DeleteAddressBookOutput) String() string {
11588	return awsutil.Prettify(s)
11589}
11590
11591// GoString returns the string representation
11592func (s DeleteAddressBookOutput) GoString() string {
11593	return s.String()
11594}
11595
11596type DeleteBusinessReportScheduleInput struct {
11597	_ struct{} `type:"structure"`
11598
11599	// The ARN of the business report schedule.
11600	//
11601	// ScheduleArn is a required field
11602	ScheduleArn *string `type:"string" required:"true"`
11603}
11604
11605// String returns the string representation
11606func (s DeleteBusinessReportScheduleInput) String() string {
11607	return awsutil.Prettify(s)
11608}
11609
11610// GoString returns the string representation
11611func (s DeleteBusinessReportScheduleInput) GoString() string {
11612	return s.String()
11613}
11614
11615// Validate inspects the fields of the type to determine if they are valid.
11616func (s *DeleteBusinessReportScheduleInput) Validate() error {
11617	invalidParams := request.ErrInvalidParams{Context: "DeleteBusinessReportScheduleInput"}
11618	if s.ScheduleArn == nil {
11619		invalidParams.Add(request.NewErrParamRequired("ScheduleArn"))
11620	}
11621
11622	if invalidParams.Len() > 0 {
11623		return invalidParams
11624	}
11625	return nil
11626}
11627
11628// SetScheduleArn sets the ScheduleArn field's value.
11629func (s *DeleteBusinessReportScheduleInput) SetScheduleArn(v string) *DeleteBusinessReportScheduleInput {
11630	s.ScheduleArn = &v
11631	return s
11632}
11633
11634type DeleteBusinessReportScheduleOutput struct {
11635	_ struct{} `type:"structure"`
11636}
11637
11638// String returns the string representation
11639func (s DeleteBusinessReportScheduleOutput) String() string {
11640	return awsutil.Prettify(s)
11641}
11642
11643// GoString returns the string representation
11644func (s DeleteBusinessReportScheduleOutput) GoString() string {
11645	return s.String()
11646}
11647
11648type DeleteConferenceProviderInput struct {
11649	_ struct{} `type:"structure"`
11650
11651	// The ARN of the conference provider.
11652	//
11653	// ConferenceProviderArn is a required field
11654	ConferenceProviderArn *string `type:"string" required:"true"`
11655}
11656
11657// String returns the string representation
11658func (s DeleteConferenceProviderInput) String() string {
11659	return awsutil.Prettify(s)
11660}
11661
11662// GoString returns the string representation
11663func (s DeleteConferenceProviderInput) GoString() string {
11664	return s.String()
11665}
11666
11667// Validate inspects the fields of the type to determine if they are valid.
11668func (s *DeleteConferenceProviderInput) Validate() error {
11669	invalidParams := request.ErrInvalidParams{Context: "DeleteConferenceProviderInput"}
11670	if s.ConferenceProviderArn == nil {
11671		invalidParams.Add(request.NewErrParamRequired("ConferenceProviderArn"))
11672	}
11673
11674	if invalidParams.Len() > 0 {
11675		return invalidParams
11676	}
11677	return nil
11678}
11679
11680// SetConferenceProviderArn sets the ConferenceProviderArn field's value.
11681func (s *DeleteConferenceProviderInput) SetConferenceProviderArn(v string) *DeleteConferenceProviderInput {
11682	s.ConferenceProviderArn = &v
11683	return s
11684}
11685
11686type DeleteConferenceProviderOutput struct {
11687	_ struct{} `type:"structure"`
11688}
11689
11690// String returns the string representation
11691func (s DeleteConferenceProviderOutput) String() string {
11692	return awsutil.Prettify(s)
11693}
11694
11695// GoString returns the string representation
11696func (s DeleteConferenceProviderOutput) GoString() string {
11697	return s.String()
11698}
11699
11700type DeleteContactInput struct {
11701	_ struct{} `type:"structure"`
11702
11703	// The ARN of the contact to delete.
11704	//
11705	// ContactArn is a required field
11706	ContactArn *string `type:"string" required:"true"`
11707}
11708
11709// String returns the string representation
11710func (s DeleteContactInput) String() string {
11711	return awsutil.Prettify(s)
11712}
11713
11714// GoString returns the string representation
11715func (s DeleteContactInput) GoString() string {
11716	return s.String()
11717}
11718
11719// Validate inspects the fields of the type to determine if they are valid.
11720func (s *DeleteContactInput) Validate() error {
11721	invalidParams := request.ErrInvalidParams{Context: "DeleteContactInput"}
11722	if s.ContactArn == nil {
11723		invalidParams.Add(request.NewErrParamRequired("ContactArn"))
11724	}
11725
11726	if invalidParams.Len() > 0 {
11727		return invalidParams
11728	}
11729	return nil
11730}
11731
11732// SetContactArn sets the ContactArn field's value.
11733func (s *DeleteContactInput) SetContactArn(v string) *DeleteContactInput {
11734	s.ContactArn = &v
11735	return s
11736}
11737
11738type DeleteContactOutput struct {
11739	_ struct{} `type:"structure"`
11740}
11741
11742// String returns the string representation
11743func (s DeleteContactOutput) String() string {
11744	return awsutil.Prettify(s)
11745}
11746
11747// GoString returns the string representation
11748func (s DeleteContactOutput) GoString() string {
11749	return s.String()
11750}
11751
11752type DeleteDeviceInput struct {
11753	_ struct{} `type:"structure"`
11754
11755	// The ARN of the device for which to request details.
11756	//
11757	// DeviceArn is a required field
11758	DeviceArn *string `type:"string" required:"true"`
11759}
11760
11761// String returns the string representation
11762func (s DeleteDeviceInput) String() string {
11763	return awsutil.Prettify(s)
11764}
11765
11766// GoString returns the string representation
11767func (s DeleteDeviceInput) GoString() string {
11768	return s.String()
11769}
11770
11771// Validate inspects the fields of the type to determine if they are valid.
11772func (s *DeleteDeviceInput) Validate() error {
11773	invalidParams := request.ErrInvalidParams{Context: "DeleteDeviceInput"}
11774	if s.DeviceArn == nil {
11775		invalidParams.Add(request.NewErrParamRequired("DeviceArn"))
11776	}
11777
11778	if invalidParams.Len() > 0 {
11779		return invalidParams
11780	}
11781	return nil
11782}
11783
11784// SetDeviceArn sets the DeviceArn field's value.
11785func (s *DeleteDeviceInput) SetDeviceArn(v string) *DeleteDeviceInput {
11786	s.DeviceArn = &v
11787	return s
11788}
11789
11790type DeleteDeviceOutput struct {
11791	_ struct{} `type:"structure"`
11792}
11793
11794// String returns the string representation
11795func (s DeleteDeviceOutput) String() string {
11796	return awsutil.Prettify(s)
11797}
11798
11799// GoString returns the string representation
11800func (s DeleteDeviceOutput) GoString() string {
11801	return s.String()
11802}
11803
11804type DeleteDeviceUsageDataInput struct {
11805	_ struct{} `type:"structure"`
11806
11807	// The ARN of the device.
11808	//
11809	// DeviceArn is a required field
11810	DeviceArn *string `type:"string" required:"true"`
11811
11812	// The type of usage data to delete.
11813	//
11814	// DeviceUsageType is a required field
11815	DeviceUsageType *string `type:"string" required:"true" enum:"DeviceUsageType"`
11816}
11817
11818// String returns the string representation
11819func (s DeleteDeviceUsageDataInput) String() string {
11820	return awsutil.Prettify(s)
11821}
11822
11823// GoString returns the string representation
11824func (s DeleteDeviceUsageDataInput) GoString() string {
11825	return s.String()
11826}
11827
11828// Validate inspects the fields of the type to determine if they are valid.
11829func (s *DeleteDeviceUsageDataInput) Validate() error {
11830	invalidParams := request.ErrInvalidParams{Context: "DeleteDeviceUsageDataInput"}
11831	if s.DeviceArn == nil {
11832		invalidParams.Add(request.NewErrParamRequired("DeviceArn"))
11833	}
11834	if s.DeviceUsageType == nil {
11835		invalidParams.Add(request.NewErrParamRequired("DeviceUsageType"))
11836	}
11837
11838	if invalidParams.Len() > 0 {
11839		return invalidParams
11840	}
11841	return nil
11842}
11843
11844// SetDeviceArn sets the DeviceArn field's value.
11845func (s *DeleteDeviceUsageDataInput) SetDeviceArn(v string) *DeleteDeviceUsageDataInput {
11846	s.DeviceArn = &v
11847	return s
11848}
11849
11850// SetDeviceUsageType sets the DeviceUsageType field's value.
11851func (s *DeleteDeviceUsageDataInput) SetDeviceUsageType(v string) *DeleteDeviceUsageDataInput {
11852	s.DeviceUsageType = &v
11853	return s
11854}
11855
11856type DeleteDeviceUsageDataOutput struct {
11857	_ struct{} `type:"structure"`
11858}
11859
11860// String returns the string representation
11861func (s DeleteDeviceUsageDataOutput) String() string {
11862	return awsutil.Prettify(s)
11863}
11864
11865// GoString returns the string representation
11866func (s DeleteDeviceUsageDataOutput) GoString() string {
11867	return s.String()
11868}
11869
11870type DeleteGatewayGroupInput struct {
11871	_ struct{} `type:"structure"`
11872
11873	// The ARN of the gateway group to delete.
11874	//
11875	// GatewayGroupArn is a required field
11876	GatewayGroupArn *string `type:"string" required:"true"`
11877}
11878
11879// String returns the string representation
11880func (s DeleteGatewayGroupInput) String() string {
11881	return awsutil.Prettify(s)
11882}
11883
11884// GoString returns the string representation
11885func (s DeleteGatewayGroupInput) GoString() string {
11886	return s.String()
11887}
11888
11889// Validate inspects the fields of the type to determine if they are valid.
11890func (s *DeleteGatewayGroupInput) Validate() error {
11891	invalidParams := request.ErrInvalidParams{Context: "DeleteGatewayGroupInput"}
11892	if s.GatewayGroupArn == nil {
11893		invalidParams.Add(request.NewErrParamRequired("GatewayGroupArn"))
11894	}
11895
11896	if invalidParams.Len() > 0 {
11897		return invalidParams
11898	}
11899	return nil
11900}
11901
11902// SetGatewayGroupArn sets the GatewayGroupArn field's value.
11903func (s *DeleteGatewayGroupInput) SetGatewayGroupArn(v string) *DeleteGatewayGroupInput {
11904	s.GatewayGroupArn = &v
11905	return s
11906}
11907
11908type DeleteGatewayGroupOutput struct {
11909	_ struct{} `type:"structure"`
11910}
11911
11912// String returns the string representation
11913func (s DeleteGatewayGroupOutput) String() string {
11914	return awsutil.Prettify(s)
11915}
11916
11917// GoString returns the string representation
11918func (s DeleteGatewayGroupOutput) GoString() string {
11919	return s.String()
11920}
11921
11922type DeleteNetworkProfileInput struct {
11923	_ struct{} `type:"structure"`
11924
11925	// The ARN of the network profile associated with a device.
11926	//
11927	// NetworkProfileArn is a required field
11928	NetworkProfileArn *string `type:"string" required:"true"`
11929}
11930
11931// String returns the string representation
11932func (s DeleteNetworkProfileInput) String() string {
11933	return awsutil.Prettify(s)
11934}
11935
11936// GoString returns the string representation
11937func (s DeleteNetworkProfileInput) GoString() string {
11938	return s.String()
11939}
11940
11941// Validate inspects the fields of the type to determine if they are valid.
11942func (s *DeleteNetworkProfileInput) Validate() error {
11943	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkProfileInput"}
11944	if s.NetworkProfileArn == nil {
11945		invalidParams.Add(request.NewErrParamRequired("NetworkProfileArn"))
11946	}
11947
11948	if invalidParams.Len() > 0 {
11949		return invalidParams
11950	}
11951	return nil
11952}
11953
11954// SetNetworkProfileArn sets the NetworkProfileArn field's value.
11955func (s *DeleteNetworkProfileInput) SetNetworkProfileArn(v string) *DeleteNetworkProfileInput {
11956	s.NetworkProfileArn = &v
11957	return s
11958}
11959
11960type DeleteNetworkProfileOutput struct {
11961	_ struct{} `type:"structure"`
11962}
11963
11964// String returns the string representation
11965func (s DeleteNetworkProfileOutput) String() string {
11966	return awsutil.Prettify(s)
11967}
11968
11969// GoString returns the string representation
11970func (s DeleteNetworkProfileOutput) GoString() string {
11971	return s.String()
11972}
11973
11974type DeleteProfileInput struct {
11975	_ struct{} `type:"structure"`
11976
11977	// The ARN of the room profile to delete. Required.
11978	ProfileArn *string `type:"string"`
11979}
11980
11981// String returns the string representation
11982func (s DeleteProfileInput) String() string {
11983	return awsutil.Prettify(s)
11984}
11985
11986// GoString returns the string representation
11987func (s DeleteProfileInput) GoString() string {
11988	return s.String()
11989}
11990
11991// SetProfileArn sets the ProfileArn field's value.
11992func (s *DeleteProfileInput) SetProfileArn(v string) *DeleteProfileInput {
11993	s.ProfileArn = &v
11994	return s
11995}
11996
11997type DeleteProfileOutput struct {
11998	_ struct{} `type:"structure"`
11999}
12000
12001// String returns the string representation
12002func (s DeleteProfileOutput) String() string {
12003	return awsutil.Prettify(s)
12004}
12005
12006// GoString returns the string representation
12007func (s DeleteProfileOutput) GoString() string {
12008	return s.String()
12009}
12010
12011type DeleteRoomInput struct {
12012	_ struct{} `type:"structure"`
12013
12014	// The ARN of the room to delete. Required.
12015	RoomArn *string `type:"string"`
12016}
12017
12018// String returns the string representation
12019func (s DeleteRoomInput) String() string {
12020	return awsutil.Prettify(s)
12021}
12022
12023// GoString returns the string representation
12024func (s DeleteRoomInput) GoString() string {
12025	return s.String()
12026}
12027
12028// SetRoomArn sets the RoomArn field's value.
12029func (s *DeleteRoomInput) SetRoomArn(v string) *DeleteRoomInput {
12030	s.RoomArn = &v
12031	return s
12032}
12033
12034type DeleteRoomOutput struct {
12035	_ struct{} `type:"structure"`
12036}
12037
12038// String returns the string representation
12039func (s DeleteRoomOutput) String() string {
12040	return awsutil.Prettify(s)
12041}
12042
12043// GoString returns the string representation
12044func (s DeleteRoomOutput) GoString() string {
12045	return s.String()
12046}
12047
12048type DeleteRoomSkillParameterInput struct {
12049	_ struct{} `type:"structure"`
12050
12051	// The room skill parameter key for which to remove details.
12052	//
12053	// ParameterKey is a required field
12054	ParameterKey *string `min:"1" type:"string" required:"true"`
12055
12056	// The ARN of the room from which to remove the room skill parameter details.
12057	RoomArn *string `type:"string"`
12058
12059	// The ID of the skill from which to remove the room skill parameter details.
12060	//
12061	// SkillId is a required field
12062	SkillId *string `type:"string" required:"true"`
12063}
12064
12065// String returns the string representation
12066func (s DeleteRoomSkillParameterInput) String() string {
12067	return awsutil.Prettify(s)
12068}
12069
12070// GoString returns the string representation
12071func (s DeleteRoomSkillParameterInput) GoString() string {
12072	return s.String()
12073}
12074
12075// Validate inspects the fields of the type to determine if they are valid.
12076func (s *DeleteRoomSkillParameterInput) Validate() error {
12077	invalidParams := request.ErrInvalidParams{Context: "DeleteRoomSkillParameterInput"}
12078	if s.ParameterKey == nil {
12079		invalidParams.Add(request.NewErrParamRequired("ParameterKey"))
12080	}
12081	if s.ParameterKey != nil && len(*s.ParameterKey) < 1 {
12082		invalidParams.Add(request.NewErrParamMinLen("ParameterKey", 1))
12083	}
12084	if s.SkillId == nil {
12085		invalidParams.Add(request.NewErrParamRequired("SkillId"))
12086	}
12087
12088	if invalidParams.Len() > 0 {
12089		return invalidParams
12090	}
12091	return nil
12092}
12093
12094// SetParameterKey sets the ParameterKey field's value.
12095func (s *DeleteRoomSkillParameterInput) SetParameterKey(v string) *DeleteRoomSkillParameterInput {
12096	s.ParameterKey = &v
12097	return s
12098}
12099
12100// SetRoomArn sets the RoomArn field's value.
12101func (s *DeleteRoomSkillParameterInput) SetRoomArn(v string) *DeleteRoomSkillParameterInput {
12102	s.RoomArn = &v
12103	return s
12104}
12105
12106// SetSkillId sets the SkillId field's value.
12107func (s *DeleteRoomSkillParameterInput) SetSkillId(v string) *DeleteRoomSkillParameterInput {
12108	s.SkillId = &v
12109	return s
12110}
12111
12112type DeleteRoomSkillParameterOutput struct {
12113	_ struct{} `type:"structure"`
12114}
12115
12116// String returns the string representation
12117func (s DeleteRoomSkillParameterOutput) String() string {
12118	return awsutil.Prettify(s)
12119}
12120
12121// GoString returns the string representation
12122func (s DeleteRoomSkillParameterOutput) GoString() string {
12123	return s.String()
12124}
12125
12126type DeleteSkillAuthorizationInput struct {
12127	_ struct{} `type:"structure"`
12128
12129	// The room that the skill is authorized for.
12130	RoomArn *string `type:"string"`
12131
12132	// The unique identifier of a skill.
12133	//
12134	// SkillId is a required field
12135	SkillId *string `type:"string" required:"true"`
12136}
12137
12138// String returns the string representation
12139func (s DeleteSkillAuthorizationInput) String() string {
12140	return awsutil.Prettify(s)
12141}
12142
12143// GoString returns the string representation
12144func (s DeleteSkillAuthorizationInput) GoString() string {
12145	return s.String()
12146}
12147
12148// Validate inspects the fields of the type to determine if they are valid.
12149func (s *DeleteSkillAuthorizationInput) Validate() error {
12150	invalidParams := request.ErrInvalidParams{Context: "DeleteSkillAuthorizationInput"}
12151	if s.SkillId == nil {
12152		invalidParams.Add(request.NewErrParamRequired("SkillId"))
12153	}
12154
12155	if invalidParams.Len() > 0 {
12156		return invalidParams
12157	}
12158	return nil
12159}
12160
12161// SetRoomArn sets the RoomArn field's value.
12162func (s *DeleteSkillAuthorizationInput) SetRoomArn(v string) *DeleteSkillAuthorizationInput {
12163	s.RoomArn = &v
12164	return s
12165}
12166
12167// SetSkillId sets the SkillId field's value.
12168func (s *DeleteSkillAuthorizationInput) SetSkillId(v string) *DeleteSkillAuthorizationInput {
12169	s.SkillId = &v
12170	return s
12171}
12172
12173type DeleteSkillAuthorizationOutput struct {
12174	_ struct{} `type:"structure"`
12175}
12176
12177// String returns the string representation
12178func (s DeleteSkillAuthorizationOutput) String() string {
12179	return awsutil.Prettify(s)
12180}
12181
12182// GoString returns the string representation
12183func (s DeleteSkillAuthorizationOutput) GoString() string {
12184	return s.String()
12185}
12186
12187type DeleteSkillGroupInput struct {
12188	_ struct{} `type:"structure"`
12189
12190	// The ARN of the skill group to delete. Required.
12191	SkillGroupArn *string `type:"string"`
12192}
12193
12194// String returns the string representation
12195func (s DeleteSkillGroupInput) String() string {
12196	return awsutil.Prettify(s)
12197}
12198
12199// GoString returns the string representation
12200func (s DeleteSkillGroupInput) GoString() string {
12201	return s.String()
12202}
12203
12204// SetSkillGroupArn sets the SkillGroupArn field's value.
12205func (s *DeleteSkillGroupInput) SetSkillGroupArn(v string) *DeleteSkillGroupInput {
12206	s.SkillGroupArn = &v
12207	return s
12208}
12209
12210type DeleteSkillGroupOutput struct {
12211	_ struct{} `type:"structure"`
12212}
12213
12214// String returns the string representation
12215func (s DeleteSkillGroupOutput) String() string {
12216	return awsutil.Prettify(s)
12217}
12218
12219// GoString returns the string representation
12220func (s DeleteSkillGroupOutput) GoString() string {
12221	return s.String()
12222}
12223
12224type DeleteUserInput struct {
12225	_ struct{} `type:"structure"`
12226
12227	// The ARN of the user's enrollment in the organization. Required.
12228	//
12229	// EnrollmentId is a required field
12230	EnrollmentId *string `type:"string" required:"true"`
12231
12232	// The ARN of the user to delete in the organization. Required.
12233	UserArn *string `type:"string"`
12234}
12235
12236// String returns the string representation
12237func (s DeleteUserInput) String() string {
12238	return awsutil.Prettify(s)
12239}
12240
12241// GoString returns the string representation
12242func (s DeleteUserInput) GoString() string {
12243	return s.String()
12244}
12245
12246// Validate inspects the fields of the type to determine if they are valid.
12247func (s *DeleteUserInput) Validate() error {
12248	invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"}
12249	if s.EnrollmentId == nil {
12250		invalidParams.Add(request.NewErrParamRequired("EnrollmentId"))
12251	}
12252
12253	if invalidParams.Len() > 0 {
12254		return invalidParams
12255	}
12256	return nil
12257}
12258
12259// SetEnrollmentId sets the EnrollmentId field's value.
12260func (s *DeleteUserInput) SetEnrollmentId(v string) *DeleteUserInput {
12261	s.EnrollmentId = &v
12262	return s
12263}
12264
12265// SetUserArn sets the UserArn field's value.
12266func (s *DeleteUserInput) SetUserArn(v string) *DeleteUserInput {
12267	s.UserArn = &v
12268	return s
12269}
12270
12271type DeleteUserOutput struct {
12272	_ struct{} `type:"structure"`
12273}
12274
12275// String returns the string representation
12276func (s DeleteUserOutput) String() string {
12277	return awsutil.Prettify(s)
12278}
12279
12280// GoString returns the string representation
12281func (s DeleteUserOutput) GoString() string {
12282	return s.String()
12283}
12284
12285// The details about the developer that published the skill.
12286type DeveloperInfo struct {
12287	_ struct{} `type:"structure"`
12288
12289	// The name of the developer.
12290	DeveloperName *string `type:"string"`
12291
12292	// The email of the developer.
12293	Email *string `min:"1" type:"string"`
12294
12295	// The URL of the privacy policy.
12296	PrivacyPolicy *string `type:"string"`
12297
12298	// The website of the developer.
12299	Url *string `type:"string"`
12300}
12301
12302// String returns the string representation
12303func (s DeveloperInfo) String() string {
12304	return awsutil.Prettify(s)
12305}
12306
12307// GoString returns the string representation
12308func (s DeveloperInfo) GoString() string {
12309	return s.String()
12310}
12311
12312// SetDeveloperName sets the DeveloperName field's value.
12313func (s *DeveloperInfo) SetDeveloperName(v string) *DeveloperInfo {
12314	s.DeveloperName = &v
12315	return s
12316}
12317
12318// SetEmail sets the Email field's value.
12319func (s *DeveloperInfo) SetEmail(v string) *DeveloperInfo {
12320	s.Email = &v
12321	return s
12322}
12323
12324// SetPrivacyPolicy sets the PrivacyPolicy field's value.
12325func (s *DeveloperInfo) SetPrivacyPolicy(v string) *DeveloperInfo {
12326	s.PrivacyPolicy = &v
12327	return s
12328}
12329
12330// SetUrl sets the Url field's value.
12331func (s *DeveloperInfo) SetUrl(v string) *DeveloperInfo {
12332	s.Url = &v
12333	return s
12334}
12335
12336// A device with attributes.
12337type Device struct {
12338	_ struct{} `type:"structure"`
12339
12340	// The ARN of a device.
12341	DeviceArn *string `type:"string"`
12342
12343	// The name of a device.
12344	DeviceName *string `min:"2" type:"string"`
12345
12346	// The serial number of a device.
12347	DeviceSerialNumber *string `type:"string"`
12348
12349	// The status of a device. If the status is not READY, check the DeviceStatusInfo
12350	// value for details.
12351	DeviceStatus *string `type:"string" enum:"DeviceStatus"`
12352
12353	// Detailed information about a device's status.
12354	DeviceStatusInfo *DeviceStatusInfo `type:"structure"`
12355
12356	// The type of a device.
12357	DeviceType *string `type:"string"`
12358
12359	// The MAC address of a device.
12360	MacAddress *string `type:"string"`
12361
12362	// Detailed information about a device's network profile.
12363	NetworkProfileInfo *DeviceNetworkProfileInfo `type:"structure"`
12364
12365	// The room ARN of a device.
12366	RoomArn *string `type:"string"`
12367
12368	// The software version of a device.
12369	SoftwareVersion *string `type:"string"`
12370}
12371
12372// String returns the string representation
12373func (s Device) String() string {
12374	return awsutil.Prettify(s)
12375}
12376
12377// GoString returns the string representation
12378func (s Device) GoString() string {
12379	return s.String()
12380}
12381
12382// SetDeviceArn sets the DeviceArn field's value.
12383func (s *Device) SetDeviceArn(v string) *Device {
12384	s.DeviceArn = &v
12385	return s
12386}
12387
12388// SetDeviceName sets the DeviceName field's value.
12389func (s *Device) SetDeviceName(v string) *Device {
12390	s.DeviceName = &v
12391	return s
12392}
12393
12394// SetDeviceSerialNumber sets the DeviceSerialNumber field's value.
12395func (s *Device) SetDeviceSerialNumber(v string) *Device {
12396	s.DeviceSerialNumber = &v
12397	return s
12398}
12399
12400// SetDeviceStatus sets the DeviceStatus field's value.
12401func (s *Device) SetDeviceStatus(v string) *Device {
12402	s.DeviceStatus = &v
12403	return s
12404}
12405
12406// SetDeviceStatusInfo sets the DeviceStatusInfo field's value.
12407func (s *Device) SetDeviceStatusInfo(v *DeviceStatusInfo) *Device {
12408	s.DeviceStatusInfo = v
12409	return s
12410}
12411
12412// SetDeviceType sets the DeviceType field's value.
12413func (s *Device) SetDeviceType(v string) *Device {
12414	s.DeviceType = &v
12415	return s
12416}
12417
12418// SetMacAddress sets the MacAddress field's value.
12419func (s *Device) SetMacAddress(v string) *Device {
12420	s.MacAddress = &v
12421	return s
12422}
12423
12424// SetNetworkProfileInfo sets the NetworkProfileInfo field's value.
12425func (s *Device) SetNetworkProfileInfo(v *DeviceNetworkProfileInfo) *Device {
12426	s.NetworkProfileInfo = v
12427	return s
12428}
12429
12430// SetRoomArn sets the RoomArn field's value.
12431func (s *Device) SetRoomArn(v string) *Device {
12432	s.RoomArn = &v
12433	return s
12434}
12435
12436// SetSoftwareVersion sets the SoftwareVersion field's value.
12437func (s *Device) SetSoftwareVersion(v string) *Device {
12438	s.SoftwareVersion = &v
12439	return s
12440}
12441
12442// Device attributes.
12443type DeviceData struct {
12444	_ struct{} `type:"structure"`
12445
12446	// The time (in epoch) when the device data was created.
12447	CreatedTime *time.Time `type:"timestamp"`
12448
12449	// The ARN of a device.
12450	DeviceArn *string `type:"string"`
12451
12452	// The name of a device.
12453	DeviceName *string `min:"2" type:"string"`
12454
12455	// The serial number of a device.
12456	DeviceSerialNumber *string `type:"string"`
12457
12458	// The status of a device.
12459	DeviceStatus *string `type:"string" enum:"DeviceStatus"`
12460
12461	// Detailed information about a device's status.
12462	DeviceStatusInfo *DeviceStatusInfo `type:"structure"`
12463
12464	// The type of a device.
12465	DeviceType *string `type:"string"`
12466
12467	// The MAC address of a device.
12468	MacAddress *string `type:"string"`
12469
12470	// The ARN of the network profile associated with a device.
12471	NetworkProfileArn *string `type:"string"`
12472
12473	// The name of the network profile associated with a device.
12474	NetworkProfileName *string `min:"1" type:"string"`
12475
12476	// The room ARN associated with a device.
12477	RoomArn *string `type:"string"`
12478
12479	// The name of the room associated with a device.
12480	RoomName *string `min:"1" type:"string"`
12481
12482	// The software version of a device.
12483	SoftwareVersion *string `type:"string"`
12484}
12485
12486// String returns the string representation
12487func (s DeviceData) String() string {
12488	return awsutil.Prettify(s)
12489}
12490
12491// GoString returns the string representation
12492func (s DeviceData) GoString() string {
12493	return s.String()
12494}
12495
12496// SetCreatedTime sets the CreatedTime field's value.
12497func (s *DeviceData) SetCreatedTime(v time.Time) *DeviceData {
12498	s.CreatedTime = &v
12499	return s
12500}
12501
12502// SetDeviceArn sets the DeviceArn field's value.
12503func (s *DeviceData) SetDeviceArn(v string) *DeviceData {
12504	s.DeviceArn = &v
12505	return s
12506}
12507
12508// SetDeviceName sets the DeviceName field's value.
12509func (s *DeviceData) SetDeviceName(v string) *DeviceData {
12510	s.DeviceName = &v
12511	return s
12512}
12513
12514// SetDeviceSerialNumber sets the DeviceSerialNumber field's value.
12515func (s *DeviceData) SetDeviceSerialNumber(v string) *DeviceData {
12516	s.DeviceSerialNumber = &v
12517	return s
12518}
12519
12520// SetDeviceStatus sets the DeviceStatus field's value.
12521func (s *DeviceData) SetDeviceStatus(v string) *DeviceData {
12522	s.DeviceStatus = &v
12523	return s
12524}
12525
12526// SetDeviceStatusInfo sets the DeviceStatusInfo field's value.
12527func (s *DeviceData) SetDeviceStatusInfo(v *DeviceStatusInfo) *DeviceData {
12528	s.DeviceStatusInfo = v
12529	return s
12530}
12531
12532// SetDeviceType sets the DeviceType field's value.
12533func (s *DeviceData) SetDeviceType(v string) *DeviceData {
12534	s.DeviceType = &v
12535	return s
12536}
12537
12538// SetMacAddress sets the MacAddress field's value.
12539func (s *DeviceData) SetMacAddress(v string) *DeviceData {
12540	s.MacAddress = &v
12541	return s
12542}
12543
12544// SetNetworkProfileArn sets the NetworkProfileArn field's value.
12545func (s *DeviceData) SetNetworkProfileArn(v string) *DeviceData {
12546	s.NetworkProfileArn = &v
12547	return s
12548}
12549
12550// SetNetworkProfileName sets the NetworkProfileName field's value.
12551func (s *DeviceData) SetNetworkProfileName(v string) *DeviceData {
12552	s.NetworkProfileName = &v
12553	return s
12554}
12555
12556// SetRoomArn sets the RoomArn field's value.
12557func (s *DeviceData) SetRoomArn(v string) *DeviceData {
12558	s.RoomArn = &v
12559	return s
12560}
12561
12562// SetRoomName sets the RoomName field's value.
12563func (s *DeviceData) SetRoomName(v string) *DeviceData {
12564	s.RoomName = &v
12565	return s
12566}
12567
12568// SetSoftwareVersion sets the SoftwareVersion field's value.
12569func (s *DeviceData) SetSoftwareVersion(v string) *DeviceData {
12570	s.SoftwareVersion = &v
12571	return s
12572}
12573
12574// The list of device events.
12575type DeviceEvent struct {
12576	_ struct{} `type:"structure"`
12577
12578	// The time (in epoch) when the event occurred.
12579	Timestamp *time.Time `type:"timestamp"`
12580
12581	// The type of device event.
12582	Type *string `type:"string" enum:"DeviceEventType"`
12583
12584	// The value of the event.
12585	Value *string `type:"string"`
12586}
12587
12588// String returns the string representation
12589func (s DeviceEvent) String() string {
12590	return awsutil.Prettify(s)
12591}
12592
12593// GoString returns the string representation
12594func (s DeviceEvent) GoString() string {
12595	return s.String()
12596}
12597
12598// SetTimestamp sets the Timestamp field's value.
12599func (s *DeviceEvent) SetTimestamp(v time.Time) *DeviceEvent {
12600	s.Timestamp = &v
12601	return s
12602}
12603
12604// SetType sets the Type field's value.
12605func (s *DeviceEvent) SetType(v string) *DeviceEvent {
12606	s.Type = &v
12607	return s
12608}
12609
12610// SetValue sets the Value field's value.
12611func (s *DeviceEvent) SetValue(v string) *DeviceEvent {
12612	s.Value = &v
12613	return s
12614}
12615
12616// Detailed information about a device's network profile.
12617type DeviceNetworkProfileInfo struct {
12618	_ struct{} `type:"structure"`
12619
12620	// The ARN of the certificate associated with a device.
12621	CertificateArn *string `type:"string"`
12622
12623	// The time (in epoch) when the certificate expires.
12624	CertificateExpirationTime *time.Time `type:"timestamp"`
12625
12626	// The ARN of the network profile associated with a device.
12627	NetworkProfileArn *string `type:"string"`
12628}
12629
12630// String returns the string representation
12631func (s DeviceNetworkProfileInfo) String() string {
12632	return awsutil.Prettify(s)
12633}
12634
12635// GoString returns the string representation
12636func (s DeviceNetworkProfileInfo) GoString() string {
12637	return s.String()
12638}
12639
12640// SetCertificateArn sets the CertificateArn field's value.
12641func (s *DeviceNetworkProfileInfo) SetCertificateArn(v string) *DeviceNetworkProfileInfo {
12642	s.CertificateArn = &v
12643	return s
12644}
12645
12646// SetCertificateExpirationTime sets the CertificateExpirationTime field's value.
12647func (s *DeviceNetworkProfileInfo) SetCertificateExpirationTime(v time.Time) *DeviceNetworkProfileInfo {
12648	s.CertificateExpirationTime = &v
12649	return s
12650}
12651
12652// SetNetworkProfileArn sets the NetworkProfileArn field's value.
12653func (s *DeviceNetworkProfileInfo) SetNetworkProfileArn(v string) *DeviceNetworkProfileInfo {
12654	s.NetworkProfileArn = &v
12655	return s
12656}
12657
12658// The request failed because this device is no longer registered and therefore
12659// no longer managed by this account.
12660type DeviceNotRegisteredException struct {
12661	_            struct{}                  `type:"structure"`
12662	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12663
12664	Message_ *string `locationName:"Message" type:"string"`
12665}
12666
12667// String returns the string representation
12668func (s DeviceNotRegisteredException) String() string {
12669	return awsutil.Prettify(s)
12670}
12671
12672// GoString returns the string representation
12673func (s DeviceNotRegisteredException) GoString() string {
12674	return s.String()
12675}
12676
12677func newErrorDeviceNotRegisteredException(v protocol.ResponseMetadata) error {
12678	return &DeviceNotRegisteredException{
12679		RespMetadata: v,
12680	}
12681}
12682
12683// Code returns the exception type name.
12684func (s *DeviceNotRegisteredException) Code() string {
12685	return "DeviceNotRegisteredException"
12686}
12687
12688// Message returns the exception's message.
12689func (s *DeviceNotRegisteredException) Message() string {
12690	if s.Message_ != nil {
12691		return *s.Message_
12692	}
12693	return ""
12694}
12695
12696// OrigErr always returns nil, satisfies awserr.Error interface.
12697func (s *DeviceNotRegisteredException) OrigErr() error {
12698	return nil
12699}
12700
12701func (s *DeviceNotRegisteredException) Error() string {
12702	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12703}
12704
12705// Status code returns the HTTP status code for the request's response error.
12706func (s *DeviceNotRegisteredException) StatusCode() int {
12707	return s.RespMetadata.StatusCode
12708}
12709
12710// RequestID returns the service's response RequestID for request.
12711func (s *DeviceNotRegisteredException) RequestID() string {
12712	return s.RespMetadata.RequestID
12713}
12714
12715// Details of a device’s status.
12716type DeviceStatusDetail struct {
12717	_ struct{} `type:"structure"`
12718
12719	// The device status detail code.
12720	Code *string `type:"string" enum:"DeviceStatusDetailCode"`
12721
12722	// The list of available features on the device.
12723	Feature *string `type:"string" enum:"Feature"`
12724}
12725
12726// String returns the string representation
12727func (s DeviceStatusDetail) String() string {
12728	return awsutil.Prettify(s)
12729}
12730
12731// GoString returns the string representation
12732func (s DeviceStatusDetail) GoString() string {
12733	return s.String()
12734}
12735
12736// SetCode sets the Code field's value.
12737func (s *DeviceStatusDetail) SetCode(v string) *DeviceStatusDetail {
12738	s.Code = &v
12739	return s
12740}
12741
12742// SetFeature sets the Feature field's value.
12743func (s *DeviceStatusDetail) SetFeature(v string) *DeviceStatusDetail {
12744	s.Feature = &v
12745	return s
12746}
12747
12748// Detailed information about a device's status.
12749type DeviceStatusInfo struct {
12750	_ struct{} `type:"structure"`
12751
12752	// The latest available information about the connection status of a device.
12753	ConnectionStatus *string `type:"string" enum:"ConnectionStatus"`
12754
12755	// The time (in epoch) when the device connection status changed.
12756	ConnectionStatusUpdatedTime *time.Time `type:"timestamp"`
12757
12758	// One or more device status detail descriptions.
12759	DeviceStatusDetails []*DeviceStatusDetail `type:"list"`
12760}
12761
12762// String returns the string representation
12763func (s DeviceStatusInfo) String() string {
12764	return awsutil.Prettify(s)
12765}
12766
12767// GoString returns the string representation
12768func (s DeviceStatusInfo) GoString() string {
12769	return s.String()
12770}
12771
12772// SetConnectionStatus sets the ConnectionStatus field's value.
12773func (s *DeviceStatusInfo) SetConnectionStatus(v string) *DeviceStatusInfo {
12774	s.ConnectionStatus = &v
12775	return s
12776}
12777
12778// SetConnectionStatusUpdatedTime sets the ConnectionStatusUpdatedTime field's value.
12779func (s *DeviceStatusInfo) SetConnectionStatusUpdatedTime(v time.Time) *DeviceStatusInfo {
12780	s.ConnectionStatusUpdatedTime = &v
12781	return s
12782}
12783
12784// SetDeviceStatusDetails sets the DeviceStatusDetails field's value.
12785func (s *DeviceStatusInfo) SetDeviceStatusDetails(v []*DeviceStatusDetail) *DeviceStatusInfo {
12786	s.DeviceStatusDetails = v
12787	return s
12788}
12789
12790type DisassociateContactFromAddressBookInput struct {
12791	_ struct{} `type:"structure"`
12792
12793	// The ARN of the address from which to disassociate the contact.
12794	//
12795	// AddressBookArn is a required field
12796	AddressBookArn *string `type:"string" required:"true"`
12797
12798	// The ARN of the contact to disassociate from an address book.
12799	//
12800	// ContactArn is a required field
12801	ContactArn *string `type:"string" required:"true"`
12802}
12803
12804// String returns the string representation
12805func (s DisassociateContactFromAddressBookInput) String() string {
12806	return awsutil.Prettify(s)
12807}
12808
12809// GoString returns the string representation
12810func (s DisassociateContactFromAddressBookInput) GoString() string {
12811	return s.String()
12812}
12813
12814// Validate inspects the fields of the type to determine if they are valid.
12815func (s *DisassociateContactFromAddressBookInput) Validate() error {
12816	invalidParams := request.ErrInvalidParams{Context: "DisassociateContactFromAddressBookInput"}
12817	if s.AddressBookArn == nil {
12818		invalidParams.Add(request.NewErrParamRequired("AddressBookArn"))
12819	}
12820	if s.ContactArn == nil {
12821		invalidParams.Add(request.NewErrParamRequired("ContactArn"))
12822	}
12823
12824	if invalidParams.Len() > 0 {
12825		return invalidParams
12826	}
12827	return nil
12828}
12829
12830// SetAddressBookArn sets the AddressBookArn field's value.
12831func (s *DisassociateContactFromAddressBookInput) SetAddressBookArn(v string) *DisassociateContactFromAddressBookInput {
12832	s.AddressBookArn = &v
12833	return s
12834}
12835
12836// SetContactArn sets the ContactArn field's value.
12837func (s *DisassociateContactFromAddressBookInput) SetContactArn(v string) *DisassociateContactFromAddressBookInput {
12838	s.ContactArn = &v
12839	return s
12840}
12841
12842type DisassociateContactFromAddressBookOutput struct {
12843	_ struct{} `type:"structure"`
12844}
12845
12846// String returns the string representation
12847func (s DisassociateContactFromAddressBookOutput) String() string {
12848	return awsutil.Prettify(s)
12849}
12850
12851// GoString returns the string representation
12852func (s DisassociateContactFromAddressBookOutput) GoString() string {
12853	return s.String()
12854}
12855
12856type DisassociateDeviceFromRoomInput struct {
12857	_ struct{} `type:"structure"`
12858
12859	// The ARN of the device to disassociate from a room. Required.
12860	DeviceArn *string `type:"string"`
12861}
12862
12863// String returns the string representation
12864func (s DisassociateDeviceFromRoomInput) String() string {
12865	return awsutil.Prettify(s)
12866}
12867
12868// GoString returns the string representation
12869func (s DisassociateDeviceFromRoomInput) GoString() string {
12870	return s.String()
12871}
12872
12873// SetDeviceArn sets the DeviceArn field's value.
12874func (s *DisassociateDeviceFromRoomInput) SetDeviceArn(v string) *DisassociateDeviceFromRoomInput {
12875	s.DeviceArn = &v
12876	return s
12877}
12878
12879type DisassociateDeviceFromRoomOutput struct {
12880	_ struct{} `type:"structure"`
12881}
12882
12883// String returns the string representation
12884func (s DisassociateDeviceFromRoomOutput) String() string {
12885	return awsutil.Prettify(s)
12886}
12887
12888// GoString returns the string representation
12889func (s DisassociateDeviceFromRoomOutput) GoString() string {
12890	return s.String()
12891}
12892
12893type DisassociateSkillFromSkillGroupInput struct {
12894	_ struct{} `type:"structure"`
12895
12896	// The unique identifier of a skill. Required.
12897	SkillGroupArn *string `type:"string"`
12898
12899	// The ARN of a skill group to associate to a skill.
12900	//
12901	// SkillId is a required field
12902	SkillId *string `type:"string" required:"true"`
12903}
12904
12905// String returns the string representation
12906func (s DisassociateSkillFromSkillGroupInput) String() string {
12907	return awsutil.Prettify(s)
12908}
12909
12910// GoString returns the string representation
12911func (s DisassociateSkillFromSkillGroupInput) GoString() string {
12912	return s.String()
12913}
12914
12915// Validate inspects the fields of the type to determine if they are valid.
12916func (s *DisassociateSkillFromSkillGroupInput) Validate() error {
12917	invalidParams := request.ErrInvalidParams{Context: "DisassociateSkillFromSkillGroupInput"}
12918	if s.SkillId == nil {
12919		invalidParams.Add(request.NewErrParamRequired("SkillId"))
12920	}
12921
12922	if invalidParams.Len() > 0 {
12923		return invalidParams
12924	}
12925	return nil
12926}
12927
12928// SetSkillGroupArn sets the SkillGroupArn field's value.
12929func (s *DisassociateSkillFromSkillGroupInput) SetSkillGroupArn(v string) *DisassociateSkillFromSkillGroupInput {
12930	s.SkillGroupArn = &v
12931	return s
12932}
12933
12934// SetSkillId sets the SkillId field's value.
12935func (s *DisassociateSkillFromSkillGroupInput) SetSkillId(v string) *DisassociateSkillFromSkillGroupInput {
12936	s.SkillId = &v
12937	return s
12938}
12939
12940type DisassociateSkillFromSkillGroupOutput struct {
12941	_ struct{} `type:"structure"`
12942}
12943
12944// String returns the string representation
12945func (s DisassociateSkillFromSkillGroupOutput) String() string {
12946	return awsutil.Prettify(s)
12947}
12948
12949// GoString returns the string representation
12950func (s DisassociateSkillFromSkillGroupOutput) GoString() string {
12951	return s.String()
12952}
12953
12954type DisassociateSkillFromUsersInput struct {
12955	_ struct{} `type:"structure"`
12956
12957	// The private skill ID you want to make unavailable for enrolled users.
12958	//
12959	// SkillId is a required field
12960	SkillId *string `type:"string" required:"true"`
12961}
12962
12963// String returns the string representation
12964func (s DisassociateSkillFromUsersInput) String() string {
12965	return awsutil.Prettify(s)
12966}
12967
12968// GoString returns the string representation
12969func (s DisassociateSkillFromUsersInput) GoString() string {
12970	return s.String()
12971}
12972
12973// Validate inspects the fields of the type to determine if they are valid.
12974func (s *DisassociateSkillFromUsersInput) Validate() error {
12975	invalidParams := request.ErrInvalidParams{Context: "DisassociateSkillFromUsersInput"}
12976	if s.SkillId == nil {
12977		invalidParams.Add(request.NewErrParamRequired("SkillId"))
12978	}
12979
12980	if invalidParams.Len() > 0 {
12981		return invalidParams
12982	}
12983	return nil
12984}
12985
12986// SetSkillId sets the SkillId field's value.
12987func (s *DisassociateSkillFromUsersInput) SetSkillId(v string) *DisassociateSkillFromUsersInput {
12988	s.SkillId = &v
12989	return s
12990}
12991
12992type DisassociateSkillFromUsersOutput struct {
12993	_ struct{} `type:"structure"`
12994}
12995
12996// String returns the string representation
12997func (s DisassociateSkillFromUsersOutput) String() string {
12998	return awsutil.Prettify(s)
12999}
13000
13001// GoString returns the string representation
13002func (s DisassociateSkillFromUsersOutput) GoString() string {
13003	return s.String()
13004}
13005
13006type DisassociateSkillGroupFromRoomInput struct {
13007	_ struct{} `type:"structure"`
13008
13009	// The ARN of the room from which the skill group is to be disassociated. Required.
13010	RoomArn *string `type:"string"`
13011
13012	// The ARN of the skill group to disassociate from a room. Required.
13013	SkillGroupArn *string `type:"string"`
13014}
13015
13016// String returns the string representation
13017func (s DisassociateSkillGroupFromRoomInput) String() string {
13018	return awsutil.Prettify(s)
13019}
13020
13021// GoString returns the string representation
13022func (s DisassociateSkillGroupFromRoomInput) GoString() string {
13023	return s.String()
13024}
13025
13026// SetRoomArn sets the RoomArn field's value.
13027func (s *DisassociateSkillGroupFromRoomInput) SetRoomArn(v string) *DisassociateSkillGroupFromRoomInput {
13028	s.RoomArn = &v
13029	return s
13030}
13031
13032// SetSkillGroupArn sets the SkillGroupArn field's value.
13033func (s *DisassociateSkillGroupFromRoomInput) SetSkillGroupArn(v string) *DisassociateSkillGroupFromRoomInput {
13034	s.SkillGroupArn = &v
13035	return s
13036}
13037
13038type DisassociateSkillGroupFromRoomOutput struct {
13039	_ struct{} `type:"structure"`
13040}
13041
13042// String returns the string representation
13043func (s DisassociateSkillGroupFromRoomOutput) String() string {
13044	return awsutil.Prettify(s)
13045}
13046
13047// GoString returns the string representation
13048func (s DisassociateSkillGroupFromRoomOutput) GoString() string {
13049	return s.String()
13050}
13051
13052// Settings for the end of meeting reminder feature that are applied to a room
13053// profile. The end of meeting reminder enables Alexa to remind users when a
13054// meeting is ending.
13055type EndOfMeetingReminder struct {
13056	_ struct{} `type:"structure"`
13057
13058	// Whether an end of meeting reminder is enabled or not.
13059	Enabled *bool `type:"boolean"`
13060
13061	// A range of 3 to 15 minutes that determines when the reminder begins.
13062	ReminderAtMinutes []*int64 `min:"1" type:"list"`
13063
13064	// The type of sound that users hear during the end of meeting reminder.
13065	ReminderType *string `type:"string" enum:"EndOfMeetingReminderType"`
13066}
13067
13068// String returns the string representation
13069func (s EndOfMeetingReminder) String() string {
13070	return awsutil.Prettify(s)
13071}
13072
13073// GoString returns the string representation
13074func (s EndOfMeetingReminder) GoString() string {
13075	return s.String()
13076}
13077
13078// SetEnabled sets the Enabled field's value.
13079func (s *EndOfMeetingReminder) SetEnabled(v bool) *EndOfMeetingReminder {
13080	s.Enabled = &v
13081	return s
13082}
13083
13084// SetReminderAtMinutes sets the ReminderAtMinutes field's value.
13085func (s *EndOfMeetingReminder) SetReminderAtMinutes(v []*int64) *EndOfMeetingReminder {
13086	s.ReminderAtMinutes = v
13087	return s
13088}
13089
13090// SetReminderType sets the ReminderType field's value.
13091func (s *EndOfMeetingReminder) SetReminderType(v string) *EndOfMeetingReminder {
13092	s.ReminderType = &v
13093	return s
13094}
13095
13096// A filter name and value pair that is used to return a more specific list
13097// of results. Filters can be used to match a set of resources by various criteria.
13098type Filter struct {
13099	_ struct{} `type:"structure"`
13100
13101	// The key of a filter.
13102	//
13103	// Key is a required field
13104	Key *string `min:"1" type:"string" required:"true"`
13105
13106	// The values of a filter.
13107	//
13108	// Values is a required field
13109	Values []*string `type:"list" required:"true"`
13110}
13111
13112// String returns the string representation
13113func (s Filter) String() string {
13114	return awsutil.Prettify(s)
13115}
13116
13117// GoString returns the string representation
13118func (s Filter) GoString() string {
13119	return s.String()
13120}
13121
13122// Validate inspects the fields of the type to determine if they are valid.
13123func (s *Filter) Validate() error {
13124	invalidParams := request.ErrInvalidParams{Context: "Filter"}
13125	if s.Key == nil {
13126		invalidParams.Add(request.NewErrParamRequired("Key"))
13127	}
13128	if s.Key != nil && len(*s.Key) < 1 {
13129		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13130	}
13131	if s.Values == nil {
13132		invalidParams.Add(request.NewErrParamRequired("Values"))
13133	}
13134
13135	if invalidParams.Len() > 0 {
13136		return invalidParams
13137	}
13138	return nil
13139}
13140
13141// SetKey sets the Key field's value.
13142func (s *Filter) SetKey(v string) *Filter {
13143	s.Key = &v
13144	return s
13145}
13146
13147// SetValues sets the Values field's value.
13148func (s *Filter) SetValues(v []*string) *Filter {
13149	s.Values = v
13150	return s
13151}
13152
13153type ForgetSmartHomeAppliancesInput struct {
13154	_ struct{} `type:"structure"`
13155
13156	// The room that the appliances are associated with.
13157	//
13158	// RoomArn is a required field
13159	RoomArn *string `type:"string" required:"true"`
13160}
13161
13162// String returns the string representation
13163func (s ForgetSmartHomeAppliancesInput) String() string {
13164	return awsutil.Prettify(s)
13165}
13166
13167// GoString returns the string representation
13168func (s ForgetSmartHomeAppliancesInput) GoString() string {
13169	return s.String()
13170}
13171
13172// Validate inspects the fields of the type to determine if they are valid.
13173func (s *ForgetSmartHomeAppliancesInput) Validate() error {
13174	invalidParams := request.ErrInvalidParams{Context: "ForgetSmartHomeAppliancesInput"}
13175	if s.RoomArn == nil {
13176		invalidParams.Add(request.NewErrParamRequired("RoomArn"))
13177	}
13178
13179	if invalidParams.Len() > 0 {
13180		return invalidParams
13181	}
13182	return nil
13183}
13184
13185// SetRoomArn sets the RoomArn field's value.
13186func (s *ForgetSmartHomeAppliancesInput) SetRoomArn(v string) *ForgetSmartHomeAppliancesInput {
13187	s.RoomArn = &v
13188	return s
13189}
13190
13191type ForgetSmartHomeAppliancesOutput struct {
13192	_ struct{} `type:"structure"`
13193}
13194
13195// String returns the string representation
13196func (s ForgetSmartHomeAppliancesOutput) String() string {
13197	return awsutil.Prettify(s)
13198}
13199
13200// GoString returns the string representation
13201func (s ForgetSmartHomeAppliancesOutput) GoString() string {
13202	return s.String()
13203}
13204
13205// The details of the gateway.
13206type Gateway struct {
13207	_ struct{} `type:"structure"`
13208
13209	// The ARN of the gateway.
13210	Arn *string `type:"string"`
13211
13212	// The description of the gateway.
13213	Description *string `type:"string"`
13214
13215	// The ARN of the gateway group that the gateway is associated to.
13216	GatewayGroupArn *string `type:"string"`
13217
13218	// The name of the gateway.
13219	Name *string `min:"1" type:"string"`
13220
13221	// The software version of the gateway. The gateway automatically updates its
13222	// software version during normal operation.
13223	SoftwareVersion *string `min:"1" type:"string"`
13224}
13225
13226// String returns the string representation
13227func (s Gateway) String() string {
13228	return awsutil.Prettify(s)
13229}
13230
13231// GoString returns the string representation
13232func (s Gateway) GoString() string {
13233	return s.String()
13234}
13235
13236// SetArn sets the Arn field's value.
13237func (s *Gateway) SetArn(v string) *Gateway {
13238	s.Arn = &v
13239	return s
13240}
13241
13242// SetDescription sets the Description field's value.
13243func (s *Gateway) SetDescription(v string) *Gateway {
13244	s.Description = &v
13245	return s
13246}
13247
13248// SetGatewayGroupArn sets the GatewayGroupArn field's value.
13249func (s *Gateway) SetGatewayGroupArn(v string) *Gateway {
13250	s.GatewayGroupArn = &v
13251	return s
13252}
13253
13254// SetName sets the Name field's value.
13255func (s *Gateway) SetName(v string) *Gateway {
13256	s.Name = &v
13257	return s
13258}
13259
13260// SetSoftwareVersion sets the SoftwareVersion field's value.
13261func (s *Gateway) SetSoftwareVersion(v string) *Gateway {
13262	s.SoftwareVersion = &v
13263	return s
13264}
13265
13266// The details of the gateway group.
13267type GatewayGroup struct {
13268	_ struct{} `type:"structure"`
13269
13270	// The ARN of the gateway group.
13271	Arn *string `type:"string"`
13272
13273	// The description of the gateway group.
13274	Description *string `type:"string"`
13275
13276	// The name of the gateway group.
13277	Name *string `min:"1" type:"string"`
13278}
13279
13280// String returns the string representation
13281func (s GatewayGroup) String() string {
13282	return awsutil.Prettify(s)
13283}
13284
13285// GoString returns the string representation
13286func (s GatewayGroup) GoString() string {
13287	return s.String()
13288}
13289
13290// SetArn sets the Arn field's value.
13291func (s *GatewayGroup) SetArn(v string) *GatewayGroup {
13292	s.Arn = &v
13293	return s
13294}
13295
13296// SetDescription sets the Description field's value.
13297func (s *GatewayGroup) SetDescription(v string) *GatewayGroup {
13298	s.Description = &v
13299	return s
13300}
13301
13302// SetName sets the Name field's value.
13303func (s *GatewayGroup) SetName(v string) *GatewayGroup {
13304	s.Name = &v
13305	return s
13306}
13307
13308// The summary of a gateway group.
13309type GatewayGroupSummary struct {
13310	_ struct{} `type:"structure"`
13311
13312	// The ARN of the gateway group.
13313	Arn *string `type:"string"`
13314
13315	// The description of the gateway group.
13316	Description *string `type:"string"`
13317
13318	// The name of the gateway group.
13319	Name *string `min:"1" type:"string"`
13320}
13321
13322// String returns the string representation
13323func (s GatewayGroupSummary) String() string {
13324	return awsutil.Prettify(s)
13325}
13326
13327// GoString returns the string representation
13328func (s GatewayGroupSummary) GoString() string {
13329	return s.String()
13330}
13331
13332// SetArn sets the Arn field's value.
13333func (s *GatewayGroupSummary) SetArn(v string) *GatewayGroupSummary {
13334	s.Arn = &v
13335	return s
13336}
13337
13338// SetDescription sets the Description field's value.
13339func (s *GatewayGroupSummary) SetDescription(v string) *GatewayGroupSummary {
13340	s.Description = &v
13341	return s
13342}
13343
13344// SetName sets the Name field's value.
13345func (s *GatewayGroupSummary) SetName(v string) *GatewayGroupSummary {
13346	s.Name = &v
13347	return s
13348}
13349
13350// The summary of a gateway.
13351type GatewaySummary struct {
13352	_ struct{} `type:"structure"`
13353
13354	// The ARN of the gateway.
13355	Arn *string `type:"string"`
13356
13357	// The description of the gateway.
13358	Description *string `type:"string"`
13359
13360	// The ARN of the gateway group that the gateway is associated to.
13361	GatewayGroupArn *string `type:"string"`
13362
13363	// The name of the gateway.
13364	Name *string `min:"1" type:"string"`
13365
13366	// The software version of the gateway. The gateway automatically updates its
13367	// software version during normal operation.
13368	SoftwareVersion *string `min:"1" type:"string"`
13369}
13370
13371// String returns the string representation
13372func (s GatewaySummary) String() string {
13373	return awsutil.Prettify(s)
13374}
13375
13376// GoString returns the string representation
13377func (s GatewaySummary) GoString() string {
13378	return s.String()
13379}
13380
13381// SetArn sets the Arn field's value.
13382func (s *GatewaySummary) SetArn(v string) *GatewaySummary {
13383	s.Arn = &v
13384	return s
13385}
13386
13387// SetDescription sets the Description field's value.
13388func (s *GatewaySummary) SetDescription(v string) *GatewaySummary {
13389	s.Description = &v
13390	return s
13391}
13392
13393// SetGatewayGroupArn sets the GatewayGroupArn field's value.
13394func (s *GatewaySummary) SetGatewayGroupArn(v string) *GatewaySummary {
13395	s.GatewayGroupArn = &v
13396	return s
13397}
13398
13399// SetName sets the Name field's value.
13400func (s *GatewaySummary) SetName(v string) *GatewaySummary {
13401	s.Name = &v
13402	return s
13403}
13404
13405// SetSoftwareVersion sets the SoftwareVersion field's value.
13406func (s *GatewaySummary) SetSoftwareVersion(v string) *GatewaySummary {
13407	s.SoftwareVersion = &v
13408	return s
13409}
13410
13411type GetAddressBookInput struct {
13412	_ struct{} `type:"structure"`
13413
13414	// The ARN of the address book for which to request details.
13415	//
13416	// AddressBookArn is a required field
13417	AddressBookArn *string `type:"string" required:"true"`
13418}
13419
13420// String returns the string representation
13421func (s GetAddressBookInput) String() string {
13422	return awsutil.Prettify(s)
13423}
13424
13425// GoString returns the string representation
13426func (s GetAddressBookInput) GoString() string {
13427	return s.String()
13428}
13429
13430// Validate inspects the fields of the type to determine if they are valid.
13431func (s *GetAddressBookInput) Validate() error {
13432	invalidParams := request.ErrInvalidParams{Context: "GetAddressBookInput"}
13433	if s.AddressBookArn == nil {
13434		invalidParams.Add(request.NewErrParamRequired("AddressBookArn"))
13435	}
13436
13437	if invalidParams.Len() > 0 {
13438		return invalidParams
13439	}
13440	return nil
13441}
13442
13443// SetAddressBookArn sets the AddressBookArn field's value.
13444func (s *GetAddressBookInput) SetAddressBookArn(v string) *GetAddressBookInput {
13445	s.AddressBookArn = &v
13446	return s
13447}
13448
13449type GetAddressBookOutput struct {
13450	_ struct{} `type:"structure"`
13451
13452	// The details of the requested address book.
13453	AddressBook *AddressBook `type:"structure"`
13454}
13455
13456// String returns the string representation
13457func (s GetAddressBookOutput) String() string {
13458	return awsutil.Prettify(s)
13459}
13460
13461// GoString returns the string representation
13462func (s GetAddressBookOutput) GoString() string {
13463	return s.String()
13464}
13465
13466// SetAddressBook sets the AddressBook field's value.
13467func (s *GetAddressBookOutput) SetAddressBook(v *AddressBook) *GetAddressBookOutput {
13468	s.AddressBook = v
13469	return s
13470}
13471
13472type GetConferencePreferenceInput struct {
13473	_ struct{} `type:"structure"`
13474}
13475
13476// String returns the string representation
13477func (s GetConferencePreferenceInput) String() string {
13478	return awsutil.Prettify(s)
13479}
13480
13481// GoString returns the string representation
13482func (s GetConferencePreferenceInput) GoString() string {
13483	return s.String()
13484}
13485
13486type GetConferencePreferenceOutput struct {
13487	_ struct{} `type:"structure"`
13488
13489	// The conference preference.
13490	Preference *ConferencePreference `type:"structure"`
13491}
13492
13493// String returns the string representation
13494func (s GetConferencePreferenceOutput) String() string {
13495	return awsutil.Prettify(s)
13496}
13497
13498// GoString returns the string representation
13499func (s GetConferencePreferenceOutput) GoString() string {
13500	return s.String()
13501}
13502
13503// SetPreference sets the Preference field's value.
13504func (s *GetConferencePreferenceOutput) SetPreference(v *ConferencePreference) *GetConferencePreferenceOutput {
13505	s.Preference = v
13506	return s
13507}
13508
13509type GetConferenceProviderInput struct {
13510	_ struct{} `type:"structure"`
13511
13512	// The ARN of the newly created conference provider.
13513	//
13514	// ConferenceProviderArn is a required field
13515	ConferenceProviderArn *string `type:"string" required:"true"`
13516}
13517
13518// String returns the string representation
13519func (s GetConferenceProviderInput) String() string {
13520	return awsutil.Prettify(s)
13521}
13522
13523// GoString returns the string representation
13524func (s GetConferenceProviderInput) GoString() string {
13525	return s.String()
13526}
13527
13528// Validate inspects the fields of the type to determine if they are valid.
13529func (s *GetConferenceProviderInput) Validate() error {
13530	invalidParams := request.ErrInvalidParams{Context: "GetConferenceProviderInput"}
13531	if s.ConferenceProviderArn == nil {
13532		invalidParams.Add(request.NewErrParamRequired("ConferenceProviderArn"))
13533	}
13534
13535	if invalidParams.Len() > 0 {
13536		return invalidParams
13537	}
13538	return nil
13539}
13540
13541// SetConferenceProviderArn sets the ConferenceProviderArn field's value.
13542func (s *GetConferenceProviderInput) SetConferenceProviderArn(v string) *GetConferenceProviderInput {
13543	s.ConferenceProviderArn = &v
13544	return s
13545}
13546
13547type GetConferenceProviderOutput struct {
13548	_ struct{} `type:"structure"`
13549
13550	// The conference provider.
13551	ConferenceProvider *ConferenceProvider `type:"structure"`
13552}
13553
13554// String returns the string representation
13555func (s GetConferenceProviderOutput) String() string {
13556	return awsutil.Prettify(s)
13557}
13558
13559// GoString returns the string representation
13560func (s GetConferenceProviderOutput) GoString() string {
13561	return s.String()
13562}
13563
13564// SetConferenceProvider sets the ConferenceProvider field's value.
13565func (s *GetConferenceProviderOutput) SetConferenceProvider(v *ConferenceProvider) *GetConferenceProviderOutput {
13566	s.ConferenceProvider = v
13567	return s
13568}
13569
13570type GetContactInput struct {
13571	_ struct{} `type:"structure"`
13572
13573	// The ARN of the contact for which to request details.
13574	//
13575	// ContactArn is a required field
13576	ContactArn *string `type:"string" required:"true"`
13577}
13578
13579// String returns the string representation
13580func (s GetContactInput) String() string {
13581	return awsutil.Prettify(s)
13582}
13583
13584// GoString returns the string representation
13585func (s GetContactInput) GoString() string {
13586	return s.String()
13587}
13588
13589// Validate inspects the fields of the type to determine if they are valid.
13590func (s *GetContactInput) Validate() error {
13591	invalidParams := request.ErrInvalidParams{Context: "GetContactInput"}
13592	if s.ContactArn == nil {
13593		invalidParams.Add(request.NewErrParamRequired("ContactArn"))
13594	}
13595
13596	if invalidParams.Len() > 0 {
13597		return invalidParams
13598	}
13599	return nil
13600}
13601
13602// SetContactArn sets the ContactArn field's value.
13603func (s *GetContactInput) SetContactArn(v string) *GetContactInput {
13604	s.ContactArn = &v
13605	return s
13606}
13607
13608type GetContactOutput struct {
13609	_ struct{} `type:"structure"`
13610
13611	// The details of the requested contact.
13612	Contact *Contact `type:"structure"`
13613}
13614
13615// String returns the string representation
13616func (s GetContactOutput) String() string {
13617	return awsutil.Prettify(s)
13618}
13619
13620// GoString returns the string representation
13621func (s GetContactOutput) GoString() string {
13622	return s.String()
13623}
13624
13625// SetContact sets the Contact field's value.
13626func (s *GetContactOutput) SetContact(v *Contact) *GetContactOutput {
13627	s.Contact = v
13628	return s
13629}
13630
13631type GetDeviceInput struct {
13632	_ struct{} `type:"structure"`
13633
13634	// The ARN of the device for which to request details. Required.
13635	DeviceArn *string `type:"string"`
13636}
13637
13638// String returns the string representation
13639func (s GetDeviceInput) String() string {
13640	return awsutil.Prettify(s)
13641}
13642
13643// GoString returns the string representation
13644func (s GetDeviceInput) GoString() string {
13645	return s.String()
13646}
13647
13648// SetDeviceArn sets the DeviceArn field's value.
13649func (s *GetDeviceInput) SetDeviceArn(v string) *GetDeviceInput {
13650	s.DeviceArn = &v
13651	return s
13652}
13653
13654type GetDeviceOutput struct {
13655	_ struct{} `type:"structure"`
13656
13657	// The details of the device requested. Required.
13658	Device *Device `type:"structure"`
13659}
13660
13661// String returns the string representation
13662func (s GetDeviceOutput) String() string {
13663	return awsutil.Prettify(s)
13664}
13665
13666// GoString returns the string representation
13667func (s GetDeviceOutput) GoString() string {
13668	return s.String()
13669}
13670
13671// SetDevice sets the Device field's value.
13672func (s *GetDeviceOutput) SetDevice(v *Device) *GetDeviceOutput {
13673	s.Device = v
13674	return s
13675}
13676
13677type GetGatewayGroupInput struct {
13678	_ struct{} `type:"structure"`
13679
13680	// The ARN of the gateway group to get.
13681	//
13682	// GatewayGroupArn is a required field
13683	GatewayGroupArn *string `type:"string" required:"true"`
13684}
13685
13686// String returns the string representation
13687func (s GetGatewayGroupInput) String() string {
13688	return awsutil.Prettify(s)
13689}
13690
13691// GoString returns the string representation
13692func (s GetGatewayGroupInput) GoString() string {
13693	return s.String()
13694}
13695
13696// Validate inspects the fields of the type to determine if they are valid.
13697func (s *GetGatewayGroupInput) Validate() error {
13698	invalidParams := request.ErrInvalidParams{Context: "GetGatewayGroupInput"}
13699	if s.GatewayGroupArn == nil {
13700		invalidParams.Add(request.NewErrParamRequired("GatewayGroupArn"))
13701	}
13702
13703	if invalidParams.Len() > 0 {
13704		return invalidParams
13705	}
13706	return nil
13707}
13708
13709// SetGatewayGroupArn sets the GatewayGroupArn field's value.
13710func (s *GetGatewayGroupInput) SetGatewayGroupArn(v string) *GetGatewayGroupInput {
13711	s.GatewayGroupArn = &v
13712	return s
13713}
13714
13715type GetGatewayGroupOutput struct {
13716	_ struct{} `type:"structure"`
13717
13718	// The details of the gateway group.
13719	GatewayGroup *GatewayGroup `type:"structure"`
13720}
13721
13722// String returns the string representation
13723func (s GetGatewayGroupOutput) String() string {
13724	return awsutil.Prettify(s)
13725}
13726
13727// GoString returns the string representation
13728func (s GetGatewayGroupOutput) GoString() string {
13729	return s.String()
13730}
13731
13732// SetGatewayGroup sets the GatewayGroup field's value.
13733func (s *GetGatewayGroupOutput) SetGatewayGroup(v *GatewayGroup) *GetGatewayGroupOutput {
13734	s.GatewayGroup = v
13735	return s
13736}
13737
13738type GetGatewayInput struct {
13739	_ struct{} `type:"structure"`
13740
13741	// The ARN of the gateway to get.
13742	//
13743	// GatewayArn is a required field
13744	GatewayArn *string `type:"string" required:"true"`
13745}
13746
13747// String returns the string representation
13748func (s GetGatewayInput) String() string {
13749	return awsutil.Prettify(s)
13750}
13751
13752// GoString returns the string representation
13753func (s GetGatewayInput) GoString() string {
13754	return s.String()
13755}
13756
13757// Validate inspects the fields of the type to determine if they are valid.
13758func (s *GetGatewayInput) Validate() error {
13759	invalidParams := request.ErrInvalidParams{Context: "GetGatewayInput"}
13760	if s.GatewayArn == nil {
13761		invalidParams.Add(request.NewErrParamRequired("GatewayArn"))
13762	}
13763
13764	if invalidParams.Len() > 0 {
13765		return invalidParams
13766	}
13767	return nil
13768}
13769
13770// SetGatewayArn sets the GatewayArn field's value.
13771func (s *GetGatewayInput) SetGatewayArn(v string) *GetGatewayInput {
13772	s.GatewayArn = &v
13773	return s
13774}
13775
13776type GetGatewayOutput struct {
13777	_ struct{} `type:"structure"`
13778
13779	// The details of the gateway.
13780	Gateway *Gateway `type:"structure"`
13781}
13782
13783// String returns the string representation
13784func (s GetGatewayOutput) String() string {
13785	return awsutil.Prettify(s)
13786}
13787
13788// GoString returns the string representation
13789func (s GetGatewayOutput) GoString() string {
13790	return s.String()
13791}
13792
13793// SetGateway sets the Gateway field's value.
13794func (s *GetGatewayOutput) SetGateway(v *Gateway) *GetGatewayOutput {
13795	s.Gateway = v
13796	return s
13797}
13798
13799type GetInvitationConfigurationInput struct {
13800	_ struct{} `type:"structure"`
13801}
13802
13803// String returns the string representation
13804func (s GetInvitationConfigurationInput) String() string {
13805	return awsutil.Prettify(s)
13806}
13807
13808// GoString returns the string representation
13809func (s GetInvitationConfigurationInput) GoString() string {
13810	return s.String()
13811}
13812
13813type GetInvitationConfigurationOutput struct {
13814	_ struct{} `type:"structure"`
13815
13816	// The email ID of the organization or individual contact that the enrolled
13817	// user can use.
13818	ContactEmail *string `min:"1" type:"string"`
13819
13820	// The name of the organization sending the enrollment invite to a user.
13821	OrganizationName *string `min:"1" type:"string"`
13822
13823	// The list of private skill IDs that you want to recommend to the user to enable
13824	// in the invitation.
13825	PrivateSkillIds []*string `type:"list"`
13826}
13827
13828// String returns the string representation
13829func (s GetInvitationConfigurationOutput) String() string {
13830	return awsutil.Prettify(s)
13831}
13832
13833// GoString returns the string representation
13834func (s GetInvitationConfigurationOutput) GoString() string {
13835	return s.String()
13836}
13837
13838// SetContactEmail sets the ContactEmail field's value.
13839func (s *GetInvitationConfigurationOutput) SetContactEmail(v string) *GetInvitationConfigurationOutput {
13840	s.ContactEmail = &v
13841	return s
13842}
13843
13844// SetOrganizationName sets the OrganizationName field's value.
13845func (s *GetInvitationConfigurationOutput) SetOrganizationName(v string) *GetInvitationConfigurationOutput {
13846	s.OrganizationName = &v
13847	return s
13848}
13849
13850// SetPrivateSkillIds sets the PrivateSkillIds field's value.
13851func (s *GetInvitationConfigurationOutput) SetPrivateSkillIds(v []*string) *GetInvitationConfigurationOutput {
13852	s.PrivateSkillIds = v
13853	return s
13854}
13855
13856type GetNetworkProfileInput struct {
13857	_ struct{} `type:"structure"`
13858
13859	// The ARN of the network profile associated with a device.
13860	//
13861	// NetworkProfileArn is a required field
13862	NetworkProfileArn *string `type:"string" required:"true"`
13863}
13864
13865// String returns the string representation
13866func (s GetNetworkProfileInput) String() string {
13867	return awsutil.Prettify(s)
13868}
13869
13870// GoString returns the string representation
13871func (s GetNetworkProfileInput) GoString() string {
13872	return s.String()
13873}
13874
13875// Validate inspects the fields of the type to determine if they are valid.
13876func (s *GetNetworkProfileInput) Validate() error {
13877	invalidParams := request.ErrInvalidParams{Context: "GetNetworkProfileInput"}
13878	if s.NetworkProfileArn == nil {
13879		invalidParams.Add(request.NewErrParamRequired("NetworkProfileArn"))
13880	}
13881
13882	if invalidParams.Len() > 0 {
13883		return invalidParams
13884	}
13885	return nil
13886}
13887
13888// SetNetworkProfileArn sets the NetworkProfileArn field's value.
13889func (s *GetNetworkProfileInput) SetNetworkProfileArn(v string) *GetNetworkProfileInput {
13890	s.NetworkProfileArn = &v
13891	return s
13892}
13893
13894type GetNetworkProfileOutput struct {
13895	_ struct{} `type:"structure"`
13896
13897	// The network profile associated with a device.
13898	NetworkProfile *NetworkProfile `type:"structure"`
13899}
13900
13901// String returns the string representation
13902func (s GetNetworkProfileOutput) String() string {
13903	return awsutil.Prettify(s)
13904}
13905
13906// GoString returns the string representation
13907func (s GetNetworkProfileOutput) GoString() string {
13908	return s.String()
13909}
13910
13911// SetNetworkProfile sets the NetworkProfile field's value.
13912func (s *GetNetworkProfileOutput) SetNetworkProfile(v *NetworkProfile) *GetNetworkProfileOutput {
13913	s.NetworkProfile = v
13914	return s
13915}
13916
13917type GetProfileInput struct {
13918	_ struct{} `type:"structure"`
13919
13920	// The ARN of the room profile for which to request details. Required.
13921	ProfileArn *string `type:"string"`
13922}
13923
13924// String returns the string representation
13925func (s GetProfileInput) String() string {
13926	return awsutil.Prettify(s)
13927}
13928
13929// GoString returns the string representation
13930func (s GetProfileInput) GoString() string {
13931	return s.String()
13932}
13933
13934// SetProfileArn sets the ProfileArn field's value.
13935func (s *GetProfileInput) SetProfileArn(v string) *GetProfileInput {
13936	s.ProfileArn = &v
13937	return s
13938}
13939
13940type GetProfileOutput struct {
13941	_ struct{} `type:"structure"`
13942
13943	// The details of the room profile requested. Required.
13944	Profile *Profile `type:"structure"`
13945}
13946
13947// String returns the string representation
13948func (s GetProfileOutput) String() string {
13949	return awsutil.Prettify(s)
13950}
13951
13952// GoString returns the string representation
13953func (s GetProfileOutput) GoString() string {
13954	return s.String()
13955}
13956
13957// SetProfile sets the Profile field's value.
13958func (s *GetProfileOutput) SetProfile(v *Profile) *GetProfileOutput {
13959	s.Profile = v
13960	return s
13961}
13962
13963type GetRoomInput struct {
13964	_ struct{} `type:"structure"`
13965
13966	// The ARN of the room for which to request details. Required.
13967	RoomArn *string `type:"string"`
13968}
13969
13970// String returns the string representation
13971func (s GetRoomInput) String() string {
13972	return awsutil.Prettify(s)
13973}
13974
13975// GoString returns the string representation
13976func (s GetRoomInput) GoString() string {
13977	return s.String()
13978}
13979
13980// SetRoomArn sets the RoomArn field's value.
13981func (s *GetRoomInput) SetRoomArn(v string) *GetRoomInput {
13982	s.RoomArn = &v
13983	return s
13984}
13985
13986type GetRoomOutput struct {
13987	_ struct{} `type:"structure"`
13988
13989	// The details of the room requested.
13990	Room *Room `type:"structure"`
13991}
13992
13993// String returns the string representation
13994func (s GetRoomOutput) String() string {
13995	return awsutil.Prettify(s)
13996}
13997
13998// GoString returns the string representation
13999func (s GetRoomOutput) GoString() string {
14000	return s.String()
14001}
14002
14003// SetRoom sets the Room field's value.
14004func (s *GetRoomOutput) SetRoom(v *Room) *GetRoomOutput {
14005	s.Room = v
14006	return s
14007}
14008
14009type GetRoomSkillParameterInput struct {
14010	_ struct{} `type:"structure"`
14011
14012	// The room skill parameter key for which to get details. Required.
14013	//
14014	// ParameterKey is a required field
14015	ParameterKey *string `min:"1" type:"string" required:"true"`
14016
14017	// The ARN of the room from which to get the room skill parameter details.
14018	RoomArn *string `type:"string"`
14019
14020	// The ARN of the skill from which to get the room skill parameter details.
14021	// Required.
14022	//
14023	// SkillId is a required field
14024	SkillId *string `type:"string" required:"true"`
14025}
14026
14027// String returns the string representation
14028func (s GetRoomSkillParameterInput) String() string {
14029	return awsutil.Prettify(s)
14030}
14031
14032// GoString returns the string representation
14033func (s GetRoomSkillParameterInput) GoString() string {
14034	return s.String()
14035}
14036
14037// Validate inspects the fields of the type to determine if they are valid.
14038func (s *GetRoomSkillParameterInput) Validate() error {
14039	invalidParams := request.ErrInvalidParams{Context: "GetRoomSkillParameterInput"}
14040	if s.ParameterKey == nil {
14041		invalidParams.Add(request.NewErrParamRequired("ParameterKey"))
14042	}
14043	if s.ParameterKey != nil && len(*s.ParameterKey) < 1 {
14044		invalidParams.Add(request.NewErrParamMinLen("ParameterKey", 1))
14045	}
14046	if s.SkillId == nil {
14047		invalidParams.Add(request.NewErrParamRequired("SkillId"))
14048	}
14049
14050	if invalidParams.Len() > 0 {
14051		return invalidParams
14052	}
14053	return nil
14054}
14055
14056// SetParameterKey sets the ParameterKey field's value.
14057func (s *GetRoomSkillParameterInput) SetParameterKey(v string) *GetRoomSkillParameterInput {
14058	s.ParameterKey = &v
14059	return s
14060}
14061
14062// SetRoomArn sets the RoomArn field's value.
14063func (s *GetRoomSkillParameterInput) SetRoomArn(v string) *GetRoomSkillParameterInput {
14064	s.RoomArn = &v
14065	return s
14066}
14067
14068// SetSkillId sets the SkillId field's value.
14069func (s *GetRoomSkillParameterInput) SetSkillId(v string) *GetRoomSkillParameterInput {
14070	s.SkillId = &v
14071	return s
14072}
14073
14074type GetRoomSkillParameterOutput struct {
14075	_ struct{} `type:"structure"`
14076
14077	// The details of the room skill parameter requested. Required.
14078	RoomSkillParameter *RoomSkillParameter `type:"structure"`
14079}
14080
14081// String returns the string representation
14082func (s GetRoomSkillParameterOutput) String() string {
14083	return awsutil.Prettify(s)
14084}
14085
14086// GoString returns the string representation
14087func (s GetRoomSkillParameterOutput) GoString() string {
14088	return s.String()
14089}
14090
14091// SetRoomSkillParameter sets the RoomSkillParameter field's value.
14092func (s *GetRoomSkillParameterOutput) SetRoomSkillParameter(v *RoomSkillParameter) *GetRoomSkillParameterOutput {
14093	s.RoomSkillParameter = v
14094	return s
14095}
14096
14097type GetSkillGroupInput struct {
14098	_ struct{} `type:"structure"`
14099
14100	// The ARN of the skill group for which to get details. Required.
14101	SkillGroupArn *string `type:"string"`
14102}
14103
14104// String returns the string representation
14105func (s GetSkillGroupInput) String() string {
14106	return awsutil.Prettify(s)
14107}
14108
14109// GoString returns the string representation
14110func (s GetSkillGroupInput) GoString() string {
14111	return s.String()
14112}
14113
14114// SetSkillGroupArn sets the SkillGroupArn field's value.
14115func (s *GetSkillGroupInput) SetSkillGroupArn(v string) *GetSkillGroupInput {
14116	s.SkillGroupArn = &v
14117	return s
14118}
14119
14120type GetSkillGroupOutput struct {
14121	_ struct{} `type:"structure"`
14122
14123	// The details of the skill group requested. Required.
14124	SkillGroup *SkillGroup `type:"structure"`
14125}
14126
14127// String returns the string representation
14128func (s GetSkillGroupOutput) String() string {
14129	return awsutil.Prettify(s)
14130}
14131
14132// GoString returns the string representation
14133func (s GetSkillGroupOutput) GoString() string {
14134	return s.String()
14135}
14136
14137// SetSkillGroup sets the SkillGroup field's value.
14138func (s *GetSkillGroupOutput) SetSkillGroup(v *SkillGroup) *GetSkillGroupOutput {
14139	s.SkillGroup = v
14140	return s
14141}
14142
14143// The IP endpoint and protocol for calling.
14144type IPDialIn struct {
14145	_ struct{} `type:"structure"`
14146
14147	// The protocol, including SIP, SIPS, and H323.
14148	//
14149	// CommsProtocol is a required field
14150	CommsProtocol *string `type:"string" required:"true" enum:"CommsProtocol"`
14151
14152	// The IP address.
14153	//
14154	// Endpoint is a required field
14155	Endpoint *string `min:"1" type:"string" required:"true"`
14156}
14157
14158// String returns the string representation
14159func (s IPDialIn) String() string {
14160	return awsutil.Prettify(s)
14161}
14162
14163// GoString returns the string representation
14164func (s IPDialIn) GoString() string {
14165	return s.String()
14166}
14167
14168// Validate inspects the fields of the type to determine if they are valid.
14169func (s *IPDialIn) Validate() error {
14170	invalidParams := request.ErrInvalidParams{Context: "IPDialIn"}
14171	if s.CommsProtocol == nil {
14172		invalidParams.Add(request.NewErrParamRequired("CommsProtocol"))
14173	}
14174	if s.Endpoint == nil {
14175		invalidParams.Add(request.NewErrParamRequired("Endpoint"))
14176	}
14177	if s.Endpoint != nil && len(*s.Endpoint) < 1 {
14178		invalidParams.Add(request.NewErrParamMinLen("Endpoint", 1))
14179	}
14180
14181	if invalidParams.Len() > 0 {
14182		return invalidParams
14183	}
14184	return nil
14185}
14186
14187// SetCommsProtocol sets the CommsProtocol field's value.
14188func (s *IPDialIn) SetCommsProtocol(v string) *IPDialIn {
14189	s.CommsProtocol = &v
14190	return s
14191}
14192
14193// SetEndpoint sets the Endpoint field's value.
14194func (s *IPDialIn) SetEndpoint(v string) *IPDialIn {
14195	s.Endpoint = &v
14196	return s
14197}
14198
14199// Settings for the instant booking feature that are applied to a room profile.
14200// When users start their meeting with Alexa, Alexa automatically books the
14201// room for the configured duration if the room is available.
14202type InstantBooking struct {
14203	_ struct{} `type:"structure"`
14204
14205	// Duration between 15 and 240 minutes at increments of 15 that determines how
14206	// long to book an available room when a meeting is started with Alexa.
14207	DurationInMinutes *int64 `type:"integer"`
14208
14209	// Whether instant booking is enabled or not.
14210	Enabled *bool `type:"boolean"`
14211}
14212
14213// String returns the string representation
14214func (s InstantBooking) String() string {
14215	return awsutil.Prettify(s)
14216}
14217
14218// GoString returns the string representation
14219func (s InstantBooking) GoString() string {
14220	return s.String()
14221}
14222
14223// SetDurationInMinutes sets the DurationInMinutes field's value.
14224func (s *InstantBooking) SetDurationInMinutes(v int64) *InstantBooking {
14225	s.DurationInMinutes = &v
14226	return s
14227}
14228
14229// SetEnabled sets the Enabled field's value.
14230func (s *InstantBooking) SetEnabled(v bool) *InstantBooking {
14231	s.Enabled = &v
14232	return s
14233}
14234
14235// The Certificate Authority can't issue or revoke a certificate.
14236type InvalidCertificateAuthorityException struct {
14237	_            struct{}                  `type:"structure"`
14238	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14239
14240	Message_ *string `locationName:"Message" type:"string"`
14241}
14242
14243// String returns the string representation
14244func (s InvalidCertificateAuthorityException) String() string {
14245	return awsutil.Prettify(s)
14246}
14247
14248// GoString returns the string representation
14249func (s InvalidCertificateAuthorityException) GoString() string {
14250	return s.String()
14251}
14252
14253func newErrorInvalidCertificateAuthorityException(v protocol.ResponseMetadata) error {
14254	return &InvalidCertificateAuthorityException{
14255		RespMetadata: v,
14256	}
14257}
14258
14259// Code returns the exception type name.
14260func (s *InvalidCertificateAuthorityException) Code() string {
14261	return "InvalidCertificateAuthorityException"
14262}
14263
14264// Message returns the exception's message.
14265func (s *InvalidCertificateAuthorityException) Message() string {
14266	if s.Message_ != nil {
14267		return *s.Message_
14268	}
14269	return ""
14270}
14271
14272// OrigErr always returns nil, satisfies awserr.Error interface.
14273func (s *InvalidCertificateAuthorityException) OrigErr() error {
14274	return nil
14275}
14276
14277func (s *InvalidCertificateAuthorityException) Error() string {
14278	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14279}
14280
14281// Status code returns the HTTP status code for the request's response error.
14282func (s *InvalidCertificateAuthorityException) StatusCode() int {
14283	return s.RespMetadata.StatusCode
14284}
14285
14286// RequestID returns the service's response RequestID for request.
14287func (s *InvalidCertificateAuthorityException) RequestID() string {
14288	return s.RespMetadata.RequestID
14289}
14290
14291// The device is in an invalid state.
14292type InvalidDeviceException struct {
14293	_            struct{}                  `type:"structure"`
14294	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14295
14296	Message_ *string `locationName:"Message" type:"string"`
14297}
14298
14299// String returns the string representation
14300func (s InvalidDeviceException) String() string {
14301	return awsutil.Prettify(s)
14302}
14303
14304// GoString returns the string representation
14305func (s InvalidDeviceException) GoString() string {
14306	return s.String()
14307}
14308
14309func newErrorInvalidDeviceException(v protocol.ResponseMetadata) error {
14310	return &InvalidDeviceException{
14311		RespMetadata: v,
14312	}
14313}
14314
14315// Code returns the exception type name.
14316func (s *InvalidDeviceException) Code() string {
14317	return "InvalidDeviceException"
14318}
14319
14320// Message returns the exception's message.
14321func (s *InvalidDeviceException) Message() string {
14322	if s.Message_ != nil {
14323		return *s.Message_
14324	}
14325	return ""
14326}
14327
14328// OrigErr always returns nil, satisfies awserr.Error interface.
14329func (s *InvalidDeviceException) OrigErr() error {
14330	return nil
14331}
14332
14333func (s *InvalidDeviceException) Error() string {
14334	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14335}
14336
14337// Status code returns the HTTP status code for the request's response error.
14338func (s *InvalidDeviceException) StatusCode() int {
14339	return s.RespMetadata.StatusCode
14340}
14341
14342// RequestID returns the service's response RequestID for request.
14343func (s *InvalidDeviceException) RequestID() string {
14344	return s.RespMetadata.RequestID
14345}
14346
14347// A password in SecretsManager is in an invalid state.
14348type InvalidSecretsManagerResourceException struct {
14349	_            struct{}                  `type:"structure"`
14350	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14351
14352	Message_ *string `locationName:"Message" type:"string"`
14353}
14354
14355// String returns the string representation
14356func (s InvalidSecretsManagerResourceException) String() string {
14357	return awsutil.Prettify(s)
14358}
14359
14360// GoString returns the string representation
14361func (s InvalidSecretsManagerResourceException) GoString() string {
14362	return s.String()
14363}
14364
14365func newErrorInvalidSecretsManagerResourceException(v protocol.ResponseMetadata) error {
14366	return &InvalidSecretsManagerResourceException{
14367		RespMetadata: v,
14368	}
14369}
14370
14371// Code returns the exception type name.
14372func (s *InvalidSecretsManagerResourceException) Code() string {
14373	return "InvalidSecretsManagerResourceException"
14374}
14375
14376// Message returns the exception's message.
14377func (s *InvalidSecretsManagerResourceException) Message() string {
14378	if s.Message_ != nil {
14379		return *s.Message_
14380	}
14381	return ""
14382}
14383
14384// OrigErr always returns nil, satisfies awserr.Error interface.
14385func (s *InvalidSecretsManagerResourceException) OrigErr() error {
14386	return nil
14387}
14388
14389func (s *InvalidSecretsManagerResourceException) Error() string {
14390	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14391}
14392
14393// Status code returns the HTTP status code for the request's response error.
14394func (s *InvalidSecretsManagerResourceException) StatusCode() int {
14395	return s.RespMetadata.StatusCode
14396}
14397
14398// RequestID returns the service's response RequestID for request.
14399func (s *InvalidSecretsManagerResourceException) RequestID() string {
14400	return s.RespMetadata.RequestID
14401}
14402
14403// The service linked role is locked for deletion.
14404type InvalidServiceLinkedRoleStateException struct {
14405	_            struct{}                  `type:"structure"`
14406	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14407
14408	Message_ *string `locationName:"Message" type:"string"`
14409}
14410
14411// String returns the string representation
14412func (s InvalidServiceLinkedRoleStateException) String() string {
14413	return awsutil.Prettify(s)
14414}
14415
14416// GoString returns the string representation
14417func (s InvalidServiceLinkedRoleStateException) GoString() string {
14418	return s.String()
14419}
14420
14421func newErrorInvalidServiceLinkedRoleStateException(v protocol.ResponseMetadata) error {
14422	return &InvalidServiceLinkedRoleStateException{
14423		RespMetadata: v,
14424	}
14425}
14426
14427// Code returns the exception type name.
14428func (s *InvalidServiceLinkedRoleStateException) Code() string {
14429	return "InvalidServiceLinkedRoleStateException"
14430}
14431
14432// Message returns the exception's message.
14433func (s *InvalidServiceLinkedRoleStateException) Message() string {
14434	if s.Message_ != nil {
14435		return *s.Message_
14436	}
14437	return ""
14438}
14439
14440// OrigErr always returns nil, satisfies awserr.Error interface.
14441func (s *InvalidServiceLinkedRoleStateException) OrigErr() error {
14442	return nil
14443}
14444
14445func (s *InvalidServiceLinkedRoleStateException) Error() string {
14446	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14447}
14448
14449// Status code returns the HTTP status code for the request's response error.
14450func (s *InvalidServiceLinkedRoleStateException) StatusCode() int {
14451	return s.RespMetadata.StatusCode
14452}
14453
14454// RequestID returns the service's response RequestID for request.
14455func (s *InvalidServiceLinkedRoleStateException) RequestID() string {
14456	return s.RespMetadata.RequestID
14457}
14458
14459// The attempt to update a user is invalid due to the user's current status.
14460type InvalidUserStatusException struct {
14461	_            struct{}                  `type:"structure"`
14462	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14463
14464	Message_ *string `locationName:"Message" type:"string"`
14465}
14466
14467// String returns the string representation
14468func (s InvalidUserStatusException) String() string {
14469	return awsutil.Prettify(s)
14470}
14471
14472// GoString returns the string representation
14473func (s InvalidUserStatusException) GoString() string {
14474	return s.String()
14475}
14476
14477func newErrorInvalidUserStatusException(v protocol.ResponseMetadata) error {
14478	return &InvalidUserStatusException{
14479		RespMetadata: v,
14480	}
14481}
14482
14483// Code returns the exception type name.
14484func (s *InvalidUserStatusException) Code() string {
14485	return "InvalidUserStatusException"
14486}
14487
14488// Message returns the exception's message.
14489func (s *InvalidUserStatusException) Message() string {
14490	if s.Message_ != nil {
14491		return *s.Message_
14492	}
14493	return ""
14494}
14495
14496// OrigErr always returns nil, satisfies awserr.Error interface.
14497func (s *InvalidUserStatusException) OrigErr() error {
14498	return nil
14499}
14500
14501func (s *InvalidUserStatusException) Error() string {
14502	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14503}
14504
14505// Status code returns the HTTP status code for the request's response error.
14506func (s *InvalidUserStatusException) StatusCode() int {
14507	return s.RespMetadata.StatusCode
14508}
14509
14510// RequestID returns the service's response RequestID for request.
14511func (s *InvalidUserStatusException) RequestID() string {
14512	return s.RespMetadata.RequestID
14513}
14514
14515// You are performing an action that would put you beyond your account's limits.
14516type LimitExceededException struct {
14517	_            struct{}                  `type:"structure"`
14518	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14519
14520	Message_ *string `locationName:"Message" type:"string"`
14521}
14522
14523// String returns the string representation
14524func (s LimitExceededException) String() string {
14525	return awsutil.Prettify(s)
14526}
14527
14528// GoString returns the string representation
14529func (s LimitExceededException) GoString() string {
14530	return s.String()
14531}
14532
14533func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
14534	return &LimitExceededException{
14535		RespMetadata: v,
14536	}
14537}
14538
14539// Code returns the exception type name.
14540func (s *LimitExceededException) Code() string {
14541	return "LimitExceededException"
14542}
14543
14544// Message returns the exception's message.
14545func (s *LimitExceededException) Message() string {
14546	if s.Message_ != nil {
14547		return *s.Message_
14548	}
14549	return ""
14550}
14551
14552// OrigErr always returns nil, satisfies awserr.Error interface.
14553func (s *LimitExceededException) OrigErr() error {
14554	return nil
14555}
14556
14557func (s *LimitExceededException) Error() string {
14558	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14559}
14560
14561// Status code returns the HTTP status code for the request's response error.
14562func (s *LimitExceededException) StatusCode() int {
14563	return s.RespMetadata.StatusCode
14564}
14565
14566// RequestID returns the service's response RequestID for request.
14567func (s *LimitExceededException) RequestID() string {
14568	return s.RespMetadata.RequestID
14569}
14570
14571type ListBusinessReportSchedulesInput struct {
14572	_ struct{} `type:"structure"`
14573
14574	// The maximum number of schedules listed in the call.
14575	MaxResults *int64 `min:"1" type:"integer"`
14576
14577	// The token used to list the remaining schedules from the previous API call.
14578	NextToken *string `min:"1" type:"string"`
14579}
14580
14581// String returns the string representation
14582func (s ListBusinessReportSchedulesInput) String() string {
14583	return awsutil.Prettify(s)
14584}
14585
14586// GoString returns the string representation
14587func (s ListBusinessReportSchedulesInput) GoString() string {
14588	return s.String()
14589}
14590
14591// Validate inspects the fields of the type to determine if they are valid.
14592func (s *ListBusinessReportSchedulesInput) Validate() error {
14593	invalidParams := request.ErrInvalidParams{Context: "ListBusinessReportSchedulesInput"}
14594	if s.MaxResults != nil && *s.MaxResults < 1 {
14595		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14596	}
14597	if s.NextToken != nil && len(*s.NextToken) < 1 {
14598		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14599	}
14600
14601	if invalidParams.Len() > 0 {
14602		return invalidParams
14603	}
14604	return nil
14605}
14606
14607// SetMaxResults sets the MaxResults field's value.
14608func (s *ListBusinessReportSchedulesInput) SetMaxResults(v int64) *ListBusinessReportSchedulesInput {
14609	s.MaxResults = &v
14610	return s
14611}
14612
14613// SetNextToken sets the NextToken field's value.
14614func (s *ListBusinessReportSchedulesInput) SetNextToken(v string) *ListBusinessReportSchedulesInput {
14615	s.NextToken = &v
14616	return s
14617}
14618
14619type ListBusinessReportSchedulesOutput struct {
14620	_ struct{} `type:"structure"`
14621
14622	// The schedule of the reports.
14623	BusinessReportSchedules []*BusinessReportSchedule `type:"list"`
14624
14625	// The token used to list the remaining schedules from the previous API call.
14626	NextToken *string `min:"1" type:"string"`
14627}
14628
14629// String returns the string representation
14630func (s ListBusinessReportSchedulesOutput) String() string {
14631	return awsutil.Prettify(s)
14632}
14633
14634// GoString returns the string representation
14635func (s ListBusinessReportSchedulesOutput) GoString() string {
14636	return s.String()
14637}
14638
14639// SetBusinessReportSchedules sets the BusinessReportSchedules field's value.
14640func (s *ListBusinessReportSchedulesOutput) SetBusinessReportSchedules(v []*BusinessReportSchedule) *ListBusinessReportSchedulesOutput {
14641	s.BusinessReportSchedules = v
14642	return s
14643}
14644
14645// SetNextToken sets the NextToken field's value.
14646func (s *ListBusinessReportSchedulesOutput) SetNextToken(v string) *ListBusinessReportSchedulesOutput {
14647	s.NextToken = &v
14648	return s
14649}
14650
14651type ListConferenceProvidersInput struct {
14652	_ struct{} `type:"structure"`
14653
14654	// The maximum number of conference providers to be returned, per paginated
14655	// calls.
14656	MaxResults *int64 `min:"1" type:"integer"`
14657
14658	// The tokens used for pagination.
14659	NextToken *string `min:"1" type:"string"`
14660}
14661
14662// String returns the string representation
14663func (s ListConferenceProvidersInput) String() string {
14664	return awsutil.Prettify(s)
14665}
14666
14667// GoString returns the string representation
14668func (s ListConferenceProvidersInput) GoString() string {
14669	return s.String()
14670}
14671
14672// Validate inspects the fields of the type to determine if they are valid.
14673func (s *ListConferenceProvidersInput) Validate() error {
14674	invalidParams := request.ErrInvalidParams{Context: "ListConferenceProvidersInput"}
14675	if s.MaxResults != nil && *s.MaxResults < 1 {
14676		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14677	}
14678	if s.NextToken != nil && len(*s.NextToken) < 1 {
14679		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14680	}
14681
14682	if invalidParams.Len() > 0 {
14683		return invalidParams
14684	}
14685	return nil
14686}
14687
14688// SetMaxResults sets the MaxResults field's value.
14689func (s *ListConferenceProvidersInput) SetMaxResults(v int64) *ListConferenceProvidersInput {
14690	s.MaxResults = &v
14691	return s
14692}
14693
14694// SetNextToken sets the NextToken field's value.
14695func (s *ListConferenceProvidersInput) SetNextToken(v string) *ListConferenceProvidersInput {
14696	s.NextToken = &v
14697	return s
14698}
14699
14700type ListConferenceProvidersOutput struct {
14701	_ struct{} `type:"structure"`
14702
14703	// The conference providers.
14704	ConferenceProviders []*ConferenceProvider `type:"list"`
14705
14706	// The tokens used for pagination.
14707	NextToken *string `min:"1" type:"string"`
14708}
14709
14710// String returns the string representation
14711func (s ListConferenceProvidersOutput) String() string {
14712	return awsutil.Prettify(s)
14713}
14714
14715// GoString returns the string representation
14716func (s ListConferenceProvidersOutput) GoString() string {
14717	return s.String()
14718}
14719
14720// SetConferenceProviders sets the ConferenceProviders field's value.
14721func (s *ListConferenceProvidersOutput) SetConferenceProviders(v []*ConferenceProvider) *ListConferenceProvidersOutput {
14722	s.ConferenceProviders = v
14723	return s
14724}
14725
14726// SetNextToken sets the NextToken field's value.
14727func (s *ListConferenceProvidersOutput) SetNextToken(v string) *ListConferenceProvidersOutput {
14728	s.NextToken = &v
14729	return s
14730}
14731
14732type ListDeviceEventsInput struct {
14733	_ struct{} `type:"structure"`
14734
14735	// The ARN of a device.
14736	//
14737	// DeviceArn is a required field
14738	DeviceArn *string `type:"string" required:"true"`
14739
14740	// The event type to filter device events. If EventType isn't specified, this
14741	// returns a list of all device events in reverse chronological order. If EventType
14742	// is specified, this returns a list of device events for that EventType in
14743	// reverse chronological order.
14744	EventType *string `type:"string" enum:"DeviceEventType"`
14745
14746	// The maximum number of results to include in the response. The default value
14747	// is 50. If more results exist than the specified MaxResults value, a token
14748	// is included in the response so that the remaining results can be retrieved.
14749	MaxResults *int64 `min:"1" type:"integer"`
14750
14751	// An optional token returned from a prior request. Use this token for pagination
14752	// of results from this action. If this parameter is specified, the response
14753	// only includes results beyond the token, up to the value specified by MaxResults.
14754	// When the end of results is reached, the response has a value of null.
14755	NextToken *string `min:"1" type:"string"`
14756}
14757
14758// String returns the string representation
14759func (s ListDeviceEventsInput) String() string {
14760	return awsutil.Prettify(s)
14761}
14762
14763// GoString returns the string representation
14764func (s ListDeviceEventsInput) GoString() string {
14765	return s.String()
14766}
14767
14768// Validate inspects the fields of the type to determine if they are valid.
14769func (s *ListDeviceEventsInput) Validate() error {
14770	invalidParams := request.ErrInvalidParams{Context: "ListDeviceEventsInput"}
14771	if s.DeviceArn == nil {
14772		invalidParams.Add(request.NewErrParamRequired("DeviceArn"))
14773	}
14774	if s.MaxResults != nil && *s.MaxResults < 1 {
14775		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14776	}
14777	if s.NextToken != nil && len(*s.NextToken) < 1 {
14778		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14779	}
14780
14781	if invalidParams.Len() > 0 {
14782		return invalidParams
14783	}
14784	return nil
14785}
14786
14787// SetDeviceArn sets the DeviceArn field's value.
14788func (s *ListDeviceEventsInput) SetDeviceArn(v string) *ListDeviceEventsInput {
14789	s.DeviceArn = &v
14790	return s
14791}
14792
14793// SetEventType sets the EventType field's value.
14794func (s *ListDeviceEventsInput) SetEventType(v string) *ListDeviceEventsInput {
14795	s.EventType = &v
14796	return s
14797}
14798
14799// SetMaxResults sets the MaxResults field's value.
14800func (s *ListDeviceEventsInput) SetMaxResults(v int64) *ListDeviceEventsInput {
14801	s.MaxResults = &v
14802	return s
14803}
14804
14805// SetNextToken sets the NextToken field's value.
14806func (s *ListDeviceEventsInput) SetNextToken(v string) *ListDeviceEventsInput {
14807	s.NextToken = &v
14808	return s
14809}
14810
14811type ListDeviceEventsOutput struct {
14812	_ struct{} `type:"structure"`
14813
14814	// The device events requested for the device ARN.
14815	DeviceEvents []*DeviceEvent `type:"list"`
14816
14817	// The token returned to indicate that there is more data available.
14818	NextToken *string `min:"1" type:"string"`
14819}
14820
14821// String returns the string representation
14822func (s ListDeviceEventsOutput) String() string {
14823	return awsutil.Prettify(s)
14824}
14825
14826// GoString returns the string representation
14827func (s ListDeviceEventsOutput) GoString() string {
14828	return s.String()
14829}
14830
14831// SetDeviceEvents sets the DeviceEvents field's value.
14832func (s *ListDeviceEventsOutput) SetDeviceEvents(v []*DeviceEvent) *ListDeviceEventsOutput {
14833	s.DeviceEvents = v
14834	return s
14835}
14836
14837// SetNextToken sets the NextToken field's value.
14838func (s *ListDeviceEventsOutput) SetNextToken(v string) *ListDeviceEventsOutput {
14839	s.NextToken = &v
14840	return s
14841}
14842
14843type ListGatewayGroupsInput struct {
14844	_ struct{} `type:"structure"`
14845
14846	// The maximum number of gateway group summaries to return. The default is 50.
14847	MaxResults *int64 `min:"1" type:"integer"`
14848
14849	// The token used to paginate though multiple pages of gateway group summaries.
14850	NextToken *string `min:"1" type:"string"`
14851}
14852
14853// String returns the string representation
14854func (s ListGatewayGroupsInput) String() string {
14855	return awsutil.Prettify(s)
14856}
14857
14858// GoString returns the string representation
14859func (s ListGatewayGroupsInput) GoString() string {
14860	return s.String()
14861}
14862
14863// Validate inspects the fields of the type to determine if they are valid.
14864func (s *ListGatewayGroupsInput) Validate() error {
14865	invalidParams := request.ErrInvalidParams{Context: "ListGatewayGroupsInput"}
14866	if s.MaxResults != nil && *s.MaxResults < 1 {
14867		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14868	}
14869	if s.NextToken != nil && len(*s.NextToken) < 1 {
14870		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14871	}
14872
14873	if invalidParams.Len() > 0 {
14874		return invalidParams
14875	}
14876	return nil
14877}
14878
14879// SetMaxResults sets the MaxResults field's value.
14880func (s *ListGatewayGroupsInput) SetMaxResults(v int64) *ListGatewayGroupsInput {
14881	s.MaxResults = &v
14882	return s
14883}
14884
14885// SetNextToken sets the NextToken field's value.
14886func (s *ListGatewayGroupsInput) SetNextToken(v string) *ListGatewayGroupsInput {
14887	s.NextToken = &v
14888	return s
14889}
14890
14891type ListGatewayGroupsOutput struct {
14892	_ struct{} `type:"structure"`
14893
14894	// The gateway groups in the list.
14895	GatewayGroups []*GatewayGroupSummary `type:"list"`
14896
14897	// The token used to paginate though multiple pages of gateway group summaries.
14898	NextToken *string `min:"1" type:"string"`
14899}
14900
14901// String returns the string representation
14902func (s ListGatewayGroupsOutput) String() string {
14903	return awsutil.Prettify(s)
14904}
14905
14906// GoString returns the string representation
14907func (s ListGatewayGroupsOutput) GoString() string {
14908	return s.String()
14909}
14910
14911// SetGatewayGroups sets the GatewayGroups field's value.
14912func (s *ListGatewayGroupsOutput) SetGatewayGroups(v []*GatewayGroupSummary) *ListGatewayGroupsOutput {
14913	s.GatewayGroups = v
14914	return s
14915}
14916
14917// SetNextToken sets the NextToken field's value.
14918func (s *ListGatewayGroupsOutput) SetNextToken(v string) *ListGatewayGroupsOutput {
14919	s.NextToken = &v
14920	return s
14921}
14922
14923type ListGatewaysInput struct {
14924	_ struct{} `type:"structure"`
14925
14926	// The gateway group ARN for which to list gateways.
14927	GatewayGroupArn *string `type:"string"`
14928
14929	// The maximum number of gateway summaries to return. The default is 50.
14930	MaxResults *int64 `min:"1" type:"integer"`
14931
14932	// The token used to paginate though multiple pages of gateway summaries.
14933	NextToken *string `min:"1" type:"string"`
14934}
14935
14936// String returns the string representation
14937func (s ListGatewaysInput) String() string {
14938	return awsutil.Prettify(s)
14939}
14940
14941// GoString returns the string representation
14942func (s ListGatewaysInput) GoString() string {
14943	return s.String()
14944}
14945
14946// Validate inspects the fields of the type to determine if they are valid.
14947func (s *ListGatewaysInput) Validate() error {
14948	invalidParams := request.ErrInvalidParams{Context: "ListGatewaysInput"}
14949	if s.MaxResults != nil && *s.MaxResults < 1 {
14950		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14951	}
14952	if s.NextToken != nil && len(*s.NextToken) < 1 {
14953		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14954	}
14955
14956	if invalidParams.Len() > 0 {
14957		return invalidParams
14958	}
14959	return nil
14960}
14961
14962// SetGatewayGroupArn sets the GatewayGroupArn field's value.
14963func (s *ListGatewaysInput) SetGatewayGroupArn(v string) *ListGatewaysInput {
14964	s.GatewayGroupArn = &v
14965	return s
14966}
14967
14968// SetMaxResults sets the MaxResults field's value.
14969func (s *ListGatewaysInput) SetMaxResults(v int64) *ListGatewaysInput {
14970	s.MaxResults = &v
14971	return s
14972}
14973
14974// SetNextToken sets the NextToken field's value.
14975func (s *ListGatewaysInput) SetNextToken(v string) *ListGatewaysInput {
14976	s.NextToken = &v
14977	return s
14978}
14979
14980type ListGatewaysOutput struct {
14981	_ struct{} `type:"structure"`
14982
14983	// The gateways in the list.
14984	Gateways []*GatewaySummary `type:"list"`
14985
14986	// The token used to paginate though multiple pages of gateway summaries.
14987	NextToken *string `min:"1" type:"string"`
14988}
14989
14990// String returns the string representation
14991func (s ListGatewaysOutput) String() string {
14992	return awsutil.Prettify(s)
14993}
14994
14995// GoString returns the string representation
14996func (s ListGatewaysOutput) GoString() string {
14997	return s.String()
14998}
14999
15000// SetGateways sets the Gateways field's value.
15001func (s *ListGatewaysOutput) SetGateways(v []*GatewaySummary) *ListGatewaysOutput {
15002	s.Gateways = v
15003	return s
15004}
15005
15006// SetNextToken sets the NextToken field's value.
15007func (s *ListGatewaysOutput) SetNextToken(v string) *ListGatewaysOutput {
15008	s.NextToken = &v
15009	return s
15010}
15011
15012type ListSkillsInput struct {
15013	_ struct{} `type:"structure"`
15014
15015	// Whether the skill is enabled under the user's account.
15016	EnablementType *string `type:"string" enum:"EnablementTypeFilter"`
15017
15018	// The maximum number of results to include in the response. If more results
15019	// exist than the specified MaxResults value, a token is included in the response
15020	// so that the remaining results can be retrieved.
15021	MaxResults *int64 `min:"1" type:"integer"`
15022
15023	// An optional token returned from a prior request. Use this token for pagination
15024	// of results from this action. If this parameter is specified, the response
15025	// includes only results beyond the token, up to the value specified by MaxResults.
15026	NextToken *string `min:"1" type:"string"`
15027
15028	// The ARN of the skill group for which to list enabled skills.
15029	SkillGroupArn *string `type:"string"`
15030
15031	// Whether the skill is publicly available or is a private skill.
15032	SkillType *string `type:"string" enum:"SkillTypeFilter"`
15033}
15034
15035// String returns the string representation
15036func (s ListSkillsInput) String() string {
15037	return awsutil.Prettify(s)
15038}
15039
15040// GoString returns the string representation
15041func (s ListSkillsInput) GoString() string {
15042	return s.String()
15043}
15044
15045// Validate inspects the fields of the type to determine if they are valid.
15046func (s *ListSkillsInput) Validate() error {
15047	invalidParams := request.ErrInvalidParams{Context: "ListSkillsInput"}
15048	if s.MaxResults != nil && *s.MaxResults < 1 {
15049		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
15050	}
15051	if s.NextToken != nil && len(*s.NextToken) < 1 {
15052		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
15053	}
15054
15055	if invalidParams.Len() > 0 {
15056		return invalidParams
15057	}
15058	return nil
15059}
15060
15061// SetEnablementType sets the EnablementType field's value.
15062func (s *ListSkillsInput) SetEnablementType(v string) *ListSkillsInput {
15063	s.EnablementType = &v
15064	return s
15065}
15066
15067// SetMaxResults sets the MaxResults field's value.
15068func (s *ListSkillsInput) SetMaxResults(v int64) *ListSkillsInput {
15069	s.MaxResults = &v
15070	return s
15071}
15072
15073// SetNextToken sets the NextToken field's value.
15074func (s *ListSkillsInput) SetNextToken(v string) *ListSkillsInput {
15075	s.NextToken = &v
15076	return s
15077}
15078
15079// SetSkillGroupArn sets the SkillGroupArn field's value.
15080func (s *ListSkillsInput) SetSkillGroupArn(v string) *ListSkillsInput {
15081	s.SkillGroupArn = &v
15082	return s
15083}
15084
15085// SetSkillType sets the SkillType field's value.
15086func (s *ListSkillsInput) SetSkillType(v string) *ListSkillsInput {
15087	s.SkillType = &v
15088	return s
15089}
15090
15091type ListSkillsOutput struct {
15092	_ struct{} `type:"structure"`
15093
15094	// The token returned to indicate that there is more data available.
15095	NextToken *string `min:"1" type:"string"`
15096
15097	// The list of enabled skills requested. Required.
15098	SkillSummaries []*SkillSummary `type:"list"`
15099}
15100
15101// String returns the string representation
15102func (s ListSkillsOutput) String() string {
15103	return awsutil.Prettify(s)
15104}
15105
15106// GoString returns the string representation
15107func (s ListSkillsOutput) GoString() string {
15108	return s.String()
15109}
15110
15111// SetNextToken sets the NextToken field's value.
15112func (s *ListSkillsOutput) SetNextToken(v string) *ListSkillsOutput {
15113	s.NextToken = &v
15114	return s
15115}
15116
15117// SetSkillSummaries sets the SkillSummaries field's value.
15118func (s *ListSkillsOutput) SetSkillSummaries(v []*SkillSummary) *ListSkillsOutput {
15119	s.SkillSummaries = v
15120	return s
15121}
15122
15123type ListSkillsStoreCategoriesInput struct {
15124	_ struct{} `type:"structure"`
15125
15126	// The maximum number of categories returned, per paginated calls.
15127	MaxResults *int64 `min:"1" type:"integer"`
15128
15129	// The tokens used for pagination.
15130	NextToken *string `min:"1" type:"string"`
15131}
15132
15133// String returns the string representation
15134func (s ListSkillsStoreCategoriesInput) String() string {
15135	return awsutil.Prettify(s)
15136}
15137
15138// GoString returns the string representation
15139func (s ListSkillsStoreCategoriesInput) GoString() string {
15140	return s.String()
15141}
15142
15143// Validate inspects the fields of the type to determine if they are valid.
15144func (s *ListSkillsStoreCategoriesInput) Validate() error {
15145	invalidParams := request.ErrInvalidParams{Context: "ListSkillsStoreCategoriesInput"}
15146	if s.MaxResults != nil && *s.MaxResults < 1 {
15147		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
15148	}
15149	if s.NextToken != nil && len(*s.NextToken) < 1 {
15150		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
15151	}
15152
15153	if invalidParams.Len() > 0 {
15154		return invalidParams
15155	}
15156	return nil
15157}
15158
15159// SetMaxResults sets the MaxResults field's value.
15160func (s *ListSkillsStoreCategoriesInput) SetMaxResults(v int64) *ListSkillsStoreCategoriesInput {
15161	s.MaxResults = &v
15162	return s
15163}
15164
15165// SetNextToken sets the NextToken field's value.
15166func (s *ListSkillsStoreCategoriesInput) SetNextToken(v string) *ListSkillsStoreCategoriesInput {
15167	s.NextToken = &v
15168	return s
15169}
15170
15171type ListSkillsStoreCategoriesOutput struct {
15172	_ struct{} `type:"structure"`
15173
15174	// The list of categories.
15175	CategoryList []*Category `type:"list"`
15176
15177	// The tokens used for pagination.
15178	NextToken *string `min:"1" type:"string"`
15179}
15180
15181// String returns the string representation
15182func (s ListSkillsStoreCategoriesOutput) String() string {
15183	return awsutil.Prettify(s)
15184}
15185
15186// GoString returns the string representation
15187func (s ListSkillsStoreCategoriesOutput) GoString() string {
15188	return s.String()
15189}
15190
15191// SetCategoryList sets the CategoryList field's value.
15192func (s *ListSkillsStoreCategoriesOutput) SetCategoryList(v []*Category) *ListSkillsStoreCategoriesOutput {
15193	s.CategoryList = v
15194	return s
15195}
15196
15197// SetNextToken sets the NextToken field's value.
15198func (s *ListSkillsStoreCategoriesOutput) SetNextToken(v string) *ListSkillsStoreCategoriesOutput {
15199	s.NextToken = &v
15200	return s
15201}
15202
15203type ListSkillsStoreSkillsByCategoryInput struct {
15204	_ struct{} `type:"structure"`
15205
15206	// The category ID for which the skills are being retrieved from the skill store.
15207	//
15208	// CategoryId is a required field
15209	CategoryId *int64 `min:"1" type:"long" required:"true"`
15210
15211	// The maximum number of skills returned per paginated calls.
15212	MaxResults *int64 `min:"1" type:"integer"`
15213
15214	// The tokens used for pagination.
15215	NextToken *string `min:"1" type:"string"`
15216}
15217
15218// String returns the string representation
15219func (s ListSkillsStoreSkillsByCategoryInput) String() string {
15220	return awsutil.Prettify(s)
15221}
15222
15223// GoString returns the string representation
15224func (s ListSkillsStoreSkillsByCategoryInput) GoString() string {
15225	return s.String()
15226}
15227
15228// Validate inspects the fields of the type to determine if they are valid.
15229func (s *ListSkillsStoreSkillsByCategoryInput) Validate() error {
15230	invalidParams := request.ErrInvalidParams{Context: "ListSkillsStoreSkillsByCategoryInput"}
15231	if s.CategoryId == nil {
15232		invalidParams.Add(request.NewErrParamRequired("CategoryId"))
15233	}
15234	if s.CategoryId != nil && *s.CategoryId < 1 {
15235		invalidParams.Add(request.NewErrParamMinValue("CategoryId", 1))
15236	}
15237	if s.MaxResults != nil && *s.MaxResults < 1 {
15238		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
15239	}
15240	if s.NextToken != nil && len(*s.NextToken) < 1 {
15241		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
15242	}
15243
15244	if invalidParams.Len() > 0 {
15245		return invalidParams
15246	}
15247	return nil
15248}
15249
15250// SetCategoryId sets the CategoryId field's value.
15251func (s *ListSkillsStoreSkillsByCategoryInput) SetCategoryId(v int64) *ListSkillsStoreSkillsByCategoryInput {
15252	s.CategoryId = &v
15253	return s
15254}
15255
15256// SetMaxResults sets the MaxResults field's value.
15257func (s *ListSkillsStoreSkillsByCategoryInput) SetMaxResults(v int64) *ListSkillsStoreSkillsByCategoryInput {
15258	s.MaxResults = &v
15259	return s
15260}
15261
15262// SetNextToken sets the NextToken field's value.
15263func (s *ListSkillsStoreSkillsByCategoryInput) SetNextToken(v string) *ListSkillsStoreSkillsByCategoryInput {
15264	s.NextToken = &v
15265	return s
15266}
15267
15268type ListSkillsStoreSkillsByCategoryOutput struct {
15269	_ struct{} `type:"structure"`
15270
15271	// The tokens used for pagination.
15272	NextToken *string `min:"1" type:"string"`
15273
15274	// The skill store skills.
15275	SkillsStoreSkills []*SkillsStoreSkill `type:"list"`
15276}
15277
15278// String returns the string representation
15279func (s ListSkillsStoreSkillsByCategoryOutput) String() string {
15280	return awsutil.Prettify(s)
15281}
15282
15283// GoString returns the string representation
15284func (s ListSkillsStoreSkillsByCategoryOutput) GoString() string {
15285	return s.String()
15286}
15287
15288// SetNextToken sets the NextToken field's value.
15289func (s *ListSkillsStoreSkillsByCategoryOutput) SetNextToken(v string) *ListSkillsStoreSkillsByCategoryOutput {
15290	s.NextToken = &v
15291	return s
15292}
15293
15294// SetSkillsStoreSkills sets the SkillsStoreSkills field's value.
15295func (s *ListSkillsStoreSkillsByCategoryOutput) SetSkillsStoreSkills(v []*SkillsStoreSkill) *ListSkillsStoreSkillsByCategoryOutput {
15296	s.SkillsStoreSkills = v
15297	return s
15298}
15299
15300type ListSmartHomeAppliancesInput struct {
15301	_ struct{} `type:"structure"`
15302
15303	// The maximum number of appliances to be returned, per paginated calls.
15304	MaxResults *int64 `min:"1" type:"integer"`
15305
15306	// The tokens used for pagination.
15307	NextToken *string `min:"1" type:"string"`
15308
15309	// The room that the appliances are associated with.
15310	//
15311	// RoomArn is a required field
15312	RoomArn *string `type:"string" required:"true"`
15313}
15314
15315// String returns the string representation
15316func (s ListSmartHomeAppliancesInput) String() string {
15317	return awsutil.Prettify(s)
15318}
15319
15320// GoString returns the string representation
15321func (s ListSmartHomeAppliancesInput) GoString() string {
15322	return s.String()
15323}
15324
15325// Validate inspects the fields of the type to determine if they are valid.
15326func (s *ListSmartHomeAppliancesInput) Validate() error {
15327	invalidParams := request.ErrInvalidParams{Context: "ListSmartHomeAppliancesInput"}
15328	if s.MaxResults != nil && *s.MaxResults < 1 {
15329		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
15330	}
15331	if s.NextToken != nil && len(*s.NextToken) < 1 {
15332		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
15333	}
15334	if s.RoomArn == nil {
15335		invalidParams.Add(request.NewErrParamRequired("RoomArn"))
15336	}
15337
15338	if invalidParams.Len() > 0 {
15339		return invalidParams
15340	}
15341	return nil
15342}
15343
15344// SetMaxResults sets the MaxResults field's value.
15345func (s *ListSmartHomeAppliancesInput) SetMaxResults(v int64) *ListSmartHomeAppliancesInput {
15346	s.MaxResults = &v
15347	return s
15348}
15349
15350// SetNextToken sets the NextToken field's value.
15351func (s *ListSmartHomeAppliancesInput) SetNextToken(v string) *ListSmartHomeAppliancesInput {
15352	s.NextToken = &v
15353	return s
15354}
15355
15356// SetRoomArn sets the RoomArn field's value.
15357func (s *ListSmartHomeAppliancesInput) SetRoomArn(v string) *ListSmartHomeAppliancesInput {
15358	s.RoomArn = &v
15359	return s
15360}
15361
15362type ListSmartHomeAppliancesOutput struct {
15363	_ struct{} `type:"structure"`
15364
15365	// The tokens used for pagination.
15366	NextToken *string `min:"1" type:"string"`
15367
15368	// The smart home appliances.
15369	SmartHomeAppliances []*SmartHomeAppliance `type:"list"`
15370}
15371
15372// String returns the string representation
15373func (s ListSmartHomeAppliancesOutput) String() string {
15374	return awsutil.Prettify(s)
15375}
15376
15377// GoString returns the string representation
15378func (s ListSmartHomeAppliancesOutput) GoString() string {
15379	return s.String()
15380}
15381
15382// SetNextToken sets the NextToken field's value.
15383func (s *ListSmartHomeAppliancesOutput) SetNextToken(v string) *ListSmartHomeAppliancesOutput {
15384	s.NextToken = &v
15385	return s
15386}
15387
15388// SetSmartHomeAppliances sets the SmartHomeAppliances field's value.
15389func (s *ListSmartHomeAppliancesOutput) SetSmartHomeAppliances(v []*SmartHomeAppliance) *ListSmartHomeAppliancesOutput {
15390	s.SmartHomeAppliances = v
15391	return s
15392}
15393
15394type ListTagsInput struct {
15395	_ struct{} `type:"structure"`
15396
15397	// The ARN of the specified resource for which to list tags.
15398	//
15399	// Arn is a required field
15400	Arn *string `type:"string" required:"true"`
15401
15402	// The maximum number of results to include in the response. If more results
15403	// exist than the specified MaxResults value, a token is included in the response
15404	// so that the remaining results can be retrieved.
15405	MaxResults *int64 `min:"1" type:"integer"`
15406
15407	// An optional token returned from a prior request. Use this token for pagination
15408	// of results from this action. If this parameter is specified, the response
15409	// includes only results beyond the token, up to the value specified by MaxResults.
15410	NextToken *string `min:"1" type:"string"`
15411}
15412
15413// String returns the string representation
15414func (s ListTagsInput) String() string {
15415	return awsutil.Prettify(s)
15416}
15417
15418// GoString returns the string representation
15419func (s ListTagsInput) GoString() string {
15420	return s.String()
15421}
15422
15423// Validate inspects the fields of the type to determine if they are valid.
15424func (s *ListTagsInput) Validate() error {
15425	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
15426	if s.Arn == nil {
15427		invalidParams.Add(request.NewErrParamRequired("Arn"))
15428	}
15429	if s.MaxResults != nil && *s.MaxResults < 1 {
15430		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
15431	}
15432	if s.NextToken != nil && len(*s.NextToken) < 1 {
15433		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
15434	}
15435
15436	if invalidParams.Len() > 0 {
15437		return invalidParams
15438	}
15439	return nil
15440}
15441
15442// SetArn sets the Arn field's value.
15443func (s *ListTagsInput) SetArn(v string) *ListTagsInput {
15444	s.Arn = &v
15445	return s
15446}
15447
15448// SetMaxResults sets the MaxResults field's value.
15449func (s *ListTagsInput) SetMaxResults(v int64) *ListTagsInput {
15450	s.MaxResults = &v
15451	return s
15452}
15453
15454// SetNextToken sets the NextToken field's value.
15455func (s *ListTagsInput) SetNextToken(v string) *ListTagsInput {
15456	s.NextToken = &v
15457	return s
15458}
15459
15460type ListTagsOutput struct {
15461	_ struct{} `type:"structure"`
15462
15463	// The token returned to indicate that there is more data available.
15464	NextToken *string `min:"1" type:"string"`
15465
15466	// The tags requested for the specified resource.
15467	Tags []*Tag `type:"list"`
15468}
15469
15470// String returns the string representation
15471func (s ListTagsOutput) String() string {
15472	return awsutil.Prettify(s)
15473}
15474
15475// GoString returns the string representation
15476func (s ListTagsOutput) GoString() string {
15477	return s.String()
15478}
15479
15480// SetNextToken sets the NextToken field's value.
15481func (s *ListTagsOutput) SetNextToken(v string) *ListTagsOutput {
15482	s.NextToken = &v
15483	return s
15484}
15485
15486// SetTags sets the Tags field's value.
15487func (s *ListTagsOutput) SetTags(v []*Tag) *ListTagsOutput {
15488	s.Tags = v
15489	return s
15490}
15491
15492// Meeting room settings of a room profile.
15493type MeetingRoomConfiguration struct {
15494	_ struct{} `type:"structure"`
15495
15496	// Settings for the end of meeting reminder feature that are applied to a room
15497	// profile. The end of meeting reminder enables Alexa to remind users when a
15498	// meeting is ending.
15499	EndOfMeetingReminder *EndOfMeetingReminder `type:"structure"`
15500
15501	// Settings to automatically book the room if available for a configured duration
15502	// when joining a meeting with Alexa.
15503	InstantBooking *InstantBooking `type:"structure"`
15504
15505	// Settings for requiring a check in when a room is reserved. Alexa can cancel
15506	// a room reservation if it's not checked into. This makes the room available
15507	// for others. Users can check in by joining the meeting with Alexa or an AVS
15508	// device, or by saying “Alexa, check in.”
15509	RequireCheckIn *RequireCheckIn `type:"structure"`
15510
15511	// Whether room utilization metrics are enabled or not.
15512	RoomUtilizationMetricsEnabled *bool `type:"boolean"`
15513}
15514
15515// String returns the string representation
15516func (s MeetingRoomConfiguration) String() string {
15517	return awsutil.Prettify(s)
15518}
15519
15520// GoString returns the string representation
15521func (s MeetingRoomConfiguration) GoString() string {
15522	return s.String()
15523}
15524
15525// SetEndOfMeetingReminder sets the EndOfMeetingReminder field's value.
15526func (s *MeetingRoomConfiguration) SetEndOfMeetingReminder(v *EndOfMeetingReminder) *MeetingRoomConfiguration {
15527	s.EndOfMeetingReminder = v
15528	return s
15529}
15530
15531// SetInstantBooking sets the InstantBooking field's value.
15532func (s *MeetingRoomConfiguration) SetInstantBooking(v *InstantBooking) *MeetingRoomConfiguration {
15533	s.InstantBooking = v
15534	return s
15535}
15536
15537// SetRequireCheckIn sets the RequireCheckIn field's value.
15538func (s *MeetingRoomConfiguration) SetRequireCheckIn(v *RequireCheckIn) *MeetingRoomConfiguration {
15539	s.RequireCheckIn = v
15540	return s
15541}
15542
15543// SetRoomUtilizationMetricsEnabled sets the RoomUtilizationMetricsEnabled field's value.
15544func (s *MeetingRoomConfiguration) SetRoomUtilizationMetricsEnabled(v bool) *MeetingRoomConfiguration {
15545	s.RoomUtilizationMetricsEnabled = &v
15546	return s
15547}
15548
15549// The values that indicate whether a pin is always required (YES), never required
15550// (NO), or OPTIONAL.
15551//
15552//    * If YES, Alexa will always ask for a meeting pin.
15553//
15554//    * If NO, Alexa will never ask for a meeting pin.
15555//
15556//    * If OPTIONAL, Alexa will ask if you have a meeting pin and if the customer
15557//    responds with yes, it will ask for the meeting pin.
15558type MeetingSetting struct {
15559	_ struct{} `type:"structure"`
15560
15561	// The values that indicate whether the pin is always required.
15562	//
15563	// RequirePin is a required field
15564	RequirePin *string `type:"string" required:"true" enum:"RequirePin"`
15565}
15566
15567// String returns the string representation
15568func (s MeetingSetting) String() string {
15569	return awsutil.Prettify(s)
15570}
15571
15572// GoString returns the string representation
15573func (s MeetingSetting) GoString() string {
15574	return s.String()
15575}
15576
15577// Validate inspects the fields of the type to determine if they are valid.
15578func (s *MeetingSetting) Validate() error {
15579	invalidParams := request.ErrInvalidParams{Context: "MeetingSetting"}
15580	if s.RequirePin == nil {
15581		invalidParams.Add(request.NewErrParamRequired("RequirePin"))
15582	}
15583
15584	if invalidParams.Len() > 0 {
15585		return invalidParams
15586	}
15587	return nil
15588}
15589
15590// SetRequirePin sets the RequirePin field's value.
15591func (s *MeetingSetting) SetRequirePin(v string) *MeetingSetting {
15592	s.RequirePin = &v
15593	return s
15594}
15595
15596// The name sent in the request is already in use.
15597type NameInUseException struct {
15598	_            struct{}                  `type:"structure"`
15599	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15600
15601	Message_ *string `locationName:"Message" type:"string"`
15602}
15603
15604// String returns the string representation
15605func (s NameInUseException) String() string {
15606	return awsutil.Prettify(s)
15607}
15608
15609// GoString returns the string representation
15610func (s NameInUseException) GoString() string {
15611	return s.String()
15612}
15613
15614func newErrorNameInUseException(v protocol.ResponseMetadata) error {
15615	return &NameInUseException{
15616		RespMetadata: v,
15617	}
15618}
15619
15620// Code returns the exception type name.
15621func (s *NameInUseException) Code() string {
15622	return "NameInUseException"
15623}
15624
15625// Message returns the exception's message.
15626func (s *NameInUseException) Message() string {
15627	if s.Message_ != nil {
15628		return *s.Message_
15629	}
15630	return ""
15631}
15632
15633// OrigErr always returns nil, satisfies awserr.Error interface.
15634func (s *NameInUseException) OrigErr() error {
15635	return nil
15636}
15637
15638func (s *NameInUseException) Error() string {
15639	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
15640}
15641
15642// Status code returns the HTTP status code for the request's response error.
15643func (s *NameInUseException) StatusCode() int {
15644	return s.RespMetadata.StatusCode
15645}
15646
15647// RequestID returns the service's response RequestID for request.
15648func (s *NameInUseException) RequestID() string {
15649	return s.RespMetadata.RequestID
15650}
15651
15652// The network profile associated with a device.
15653type NetworkProfile struct {
15654	_ struct{} `type:"structure"`
15655
15656	// The ARN of the Private Certificate Authority (PCA) created in AWS Certificate
15657	// Manager (ACM). This is used to issue certificates to the devices.
15658	CertificateAuthorityArn *string `type:"string"`
15659
15660	// The current password of the Wi-Fi network.
15661	CurrentPassword *string `min:"5" type:"string" sensitive:"true"`
15662
15663	// Detailed information about a device's network profile.
15664	Description *string `type:"string"`
15665
15666	// The authentication standard that is used in the EAP framework. Currently,
15667	// EAP_TLS is supported.
15668	EapMethod *string `type:"string" enum:"NetworkEapMethod"`
15669
15670	// The ARN of the network profile associated with a device.
15671	NetworkProfileArn *string `type:"string"`
15672
15673	// The name of the network profile associated with a device.
15674	NetworkProfileName *string `min:"1" type:"string"`
15675
15676	// The next, or subsequent, password of the Wi-Fi network. This password is
15677	// asynchronously transmitted to the device and is used when the password of
15678	// the network changes to NextPassword.
15679	NextPassword *string `type:"string" sensitive:"true"`
15680
15681	// The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK,
15682	// WPA_PSK, WEP, or OPEN.
15683	SecurityType *string `type:"string" enum:"NetworkSecurityType"`
15684
15685	// The SSID of the Wi-Fi network.
15686	Ssid *string `min:"1" type:"string"`
15687
15688	// The root certificates of your authentication server, which is installed on
15689	// your devices and used to trust your authentication server during EAP negotiation.
15690	TrustAnchors []*string `min:"1" type:"list"`
15691}
15692
15693// String returns the string representation
15694func (s NetworkProfile) String() string {
15695	return awsutil.Prettify(s)
15696}
15697
15698// GoString returns the string representation
15699func (s NetworkProfile) GoString() string {
15700	return s.String()
15701}
15702
15703// SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value.
15704func (s *NetworkProfile) SetCertificateAuthorityArn(v string) *NetworkProfile {
15705	s.CertificateAuthorityArn = &v
15706	return s
15707}
15708
15709// SetCurrentPassword sets the CurrentPassword field's value.
15710func (s *NetworkProfile) SetCurrentPassword(v string) *NetworkProfile {
15711	s.CurrentPassword = &v
15712	return s
15713}
15714
15715// SetDescription sets the Description field's value.
15716func (s *NetworkProfile) SetDescription(v string) *NetworkProfile {
15717	s.Description = &v
15718	return s
15719}
15720
15721// SetEapMethod sets the EapMethod field's value.
15722func (s *NetworkProfile) SetEapMethod(v string) *NetworkProfile {
15723	s.EapMethod = &v
15724	return s
15725}
15726
15727// SetNetworkProfileArn sets the NetworkProfileArn field's value.
15728func (s *NetworkProfile) SetNetworkProfileArn(v string) *NetworkProfile {
15729	s.NetworkProfileArn = &v
15730	return s
15731}
15732
15733// SetNetworkProfileName sets the NetworkProfileName field's value.
15734func (s *NetworkProfile) SetNetworkProfileName(v string) *NetworkProfile {
15735	s.NetworkProfileName = &v
15736	return s
15737}
15738
15739// SetNextPassword sets the NextPassword field's value.
15740func (s *NetworkProfile) SetNextPassword(v string) *NetworkProfile {
15741	s.NextPassword = &v
15742	return s
15743}
15744
15745// SetSecurityType sets the SecurityType field's value.
15746func (s *NetworkProfile) SetSecurityType(v string) *NetworkProfile {
15747	s.SecurityType = &v
15748	return s
15749}
15750
15751// SetSsid sets the Ssid field's value.
15752func (s *NetworkProfile) SetSsid(v string) *NetworkProfile {
15753	s.Ssid = &v
15754	return s
15755}
15756
15757// SetTrustAnchors sets the TrustAnchors field's value.
15758func (s *NetworkProfile) SetTrustAnchors(v []*string) *NetworkProfile {
15759	s.TrustAnchors = v
15760	return s
15761}
15762
15763// The data associated with a network profile.
15764type NetworkProfileData struct {
15765	_ struct{} `type:"structure"`
15766
15767	// The ARN of the Private Certificate Authority (PCA) created in AWS Certificate
15768	// Manager (ACM). This is used to issue certificates to the devices.
15769	CertificateAuthorityArn *string `type:"string"`
15770
15771	// Detailed information about a device's network profile.
15772	Description *string `type:"string"`
15773
15774	// The authentication standard that is used in the EAP framework. Currently,
15775	// EAP_TLS is supported.
15776	EapMethod *string `type:"string" enum:"NetworkEapMethod"`
15777
15778	// The ARN of the network profile associated with a device.
15779	NetworkProfileArn *string `type:"string"`
15780
15781	// The name of the network profile associated with a device.
15782	NetworkProfileName *string `min:"1" type:"string"`
15783
15784	// The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK,
15785	// WPA_PSK, WEP, or OPEN.
15786	SecurityType *string `type:"string" enum:"NetworkSecurityType"`
15787
15788	// The SSID of the Wi-Fi network.
15789	Ssid *string `min:"1" type:"string"`
15790}
15791
15792// String returns the string representation
15793func (s NetworkProfileData) String() string {
15794	return awsutil.Prettify(s)
15795}
15796
15797// GoString returns the string representation
15798func (s NetworkProfileData) GoString() string {
15799	return s.String()
15800}
15801
15802// SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value.
15803func (s *NetworkProfileData) SetCertificateAuthorityArn(v string) *NetworkProfileData {
15804	s.CertificateAuthorityArn = &v
15805	return s
15806}
15807
15808// SetDescription sets the Description field's value.
15809func (s *NetworkProfileData) SetDescription(v string) *NetworkProfileData {
15810	s.Description = &v
15811	return s
15812}
15813
15814// SetEapMethod sets the EapMethod field's value.
15815func (s *NetworkProfileData) SetEapMethod(v string) *NetworkProfileData {
15816	s.EapMethod = &v
15817	return s
15818}
15819
15820// SetNetworkProfileArn sets the NetworkProfileArn field's value.
15821func (s *NetworkProfileData) SetNetworkProfileArn(v string) *NetworkProfileData {
15822	s.NetworkProfileArn = &v
15823	return s
15824}
15825
15826// SetNetworkProfileName sets the NetworkProfileName field's value.
15827func (s *NetworkProfileData) SetNetworkProfileName(v string) *NetworkProfileData {
15828	s.NetworkProfileName = &v
15829	return s
15830}
15831
15832// SetSecurityType sets the SecurityType field's value.
15833func (s *NetworkProfileData) SetSecurityType(v string) *NetworkProfileData {
15834	s.SecurityType = &v
15835	return s
15836}
15837
15838// SetSsid sets the Ssid field's value.
15839func (s *NetworkProfileData) SetSsid(v string) *NetworkProfileData {
15840	s.Ssid = &v
15841	return s
15842}
15843
15844// The resource is not found.
15845type NotFoundException struct {
15846	_            struct{}                  `type:"structure"`
15847	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15848
15849	Message_ *string `locationName:"Message" type:"string"`
15850}
15851
15852// String returns the string representation
15853func (s NotFoundException) String() string {
15854	return awsutil.Prettify(s)
15855}
15856
15857// GoString returns the string representation
15858func (s NotFoundException) GoString() string {
15859	return s.String()
15860}
15861
15862func newErrorNotFoundException(v protocol.ResponseMetadata) error {
15863	return &NotFoundException{
15864		RespMetadata: v,
15865	}
15866}
15867
15868// Code returns the exception type name.
15869func (s *NotFoundException) Code() string {
15870	return "NotFoundException"
15871}
15872
15873// Message returns the exception's message.
15874func (s *NotFoundException) Message() string {
15875	if s.Message_ != nil {
15876		return *s.Message_
15877	}
15878	return ""
15879}
15880
15881// OrigErr always returns nil, satisfies awserr.Error interface.
15882func (s *NotFoundException) OrigErr() error {
15883	return nil
15884}
15885
15886func (s *NotFoundException) Error() string {
15887	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
15888}
15889
15890// Status code returns the HTTP status code for the request's response error.
15891func (s *NotFoundException) StatusCode() int {
15892	return s.RespMetadata.StatusCode
15893}
15894
15895// RequestID returns the service's response RequestID for request.
15896func (s *NotFoundException) RequestID() string {
15897	return s.RespMetadata.RequestID
15898}
15899
15900// The information for public switched telephone network (PSTN) conferencing.
15901type PSTNDialIn struct {
15902	_ struct{} `type:"structure"`
15903
15904	// The zip code.
15905	//
15906	// CountryCode is a required field
15907	CountryCode *string `type:"string" required:"true"`
15908
15909	// The delay duration before Alexa enters the conference ID with dual-tone multi-frequency
15910	// (DTMF). Each number on the dial pad corresponds to a DTMF tone, which is
15911	// how we send data over the telephone network.
15912	//
15913	// OneClickIdDelay is a required field
15914	OneClickIdDelay *string `min:"1" type:"string" required:"true"`
15915
15916	// The delay duration before Alexa enters the conference pin with dual-tone
15917	// multi-frequency (DTMF). Each number on the dial pad corresponds to a DTMF
15918	// tone, which is how we send data over the telephone network.
15919	//
15920	// OneClickPinDelay is a required field
15921	OneClickPinDelay *string `min:"1" type:"string" required:"true"`
15922
15923	// The phone number to call to join the conference.
15924	//
15925	// PhoneNumber is a required field
15926	PhoneNumber *string `type:"string" required:"true"`
15927}
15928
15929// String returns the string representation
15930func (s PSTNDialIn) String() string {
15931	return awsutil.Prettify(s)
15932}
15933
15934// GoString returns the string representation
15935func (s PSTNDialIn) GoString() string {
15936	return s.String()
15937}
15938
15939// Validate inspects the fields of the type to determine if they are valid.
15940func (s *PSTNDialIn) Validate() error {
15941	invalidParams := request.ErrInvalidParams{Context: "PSTNDialIn"}
15942	if s.CountryCode == nil {
15943		invalidParams.Add(request.NewErrParamRequired("CountryCode"))
15944	}
15945	if s.OneClickIdDelay == nil {
15946		invalidParams.Add(request.NewErrParamRequired("OneClickIdDelay"))
15947	}
15948	if s.OneClickIdDelay != nil && len(*s.OneClickIdDelay) < 1 {
15949		invalidParams.Add(request.NewErrParamMinLen("OneClickIdDelay", 1))
15950	}
15951	if s.OneClickPinDelay == nil {
15952		invalidParams.Add(request.NewErrParamRequired("OneClickPinDelay"))
15953	}
15954	if s.OneClickPinDelay != nil && len(*s.OneClickPinDelay) < 1 {
15955		invalidParams.Add(request.NewErrParamMinLen("OneClickPinDelay", 1))
15956	}
15957	if s.PhoneNumber == nil {
15958		invalidParams.Add(request.NewErrParamRequired("PhoneNumber"))
15959	}
15960
15961	if invalidParams.Len() > 0 {
15962		return invalidParams
15963	}
15964	return nil
15965}
15966
15967// SetCountryCode sets the CountryCode field's value.
15968func (s *PSTNDialIn) SetCountryCode(v string) *PSTNDialIn {
15969	s.CountryCode = &v
15970	return s
15971}
15972
15973// SetOneClickIdDelay sets the OneClickIdDelay field's value.
15974func (s *PSTNDialIn) SetOneClickIdDelay(v string) *PSTNDialIn {
15975	s.OneClickIdDelay = &v
15976	return s
15977}
15978
15979// SetOneClickPinDelay sets the OneClickPinDelay field's value.
15980func (s *PSTNDialIn) SetOneClickPinDelay(v string) *PSTNDialIn {
15981	s.OneClickPinDelay = &v
15982	return s
15983}
15984
15985// SetPhoneNumber sets the PhoneNumber field's value.
15986func (s *PSTNDialIn) SetPhoneNumber(v string) *PSTNDialIn {
15987	s.PhoneNumber = &v
15988	return s
15989}
15990
15991// The phone number for the contact containing the raw number and phone number
15992// type.
15993type PhoneNumber struct {
15994	_ struct{} `type:"structure"`
15995
15996	// The raw value of the phone number.
15997	//
15998	// Number is a required field
15999	Number *string `type:"string" required:"true" sensitive:"true"`
16000
16001	// The type of the phone number.
16002	//
16003	// Type is a required field
16004	Type *string `type:"string" required:"true" enum:"PhoneNumberType" sensitive:"true"`
16005}
16006
16007// String returns the string representation
16008func (s PhoneNumber) String() string {
16009	return awsutil.Prettify(s)
16010}
16011
16012// GoString returns the string representation
16013func (s PhoneNumber) GoString() string {
16014	return s.String()
16015}
16016
16017// Validate inspects the fields of the type to determine if they are valid.
16018func (s *PhoneNumber) Validate() error {
16019	invalidParams := request.ErrInvalidParams{Context: "PhoneNumber"}
16020	if s.Number == nil {
16021		invalidParams.Add(request.NewErrParamRequired("Number"))
16022	}
16023	if s.Type == nil {
16024		invalidParams.Add(request.NewErrParamRequired("Type"))
16025	}
16026
16027	if invalidParams.Len() > 0 {
16028		return invalidParams
16029	}
16030	return nil
16031}
16032
16033// SetNumber sets the Number field's value.
16034func (s *PhoneNumber) SetNumber(v string) *PhoneNumber {
16035	s.Number = &v
16036	return s
16037}
16038
16039// SetType sets the Type field's value.
16040func (s *PhoneNumber) SetType(v string) *PhoneNumber {
16041	s.Type = &v
16042	return s
16043}
16044
16045// A room profile with attributes.
16046type Profile struct {
16047	_ struct{} `type:"structure"`
16048
16049	// The address of a room profile.
16050	Address *string `min:"1" type:"string"`
16051
16052	// The ARN of the address book.
16053	AddressBookArn *string `type:"string"`
16054
16055	// The distance unit of a room profile.
16056	DistanceUnit *string `type:"string" enum:"DistanceUnit"`
16057
16058	// Retrieves if the profile is default or not.
16059	IsDefault *bool `type:"boolean"`
16060
16061	// The locale of a room profile. (This is currently available only to a limited
16062	// preview audience.)
16063	Locale *string `min:"1" type:"string"`
16064
16065	// The max volume limit of a room profile.
16066	MaxVolumeLimit *int64 `type:"integer"`
16067
16068	// Meeting room settings of a room profile.
16069	MeetingRoomConfiguration *MeetingRoomConfiguration `type:"structure"`
16070
16071	// The PSTN setting of a room profile.
16072	PSTNEnabled *bool `type:"boolean"`
16073
16074	// The ARN of a room profile.
16075	ProfileArn *string `type:"string"`
16076
16077	// The name of a room profile.
16078	ProfileName *string `min:"1" type:"string"`
16079
16080	// The setup mode of a room profile.
16081	SetupModeDisabled *bool `type:"boolean"`
16082
16083	// The temperature unit of a room profile.
16084	TemperatureUnit *string `type:"string" enum:"TemperatureUnit"`
16085
16086	// The time zone of a room profile.
16087	Timezone *string `min:"1" type:"string"`
16088
16089	// The wake word of a room profile.
16090	WakeWord *string `type:"string" enum:"WakeWord"`
16091}
16092
16093// String returns the string representation
16094func (s Profile) String() string {
16095	return awsutil.Prettify(s)
16096}
16097
16098// GoString returns the string representation
16099func (s Profile) GoString() string {
16100	return s.String()
16101}
16102
16103// SetAddress sets the Address field's value.
16104func (s *Profile) SetAddress(v string) *Profile {
16105	s.Address = &v
16106	return s
16107}
16108
16109// SetAddressBookArn sets the AddressBookArn field's value.
16110func (s *Profile) SetAddressBookArn(v string) *Profile {
16111	s.AddressBookArn = &v
16112	return s
16113}
16114
16115// SetDistanceUnit sets the DistanceUnit field's value.
16116func (s *Profile) SetDistanceUnit(v string) *Profile {
16117	s.DistanceUnit = &v
16118	return s
16119}
16120
16121// SetIsDefault sets the IsDefault field's value.
16122func (s *Profile) SetIsDefault(v bool) *Profile {
16123	s.IsDefault = &v
16124	return s
16125}
16126
16127// SetLocale sets the Locale field's value.
16128func (s *Profile) SetLocale(v string) *Profile {
16129	s.Locale = &v
16130	return s
16131}
16132
16133// SetMaxVolumeLimit sets the MaxVolumeLimit field's value.
16134func (s *Profile) SetMaxVolumeLimit(v int64) *Profile {
16135	s.MaxVolumeLimit = &v
16136	return s
16137}
16138
16139// SetMeetingRoomConfiguration sets the MeetingRoomConfiguration field's value.
16140func (s *Profile) SetMeetingRoomConfiguration(v *MeetingRoomConfiguration) *Profile {
16141	s.MeetingRoomConfiguration = v
16142	return s
16143}
16144
16145// SetPSTNEnabled sets the PSTNEnabled field's value.
16146func (s *Profile) SetPSTNEnabled(v bool) *Profile {
16147	s.PSTNEnabled = &v
16148	return s
16149}
16150
16151// SetProfileArn sets the ProfileArn field's value.
16152func (s *Profile) SetProfileArn(v string) *Profile {
16153	s.ProfileArn = &v
16154	return s
16155}
16156
16157// SetProfileName sets the ProfileName field's value.
16158func (s *Profile) SetProfileName(v string) *Profile {
16159	s.ProfileName = &v
16160	return s
16161}
16162
16163// SetSetupModeDisabled sets the SetupModeDisabled field's value.
16164func (s *Profile) SetSetupModeDisabled(v bool) *Profile {
16165	s.SetupModeDisabled = &v
16166	return s
16167}
16168
16169// SetTemperatureUnit sets the TemperatureUnit field's value.
16170func (s *Profile) SetTemperatureUnit(v string) *Profile {
16171	s.TemperatureUnit = &v
16172	return s
16173}
16174
16175// SetTimezone sets the Timezone field's value.
16176func (s *Profile) SetTimezone(v string) *Profile {
16177	s.Timezone = &v
16178	return s
16179}
16180
16181// SetWakeWord sets the WakeWord field's value.
16182func (s *Profile) SetWakeWord(v string) *Profile {
16183	s.WakeWord = &v
16184	return s
16185}
16186
16187// The data of a room profile.
16188type ProfileData struct {
16189	_ struct{} `type:"structure"`
16190
16191	// The address of a room profile.
16192	Address *string `min:"1" type:"string"`
16193
16194	// The distance unit of a room profile.
16195	DistanceUnit *string `type:"string" enum:"DistanceUnit"`
16196
16197	// Retrieves if the profile data is default or not.
16198	IsDefault *bool `type:"boolean"`
16199
16200	// The locale of a room profile. (This is currently available only to a limited
16201	// preview audience.)
16202	Locale *string `min:"1" type:"string"`
16203
16204	// The ARN of a room profile.
16205	ProfileArn *string `type:"string"`
16206
16207	// The name of a room profile.
16208	ProfileName *string `min:"1" type:"string"`
16209
16210	// The temperature unit of a room profile.
16211	TemperatureUnit *string `type:"string" enum:"TemperatureUnit"`
16212
16213	// The time zone of a room profile.
16214	Timezone *string `min:"1" type:"string"`
16215
16216	// The wake word of a room profile.
16217	WakeWord *string `type:"string" enum:"WakeWord"`
16218}
16219
16220// String returns the string representation
16221func (s ProfileData) String() string {
16222	return awsutil.Prettify(s)
16223}
16224
16225// GoString returns the string representation
16226func (s ProfileData) GoString() string {
16227	return s.String()
16228}
16229
16230// SetAddress sets the Address field's value.
16231func (s *ProfileData) SetAddress(v string) *ProfileData {
16232	s.Address = &v
16233	return s
16234}
16235
16236// SetDistanceUnit sets the DistanceUnit field's value.
16237func (s *ProfileData) SetDistanceUnit(v string) *ProfileData {
16238	s.DistanceUnit = &v
16239	return s
16240}
16241
16242// SetIsDefault sets the IsDefault field's value.
16243func (s *ProfileData) SetIsDefault(v bool) *ProfileData {
16244	s.IsDefault = &v
16245	return s
16246}
16247
16248// SetLocale sets the Locale field's value.
16249func (s *ProfileData) SetLocale(v string) *ProfileData {
16250	s.Locale = &v
16251	return s
16252}
16253
16254// SetProfileArn sets the ProfileArn field's value.
16255func (s *ProfileData) SetProfileArn(v string) *ProfileData {
16256	s.ProfileArn = &v
16257	return s
16258}
16259
16260// SetProfileName sets the ProfileName field's value.
16261func (s *ProfileData) SetProfileName(v string) *ProfileData {
16262	s.ProfileName = &v
16263	return s
16264}
16265
16266// SetTemperatureUnit sets the TemperatureUnit field's value.
16267func (s *ProfileData) SetTemperatureUnit(v string) *ProfileData {
16268	s.TemperatureUnit = &v
16269	return s
16270}
16271
16272// SetTimezone sets the Timezone field's value.
16273func (s *ProfileData) SetTimezone(v string) *ProfileData {
16274	s.Timezone = &v
16275	return s
16276}
16277
16278// SetWakeWord sets the WakeWord field's value.
16279func (s *ProfileData) SetWakeWord(v string) *ProfileData {
16280	s.WakeWord = &v
16281	return s
16282}
16283
16284type PutConferencePreferenceInput struct {
16285	_ struct{} `type:"structure"`
16286
16287	// The conference preference of a specific conference provider.
16288	//
16289	// ConferencePreference is a required field
16290	ConferencePreference *ConferencePreference `type:"structure" required:"true"`
16291}
16292
16293// String returns the string representation
16294func (s PutConferencePreferenceInput) String() string {
16295	return awsutil.Prettify(s)
16296}
16297
16298// GoString returns the string representation
16299func (s PutConferencePreferenceInput) GoString() string {
16300	return s.String()
16301}
16302
16303// Validate inspects the fields of the type to determine if they are valid.
16304func (s *PutConferencePreferenceInput) Validate() error {
16305	invalidParams := request.ErrInvalidParams{Context: "PutConferencePreferenceInput"}
16306	if s.ConferencePreference == nil {
16307		invalidParams.Add(request.NewErrParamRequired("ConferencePreference"))
16308	}
16309
16310	if invalidParams.Len() > 0 {
16311		return invalidParams
16312	}
16313	return nil
16314}
16315
16316// SetConferencePreference sets the ConferencePreference field's value.
16317func (s *PutConferencePreferenceInput) SetConferencePreference(v *ConferencePreference) *PutConferencePreferenceInput {
16318	s.ConferencePreference = v
16319	return s
16320}
16321
16322type PutConferencePreferenceOutput struct {
16323	_ struct{} `type:"structure"`
16324}
16325
16326// String returns the string representation
16327func (s PutConferencePreferenceOutput) String() string {
16328	return awsutil.Prettify(s)
16329}
16330
16331// GoString returns the string representation
16332func (s PutConferencePreferenceOutput) GoString() string {
16333	return s.String()
16334}
16335
16336type PutInvitationConfigurationInput struct {
16337	_ struct{} `type:"structure"`
16338
16339	// The email ID of the organization or individual contact that the enrolled
16340	// user can use.
16341	ContactEmail *string `min:"1" type:"string"`
16342
16343	// The name of the organization sending the enrollment invite to a user.
16344	//
16345	// OrganizationName is a required field
16346	OrganizationName *string `min:"1" type:"string" required:"true"`
16347
16348	// The list of private skill IDs that you want to recommend to the user to enable
16349	// in the invitation.
16350	PrivateSkillIds []*string `type:"list"`
16351}
16352
16353// String returns the string representation
16354func (s PutInvitationConfigurationInput) String() string {
16355	return awsutil.Prettify(s)
16356}
16357
16358// GoString returns the string representation
16359func (s PutInvitationConfigurationInput) GoString() string {
16360	return s.String()
16361}
16362
16363// Validate inspects the fields of the type to determine if they are valid.
16364func (s *PutInvitationConfigurationInput) Validate() error {
16365	invalidParams := request.ErrInvalidParams{Context: "PutInvitationConfigurationInput"}
16366	if s.ContactEmail != nil && len(*s.ContactEmail) < 1 {
16367		invalidParams.Add(request.NewErrParamMinLen("ContactEmail", 1))
16368	}
16369	if s.OrganizationName == nil {
16370		invalidParams.Add(request.NewErrParamRequired("OrganizationName"))
16371	}
16372	if s.OrganizationName != nil && len(*s.OrganizationName) < 1 {
16373		invalidParams.Add(request.NewErrParamMinLen("OrganizationName", 1))
16374	}
16375
16376	if invalidParams.Len() > 0 {
16377		return invalidParams
16378	}
16379	return nil
16380}
16381
16382// SetContactEmail sets the ContactEmail field's value.
16383func (s *PutInvitationConfigurationInput) SetContactEmail(v string) *PutInvitationConfigurationInput {
16384	s.ContactEmail = &v
16385	return s
16386}
16387
16388// SetOrganizationName sets the OrganizationName field's value.
16389func (s *PutInvitationConfigurationInput) SetOrganizationName(v string) *PutInvitationConfigurationInput {
16390	s.OrganizationName = &v
16391	return s
16392}
16393
16394// SetPrivateSkillIds sets the PrivateSkillIds field's value.
16395func (s *PutInvitationConfigurationInput) SetPrivateSkillIds(v []*string) *PutInvitationConfigurationInput {
16396	s.PrivateSkillIds = v
16397	return s
16398}
16399
16400type PutInvitationConfigurationOutput struct {
16401	_ struct{} `type:"structure"`
16402}
16403
16404// String returns the string representation
16405func (s PutInvitationConfigurationOutput) String() string {
16406	return awsutil.Prettify(s)
16407}
16408
16409// GoString returns the string representation
16410func (s PutInvitationConfigurationOutput) GoString() string {
16411	return s.String()
16412}
16413
16414type PutRoomSkillParameterInput struct {
16415	_ struct{} `type:"structure"`
16416
16417	// The ARN of the room associated with the room skill parameter. Required.
16418	RoomArn *string `type:"string"`
16419
16420	// The updated room skill parameter. Required.
16421	//
16422	// RoomSkillParameter is a required field
16423	RoomSkillParameter *RoomSkillParameter `type:"structure" required:"true"`
16424
16425	// The ARN of the skill associated with the room skill parameter. Required.
16426	//
16427	// SkillId is a required field
16428	SkillId *string `type:"string" required:"true"`
16429}
16430
16431// String returns the string representation
16432func (s PutRoomSkillParameterInput) String() string {
16433	return awsutil.Prettify(s)
16434}
16435
16436// GoString returns the string representation
16437func (s PutRoomSkillParameterInput) GoString() string {
16438	return s.String()
16439}
16440
16441// Validate inspects the fields of the type to determine if they are valid.
16442func (s *PutRoomSkillParameterInput) Validate() error {
16443	invalidParams := request.ErrInvalidParams{Context: "PutRoomSkillParameterInput"}
16444	if s.RoomSkillParameter == nil {
16445		invalidParams.Add(request.NewErrParamRequired("RoomSkillParameter"))
16446	}
16447	if s.SkillId == nil {
16448		invalidParams.Add(request.NewErrParamRequired("SkillId"))
16449	}
16450	if s.RoomSkillParameter != nil {
16451		if err := s.RoomSkillParameter.Validate(); err != nil {
16452			invalidParams.AddNested("RoomSkillParameter", err.(request.ErrInvalidParams))
16453		}
16454	}
16455
16456	if invalidParams.Len() > 0 {
16457		return invalidParams
16458	}
16459	return nil
16460}
16461
16462// SetRoomArn sets the RoomArn field's value.
16463func (s *PutRoomSkillParameterInput) SetRoomArn(v string) *PutRoomSkillParameterInput {
16464	s.RoomArn = &v
16465	return s
16466}
16467
16468// SetRoomSkillParameter sets the RoomSkillParameter field's value.
16469func (s *PutRoomSkillParameterInput) SetRoomSkillParameter(v *RoomSkillParameter) *PutRoomSkillParameterInput {
16470	s.RoomSkillParameter = v
16471	return s
16472}
16473
16474// SetSkillId sets the SkillId field's value.
16475func (s *PutRoomSkillParameterInput) SetSkillId(v string) *PutRoomSkillParameterInput {
16476	s.SkillId = &v
16477	return s
16478}
16479
16480type PutRoomSkillParameterOutput struct {
16481	_ struct{} `type:"structure"`
16482}
16483
16484// String returns the string representation
16485func (s PutRoomSkillParameterOutput) String() string {
16486	return awsutil.Prettify(s)
16487}
16488
16489// GoString returns the string representation
16490func (s PutRoomSkillParameterOutput) GoString() string {
16491	return s.String()
16492}
16493
16494type PutSkillAuthorizationInput struct {
16495	_ struct{} `type:"structure"`
16496
16497	// The authorization result specific to OAUTH code grant output. "Code” must
16498	// be populated in the AuthorizationResult map to establish the authorization.
16499	//
16500	// AuthorizationResult is a required field
16501	AuthorizationResult map[string]*string `type:"map" required:"true" sensitive:"true"`
16502
16503	// The room that the skill is authorized for.
16504	RoomArn *string `type:"string"`
16505
16506	// The unique identifier of a skill.
16507	//
16508	// SkillId is a required field
16509	SkillId *string `type:"string" required:"true"`
16510}
16511
16512// String returns the string representation
16513func (s PutSkillAuthorizationInput) String() string {
16514	return awsutil.Prettify(s)
16515}
16516
16517// GoString returns the string representation
16518func (s PutSkillAuthorizationInput) GoString() string {
16519	return s.String()
16520}
16521
16522// Validate inspects the fields of the type to determine if they are valid.
16523func (s *PutSkillAuthorizationInput) Validate() error {
16524	invalidParams := request.ErrInvalidParams{Context: "PutSkillAuthorizationInput"}
16525	if s.AuthorizationResult == nil {
16526		invalidParams.Add(request.NewErrParamRequired("AuthorizationResult"))
16527	}
16528	if s.SkillId == nil {
16529		invalidParams.Add(request.NewErrParamRequired("SkillId"))
16530	}
16531
16532	if invalidParams.Len() > 0 {
16533		return invalidParams
16534	}
16535	return nil
16536}
16537
16538// SetAuthorizationResult sets the AuthorizationResult field's value.
16539func (s *PutSkillAuthorizationInput) SetAuthorizationResult(v map[string]*string) *PutSkillAuthorizationInput {
16540	s.AuthorizationResult = v
16541	return s
16542}
16543
16544// SetRoomArn sets the RoomArn field's value.
16545func (s *PutSkillAuthorizationInput) SetRoomArn(v string) *PutSkillAuthorizationInput {
16546	s.RoomArn = &v
16547	return s
16548}
16549
16550// SetSkillId sets the SkillId field's value.
16551func (s *PutSkillAuthorizationInput) SetSkillId(v string) *PutSkillAuthorizationInput {
16552	s.SkillId = &v
16553	return s
16554}
16555
16556type PutSkillAuthorizationOutput struct {
16557	_ struct{} `type:"structure"`
16558}
16559
16560// String returns the string representation
16561func (s PutSkillAuthorizationOutput) String() string {
16562	return awsutil.Prettify(s)
16563}
16564
16565// GoString returns the string representation
16566func (s PutSkillAuthorizationOutput) GoString() string {
16567	return s.String()
16568}
16569
16570type RegisterAVSDeviceInput struct {
16571	_ struct{} `type:"structure"`
16572
16573	// The device type ID for your AVS device generated by Amazon when the OEM creates
16574	// a new product on Amazon's Developer Console.
16575	//
16576	// AmazonId is a required field
16577	AmazonId *string `type:"string" required:"true"`
16578
16579	// The client ID of the OEM used for code-based linking authorization on an
16580	// AVS device.
16581	//
16582	// ClientId is a required field
16583	ClientId *string `type:"string" required:"true"`
16584
16585	// The key generated by the OEM that uniquely identifies a specified instance
16586	// of your AVS device.
16587	DeviceSerialNumber *string `type:"string"`
16588
16589	// The product ID used to identify your AVS device during authorization.
16590	//
16591	// ProductId is a required field
16592	ProductId *string `type:"string" required:"true"`
16593
16594	// The ARN of the room with which to associate your AVS device.
16595	RoomArn *string `type:"string"`
16596
16597	// The code that is obtained after your AVS device has made a POST request to
16598	// LWA as a part of the Device Authorization Request component of the OAuth
16599	// code-based linking specification.
16600	//
16601	// UserCode is a required field
16602	UserCode *string `min:"1" type:"string" required:"true"`
16603}
16604
16605// String returns the string representation
16606func (s RegisterAVSDeviceInput) String() string {
16607	return awsutil.Prettify(s)
16608}
16609
16610// GoString returns the string representation
16611func (s RegisterAVSDeviceInput) GoString() string {
16612	return s.String()
16613}
16614
16615// Validate inspects the fields of the type to determine if they are valid.
16616func (s *RegisterAVSDeviceInput) Validate() error {
16617	invalidParams := request.ErrInvalidParams{Context: "RegisterAVSDeviceInput"}
16618	if s.AmazonId == nil {
16619		invalidParams.Add(request.NewErrParamRequired("AmazonId"))
16620	}
16621	if s.ClientId == nil {
16622		invalidParams.Add(request.NewErrParamRequired("ClientId"))
16623	}
16624	if s.ProductId == nil {
16625		invalidParams.Add(request.NewErrParamRequired("ProductId"))
16626	}
16627	if s.UserCode == nil {
16628		invalidParams.Add(request.NewErrParamRequired("UserCode"))
16629	}
16630	if s.UserCode != nil && len(*s.UserCode) < 1 {
16631		invalidParams.Add(request.NewErrParamMinLen("UserCode", 1))
16632	}
16633
16634	if invalidParams.Len() > 0 {
16635		return invalidParams
16636	}
16637	return nil
16638}
16639
16640// SetAmazonId sets the AmazonId field's value.
16641func (s *RegisterAVSDeviceInput) SetAmazonId(v string) *RegisterAVSDeviceInput {
16642	s.AmazonId = &v
16643	return s
16644}
16645
16646// SetClientId sets the ClientId field's value.
16647func (s *RegisterAVSDeviceInput) SetClientId(v string) *RegisterAVSDeviceInput {
16648	s.ClientId = &v
16649	return s
16650}
16651
16652// SetDeviceSerialNumber sets the DeviceSerialNumber field's value.
16653func (s *RegisterAVSDeviceInput) SetDeviceSerialNumber(v string) *RegisterAVSDeviceInput {
16654	s.DeviceSerialNumber = &v
16655	return s
16656}
16657
16658// SetProductId sets the ProductId field's value.
16659func (s *RegisterAVSDeviceInput) SetProductId(v string) *RegisterAVSDeviceInput {
16660	s.ProductId = &v
16661	return s
16662}
16663
16664// SetRoomArn sets the RoomArn field's value.
16665func (s *RegisterAVSDeviceInput) SetRoomArn(v string) *RegisterAVSDeviceInput {
16666	s.RoomArn = &v
16667	return s
16668}
16669
16670// SetUserCode sets the UserCode field's value.
16671func (s *RegisterAVSDeviceInput) SetUserCode(v string) *RegisterAVSDeviceInput {
16672	s.UserCode = &v
16673	return s
16674}
16675
16676type RegisterAVSDeviceOutput struct {
16677	_ struct{} `type:"structure"`
16678
16679	// The ARN of the device.
16680	DeviceArn *string `type:"string"`
16681}
16682
16683// String returns the string representation
16684func (s RegisterAVSDeviceOutput) String() string {
16685	return awsutil.Prettify(s)
16686}
16687
16688// GoString returns the string representation
16689func (s RegisterAVSDeviceOutput) GoString() string {
16690	return s.String()
16691}
16692
16693// SetDeviceArn sets the DeviceArn field's value.
16694func (s *RegisterAVSDeviceOutput) SetDeviceArn(v string) *RegisterAVSDeviceOutput {
16695	s.DeviceArn = &v
16696	return s
16697}
16698
16699type RejectSkillInput struct {
16700	_ struct{} `type:"structure"`
16701
16702	// The unique identifier of the skill.
16703	//
16704	// SkillId is a required field
16705	SkillId *string `type:"string" required:"true"`
16706}
16707
16708// String returns the string representation
16709func (s RejectSkillInput) String() string {
16710	return awsutil.Prettify(s)
16711}
16712
16713// GoString returns the string representation
16714func (s RejectSkillInput) GoString() string {
16715	return s.String()
16716}
16717
16718// Validate inspects the fields of the type to determine if they are valid.
16719func (s *RejectSkillInput) Validate() error {
16720	invalidParams := request.ErrInvalidParams{Context: "RejectSkillInput"}
16721	if s.SkillId == nil {
16722		invalidParams.Add(request.NewErrParamRequired("SkillId"))
16723	}
16724
16725	if invalidParams.Len() > 0 {
16726		return invalidParams
16727	}
16728	return nil
16729}
16730
16731// SetSkillId sets the SkillId field's value.
16732func (s *RejectSkillInput) SetSkillId(v string) *RejectSkillInput {
16733	s.SkillId = &v
16734	return s
16735}
16736
16737type RejectSkillOutput struct {
16738	_ struct{} `type:"structure"`
16739}
16740
16741// String returns the string representation
16742func (s RejectSkillOutput) String() string {
16743	return awsutil.Prettify(s)
16744}
16745
16746// GoString returns the string representation
16747func (s RejectSkillOutput) GoString() string {
16748	return s.String()
16749}
16750
16751// Settings for the require check in feature that are applied to a room profile.
16752// Require check in allows a meeting room’s Alexa or AVS device to prompt
16753// the user to check in; otherwise, the room will be released.
16754type RequireCheckIn struct {
16755	_ struct{} `type:"structure"`
16756
16757	// Whether require check in is enabled or not.
16758	Enabled *bool `type:"boolean"`
16759
16760	// Duration between 5 and 20 minutes to determine when to release the room if
16761	// it's not checked into.
16762	ReleaseAfterMinutes *int64 `type:"integer"`
16763}
16764
16765// String returns the string representation
16766func (s RequireCheckIn) String() string {
16767	return awsutil.Prettify(s)
16768}
16769
16770// GoString returns the string representation
16771func (s RequireCheckIn) GoString() string {
16772	return s.String()
16773}
16774
16775// SetEnabled sets the Enabled field's value.
16776func (s *RequireCheckIn) SetEnabled(v bool) *RequireCheckIn {
16777	s.Enabled = &v
16778	return s
16779}
16780
16781// SetReleaseAfterMinutes sets the ReleaseAfterMinutes field's value.
16782func (s *RequireCheckIn) SetReleaseAfterMinutes(v int64) *RequireCheckIn {
16783	s.ReleaseAfterMinutes = &v
16784	return s
16785}
16786
16787type ResolveRoomInput struct {
16788	_ struct{} `type:"structure"`
16789
16790	// The ARN of the skill that was requested. Required.
16791	//
16792	// SkillId is a required field
16793	SkillId *string `type:"string" required:"true"`
16794
16795	// The ARN of the user. Required.
16796	//
16797	// UserId is a required field
16798	UserId *string `type:"string" required:"true"`
16799}
16800
16801// String returns the string representation
16802func (s ResolveRoomInput) String() string {
16803	return awsutil.Prettify(s)
16804}
16805
16806// GoString returns the string representation
16807func (s ResolveRoomInput) GoString() string {
16808	return s.String()
16809}
16810
16811// Validate inspects the fields of the type to determine if they are valid.
16812func (s *ResolveRoomInput) Validate() error {
16813	invalidParams := request.ErrInvalidParams{Context: "ResolveRoomInput"}
16814	if s.SkillId == nil {
16815		invalidParams.Add(request.NewErrParamRequired("SkillId"))
16816	}
16817	if s.UserId == nil {
16818		invalidParams.Add(request.NewErrParamRequired("UserId"))
16819	}
16820
16821	if invalidParams.Len() > 0 {
16822		return invalidParams
16823	}
16824	return nil
16825}
16826
16827// SetSkillId sets the SkillId field's value.
16828func (s *ResolveRoomInput) SetSkillId(v string) *ResolveRoomInput {
16829	s.SkillId = &v
16830	return s
16831}
16832
16833// SetUserId sets the UserId field's value.
16834func (s *ResolveRoomInput) SetUserId(v string) *ResolveRoomInput {
16835	s.UserId = &v
16836	return s
16837}
16838
16839type ResolveRoomOutput struct {
16840	_ struct{} `type:"structure"`
16841
16842	// The ARN of the room from which the skill request was invoked.
16843	RoomArn *string `type:"string"`
16844
16845	// The name of the room from which the skill request was invoked.
16846	RoomName *string `min:"1" type:"string"`
16847
16848	// Response to get the room profile request. Required.
16849	RoomSkillParameters []*RoomSkillParameter `type:"list"`
16850}
16851
16852// String returns the string representation
16853func (s ResolveRoomOutput) String() string {
16854	return awsutil.Prettify(s)
16855}
16856
16857// GoString returns the string representation
16858func (s ResolveRoomOutput) GoString() string {
16859	return s.String()
16860}
16861
16862// SetRoomArn sets the RoomArn field's value.
16863func (s *ResolveRoomOutput) SetRoomArn(v string) *ResolveRoomOutput {
16864	s.RoomArn = &v
16865	return s
16866}
16867
16868// SetRoomName sets the RoomName field's value.
16869func (s *ResolveRoomOutput) SetRoomName(v string) *ResolveRoomOutput {
16870	s.RoomName = &v
16871	return s
16872}
16873
16874// SetRoomSkillParameters sets the RoomSkillParameters field's value.
16875func (s *ResolveRoomOutput) SetRoomSkillParameters(v []*RoomSkillParameter) *ResolveRoomOutput {
16876	s.RoomSkillParameters = v
16877	return s
16878}
16879
16880// Another resource is associated with the resource in the request.
16881type ResourceAssociatedException struct {
16882	_            struct{}                  `type:"structure"`
16883	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16884
16885	Message_ *string `locationName:"Message" type:"string"`
16886}
16887
16888// String returns the string representation
16889func (s ResourceAssociatedException) String() string {
16890	return awsutil.Prettify(s)
16891}
16892
16893// GoString returns the string representation
16894func (s ResourceAssociatedException) GoString() string {
16895	return s.String()
16896}
16897
16898func newErrorResourceAssociatedException(v protocol.ResponseMetadata) error {
16899	return &ResourceAssociatedException{
16900		RespMetadata: v,
16901	}
16902}
16903
16904// Code returns the exception type name.
16905func (s *ResourceAssociatedException) Code() string {
16906	return "ResourceAssociatedException"
16907}
16908
16909// Message returns the exception's message.
16910func (s *ResourceAssociatedException) Message() string {
16911	if s.Message_ != nil {
16912		return *s.Message_
16913	}
16914	return ""
16915}
16916
16917// OrigErr always returns nil, satisfies awserr.Error interface.
16918func (s *ResourceAssociatedException) OrigErr() error {
16919	return nil
16920}
16921
16922func (s *ResourceAssociatedException) Error() string {
16923	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16924}
16925
16926// Status code returns the HTTP status code for the request's response error.
16927func (s *ResourceAssociatedException) StatusCode() int {
16928	return s.RespMetadata.StatusCode
16929}
16930
16931// RequestID returns the service's response RequestID for request.
16932func (s *ResourceAssociatedException) RequestID() string {
16933	return s.RespMetadata.RequestID
16934}
16935
16936// The resource in the request is already in use.
16937type ResourceInUseException struct {
16938	_            struct{}                  `type:"structure"`
16939	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16940
16941	// A unique, user-specified identifier for the request that ensures idempotency.
16942	ClientRequestToken *string `min:"10" type:"string"`
16943
16944	Message_ *string `locationName:"Message" type:"string"`
16945}
16946
16947// String returns the string representation
16948func (s ResourceInUseException) String() string {
16949	return awsutil.Prettify(s)
16950}
16951
16952// GoString returns the string representation
16953func (s ResourceInUseException) GoString() string {
16954	return s.String()
16955}
16956
16957func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
16958	return &ResourceInUseException{
16959		RespMetadata: v,
16960	}
16961}
16962
16963// Code returns the exception type name.
16964func (s *ResourceInUseException) Code() string {
16965	return "ResourceInUseException"
16966}
16967
16968// Message returns the exception's message.
16969func (s *ResourceInUseException) Message() string {
16970	if s.Message_ != nil {
16971		return *s.Message_
16972	}
16973	return ""
16974}
16975
16976// OrigErr always returns nil, satisfies awserr.Error interface.
16977func (s *ResourceInUseException) OrigErr() error {
16978	return nil
16979}
16980
16981func (s *ResourceInUseException) Error() string {
16982	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
16983}
16984
16985// Status code returns the HTTP status code for the request's response error.
16986func (s *ResourceInUseException) StatusCode() int {
16987	return s.RespMetadata.StatusCode
16988}
16989
16990// RequestID returns the service's response RequestID for request.
16991func (s *ResourceInUseException) RequestID() string {
16992	return s.RespMetadata.RequestID
16993}
16994
16995type RevokeInvitationInput struct {
16996	_ struct{} `type:"structure"`
16997
16998	// The ARN of the enrollment invitation to revoke. Required.
16999	EnrollmentId *string `type:"string"`
17000
17001	// The ARN of the user for whom to revoke an enrollment invitation. Required.
17002	UserArn *string `type:"string"`
17003}
17004
17005// String returns the string representation
17006func (s RevokeInvitationInput) String() string {
17007	return awsutil.Prettify(s)
17008}
17009
17010// GoString returns the string representation
17011func (s RevokeInvitationInput) GoString() string {
17012	return s.String()
17013}
17014
17015// SetEnrollmentId sets the EnrollmentId field's value.
17016func (s *RevokeInvitationInput) SetEnrollmentId(v string) *RevokeInvitationInput {
17017	s.EnrollmentId = &v
17018	return s
17019}
17020
17021// SetUserArn sets the UserArn field's value.
17022func (s *RevokeInvitationInput) SetUserArn(v string) *RevokeInvitationInput {
17023	s.UserArn = &v
17024	return s
17025}
17026
17027type RevokeInvitationOutput struct {
17028	_ struct{} `type:"structure"`
17029}
17030
17031// String returns the string representation
17032func (s RevokeInvitationOutput) String() string {
17033	return awsutil.Prettify(s)
17034}
17035
17036// GoString returns the string representation
17037func (s RevokeInvitationOutput) GoString() string {
17038	return s.String()
17039}
17040
17041// A room with attributes.
17042type Room struct {
17043	_ struct{} `type:"structure"`
17044
17045	// The description of a room.
17046	Description *string `min:"1" type:"string"`
17047
17048	// The profile ARN of a room.
17049	ProfileArn *string `type:"string"`
17050
17051	// The provider calendar ARN of a room.
17052	ProviderCalendarId *string `type:"string"`
17053
17054	// The ARN of a room.
17055	RoomArn *string `type:"string"`
17056
17057	// The name of a room.
17058	RoomName *string `min:"1" type:"string"`
17059}
17060
17061// String returns the string representation
17062func (s Room) String() string {
17063	return awsutil.Prettify(s)
17064}
17065
17066// GoString returns the string representation
17067func (s Room) GoString() string {
17068	return s.String()
17069}
17070
17071// SetDescription sets the Description field's value.
17072func (s *Room) SetDescription(v string) *Room {
17073	s.Description = &v
17074	return s
17075}
17076
17077// SetProfileArn sets the ProfileArn field's value.
17078func (s *Room) SetProfileArn(v string) *Room {
17079	s.ProfileArn = &v
17080	return s
17081}
17082
17083// SetProviderCalendarId sets the ProviderCalendarId field's value.
17084func (s *Room) SetProviderCalendarId(v string) *Room {
17085	s.ProviderCalendarId = &v
17086	return s
17087}
17088
17089// SetRoomArn sets the RoomArn field's value.
17090func (s *Room) SetRoomArn(v string) *Room {
17091	s.RoomArn = &v
17092	return s
17093}
17094
17095// SetRoomName sets the RoomName field's value.
17096func (s *Room) SetRoomName(v string) *Room {
17097	s.RoomName = &v
17098	return s
17099}
17100
17101// The data of a room.
17102type RoomData struct {
17103	_ struct{} `type:"structure"`
17104
17105	// The description of a room.
17106	Description *string `min:"1" type:"string"`
17107
17108	// The profile ARN of a room.
17109	ProfileArn *string `type:"string"`
17110
17111	// The profile name of a room.
17112	ProfileName *string `min:"1" type:"string"`
17113
17114	// The provider calendar ARN of a room.
17115	ProviderCalendarId *string `type:"string"`
17116
17117	// The ARN of a room.
17118	RoomArn *string `type:"string"`
17119
17120	// The name of a room.
17121	RoomName *string `min:"1" type:"string"`
17122}
17123
17124// String returns the string representation
17125func (s RoomData) String() string {
17126	return awsutil.Prettify(s)
17127}
17128
17129// GoString returns the string representation
17130func (s RoomData) GoString() string {
17131	return s.String()
17132}
17133
17134// SetDescription sets the Description field's value.
17135func (s *RoomData) SetDescription(v string) *RoomData {
17136	s.Description = &v
17137	return s
17138}
17139
17140// SetProfileArn sets the ProfileArn field's value.
17141func (s *RoomData) SetProfileArn(v string) *RoomData {
17142	s.ProfileArn = &v
17143	return s
17144}
17145
17146// SetProfileName sets the ProfileName field's value.
17147func (s *RoomData) SetProfileName(v string) *RoomData {
17148	s.ProfileName = &v
17149	return s
17150}
17151
17152// SetProviderCalendarId sets the ProviderCalendarId field's value.
17153func (s *RoomData) SetProviderCalendarId(v string) *RoomData {
17154	s.ProviderCalendarId = &v
17155	return s
17156}
17157
17158// SetRoomArn sets the RoomArn field's value.
17159func (s *RoomData) SetRoomArn(v string) *RoomData {
17160	s.RoomArn = &v
17161	return s
17162}
17163
17164// SetRoomName sets the RoomName field's value.
17165func (s *RoomData) SetRoomName(v string) *RoomData {
17166	s.RoomName = &v
17167	return s
17168}
17169
17170// A skill parameter associated with a room.
17171type RoomSkillParameter struct {
17172	_ struct{} `type:"structure"`
17173
17174	// The parameter key of a room skill parameter. ParameterKey is an enumerated
17175	// type that only takes “DEFAULT” or “SCOPE” as valid values.
17176	//
17177	// ParameterKey is a required field
17178	ParameterKey *string `min:"1" type:"string" required:"true"`
17179
17180	// The parameter value of a room skill parameter.
17181	//
17182	// ParameterValue is a required field
17183	ParameterValue *string `min:"1" type:"string" required:"true"`
17184}
17185
17186// String returns the string representation
17187func (s RoomSkillParameter) String() string {
17188	return awsutil.Prettify(s)
17189}
17190
17191// GoString returns the string representation
17192func (s RoomSkillParameter) GoString() string {
17193	return s.String()
17194}
17195
17196// Validate inspects the fields of the type to determine if they are valid.
17197func (s *RoomSkillParameter) Validate() error {
17198	invalidParams := request.ErrInvalidParams{Context: "RoomSkillParameter"}
17199	if s.ParameterKey == nil {
17200		invalidParams.Add(request.NewErrParamRequired("ParameterKey"))
17201	}
17202	if s.ParameterKey != nil && len(*s.ParameterKey) < 1 {
17203		invalidParams.Add(request.NewErrParamMinLen("ParameterKey", 1))
17204	}
17205	if s.ParameterValue == nil {
17206		invalidParams.Add(request.NewErrParamRequired("ParameterValue"))
17207	}
17208	if s.ParameterValue != nil && len(*s.ParameterValue) < 1 {
17209		invalidParams.Add(request.NewErrParamMinLen("ParameterValue", 1))
17210	}
17211
17212	if invalidParams.Len() > 0 {
17213		return invalidParams
17214	}
17215	return nil
17216}
17217
17218// SetParameterKey sets the ParameterKey field's value.
17219func (s *RoomSkillParameter) SetParameterKey(v string) *RoomSkillParameter {
17220	s.ParameterKey = &v
17221	return s
17222}
17223
17224// SetParameterValue sets the ParameterValue field's value.
17225func (s *RoomSkillParameter) SetParameterValue(v string) *RoomSkillParameter {
17226	s.ParameterValue = &v
17227	return s
17228}
17229
17230type SearchAddressBooksInput struct {
17231	_ struct{} `type:"structure"`
17232
17233	// The filters to use to list a specified set of address books. The supported
17234	// filter key is AddressBookName.
17235	Filters []*Filter `type:"list"`
17236
17237	// The maximum number of results to include in the response. If more results
17238	// exist than the specified MaxResults value, a token is included in the response
17239	// so that the remaining results can be retrieved.
17240	MaxResults *int64 `min:"1" type:"integer"`
17241
17242	// An optional token returned from a prior request. Use this token for pagination
17243	// of results from this action. If this parameter is specified, the response
17244	// only includes results beyond the token, up to the value specified by MaxResults.
17245	NextToken *string `min:"1" type:"string"`
17246
17247	// The sort order to use in listing the specified set of address books. The
17248	// supported sort key is AddressBookName.
17249	SortCriteria []*Sort `type:"list"`
17250}
17251
17252// String returns the string representation
17253func (s SearchAddressBooksInput) String() string {
17254	return awsutil.Prettify(s)
17255}
17256
17257// GoString returns the string representation
17258func (s SearchAddressBooksInput) GoString() string {
17259	return s.String()
17260}
17261
17262// Validate inspects the fields of the type to determine if they are valid.
17263func (s *SearchAddressBooksInput) Validate() error {
17264	invalidParams := request.ErrInvalidParams{Context: "SearchAddressBooksInput"}
17265	if s.MaxResults != nil && *s.MaxResults < 1 {
17266		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
17267	}
17268	if s.NextToken != nil && len(*s.NextToken) < 1 {
17269		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
17270	}
17271	if s.Filters != nil {
17272		for i, v := range s.Filters {
17273			if v == nil {
17274				continue
17275			}
17276			if err := v.Validate(); err != nil {
17277				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
17278			}
17279		}
17280	}
17281	if s.SortCriteria != nil {
17282		for i, v := range s.SortCriteria {
17283			if v == nil {
17284				continue
17285			}
17286			if err := v.Validate(); err != nil {
17287				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortCriteria", i), err.(request.ErrInvalidParams))
17288			}
17289		}
17290	}
17291
17292	if invalidParams.Len() > 0 {
17293		return invalidParams
17294	}
17295	return nil
17296}
17297
17298// SetFilters sets the Filters field's value.
17299func (s *SearchAddressBooksInput) SetFilters(v []*Filter) *SearchAddressBooksInput {
17300	s.Filters = v
17301	return s
17302}
17303
17304// SetMaxResults sets the MaxResults field's value.
17305func (s *SearchAddressBooksInput) SetMaxResults(v int64) *SearchAddressBooksInput {
17306	s.MaxResults = &v
17307	return s
17308}
17309
17310// SetNextToken sets the NextToken field's value.
17311func (s *SearchAddressBooksInput) SetNextToken(v string) *SearchAddressBooksInput {
17312	s.NextToken = &v
17313	return s
17314}
17315
17316// SetSortCriteria sets the SortCriteria field's value.
17317func (s *SearchAddressBooksInput) SetSortCriteria(v []*Sort) *SearchAddressBooksInput {
17318	s.SortCriteria = v
17319	return s
17320}
17321
17322type SearchAddressBooksOutput struct {
17323	_ struct{} `type:"structure"`
17324
17325	// The address books that meet the specified set of filter criteria, in sort
17326	// order.
17327	AddressBooks []*AddressBookData `type:"list"`
17328
17329	// The token returned to indicate that there is more data available.
17330	NextToken *string `min:"1" type:"string"`
17331
17332	// The total number of address books returned.
17333	TotalCount *int64 `type:"integer"`
17334}
17335
17336// String returns the string representation
17337func (s SearchAddressBooksOutput) String() string {
17338	return awsutil.Prettify(s)
17339}
17340
17341// GoString returns the string representation
17342func (s SearchAddressBooksOutput) GoString() string {
17343	return s.String()
17344}
17345
17346// SetAddressBooks sets the AddressBooks field's value.
17347func (s *SearchAddressBooksOutput) SetAddressBooks(v []*AddressBookData) *SearchAddressBooksOutput {
17348	s.AddressBooks = v
17349	return s
17350}
17351
17352// SetNextToken sets the NextToken field's value.
17353func (s *SearchAddressBooksOutput) SetNextToken(v string) *SearchAddressBooksOutput {
17354	s.NextToken = &v
17355	return s
17356}
17357
17358// SetTotalCount sets the TotalCount field's value.
17359func (s *SearchAddressBooksOutput) SetTotalCount(v int64) *SearchAddressBooksOutput {
17360	s.TotalCount = &v
17361	return s
17362}
17363
17364type SearchContactsInput struct {
17365	_ struct{} `type:"structure"`
17366
17367	// The filters to use to list a specified set of address books. The supported
17368	// filter keys are DisplayName, FirstName, LastName, and AddressBookArns.
17369	Filters []*Filter `type:"list"`
17370
17371	// The maximum number of results to include in the response. If more results
17372	// exist than the specified MaxResults value, a token is included in the response
17373	// so that the remaining results can be retrieved.
17374	MaxResults *int64 `min:"1" type:"integer"`
17375
17376	// An optional token returned from a prior request. Use this token for pagination
17377	// of results from this action. If this parameter is specified, the response
17378	// only includes results beyond the token, up to the value specified by MaxResults.
17379	NextToken *string `min:"1" type:"string"`
17380
17381	// The sort order to use in listing the specified set of contacts. The supported
17382	// sort keys are DisplayName, FirstName, and LastName.
17383	SortCriteria []*Sort `type:"list"`
17384}
17385
17386// String returns the string representation
17387func (s SearchContactsInput) String() string {
17388	return awsutil.Prettify(s)
17389}
17390
17391// GoString returns the string representation
17392func (s SearchContactsInput) GoString() string {
17393	return s.String()
17394}
17395
17396// Validate inspects the fields of the type to determine if they are valid.
17397func (s *SearchContactsInput) Validate() error {
17398	invalidParams := request.ErrInvalidParams{Context: "SearchContactsInput"}
17399	if s.MaxResults != nil && *s.MaxResults < 1 {
17400		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
17401	}
17402	if s.NextToken != nil && len(*s.NextToken) < 1 {
17403		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
17404	}
17405	if s.Filters != nil {
17406		for i, v := range s.Filters {
17407			if v == nil {
17408				continue
17409			}
17410			if err := v.Validate(); err != nil {
17411				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
17412			}
17413		}
17414	}
17415	if s.SortCriteria != nil {
17416		for i, v := range s.SortCriteria {
17417			if v == nil {
17418				continue
17419			}
17420			if err := v.Validate(); err != nil {
17421				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortCriteria", i), err.(request.ErrInvalidParams))
17422			}
17423		}
17424	}
17425
17426	if invalidParams.Len() > 0 {
17427		return invalidParams
17428	}
17429	return nil
17430}
17431
17432// SetFilters sets the Filters field's value.
17433func (s *SearchContactsInput) SetFilters(v []*Filter) *SearchContactsInput {
17434	s.Filters = v
17435	return s
17436}
17437
17438// SetMaxResults sets the MaxResults field's value.
17439func (s *SearchContactsInput) SetMaxResults(v int64) *SearchContactsInput {
17440	s.MaxResults = &v
17441	return s
17442}
17443
17444// SetNextToken sets the NextToken field's value.
17445func (s *SearchContactsInput) SetNextToken(v string) *SearchContactsInput {
17446	s.NextToken = &v
17447	return s
17448}
17449
17450// SetSortCriteria sets the SortCriteria field's value.
17451func (s *SearchContactsInput) SetSortCriteria(v []*Sort) *SearchContactsInput {
17452	s.SortCriteria = v
17453	return s
17454}
17455
17456type SearchContactsOutput struct {
17457	_ struct{} `type:"structure"`
17458
17459	// The contacts that meet the specified set of filter criteria, in sort order.
17460	Contacts []*ContactData `type:"list"`
17461
17462	// The token returned to indicate that there is more data available.
17463	NextToken *string `min:"1" type:"string"`
17464
17465	// The total number of contacts returned.
17466	TotalCount *int64 `type:"integer"`
17467}
17468
17469// String returns the string representation
17470func (s SearchContactsOutput) String() string {
17471	return awsutil.Prettify(s)
17472}
17473
17474// GoString returns the string representation
17475func (s SearchContactsOutput) GoString() string {
17476	return s.String()
17477}
17478
17479// SetContacts sets the Contacts field's value.
17480func (s *SearchContactsOutput) SetContacts(v []*ContactData) *SearchContactsOutput {
17481	s.Contacts = v
17482	return s
17483}
17484
17485// SetNextToken sets the NextToken field's value.
17486func (s *SearchContactsOutput) SetNextToken(v string) *SearchContactsOutput {
17487	s.NextToken = &v
17488	return s
17489}
17490
17491// SetTotalCount sets the TotalCount field's value.
17492func (s *SearchContactsOutput) SetTotalCount(v int64) *SearchContactsOutput {
17493	s.TotalCount = &v
17494	return s
17495}
17496
17497type SearchDevicesInput struct {
17498	_ struct{} `type:"structure"`
17499
17500	// The filters to use to list a specified set of devices. Supported filter keys
17501	// are DeviceName, DeviceStatus, DeviceStatusDetailCode, RoomName, DeviceType,
17502	// DeviceSerialNumber, UnassociatedOnly, ConnectionStatus (ONLINE and OFFLINE),
17503	// NetworkProfileName, NetworkProfileArn, Feature, and FailureCode.
17504	Filters []*Filter `type:"list"`
17505
17506	// The maximum number of results to include in the response. If more results
17507	// exist than the specified MaxResults value, a token is included in the response
17508	// so that the remaining results can be retrieved.
17509	MaxResults *int64 `min:"1" type:"integer"`
17510
17511	// An optional token returned from a prior request. Use this token for pagination
17512	// of results from this action. If this parameter is specified, the response
17513	// includes only results beyond the token, up to the value specified by MaxResults.
17514	NextToken *string `min:"1" type:"string"`
17515
17516	// The sort order to use in listing the specified set of devices. Supported
17517	// sort keys are DeviceName, DeviceStatus, RoomName, DeviceType, DeviceSerialNumber,
17518	// ConnectionStatus, NetworkProfileName, NetworkProfileArn, Feature, and FailureCode.
17519	SortCriteria []*Sort `type:"list"`
17520}
17521
17522// String returns the string representation
17523func (s SearchDevicesInput) String() string {
17524	return awsutil.Prettify(s)
17525}
17526
17527// GoString returns the string representation
17528func (s SearchDevicesInput) GoString() string {
17529	return s.String()
17530}
17531
17532// Validate inspects the fields of the type to determine if they are valid.
17533func (s *SearchDevicesInput) Validate() error {
17534	invalidParams := request.ErrInvalidParams{Context: "SearchDevicesInput"}
17535	if s.MaxResults != nil && *s.MaxResults < 1 {
17536		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
17537	}
17538	if s.NextToken != nil && len(*s.NextToken) < 1 {
17539		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
17540	}
17541	if s.Filters != nil {
17542		for i, v := range s.Filters {
17543			if v == nil {
17544				continue
17545			}
17546			if err := v.Validate(); err != nil {
17547				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
17548			}
17549		}
17550	}
17551	if s.SortCriteria != nil {
17552		for i, v := range s.SortCriteria {
17553			if v == nil {
17554				continue
17555			}
17556			if err := v.Validate(); err != nil {
17557				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortCriteria", i), err.(request.ErrInvalidParams))
17558			}
17559		}
17560	}
17561
17562	if invalidParams.Len() > 0 {
17563		return invalidParams
17564	}
17565	return nil
17566}
17567
17568// SetFilters sets the Filters field's value.
17569func (s *SearchDevicesInput) SetFilters(v []*Filter) *SearchDevicesInput {
17570	s.Filters = v
17571	return s
17572}
17573
17574// SetMaxResults sets the MaxResults field's value.
17575func (s *SearchDevicesInput) SetMaxResults(v int64) *SearchDevicesInput {
17576	s.MaxResults = &v
17577	return s
17578}
17579
17580// SetNextToken sets the NextToken field's value.
17581func (s *SearchDevicesInput) SetNextToken(v string) *SearchDevicesInput {
17582	s.NextToken = &v
17583	return s
17584}
17585
17586// SetSortCriteria sets the SortCriteria field's value.
17587func (s *SearchDevicesInput) SetSortCriteria(v []*Sort) *SearchDevicesInput {
17588	s.SortCriteria = v
17589	return s
17590}
17591
17592type SearchDevicesOutput struct {
17593	_ struct{} `type:"structure"`
17594
17595	// The devices that meet the specified set of filter criteria, in sort order.
17596	Devices []*DeviceData `type:"list"`
17597
17598	// The token returned to indicate that there is more data available.
17599	NextToken *string `min:"1" type:"string"`
17600
17601	// The total number of devices returned.
17602	TotalCount *int64 `type:"integer"`
17603}
17604
17605// String returns the string representation
17606func (s SearchDevicesOutput) String() string {
17607	return awsutil.Prettify(s)
17608}
17609
17610// GoString returns the string representation
17611func (s SearchDevicesOutput) GoString() string {
17612	return s.String()
17613}
17614
17615// SetDevices sets the Devices field's value.
17616func (s *SearchDevicesOutput) SetDevices(v []*DeviceData) *SearchDevicesOutput {
17617	s.Devices = v
17618	return s
17619}
17620
17621// SetNextToken sets the NextToken field's value.
17622func (s *SearchDevicesOutput) SetNextToken(v string) *SearchDevicesOutput {
17623	s.NextToken = &v
17624	return s
17625}
17626
17627// SetTotalCount sets the TotalCount field's value.
17628func (s *SearchDevicesOutput) SetTotalCount(v int64) *SearchDevicesOutput {
17629	s.TotalCount = &v
17630	return s
17631}
17632
17633type SearchNetworkProfilesInput struct {
17634	_ struct{} `type:"structure"`
17635
17636	// The filters to use to list a specified set of network profiles. Valid filters
17637	// are NetworkProfileName, Ssid, and SecurityType.
17638	Filters []*Filter `type:"list"`
17639
17640	// The maximum number of results to include in the response. If more results
17641	// exist than the specified MaxResults value, a token is included in the response
17642	// so that the remaining results can be retrieved.
17643	MaxResults *int64 `min:"1" type:"integer"`
17644
17645	// An optional token returned from a prior request. Use this token for pagination
17646	// of results from this action. If this parameter is specified, the response
17647	// includes only results beyond the token, up to the value specified by MaxResults.
17648	NextToken *string `min:"1" type:"string"`
17649
17650	// The sort order to use to list the specified set of network profiles. Valid
17651	// sort criteria includes NetworkProfileName, Ssid, and SecurityType.
17652	SortCriteria []*Sort `type:"list"`
17653}
17654
17655// String returns the string representation
17656func (s SearchNetworkProfilesInput) String() string {
17657	return awsutil.Prettify(s)
17658}
17659
17660// GoString returns the string representation
17661func (s SearchNetworkProfilesInput) GoString() string {
17662	return s.String()
17663}
17664
17665// Validate inspects the fields of the type to determine if they are valid.
17666func (s *SearchNetworkProfilesInput) Validate() error {
17667	invalidParams := request.ErrInvalidParams{Context: "SearchNetworkProfilesInput"}
17668	if s.MaxResults != nil && *s.MaxResults < 1 {
17669		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
17670	}
17671	if s.NextToken != nil && len(*s.NextToken) < 1 {
17672		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
17673	}
17674	if s.Filters != nil {
17675		for i, v := range s.Filters {
17676			if v == nil {
17677				continue
17678			}
17679			if err := v.Validate(); err != nil {
17680				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
17681			}
17682		}
17683	}
17684	if s.SortCriteria != nil {
17685		for i, v := range s.SortCriteria {
17686			if v == nil {
17687				continue
17688			}
17689			if err := v.Validate(); err != nil {
17690				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortCriteria", i), err.(request.ErrInvalidParams))
17691			}
17692		}
17693	}
17694
17695	if invalidParams.Len() > 0 {
17696		return invalidParams
17697	}
17698	return nil
17699}
17700
17701// SetFilters sets the Filters field's value.
17702func (s *SearchNetworkProfilesInput) SetFilters(v []*Filter) *SearchNetworkProfilesInput {
17703	s.Filters = v
17704	return s
17705}
17706
17707// SetMaxResults sets the MaxResults field's value.
17708func (s *SearchNetworkProfilesInput) SetMaxResults(v int64) *SearchNetworkProfilesInput {
17709	s.MaxResults = &v
17710	return s
17711}
17712
17713// SetNextToken sets the NextToken field's value.
17714func (s *SearchNetworkProfilesInput) SetNextToken(v string) *SearchNetworkProfilesInput {
17715	s.NextToken = &v
17716	return s
17717}
17718
17719// SetSortCriteria sets the SortCriteria field's value.
17720func (s *SearchNetworkProfilesInput) SetSortCriteria(v []*Sort) *SearchNetworkProfilesInput {
17721	s.SortCriteria = v
17722	return s
17723}
17724
17725type SearchNetworkProfilesOutput struct {
17726	_ struct{} `type:"structure"`
17727
17728	// The network profiles that meet the specified set of filter criteria, in sort
17729	// order. It is a list of NetworkProfileData objects.
17730	NetworkProfiles []*NetworkProfileData `type:"list"`
17731
17732	// An optional token returned from a prior request. Use this token for pagination
17733	// of results from this action. If this parameter is specified, the response
17734	// includes only results beyond the token, up to the value specified by MaxResults.
17735	NextToken *string `min:"1" type:"string"`
17736
17737	// The total number of network profiles returned.
17738	TotalCount *int64 `type:"integer"`
17739}
17740
17741// String returns the string representation
17742func (s SearchNetworkProfilesOutput) String() string {
17743	return awsutil.Prettify(s)
17744}
17745
17746// GoString returns the string representation
17747func (s SearchNetworkProfilesOutput) GoString() string {
17748	return s.String()
17749}
17750
17751// SetNetworkProfiles sets the NetworkProfiles field's value.
17752func (s *SearchNetworkProfilesOutput) SetNetworkProfiles(v []*NetworkProfileData) *SearchNetworkProfilesOutput {
17753	s.NetworkProfiles = v
17754	return s
17755}
17756
17757// SetNextToken sets the NextToken field's value.
17758func (s *SearchNetworkProfilesOutput) SetNextToken(v string) *SearchNetworkProfilesOutput {
17759	s.NextToken = &v
17760	return s
17761}
17762
17763// SetTotalCount sets the TotalCount field's value.
17764func (s *SearchNetworkProfilesOutput) SetTotalCount(v int64) *SearchNetworkProfilesOutput {
17765	s.TotalCount = &v
17766	return s
17767}
17768
17769type SearchProfilesInput struct {
17770	_ struct{} `type:"structure"`
17771
17772	// The filters to use to list a specified set of room profiles. Supported filter
17773	// keys are ProfileName and Address. Required.
17774	Filters []*Filter `type:"list"`
17775
17776	// The maximum number of results to include in the response. If more results
17777	// exist than the specified MaxResults value, a token is included in the response
17778	// so that the remaining results can be retrieved.
17779	MaxResults *int64 `min:"1" type:"integer"`
17780
17781	// An optional token returned from a prior request. Use this token for pagination
17782	// of results from this action. If this parameter is specified, the response
17783	// includes only results beyond the token, up to the value specified by MaxResults.
17784	NextToken *string `min:"1" type:"string"`
17785
17786	// The sort order to use in listing the specified set of room profiles. Supported
17787	// sort keys are ProfileName and Address.
17788	SortCriteria []*Sort `type:"list"`
17789}
17790
17791// String returns the string representation
17792func (s SearchProfilesInput) String() string {
17793	return awsutil.Prettify(s)
17794}
17795
17796// GoString returns the string representation
17797func (s SearchProfilesInput) GoString() string {
17798	return s.String()
17799}
17800
17801// Validate inspects the fields of the type to determine if they are valid.
17802func (s *SearchProfilesInput) Validate() error {
17803	invalidParams := request.ErrInvalidParams{Context: "SearchProfilesInput"}
17804	if s.MaxResults != nil && *s.MaxResults < 1 {
17805		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
17806	}
17807	if s.NextToken != nil && len(*s.NextToken) < 1 {
17808		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
17809	}
17810	if s.Filters != nil {
17811		for i, v := range s.Filters {
17812			if v == nil {
17813				continue
17814			}
17815			if err := v.Validate(); err != nil {
17816				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
17817			}
17818		}
17819	}
17820	if s.SortCriteria != nil {
17821		for i, v := range s.SortCriteria {
17822			if v == nil {
17823				continue
17824			}
17825			if err := v.Validate(); err != nil {
17826				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortCriteria", i), err.(request.ErrInvalidParams))
17827			}
17828		}
17829	}
17830
17831	if invalidParams.Len() > 0 {
17832		return invalidParams
17833	}
17834	return nil
17835}
17836
17837// SetFilters sets the Filters field's value.
17838func (s *SearchProfilesInput) SetFilters(v []*Filter) *SearchProfilesInput {
17839	s.Filters = v
17840	return s
17841}
17842
17843// SetMaxResults sets the MaxResults field's value.
17844func (s *SearchProfilesInput) SetMaxResults(v int64) *SearchProfilesInput {
17845	s.MaxResults = &v
17846	return s
17847}
17848
17849// SetNextToken sets the NextToken field's value.
17850func (s *SearchProfilesInput) SetNextToken(v string) *SearchProfilesInput {
17851	s.NextToken = &v
17852	return s
17853}
17854
17855// SetSortCriteria sets the SortCriteria field's value.
17856func (s *SearchProfilesInput) SetSortCriteria(v []*Sort) *SearchProfilesInput {
17857	s.SortCriteria = v
17858	return s
17859}
17860
17861type SearchProfilesOutput struct {
17862	_ struct{} `type:"structure"`
17863
17864	// The token returned to indicate that there is more data available.
17865	NextToken *string `min:"1" type:"string"`
17866
17867	// The profiles that meet the specified set of filter criteria, in sort order.
17868	Profiles []*ProfileData `type:"list"`
17869
17870	// The total number of room profiles returned.
17871	TotalCount *int64 `type:"integer"`
17872}
17873
17874// String returns the string representation
17875func (s SearchProfilesOutput) String() string {
17876	return awsutil.Prettify(s)
17877}
17878
17879// GoString returns the string representation
17880func (s SearchProfilesOutput) GoString() string {
17881	return s.String()
17882}
17883
17884// SetNextToken sets the NextToken field's value.
17885func (s *SearchProfilesOutput) SetNextToken(v string) *SearchProfilesOutput {
17886	s.NextToken = &v
17887	return s
17888}
17889
17890// SetProfiles sets the Profiles field's value.
17891func (s *SearchProfilesOutput) SetProfiles(v []*ProfileData) *SearchProfilesOutput {
17892	s.Profiles = v
17893	return s
17894}
17895
17896// SetTotalCount sets the TotalCount field's value.
17897func (s *SearchProfilesOutput) SetTotalCount(v int64) *SearchProfilesOutput {
17898	s.TotalCount = &v
17899	return s
17900}
17901
17902type SearchRoomsInput struct {
17903	_ struct{} `type:"structure"`
17904
17905	// The filters to use to list a specified set of rooms. The supported filter
17906	// keys are RoomName and ProfileName.
17907	Filters []*Filter `type:"list"`
17908
17909	// The maximum number of results to include in the response. If more results
17910	// exist than the specified MaxResults value, a token is included in the response
17911	// so that the remaining results can be retrieved.
17912	MaxResults *int64 `min:"1" type:"integer"`
17913
17914	// An optional token returned from a prior request. Use this token for pagination
17915	// of results from this action. If this parameter is specified, the response
17916	// includes only results beyond the token, up to the value specified by MaxResults.
17917	NextToken *string `min:"1" type:"string"`
17918
17919	// The sort order to use in listing the specified set of rooms. The supported
17920	// sort keys are RoomName and ProfileName.
17921	SortCriteria []*Sort `type:"list"`
17922}
17923
17924// String returns the string representation
17925func (s SearchRoomsInput) String() string {
17926	return awsutil.Prettify(s)
17927}
17928
17929// GoString returns the string representation
17930func (s SearchRoomsInput) GoString() string {
17931	return s.String()
17932}
17933
17934// Validate inspects the fields of the type to determine if they are valid.
17935func (s *SearchRoomsInput) Validate() error {
17936	invalidParams := request.ErrInvalidParams{Context: "SearchRoomsInput"}
17937	if s.MaxResults != nil && *s.MaxResults < 1 {
17938		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
17939	}
17940	if s.NextToken != nil && len(*s.NextToken) < 1 {
17941		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
17942	}
17943	if s.Filters != nil {
17944		for i, v := range s.Filters {
17945			if v == nil {
17946				continue
17947			}
17948			if err := v.Validate(); err != nil {
17949				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
17950			}
17951		}
17952	}
17953	if s.SortCriteria != nil {
17954		for i, v := range s.SortCriteria {
17955			if v == nil {
17956				continue
17957			}
17958			if err := v.Validate(); err != nil {
17959				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortCriteria", i), err.(request.ErrInvalidParams))
17960			}
17961		}
17962	}
17963
17964	if invalidParams.Len() > 0 {
17965		return invalidParams
17966	}
17967	return nil
17968}
17969
17970// SetFilters sets the Filters field's value.
17971func (s *SearchRoomsInput) SetFilters(v []*Filter) *SearchRoomsInput {
17972	s.Filters = v
17973	return s
17974}
17975
17976// SetMaxResults sets the MaxResults field's value.
17977func (s *SearchRoomsInput) SetMaxResults(v int64) *SearchRoomsInput {
17978	s.MaxResults = &v
17979	return s
17980}
17981
17982// SetNextToken sets the NextToken field's value.
17983func (s *SearchRoomsInput) SetNextToken(v string) *SearchRoomsInput {
17984	s.NextToken = &v
17985	return s
17986}
17987
17988// SetSortCriteria sets the SortCriteria field's value.
17989func (s *SearchRoomsInput) SetSortCriteria(v []*Sort) *SearchRoomsInput {
17990	s.SortCriteria = v
17991	return s
17992}
17993
17994type SearchRoomsOutput struct {
17995	_ struct{} `type:"structure"`
17996
17997	// The token returned to indicate that there is more data available.
17998	NextToken *string `min:"1" type:"string"`
17999
18000	// The rooms that meet the specified set of filter criteria, in sort order.
18001	Rooms []*RoomData `type:"list"`
18002
18003	// The total number of rooms returned.
18004	TotalCount *int64 `type:"integer"`
18005}
18006
18007// String returns the string representation
18008func (s SearchRoomsOutput) String() string {
18009	return awsutil.Prettify(s)
18010}
18011
18012// GoString returns the string representation
18013func (s SearchRoomsOutput) GoString() string {
18014	return s.String()
18015}
18016
18017// SetNextToken sets the NextToken field's value.
18018func (s *SearchRoomsOutput) SetNextToken(v string) *SearchRoomsOutput {
18019	s.NextToken = &v
18020	return s
18021}
18022
18023// SetRooms sets the Rooms field's value.
18024func (s *SearchRoomsOutput) SetRooms(v []*RoomData) *SearchRoomsOutput {
18025	s.Rooms = v
18026	return s
18027}
18028
18029// SetTotalCount sets the TotalCount field's value.
18030func (s *SearchRoomsOutput) SetTotalCount(v int64) *SearchRoomsOutput {
18031	s.TotalCount = &v
18032	return s
18033}
18034
18035type SearchSkillGroupsInput struct {
18036	_ struct{} `type:"structure"`
18037
18038	// The filters to use to list a specified set of skill groups. The supported
18039	// filter key is SkillGroupName.
18040	Filters []*Filter `type:"list"`
18041
18042	// The maximum number of results to include in the response. If more results
18043	// exist than the specified MaxResults value, a token is included in the response
18044	// so that the remaining results can be retrieved.
18045	MaxResults *int64 `min:"1" type:"integer"`
18046
18047	// An optional token returned from a prior request. Use this token for pagination
18048	// of results from this action. If this parameter is specified, the response
18049	// includes only results beyond the token, up to the value specified by MaxResults.
18050	// Required.
18051	NextToken *string `min:"1" type:"string"`
18052
18053	// The sort order to use in listing the specified set of skill groups. The supported
18054	// sort key is SkillGroupName.
18055	SortCriteria []*Sort `type:"list"`
18056}
18057
18058// String returns the string representation
18059func (s SearchSkillGroupsInput) String() string {
18060	return awsutil.Prettify(s)
18061}
18062
18063// GoString returns the string representation
18064func (s SearchSkillGroupsInput) GoString() string {
18065	return s.String()
18066}
18067
18068// Validate inspects the fields of the type to determine if they are valid.
18069func (s *SearchSkillGroupsInput) Validate() error {
18070	invalidParams := request.ErrInvalidParams{Context: "SearchSkillGroupsInput"}
18071	if s.MaxResults != nil && *s.MaxResults < 1 {
18072		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18073	}
18074	if s.NextToken != nil && len(*s.NextToken) < 1 {
18075		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
18076	}
18077	if s.Filters != nil {
18078		for i, v := range s.Filters {
18079			if v == nil {
18080				continue
18081			}
18082			if err := v.Validate(); err != nil {
18083				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18084			}
18085		}
18086	}
18087	if s.SortCriteria != nil {
18088		for i, v := range s.SortCriteria {
18089			if v == nil {
18090				continue
18091			}
18092			if err := v.Validate(); err != nil {
18093				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortCriteria", i), err.(request.ErrInvalidParams))
18094			}
18095		}
18096	}
18097
18098	if invalidParams.Len() > 0 {
18099		return invalidParams
18100	}
18101	return nil
18102}
18103
18104// SetFilters sets the Filters field's value.
18105func (s *SearchSkillGroupsInput) SetFilters(v []*Filter) *SearchSkillGroupsInput {
18106	s.Filters = v
18107	return s
18108}
18109
18110// SetMaxResults sets the MaxResults field's value.
18111func (s *SearchSkillGroupsInput) SetMaxResults(v int64) *SearchSkillGroupsInput {
18112	s.MaxResults = &v
18113	return s
18114}
18115
18116// SetNextToken sets the NextToken field's value.
18117func (s *SearchSkillGroupsInput) SetNextToken(v string) *SearchSkillGroupsInput {
18118	s.NextToken = &v
18119	return s
18120}
18121
18122// SetSortCriteria sets the SortCriteria field's value.
18123func (s *SearchSkillGroupsInput) SetSortCriteria(v []*Sort) *SearchSkillGroupsInput {
18124	s.SortCriteria = v
18125	return s
18126}
18127
18128type SearchSkillGroupsOutput struct {
18129	_ struct{} `type:"structure"`
18130
18131	// The token returned to indicate that there is more data available.
18132	NextToken *string `min:"1" type:"string"`
18133
18134	// The skill groups that meet the filter criteria, in sort order.
18135	SkillGroups []*SkillGroupData `type:"list"`
18136
18137	// The total number of skill groups returned.
18138	TotalCount *int64 `type:"integer"`
18139}
18140
18141// String returns the string representation
18142func (s SearchSkillGroupsOutput) String() string {
18143	return awsutil.Prettify(s)
18144}
18145
18146// GoString returns the string representation
18147func (s SearchSkillGroupsOutput) GoString() string {
18148	return s.String()
18149}
18150
18151// SetNextToken sets the NextToken field's value.
18152func (s *SearchSkillGroupsOutput) SetNextToken(v string) *SearchSkillGroupsOutput {
18153	s.NextToken = &v
18154	return s
18155}
18156
18157// SetSkillGroups sets the SkillGroups field's value.
18158func (s *SearchSkillGroupsOutput) SetSkillGroups(v []*SkillGroupData) *SearchSkillGroupsOutput {
18159	s.SkillGroups = v
18160	return s
18161}
18162
18163// SetTotalCount sets the TotalCount field's value.
18164func (s *SearchSkillGroupsOutput) SetTotalCount(v int64) *SearchSkillGroupsOutput {
18165	s.TotalCount = &v
18166	return s
18167}
18168
18169type SearchUsersInput struct {
18170	_ struct{} `type:"structure"`
18171
18172	// The filters to use for listing a specific set of users. Required. Supported
18173	// filter keys are UserId, FirstName, LastName, Email, and EnrollmentStatus.
18174	Filters []*Filter `type:"list"`
18175
18176	// The maximum number of results to include in the response. If more results
18177	// exist than the specified MaxResults value, a token is included in the response
18178	// so that the remaining results can be retrieved. Required.
18179	MaxResults *int64 `min:"1" type:"integer"`
18180
18181	// An optional token returned from a prior request. Use this token for pagination
18182	// of results from this action. If this parameter is specified, the response
18183	// includes only results beyond the token, up to the value specified by MaxResults.
18184	// Required.
18185	NextToken *string `min:"1" type:"string"`
18186
18187	// The sort order to use in listing the filtered set of users. Required. Supported
18188	// sort keys are UserId, FirstName, LastName, Email, and EnrollmentStatus.
18189	SortCriteria []*Sort `type:"list"`
18190}
18191
18192// String returns the string representation
18193func (s SearchUsersInput) String() string {
18194	return awsutil.Prettify(s)
18195}
18196
18197// GoString returns the string representation
18198func (s SearchUsersInput) GoString() string {
18199	return s.String()
18200}
18201
18202// Validate inspects the fields of the type to determine if they are valid.
18203func (s *SearchUsersInput) Validate() error {
18204	invalidParams := request.ErrInvalidParams{Context: "SearchUsersInput"}
18205	if s.MaxResults != nil && *s.MaxResults < 1 {
18206		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
18207	}
18208	if s.NextToken != nil && len(*s.NextToken) < 1 {
18209		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
18210	}
18211	if s.Filters != nil {
18212		for i, v := range s.Filters {
18213			if v == nil {
18214				continue
18215			}
18216			if err := v.Validate(); err != nil {
18217				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
18218			}
18219		}
18220	}
18221	if s.SortCriteria != nil {
18222		for i, v := range s.SortCriteria {
18223			if v == nil {
18224				continue
18225			}
18226			if err := v.Validate(); err != nil {
18227				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortCriteria", i), err.(request.ErrInvalidParams))
18228			}
18229		}
18230	}
18231
18232	if invalidParams.Len() > 0 {
18233		return invalidParams
18234	}
18235	return nil
18236}
18237
18238// SetFilters sets the Filters field's value.
18239func (s *SearchUsersInput) SetFilters(v []*Filter) *SearchUsersInput {
18240	s.Filters = v
18241	return s
18242}
18243
18244// SetMaxResults sets the MaxResults field's value.
18245func (s *SearchUsersInput) SetMaxResults(v int64) *SearchUsersInput {
18246	s.MaxResults = &v
18247	return s
18248}
18249
18250// SetNextToken sets the NextToken field's value.
18251func (s *SearchUsersInput) SetNextToken(v string) *SearchUsersInput {
18252	s.NextToken = &v
18253	return s
18254}
18255
18256// SetSortCriteria sets the SortCriteria field's value.
18257func (s *SearchUsersInput) SetSortCriteria(v []*Sort) *SearchUsersInput {
18258	s.SortCriteria = v
18259	return s
18260}
18261
18262type SearchUsersOutput struct {
18263	_ struct{} `type:"structure"`
18264
18265	// The token returned to indicate that there is more data available.
18266	NextToken *string `min:"1" type:"string"`
18267
18268	// The total number of users returned.
18269	TotalCount *int64 `type:"integer"`
18270
18271	// The users that meet the specified set of filter criteria, in sort order.
18272	Users []*UserData `type:"list"`
18273}
18274
18275// String returns the string representation
18276func (s SearchUsersOutput) String() string {
18277	return awsutil.Prettify(s)
18278}
18279
18280// GoString returns the string representation
18281func (s SearchUsersOutput) GoString() string {
18282	return s.String()
18283}
18284
18285// SetNextToken sets the NextToken field's value.
18286func (s *SearchUsersOutput) SetNextToken(v string) *SearchUsersOutput {
18287	s.NextToken = &v
18288	return s
18289}
18290
18291// SetTotalCount sets the TotalCount field's value.
18292func (s *SearchUsersOutput) SetTotalCount(v int64) *SearchUsersOutput {
18293	s.TotalCount = &v
18294	return s
18295}
18296
18297// SetUsers sets the Users field's value.
18298func (s *SearchUsersOutput) SetUsers(v []*UserData) *SearchUsersOutput {
18299	s.Users = v
18300	return s
18301}
18302
18303type SendAnnouncementInput struct {
18304	_ struct{} `type:"structure"`
18305
18306	// The unique, user-specified identifier for the request that ensures idempotency.
18307	ClientRequestToken *string `min:"10" type:"string" idempotencyToken:"true"`
18308
18309	// The announcement content. This can contain only one of the three possible
18310	// announcement types (text, SSML or audio).
18311	//
18312	// Content is a required field
18313	Content *Content `type:"structure" required:"true"`
18314
18315	// The filters to use to send an announcement to a specified list of rooms.
18316	// The supported filter keys are RoomName, ProfileName, RoomArn, and ProfileArn.
18317	// To send to all rooms, specify an empty RoomFilters list.
18318	//
18319	// RoomFilters is a required field
18320	RoomFilters []*Filter `type:"list" required:"true"`
18321
18322	// The time to live for an announcement. Default is 300. If delivery doesn't
18323	// occur within this time, the announcement is not delivered.
18324	TimeToLiveInSeconds *int64 `min:"1" type:"integer"`
18325}
18326
18327// String returns the string representation
18328func (s SendAnnouncementInput) String() string {
18329	return awsutil.Prettify(s)
18330}
18331
18332// GoString returns the string representation
18333func (s SendAnnouncementInput) GoString() string {
18334	return s.String()
18335}
18336
18337// Validate inspects the fields of the type to determine if they are valid.
18338func (s *SendAnnouncementInput) Validate() error {
18339	invalidParams := request.ErrInvalidParams{Context: "SendAnnouncementInput"}
18340	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 10 {
18341		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 10))
18342	}
18343	if s.Content == nil {
18344		invalidParams.Add(request.NewErrParamRequired("Content"))
18345	}
18346	if s.RoomFilters == nil {
18347		invalidParams.Add(request.NewErrParamRequired("RoomFilters"))
18348	}
18349	if s.TimeToLiveInSeconds != nil && *s.TimeToLiveInSeconds < 1 {
18350		invalidParams.Add(request.NewErrParamMinValue("TimeToLiveInSeconds", 1))
18351	}
18352	if s.Content != nil {
18353		if err := s.Content.Validate(); err != nil {
18354			invalidParams.AddNested("Content", err.(request.ErrInvalidParams))
18355		}
18356	}
18357	if s.RoomFilters != nil {
18358		for i, v := range s.RoomFilters {
18359			if v == nil {
18360				continue
18361			}
18362			if err := v.Validate(); err != nil {
18363				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RoomFilters", i), err.(request.ErrInvalidParams))
18364			}
18365		}
18366	}
18367
18368	if invalidParams.Len() > 0 {
18369		return invalidParams
18370	}
18371	return nil
18372}
18373
18374// SetClientRequestToken sets the ClientRequestToken field's value.
18375func (s *SendAnnouncementInput) SetClientRequestToken(v string) *SendAnnouncementInput {
18376	s.ClientRequestToken = &v
18377	return s
18378}
18379
18380// SetContent sets the Content field's value.
18381func (s *SendAnnouncementInput) SetContent(v *Content) *SendAnnouncementInput {
18382	s.Content = v
18383	return s
18384}
18385
18386// SetRoomFilters sets the RoomFilters field's value.
18387func (s *SendAnnouncementInput) SetRoomFilters(v []*Filter) *SendAnnouncementInput {
18388	s.RoomFilters = v
18389	return s
18390}
18391
18392// SetTimeToLiveInSeconds sets the TimeToLiveInSeconds field's value.
18393func (s *SendAnnouncementInput) SetTimeToLiveInSeconds(v int64) *SendAnnouncementInput {
18394	s.TimeToLiveInSeconds = &v
18395	return s
18396}
18397
18398type SendAnnouncementOutput struct {
18399	_ struct{} `type:"structure"`
18400
18401	// The identifier of the announcement.
18402	AnnouncementArn *string `type:"string"`
18403}
18404
18405// String returns the string representation
18406func (s SendAnnouncementOutput) String() string {
18407	return awsutil.Prettify(s)
18408}
18409
18410// GoString returns the string representation
18411func (s SendAnnouncementOutput) GoString() string {
18412	return s.String()
18413}
18414
18415// SetAnnouncementArn sets the AnnouncementArn field's value.
18416func (s *SendAnnouncementOutput) SetAnnouncementArn(v string) *SendAnnouncementOutput {
18417	s.AnnouncementArn = &v
18418	return s
18419}
18420
18421type SendInvitationInput struct {
18422	_ struct{} `type:"structure"`
18423
18424	// The ARN of the user to whom to send an invitation. Required.
18425	UserArn *string `type:"string"`
18426}
18427
18428// String returns the string representation
18429func (s SendInvitationInput) String() string {
18430	return awsutil.Prettify(s)
18431}
18432
18433// GoString returns the string representation
18434func (s SendInvitationInput) GoString() string {
18435	return s.String()
18436}
18437
18438// SetUserArn sets the UserArn field's value.
18439func (s *SendInvitationInput) SetUserArn(v string) *SendInvitationInput {
18440	s.UserArn = &v
18441	return s
18442}
18443
18444type SendInvitationOutput struct {
18445	_ struct{} `type:"structure"`
18446}
18447
18448// String returns the string representation
18449func (s SendInvitationOutput) String() string {
18450	return awsutil.Prettify(s)
18451}
18452
18453// GoString returns the string representation
18454func (s SendInvitationOutput) GoString() string {
18455	return s.String()
18456}
18457
18458// The SIP address for the contact containing the URI and SIP address type.
18459type SipAddress struct {
18460	_ struct{} `type:"structure"`
18461
18462	// The type of the SIP address.
18463	//
18464	// Type is a required field
18465	Type *string `type:"string" required:"true" enum:"SipType" sensitive:"true"`
18466
18467	// The URI for the SIP address.
18468	//
18469	// Uri is a required field
18470	Uri *string `min:"1" type:"string" required:"true" sensitive:"true"`
18471}
18472
18473// String returns the string representation
18474func (s SipAddress) String() string {
18475	return awsutil.Prettify(s)
18476}
18477
18478// GoString returns the string representation
18479func (s SipAddress) GoString() string {
18480	return s.String()
18481}
18482
18483// Validate inspects the fields of the type to determine if they are valid.
18484func (s *SipAddress) Validate() error {
18485	invalidParams := request.ErrInvalidParams{Context: "SipAddress"}
18486	if s.Type == nil {
18487		invalidParams.Add(request.NewErrParamRequired("Type"))
18488	}
18489	if s.Uri == nil {
18490		invalidParams.Add(request.NewErrParamRequired("Uri"))
18491	}
18492	if s.Uri != nil && len(*s.Uri) < 1 {
18493		invalidParams.Add(request.NewErrParamMinLen("Uri", 1))
18494	}
18495
18496	if invalidParams.Len() > 0 {
18497		return invalidParams
18498	}
18499	return nil
18500}
18501
18502// SetType sets the Type field's value.
18503func (s *SipAddress) SetType(v string) *SipAddress {
18504	s.Type = &v
18505	return s
18506}
18507
18508// SetUri sets the Uri field's value.
18509func (s *SipAddress) SetUri(v string) *SipAddress {
18510	s.Uri = &v
18511	return s
18512}
18513
18514// Granular information about the skill.
18515type SkillDetails struct {
18516	_ struct{} `type:"structure"`
18517
18518	// The details about what the skill supports organized as bullet points.
18519	BulletPoints []*string `type:"list"`
18520
18521	// The details about the developer that published the skill.
18522	DeveloperInfo *DeveloperInfo `type:"structure"`
18523
18524	// The URL of the end user license agreement.
18525	EndUserLicenseAgreement *string `type:"string"`
18526
18527	// The generic keywords associated with the skill that can be used to find a
18528	// skill.
18529	GenericKeywords []*string `type:"list"`
18530
18531	// The phrase used to trigger the skill.
18532	InvocationPhrase *string `type:"string"`
18533
18534	// The updates added in bullet points.
18535	NewInThisVersionBulletPoints []*string `type:"list"`
18536
18537	// The description of the product.
18538	ProductDescription *string `type:"string"`
18539
18540	// The date when the skill was released.
18541	ReleaseDate *string `type:"string"`
18542
18543	// This member has been deprecated.
18544	//
18545	// The list of reviews for the skill, including Key and Value pair.
18546	Reviews map[string]*string `type:"map"`
18547
18548	// The types of skills.
18549	SkillTypes []*string `type:"list"`
18550}
18551
18552// String returns the string representation
18553func (s SkillDetails) String() string {
18554	return awsutil.Prettify(s)
18555}
18556
18557// GoString returns the string representation
18558func (s SkillDetails) GoString() string {
18559	return s.String()
18560}
18561
18562// SetBulletPoints sets the BulletPoints field's value.
18563func (s *SkillDetails) SetBulletPoints(v []*string) *SkillDetails {
18564	s.BulletPoints = v
18565	return s
18566}
18567
18568// SetDeveloperInfo sets the DeveloperInfo field's value.
18569func (s *SkillDetails) SetDeveloperInfo(v *DeveloperInfo) *SkillDetails {
18570	s.DeveloperInfo = v
18571	return s
18572}
18573
18574// SetEndUserLicenseAgreement sets the EndUserLicenseAgreement field's value.
18575func (s *SkillDetails) SetEndUserLicenseAgreement(v string) *SkillDetails {
18576	s.EndUserLicenseAgreement = &v
18577	return s
18578}
18579
18580// SetGenericKeywords sets the GenericKeywords field's value.
18581func (s *SkillDetails) SetGenericKeywords(v []*string) *SkillDetails {
18582	s.GenericKeywords = v
18583	return s
18584}
18585
18586// SetInvocationPhrase sets the InvocationPhrase field's value.
18587func (s *SkillDetails) SetInvocationPhrase(v string) *SkillDetails {
18588	s.InvocationPhrase = &v
18589	return s
18590}
18591
18592// SetNewInThisVersionBulletPoints sets the NewInThisVersionBulletPoints field's value.
18593func (s *SkillDetails) SetNewInThisVersionBulletPoints(v []*string) *SkillDetails {
18594	s.NewInThisVersionBulletPoints = v
18595	return s
18596}
18597
18598// SetProductDescription sets the ProductDescription field's value.
18599func (s *SkillDetails) SetProductDescription(v string) *SkillDetails {
18600	s.ProductDescription = &v
18601	return s
18602}
18603
18604// SetReleaseDate sets the ReleaseDate field's value.
18605func (s *SkillDetails) SetReleaseDate(v string) *SkillDetails {
18606	s.ReleaseDate = &v
18607	return s
18608}
18609
18610// SetReviews sets the Reviews field's value.
18611func (s *SkillDetails) SetReviews(v map[string]*string) *SkillDetails {
18612	s.Reviews = v
18613	return s
18614}
18615
18616// SetSkillTypes sets the SkillTypes field's value.
18617func (s *SkillDetails) SetSkillTypes(v []*string) *SkillDetails {
18618	s.SkillTypes = v
18619	return s
18620}
18621
18622// A skill group with attributes.
18623type SkillGroup struct {
18624	_ struct{} `type:"structure"`
18625
18626	// The description of a skill group.
18627	Description *string `min:"1" type:"string"`
18628
18629	// The ARN of a skill group.
18630	SkillGroupArn *string `type:"string"`
18631
18632	// The name of a skill group.
18633	SkillGroupName *string `min:"1" type:"string"`
18634}
18635
18636// String returns the string representation
18637func (s SkillGroup) String() string {
18638	return awsutil.Prettify(s)
18639}
18640
18641// GoString returns the string representation
18642func (s SkillGroup) GoString() string {
18643	return s.String()
18644}
18645
18646// SetDescription sets the Description field's value.
18647func (s *SkillGroup) SetDescription(v string) *SkillGroup {
18648	s.Description = &v
18649	return s
18650}
18651
18652// SetSkillGroupArn sets the SkillGroupArn field's value.
18653func (s *SkillGroup) SetSkillGroupArn(v string) *SkillGroup {
18654	s.SkillGroupArn = &v
18655	return s
18656}
18657
18658// SetSkillGroupName sets the SkillGroupName field's value.
18659func (s *SkillGroup) SetSkillGroupName(v string) *SkillGroup {
18660	s.SkillGroupName = &v
18661	return s
18662}
18663
18664// The attributes of a skill group.
18665type SkillGroupData struct {
18666	_ struct{} `type:"structure"`
18667
18668	// The description of a skill group.
18669	Description *string `min:"1" type:"string"`
18670
18671	// The skill group ARN of a skill group.
18672	SkillGroupArn *string `type:"string"`
18673
18674	// The skill group name of a skill group.
18675	SkillGroupName *string `min:"1" type:"string"`
18676}
18677
18678// String returns the string representation
18679func (s SkillGroupData) String() string {
18680	return awsutil.Prettify(s)
18681}
18682
18683// GoString returns the string representation
18684func (s SkillGroupData) GoString() string {
18685	return s.String()
18686}
18687
18688// SetDescription sets the Description field's value.
18689func (s *SkillGroupData) SetDescription(v string) *SkillGroupData {
18690	s.Description = &v
18691	return s
18692}
18693
18694// SetSkillGroupArn sets the SkillGroupArn field's value.
18695func (s *SkillGroupData) SetSkillGroupArn(v string) *SkillGroupData {
18696	s.SkillGroupArn = &v
18697	return s
18698}
18699
18700// SetSkillGroupName sets the SkillGroupName field's value.
18701func (s *SkillGroupData) SetSkillGroupName(v string) *SkillGroupData {
18702	s.SkillGroupName = &v
18703	return s
18704}
18705
18706// The skill must be linked to a third-party account.
18707type SkillNotLinkedException struct {
18708	_            struct{}                  `type:"structure"`
18709	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18710
18711	Message_ *string `locationName:"Message" type:"string"`
18712}
18713
18714// String returns the string representation
18715func (s SkillNotLinkedException) String() string {
18716	return awsutil.Prettify(s)
18717}
18718
18719// GoString returns the string representation
18720func (s SkillNotLinkedException) GoString() string {
18721	return s.String()
18722}
18723
18724func newErrorSkillNotLinkedException(v protocol.ResponseMetadata) error {
18725	return &SkillNotLinkedException{
18726		RespMetadata: v,
18727	}
18728}
18729
18730// Code returns the exception type name.
18731func (s *SkillNotLinkedException) Code() string {
18732	return "SkillNotLinkedException"
18733}
18734
18735// Message returns the exception's message.
18736func (s *SkillNotLinkedException) Message() string {
18737	if s.Message_ != nil {
18738		return *s.Message_
18739	}
18740	return ""
18741}
18742
18743// OrigErr always returns nil, satisfies awserr.Error interface.
18744func (s *SkillNotLinkedException) OrigErr() error {
18745	return nil
18746}
18747
18748func (s *SkillNotLinkedException) Error() string {
18749	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18750}
18751
18752// Status code returns the HTTP status code for the request's response error.
18753func (s *SkillNotLinkedException) StatusCode() int {
18754	return s.RespMetadata.StatusCode
18755}
18756
18757// RequestID returns the service's response RequestID for request.
18758func (s *SkillNotLinkedException) RequestID() string {
18759	return s.RespMetadata.RequestID
18760}
18761
18762// The summary of skills.
18763type SkillSummary struct {
18764	_ struct{} `type:"structure"`
18765
18766	// Whether the skill is enabled under the user's account, or if it requires
18767	// linking to be used.
18768	EnablementType *string `type:"string" enum:"EnablementType"`
18769
18770	// The ARN of the skill summary.
18771	SkillId *string `type:"string"`
18772
18773	// The name of the skill.
18774	SkillName *string `min:"1" type:"string"`
18775
18776	// Whether the skill is publicly available or is a private skill.
18777	SkillType *string `min:"1" type:"string" enum:"SkillType"`
18778
18779	// Linking support for a skill.
18780	SupportsLinking *bool `type:"boolean"`
18781}
18782
18783// String returns the string representation
18784func (s SkillSummary) String() string {
18785	return awsutil.Prettify(s)
18786}
18787
18788// GoString returns the string representation
18789func (s SkillSummary) GoString() string {
18790	return s.String()
18791}
18792
18793// SetEnablementType sets the EnablementType field's value.
18794func (s *SkillSummary) SetEnablementType(v string) *SkillSummary {
18795	s.EnablementType = &v
18796	return s
18797}
18798
18799// SetSkillId sets the SkillId field's value.
18800func (s *SkillSummary) SetSkillId(v string) *SkillSummary {
18801	s.SkillId = &v
18802	return s
18803}
18804
18805// SetSkillName sets the SkillName field's value.
18806func (s *SkillSummary) SetSkillName(v string) *SkillSummary {
18807	s.SkillName = &v
18808	return s
18809}
18810
18811// SetSkillType sets the SkillType field's value.
18812func (s *SkillSummary) SetSkillType(v string) *SkillSummary {
18813	s.SkillType = &v
18814	return s
18815}
18816
18817// SetSupportsLinking sets the SupportsLinking field's value.
18818func (s *SkillSummary) SetSupportsLinking(v bool) *SkillSummary {
18819	s.SupportsLinking = &v
18820	return s
18821}
18822
18823// The detailed information about an Alexa skill.
18824type SkillsStoreSkill struct {
18825	_ struct{} `type:"structure"`
18826
18827	// The URL where the skill icon resides.
18828	IconUrl *string `type:"string"`
18829
18830	// Sample utterances that interact with the skill.
18831	SampleUtterances []*string `type:"list"`
18832
18833	// Short description about the skill.
18834	ShortDescription *string `type:"string"`
18835
18836	// Information about the skill.
18837	SkillDetails *SkillDetails `type:"structure"`
18838
18839	// The ARN of the skill.
18840	SkillId *string `type:"string"`
18841
18842	// The name of the skill.
18843	SkillName *string `min:"1" type:"string"`
18844
18845	// Linking support for a skill.
18846	SupportsLinking *bool `type:"boolean"`
18847}
18848
18849// String returns the string representation
18850func (s SkillsStoreSkill) String() string {
18851	return awsutil.Prettify(s)
18852}
18853
18854// GoString returns the string representation
18855func (s SkillsStoreSkill) GoString() string {
18856	return s.String()
18857}
18858
18859// SetIconUrl sets the IconUrl field's value.
18860func (s *SkillsStoreSkill) SetIconUrl(v string) *SkillsStoreSkill {
18861	s.IconUrl = &v
18862	return s
18863}
18864
18865// SetSampleUtterances sets the SampleUtterances field's value.
18866func (s *SkillsStoreSkill) SetSampleUtterances(v []*string) *SkillsStoreSkill {
18867	s.SampleUtterances = v
18868	return s
18869}
18870
18871// SetShortDescription sets the ShortDescription field's value.
18872func (s *SkillsStoreSkill) SetShortDescription(v string) *SkillsStoreSkill {
18873	s.ShortDescription = &v
18874	return s
18875}
18876
18877// SetSkillDetails sets the SkillDetails field's value.
18878func (s *SkillsStoreSkill) SetSkillDetails(v *SkillDetails) *SkillsStoreSkill {
18879	s.SkillDetails = v
18880	return s
18881}
18882
18883// SetSkillId sets the SkillId field's value.
18884func (s *SkillsStoreSkill) SetSkillId(v string) *SkillsStoreSkill {
18885	s.SkillId = &v
18886	return s
18887}
18888
18889// SetSkillName sets the SkillName field's value.
18890func (s *SkillsStoreSkill) SetSkillName(v string) *SkillsStoreSkill {
18891	s.SkillName = &v
18892	return s
18893}
18894
18895// SetSupportsLinking sets the SupportsLinking field's value.
18896func (s *SkillsStoreSkill) SetSupportsLinking(v bool) *SkillsStoreSkill {
18897	s.SupportsLinking = &v
18898	return s
18899}
18900
18901// A smart home appliance that can connect to a central system. Any domestic
18902// device can be a smart appliance.
18903type SmartHomeAppliance struct {
18904	_ struct{} `type:"structure"`
18905
18906	// The description of the smart home appliance.
18907	Description *string `type:"string"`
18908
18909	// The friendly name of the smart home appliance.
18910	FriendlyName *string `type:"string"`
18911
18912	// The name of the manufacturer of the smart home appliance.
18913	ManufacturerName *string `type:"string"`
18914}
18915
18916// String returns the string representation
18917func (s SmartHomeAppliance) String() string {
18918	return awsutil.Prettify(s)
18919}
18920
18921// GoString returns the string representation
18922func (s SmartHomeAppliance) GoString() string {
18923	return s.String()
18924}
18925
18926// SetDescription sets the Description field's value.
18927func (s *SmartHomeAppliance) SetDescription(v string) *SmartHomeAppliance {
18928	s.Description = &v
18929	return s
18930}
18931
18932// SetFriendlyName sets the FriendlyName field's value.
18933func (s *SmartHomeAppliance) SetFriendlyName(v string) *SmartHomeAppliance {
18934	s.FriendlyName = &v
18935	return s
18936}
18937
18938// SetManufacturerName sets the ManufacturerName field's value.
18939func (s *SmartHomeAppliance) SetManufacturerName(v string) *SmartHomeAppliance {
18940	s.ManufacturerName = &v
18941	return s
18942}
18943
18944// An object representing a sort criteria.
18945type Sort struct {
18946	_ struct{} `type:"structure"`
18947
18948	// The sort key of a sort object.
18949	//
18950	// Key is a required field
18951	Key *string `min:"1" type:"string" required:"true"`
18952
18953	// The sort value of a sort object.
18954	//
18955	// Value is a required field
18956	Value *string `type:"string" required:"true" enum:"SortValue"`
18957}
18958
18959// String returns the string representation
18960func (s Sort) String() string {
18961	return awsutil.Prettify(s)
18962}
18963
18964// GoString returns the string representation
18965func (s Sort) GoString() string {
18966	return s.String()
18967}
18968
18969// Validate inspects the fields of the type to determine if they are valid.
18970func (s *Sort) Validate() error {
18971	invalidParams := request.ErrInvalidParams{Context: "Sort"}
18972	if s.Key == nil {
18973		invalidParams.Add(request.NewErrParamRequired("Key"))
18974	}
18975	if s.Key != nil && len(*s.Key) < 1 {
18976		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
18977	}
18978	if s.Value == nil {
18979		invalidParams.Add(request.NewErrParamRequired("Value"))
18980	}
18981
18982	if invalidParams.Len() > 0 {
18983		return invalidParams
18984	}
18985	return nil
18986}
18987
18988// SetKey sets the Key field's value.
18989func (s *Sort) SetKey(v string) *Sort {
18990	s.Key = &v
18991	return s
18992}
18993
18994// SetValue sets the Value field's value.
18995func (s *Sort) SetValue(v string) *Sort {
18996	s.Value = &v
18997	return s
18998}
18999
19000// The SSML message. For more information, see SSML Reference (https://developer.amazon.com/docs/custom-skills/speech-synthesis-markup-language-ssml-reference.html).
19001type Ssml struct {
19002	_ struct{} `type:"structure"`
19003
19004	// The locale of the SSML message. Currently, en-US is supported.
19005	//
19006	// Locale is a required field
19007	Locale *string `type:"string" required:"true" enum:"Locale"`
19008
19009	// The value of the SSML message in the correct SSML format. The audio tag is
19010	// not supported.
19011	//
19012	// Value is a required field
19013	Value *string `type:"string" required:"true"`
19014}
19015
19016// String returns the string representation
19017func (s Ssml) String() string {
19018	return awsutil.Prettify(s)
19019}
19020
19021// GoString returns the string representation
19022func (s Ssml) GoString() string {
19023	return s.String()
19024}
19025
19026// Validate inspects the fields of the type to determine if they are valid.
19027func (s *Ssml) Validate() error {
19028	invalidParams := request.ErrInvalidParams{Context: "Ssml"}
19029	if s.Locale == nil {
19030		invalidParams.Add(request.NewErrParamRequired("Locale"))
19031	}
19032	if s.Value == nil {
19033		invalidParams.Add(request.NewErrParamRequired("Value"))
19034	}
19035
19036	if invalidParams.Len() > 0 {
19037		return invalidParams
19038	}
19039	return nil
19040}
19041
19042// SetLocale sets the Locale field's value.
19043func (s *Ssml) SetLocale(v string) *Ssml {
19044	s.Locale = &v
19045	return s
19046}
19047
19048// SetValue sets the Value field's value.
19049func (s *Ssml) SetValue(v string) *Ssml {
19050	s.Value = &v
19051	return s
19052}
19053
19054type StartDeviceSyncInput struct {
19055	_ struct{} `type:"structure"`
19056
19057	// The ARN of the device to sync. Required.
19058	DeviceArn *string `type:"string"`
19059
19060	// Request structure to start the device sync. Required.
19061	//
19062	// Features is a required field
19063	Features []*string `type:"list" required:"true"`
19064
19065	// The ARN of the room with which the device to sync is associated. Required.
19066	RoomArn *string `type:"string"`
19067}
19068
19069// String returns the string representation
19070func (s StartDeviceSyncInput) String() string {
19071	return awsutil.Prettify(s)
19072}
19073
19074// GoString returns the string representation
19075func (s StartDeviceSyncInput) GoString() string {
19076	return s.String()
19077}
19078
19079// Validate inspects the fields of the type to determine if they are valid.
19080func (s *StartDeviceSyncInput) Validate() error {
19081	invalidParams := request.ErrInvalidParams{Context: "StartDeviceSyncInput"}
19082	if s.Features == nil {
19083		invalidParams.Add(request.NewErrParamRequired("Features"))
19084	}
19085
19086	if invalidParams.Len() > 0 {
19087		return invalidParams
19088	}
19089	return nil
19090}
19091
19092// SetDeviceArn sets the DeviceArn field's value.
19093func (s *StartDeviceSyncInput) SetDeviceArn(v string) *StartDeviceSyncInput {
19094	s.DeviceArn = &v
19095	return s
19096}
19097
19098// SetFeatures sets the Features field's value.
19099func (s *StartDeviceSyncInput) SetFeatures(v []*string) *StartDeviceSyncInput {
19100	s.Features = v
19101	return s
19102}
19103
19104// SetRoomArn sets the RoomArn field's value.
19105func (s *StartDeviceSyncInput) SetRoomArn(v string) *StartDeviceSyncInput {
19106	s.RoomArn = &v
19107	return s
19108}
19109
19110type StartDeviceSyncOutput struct {
19111	_ struct{} `type:"structure"`
19112}
19113
19114// String returns the string representation
19115func (s StartDeviceSyncOutput) String() string {
19116	return awsutil.Prettify(s)
19117}
19118
19119// GoString returns the string representation
19120func (s StartDeviceSyncOutput) GoString() string {
19121	return s.String()
19122}
19123
19124type StartSmartHomeApplianceDiscoveryInput struct {
19125	_ struct{} `type:"structure"`
19126
19127	// The room where smart home appliance discovery was initiated.
19128	//
19129	// RoomArn is a required field
19130	RoomArn *string `type:"string" required:"true"`
19131}
19132
19133// String returns the string representation
19134func (s StartSmartHomeApplianceDiscoveryInput) String() string {
19135	return awsutil.Prettify(s)
19136}
19137
19138// GoString returns the string representation
19139func (s StartSmartHomeApplianceDiscoveryInput) GoString() string {
19140	return s.String()
19141}
19142
19143// Validate inspects the fields of the type to determine if they are valid.
19144func (s *StartSmartHomeApplianceDiscoveryInput) Validate() error {
19145	invalidParams := request.ErrInvalidParams{Context: "StartSmartHomeApplianceDiscoveryInput"}
19146	if s.RoomArn == nil {
19147		invalidParams.Add(request.NewErrParamRequired("RoomArn"))
19148	}
19149
19150	if invalidParams.Len() > 0 {
19151		return invalidParams
19152	}
19153	return nil
19154}
19155
19156// SetRoomArn sets the RoomArn field's value.
19157func (s *StartSmartHomeApplianceDiscoveryInput) SetRoomArn(v string) *StartSmartHomeApplianceDiscoveryInput {
19158	s.RoomArn = &v
19159	return s
19160}
19161
19162type StartSmartHomeApplianceDiscoveryOutput struct {
19163	_ struct{} `type:"structure"`
19164}
19165
19166// String returns the string representation
19167func (s StartSmartHomeApplianceDiscoveryOutput) String() string {
19168	return awsutil.Prettify(s)
19169}
19170
19171// GoString returns the string representation
19172func (s StartSmartHomeApplianceDiscoveryOutput) GoString() string {
19173	return s.String()
19174}
19175
19176// A key-value pair that can be associated with a resource.
19177type Tag struct {
19178	_ struct{} `type:"structure"`
19179
19180	// The key of a tag. Tag keys are case-sensitive.
19181	//
19182	// Key is a required field
19183	Key *string `min:"1" type:"string" required:"true"`
19184
19185	// The value of a tag. Tag values are case sensitive and can be null.
19186	//
19187	// Value is a required field
19188	Value *string `type:"string" required:"true"`
19189}
19190
19191// String returns the string representation
19192func (s Tag) String() string {
19193	return awsutil.Prettify(s)
19194}
19195
19196// GoString returns the string representation
19197func (s Tag) GoString() string {
19198	return s.String()
19199}
19200
19201// Validate inspects the fields of the type to determine if they are valid.
19202func (s *Tag) Validate() error {
19203	invalidParams := request.ErrInvalidParams{Context: "Tag"}
19204	if s.Key == nil {
19205		invalidParams.Add(request.NewErrParamRequired("Key"))
19206	}
19207	if s.Key != nil && len(*s.Key) < 1 {
19208		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
19209	}
19210	if s.Value == nil {
19211		invalidParams.Add(request.NewErrParamRequired("Value"))
19212	}
19213
19214	if invalidParams.Len() > 0 {
19215		return invalidParams
19216	}
19217	return nil
19218}
19219
19220// SetKey sets the Key field's value.
19221func (s *Tag) SetKey(v string) *Tag {
19222	s.Key = &v
19223	return s
19224}
19225
19226// SetValue sets the Value field's value.
19227func (s *Tag) SetValue(v string) *Tag {
19228	s.Value = &v
19229	return s
19230}
19231
19232type TagResourceInput struct {
19233	_ struct{} `type:"structure"`
19234
19235	// The ARN of the resource to which to add metadata tags. Required.
19236	//
19237	// Arn is a required field
19238	Arn *string `type:"string" required:"true"`
19239
19240	// The tags to be added to the specified resource. Do not provide system tags.
19241	// Required.
19242	//
19243	// Tags is a required field
19244	Tags []*Tag `type:"list" required:"true"`
19245}
19246
19247// String returns the string representation
19248func (s TagResourceInput) String() string {
19249	return awsutil.Prettify(s)
19250}
19251
19252// GoString returns the string representation
19253func (s TagResourceInput) GoString() string {
19254	return s.String()
19255}
19256
19257// Validate inspects the fields of the type to determine if they are valid.
19258func (s *TagResourceInput) Validate() error {
19259	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
19260	if s.Arn == nil {
19261		invalidParams.Add(request.NewErrParamRequired("Arn"))
19262	}
19263	if s.Tags == nil {
19264		invalidParams.Add(request.NewErrParamRequired("Tags"))
19265	}
19266	if s.Tags != nil {
19267		for i, v := range s.Tags {
19268			if v == nil {
19269				continue
19270			}
19271			if err := v.Validate(); err != nil {
19272				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
19273			}
19274		}
19275	}
19276
19277	if invalidParams.Len() > 0 {
19278		return invalidParams
19279	}
19280	return nil
19281}
19282
19283// SetArn sets the Arn field's value.
19284func (s *TagResourceInput) SetArn(v string) *TagResourceInput {
19285	s.Arn = &v
19286	return s
19287}
19288
19289// SetTags sets the Tags field's value.
19290func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
19291	s.Tags = v
19292	return s
19293}
19294
19295type TagResourceOutput struct {
19296	_ struct{} `type:"structure"`
19297}
19298
19299// String returns the string representation
19300func (s TagResourceOutput) String() string {
19301	return awsutil.Prettify(s)
19302}
19303
19304// GoString returns the string representation
19305func (s TagResourceOutput) GoString() string {
19306	return s.String()
19307}
19308
19309// The text message.
19310type Text struct {
19311	_ struct{} `type:"structure"`
19312
19313	// The locale of the text message. Currently, en-US is supported.
19314	//
19315	// Locale is a required field
19316	Locale *string `type:"string" required:"true" enum:"Locale"`
19317
19318	// The value of the text message.
19319	//
19320	// Value is a required field
19321	Value *string `type:"string" required:"true"`
19322}
19323
19324// String returns the string representation
19325func (s Text) String() string {
19326	return awsutil.Prettify(s)
19327}
19328
19329// GoString returns the string representation
19330func (s Text) GoString() string {
19331	return s.String()
19332}
19333
19334// Validate inspects the fields of the type to determine if they are valid.
19335func (s *Text) Validate() error {
19336	invalidParams := request.ErrInvalidParams{Context: "Text"}
19337	if s.Locale == nil {
19338		invalidParams.Add(request.NewErrParamRequired("Locale"))
19339	}
19340	if s.Value == nil {
19341		invalidParams.Add(request.NewErrParamRequired("Value"))
19342	}
19343
19344	if invalidParams.Len() > 0 {
19345		return invalidParams
19346	}
19347	return nil
19348}
19349
19350// SetLocale sets the Locale field's value.
19351func (s *Text) SetLocale(v string) *Text {
19352	s.Locale = &v
19353	return s
19354}
19355
19356// SetValue sets the Value field's value.
19357func (s *Text) SetValue(v string) *Text {
19358	s.Value = &v
19359	return s
19360}
19361
19362// The caller has no permissions to operate on the resource involved in the
19363// API call.
19364type UnauthorizedException struct {
19365	_            struct{}                  `type:"structure"`
19366	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19367
19368	Message_ *string `locationName:"Message" type:"string"`
19369}
19370
19371// String returns the string representation
19372func (s UnauthorizedException) String() string {
19373	return awsutil.Prettify(s)
19374}
19375
19376// GoString returns the string representation
19377func (s UnauthorizedException) GoString() string {
19378	return s.String()
19379}
19380
19381func newErrorUnauthorizedException(v protocol.ResponseMetadata) error {
19382	return &UnauthorizedException{
19383		RespMetadata: v,
19384	}
19385}
19386
19387// Code returns the exception type name.
19388func (s *UnauthorizedException) Code() string {
19389	return "UnauthorizedException"
19390}
19391
19392// Message returns the exception's message.
19393func (s *UnauthorizedException) Message() string {
19394	if s.Message_ != nil {
19395		return *s.Message_
19396	}
19397	return ""
19398}
19399
19400// OrigErr always returns nil, satisfies awserr.Error interface.
19401func (s *UnauthorizedException) OrigErr() error {
19402	return nil
19403}
19404
19405func (s *UnauthorizedException) Error() string {
19406	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19407}
19408
19409// Status code returns the HTTP status code for the request's response error.
19410func (s *UnauthorizedException) StatusCode() int {
19411	return s.RespMetadata.StatusCode
19412}
19413
19414// RequestID returns the service's response RequestID for request.
19415func (s *UnauthorizedException) RequestID() string {
19416	return s.RespMetadata.RequestID
19417}
19418
19419type UntagResourceInput struct {
19420	_ struct{} `type:"structure"`
19421
19422	// The ARN of the resource from which to remove metadata tags. Required.
19423	//
19424	// Arn is a required field
19425	Arn *string `type:"string" required:"true"`
19426
19427	// The tags to be removed from the specified resource. Do not provide system
19428	// tags. Required.
19429	//
19430	// TagKeys is a required field
19431	TagKeys []*string `type:"list" required:"true"`
19432}
19433
19434// String returns the string representation
19435func (s UntagResourceInput) String() string {
19436	return awsutil.Prettify(s)
19437}
19438
19439// GoString returns the string representation
19440func (s UntagResourceInput) GoString() string {
19441	return s.String()
19442}
19443
19444// Validate inspects the fields of the type to determine if they are valid.
19445func (s *UntagResourceInput) Validate() error {
19446	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
19447	if s.Arn == nil {
19448		invalidParams.Add(request.NewErrParamRequired("Arn"))
19449	}
19450	if s.TagKeys == nil {
19451		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
19452	}
19453
19454	if invalidParams.Len() > 0 {
19455		return invalidParams
19456	}
19457	return nil
19458}
19459
19460// SetArn sets the Arn field's value.
19461func (s *UntagResourceInput) SetArn(v string) *UntagResourceInput {
19462	s.Arn = &v
19463	return s
19464}
19465
19466// SetTagKeys sets the TagKeys field's value.
19467func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
19468	s.TagKeys = v
19469	return s
19470}
19471
19472type UntagResourceOutput struct {
19473	_ struct{} `type:"structure"`
19474}
19475
19476// String returns the string representation
19477func (s UntagResourceOutput) String() string {
19478	return awsutil.Prettify(s)
19479}
19480
19481// GoString returns the string representation
19482func (s UntagResourceOutput) GoString() string {
19483	return s.String()
19484}
19485
19486type UpdateAddressBookInput struct {
19487	_ struct{} `type:"structure"`
19488
19489	// The ARN of the room to update.
19490	//
19491	// AddressBookArn is a required field
19492	AddressBookArn *string `type:"string" required:"true"`
19493
19494	// The updated description of the room.
19495	Description *string `min:"1" type:"string"`
19496
19497	// The updated name of the room.
19498	Name *string `min:"1" type:"string"`
19499}
19500
19501// String returns the string representation
19502func (s UpdateAddressBookInput) String() string {
19503	return awsutil.Prettify(s)
19504}
19505
19506// GoString returns the string representation
19507func (s UpdateAddressBookInput) GoString() string {
19508	return s.String()
19509}
19510
19511// Validate inspects the fields of the type to determine if they are valid.
19512func (s *UpdateAddressBookInput) Validate() error {
19513	invalidParams := request.ErrInvalidParams{Context: "UpdateAddressBookInput"}
19514	if s.AddressBookArn == nil {
19515		invalidParams.Add(request.NewErrParamRequired("AddressBookArn"))
19516	}
19517	if s.Description != nil && len(*s.Description) < 1 {
19518		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
19519	}
19520	if s.Name != nil && len(*s.Name) < 1 {
19521		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
19522	}
19523
19524	if invalidParams.Len() > 0 {
19525		return invalidParams
19526	}
19527	return nil
19528}
19529
19530// SetAddressBookArn sets the AddressBookArn field's value.
19531func (s *UpdateAddressBookInput) SetAddressBookArn(v string) *UpdateAddressBookInput {
19532	s.AddressBookArn = &v
19533	return s
19534}
19535
19536// SetDescription sets the Description field's value.
19537func (s *UpdateAddressBookInput) SetDescription(v string) *UpdateAddressBookInput {
19538	s.Description = &v
19539	return s
19540}
19541
19542// SetName sets the Name field's value.
19543func (s *UpdateAddressBookInput) SetName(v string) *UpdateAddressBookInput {
19544	s.Name = &v
19545	return s
19546}
19547
19548type UpdateAddressBookOutput struct {
19549	_ struct{} `type:"structure"`
19550}
19551
19552// String returns the string representation
19553func (s UpdateAddressBookOutput) String() string {
19554	return awsutil.Prettify(s)
19555}
19556
19557// GoString returns the string representation
19558func (s UpdateAddressBookOutput) GoString() string {
19559	return s.String()
19560}
19561
19562type UpdateBusinessReportScheduleInput struct {
19563	_ struct{} `type:"structure"`
19564
19565	// The format of the generated report (individual CSV files or zipped files
19566	// of individual files).
19567	Format *string `type:"string" enum:"BusinessReportFormat"`
19568
19569	// The recurrence of the reports.
19570	Recurrence *BusinessReportRecurrence `type:"structure"`
19571
19572	// The S3 location of the output reports.
19573	S3BucketName *string `type:"string"`
19574
19575	// The S3 key where the report is delivered.
19576	S3KeyPrefix *string `type:"string"`
19577
19578	// The ARN of the business report schedule.
19579	//
19580	// ScheduleArn is a required field
19581	ScheduleArn *string `type:"string" required:"true"`
19582
19583	// The name identifier of the schedule.
19584	ScheduleName *string `type:"string"`
19585}
19586
19587// String returns the string representation
19588func (s UpdateBusinessReportScheduleInput) String() string {
19589	return awsutil.Prettify(s)
19590}
19591
19592// GoString returns the string representation
19593func (s UpdateBusinessReportScheduleInput) GoString() string {
19594	return s.String()
19595}
19596
19597// Validate inspects the fields of the type to determine if they are valid.
19598func (s *UpdateBusinessReportScheduleInput) Validate() error {
19599	invalidParams := request.ErrInvalidParams{Context: "UpdateBusinessReportScheduleInput"}
19600	if s.ScheduleArn == nil {
19601		invalidParams.Add(request.NewErrParamRequired("ScheduleArn"))
19602	}
19603
19604	if invalidParams.Len() > 0 {
19605		return invalidParams
19606	}
19607	return nil
19608}
19609
19610// SetFormat sets the Format field's value.
19611func (s *UpdateBusinessReportScheduleInput) SetFormat(v string) *UpdateBusinessReportScheduleInput {
19612	s.Format = &v
19613	return s
19614}
19615
19616// SetRecurrence sets the Recurrence field's value.
19617func (s *UpdateBusinessReportScheduleInput) SetRecurrence(v *BusinessReportRecurrence) *UpdateBusinessReportScheduleInput {
19618	s.Recurrence = v
19619	return s
19620}
19621
19622// SetS3BucketName sets the S3BucketName field's value.
19623func (s *UpdateBusinessReportScheduleInput) SetS3BucketName(v string) *UpdateBusinessReportScheduleInput {
19624	s.S3BucketName = &v
19625	return s
19626}
19627
19628// SetS3KeyPrefix sets the S3KeyPrefix field's value.
19629func (s *UpdateBusinessReportScheduleInput) SetS3KeyPrefix(v string) *UpdateBusinessReportScheduleInput {
19630	s.S3KeyPrefix = &v
19631	return s
19632}
19633
19634// SetScheduleArn sets the ScheduleArn field's value.
19635func (s *UpdateBusinessReportScheduleInput) SetScheduleArn(v string) *UpdateBusinessReportScheduleInput {
19636	s.ScheduleArn = &v
19637	return s
19638}
19639
19640// SetScheduleName sets the ScheduleName field's value.
19641func (s *UpdateBusinessReportScheduleInput) SetScheduleName(v string) *UpdateBusinessReportScheduleInput {
19642	s.ScheduleName = &v
19643	return s
19644}
19645
19646type UpdateBusinessReportScheduleOutput struct {
19647	_ struct{} `type:"structure"`
19648}
19649
19650// String returns the string representation
19651func (s UpdateBusinessReportScheduleOutput) String() string {
19652	return awsutil.Prettify(s)
19653}
19654
19655// GoString returns the string representation
19656func (s UpdateBusinessReportScheduleOutput) GoString() string {
19657	return s.String()
19658}
19659
19660type UpdateConferenceProviderInput struct {
19661	_ struct{} `type:"structure"`
19662
19663	// The ARN of the conference provider.
19664	//
19665	// ConferenceProviderArn is a required field
19666	ConferenceProviderArn *string `type:"string" required:"true"`
19667
19668	// The type of the conference provider.
19669	//
19670	// ConferenceProviderType is a required field
19671	ConferenceProviderType *string `type:"string" required:"true" enum:"ConferenceProviderType"`
19672
19673	// The IP endpoint and protocol for calling.
19674	IPDialIn *IPDialIn `type:"structure"`
19675
19676	// The meeting settings for the conference provider.
19677	//
19678	// MeetingSetting is a required field
19679	MeetingSetting *MeetingSetting `type:"structure" required:"true"`
19680
19681	// The information for PSTN conferencing.
19682	PSTNDialIn *PSTNDialIn `type:"structure"`
19683}
19684
19685// String returns the string representation
19686func (s UpdateConferenceProviderInput) String() string {
19687	return awsutil.Prettify(s)
19688}
19689
19690// GoString returns the string representation
19691func (s UpdateConferenceProviderInput) GoString() string {
19692	return s.String()
19693}
19694
19695// Validate inspects the fields of the type to determine if they are valid.
19696func (s *UpdateConferenceProviderInput) Validate() error {
19697	invalidParams := request.ErrInvalidParams{Context: "UpdateConferenceProviderInput"}
19698	if s.ConferenceProviderArn == nil {
19699		invalidParams.Add(request.NewErrParamRequired("ConferenceProviderArn"))
19700	}
19701	if s.ConferenceProviderType == nil {
19702		invalidParams.Add(request.NewErrParamRequired("ConferenceProviderType"))
19703	}
19704	if s.MeetingSetting == nil {
19705		invalidParams.Add(request.NewErrParamRequired("MeetingSetting"))
19706	}
19707	if s.IPDialIn != nil {
19708		if err := s.IPDialIn.Validate(); err != nil {
19709			invalidParams.AddNested("IPDialIn", err.(request.ErrInvalidParams))
19710		}
19711	}
19712	if s.MeetingSetting != nil {
19713		if err := s.MeetingSetting.Validate(); err != nil {
19714			invalidParams.AddNested("MeetingSetting", err.(request.ErrInvalidParams))
19715		}
19716	}
19717	if s.PSTNDialIn != nil {
19718		if err := s.PSTNDialIn.Validate(); err != nil {
19719			invalidParams.AddNested("PSTNDialIn", err.(request.ErrInvalidParams))
19720		}
19721	}
19722
19723	if invalidParams.Len() > 0 {
19724		return invalidParams
19725	}
19726	return nil
19727}
19728
19729// SetConferenceProviderArn sets the ConferenceProviderArn field's value.
19730func (s *UpdateConferenceProviderInput) SetConferenceProviderArn(v string) *UpdateConferenceProviderInput {
19731	s.ConferenceProviderArn = &v
19732	return s
19733}
19734
19735// SetConferenceProviderType sets the ConferenceProviderType field's value.
19736func (s *UpdateConferenceProviderInput) SetConferenceProviderType(v string) *UpdateConferenceProviderInput {
19737	s.ConferenceProviderType = &v
19738	return s
19739}
19740
19741// SetIPDialIn sets the IPDialIn field's value.
19742func (s *UpdateConferenceProviderInput) SetIPDialIn(v *IPDialIn) *UpdateConferenceProviderInput {
19743	s.IPDialIn = v
19744	return s
19745}
19746
19747// SetMeetingSetting sets the MeetingSetting field's value.
19748func (s *UpdateConferenceProviderInput) SetMeetingSetting(v *MeetingSetting) *UpdateConferenceProviderInput {
19749	s.MeetingSetting = v
19750	return s
19751}
19752
19753// SetPSTNDialIn sets the PSTNDialIn field's value.
19754func (s *UpdateConferenceProviderInput) SetPSTNDialIn(v *PSTNDialIn) *UpdateConferenceProviderInput {
19755	s.PSTNDialIn = v
19756	return s
19757}
19758
19759type UpdateConferenceProviderOutput struct {
19760	_ struct{} `type:"structure"`
19761}
19762
19763// String returns the string representation
19764func (s UpdateConferenceProviderOutput) String() string {
19765	return awsutil.Prettify(s)
19766}
19767
19768// GoString returns the string representation
19769func (s UpdateConferenceProviderOutput) GoString() string {
19770	return s.String()
19771}
19772
19773type UpdateContactInput struct {
19774	_ struct{} `type:"structure"`
19775
19776	// The ARN of the contact to update.
19777	//
19778	// ContactArn is a required field
19779	ContactArn *string `type:"string" required:"true"`
19780
19781	// The updated display name of the contact.
19782	DisplayName *string `min:"1" type:"string"`
19783
19784	// The updated first name of the contact.
19785	FirstName *string `min:"1" type:"string"`
19786
19787	// The updated last name of the contact.
19788	LastName *string `min:"1" type:"string"`
19789
19790	// The updated phone number of the contact. The phone number type defaults to
19791	// WORK. You can either specify PhoneNumber or PhoneNumbers. We recommend that
19792	// you use PhoneNumbers, which lets you specify the phone number type and multiple
19793	// numbers.
19794	PhoneNumber *string `type:"string" sensitive:"true"`
19795
19796	// The list of phone numbers for the contact.
19797	PhoneNumbers []*PhoneNumber `type:"list"`
19798
19799	// The list of SIP addresses for the contact.
19800	SipAddresses []*SipAddress `type:"list"`
19801}
19802
19803// String returns the string representation
19804func (s UpdateContactInput) String() string {
19805	return awsutil.Prettify(s)
19806}
19807
19808// GoString returns the string representation
19809func (s UpdateContactInput) GoString() string {
19810	return s.String()
19811}
19812
19813// Validate inspects the fields of the type to determine if they are valid.
19814func (s *UpdateContactInput) Validate() error {
19815	invalidParams := request.ErrInvalidParams{Context: "UpdateContactInput"}
19816	if s.ContactArn == nil {
19817		invalidParams.Add(request.NewErrParamRequired("ContactArn"))
19818	}
19819	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
19820		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
19821	}
19822	if s.FirstName != nil && len(*s.FirstName) < 1 {
19823		invalidParams.Add(request.NewErrParamMinLen("FirstName", 1))
19824	}
19825	if s.LastName != nil && len(*s.LastName) < 1 {
19826		invalidParams.Add(request.NewErrParamMinLen("LastName", 1))
19827	}
19828	if s.PhoneNumbers != nil {
19829		for i, v := range s.PhoneNumbers {
19830			if v == nil {
19831				continue
19832			}
19833			if err := v.Validate(); err != nil {
19834				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PhoneNumbers", i), err.(request.ErrInvalidParams))
19835			}
19836		}
19837	}
19838	if s.SipAddresses != nil {
19839		for i, v := range s.SipAddresses {
19840			if v == nil {
19841				continue
19842			}
19843			if err := v.Validate(); err != nil {
19844				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SipAddresses", i), err.(request.ErrInvalidParams))
19845			}
19846		}
19847	}
19848
19849	if invalidParams.Len() > 0 {
19850		return invalidParams
19851	}
19852	return nil
19853}
19854
19855// SetContactArn sets the ContactArn field's value.
19856func (s *UpdateContactInput) SetContactArn(v string) *UpdateContactInput {
19857	s.ContactArn = &v
19858	return s
19859}
19860
19861// SetDisplayName sets the DisplayName field's value.
19862func (s *UpdateContactInput) SetDisplayName(v string) *UpdateContactInput {
19863	s.DisplayName = &v
19864	return s
19865}
19866
19867// SetFirstName sets the FirstName field's value.
19868func (s *UpdateContactInput) SetFirstName(v string) *UpdateContactInput {
19869	s.FirstName = &v
19870	return s
19871}
19872
19873// SetLastName sets the LastName field's value.
19874func (s *UpdateContactInput) SetLastName(v string) *UpdateContactInput {
19875	s.LastName = &v
19876	return s
19877}
19878
19879// SetPhoneNumber sets the PhoneNumber field's value.
19880func (s *UpdateContactInput) SetPhoneNumber(v string) *UpdateContactInput {
19881	s.PhoneNumber = &v
19882	return s
19883}
19884
19885// SetPhoneNumbers sets the PhoneNumbers field's value.
19886func (s *UpdateContactInput) SetPhoneNumbers(v []*PhoneNumber) *UpdateContactInput {
19887	s.PhoneNumbers = v
19888	return s
19889}
19890
19891// SetSipAddresses sets the SipAddresses field's value.
19892func (s *UpdateContactInput) SetSipAddresses(v []*SipAddress) *UpdateContactInput {
19893	s.SipAddresses = v
19894	return s
19895}
19896
19897type UpdateContactOutput struct {
19898	_ struct{} `type:"structure"`
19899}
19900
19901// String returns the string representation
19902func (s UpdateContactOutput) String() string {
19903	return awsutil.Prettify(s)
19904}
19905
19906// GoString returns the string representation
19907func (s UpdateContactOutput) GoString() string {
19908	return s.String()
19909}
19910
19911type UpdateDeviceInput struct {
19912	_ struct{} `type:"structure"`
19913
19914	// The ARN of the device to update. Required.
19915	DeviceArn *string `type:"string"`
19916
19917	// The updated device name. Required.
19918	DeviceName *string `min:"2" type:"string"`
19919}
19920
19921// String returns the string representation
19922func (s UpdateDeviceInput) String() string {
19923	return awsutil.Prettify(s)
19924}
19925
19926// GoString returns the string representation
19927func (s UpdateDeviceInput) GoString() string {
19928	return s.String()
19929}
19930
19931// Validate inspects the fields of the type to determine if they are valid.
19932func (s *UpdateDeviceInput) Validate() error {
19933	invalidParams := request.ErrInvalidParams{Context: "UpdateDeviceInput"}
19934	if s.DeviceName != nil && len(*s.DeviceName) < 2 {
19935		invalidParams.Add(request.NewErrParamMinLen("DeviceName", 2))
19936	}
19937
19938	if invalidParams.Len() > 0 {
19939		return invalidParams
19940	}
19941	return nil
19942}
19943
19944// SetDeviceArn sets the DeviceArn field's value.
19945func (s *UpdateDeviceInput) SetDeviceArn(v string) *UpdateDeviceInput {
19946	s.DeviceArn = &v
19947	return s
19948}
19949
19950// SetDeviceName sets the DeviceName field's value.
19951func (s *UpdateDeviceInput) SetDeviceName(v string) *UpdateDeviceInput {
19952	s.DeviceName = &v
19953	return s
19954}
19955
19956type UpdateDeviceOutput struct {
19957	_ struct{} `type:"structure"`
19958}
19959
19960// String returns the string representation
19961func (s UpdateDeviceOutput) String() string {
19962	return awsutil.Prettify(s)
19963}
19964
19965// GoString returns the string representation
19966func (s UpdateDeviceOutput) GoString() string {
19967	return s.String()
19968}
19969
19970// Settings for the end of meeting reminder feature that are applied to a room
19971// profile. The end of meeting reminder enables Alexa to remind users when a
19972// meeting is ending.
19973type UpdateEndOfMeetingReminder struct {
19974	_ struct{} `type:"structure"`
19975
19976	// Whether an end of meeting reminder is enabled or not.
19977	Enabled *bool `type:"boolean"`
19978
19979	// Updates settings for the end of meeting reminder feature that are applied
19980	// to a room profile. The end of meeting reminder enables Alexa to remind users
19981	// when a meeting is ending.
19982	ReminderAtMinutes []*int64 `min:"1" type:"list"`
19983
19984	// The type of sound that users hear during the end of meeting reminder.
19985	ReminderType *string `type:"string" enum:"EndOfMeetingReminderType"`
19986}
19987
19988// String returns the string representation
19989func (s UpdateEndOfMeetingReminder) String() string {
19990	return awsutil.Prettify(s)
19991}
19992
19993// GoString returns the string representation
19994func (s UpdateEndOfMeetingReminder) GoString() string {
19995	return s.String()
19996}
19997
19998// Validate inspects the fields of the type to determine if they are valid.
19999func (s *UpdateEndOfMeetingReminder) Validate() error {
20000	invalidParams := request.ErrInvalidParams{Context: "UpdateEndOfMeetingReminder"}
20001	if s.ReminderAtMinutes != nil && len(s.ReminderAtMinutes) < 1 {
20002		invalidParams.Add(request.NewErrParamMinLen("ReminderAtMinutes", 1))
20003	}
20004
20005	if invalidParams.Len() > 0 {
20006		return invalidParams
20007	}
20008	return nil
20009}
20010
20011// SetEnabled sets the Enabled field's value.
20012func (s *UpdateEndOfMeetingReminder) SetEnabled(v bool) *UpdateEndOfMeetingReminder {
20013	s.Enabled = &v
20014	return s
20015}
20016
20017// SetReminderAtMinutes sets the ReminderAtMinutes field's value.
20018func (s *UpdateEndOfMeetingReminder) SetReminderAtMinutes(v []*int64) *UpdateEndOfMeetingReminder {
20019	s.ReminderAtMinutes = v
20020	return s
20021}
20022
20023// SetReminderType sets the ReminderType field's value.
20024func (s *UpdateEndOfMeetingReminder) SetReminderType(v string) *UpdateEndOfMeetingReminder {
20025	s.ReminderType = &v
20026	return s
20027}
20028
20029type UpdateGatewayGroupInput struct {
20030	_ struct{} `type:"structure"`
20031
20032	// The updated description of the gateway group.
20033	Description *string `type:"string"`
20034
20035	// The ARN of the gateway group to update.
20036	//
20037	// GatewayGroupArn is a required field
20038	GatewayGroupArn *string `type:"string" required:"true"`
20039
20040	// The updated name of the gateway group.
20041	Name *string `min:"1" type:"string"`
20042}
20043
20044// String returns the string representation
20045func (s UpdateGatewayGroupInput) String() string {
20046	return awsutil.Prettify(s)
20047}
20048
20049// GoString returns the string representation
20050func (s UpdateGatewayGroupInput) GoString() string {
20051	return s.String()
20052}
20053
20054// Validate inspects the fields of the type to determine if they are valid.
20055func (s *UpdateGatewayGroupInput) Validate() error {
20056	invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayGroupInput"}
20057	if s.GatewayGroupArn == nil {
20058		invalidParams.Add(request.NewErrParamRequired("GatewayGroupArn"))
20059	}
20060	if s.Name != nil && len(*s.Name) < 1 {
20061		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
20062	}
20063
20064	if invalidParams.Len() > 0 {
20065		return invalidParams
20066	}
20067	return nil
20068}
20069
20070// SetDescription sets the Description field's value.
20071func (s *UpdateGatewayGroupInput) SetDescription(v string) *UpdateGatewayGroupInput {
20072	s.Description = &v
20073	return s
20074}
20075
20076// SetGatewayGroupArn sets the GatewayGroupArn field's value.
20077func (s *UpdateGatewayGroupInput) SetGatewayGroupArn(v string) *UpdateGatewayGroupInput {
20078	s.GatewayGroupArn = &v
20079	return s
20080}
20081
20082// SetName sets the Name field's value.
20083func (s *UpdateGatewayGroupInput) SetName(v string) *UpdateGatewayGroupInput {
20084	s.Name = &v
20085	return s
20086}
20087
20088type UpdateGatewayGroupOutput struct {
20089	_ struct{} `type:"structure"`
20090}
20091
20092// String returns the string representation
20093func (s UpdateGatewayGroupOutput) String() string {
20094	return awsutil.Prettify(s)
20095}
20096
20097// GoString returns the string representation
20098func (s UpdateGatewayGroupOutput) GoString() string {
20099	return s.String()
20100}
20101
20102type UpdateGatewayInput struct {
20103	_ struct{} `type:"structure"`
20104
20105	// The updated description of the gateway.
20106	Description *string `type:"string"`
20107
20108	// The ARN of the gateway to update.
20109	//
20110	// GatewayArn is a required field
20111	GatewayArn *string `type:"string" required:"true"`
20112
20113	// The updated name of the gateway.
20114	Name *string `min:"1" type:"string"`
20115
20116	// The updated software version of the gateway. The gateway automatically updates
20117	// its software version during normal operation.
20118	SoftwareVersion *string `min:"1" type:"string"`
20119}
20120
20121// String returns the string representation
20122func (s UpdateGatewayInput) String() string {
20123	return awsutil.Prettify(s)
20124}
20125
20126// GoString returns the string representation
20127func (s UpdateGatewayInput) GoString() string {
20128	return s.String()
20129}
20130
20131// Validate inspects the fields of the type to determine if they are valid.
20132func (s *UpdateGatewayInput) Validate() error {
20133	invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayInput"}
20134	if s.GatewayArn == nil {
20135		invalidParams.Add(request.NewErrParamRequired("GatewayArn"))
20136	}
20137	if s.Name != nil && len(*s.Name) < 1 {
20138		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
20139	}
20140	if s.SoftwareVersion != nil && len(*s.SoftwareVersion) < 1 {
20141		invalidParams.Add(request.NewErrParamMinLen("SoftwareVersion", 1))
20142	}
20143
20144	if invalidParams.Len() > 0 {
20145		return invalidParams
20146	}
20147	return nil
20148}
20149
20150// SetDescription sets the Description field's value.
20151func (s *UpdateGatewayInput) SetDescription(v string) *UpdateGatewayInput {
20152	s.Description = &v
20153	return s
20154}
20155
20156// SetGatewayArn sets the GatewayArn field's value.
20157func (s *UpdateGatewayInput) SetGatewayArn(v string) *UpdateGatewayInput {
20158	s.GatewayArn = &v
20159	return s
20160}
20161
20162// SetName sets the Name field's value.
20163func (s *UpdateGatewayInput) SetName(v string) *UpdateGatewayInput {
20164	s.Name = &v
20165	return s
20166}
20167
20168// SetSoftwareVersion sets the SoftwareVersion field's value.
20169func (s *UpdateGatewayInput) SetSoftwareVersion(v string) *UpdateGatewayInput {
20170	s.SoftwareVersion = &v
20171	return s
20172}
20173
20174type UpdateGatewayOutput struct {
20175	_ struct{} `type:"structure"`
20176}
20177
20178// String returns the string representation
20179func (s UpdateGatewayOutput) String() string {
20180	return awsutil.Prettify(s)
20181}
20182
20183// GoString returns the string representation
20184func (s UpdateGatewayOutput) GoString() string {
20185	return s.String()
20186}
20187
20188// Updates settings for the instant booking feature that are applied to a room
20189// profile. If instant booking is enabled, Alexa automatically reserves a room
20190// if it is free when a user joins a meeting with Alexa.
20191type UpdateInstantBooking struct {
20192	_ struct{} `type:"structure"`
20193
20194	// Duration between 15 and 240 minutes at increments of 15 that determines how
20195	// long to book an available room when a meeting is started with Alexa.
20196	DurationInMinutes *int64 `type:"integer"`
20197
20198	// Whether instant booking is enabled or not.
20199	Enabled *bool `type:"boolean"`
20200}
20201
20202// String returns the string representation
20203func (s UpdateInstantBooking) String() string {
20204	return awsutil.Prettify(s)
20205}
20206
20207// GoString returns the string representation
20208func (s UpdateInstantBooking) GoString() string {
20209	return s.String()
20210}
20211
20212// SetDurationInMinutes sets the DurationInMinutes field's value.
20213func (s *UpdateInstantBooking) SetDurationInMinutes(v int64) *UpdateInstantBooking {
20214	s.DurationInMinutes = &v
20215	return s
20216}
20217
20218// SetEnabled sets the Enabled field's value.
20219func (s *UpdateInstantBooking) SetEnabled(v bool) *UpdateInstantBooking {
20220	s.Enabled = &v
20221	return s
20222}
20223
20224// Updates meeting room settings of a room profile.
20225type UpdateMeetingRoomConfiguration struct {
20226	_ struct{} `type:"structure"`
20227
20228	// Settings for the end of meeting reminder feature that are applied to a room
20229	// profile. The end of meeting reminder enables Alexa to remind users when a
20230	// meeting is ending.
20231	EndOfMeetingReminder *UpdateEndOfMeetingReminder `type:"structure"`
20232
20233	// Settings to automatically book an available room available for a configured
20234	// duration when joining a meeting with Alexa.
20235	InstantBooking *UpdateInstantBooking `type:"structure"`
20236
20237	// Settings for requiring a check in when a room is reserved. Alexa can cancel
20238	// a room reservation if it's not checked into to make the room available for
20239	// others. Users can check in by joining the meeting with Alexa or an AVS device,
20240	// or by saying “Alexa, check in.”
20241	RequireCheckIn *UpdateRequireCheckIn `type:"structure"`
20242
20243	// Whether room utilization metrics are enabled or not.
20244	RoomUtilizationMetricsEnabled *bool `type:"boolean"`
20245}
20246
20247// String returns the string representation
20248func (s UpdateMeetingRoomConfiguration) String() string {
20249	return awsutil.Prettify(s)
20250}
20251
20252// GoString returns the string representation
20253func (s UpdateMeetingRoomConfiguration) GoString() string {
20254	return s.String()
20255}
20256
20257// Validate inspects the fields of the type to determine if they are valid.
20258func (s *UpdateMeetingRoomConfiguration) Validate() error {
20259	invalidParams := request.ErrInvalidParams{Context: "UpdateMeetingRoomConfiguration"}
20260	if s.EndOfMeetingReminder != nil {
20261		if err := s.EndOfMeetingReminder.Validate(); err != nil {
20262			invalidParams.AddNested("EndOfMeetingReminder", err.(request.ErrInvalidParams))
20263		}
20264	}
20265
20266	if invalidParams.Len() > 0 {
20267		return invalidParams
20268	}
20269	return nil
20270}
20271
20272// SetEndOfMeetingReminder sets the EndOfMeetingReminder field's value.
20273func (s *UpdateMeetingRoomConfiguration) SetEndOfMeetingReminder(v *UpdateEndOfMeetingReminder) *UpdateMeetingRoomConfiguration {
20274	s.EndOfMeetingReminder = v
20275	return s
20276}
20277
20278// SetInstantBooking sets the InstantBooking field's value.
20279func (s *UpdateMeetingRoomConfiguration) SetInstantBooking(v *UpdateInstantBooking) *UpdateMeetingRoomConfiguration {
20280	s.InstantBooking = v
20281	return s
20282}
20283
20284// SetRequireCheckIn sets the RequireCheckIn field's value.
20285func (s *UpdateMeetingRoomConfiguration) SetRequireCheckIn(v *UpdateRequireCheckIn) *UpdateMeetingRoomConfiguration {
20286	s.RequireCheckIn = v
20287	return s
20288}
20289
20290// SetRoomUtilizationMetricsEnabled sets the RoomUtilizationMetricsEnabled field's value.
20291func (s *UpdateMeetingRoomConfiguration) SetRoomUtilizationMetricsEnabled(v bool) *UpdateMeetingRoomConfiguration {
20292	s.RoomUtilizationMetricsEnabled = &v
20293	return s
20294}
20295
20296type UpdateNetworkProfileInput struct {
20297	_ struct{} `type:"structure"`
20298
20299	// The ARN of the Private Certificate Authority (PCA) created in AWS Certificate
20300	// Manager (ACM). This is used to issue certificates to the devices.
20301	CertificateAuthorityArn *string `type:"string"`
20302
20303	// The current password of the Wi-Fi network.
20304	CurrentPassword *string `min:"5" type:"string" sensitive:"true"`
20305
20306	// Detailed information about a device's network profile.
20307	Description *string `type:"string"`
20308
20309	// The ARN of the network profile associated with a device.
20310	//
20311	// NetworkProfileArn is a required field
20312	NetworkProfileArn *string `type:"string" required:"true"`
20313
20314	// The name of the network profile associated with a device.
20315	NetworkProfileName *string `min:"1" type:"string"`
20316
20317	// The next, or subsequent, password of the Wi-Fi network. This password is
20318	// asynchronously transmitted to the device and is used when the password of
20319	// the network changes to NextPassword.
20320	NextPassword *string `type:"string" sensitive:"true"`
20321
20322	// The root certificate(s) of your authentication server that will be installed
20323	// on your devices and used to trust your authentication server during EAP negotiation.
20324	TrustAnchors []*string `min:"1" type:"list"`
20325}
20326
20327// String returns the string representation
20328func (s UpdateNetworkProfileInput) String() string {
20329	return awsutil.Prettify(s)
20330}
20331
20332// GoString returns the string representation
20333func (s UpdateNetworkProfileInput) GoString() string {
20334	return s.String()
20335}
20336
20337// Validate inspects the fields of the type to determine if they are valid.
20338func (s *UpdateNetworkProfileInput) Validate() error {
20339	invalidParams := request.ErrInvalidParams{Context: "UpdateNetworkProfileInput"}
20340	if s.CurrentPassword != nil && len(*s.CurrentPassword) < 5 {
20341		invalidParams.Add(request.NewErrParamMinLen("CurrentPassword", 5))
20342	}
20343	if s.NetworkProfileArn == nil {
20344		invalidParams.Add(request.NewErrParamRequired("NetworkProfileArn"))
20345	}
20346	if s.NetworkProfileName != nil && len(*s.NetworkProfileName) < 1 {
20347		invalidParams.Add(request.NewErrParamMinLen("NetworkProfileName", 1))
20348	}
20349	if s.TrustAnchors != nil && len(s.TrustAnchors) < 1 {
20350		invalidParams.Add(request.NewErrParamMinLen("TrustAnchors", 1))
20351	}
20352
20353	if invalidParams.Len() > 0 {
20354		return invalidParams
20355	}
20356	return nil
20357}
20358
20359// SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value.
20360func (s *UpdateNetworkProfileInput) SetCertificateAuthorityArn(v string) *UpdateNetworkProfileInput {
20361	s.CertificateAuthorityArn = &v
20362	return s
20363}
20364
20365// SetCurrentPassword sets the CurrentPassword field's value.
20366func (s *UpdateNetworkProfileInput) SetCurrentPassword(v string) *UpdateNetworkProfileInput {
20367	s.CurrentPassword = &v
20368	return s
20369}
20370
20371// SetDescription sets the Description field's value.
20372func (s *UpdateNetworkProfileInput) SetDescription(v string) *UpdateNetworkProfileInput {
20373	s.Description = &v
20374	return s
20375}
20376
20377// SetNetworkProfileArn sets the NetworkProfileArn field's value.
20378func (s *UpdateNetworkProfileInput) SetNetworkProfileArn(v string) *UpdateNetworkProfileInput {
20379	s.NetworkProfileArn = &v
20380	return s
20381}
20382
20383// SetNetworkProfileName sets the NetworkProfileName field's value.
20384func (s *UpdateNetworkProfileInput) SetNetworkProfileName(v string) *UpdateNetworkProfileInput {
20385	s.NetworkProfileName = &v
20386	return s
20387}
20388
20389// SetNextPassword sets the NextPassword field's value.
20390func (s *UpdateNetworkProfileInput) SetNextPassword(v string) *UpdateNetworkProfileInput {
20391	s.NextPassword = &v
20392	return s
20393}
20394
20395// SetTrustAnchors sets the TrustAnchors field's value.
20396func (s *UpdateNetworkProfileInput) SetTrustAnchors(v []*string) *UpdateNetworkProfileInput {
20397	s.TrustAnchors = v
20398	return s
20399}
20400
20401type UpdateNetworkProfileOutput struct {
20402	_ struct{} `type:"structure"`
20403}
20404
20405// String returns the string representation
20406func (s UpdateNetworkProfileOutput) String() string {
20407	return awsutil.Prettify(s)
20408}
20409
20410// GoString returns the string representation
20411func (s UpdateNetworkProfileOutput) GoString() string {
20412	return s.String()
20413}
20414
20415type UpdateProfileInput struct {
20416	_ struct{} `type:"structure"`
20417
20418	// The updated address for the room profile.
20419	Address *string `min:"1" type:"string"`
20420
20421	// The updated distance unit for the room profile.
20422	DistanceUnit *string `type:"string" enum:"DistanceUnit"`
20423
20424	// Sets the profile as default if selected. If this is missing, no update is
20425	// done to the default status.
20426	IsDefault *bool `type:"boolean"`
20427
20428	// The updated locale for the room profile. (This is currently only available
20429	// to a limited preview audience.)
20430	Locale *string `min:"1" type:"string"`
20431
20432	// The updated maximum volume limit for the room profile.
20433	MaxVolumeLimit *int64 `type:"integer"`
20434
20435	// The updated meeting room settings of a room profile.
20436	MeetingRoomConfiguration *UpdateMeetingRoomConfiguration `type:"structure"`
20437
20438	// Whether the PSTN setting of the room profile is enabled.
20439	PSTNEnabled *bool `type:"boolean"`
20440
20441	// The ARN of the room profile to update. Required.
20442	ProfileArn *string `type:"string"`
20443
20444	// The updated name for the room profile.
20445	ProfileName *string `min:"1" type:"string"`
20446
20447	// Whether the setup mode of the profile is enabled.
20448	SetupModeDisabled *bool `type:"boolean"`
20449
20450	// The updated temperature unit for the room profile.
20451	TemperatureUnit *string `type:"string" enum:"TemperatureUnit"`
20452
20453	// The updated timezone for the room profile.
20454	Timezone *string `min:"1" type:"string"`
20455
20456	// The updated wake word for the room profile.
20457	WakeWord *string `type:"string" enum:"WakeWord"`
20458}
20459
20460// String returns the string representation
20461func (s UpdateProfileInput) String() string {
20462	return awsutil.Prettify(s)
20463}
20464
20465// GoString returns the string representation
20466func (s UpdateProfileInput) GoString() string {
20467	return s.String()
20468}
20469
20470// Validate inspects the fields of the type to determine if they are valid.
20471func (s *UpdateProfileInput) Validate() error {
20472	invalidParams := request.ErrInvalidParams{Context: "UpdateProfileInput"}
20473	if s.Address != nil && len(*s.Address) < 1 {
20474		invalidParams.Add(request.NewErrParamMinLen("Address", 1))
20475	}
20476	if s.Locale != nil && len(*s.Locale) < 1 {
20477		invalidParams.Add(request.NewErrParamMinLen("Locale", 1))
20478	}
20479	if s.ProfileName != nil && len(*s.ProfileName) < 1 {
20480		invalidParams.Add(request.NewErrParamMinLen("ProfileName", 1))
20481	}
20482	if s.Timezone != nil && len(*s.Timezone) < 1 {
20483		invalidParams.Add(request.NewErrParamMinLen("Timezone", 1))
20484	}
20485	if s.MeetingRoomConfiguration != nil {
20486		if err := s.MeetingRoomConfiguration.Validate(); err != nil {
20487			invalidParams.AddNested("MeetingRoomConfiguration", err.(request.ErrInvalidParams))
20488		}
20489	}
20490
20491	if invalidParams.Len() > 0 {
20492		return invalidParams
20493	}
20494	return nil
20495}
20496
20497// SetAddress sets the Address field's value.
20498func (s *UpdateProfileInput) SetAddress(v string) *UpdateProfileInput {
20499	s.Address = &v
20500	return s
20501}
20502
20503// SetDistanceUnit sets the DistanceUnit field's value.
20504func (s *UpdateProfileInput) SetDistanceUnit(v string) *UpdateProfileInput {
20505	s.DistanceUnit = &v
20506	return s
20507}
20508
20509// SetIsDefault sets the IsDefault field's value.
20510func (s *UpdateProfileInput) SetIsDefault(v bool) *UpdateProfileInput {
20511	s.IsDefault = &v
20512	return s
20513}
20514
20515// SetLocale sets the Locale field's value.
20516func (s *UpdateProfileInput) SetLocale(v string) *UpdateProfileInput {
20517	s.Locale = &v
20518	return s
20519}
20520
20521// SetMaxVolumeLimit sets the MaxVolumeLimit field's value.
20522func (s *UpdateProfileInput) SetMaxVolumeLimit(v int64) *UpdateProfileInput {
20523	s.MaxVolumeLimit = &v
20524	return s
20525}
20526
20527// SetMeetingRoomConfiguration sets the MeetingRoomConfiguration field's value.
20528func (s *UpdateProfileInput) SetMeetingRoomConfiguration(v *UpdateMeetingRoomConfiguration) *UpdateProfileInput {
20529	s.MeetingRoomConfiguration = v
20530	return s
20531}
20532
20533// SetPSTNEnabled sets the PSTNEnabled field's value.
20534func (s *UpdateProfileInput) SetPSTNEnabled(v bool) *UpdateProfileInput {
20535	s.PSTNEnabled = &v
20536	return s
20537}
20538
20539// SetProfileArn sets the ProfileArn field's value.
20540func (s *UpdateProfileInput) SetProfileArn(v string) *UpdateProfileInput {
20541	s.ProfileArn = &v
20542	return s
20543}
20544
20545// SetProfileName sets the ProfileName field's value.
20546func (s *UpdateProfileInput) SetProfileName(v string) *UpdateProfileInput {
20547	s.ProfileName = &v
20548	return s
20549}
20550
20551// SetSetupModeDisabled sets the SetupModeDisabled field's value.
20552func (s *UpdateProfileInput) SetSetupModeDisabled(v bool) *UpdateProfileInput {
20553	s.SetupModeDisabled = &v
20554	return s
20555}
20556
20557// SetTemperatureUnit sets the TemperatureUnit field's value.
20558func (s *UpdateProfileInput) SetTemperatureUnit(v string) *UpdateProfileInput {
20559	s.TemperatureUnit = &v
20560	return s
20561}
20562
20563// SetTimezone sets the Timezone field's value.
20564func (s *UpdateProfileInput) SetTimezone(v string) *UpdateProfileInput {
20565	s.Timezone = &v
20566	return s
20567}
20568
20569// SetWakeWord sets the WakeWord field's value.
20570func (s *UpdateProfileInput) SetWakeWord(v string) *UpdateProfileInput {
20571	s.WakeWord = &v
20572	return s
20573}
20574
20575type UpdateProfileOutput struct {
20576	_ struct{} `type:"structure"`
20577}
20578
20579// String returns the string representation
20580func (s UpdateProfileOutput) String() string {
20581	return awsutil.Prettify(s)
20582}
20583
20584// GoString returns the string representation
20585func (s UpdateProfileOutput) GoString() string {
20586	return s.String()
20587}
20588
20589// Updates settings for the require check in feature that are applied to a room
20590// profile. Require check in allows a meeting room’s Alexa or AVS device to
20591// prompt the user to check in; otherwise, the room will be released.
20592type UpdateRequireCheckIn struct {
20593	_ struct{} `type:"structure"`
20594
20595	// Whether require check in is enabled or not.
20596	Enabled *bool `type:"boolean"`
20597
20598	// Duration between 5 and 20 minutes to determine when to release the room if
20599	// it's not checked into.
20600	ReleaseAfterMinutes *int64 `type:"integer"`
20601}
20602
20603// String returns the string representation
20604func (s UpdateRequireCheckIn) String() string {
20605	return awsutil.Prettify(s)
20606}
20607
20608// GoString returns the string representation
20609func (s UpdateRequireCheckIn) GoString() string {
20610	return s.String()
20611}
20612
20613// SetEnabled sets the Enabled field's value.
20614func (s *UpdateRequireCheckIn) SetEnabled(v bool) *UpdateRequireCheckIn {
20615	s.Enabled = &v
20616	return s
20617}
20618
20619// SetReleaseAfterMinutes sets the ReleaseAfterMinutes field's value.
20620func (s *UpdateRequireCheckIn) SetReleaseAfterMinutes(v int64) *UpdateRequireCheckIn {
20621	s.ReleaseAfterMinutes = &v
20622	return s
20623}
20624
20625type UpdateRoomInput struct {
20626	_ struct{} `type:"structure"`
20627
20628	// The updated description for the room.
20629	Description *string `min:"1" type:"string"`
20630
20631	// The updated profile ARN for the room.
20632	ProfileArn *string `type:"string"`
20633
20634	// The updated provider calendar ARN for the room.
20635	ProviderCalendarId *string `type:"string"`
20636
20637	// The ARN of the room to update.
20638	RoomArn *string `type:"string"`
20639
20640	// The updated name for the room.
20641	RoomName *string `min:"1" type:"string"`
20642}
20643
20644// String returns the string representation
20645func (s UpdateRoomInput) String() string {
20646	return awsutil.Prettify(s)
20647}
20648
20649// GoString returns the string representation
20650func (s UpdateRoomInput) GoString() string {
20651	return s.String()
20652}
20653
20654// Validate inspects the fields of the type to determine if they are valid.
20655func (s *UpdateRoomInput) Validate() error {
20656	invalidParams := request.ErrInvalidParams{Context: "UpdateRoomInput"}
20657	if s.Description != nil && len(*s.Description) < 1 {
20658		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
20659	}
20660	if s.RoomName != nil && len(*s.RoomName) < 1 {
20661		invalidParams.Add(request.NewErrParamMinLen("RoomName", 1))
20662	}
20663
20664	if invalidParams.Len() > 0 {
20665		return invalidParams
20666	}
20667	return nil
20668}
20669
20670// SetDescription sets the Description field's value.
20671func (s *UpdateRoomInput) SetDescription(v string) *UpdateRoomInput {
20672	s.Description = &v
20673	return s
20674}
20675
20676// SetProfileArn sets the ProfileArn field's value.
20677func (s *UpdateRoomInput) SetProfileArn(v string) *UpdateRoomInput {
20678	s.ProfileArn = &v
20679	return s
20680}
20681
20682// SetProviderCalendarId sets the ProviderCalendarId field's value.
20683func (s *UpdateRoomInput) SetProviderCalendarId(v string) *UpdateRoomInput {
20684	s.ProviderCalendarId = &v
20685	return s
20686}
20687
20688// SetRoomArn sets the RoomArn field's value.
20689func (s *UpdateRoomInput) SetRoomArn(v string) *UpdateRoomInput {
20690	s.RoomArn = &v
20691	return s
20692}
20693
20694// SetRoomName sets the RoomName field's value.
20695func (s *UpdateRoomInput) SetRoomName(v string) *UpdateRoomInput {
20696	s.RoomName = &v
20697	return s
20698}
20699
20700type UpdateRoomOutput struct {
20701	_ struct{} `type:"structure"`
20702}
20703
20704// String returns the string representation
20705func (s UpdateRoomOutput) String() string {
20706	return awsutil.Prettify(s)
20707}
20708
20709// GoString returns the string representation
20710func (s UpdateRoomOutput) GoString() string {
20711	return s.String()
20712}
20713
20714type UpdateSkillGroupInput struct {
20715	_ struct{} `type:"structure"`
20716
20717	// The updated description for the skill group.
20718	Description *string `min:"1" type:"string"`
20719
20720	// The ARN of the skill group to update.
20721	SkillGroupArn *string `type:"string"`
20722
20723	// The updated name for the skill group.
20724	SkillGroupName *string `min:"1" type:"string"`
20725}
20726
20727// String returns the string representation
20728func (s UpdateSkillGroupInput) String() string {
20729	return awsutil.Prettify(s)
20730}
20731
20732// GoString returns the string representation
20733func (s UpdateSkillGroupInput) GoString() string {
20734	return s.String()
20735}
20736
20737// Validate inspects the fields of the type to determine if they are valid.
20738func (s *UpdateSkillGroupInput) Validate() error {
20739	invalidParams := request.ErrInvalidParams{Context: "UpdateSkillGroupInput"}
20740	if s.Description != nil && len(*s.Description) < 1 {
20741		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
20742	}
20743	if s.SkillGroupName != nil && len(*s.SkillGroupName) < 1 {
20744		invalidParams.Add(request.NewErrParamMinLen("SkillGroupName", 1))
20745	}
20746
20747	if invalidParams.Len() > 0 {
20748		return invalidParams
20749	}
20750	return nil
20751}
20752
20753// SetDescription sets the Description field's value.
20754func (s *UpdateSkillGroupInput) SetDescription(v string) *UpdateSkillGroupInput {
20755	s.Description = &v
20756	return s
20757}
20758
20759// SetSkillGroupArn sets the SkillGroupArn field's value.
20760func (s *UpdateSkillGroupInput) SetSkillGroupArn(v string) *UpdateSkillGroupInput {
20761	s.SkillGroupArn = &v
20762	return s
20763}
20764
20765// SetSkillGroupName sets the SkillGroupName field's value.
20766func (s *UpdateSkillGroupInput) SetSkillGroupName(v string) *UpdateSkillGroupInput {
20767	s.SkillGroupName = &v
20768	return s
20769}
20770
20771type UpdateSkillGroupOutput struct {
20772	_ struct{} `type:"structure"`
20773}
20774
20775// String returns the string representation
20776func (s UpdateSkillGroupOutput) String() string {
20777	return awsutil.Prettify(s)
20778}
20779
20780// GoString returns the string representation
20781func (s UpdateSkillGroupOutput) GoString() string {
20782	return s.String()
20783}
20784
20785// Information related to a user.
20786type UserData struct {
20787	_ struct{} `type:"structure"`
20788
20789	// The email of a user.
20790	Email *string `min:"1" type:"string"`
20791
20792	// The enrollment ARN of a user.
20793	EnrollmentId *string `type:"string"`
20794
20795	// The enrollment status of a user.
20796	EnrollmentStatus *string `type:"string" enum:"EnrollmentStatus"`
20797
20798	// The first name of a user.
20799	FirstName *string `type:"string"`
20800
20801	// The last name of a user.
20802	LastName *string `type:"string"`
20803
20804	// The ARN of a user.
20805	UserArn *string `type:"string"`
20806}
20807
20808// String returns the string representation
20809func (s UserData) String() string {
20810	return awsutil.Prettify(s)
20811}
20812
20813// GoString returns the string representation
20814func (s UserData) GoString() string {
20815	return s.String()
20816}
20817
20818// SetEmail sets the Email field's value.
20819func (s *UserData) SetEmail(v string) *UserData {
20820	s.Email = &v
20821	return s
20822}
20823
20824// SetEnrollmentId sets the EnrollmentId field's value.
20825func (s *UserData) SetEnrollmentId(v string) *UserData {
20826	s.EnrollmentId = &v
20827	return s
20828}
20829
20830// SetEnrollmentStatus sets the EnrollmentStatus field's value.
20831func (s *UserData) SetEnrollmentStatus(v string) *UserData {
20832	s.EnrollmentStatus = &v
20833	return s
20834}
20835
20836// SetFirstName sets the FirstName field's value.
20837func (s *UserData) SetFirstName(v string) *UserData {
20838	s.FirstName = &v
20839	return s
20840}
20841
20842// SetLastName sets the LastName field's value.
20843func (s *UserData) SetLastName(v string) *UserData {
20844	s.LastName = &v
20845	return s
20846}
20847
20848// SetUserArn sets the UserArn field's value.
20849func (s *UserData) SetUserArn(v string) *UserData {
20850	s.UserArn = &v
20851	return s
20852}
20853
20854const (
20855	// BusinessReportFailureCodeAccessDenied is a BusinessReportFailureCode enum value
20856	BusinessReportFailureCodeAccessDenied = "ACCESS_DENIED"
20857
20858	// BusinessReportFailureCodeNoSuchBucket is a BusinessReportFailureCode enum value
20859	BusinessReportFailureCodeNoSuchBucket = "NO_SUCH_BUCKET"
20860
20861	// BusinessReportFailureCodeInternalFailure is a BusinessReportFailureCode enum value
20862	BusinessReportFailureCodeInternalFailure = "INTERNAL_FAILURE"
20863)
20864
20865const (
20866	// BusinessReportFormatCsv is a BusinessReportFormat enum value
20867	BusinessReportFormatCsv = "CSV"
20868
20869	// BusinessReportFormatCsvZip is a BusinessReportFormat enum value
20870	BusinessReportFormatCsvZip = "CSV_ZIP"
20871)
20872
20873const (
20874	// BusinessReportIntervalOneDay is a BusinessReportInterval enum value
20875	BusinessReportIntervalOneDay = "ONE_DAY"
20876
20877	// BusinessReportIntervalOneWeek is a BusinessReportInterval enum value
20878	BusinessReportIntervalOneWeek = "ONE_WEEK"
20879
20880	// BusinessReportIntervalThirtyDays is a BusinessReportInterval enum value
20881	BusinessReportIntervalThirtyDays = "THIRTY_DAYS"
20882)
20883
20884const (
20885	// BusinessReportStatusRunning is a BusinessReportStatus enum value
20886	BusinessReportStatusRunning = "RUNNING"
20887
20888	// BusinessReportStatusSucceeded is a BusinessReportStatus enum value
20889	BusinessReportStatusSucceeded = "SUCCEEDED"
20890
20891	// BusinessReportStatusFailed is a BusinessReportStatus enum value
20892	BusinessReportStatusFailed = "FAILED"
20893)
20894
20895const (
20896	// CommsProtocolSip is a CommsProtocol enum value
20897	CommsProtocolSip = "SIP"
20898
20899	// CommsProtocolSips is a CommsProtocol enum value
20900	CommsProtocolSips = "SIPS"
20901
20902	// CommsProtocolH323 is a CommsProtocol enum value
20903	CommsProtocolH323 = "H323"
20904)
20905
20906const (
20907	// ConferenceProviderTypeChime is a ConferenceProviderType enum value
20908	ConferenceProviderTypeChime = "CHIME"
20909
20910	// ConferenceProviderTypeBluejeans is a ConferenceProviderType enum value
20911	ConferenceProviderTypeBluejeans = "BLUEJEANS"
20912
20913	// ConferenceProviderTypeFuze is a ConferenceProviderType enum value
20914	ConferenceProviderTypeFuze = "FUZE"
20915
20916	// ConferenceProviderTypeGoogleHangouts is a ConferenceProviderType enum value
20917	ConferenceProviderTypeGoogleHangouts = "GOOGLE_HANGOUTS"
20918
20919	// ConferenceProviderTypePolycom is a ConferenceProviderType enum value
20920	ConferenceProviderTypePolycom = "POLYCOM"
20921
20922	// ConferenceProviderTypeRingcentral is a ConferenceProviderType enum value
20923	ConferenceProviderTypeRingcentral = "RINGCENTRAL"
20924
20925	// ConferenceProviderTypeSkypeForBusiness is a ConferenceProviderType enum value
20926	ConferenceProviderTypeSkypeForBusiness = "SKYPE_FOR_BUSINESS"
20927
20928	// ConferenceProviderTypeWebex is a ConferenceProviderType enum value
20929	ConferenceProviderTypeWebex = "WEBEX"
20930
20931	// ConferenceProviderTypeZoom is a ConferenceProviderType enum value
20932	ConferenceProviderTypeZoom = "ZOOM"
20933
20934	// ConferenceProviderTypeCustom is a ConferenceProviderType enum value
20935	ConferenceProviderTypeCustom = "CUSTOM"
20936)
20937
20938const (
20939	// ConnectionStatusOnline is a ConnectionStatus enum value
20940	ConnectionStatusOnline = "ONLINE"
20941
20942	// ConnectionStatusOffline is a ConnectionStatus enum value
20943	ConnectionStatusOffline = "OFFLINE"
20944)
20945
20946const (
20947	// DeviceEventTypeConnectionStatus is a DeviceEventType enum value
20948	DeviceEventTypeConnectionStatus = "CONNECTION_STATUS"
20949
20950	// DeviceEventTypeDeviceStatus is a DeviceEventType enum value
20951	DeviceEventTypeDeviceStatus = "DEVICE_STATUS"
20952)
20953
20954const (
20955	// DeviceStatusReady is a DeviceStatus enum value
20956	DeviceStatusReady = "READY"
20957
20958	// DeviceStatusPending is a DeviceStatus enum value
20959	DeviceStatusPending = "PENDING"
20960
20961	// DeviceStatusWasOffline is a DeviceStatus enum value
20962	DeviceStatusWasOffline = "WAS_OFFLINE"
20963
20964	// DeviceStatusDeregistered is a DeviceStatus enum value
20965	DeviceStatusDeregistered = "DEREGISTERED"
20966
20967	// DeviceStatusFailed is a DeviceStatus enum value
20968	DeviceStatusFailed = "FAILED"
20969)
20970
20971const (
20972	// DeviceStatusDetailCodeDeviceSoftwareUpdateNeeded is a DeviceStatusDetailCode enum value
20973	DeviceStatusDetailCodeDeviceSoftwareUpdateNeeded = "DEVICE_SOFTWARE_UPDATE_NEEDED"
20974
20975	// DeviceStatusDetailCodeDeviceWasOffline is a DeviceStatusDetailCode enum value
20976	DeviceStatusDetailCodeDeviceWasOffline = "DEVICE_WAS_OFFLINE"
20977
20978	// DeviceStatusDetailCodeCredentialsAccessFailure is a DeviceStatusDetailCode enum value
20979	DeviceStatusDetailCodeCredentialsAccessFailure = "CREDENTIALS_ACCESS_FAILURE"
20980
20981	// DeviceStatusDetailCodeTlsVersionMismatch is a DeviceStatusDetailCode enum value
20982	DeviceStatusDetailCodeTlsVersionMismatch = "TLS_VERSION_MISMATCH"
20983
20984	// DeviceStatusDetailCodeAssociationRejection is a DeviceStatusDetailCode enum value
20985	DeviceStatusDetailCodeAssociationRejection = "ASSOCIATION_REJECTION"
20986
20987	// DeviceStatusDetailCodeAuthenticationFailure is a DeviceStatusDetailCode enum value
20988	DeviceStatusDetailCodeAuthenticationFailure = "AUTHENTICATION_FAILURE"
20989
20990	// DeviceStatusDetailCodeDhcpFailure is a DeviceStatusDetailCode enum value
20991	DeviceStatusDetailCodeDhcpFailure = "DHCP_FAILURE"
20992
20993	// DeviceStatusDetailCodeInternetUnavailable is a DeviceStatusDetailCode enum value
20994	DeviceStatusDetailCodeInternetUnavailable = "INTERNET_UNAVAILABLE"
20995
20996	// DeviceStatusDetailCodeDnsFailure is a DeviceStatusDetailCode enum value
20997	DeviceStatusDetailCodeDnsFailure = "DNS_FAILURE"
20998
20999	// DeviceStatusDetailCodeUnknownFailure is a DeviceStatusDetailCode enum value
21000	DeviceStatusDetailCodeUnknownFailure = "UNKNOWN_FAILURE"
21001
21002	// DeviceStatusDetailCodeCertificateIssuingLimitExceeded is a DeviceStatusDetailCode enum value
21003	DeviceStatusDetailCodeCertificateIssuingLimitExceeded = "CERTIFICATE_ISSUING_LIMIT_EXCEEDED"
21004
21005	// DeviceStatusDetailCodeInvalidCertificateAuthority is a DeviceStatusDetailCode enum value
21006	DeviceStatusDetailCodeInvalidCertificateAuthority = "INVALID_CERTIFICATE_AUTHORITY"
21007
21008	// DeviceStatusDetailCodeNetworkProfileNotFound is a DeviceStatusDetailCode enum value
21009	DeviceStatusDetailCodeNetworkProfileNotFound = "NETWORK_PROFILE_NOT_FOUND"
21010
21011	// DeviceStatusDetailCodeInvalidPasswordState is a DeviceStatusDetailCode enum value
21012	DeviceStatusDetailCodeInvalidPasswordState = "INVALID_PASSWORD_STATE"
21013
21014	// DeviceStatusDetailCodePasswordNotFound is a DeviceStatusDetailCode enum value
21015	DeviceStatusDetailCodePasswordNotFound = "PASSWORD_NOT_FOUND"
21016
21017	// DeviceStatusDetailCodePasswordManagerAccessDenied is a DeviceStatusDetailCode enum value
21018	DeviceStatusDetailCodePasswordManagerAccessDenied = "PASSWORD_MANAGER_ACCESS_DENIED"
21019
21020	// DeviceStatusDetailCodeCertificateAuthorityAccessDenied is a DeviceStatusDetailCode enum value
21021	DeviceStatusDetailCodeCertificateAuthorityAccessDenied = "CERTIFICATE_AUTHORITY_ACCESS_DENIED"
21022)
21023
21024const (
21025	// DeviceUsageTypeVoice is a DeviceUsageType enum value
21026	DeviceUsageTypeVoice = "VOICE"
21027)
21028
21029const (
21030	// DistanceUnitMetric is a DistanceUnit enum value
21031	DistanceUnitMetric = "METRIC"
21032
21033	// DistanceUnitImperial is a DistanceUnit enum value
21034	DistanceUnitImperial = "IMPERIAL"
21035)
21036
21037const (
21038	// EnablementTypeEnabled is a EnablementType enum value
21039	EnablementTypeEnabled = "ENABLED"
21040
21041	// EnablementTypePending is a EnablementType enum value
21042	EnablementTypePending = "PENDING"
21043)
21044
21045const (
21046	// EnablementTypeFilterEnabled is a EnablementTypeFilter enum value
21047	EnablementTypeFilterEnabled = "ENABLED"
21048
21049	// EnablementTypeFilterPending is a EnablementTypeFilter enum value
21050	EnablementTypeFilterPending = "PENDING"
21051)
21052
21053const (
21054	// EndOfMeetingReminderTypeAnnouncementTimeCheck is a EndOfMeetingReminderType enum value
21055	EndOfMeetingReminderTypeAnnouncementTimeCheck = "ANNOUNCEMENT_TIME_CHECK"
21056
21057	// EndOfMeetingReminderTypeAnnouncementVariableTimeLeft is a EndOfMeetingReminderType enum value
21058	EndOfMeetingReminderTypeAnnouncementVariableTimeLeft = "ANNOUNCEMENT_VARIABLE_TIME_LEFT"
21059
21060	// EndOfMeetingReminderTypeChime is a EndOfMeetingReminderType enum value
21061	EndOfMeetingReminderTypeChime = "CHIME"
21062
21063	// EndOfMeetingReminderTypeKnock is a EndOfMeetingReminderType enum value
21064	EndOfMeetingReminderTypeKnock = "KNOCK"
21065)
21066
21067const (
21068	// EnrollmentStatusInitialized is a EnrollmentStatus enum value
21069	EnrollmentStatusInitialized = "INITIALIZED"
21070
21071	// EnrollmentStatusPending is a EnrollmentStatus enum value
21072	EnrollmentStatusPending = "PENDING"
21073
21074	// EnrollmentStatusRegistered is a EnrollmentStatus enum value
21075	EnrollmentStatusRegistered = "REGISTERED"
21076
21077	// EnrollmentStatusDisassociating is a EnrollmentStatus enum value
21078	EnrollmentStatusDisassociating = "DISASSOCIATING"
21079
21080	// EnrollmentStatusDeregistering is a EnrollmentStatus enum value
21081	EnrollmentStatusDeregistering = "DEREGISTERING"
21082)
21083
21084const (
21085	// FeatureBluetooth is a Feature enum value
21086	FeatureBluetooth = "BLUETOOTH"
21087
21088	// FeatureVolume is a Feature enum value
21089	FeatureVolume = "VOLUME"
21090
21091	// FeatureNotifications is a Feature enum value
21092	FeatureNotifications = "NOTIFICATIONS"
21093
21094	// FeatureLists is a Feature enum value
21095	FeatureLists = "LISTS"
21096
21097	// FeatureSkills is a Feature enum value
21098	FeatureSkills = "SKILLS"
21099
21100	// FeatureNetworkProfile is a Feature enum value
21101	FeatureNetworkProfile = "NETWORK_PROFILE"
21102
21103	// FeatureSettings is a Feature enum value
21104	FeatureSettings = "SETTINGS"
21105
21106	// FeatureAll is a Feature enum value
21107	FeatureAll = "ALL"
21108)
21109
21110const (
21111	// LocaleEnUs is a Locale enum value
21112	LocaleEnUs = "en-US"
21113)
21114
21115const (
21116	// NetworkEapMethodEapTls is a NetworkEapMethod enum value
21117	NetworkEapMethodEapTls = "EAP_TLS"
21118)
21119
21120const (
21121	// NetworkSecurityTypeOpen is a NetworkSecurityType enum value
21122	NetworkSecurityTypeOpen = "OPEN"
21123
21124	// NetworkSecurityTypeWep is a NetworkSecurityType enum value
21125	NetworkSecurityTypeWep = "WEP"
21126
21127	// NetworkSecurityTypeWpaPsk is a NetworkSecurityType enum value
21128	NetworkSecurityTypeWpaPsk = "WPA_PSK"
21129
21130	// NetworkSecurityTypeWpa2Psk is a NetworkSecurityType enum value
21131	NetworkSecurityTypeWpa2Psk = "WPA2_PSK"
21132
21133	// NetworkSecurityTypeWpa2Enterprise is a NetworkSecurityType enum value
21134	NetworkSecurityTypeWpa2Enterprise = "WPA2_ENTERPRISE"
21135)
21136
21137const (
21138	// PhoneNumberTypeMobile is a PhoneNumberType enum value
21139	PhoneNumberTypeMobile = "MOBILE"
21140
21141	// PhoneNumberTypeWork is a PhoneNumberType enum value
21142	PhoneNumberTypeWork = "WORK"
21143
21144	// PhoneNumberTypeHome is a PhoneNumberType enum value
21145	PhoneNumberTypeHome = "HOME"
21146)
21147
21148const (
21149	// RequirePinYes is a RequirePin enum value
21150	RequirePinYes = "YES"
21151
21152	// RequirePinNo is a RequirePin enum value
21153	RequirePinNo = "NO"
21154
21155	// RequirePinOptional is a RequirePin enum value
21156	RequirePinOptional = "OPTIONAL"
21157)
21158
21159const (
21160	// SipTypeWork is a SipType enum value
21161	SipTypeWork = "WORK"
21162)
21163
21164const (
21165	// SkillTypePublic is a SkillType enum value
21166	SkillTypePublic = "PUBLIC"
21167
21168	// SkillTypePrivate is a SkillType enum value
21169	SkillTypePrivate = "PRIVATE"
21170)
21171
21172const (
21173	// SkillTypeFilterPublic is a SkillTypeFilter enum value
21174	SkillTypeFilterPublic = "PUBLIC"
21175
21176	// SkillTypeFilterPrivate is a SkillTypeFilter enum value
21177	SkillTypeFilterPrivate = "PRIVATE"
21178
21179	// SkillTypeFilterAll is a SkillTypeFilter enum value
21180	SkillTypeFilterAll = "ALL"
21181)
21182
21183const (
21184	// SortValueAsc is a SortValue enum value
21185	SortValueAsc = "ASC"
21186
21187	// SortValueDesc is a SortValue enum value
21188	SortValueDesc = "DESC"
21189)
21190
21191const (
21192	// TemperatureUnitFahrenheit is a TemperatureUnit enum value
21193	TemperatureUnitFahrenheit = "FAHRENHEIT"
21194
21195	// TemperatureUnitCelsius is a TemperatureUnit enum value
21196	TemperatureUnitCelsius = "CELSIUS"
21197)
21198
21199const (
21200	// WakeWordAlexa is a WakeWord enum value
21201	WakeWordAlexa = "ALEXA"
21202
21203	// WakeWordAmazon is a WakeWord enum value
21204	WakeWordAmazon = "AMAZON"
21205
21206	// WakeWordEcho is a WakeWord enum value
21207	WakeWordEcho = "ECHO"
21208
21209	// WakeWordComputer is a WakeWord enum value
21210	WakeWordComputer = "COMPUTER"
21211)
21212