1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package worklink
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const opAssociateDomain = "AssociateDomain"
17
18// AssociateDomainRequest generates a "aws/request.Request" representing the
19// client's request for the AssociateDomain 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 AssociateDomain for more information on using the AssociateDomain
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 AssociateDomainRequest method.
34//    req, resp := client.AssociateDomainRequest(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/worklink-2018-09-25/AssociateDomain
42func (c *WorkLink) AssociateDomainRequest(input *AssociateDomainInput) (req *request.Request, output *AssociateDomainOutput) {
43	op := &request.Operation{
44		Name:       opAssociateDomain,
45		HTTPMethod: "POST",
46		HTTPPath:   "/associateDomain",
47	}
48
49	if input == nil {
50		input = &AssociateDomainInput{}
51	}
52
53	output = &AssociateDomainOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AssociateDomain API operation for Amazon WorkLink.
60//
61// Specifies a domain to be associated to Amazon WorkLink.
62//
63// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
64// with awserr.Error's Code and Message methods to get detailed information about
65// the error.
66//
67// See the AWS API reference guide for Amazon WorkLink's
68// API operation AssociateDomain for usage and error information.
69//
70// Returned Error Types:
71//   * UnauthorizedException
72//   You are not authorized to perform this action.
73//
74//   * InternalServerErrorException
75//   The service is temporarily unavailable.
76//
77//   * InvalidRequestException
78//   The request is not valid.
79//
80//   * ResourceNotFoundException
81//   The requested resource was not found.
82//
83//   * ResourceAlreadyExistsException
84//   The resource already exists.
85//
86//   * TooManyRequestsException
87//   The number of requests exceeds the limit.
88//
89// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/AssociateDomain
90func (c *WorkLink) AssociateDomain(input *AssociateDomainInput) (*AssociateDomainOutput, error) {
91	req, out := c.AssociateDomainRequest(input)
92	return out, req.Send()
93}
94
95// AssociateDomainWithContext is the same as AssociateDomain with the addition of
96// the ability to pass a context and additional request options.
97//
98// See AssociateDomain for details on how to use this API operation.
99//
100// The context must be non-nil and will be used for request cancellation. If
101// the context is nil a panic will occur. In the future the SDK may create
102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
103// for more information on using Contexts.
104func (c *WorkLink) AssociateDomainWithContext(ctx aws.Context, input *AssociateDomainInput, opts ...request.Option) (*AssociateDomainOutput, error) {
105	req, out := c.AssociateDomainRequest(input)
106	req.SetContext(ctx)
107	req.ApplyOptions(opts...)
108	return out, req.Send()
109}
110
111const opAssociateWebsiteAuthorizationProvider = "AssociateWebsiteAuthorizationProvider"
112
113// AssociateWebsiteAuthorizationProviderRequest generates a "aws/request.Request" representing the
114// client's request for the AssociateWebsiteAuthorizationProvider operation. The "output" return
115// value will be populated with the request's response once the request completes
116// successfully.
117//
118// Use "Send" method on the returned Request to send the API call to the service.
119// the "output" return value is not valid until after Send returns without error.
120//
121// See AssociateWebsiteAuthorizationProvider for more information on using the AssociateWebsiteAuthorizationProvider
122// API call, and error handling.
123//
124// This method is useful when you want to inject custom logic or configuration
125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
126//
127//
128//    // Example sending a request using the AssociateWebsiteAuthorizationProviderRequest method.
129//    req, resp := client.AssociateWebsiteAuthorizationProviderRequest(params)
130//
131//    err := req.Send()
132//    if err == nil { // resp is now filled
133//        fmt.Println(resp)
134//    }
135//
136// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/AssociateWebsiteAuthorizationProvider
137func (c *WorkLink) AssociateWebsiteAuthorizationProviderRequest(input *AssociateWebsiteAuthorizationProviderInput) (req *request.Request, output *AssociateWebsiteAuthorizationProviderOutput) {
138	op := &request.Operation{
139		Name:       opAssociateWebsiteAuthorizationProvider,
140		HTTPMethod: "POST",
141		HTTPPath:   "/associateWebsiteAuthorizationProvider",
142	}
143
144	if input == nil {
145		input = &AssociateWebsiteAuthorizationProviderInput{}
146	}
147
148	output = &AssociateWebsiteAuthorizationProviderOutput{}
149	req = c.newRequest(op, input, output)
150	return
151}
152
153// AssociateWebsiteAuthorizationProvider API operation for Amazon WorkLink.
154//
155// Associates a website authorization provider with a specified fleet. This
156// is used to authorize users against associated websites in the company network.
157//
158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
159// with awserr.Error's Code and Message methods to get detailed information about
160// the error.
161//
162// See the AWS API reference guide for Amazon WorkLink's
163// API operation AssociateWebsiteAuthorizationProvider for usage and error information.
164//
165// Returned Error Types:
166//   * UnauthorizedException
167//   You are not authorized to perform this action.
168//
169//   * InternalServerErrorException
170//   The service is temporarily unavailable.
171//
172//   * InvalidRequestException
173//   The request is not valid.
174//
175//   * ResourceNotFoundException
176//   The requested resource was not found.
177//
178//   * ResourceAlreadyExistsException
179//   The resource already exists.
180//
181//   * TooManyRequestsException
182//   The number of requests exceeds the limit.
183//
184// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/AssociateWebsiteAuthorizationProvider
185func (c *WorkLink) AssociateWebsiteAuthorizationProvider(input *AssociateWebsiteAuthorizationProviderInput) (*AssociateWebsiteAuthorizationProviderOutput, error) {
186	req, out := c.AssociateWebsiteAuthorizationProviderRequest(input)
187	return out, req.Send()
188}
189
190// AssociateWebsiteAuthorizationProviderWithContext is the same as AssociateWebsiteAuthorizationProvider with the addition of
191// the ability to pass a context and additional request options.
192//
193// See AssociateWebsiteAuthorizationProvider for details on how to use this API operation.
194//
195// The context must be non-nil and will be used for request cancellation. If
196// the context is nil a panic will occur. In the future the SDK may create
197// sub-contexts for http.Requests. See https://golang.org/pkg/context/
198// for more information on using Contexts.
199func (c *WorkLink) AssociateWebsiteAuthorizationProviderWithContext(ctx aws.Context, input *AssociateWebsiteAuthorizationProviderInput, opts ...request.Option) (*AssociateWebsiteAuthorizationProviderOutput, error) {
200	req, out := c.AssociateWebsiteAuthorizationProviderRequest(input)
201	req.SetContext(ctx)
202	req.ApplyOptions(opts...)
203	return out, req.Send()
204}
205
206const opAssociateWebsiteCertificateAuthority = "AssociateWebsiteCertificateAuthority"
207
208// AssociateWebsiteCertificateAuthorityRequest generates a "aws/request.Request" representing the
209// client's request for the AssociateWebsiteCertificateAuthority operation. The "output" return
210// value will be populated with the request's response once the request completes
211// successfully.
212//
213// Use "Send" method on the returned Request to send the API call to the service.
214// the "output" return value is not valid until after Send returns without error.
215//
216// See AssociateWebsiteCertificateAuthority for more information on using the AssociateWebsiteCertificateAuthority
217// API call, and error handling.
218//
219// This method is useful when you want to inject custom logic or configuration
220// into the SDK's request lifecycle. Such as custom headers, or retry logic.
221//
222//
223//    // Example sending a request using the AssociateWebsiteCertificateAuthorityRequest method.
224//    req, resp := client.AssociateWebsiteCertificateAuthorityRequest(params)
225//
226//    err := req.Send()
227//    if err == nil { // resp is now filled
228//        fmt.Println(resp)
229//    }
230//
231// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/AssociateWebsiteCertificateAuthority
232func (c *WorkLink) AssociateWebsiteCertificateAuthorityRequest(input *AssociateWebsiteCertificateAuthorityInput) (req *request.Request, output *AssociateWebsiteCertificateAuthorityOutput) {
233	op := &request.Operation{
234		Name:       opAssociateWebsiteCertificateAuthority,
235		HTTPMethod: "POST",
236		HTTPPath:   "/associateWebsiteCertificateAuthority",
237	}
238
239	if input == nil {
240		input = &AssociateWebsiteCertificateAuthorityInput{}
241	}
242
243	output = &AssociateWebsiteCertificateAuthorityOutput{}
244	req = c.newRequest(op, input, output)
245	return
246}
247
248// AssociateWebsiteCertificateAuthority API operation for Amazon WorkLink.
249//
250// Imports the root certificate of a certificate authority (CA) used to obtain
251// TLS certificates used by associated websites within the company network.
252//
253// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
254// with awserr.Error's Code and Message methods to get detailed information about
255// the error.
256//
257// See the AWS API reference guide for Amazon WorkLink's
258// API operation AssociateWebsiteCertificateAuthority for usage and error information.
259//
260// Returned Error Types:
261//   * UnauthorizedException
262//   You are not authorized to perform this action.
263//
264//   * InternalServerErrorException
265//   The service is temporarily unavailable.
266//
267//   * InvalidRequestException
268//   The request is not valid.
269//
270//   * ResourceNotFoundException
271//   The requested resource was not found.
272//
273//   * ResourceAlreadyExistsException
274//   The resource already exists.
275//
276//   * TooManyRequestsException
277//   The number of requests exceeds the limit.
278//
279// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/AssociateWebsiteCertificateAuthority
280func (c *WorkLink) AssociateWebsiteCertificateAuthority(input *AssociateWebsiteCertificateAuthorityInput) (*AssociateWebsiteCertificateAuthorityOutput, error) {
281	req, out := c.AssociateWebsiteCertificateAuthorityRequest(input)
282	return out, req.Send()
283}
284
285// AssociateWebsiteCertificateAuthorityWithContext is the same as AssociateWebsiteCertificateAuthority with the addition of
286// the ability to pass a context and additional request options.
287//
288// See AssociateWebsiteCertificateAuthority for details on how to use this API operation.
289//
290// The context must be non-nil and will be used for request cancellation. If
291// the context is nil a panic will occur. In the future the SDK may create
292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
293// for more information on using Contexts.
294func (c *WorkLink) AssociateWebsiteCertificateAuthorityWithContext(ctx aws.Context, input *AssociateWebsiteCertificateAuthorityInput, opts ...request.Option) (*AssociateWebsiteCertificateAuthorityOutput, error) {
295	req, out := c.AssociateWebsiteCertificateAuthorityRequest(input)
296	req.SetContext(ctx)
297	req.ApplyOptions(opts...)
298	return out, req.Send()
299}
300
301const opCreateFleet = "CreateFleet"
302
303// CreateFleetRequest generates a "aws/request.Request" representing the
304// client's request for the CreateFleet operation. The "output" return
305// value will be populated with the request's response once the request completes
306// successfully.
307//
308// Use "Send" method on the returned Request to send the API call to the service.
309// the "output" return value is not valid until after Send returns without error.
310//
311// See CreateFleet for more information on using the CreateFleet
312// API call, and error handling.
313//
314// This method is useful when you want to inject custom logic or configuration
315// into the SDK's request lifecycle. Such as custom headers, or retry logic.
316//
317//
318//    // Example sending a request using the CreateFleetRequest method.
319//    req, resp := client.CreateFleetRequest(params)
320//
321//    err := req.Send()
322//    if err == nil { // resp is now filled
323//        fmt.Println(resp)
324//    }
325//
326// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/CreateFleet
327func (c *WorkLink) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) {
328	op := &request.Operation{
329		Name:       opCreateFleet,
330		HTTPMethod: "POST",
331		HTTPPath:   "/createFleet",
332	}
333
334	if input == nil {
335		input = &CreateFleetInput{}
336	}
337
338	output = &CreateFleetOutput{}
339	req = c.newRequest(op, input, output)
340	return
341}
342
343// CreateFleet API operation for Amazon WorkLink.
344//
345// Creates a fleet. A fleet consists of resources and the configuration that
346// delivers associated websites to authorized users who download and set up
347// the Amazon WorkLink app.
348//
349// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
350// with awserr.Error's Code and Message methods to get detailed information about
351// the error.
352//
353// See the AWS API reference guide for Amazon WorkLink's
354// API operation CreateFleet for usage and error information.
355//
356// Returned Error Types:
357//   * UnauthorizedException
358//   You are not authorized to perform this action.
359//
360//   * InternalServerErrorException
361//   The service is temporarily unavailable.
362//
363//   * InvalidRequestException
364//   The request is not valid.
365//
366//   * ResourceNotFoundException
367//   The requested resource was not found.
368//
369//   * ResourceAlreadyExistsException
370//   The resource already exists.
371//
372//   * TooManyRequestsException
373//   The number of requests exceeds the limit.
374//
375// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/CreateFleet
376func (c *WorkLink) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
377	req, out := c.CreateFleetRequest(input)
378	return out, req.Send()
379}
380
381// CreateFleetWithContext is the same as CreateFleet with the addition of
382// the ability to pass a context and additional request options.
383//
384// See CreateFleet for details on how to use this API operation.
385//
386// The context must be non-nil and will be used for request cancellation. If
387// the context is nil a panic will occur. In the future the SDK may create
388// sub-contexts for http.Requests. See https://golang.org/pkg/context/
389// for more information on using Contexts.
390func (c *WorkLink) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
391	req, out := c.CreateFleetRequest(input)
392	req.SetContext(ctx)
393	req.ApplyOptions(opts...)
394	return out, req.Send()
395}
396
397const opDeleteFleet = "DeleteFleet"
398
399// DeleteFleetRequest generates a "aws/request.Request" representing the
400// client's request for the DeleteFleet operation. The "output" return
401// value will be populated with the request's response once the request completes
402// successfully.
403//
404// Use "Send" method on the returned Request to send the API call to the service.
405// the "output" return value is not valid until after Send returns without error.
406//
407// See DeleteFleet for more information on using the DeleteFleet
408// API call, and error handling.
409//
410// This method is useful when you want to inject custom logic or configuration
411// into the SDK's request lifecycle. Such as custom headers, or retry logic.
412//
413//
414//    // Example sending a request using the DeleteFleetRequest method.
415//    req, resp := client.DeleteFleetRequest(params)
416//
417//    err := req.Send()
418//    if err == nil { // resp is now filled
419//        fmt.Println(resp)
420//    }
421//
422// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DeleteFleet
423func (c *WorkLink) DeleteFleetRequest(input *DeleteFleetInput) (req *request.Request, output *DeleteFleetOutput) {
424	op := &request.Operation{
425		Name:       opDeleteFleet,
426		HTTPMethod: "POST",
427		HTTPPath:   "/deleteFleet",
428	}
429
430	if input == nil {
431		input = &DeleteFleetInput{}
432	}
433
434	output = &DeleteFleetOutput{}
435	req = c.newRequest(op, input, output)
436	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
437	return
438}
439
440// DeleteFleet API operation for Amazon WorkLink.
441//
442// Deletes a fleet. Prevents users from accessing previously associated websites.
443//
444// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
445// with awserr.Error's Code and Message methods to get detailed information about
446// the error.
447//
448// See the AWS API reference guide for Amazon WorkLink's
449// API operation DeleteFleet for usage and error information.
450//
451// Returned Error Types:
452//   * UnauthorizedException
453//   You are not authorized to perform this action.
454//
455//   * InternalServerErrorException
456//   The service is temporarily unavailable.
457//
458//   * InvalidRequestException
459//   The request is not valid.
460//
461//   * ResourceNotFoundException
462//   The requested resource was not found.
463//
464//   * TooManyRequestsException
465//   The number of requests exceeds the limit.
466//
467// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DeleteFleet
468func (c *WorkLink) DeleteFleet(input *DeleteFleetInput) (*DeleteFleetOutput, error) {
469	req, out := c.DeleteFleetRequest(input)
470	return out, req.Send()
471}
472
473// DeleteFleetWithContext is the same as DeleteFleet with the addition of
474// the ability to pass a context and additional request options.
475//
476// See DeleteFleet for details on how to use this API operation.
477//
478// The context must be non-nil and will be used for request cancellation. If
479// the context is nil a panic will occur. In the future the SDK may create
480// sub-contexts for http.Requests. See https://golang.org/pkg/context/
481// for more information on using Contexts.
482func (c *WorkLink) DeleteFleetWithContext(ctx aws.Context, input *DeleteFleetInput, opts ...request.Option) (*DeleteFleetOutput, error) {
483	req, out := c.DeleteFleetRequest(input)
484	req.SetContext(ctx)
485	req.ApplyOptions(opts...)
486	return out, req.Send()
487}
488
489const opDescribeAuditStreamConfiguration = "DescribeAuditStreamConfiguration"
490
491// DescribeAuditStreamConfigurationRequest generates a "aws/request.Request" representing the
492// client's request for the DescribeAuditStreamConfiguration operation. The "output" return
493// value will be populated with the request's response once the request completes
494// successfully.
495//
496// Use "Send" method on the returned Request to send the API call to the service.
497// the "output" return value is not valid until after Send returns without error.
498//
499// See DescribeAuditStreamConfiguration for more information on using the DescribeAuditStreamConfiguration
500// API call, and error handling.
501//
502// This method is useful when you want to inject custom logic or configuration
503// into the SDK's request lifecycle. Such as custom headers, or retry logic.
504//
505//
506//    // Example sending a request using the DescribeAuditStreamConfigurationRequest method.
507//    req, resp := client.DescribeAuditStreamConfigurationRequest(params)
508//
509//    err := req.Send()
510//    if err == nil { // resp is now filled
511//        fmt.Println(resp)
512//    }
513//
514// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeAuditStreamConfiguration
515func (c *WorkLink) DescribeAuditStreamConfigurationRequest(input *DescribeAuditStreamConfigurationInput) (req *request.Request, output *DescribeAuditStreamConfigurationOutput) {
516	op := &request.Operation{
517		Name:       opDescribeAuditStreamConfiguration,
518		HTTPMethod: "POST",
519		HTTPPath:   "/describeAuditStreamConfiguration",
520	}
521
522	if input == nil {
523		input = &DescribeAuditStreamConfigurationInput{}
524	}
525
526	output = &DescribeAuditStreamConfigurationOutput{}
527	req = c.newRequest(op, input, output)
528	return
529}
530
531// DescribeAuditStreamConfiguration API operation for Amazon WorkLink.
532//
533// Describes the configuration for delivering audit streams to the customer
534// account.
535//
536// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
537// with awserr.Error's Code and Message methods to get detailed information about
538// the error.
539//
540// See the AWS API reference guide for Amazon WorkLink's
541// API operation DescribeAuditStreamConfiguration for usage and error information.
542//
543// Returned Error Types:
544//   * UnauthorizedException
545//   You are not authorized to perform this action.
546//
547//   * InternalServerErrorException
548//   The service is temporarily unavailable.
549//
550//   * InvalidRequestException
551//   The request is not valid.
552//
553//   * ResourceNotFoundException
554//   The requested resource was not found.
555//
556//   * TooManyRequestsException
557//   The number of requests exceeds the limit.
558//
559// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeAuditStreamConfiguration
560func (c *WorkLink) DescribeAuditStreamConfiguration(input *DescribeAuditStreamConfigurationInput) (*DescribeAuditStreamConfigurationOutput, error) {
561	req, out := c.DescribeAuditStreamConfigurationRequest(input)
562	return out, req.Send()
563}
564
565// DescribeAuditStreamConfigurationWithContext is the same as DescribeAuditStreamConfiguration with the addition of
566// the ability to pass a context and additional request options.
567//
568// See DescribeAuditStreamConfiguration for details on how to use this API operation.
569//
570// The context must be non-nil and will be used for request cancellation. If
571// the context is nil a panic will occur. In the future the SDK may create
572// sub-contexts for http.Requests. See https://golang.org/pkg/context/
573// for more information on using Contexts.
574func (c *WorkLink) DescribeAuditStreamConfigurationWithContext(ctx aws.Context, input *DescribeAuditStreamConfigurationInput, opts ...request.Option) (*DescribeAuditStreamConfigurationOutput, error) {
575	req, out := c.DescribeAuditStreamConfigurationRequest(input)
576	req.SetContext(ctx)
577	req.ApplyOptions(opts...)
578	return out, req.Send()
579}
580
581const opDescribeCompanyNetworkConfiguration = "DescribeCompanyNetworkConfiguration"
582
583// DescribeCompanyNetworkConfigurationRequest generates a "aws/request.Request" representing the
584// client's request for the DescribeCompanyNetworkConfiguration operation. The "output" return
585// value will be populated with the request's response once the request completes
586// successfully.
587//
588// Use "Send" method on the returned Request to send the API call to the service.
589// the "output" return value is not valid until after Send returns without error.
590//
591// See DescribeCompanyNetworkConfiguration for more information on using the DescribeCompanyNetworkConfiguration
592// API call, and error handling.
593//
594// This method is useful when you want to inject custom logic or configuration
595// into the SDK's request lifecycle. Such as custom headers, or retry logic.
596//
597//
598//    // Example sending a request using the DescribeCompanyNetworkConfigurationRequest method.
599//    req, resp := client.DescribeCompanyNetworkConfigurationRequest(params)
600//
601//    err := req.Send()
602//    if err == nil { // resp is now filled
603//        fmt.Println(resp)
604//    }
605//
606// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeCompanyNetworkConfiguration
607func (c *WorkLink) DescribeCompanyNetworkConfigurationRequest(input *DescribeCompanyNetworkConfigurationInput) (req *request.Request, output *DescribeCompanyNetworkConfigurationOutput) {
608	op := &request.Operation{
609		Name:       opDescribeCompanyNetworkConfiguration,
610		HTTPMethod: "POST",
611		HTTPPath:   "/describeCompanyNetworkConfiguration",
612	}
613
614	if input == nil {
615		input = &DescribeCompanyNetworkConfigurationInput{}
616	}
617
618	output = &DescribeCompanyNetworkConfigurationOutput{}
619	req = c.newRequest(op, input, output)
620	return
621}
622
623// DescribeCompanyNetworkConfiguration API operation for Amazon WorkLink.
624//
625// Describes the networking configuration to access the internal websites associated
626// with the specified fleet.
627//
628// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
629// with awserr.Error's Code and Message methods to get detailed information about
630// the error.
631//
632// See the AWS API reference guide for Amazon WorkLink's
633// API operation DescribeCompanyNetworkConfiguration for usage and error information.
634//
635// Returned Error Types:
636//   * UnauthorizedException
637//   You are not authorized to perform this action.
638//
639//   * InternalServerErrorException
640//   The service is temporarily unavailable.
641//
642//   * InvalidRequestException
643//   The request is not valid.
644//
645//   * ResourceNotFoundException
646//   The requested resource was not found.
647//
648//   * TooManyRequestsException
649//   The number of requests exceeds the limit.
650//
651// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeCompanyNetworkConfiguration
652func (c *WorkLink) DescribeCompanyNetworkConfiguration(input *DescribeCompanyNetworkConfigurationInput) (*DescribeCompanyNetworkConfigurationOutput, error) {
653	req, out := c.DescribeCompanyNetworkConfigurationRequest(input)
654	return out, req.Send()
655}
656
657// DescribeCompanyNetworkConfigurationWithContext is the same as DescribeCompanyNetworkConfiguration with the addition of
658// the ability to pass a context and additional request options.
659//
660// See DescribeCompanyNetworkConfiguration for details on how to use this API operation.
661//
662// The context must be non-nil and will be used for request cancellation. If
663// the context is nil a panic will occur. In the future the SDK may create
664// sub-contexts for http.Requests. See https://golang.org/pkg/context/
665// for more information on using Contexts.
666func (c *WorkLink) DescribeCompanyNetworkConfigurationWithContext(ctx aws.Context, input *DescribeCompanyNetworkConfigurationInput, opts ...request.Option) (*DescribeCompanyNetworkConfigurationOutput, error) {
667	req, out := c.DescribeCompanyNetworkConfigurationRequest(input)
668	req.SetContext(ctx)
669	req.ApplyOptions(opts...)
670	return out, req.Send()
671}
672
673const opDescribeDevice = "DescribeDevice"
674
675// DescribeDeviceRequest generates a "aws/request.Request" representing the
676// client's request for the DescribeDevice operation. The "output" return
677// value will be populated with the request's response once the request completes
678// successfully.
679//
680// Use "Send" method on the returned Request to send the API call to the service.
681// the "output" return value is not valid until after Send returns without error.
682//
683// See DescribeDevice for more information on using the DescribeDevice
684// API call, and error handling.
685//
686// This method is useful when you want to inject custom logic or configuration
687// into the SDK's request lifecycle. Such as custom headers, or retry logic.
688//
689//
690//    // Example sending a request using the DescribeDeviceRequest method.
691//    req, resp := client.DescribeDeviceRequest(params)
692//
693//    err := req.Send()
694//    if err == nil { // resp is now filled
695//        fmt.Println(resp)
696//    }
697//
698// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeDevice
699func (c *WorkLink) DescribeDeviceRequest(input *DescribeDeviceInput) (req *request.Request, output *DescribeDeviceOutput) {
700	op := &request.Operation{
701		Name:       opDescribeDevice,
702		HTTPMethod: "POST",
703		HTTPPath:   "/describeDevice",
704	}
705
706	if input == nil {
707		input = &DescribeDeviceInput{}
708	}
709
710	output = &DescribeDeviceOutput{}
711	req = c.newRequest(op, input, output)
712	return
713}
714
715// DescribeDevice API operation for Amazon WorkLink.
716//
717// Provides information about a user's device.
718//
719// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
720// with awserr.Error's Code and Message methods to get detailed information about
721// the error.
722//
723// See the AWS API reference guide for Amazon WorkLink's
724// API operation DescribeDevice for usage and error information.
725//
726// Returned Error Types:
727//   * UnauthorizedException
728//   You are not authorized to perform this action.
729//
730//   * InternalServerErrorException
731//   The service is temporarily unavailable.
732//
733//   * InvalidRequestException
734//   The request is not valid.
735//
736//   * ResourceNotFoundException
737//   The requested resource was not found.
738//
739//   * TooManyRequestsException
740//   The number of requests exceeds the limit.
741//
742// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeDevice
743func (c *WorkLink) DescribeDevice(input *DescribeDeviceInput) (*DescribeDeviceOutput, error) {
744	req, out := c.DescribeDeviceRequest(input)
745	return out, req.Send()
746}
747
748// DescribeDeviceWithContext is the same as DescribeDevice with the addition of
749// the ability to pass a context and additional request options.
750//
751// See DescribeDevice for details on how to use this API operation.
752//
753// The context must be non-nil and will be used for request cancellation. If
754// the context is nil a panic will occur. In the future the SDK may create
755// sub-contexts for http.Requests. See https://golang.org/pkg/context/
756// for more information on using Contexts.
757func (c *WorkLink) DescribeDeviceWithContext(ctx aws.Context, input *DescribeDeviceInput, opts ...request.Option) (*DescribeDeviceOutput, error) {
758	req, out := c.DescribeDeviceRequest(input)
759	req.SetContext(ctx)
760	req.ApplyOptions(opts...)
761	return out, req.Send()
762}
763
764const opDescribeDevicePolicyConfiguration = "DescribeDevicePolicyConfiguration"
765
766// DescribeDevicePolicyConfigurationRequest generates a "aws/request.Request" representing the
767// client's request for the DescribeDevicePolicyConfiguration operation. The "output" return
768// value will be populated with the request's response once the request completes
769// successfully.
770//
771// Use "Send" method on the returned Request to send the API call to the service.
772// the "output" return value is not valid until after Send returns without error.
773//
774// See DescribeDevicePolicyConfiguration for more information on using the DescribeDevicePolicyConfiguration
775// API call, and error handling.
776//
777// This method is useful when you want to inject custom logic or configuration
778// into the SDK's request lifecycle. Such as custom headers, or retry logic.
779//
780//
781//    // Example sending a request using the DescribeDevicePolicyConfigurationRequest method.
782//    req, resp := client.DescribeDevicePolicyConfigurationRequest(params)
783//
784//    err := req.Send()
785//    if err == nil { // resp is now filled
786//        fmt.Println(resp)
787//    }
788//
789// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeDevicePolicyConfiguration
790func (c *WorkLink) DescribeDevicePolicyConfigurationRequest(input *DescribeDevicePolicyConfigurationInput) (req *request.Request, output *DescribeDevicePolicyConfigurationOutput) {
791	op := &request.Operation{
792		Name:       opDescribeDevicePolicyConfiguration,
793		HTTPMethod: "POST",
794		HTTPPath:   "/describeDevicePolicyConfiguration",
795	}
796
797	if input == nil {
798		input = &DescribeDevicePolicyConfigurationInput{}
799	}
800
801	output = &DescribeDevicePolicyConfigurationOutput{}
802	req = c.newRequest(op, input, output)
803	return
804}
805
806// DescribeDevicePolicyConfiguration API operation for Amazon WorkLink.
807//
808// Describes the device policy configuration for the specified fleet.
809//
810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
811// with awserr.Error's Code and Message methods to get detailed information about
812// the error.
813//
814// See the AWS API reference guide for Amazon WorkLink's
815// API operation DescribeDevicePolicyConfiguration for usage and error information.
816//
817// Returned Error Types:
818//   * UnauthorizedException
819//   You are not authorized to perform this action.
820//
821//   * InternalServerErrorException
822//   The service is temporarily unavailable.
823//
824//   * InvalidRequestException
825//   The request is not valid.
826//
827//   * ResourceNotFoundException
828//   The requested resource was not found.
829//
830//   * TooManyRequestsException
831//   The number of requests exceeds the limit.
832//
833// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeDevicePolicyConfiguration
834func (c *WorkLink) DescribeDevicePolicyConfiguration(input *DescribeDevicePolicyConfigurationInput) (*DescribeDevicePolicyConfigurationOutput, error) {
835	req, out := c.DescribeDevicePolicyConfigurationRequest(input)
836	return out, req.Send()
837}
838
839// DescribeDevicePolicyConfigurationWithContext is the same as DescribeDevicePolicyConfiguration with the addition of
840// the ability to pass a context and additional request options.
841//
842// See DescribeDevicePolicyConfiguration for details on how to use this API operation.
843//
844// The context must be non-nil and will be used for request cancellation. If
845// the context is nil a panic will occur. In the future the SDK may create
846// sub-contexts for http.Requests. See https://golang.org/pkg/context/
847// for more information on using Contexts.
848func (c *WorkLink) DescribeDevicePolicyConfigurationWithContext(ctx aws.Context, input *DescribeDevicePolicyConfigurationInput, opts ...request.Option) (*DescribeDevicePolicyConfigurationOutput, error) {
849	req, out := c.DescribeDevicePolicyConfigurationRequest(input)
850	req.SetContext(ctx)
851	req.ApplyOptions(opts...)
852	return out, req.Send()
853}
854
855const opDescribeDomain = "DescribeDomain"
856
857// DescribeDomainRequest generates a "aws/request.Request" representing the
858// client's request for the DescribeDomain operation. The "output" return
859// value will be populated with the request's response once the request completes
860// successfully.
861//
862// Use "Send" method on the returned Request to send the API call to the service.
863// the "output" return value is not valid until after Send returns without error.
864//
865// See DescribeDomain for more information on using the DescribeDomain
866// API call, and error handling.
867//
868// This method is useful when you want to inject custom logic or configuration
869// into the SDK's request lifecycle. Such as custom headers, or retry logic.
870//
871//
872//    // Example sending a request using the DescribeDomainRequest method.
873//    req, resp := client.DescribeDomainRequest(params)
874//
875//    err := req.Send()
876//    if err == nil { // resp is now filled
877//        fmt.Println(resp)
878//    }
879//
880// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeDomain
881func (c *WorkLink) DescribeDomainRequest(input *DescribeDomainInput) (req *request.Request, output *DescribeDomainOutput) {
882	op := &request.Operation{
883		Name:       opDescribeDomain,
884		HTTPMethod: "POST",
885		HTTPPath:   "/describeDomain",
886	}
887
888	if input == nil {
889		input = &DescribeDomainInput{}
890	}
891
892	output = &DescribeDomainOutput{}
893	req = c.newRequest(op, input, output)
894	return
895}
896
897// DescribeDomain API operation for Amazon WorkLink.
898//
899// Provides information about the domain.
900//
901// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
902// with awserr.Error's Code and Message methods to get detailed information about
903// the error.
904//
905// See the AWS API reference guide for Amazon WorkLink's
906// API operation DescribeDomain for usage and error information.
907//
908// Returned Error Types:
909//   * UnauthorizedException
910//   You are not authorized to perform this action.
911//
912//   * InternalServerErrorException
913//   The service is temporarily unavailable.
914//
915//   * InvalidRequestException
916//   The request is not valid.
917//
918//   * ResourceNotFoundException
919//   The requested resource was not found.
920//
921//   * TooManyRequestsException
922//   The number of requests exceeds the limit.
923//
924// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeDomain
925func (c *WorkLink) DescribeDomain(input *DescribeDomainInput) (*DescribeDomainOutput, error) {
926	req, out := c.DescribeDomainRequest(input)
927	return out, req.Send()
928}
929
930// DescribeDomainWithContext is the same as DescribeDomain with the addition of
931// the ability to pass a context and additional request options.
932//
933// See DescribeDomain for details on how to use this API operation.
934//
935// The context must be non-nil and will be used for request cancellation. If
936// the context is nil a panic will occur. In the future the SDK may create
937// sub-contexts for http.Requests. See https://golang.org/pkg/context/
938// for more information on using Contexts.
939func (c *WorkLink) DescribeDomainWithContext(ctx aws.Context, input *DescribeDomainInput, opts ...request.Option) (*DescribeDomainOutput, error) {
940	req, out := c.DescribeDomainRequest(input)
941	req.SetContext(ctx)
942	req.ApplyOptions(opts...)
943	return out, req.Send()
944}
945
946const opDescribeFleetMetadata = "DescribeFleetMetadata"
947
948// DescribeFleetMetadataRequest generates a "aws/request.Request" representing the
949// client's request for the DescribeFleetMetadata operation. The "output" return
950// value will be populated with the request's response once the request completes
951// successfully.
952//
953// Use "Send" method on the returned Request to send the API call to the service.
954// the "output" return value is not valid until after Send returns without error.
955//
956// See DescribeFleetMetadata for more information on using the DescribeFleetMetadata
957// API call, and error handling.
958//
959// This method is useful when you want to inject custom logic or configuration
960// into the SDK's request lifecycle. Such as custom headers, or retry logic.
961//
962//
963//    // Example sending a request using the DescribeFleetMetadataRequest method.
964//    req, resp := client.DescribeFleetMetadataRequest(params)
965//
966//    err := req.Send()
967//    if err == nil { // resp is now filled
968//        fmt.Println(resp)
969//    }
970//
971// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeFleetMetadata
972func (c *WorkLink) DescribeFleetMetadataRequest(input *DescribeFleetMetadataInput) (req *request.Request, output *DescribeFleetMetadataOutput) {
973	op := &request.Operation{
974		Name:       opDescribeFleetMetadata,
975		HTTPMethod: "POST",
976		HTTPPath:   "/describeFleetMetadata",
977	}
978
979	if input == nil {
980		input = &DescribeFleetMetadataInput{}
981	}
982
983	output = &DescribeFleetMetadataOutput{}
984	req = c.newRequest(op, input, output)
985	return
986}
987
988// DescribeFleetMetadata API operation for Amazon WorkLink.
989//
990// Provides basic information for the specified fleet, excluding identity provider,
991// networking, and device configuration details.
992//
993// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
994// with awserr.Error's Code and Message methods to get detailed information about
995// the error.
996//
997// See the AWS API reference guide for Amazon WorkLink's
998// API operation DescribeFleetMetadata for usage and error information.
999//
1000// Returned Error Types:
1001//   * UnauthorizedException
1002//   You are not authorized to perform this action.
1003//
1004//   * InternalServerErrorException
1005//   The service is temporarily unavailable.
1006//
1007//   * InvalidRequestException
1008//   The request is not valid.
1009//
1010//   * ResourceNotFoundException
1011//   The requested resource was not found.
1012//
1013//   * TooManyRequestsException
1014//   The number of requests exceeds the limit.
1015//
1016// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeFleetMetadata
1017func (c *WorkLink) DescribeFleetMetadata(input *DescribeFleetMetadataInput) (*DescribeFleetMetadataOutput, error) {
1018	req, out := c.DescribeFleetMetadataRequest(input)
1019	return out, req.Send()
1020}
1021
1022// DescribeFleetMetadataWithContext is the same as DescribeFleetMetadata with the addition of
1023// the ability to pass a context and additional request options.
1024//
1025// See DescribeFleetMetadata for details on how to use this API operation.
1026//
1027// The context must be non-nil and will be used for request cancellation. If
1028// the context is nil a panic will occur. In the future the SDK may create
1029// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1030// for more information on using Contexts.
1031func (c *WorkLink) DescribeFleetMetadataWithContext(ctx aws.Context, input *DescribeFleetMetadataInput, opts ...request.Option) (*DescribeFleetMetadataOutput, error) {
1032	req, out := c.DescribeFleetMetadataRequest(input)
1033	req.SetContext(ctx)
1034	req.ApplyOptions(opts...)
1035	return out, req.Send()
1036}
1037
1038const opDescribeIdentityProviderConfiguration = "DescribeIdentityProviderConfiguration"
1039
1040// DescribeIdentityProviderConfigurationRequest generates a "aws/request.Request" representing the
1041// client's request for the DescribeIdentityProviderConfiguration operation. The "output" return
1042// value will be populated with the request's response once the request completes
1043// successfully.
1044//
1045// Use "Send" method on the returned Request to send the API call to the service.
1046// the "output" return value is not valid until after Send returns without error.
1047//
1048// See DescribeIdentityProviderConfiguration for more information on using the DescribeIdentityProviderConfiguration
1049// API call, and error handling.
1050//
1051// This method is useful when you want to inject custom logic or configuration
1052// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1053//
1054//
1055//    // Example sending a request using the DescribeIdentityProviderConfigurationRequest method.
1056//    req, resp := client.DescribeIdentityProviderConfigurationRequest(params)
1057//
1058//    err := req.Send()
1059//    if err == nil { // resp is now filled
1060//        fmt.Println(resp)
1061//    }
1062//
1063// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeIdentityProviderConfiguration
1064func (c *WorkLink) DescribeIdentityProviderConfigurationRequest(input *DescribeIdentityProviderConfigurationInput) (req *request.Request, output *DescribeIdentityProviderConfigurationOutput) {
1065	op := &request.Operation{
1066		Name:       opDescribeIdentityProviderConfiguration,
1067		HTTPMethod: "POST",
1068		HTTPPath:   "/describeIdentityProviderConfiguration",
1069	}
1070
1071	if input == nil {
1072		input = &DescribeIdentityProviderConfigurationInput{}
1073	}
1074
1075	output = &DescribeIdentityProviderConfigurationOutput{}
1076	req = c.newRequest(op, input, output)
1077	return
1078}
1079
1080// DescribeIdentityProviderConfiguration API operation for Amazon WorkLink.
1081//
1082// Describes the identity provider configuration of the specified fleet.
1083//
1084// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1085// with awserr.Error's Code and Message methods to get detailed information about
1086// the error.
1087//
1088// See the AWS API reference guide for Amazon WorkLink's
1089// API operation DescribeIdentityProviderConfiguration for usage and error information.
1090//
1091// Returned Error Types:
1092//   * UnauthorizedException
1093//   You are not authorized to perform this action.
1094//
1095//   * InternalServerErrorException
1096//   The service is temporarily unavailable.
1097//
1098//   * InvalidRequestException
1099//   The request is not valid.
1100//
1101//   * ResourceNotFoundException
1102//   The requested resource was not found.
1103//
1104//   * TooManyRequestsException
1105//   The number of requests exceeds the limit.
1106//
1107// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeIdentityProviderConfiguration
1108func (c *WorkLink) DescribeIdentityProviderConfiguration(input *DescribeIdentityProviderConfigurationInput) (*DescribeIdentityProviderConfigurationOutput, error) {
1109	req, out := c.DescribeIdentityProviderConfigurationRequest(input)
1110	return out, req.Send()
1111}
1112
1113// DescribeIdentityProviderConfigurationWithContext is the same as DescribeIdentityProviderConfiguration with the addition of
1114// the ability to pass a context and additional request options.
1115//
1116// See DescribeIdentityProviderConfiguration for details on how to use this API operation.
1117//
1118// The context must be non-nil and will be used for request cancellation. If
1119// the context is nil a panic will occur. In the future the SDK may create
1120// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1121// for more information on using Contexts.
1122func (c *WorkLink) DescribeIdentityProviderConfigurationWithContext(ctx aws.Context, input *DescribeIdentityProviderConfigurationInput, opts ...request.Option) (*DescribeIdentityProviderConfigurationOutput, error) {
1123	req, out := c.DescribeIdentityProviderConfigurationRequest(input)
1124	req.SetContext(ctx)
1125	req.ApplyOptions(opts...)
1126	return out, req.Send()
1127}
1128
1129const opDescribeWebsiteCertificateAuthority = "DescribeWebsiteCertificateAuthority"
1130
1131// DescribeWebsiteCertificateAuthorityRequest generates a "aws/request.Request" representing the
1132// client's request for the DescribeWebsiteCertificateAuthority operation. The "output" return
1133// value will be populated with the request's response once the request completes
1134// successfully.
1135//
1136// Use "Send" method on the returned Request to send the API call to the service.
1137// the "output" return value is not valid until after Send returns without error.
1138//
1139// See DescribeWebsiteCertificateAuthority for more information on using the DescribeWebsiteCertificateAuthority
1140// API call, and error handling.
1141//
1142// This method is useful when you want to inject custom logic or configuration
1143// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1144//
1145//
1146//    // Example sending a request using the DescribeWebsiteCertificateAuthorityRequest method.
1147//    req, resp := client.DescribeWebsiteCertificateAuthorityRequest(params)
1148//
1149//    err := req.Send()
1150//    if err == nil { // resp is now filled
1151//        fmt.Println(resp)
1152//    }
1153//
1154// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeWebsiteCertificateAuthority
1155func (c *WorkLink) DescribeWebsiteCertificateAuthorityRequest(input *DescribeWebsiteCertificateAuthorityInput) (req *request.Request, output *DescribeWebsiteCertificateAuthorityOutput) {
1156	op := &request.Operation{
1157		Name:       opDescribeWebsiteCertificateAuthority,
1158		HTTPMethod: "POST",
1159		HTTPPath:   "/describeWebsiteCertificateAuthority",
1160	}
1161
1162	if input == nil {
1163		input = &DescribeWebsiteCertificateAuthorityInput{}
1164	}
1165
1166	output = &DescribeWebsiteCertificateAuthorityOutput{}
1167	req = c.newRequest(op, input, output)
1168	return
1169}
1170
1171// DescribeWebsiteCertificateAuthority API operation for Amazon WorkLink.
1172//
1173// Provides information about the certificate authority.
1174//
1175// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1176// with awserr.Error's Code and Message methods to get detailed information about
1177// the error.
1178//
1179// See the AWS API reference guide for Amazon WorkLink's
1180// API operation DescribeWebsiteCertificateAuthority for usage and error information.
1181//
1182// Returned Error Types:
1183//   * UnauthorizedException
1184//   You are not authorized to perform this action.
1185//
1186//   * InternalServerErrorException
1187//   The service is temporarily unavailable.
1188//
1189//   * InvalidRequestException
1190//   The request is not valid.
1191//
1192//   * ResourceNotFoundException
1193//   The requested resource was not found.
1194//
1195//   * TooManyRequestsException
1196//   The number of requests exceeds the limit.
1197//
1198// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DescribeWebsiteCertificateAuthority
1199func (c *WorkLink) DescribeWebsiteCertificateAuthority(input *DescribeWebsiteCertificateAuthorityInput) (*DescribeWebsiteCertificateAuthorityOutput, error) {
1200	req, out := c.DescribeWebsiteCertificateAuthorityRequest(input)
1201	return out, req.Send()
1202}
1203
1204// DescribeWebsiteCertificateAuthorityWithContext is the same as DescribeWebsiteCertificateAuthority with the addition of
1205// the ability to pass a context and additional request options.
1206//
1207// See DescribeWebsiteCertificateAuthority for details on how to use this API operation.
1208//
1209// The context must be non-nil and will be used for request cancellation. If
1210// the context is nil a panic will occur. In the future the SDK may create
1211// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1212// for more information on using Contexts.
1213func (c *WorkLink) DescribeWebsiteCertificateAuthorityWithContext(ctx aws.Context, input *DescribeWebsiteCertificateAuthorityInput, opts ...request.Option) (*DescribeWebsiteCertificateAuthorityOutput, error) {
1214	req, out := c.DescribeWebsiteCertificateAuthorityRequest(input)
1215	req.SetContext(ctx)
1216	req.ApplyOptions(opts...)
1217	return out, req.Send()
1218}
1219
1220const opDisassociateDomain = "DisassociateDomain"
1221
1222// DisassociateDomainRequest generates a "aws/request.Request" representing the
1223// client's request for the DisassociateDomain operation. The "output" return
1224// value will be populated with the request's response once the request completes
1225// successfully.
1226//
1227// Use "Send" method on the returned Request to send the API call to the service.
1228// the "output" return value is not valid until after Send returns without error.
1229//
1230// See DisassociateDomain for more information on using the DisassociateDomain
1231// API call, and error handling.
1232//
1233// This method is useful when you want to inject custom logic or configuration
1234// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1235//
1236//
1237//    // Example sending a request using the DisassociateDomainRequest method.
1238//    req, resp := client.DisassociateDomainRequest(params)
1239//
1240//    err := req.Send()
1241//    if err == nil { // resp is now filled
1242//        fmt.Println(resp)
1243//    }
1244//
1245// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DisassociateDomain
1246func (c *WorkLink) DisassociateDomainRequest(input *DisassociateDomainInput) (req *request.Request, output *DisassociateDomainOutput) {
1247	op := &request.Operation{
1248		Name:       opDisassociateDomain,
1249		HTTPMethod: "POST",
1250		HTTPPath:   "/disassociateDomain",
1251	}
1252
1253	if input == nil {
1254		input = &DisassociateDomainInput{}
1255	}
1256
1257	output = &DisassociateDomainOutput{}
1258	req = c.newRequest(op, input, output)
1259	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1260	return
1261}
1262
1263// DisassociateDomain API operation for Amazon WorkLink.
1264//
1265// Disassociates a domain from Amazon WorkLink. End users lose the ability to
1266// access the domain with Amazon WorkLink.
1267//
1268// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1269// with awserr.Error's Code and Message methods to get detailed information about
1270// the error.
1271//
1272// See the AWS API reference guide for Amazon WorkLink's
1273// API operation DisassociateDomain for usage and error information.
1274//
1275// Returned Error Types:
1276//   * UnauthorizedException
1277//   You are not authorized to perform this action.
1278//
1279//   * InternalServerErrorException
1280//   The service is temporarily unavailable.
1281//
1282//   * InvalidRequestException
1283//   The request is not valid.
1284//
1285//   * ResourceNotFoundException
1286//   The requested resource was not found.
1287//
1288//   * TooManyRequestsException
1289//   The number of requests exceeds the limit.
1290//
1291// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DisassociateDomain
1292func (c *WorkLink) DisassociateDomain(input *DisassociateDomainInput) (*DisassociateDomainOutput, error) {
1293	req, out := c.DisassociateDomainRequest(input)
1294	return out, req.Send()
1295}
1296
1297// DisassociateDomainWithContext is the same as DisassociateDomain with the addition of
1298// the ability to pass a context and additional request options.
1299//
1300// See DisassociateDomain for details on how to use this API operation.
1301//
1302// The context must be non-nil and will be used for request cancellation. If
1303// the context is nil a panic will occur. In the future the SDK may create
1304// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1305// for more information on using Contexts.
1306func (c *WorkLink) DisassociateDomainWithContext(ctx aws.Context, input *DisassociateDomainInput, opts ...request.Option) (*DisassociateDomainOutput, error) {
1307	req, out := c.DisassociateDomainRequest(input)
1308	req.SetContext(ctx)
1309	req.ApplyOptions(opts...)
1310	return out, req.Send()
1311}
1312
1313const opDisassociateWebsiteAuthorizationProvider = "DisassociateWebsiteAuthorizationProvider"
1314
1315// DisassociateWebsiteAuthorizationProviderRequest generates a "aws/request.Request" representing the
1316// client's request for the DisassociateWebsiteAuthorizationProvider operation. The "output" return
1317// value will be populated with the request's response once the request completes
1318// successfully.
1319//
1320// Use "Send" method on the returned Request to send the API call to the service.
1321// the "output" return value is not valid until after Send returns without error.
1322//
1323// See DisassociateWebsiteAuthorizationProvider for more information on using the DisassociateWebsiteAuthorizationProvider
1324// API call, and error handling.
1325//
1326// This method is useful when you want to inject custom logic or configuration
1327// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1328//
1329//
1330//    // Example sending a request using the DisassociateWebsiteAuthorizationProviderRequest method.
1331//    req, resp := client.DisassociateWebsiteAuthorizationProviderRequest(params)
1332//
1333//    err := req.Send()
1334//    if err == nil { // resp is now filled
1335//        fmt.Println(resp)
1336//    }
1337//
1338// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DisassociateWebsiteAuthorizationProvider
1339func (c *WorkLink) DisassociateWebsiteAuthorizationProviderRequest(input *DisassociateWebsiteAuthorizationProviderInput) (req *request.Request, output *DisassociateWebsiteAuthorizationProviderOutput) {
1340	op := &request.Operation{
1341		Name:       opDisassociateWebsiteAuthorizationProvider,
1342		HTTPMethod: "POST",
1343		HTTPPath:   "/disassociateWebsiteAuthorizationProvider",
1344	}
1345
1346	if input == nil {
1347		input = &DisassociateWebsiteAuthorizationProviderInput{}
1348	}
1349
1350	output = &DisassociateWebsiteAuthorizationProviderOutput{}
1351	req = c.newRequest(op, input, output)
1352	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1353	return
1354}
1355
1356// DisassociateWebsiteAuthorizationProvider API operation for Amazon WorkLink.
1357//
1358// Disassociates a website authorization provider from a specified fleet. After
1359// the disassociation, users can't load any associated websites that require
1360// this authorization provider.
1361//
1362// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1363// with awserr.Error's Code and Message methods to get detailed information about
1364// the error.
1365//
1366// See the AWS API reference guide for Amazon WorkLink's
1367// API operation DisassociateWebsiteAuthorizationProvider for usage and error information.
1368//
1369// Returned Error Types:
1370//   * UnauthorizedException
1371//   You are not authorized to perform this action.
1372//
1373//   * InternalServerErrorException
1374//   The service is temporarily unavailable.
1375//
1376//   * InvalidRequestException
1377//   The request is not valid.
1378//
1379//   * ResourceNotFoundException
1380//   The requested resource was not found.
1381//
1382//   * ResourceAlreadyExistsException
1383//   The resource already exists.
1384//
1385//   * TooManyRequestsException
1386//   The number of requests exceeds the limit.
1387//
1388// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DisassociateWebsiteAuthorizationProvider
1389func (c *WorkLink) DisassociateWebsiteAuthorizationProvider(input *DisassociateWebsiteAuthorizationProviderInput) (*DisassociateWebsiteAuthorizationProviderOutput, error) {
1390	req, out := c.DisassociateWebsiteAuthorizationProviderRequest(input)
1391	return out, req.Send()
1392}
1393
1394// DisassociateWebsiteAuthorizationProviderWithContext is the same as DisassociateWebsiteAuthorizationProvider with the addition of
1395// the ability to pass a context and additional request options.
1396//
1397// See DisassociateWebsiteAuthorizationProvider for details on how to use this API operation.
1398//
1399// The context must be non-nil and will be used for request cancellation. If
1400// the context is nil a panic will occur. In the future the SDK may create
1401// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1402// for more information on using Contexts.
1403func (c *WorkLink) DisassociateWebsiteAuthorizationProviderWithContext(ctx aws.Context, input *DisassociateWebsiteAuthorizationProviderInput, opts ...request.Option) (*DisassociateWebsiteAuthorizationProviderOutput, error) {
1404	req, out := c.DisassociateWebsiteAuthorizationProviderRequest(input)
1405	req.SetContext(ctx)
1406	req.ApplyOptions(opts...)
1407	return out, req.Send()
1408}
1409
1410const opDisassociateWebsiteCertificateAuthority = "DisassociateWebsiteCertificateAuthority"
1411
1412// DisassociateWebsiteCertificateAuthorityRequest generates a "aws/request.Request" representing the
1413// client's request for the DisassociateWebsiteCertificateAuthority operation. The "output" return
1414// value will be populated with the request's response once the request completes
1415// successfully.
1416//
1417// Use "Send" method on the returned Request to send the API call to the service.
1418// the "output" return value is not valid until after Send returns without error.
1419//
1420// See DisassociateWebsiteCertificateAuthority for more information on using the DisassociateWebsiteCertificateAuthority
1421// API call, and error handling.
1422//
1423// This method is useful when you want to inject custom logic or configuration
1424// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1425//
1426//
1427//    // Example sending a request using the DisassociateWebsiteCertificateAuthorityRequest method.
1428//    req, resp := client.DisassociateWebsiteCertificateAuthorityRequest(params)
1429//
1430//    err := req.Send()
1431//    if err == nil { // resp is now filled
1432//        fmt.Println(resp)
1433//    }
1434//
1435// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DisassociateWebsiteCertificateAuthority
1436func (c *WorkLink) DisassociateWebsiteCertificateAuthorityRequest(input *DisassociateWebsiteCertificateAuthorityInput) (req *request.Request, output *DisassociateWebsiteCertificateAuthorityOutput) {
1437	op := &request.Operation{
1438		Name:       opDisassociateWebsiteCertificateAuthority,
1439		HTTPMethod: "POST",
1440		HTTPPath:   "/disassociateWebsiteCertificateAuthority",
1441	}
1442
1443	if input == nil {
1444		input = &DisassociateWebsiteCertificateAuthorityInput{}
1445	}
1446
1447	output = &DisassociateWebsiteCertificateAuthorityOutput{}
1448	req = c.newRequest(op, input, output)
1449	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1450	return
1451}
1452
1453// DisassociateWebsiteCertificateAuthority API operation for Amazon WorkLink.
1454//
1455// Removes a certificate authority (CA).
1456//
1457// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1458// with awserr.Error's Code and Message methods to get detailed information about
1459// the error.
1460//
1461// See the AWS API reference guide for Amazon WorkLink's
1462// API operation DisassociateWebsiteCertificateAuthority for usage and error information.
1463//
1464// Returned Error Types:
1465//   * UnauthorizedException
1466//   You are not authorized to perform this action.
1467//
1468//   * InternalServerErrorException
1469//   The service is temporarily unavailable.
1470//
1471//   * InvalidRequestException
1472//   The request is not valid.
1473//
1474//   * ResourceNotFoundException
1475//   The requested resource was not found.
1476//
1477//   * TooManyRequestsException
1478//   The number of requests exceeds the limit.
1479//
1480// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/DisassociateWebsiteCertificateAuthority
1481func (c *WorkLink) DisassociateWebsiteCertificateAuthority(input *DisassociateWebsiteCertificateAuthorityInput) (*DisassociateWebsiteCertificateAuthorityOutput, error) {
1482	req, out := c.DisassociateWebsiteCertificateAuthorityRequest(input)
1483	return out, req.Send()
1484}
1485
1486// DisassociateWebsiteCertificateAuthorityWithContext is the same as DisassociateWebsiteCertificateAuthority with the addition of
1487// the ability to pass a context and additional request options.
1488//
1489// See DisassociateWebsiteCertificateAuthority for details on how to use this API operation.
1490//
1491// The context must be non-nil and will be used for request cancellation. If
1492// the context is nil a panic will occur. In the future the SDK may create
1493// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1494// for more information on using Contexts.
1495func (c *WorkLink) DisassociateWebsiteCertificateAuthorityWithContext(ctx aws.Context, input *DisassociateWebsiteCertificateAuthorityInput, opts ...request.Option) (*DisassociateWebsiteCertificateAuthorityOutput, error) {
1496	req, out := c.DisassociateWebsiteCertificateAuthorityRequest(input)
1497	req.SetContext(ctx)
1498	req.ApplyOptions(opts...)
1499	return out, req.Send()
1500}
1501
1502const opListDevices = "ListDevices"
1503
1504// ListDevicesRequest generates a "aws/request.Request" representing the
1505// client's request for the ListDevices operation. The "output" return
1506// value will be populated with the request's response once the request completes
1507// successfully.
1508//
1509// Use "Send" method on the returned Request to send the API call to the service.
1510// the "output" return value is not valid until after Send returns without error.
1511//
1512// See ListDevices for more information on using the ListDevices
1513// API call, and error handling.
1514//
1515// This method is useful when you want to inject custom logic or configuration
1516// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1517//
1518//
1519//    // Example sending a request using the ListDevicesRequest method.
1520//    req, resp := client.ListDevicesRequest(params)
1521//
1522//    err := req.Send()
1523//    if err == nil { // resp is now filled
1524//        fmt.Println(resp)
1525//    }
1526//
1527// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListDevices
1528func (c *WorkLink) ListDevicesRequest(input *ListDevicesInput) (req *request.Request, output *ListDevicesOutput) {
1529	op := &request.Operation{
1530		Name:       opListDevices,
1531		HTTPMethod: "POST",
1532		HTTPPath:   "/listDevices",
1533		Paginator: &request.Paginator{
1534			InputTokens:     []string{"NextToken"},
1535			OutputTokens:    []string{"NextToken"},
1536			LimitToken:      "MaxResults",
1537			TruncationToken: "",
1538		},
1539	}
1540
1541	if input == nil {
1542		input = &ListDevicesInput{}
1543	}
1544
1545	output = &ListDevicesOutput{}
1546	req = c.newRequest(op, input, output)
1547	return
1548}
1549
1550// ListDevices API operation for Amazon WorkLink.
1551//
1552// Retrieves a list of devices registered with the specified fleet.
1553//
1554// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1555// with awserr.Error's Code and Message methods to get detailed information about
1556// the error.
1557//
1558// See the AWS API reference guide for Amazon WorkLink's
1559// API operation ListDevices for usage and error information.
1560//
1561// Returned Error Types:
1562//   * UnauthorizedException
1563//   You are not authorized to perform this action.
1564//
1565//   * InternalServerErrorException
1566//   The service is temporarily unavailable.
1567//
1568//   * InvalidRequestException
1569//   The request is not valid.
1570//
1571//   * ResourceNotFoundException
1572//   The requested resource was not found.
1573//
1574//   * TooManyRequestsException
1575//   The number of requests exceeds the limit.
1576//
1577// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListDevices
1578func (c *WorkLink) ListDevices(input *ListDevicesInput) (*ListDevicesOutput, error) {
1579	req, out := c.ListDevicesRequest(input)
1580	return out, req.Send()
1581}
1582
1583// ListDevicesWithContext is the same as ListDevices with the addition of
1584// the ability to pass a context and additional request options.
1585//
1586// See ListDevices for details on how to use this API operation.
1587//
1588// The context must be non-nil and will be used for request cancellation. If
1589// the context is nil a panic will occur. In the future the SDK may create
1590// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1591// for more information on using Contexts.
1592func (c *WorkLink) ListDevicesWithContext(ctx aws.Context, input *ListDevicesInput, opts ...request.Option) (*ListDevicesOutput, error) {
1593	req, out := c.ListDevicesRequest(input)
1594	req.SetContext(ctx)
1595	req.ApplyOptions(opts...)
1596	return out, req.Send()
1597}
1598
1599// ListDevicesPages iterates over the pages of a ListDevices operation,
1600// calling the "fn" function with the response data for each page. To stop
1601// iterating, return false from the fn function.
1602//
1603// See ListDevices method for more information on how to use this operation.
1604//
1605// Note: This operation can generate multiple requests to a service.
1606//
1607//    // Example iterating over at most 3 pages of a ListDevices operation.
1608//    pageNum := 0
1609//    err := client.ListDevicesPages(params,
1610//        func(page *worklink.ListDevicesOutput, lastPage bool) bool {
1611//            pageNum++
1612//            fmt.Println(page)
1613//            return pageNum <= 3
1614//        })
1615//
1616func (c *WorkLink) ListDevicesPages(input *ListDevicesInput, fn func(*ListDevicesOutput, bool) bool) error {
1617	return c.ListDevicesPagesWithContext(aws.BackgroundContext(), input, fn)
1618}
1619
1620// ListDevicesPagesWithContext same as ListDevicesPages except
1621// it takes a Context and allows setting request options on the pages.
1622//
1623// The context must be non-nil and will be used for request cancellation. If
1624// the context is nil a panic will occur. In the future the SDK may create
1625// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1626// for more information on using Contexts.
1627func (c *WorkLink) ListDevicesPagesWithContext(ctx aws.Context, input *ListDevicesInput, fn func(*ListDevicesOutput, bool) bool, opts ...request.Option) error {
1628	p := request.Pagination{
1629		NewRequest: func() (*request.Request, error) {
1630			var inCpy *ListDevicesInput
1631			if input != nil {
1632				tmp := *input
1633				inCpy = &tmp
1634			}
1635			req, _ := c.ListDevicesRequest(inCpy)
1636			req.SetContext(ctx)
1637			req.ApplyOptions(opts...)
1638			return req, nil
1639		},
1640	}
1641
1642	for p.Next() {
1643		if !fn(p.Page().(*ListDevicesOutput), !p.HasNextPage()) {
1644			break
1645		}
1646	}
1647
1648	return p.Err()
1649}
1650
1651const opListDomains = "ListDomains"
1652
1653// ListDomainsRequest generates a "aws/request.Request" representing the
1654// client's request for the ListDomains operation. The "output" return
1655// value will be populated with the request's response once the request completes
1656// successfully.
1657//
1658// Use "Send" method on the returned Request to send the API call to the service.
1659// the "output" return value is not valid until after Send returns without error.
1660//
1661// See ListDomains for more information on using the ListDomains
1662// API call, and error handling.
1663//
1664// This method is useful when you want to inject custom logic or configuration
1665// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1666//
1667//
1668//    // Example sending a request using the ListDomainsRequest method.
1669//    req, resp := client.ListDomainsRequest(params)
1670//
1671//    err := req.Send()
1672//    if err == nil { // resp is now filled
1673//        fmt.Println(resp)
1674//    }
1675//
1676// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListDomains
1677func (c *WorkLink) ListDomainsRequest(input *ListDomainsInput) (req *request.Request, output *ListDomainsOutput) {
1678	op := &request.Operation{
1679		Name:       opListDomains,
1680		HTTPMethod: "POST",
1681		HTTPPath:   "/listDomains",
1682		Paginator: &request.Paginator{
1683			InputTokens:     []string{"NextToken"},
1684			OutputTokens:    []string{"NextToken"},
1685			LimitToken:      "MaxResults",
1686			TruncationToken: "",
1687		},
1688	}
1689
1690	if input == nil {
1691		input = &ListDomainsInput{}
1692	}
1693
1694	output = &ListDomainsOutput{}
1695	req = c.newRequest(op, input, output)
1696	return
1697}
1698
1699// ListDomains API operation for Amazon WorkLink.
1700//
1701// Retrieves a list of domains associated to a specified fleet.
1702//
1703// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1704// with awserr.Error's Code and Message methods to get detailed information about
1705// the error.
1706//
1707// See the AWS API reference guide for Amazon WorkLink's
1708// API operation ListDomains for usage and error information.
1709//
1710// Returned Error Types:
1711//   * UnauthorizedException
1712//   You are not authorized to perform this action.
1713//
1714//   * InternalServerErrorException
1715//   The service is temporarily unavailable.
1716//
1717//   * InvalidRequestException
1718//   The request is not valid.
1719//
1720//   * ResourceNotFoundException
1721//   The requested resource was not found.
1722//
1723//   * TooManyRequestsException
1724//   The number of requests exceeds the limit.
1725//
1726// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListDomains
1727func (c *WorkLink) ListDomains(input *ListDomainsInput) (*ListDomainsOutput, error) {
1728	req, out := c.ListDomainsRequest(input)
1729	return out, req.Send()
1730}
1731
1732// ListDomainsWithContext is the same as ListDomains with the addition of
1733// the ability to pass a context and additional request options.
1734//
1735// See ListDomains for details on how to use this API operation.
1736//
1737// The context must be non-nil and will be used for request cancellation. If
1738// the context is nil a panic will occur. In the future the SDK may create
1739// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1740// for more information on using Contexts.
1741func (c *WorkLink) ListDomainsWithContext(ctx aws.Context, input *ListDomainsInput, opts ...request.Option) (*ListDomainsOutput, error) {
1742	req, out := c.ListDomainsRequest(input)
1743	req.SetContext(ctx)
1744	req.ApplyOptions(opts...)
1745	return out, req.Send()
1746}
1747
1748// ListDomainsPages iterates over the pages of a ListDomains operation,
1749// calling the "fn" function with the response data for each page. To stop
1750// iterating, return false from the fn function.
1751//
1752// See ListDomains method for more information on how to use this operation.
1753//
1754// Note: This operation can generate multiple requests to a service.
1755//
1756//    // Example iterating over at most 3 pages of a ListDomains operation.
1757//    pageNum := 0
1758//    err := client.ListDomainsPages(params,
1759//        func(page *worklink.ListDomainsOutput, lastPage bool) bool {
1760//            pageNum++
1761//            fmt.Println(page)
1762//            return pageNum <= 3
1763//        })
1764//
1765func (c *WorkLink) ListDomainsPages(input *ListDomainsInput, fn func(*ListDomainsOutput, bool) bool) error {
1766	return c.ListDomainsPagesWithContext(aws.BackgroundContext(), input, fn)
1767}
1768
1769// ListDomainsPagesWithContext same as ListDomainsPages except
1770// it takes a Context and allows setting request options on the pages.
1771//
1772// The context must be non-nil and will be used for request cancellation. If
1773// the context is nil a panic will occur. In the future the SDK may create
1774// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1775// for more information on using Contexts.
1776func (c *WorkLink) ListDomainsPagesWithContext(ctx aws.Context, input *ListDomainsInput, fn func(*ListDomainsOutput, bool) bool, opts ...request.Option) error {
1777	p := request.Pagination{
1778		NewRequest: func() (*request.Request, error) {
1779			var inCpy *ListDomainsInput
1780			if input != nil {
1781				tmp := *input
1782				inCpy = &tmp
1783			}
1784			req, _ := c.ListDomainsRequest(inCpy)
1785			req.SetContext(ctx)
1786			req.ApplyOptions(opts...)
1787			return req, nil
1788		},
1789	}
1790
1791	for p.Next() {
1792		if !fn(p.Page().(*ListDomainsOutput), !p.HasNextPage()) {
1793			break
1794		}
1795	}
1796
1797	return p.Err()
1798}
1799
1800const opListFleets = "ListFleets"
1801
1802// ListFleetsRequest generates a "aws/request.Request" representing the
1803// client's request for the ListFleets operation. The "output" return
1804// value will be populated with the request's response once the request completes
1805// successfully.
1806//
1807// Use "Send" method on the returned Request to send the API call to the service.
1808// the "output" return value is not valid until after Send returns without error.
1809//
1810// See ListFleets for more information on using the ListFleets
1811// API call, and error handling.
1812//
1813// This method is useful when you want to inject custom logic or configuration
1814// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1815//
1816//
1817//    // Example sending a request using the ListFleetsRequest method.
1818//    req, resp := client.ListFleetsRequest(params)
1819//
1820//    err := req.Send()
1821//    if err == nil { // resp is now filled
1822//        fmt.Println(resp)
1823//    }
1824//
1825// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListFleets
1826func (c *WorkLink) ListFleetsRequest(input *ListFleetsInput) (req *request.Request, output *ListFleetsOutput) {
1827	op := &request.Operation{
1828		Name:       opListFleets,
1829		HTTPMethod: "POST",
1830		HTTPPath:   "/listFleets",
1831		Paginator: &request.Paginator{
1832			InputTokens:     []string{"NextToken"},
1833			OutputTokens:    []string{"NextToken"},
1834			LimitToken:      "MaxResults",
1835			TruncationToken: "",
1836		},
1837	}
1838
1839	if input == nil {
1840		input = &ListFleetsInput{}
1841	}
1842
1843	output = &ListFleetsOutput{}
1844	req = c.newRequest(op, input, output)
1845	return
1846}
1847
1848// ListFleets API operation for Amazon WorkLink.
1849//
1850// Retrieves a list of fleets for the current account and Region.
1851//
1852// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1853// with awserr.Error's Code and Message methods to get detailed information about
1854// the error.
1855//
1856// See the AWS API reference guide for Amazon WorkLink's
1857// API operation ListFleets for usage and error information.
1858//
1859// Returned Error Types:
1860//   * UnauthorizedException
1861//   You are not authorized to perform this action.
1862//
1863//   * InternalServerErrorException
1864//   The service is temporarily unavailable.
1865//
1866//   * InvalidRequestException
1867//   The request is not valid.
1868//
1869//   * TooManyRequestsException
1870//   The number of requests exceeds the limit.
1871//
1872// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListFleets
1873func (c *WorkLink) ListFleets(input *ListFleetsInput) (*ListFleetsOutput, error) {
1874	req, out := c.ListFleetsRequest(input)
1875	return out, req.Send()
1876}
1877
1878// ListFleetsWithContext is the same as ListFleets with the addition of
1879// the ability to pass a context and additional request options.
1880//
1881// See ListFleets for details on how to use this API operation.
1882//
1883// The context must be non-nil and will be used for request cancellation. If
1884// the context is nil a panic will occur. In the future the SDK may create
1885// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1886// for more information on using Contexts.
1887func (c *WorkLink) ListFleetsWithContext(ctx aws.Context, input *ListFleetsInput, opts ...request.Option) (*ListFleetsOutput, error) {
1888	req, out := c.ListFleetsRequest(input)
1889	req.SetContext(ctx)
1890	req.ApplyOptions(opts...)
1891	return out, req.Send()
1892}
1893
1894// ListFleetsPages iterates over the pages of a ListFleets operation,
1895// calling the "fn" function with the response data for each page. To stop
1896// iterating, return false from the fn function.
1897//
1898// See ListFleets method for more information on how to use this operation.
1899//
1900// Note: This operation can generate multiple requests to a service.
1901//
1902//    // Example iterating over at most 3 pages of a ListFleets operation.
1903//    pageNum := 0
1904//    err := client.ListFleetsPages(params,
1905//        func(page *worklink.ListFleetsOutput, lastPage bool) bool {
1906//            pageNum++
1907//            fmt.Println(page)
1908//            return pageNum <= 3
1909//        })
1910//
1911func (c *WorkLink) ListFleetsPages(input *ListFleetsInput, fn func(*ListFleetsOutput, bool) bool) error {
1912	return c.ListFleetsPagesWithContext(aws.BackgroundContext(), input, fn)
1913}
1914
1915// ListFleetsPagesWithContext same as ListFleetsPages except
1916// it takes a Context and allows setting request options on the pages.
1917//
1918// The context must be non-nil and will be used for request cancellation. If
1919// the context is nil a panic will occur. In the future the SDK may create
1920// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1921// for more information on using Contexts.
1922func (c *WorkLink) ListFleetsPagesWithContext(ctx aws.Context, input *ListFleetsInput, fn func(*ListFleetsOutput, bool) bool, opts ...request.Option) error {
1923	p := request.Pagination{
1924		NewRequest: func() (*request.Request, error) {
1925			var inCpy *ListFleetsInput
1926			if input != nil {
1927				tmp := *input
1928				inCpy = &tmp
1929			}
1930			req, _ := c.ListFleetsRequest(inCpy)
1931			req.SetContext(ctx)
1932			req.ApplyOptions(opts...)
1933			return req, nil
1934		},
1935	}
1936
1937	for p.Next() {
1938		if !fn(p.Page().(*ListFleetsOutput), !p.HasNextPage()) {
1939			break
1940		}
1941	}
1942
1943	return p.Err()
1944}
1945
1946const opListTagsForResource = "ListTagsForResource"
1947
1948// ListTagsForResourceRequest generates a "aws/request.Request" representing the
1949// client's request for the ListTagsForResource operation. The "output" return
1950// value will be populated with the request's response once the request completes
1951// successfully.
1952//
1953// Use "Send" method on the returned Request to send the API call to the service.
1954// the "output" return value is not valid until after Send returns without error.
1955//
1956// See ListTagsForResource for more information on using the ListTagsForResource
1957// API call, and error handling.
1958//
1959// This method is useful when you want to inject custom logic or configuration
1960// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1961//
1962//
1963//    // Example sending a request using the ListTagsForResourceRequest method.
1964//    req, resp := client.ListTagsForResourceRequest(params)
1965//
1966//    err := req.Send()
1967//    if err == nil { // resp is now filled
1968//        fmt.Println(resp)
1969//    }
1970//
1971// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListTagsForResource
1972func (c *WorkLink) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
1973	op := &request.Operation{
1974		Name:       opListTagsForResource,
1975		HTTPMethod: "GET",
1976		HTTPPath:   "/tags/{ResourceArn}",
1977	}
1978
1979	if input == nil {
1980		input = &ListTagsForResourceInput{}
1981	}
1982
1983	output = &ListTagsForResourceOutput{}
1984	req = c.newRequest(op, input, output)
1985	return
1986}
1987
1988// ListTagsForResource API operation for Amazon WorkLink.
1989//
1990// Retrieves a list of tags for the specified resource.
1991//
1992// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1993// with awserr.Error's Code and Message methods to get detailed information about
1994// the error.
1995//
1996// See the AWS API reference guide for Amazon WorkLink's
1997// API operation ListTagsForResource for usage and error information.
1998//
1999// Returned Error Types:
2000//   * InvalidRequestException
2001//   The request is not valid.
2002//
2003// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListTagsForResource
2004func (c *WorkLink) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2005	req, out := c.ListTagsForResourceRequest(input)
2006	return out, req.Send()
2007}
2008
2009// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2010// the ability to pass a context and additional request options.
2011//
2012// See ListTagsForResource for details on how to use this API operation.
2013//
2014// The context must be non-nil and will be used for request cancellation. If
2015// the context is nil a panic will occur. In the future the SDK may create
2016// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2017// for more information on using Contexts.
2018func (c *WorkLink) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2019	req, out := c.ListTagsForResourceRequest(input)
2020	req.SetContext(ctx)
2021	req.ApplyOptions(opts...)
2022	return out, req.Send()
2023}
2024
2025const opListWebsiteAuthorizationProviders = "ListWebsiteAuthorizationProviders"
2026
2027// ListWebsiteAuthorizationProvidersRequest generates a "aws/request.Request" representing the
2028// client's request for the ListWebsiteAuthorizationProviders operation. The "output" return
2029// value will be populated with the request's response once the request completes
2030// successfully.
2031//
2032// Use "Send" method on the returned Request to send the API call to the service.
2033// the "output" return value is not valid until after Send returns without error.
2034//
2035// See ListWebsiteAuthorizationProviders for more information on using the ListWebsiteAuthorizationProviders
2036// API call, and error handling.
2037//
2038// This method is useful when you want to inject custom logic or configuration
2039// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2040//
2041//
2042//    // Example sending a request using the ListWebsiteAuthorizationProvidersRequest method.
2043//    req, resp := client.ListWebsiteAuthorizationProvidersRequest(params)
2044//
2045//    err := req.Send()
2046//    if err == nil { // resp is now filled
2047//        fmt.Println(resp)
2048//    }
2049//
2050// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListWebsiteAuthorizationProviders
2051func (c *WorkLink) ListWebsiteAuthorizationProvidersRequest(input *ListWebsiteAuthorizationProvidersInput) (req *request.Request, output *ListWebsiteAuthorizationProvidersOutput) {
2052	op := &request.Operation{
2053		Name:       opListWebsiteAuthorizationProviders,
2054		HTTPMethod: "POST",
2055		HTTPPath:   "/listWebsiteAuthorizationProviders",
2056		Paginator: &request.Paginator{
2057			InputTokens:     []string{"NextToken"},
2058			OutputTokens:    []string{"NextToken"},
2059			LimitToken:      "MaxResults",
2060			TruncationToken: "",
2061		},
2062	}
2063
2064	if input == nil {
2065		input = &ListWebsiteAuthorizationProvidersInput{}
2066	}
2067
2068	output = &ListWebsiteAuthorizationProvidersOutput{}
2069	req = c.newRequest(op, input, output)
2070	return
2071}
2072
2073// ListWebsiteAuthorizationProviders API operation for Amazon WorkLink.
2074//
2075// Retrieves a list of website authorization providers associated with a specified
2076// fleet.
2077//
2078// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2079// with awserr.Error's Code and Message methods to get detailed information about
2080// the error.
2081//
2082// See the AWS API reference guide for Amazon WorkLink's
2083// API operation ListWebsiteAuthorizationProviders for usage and error information.
2084//
2085// Returned Error Types:
2086//   * UnauthorizedException
2087//   You are not authorized to perform this action.
2088//
2089//   * InternalServerErrorException
2090//   The service is temporarily unavailable.
2091//
2092//   * InvalidRequestException
2093//   The request is not valid.
2094//
2095//   * ResourceNotFoundException
2096//   The requested resource was not found.
2097//
2098//   * TooManyRequestsException
2099//   The number of requests exceeds the limit.
2100//
2101// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListWebsiteAuthorizationProviders
2102func (c *WorkLink) ListWebsiteAuthorizationProviders(input *ListWebsiteAuthorizationProvidersInput) (*ListWebsiteAuthorizationProvidersOutput, error) {
2103	req, out := c.ListWebsiteAuthorizationProvidersRequest(input)
2104	return out, req.Send()
2105}
2106
2107// ListWebsiteAuthorizationProvidersWithContext is the same as ListWebsiteAuthorizationProviders with the addition of
2108// the ability to pass a context and additional request options.
2109//
2110// See ListWebsiteAuthorizationProviders for details on how to use this API operation.
2111//
2112// The context must be non-nil and will be used for request cancellation. If
2113// the context is nil a panic will occur. In the future the SDK may create
2114// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2115// for more information on using Contexts.
2116func (c *WorkLink) ListWebsiteAuthorizationProvidersWithContext(ctx aws.Context, input *ListWebsiteAuthorizationProvidersInput, opts ...request.Option) (*ListWebsiteAuthorizationProvidersOutput, error) {
2117	req, out := c.ListWebsiteAuthorizationProvidersRequest(input)
2118	req.SetContext(ctx)
2119	req.ApplyOptions(opts...)
2120	return out, req.Send()
2121}
2122
2123// ListWebsiteAuthorizationProvidersPages iterates over the pages of a ListWebsiteAuthorizationProviders operation,
2124// calling the "fn" function with the response data for each page. To stop
2125// iterating, return false from the fn function.
2126//
2127// See ListWebsiteAuthorizationProviders method for more information on how to use this operation.
2128//
2129// Note: This operation can generate multiple requests to a service.
2130//
2131//    // Example iterating over at most 3 pages of a ListWebsiteAuthorizationProviders operation.
2132//    pageNum := 0
2133//    err := client.ListWebsiteAuthorizationProvidersPages(params,
2134//        func(page *worklink.ListWebsiteAuthorizationProvidersOutput, lastPage bool) bool {
2135//            pageNum++
2136//            fmt.Println(page)
2137//            return pageNum <= 3
2138//        })
2139//
2140func (c *WorkLink) ListWebsiteAuthorizationProvidersPages(input *ListWebsiteAuthorizationProvidersInput, fn func(*ListWebsiteAuthorizationProvidersOutput, bool) bool) error {
2141	return c.ListWebsiteAuthorizationProvidersPagesWithContext(aws.BackgroundContext(), input, fn)
2142}
2143
2144// ListWebsiteAuthorizationProvidersPagesWithContext same as ListWebsiteAuthorizationProvidersPages except
2145// it takes a Context and allows setting request options on the pages.
2146//
2147// The context must be non-nil and will be used for request cancellation. If
2148// the context is nil a panic will occur. In the future the SDK may create
2149// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2150// for more information on using Contexts.
2151func (c *WorkLink) ListWebsiteAuthorizationProvidersPagesWithContext(ctx aws.Context, input *ListWebsiteAuthorizationProvidersInput, fn func(*ListWebsiteAuthorizationProvidersOutput, bool) bool, opts ...request.Option) error {
2152	p := request.Pagination{
2153		NewRequest: func() (*request.Request, error) {
2154			var inCpy *ListWebsiteAuthorizationProvidersInput
2155			if input != nil {
2156				tmp := *input
2157				inCpy = &tmp
2158			}
2159			req, _ := c.ListWebsiteAuthorizationProvidersRequest(inCpy)
2160			req.SetContext(ctx)
2161			req.ApplyOptions(opts...)
2162			return req, nil
2163		},
2164	}
2165
2166	for p.Next() {
2167		if !fn(p.Page().(*ListWebsiteAuthorizationProvidersOutput), !p.HasNextPage()) {
2168			break
2169		}
2170	}
2171
2172	return p.Err()
2173}
2174
2175const opListWebsiteCertificateAuthorities = "ListWebsiteCertificateAuthorities"
2176
2177// ListWebsiteCertificateAuthoritiesRequest generates a "aws/request.Request" representing the
2178// client's request for the ListWebsiteCertificateAuthorities operation. The "output" return
2179// value will be populated with the request's response once the request completes
2180// successfully.
2181//
2182// Use "Send" method on the returned Request to send the API call to the service.
2183// the "output" return value is not valid until after Send returns without error.
2184//
2185// See ListWebsiteCertificateAuthorities for more information on using the ListWebsiteCertificateAuthorities
2186// API call, and error handling.
2187//
2188// This method is useful when you want to inject custom logic or configuration
2189// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2190//
2191//
2192//    // Example sending a request using the ListWebsiteCertificateAuthoritiesRequest method.
2193//    req, resp := client.ListWebsiteCertificateAuthoritiesRequest(params)
2194//
2195//    err := req.Send()
2196//    if err == nil { // resp is now filled
2197//        fmt.Println(resp)
2198//    }
2199//
2200// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListWebsiteCertificateAuthorities
2201func (c *WorkLink) ListWebsiteCertificateAuthoritiesRequest(input *ListWebsiteCertificateAuthoritiesInput) (req *request.Request, output *ListWebsiteCertificateAuthoritiesOutput) {
2202	op := &request.Operation{
2203		Name:       opListWebsiteCertificateAuthorities,
2204		HTTPMethod: "POST",
2205		HTTPPath:   "/listWebsiteCertificateAuthorities",
2206		Paginator: &request.Paginator{
2207			InputTokens:     []string{"NextToken"},
2208			OutputTokens:    []string{"NextToken"},
2209			LimitToken:      "MaxResults",
2210			TruncationToken: "",
2211		},
2212	}
2213
2214	if input == nil {
2215		input = &ListWebsiteCertificateAuthoritiesInput{}
2216	}
2217
2218	output = &ListWebsiteCertificateAuthoritiesOutput{}
2219	req = c.newRequest(op, input, output)
2220	return
2221}
2222
2223// ListWebsiteCertificateAuthorities API operation for Amazon WorkLink.
2224//
2225// Retrieves a list of certificate authorities added for the current account
2226// and Region.
2227//
2228// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2229// with awserr.Error's Code and Message methods to get detailed information about
2230// the error.
2231//
2232// See the AWS API reference guide for Amazon WorkLink's
2233// API operation ListWebsiteCertificateAuthorities for usage and error information.
2234//
2235// Returned Error Types:
2236//   * UnauthorizedException
2237//   You are not authorized to perform this action.
2238//
2239//   * InternalServerErrorException
2240//   The service is temporarily unavailable.
2241//
2242//   * InvalidRequestException
2243//   The request is not valid.
2244//
2245//   * TooManyRequestsException
2246//   The number of requests exceeds the limit.
2247//
2248// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/ListWebsiteCertificateAuthorities
2249func (c *WorkLink) ListWebsiteCertificateAuthorities(input *ListWebsiteCertificateAuthoritiesInput) (*ListWebsiteCertificateAuthoritiesOutput, error) {
2250	req, out := c.ListWebsiteCertificateAuthoritiesRequest(input)
2251	return out, req.Send()
2252}
2253
2254// ListWebsiteCertificateAuthoritiesWithContext is the same as ListWebsiteCertificateAuthorities with the addition of
2255// the ability to pass a context and additional request options.
2256//
2257// See ListWebsiteCertificateAuthorities for details on how to use this API operation.
2258//
2259// The context must be non-nil and will be used for request cancellation. If
2260// the context is nil a panic will occur. In the future the SDK may create
2261// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2262// for more information on using Contexts.
2263func (c *WorkLink) ListWebsiteCertificateAuthoritiesWithContext(ctx aws.Context, input *ListWebsiteCertificateAuthoritiesInput, opts ...request.Option) (*ListWebsiteCertificateAuthoritiesOutput, error) {
2264	req, out := c.ListWebsiteCertificateAuthoritiesRequest(input)
2265	req.SetContext(ctx)
2266	req.ApplyOptions(opts...)
2267	return out, req.Send()
2268}
2269
2270// ListWebsiteCertificateAuthoritiesPages iterates over the pages of a ListWebsiteCertificateAuthorities operation,
2271// calling the "fn" function with the response data for each page. To stop
2272// iterating, return false from the fn function.
2273//
2274// See ListWebsiteCertificateAuthorities method for more information on how to use this operation.
2275//
2276// Note: This operation can generate multiple requests to a service.
2277//
2278//    // Example iterating over at most 3 pages of a ListWebsiteCertificateAuthorities operation.
2279//    pageNum := 0
2280//    err := client.ListWebsiteCertificateAuthoritiesPages(params,
2281//        func(page *worklink.ListWebsiteCertificateAuthoritiesOutput, lastPage bool) bool {
2282//            pageNum++
2283//            fmt.Println(page)
2284//            return pageNum <= 3
2285//        })
2286//
2287func (c *WorkLink) ListWebsiteCertificateAuthoritiesPages(input *ListWebsiteCertificateAuthoritiesInput, fn func(*ListWebsiteCertificateAuthoritiesOutput, bool) bool) error {
2288	return c.ListWebsiteCertificateAuthoritiesPagesWithContext(aws.BackgroundContext(), input, fn)
2289}
2290
2291// ListWebsiteCertificateAuthoritiesPagesWithContext same as ListWebsiteCertificateAuthoritiesPages except
2292// it takes a Context and allows setting request options on the pages.
2293//
2294// The context must be non-nil and will be used for request cancellation. If
2295// the context is nil a panic will occur. In the future the SDK may create
2296// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2297// for more information on using Contexts.
2298func (c *WorkLink) ListWebsiteCertificateAuthoritiesPagesWithContext(ctx aws.Context, input *ListWebsiteCertificateAuthoritiesInput, fn func(*ListWebsiteCertificateAuthoritiesOutput, bool) bool, opts ...request.Option) error {
2299	p := request.Pagination{
2300		NewRequest: func() (*request.Request, error) {
2301			var inCpy *ListWebsiteCertificateAuthoritiesInput
2302			if input != nil {
2303				tmp := *input
2304				inCpy = &tmp
2305			}
2306			req, _ := c.ListWebsiteCertificateAuthoritiesRequest(inCpy)
2307			req.SetContext(ctx)
2308			req.ApplyOptions(opts...)
2309			return req, nil
2310		},
2311	}
2312
2313	for p.Next() {
2314		if !fn(p.Page().(*ListWebsiteCertificateAuthoritiesOutput), !p.HasNextPage()) {
2315			break
2316		}
2317	}
2318
2319	return p.Err()
2320}
2321
2322const opRestoreDomainAccess = "RestoreDomainAccess"
2323
2324// RestoreDomainAccessRequest generates a "aws/request.Request" representing the
2325// client's request for the RestoreDomainAccess operation. The "output" return
2326// value will be populated with the request's response once the request completes
2327// successfully.
2328//
2329// Use "Send" method on the returned Request to send the API call to the service.
2330// the "output" return value is not valid until after Send returns without error.
2331//
2332// See RestoreDomainAccess for more information on using the RestoreDomainAccess
2333// API call, and error handling.
2334//
2335// This method is useful when you want to inject custom logic or configuration
2336// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2337//
2338//
2339//    // Example sending a request using the RestoreDomainAccessRequest method.
2340//    req, resp := client.RestoreDomainAccessRequest(params)
2341//
2342//    err := req.Send()
2343//    if err == nil { // resp is now filled
2344//        fmt.Println(resp)
2345//    }
2346//
2347// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/RestoreDomainAccess
2348func (c *WorkLink) RestoreDomainAccessRequest(input *RestoreDomainAccessInput) (req *request.Request, output *RestoreDomainAccessOutput) {
2349	op := &request.Operation{
2350		Name:       opRestoreDomainAccess,
2351		HTTPMethod: "POST",
2352		HTTPPath:   "/restoreDomainAccess",
2353	}
2354
2355	if input == nil {
2356		input = &RestoreDomainAccessInput{}
2357	}
2358
2359	output = &RestoreDomainAccessOutput{}
2360	req = c.newRequest(op, input, output)
2361	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2362	return
2363}
2364
2365// RestoreDomainAccess API operation for Amazon WorkLink.
2366//
2367// Moves a domain to ACTIVE status if it was in the INACTIVE status.
2368//
2369// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2370// with awserr.Error's Code and Message methods to get detailed information about
2371// the error.
2372//
2373// See the AWS API reference guide for Amazon WorkLink's
2374// API operation RestoreDomainAccess for usage and error information.
2375//
2376// Returned Error Types:
2377//   * UnauthorizedException
2378//   You are not authorized to perform this action.
2379//
2380//   * InternalServerErrorException
2381//   The service is temporarily unavailable.
2382//
2383//   * InvalidRequestException
2384//   The request is not valid.
2385//
2386//   * ResourceNotFoundException
2387//   The requested resource was not found.
2388//
2389//   * TooManyRequestsException
2390//   The number of requests exceeds the limit.
2391//
2392// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/RestoreDomainAccess
2393func (c *WorkLink) RestoreDomainAccess(input *RestoreDomainAccessInput) (*RestoreDomainAccessOutput, error) {
2394	req, out := c.RestoreDomainAccessRequest(input)
2395	return out, req.Send()
2396}
2397
2398// RestoreDomainAccessWithContext is the same as RestoreDomainAccess with the addition of
2399// the ability to pass a context and additional request options.
2400//
2401// See RestoreDomainAccess for details on how to use this API operation.
2402//
2403// The context must be non-nil and will be used for request cancellation. If
2404// the context is nil a panic will occur. In the future the SDK may create
2405// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2406// for more information on using Contexts.
2407func (c *WorkLink) RestoreDomainAccessWithContext(ctx aws.Context, input *RestoreDomainAccessInput, opts ...request.Option) (*RestoreDomainAccessOutput, error) {
2408	req, out := c.RestoreDomainAccessRequest(input)
2409	req.SetContext(ctx)
2410	req.ApplyOptions(opts...)
2411	return out, req.Send()
2412}
2413
2414const opRevokeDomainAccess = "RevokeDomainAccess"
2415
2416// RevokeDomainAccessRequest generates a "aws/request.Request" representing the
2417// client's request for the RevokeDomainAccess operation. The "output" return
2418// value will be populated with the request's response once the request completes
2419// successfully.
2420//
2421// Use "Send" method on the returned Request to send the API call to the service.
2422// the "output" return value is not valid until after Send returns without error.
2423//
2424// See RevokeDomainAccess for more information on using the RevokeDomainAccess
2425// API call, and error handling.
2426//
2427// This method is useful when you want to inject custom logic or configuration
2428// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2429//
2430//
2431//    // Example sending a request using the RevokeDomainAccessRequest method.
2432//    req, resp := client.RevokeDomainAccessRequest(params)
2433//
2434//    err := req.Send()
2435//    if err == nil { // resp is now filled
2436//        fmt.Println(resp)
2437//    }
2438//
2439// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/RevokeDomainAccess
2440func (c *WorkLink) RevokeDomainAccessRequest(input *RevokeDomainAccessInput) (req *request.Request, output *RevokeDomainAccessOutput) {
2441	op := &request.Operation{
2442		Name:       opRevokeDomainAccess,
2443		HTTPMethod: "POST",
2444		HTTPPath:   "/revokeDomainAccess",
2445	}
2446
2447	if input == nil {
2448		input = &RevokeDomainAccessInput{}
2449	}
2450
2451	output = &RevokeDomainAccessOutput{}
2452	req = c.newRequest(op, input, output)
2453	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2454	return
2455}
2456
2457// RevokeDomainAccess API operation for Amazon WorkLink.
2458//
2459// Moves a domain to INACTIVE status if it was in the ACTIVE status.
2460//
2461// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2462// with awserr.Error's Code and Message methods to get detailed information about
2463// the error.
2464//
2465// See the AWS API reference guide for Amazon WorkLink's
2466// API operation RevokeDomainAccess for usage and error information.
2467//
2468// Returned Error Types:
2469//   * UnauthorizedException
2470//   You are not authorized to perform this action.
2471//
2472//   * InternalServerErrorException
2473//   The service is temporarily unavailable.
2474//
2475//   * InvalidRequestException
2476//   The request is not valid.
2477//
2478//   * ResourceNotFoundException
2479//   The requested resource was not found.
2480//
2481//   * TooManyRequestsException
2482//   The number of requests exceeds the limit.
2483//
2484// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/RevokeDomainAccess
2485func (c *WorkLink) RevokeDomainAccess(input *RevokeDomainAccessInput) (*RevokeDomainAccessOutput, error) {
2486	req, out := c.RevokeDomainAccessRequest(input)
2487	return out, req.Send()
2488}
2489
2490// RevokeDomainAccessWithContext is the same as RevokeDomainAccess with the addition of
2491// the ability to pass a context and additional request options.
2492//
2493// See RevokeDomainAccess for details on how to use this API operation.
2494//
2495// The context must be non-nil and will be used for request cancellation. If
2496// the context is nil a panic will occur. In the future the SDK may create
2497// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2498// for more information on using Contexts.
2499func (c *WorkLink) RevokeDomainAccessWithContext(ctx aws.Context, input *RevokeDomainAccessInput, opts ...request.Option) (*RevokeDomainAccessOutput, error) {
2500	req, out := c.RevokeDomainAccessRequest(input)
2501	req.SetContext(ctx)
2502	req.ApplyOptions(opts...)
2503	return out, req.Send()
2504}
2505
2506const opSignOutUser = "SignOutUser"
2507
2508// SignOutUserRequest generates a "aws/request.Request" representing the
2509// client's request for the SignOutUser operation. The "output" return
2510// value will be populated with the request's response once the request completes
2511// successfully.
2512//
2513// Use "Send" method on the returned Request to send the API call to the service.
2514// the "output" return value is not valid until after Send returns without error.
2515//
2516// See SignOutUser for more information on using the SignOutUser
2517// API call, and error handling.
2518//
2519// This method is useful when you want to inject custom logic or configuration
2520// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2521//
2522//
2523//    // Example sending a request using the SignOutUserRequest method.
2524//    req, resp := client.SignOutUserRequest(params)
2525//
2526//    err := req.Send()
2527//    if err == nil { // resp is now filled
2528//        fmt.Println(resp)
2529//    }
2530//
2531// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/SignOutUser
2532func (c *WorkLink) SignOutUserRequest(input *SignOutUserInput) (req *request.Request, output *SignOutUserOutput) {
2533	op := &request.Operation{
2534		Name:       opSignOutUser,
2535		HTTPMethod: "POST",
2536		HTTPPath:   "/signOutUser",
2537	}
2538
2539	if input == nil {
2540		input = &SignOutUserInput{}
2541	}
2542
2543	output = &SignOutUserOutput{}
2544	req = c.newRequest(op, input, output)
2545	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2546	return
2547}
2548
2549// SignOutUser API operation for Amazon WorkLink.
2550//
2551// Signs the user out from all of their devices. The user can sign in again
2552// if they have valid credentials.
2553//
2554// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2555// with awserr.Error's Code and Message methods to get detailed information about
2556// the error.
2557//
2558// See the AWS API reference guide for Amazon WorkLink's
2559// API operation SignOutUser for usage and error information.
2560//
2561// Returned Error Types:
2562//   * UnauthorizedException
2563//   You are not authorized to perform this action.
2564//
2565//   * InternalServerErrorException
2566//   The service is temporarily unavailable.
2567//
2568//   * InvalidRequestException
2569//   The request is not valid.
2570//
2571//   * ResourceNotFoundException
2572//   The requested resource was not found.
2573//
2574//   * TooManyRequestsException
2575//   The number of requests exceeds the limit.
2576//
2577// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/SignOutUser
2578func (c *WorkLink) SignOutUser(input *SignOutUserInput) (*SignOutUserOutput, error) {
2579	req, out := c.SignOutUserRequest(input)
2580	return out, req.Send()
2581}
2582
2583// SignOutUserWithContext is the same as SignOutUser with the addition of
2584// the ability to pass a context and additional request options.
2585//
2586// See SignOutUser for details on how to use this API operation.
2587//
2588// The context must be non-nil and will be used for request cancellation. If
2589// the context is nil a panic will occur. In the future the SDK may create
2590// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2591// for more information on using Contexts.
2592func (c *WorkLink) SignOutUserWithContext(ctx aws.Context, input *SignOutUserInput, opts ...request.Option) (*SignOutUserOutput, error) {
2593	req, out := c.SignOutUserRequest(input)
2594	req.SetContext(ctx)
2595	req.ApplyOptions(opts...)
2596	return out, req.Send()
2597}
2598
2599const opTagResource = "TagResource"
2600
2601// TagResourceRequest generates a "aws/request.Request" representing the
2602// client's request for the TagResource operation. The "output" return
2603// value will be populated with the request's response once the request completes
2604// successfully.
2605//
2606// Use "Send" method on the returned Request to send the API call to the service.
2607// the "output" return value is not valid until after Send returns without error.
2608//
2609// See TagResource for more information on using the TagResource
2610// API call, and error handling.
2611//
2612// This method is useful when you want to inject custom logic or configuration
2613// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2614//
2615//
2616//    // Example sending a request using the TagResourceRequest method.
2617//    req, resp := client.TagResourceRequest(params)
2618//
2619//    err := req.Send()
2620//    if err == nil { // resp is now filled
2621//        fmt.Println(resp)
2622//    }
2623//
2624// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/TagResource
2625func (c *WorkLink) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2626	op := &request.Operation{
2627		Name:       opTagResource,
2628		HTTPMethod: "POST",
2629		HTTPPath:   "/tags/{ResourceArn}",
2630	}
2631
2632	if input == nil {
2633		input = &TagResourceInput{}
2634	}
2635
2636	output = &TagResourceOutput{}
2637	req = c.newRequest(op, input, output)
2638	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2639	return
2640}
2641
2642// TagResource API operation for Amazon WorkLink.
2643//
2644// Adds or overwrites one or more tags for the specified resource, such as a
2645// fleet. Each tag consists of a key and an optional value. If a resource already
2646// has a tag with the same key, this operation updates its value.
2647//
2648// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2649// with awserr.Error's Code and Message methods to get detailed information about
2650// the error.
2651//
2652// See the AWS API reference guide for Amazon WorkLink's
2653// API operation TagResource for usage and error information.
2654//
2655// Returned Error Types:
2656//   * InvalidRequestException
2657//   The request is not valid.
2658//
2659// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/TagResource
2660func (c *WorkLink) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2661	req, out := c.TagResourceRequest(input)
2662	return out, req.Send()
2663}
2664
2665// TagResourceWithContext is the same as TagResource with the addition of
2666// the ability to pass a context and additional request options.
2667//
2668// See TagResource for details on how to use this API operation.
2669//
2670// The context must be non-nil and will be used for request cancellation. If
2671// the context is nil a panic will occur. In the future the SDK may create
2672// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2673// for more information on using Contexts.
2674func (c *WorkLink) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2675	req, out := c.TagResourceRequest(input)
2676	req.SetContext(ctx)
2677	req.ApplyOptions(opts...)
2678	return out, req.Send()
2679}
2680
2681const opUntagResource = "UntagResource"
2682
2683// UntagResourceRequest generates a "aws/request.Request" representing the
2684// client's request for the UntagResource operation. The "output" return
2685// value will be populated with the request's response once the request completes
2686// successfully.
2687//
2688// Use "Send" method on the returned Request to send the API call to the service.
2689// the "output" return value is not valid until after Send returns without error.
2690//
2691// See UntagResource for more information on using the UntagResource
2692// API call, and error handling.
2693//
2694// This method is useful when you want to inject custom logic or configuration
2695// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2696//
2697//
2698//    // Example sending a request using the UntagResourceRequest method.
2699//    req, resp := client.UntagResourceRequest(params)
2700//
2701//    err := req.Send()
2702//    if err == nil { // resp is now filled
2703//        fmt.Println(resp)
2704//    }
2705//
2706// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UntagResource
2707func (c *WorkLink) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2708	op := &request.Operation{
2709		Name:       opUntagResource,
2710		HTTPMethod: "DELETE",
2711		HTTPPath:   "/tags/{ResourceArn}",
2712	}
2713
2714	if input == nil {
2715		input = &UntagResourceInput{}
2716	}
2717
2718	output = &UntagResourceOutput{}
2719	req = c.newRequest(op, input, output)
2720	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2721	return
2722}
2723
2724// UntagResource API operation for Amazon WorkLink.
2725//
2726// Removes one or more tags from the specified resource.
2727//
2728// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2729// with awserr.Error's Code and Message methods to get detailed information about
2730// the error.
2731//
2732// See the AWS API reference guide for Amazon WorkLink's
2733// API operation UntagResource for usage and error information.
2734//
2735// Returned Error Types:
2736//   * InvalidRequestException
2737//   The request is not valid.
2738//
2739// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UntagResource
2740func (c *WorkLink) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2741	req, out := c.UntagResourceRequest(input)
2742	return out, req.Send()
2743}
2744
2745// UntagResourceWithContext is the same as UntagResource with the addition of
2746// the ability to pass a context and additional request options.
2747//
2748// See UntagResource for details on how to use this API operation.
2749//
2750// The context must be non-nil and will be used for request cancellation. If
2751// the context is nil a panic will occur. In the future the SDK may create
2752// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2753// for more information on using Contexts.
2754func (c *WorkLink) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2755	req, out := c.UntagResourceRequest(input)
2756	req.SetContext(ctx)
2757	req.ApplyOptions(opts...)
2758	return out, req.Send()
2759}
2760
2761const opUpdateAuditStreamConfiguration = "UpdateAuditStreamConfiguration"
2762
2763// UpdateAuditStreamConfigurationRequest generates a "aws/request.Request" representing the
2764// client's request for the UpdateAuditStreamConfiguration operation. The "output" return
2765// value will be populated with the request's response once the request completes
2766// successfully.
2767//
2768// Use "Send" method on the returned Request to send the API call to the service.
2769// the "output" return value is not valid until after Send returns without error.
2770//
2771// See UpdateAuditStreamConfiguration for more information on using the UpdateAuditStreamConfiguration
2772// API call, and error handling.
2773//
2774// This method is useful when you want to inject custom logic or configuration
2775// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2776//
2777//
2778//    // Example sending a request using the UpdateAuditStreamConfigurationRequest method.
2779//    req, resp := client.UpdateAuditStreamConfigurationRequest(params)
2780//
2781//    err := req.Send()
2782//    if err == nil { // resp is now filled
2783//        fmt.Println(resp)
2784//    }
2785//
2786// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateAuditStreamConfiguration
2787func (c *WorkLink) UpdateAuditStreamConfigurationRequest(input *UpdateAuditStreamConfigurationInput) (req *request.Request, output *UpdateAuditStreamConfigurationOutput) {
2788	op := &request.Operation{
2789		Name:       opUpdateAuditStreamConfiguration,
2790		HTTPMethod: "POST",
2791		HTTPPath:   "/updateAuditStreamConfiguration",
2792	}
2793
2794	if input == nil {
2795		input = &UpdateAuditStreamConfigurationInput{}
2796	}
2797
2798	output = &UpdateAuditStreamConfigurationOutput{}
2799	req = c.newRequest(op, input, output)
2800	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2801	return
2802}
2803
2804// UpdateAuditStreamConfiguration API operation for Amazon WorkLink.
2805//
2806// Updates the audit stream configuration for the fleet.
2807//
2808// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2809// with awserr.Error's Code and Message methods to get detailed information about
2810// the error.
2811//
2812// See the AWS API reference guide for Amazon WorkLink's
2813// API operation UpdateAuditStreamConfiguration for usage and error information.
2814//
2815// Returned Error Types:
2816//   * UnauthorizedException
2817//   You are not authorized to perform this action.
2818//
2819//   * InternalServerErrorException
2820//   The service is temporarily unavailable.
2821//
2822//   * InvalidRequestException
2823//   The request is not valid.
2824//
2825//   * ResourceNotFoundException
2826//   The requested resource was not found.
2827//
2828//   * TooManyRequestsException
2829//   The number of requests exceeds the limit.
2830//
2831// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateAuditStreamConfiguration
2832func (c *WorkLink) UpdateAuditStreamConfiguration(input *UpdateAuditStreamConfigurationInput) (*UpdateAuditStreamConfigurationOutput, error) {
2833	req, out := c.UpdateAuditStreamConfigurationRequest(input)
2834	return out, req.Send()
2835}
2836
2837// UpdateAuditStreamConfigurationWithContext is the same as UpdateAuditStreamConfiguration with the addition of
2838// the ability to pass a context and additional request options.
2839//
2840// See UpdateAuditStreamConfiguration for details on how to use this API operation.
2841//
2842// The context must be non-nil and will be used for request cancellation. If
2843// the context is nil a panic will occur. In the future the SDK may create
2844// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2845// for more information on using Contexts.
2846func (c *WorkLink) UpdateAuditStreamConfigurationWithContext(ctx aws.Context, input *UpdateAuditStreamConfigurationInput, opts ...request.Option) (*UpdateAuditStreamConfigurationOutput, error) {
2847	req, out := c.UpdateAuditStreamConfigurationRequest(input)
2848	req.SetContext(ctx)
2849	req.ApplyOptions(opts...)
2850	return out, req.Send()
2851}
2852
2853const opUpdateCompanyNetworkConfiguration = "UpdateCompanyNetworkConfiguration"
2854
2855// UpdateCompanyNetworkConfigurationRequest generates a "aws/request.Request" representing the
2856// client's request for the UpdateCompanyNetworkConfiguration operation. The "output" return
2857// value will be populated with the request's response once the request completes
2858// successfully.
2859//
2860// Use "Send" method on the returned Request to send the API call to the service.
2861// the "output" return value is not valid until after Send returns without error.
2862//
2863// See UpdateCompanyNetworkConfiguration for more information on using the UpdateCompanyNetworkConfiguration
2864// API call, and error handling.
2865//
2866// This method is useful when you want to inject custom logic or configuration
2867// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2868//
2869//
2870//    // Example sending a request using the UpdateCompanyNetworkConfigurationRequest method.
2871//    req, resp := client.UpdateCompanyNetworkConfigurationRequest(params)
2872//
2873//    err := req.Send()
2874//    if err == nil { // resp is now filled
2875//        fmt.Println(resp)
2876//    }
2877//
2878// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateCompanyNetworkConfiguration
2879func (c *WorkLink) UpdateCompanyNetworkConfigurationRequest(input *UpdateCompanyNetworkConfigurationInput) (req *request.Request, output *UpdateCompanyNetworkConfigurationOutput) {
2880	op := &request.Operation{
2881		Name:       opUpdateCompanyNetworkConfiguration,
2882		HTTPMethod: "POST",
2883		HTTPPath:   "/updateCompanyNetworkConfiguration",
2884	}
2885
2886	if input == nil {
2887		input = &UpdateCompanyNetworkConfigurationInput{}
2888	}
2889
2890	output = &UpdateCompanyNetworkConfigurationOutput{}
2891	req = c.newRequest(op, input, output)
2892	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2893	return
2894}
2895
2896// UpdateCompanyNetworkConfiguration API operation for Amazon WorkLink.
2897//
2898// Updates the company network configuration for the fleet.
2899//
2900// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2901// with awserr.Error's Code and Message methods to get detailed information about
2902// the error.
2903//
2904// See the AWS API reference guide for Amazon WorkLink's
2905// API operation UpdateCompanyNetworkConfiguration for usage and error information.
2906//
2907// Returned Error Types:
2908//   * UnauthorizedException
2909//   You are not authorized to perform this action.
2910//
2911//   * InternalServerErrorException
2912//   The service is temporarily unavailable.
2913//
2914//   * InvalidRequestException
2915//   The request is not valid.
2916//
2917//   * ResourceNotFoundException
2918//   The requested resource was not found.
2919//
2920//   * TooManyRequestsException
2921//   The number of requests exceeds the limit.
2922//
2923// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateCompanyNetworkConfiguration
2924func (c *WorkLink) UpdateCompanyNetworkConfiguration(input *UpdateCompanyNetworkConfigurationInput) (*UpdateCompanyNetworkConfigurationOutput, error) {
2925	req, out := c.UpdateCompanyNetworkConfigurationRequest(input)
2926	return out, req.Send()
2927}
2928
2929// UpdateCompanyNetworkConfigurationWithContext is the same as UpdateCompanyNetworkConfiguration with the addition of
2930// the ability to pass a context and additional request options.
2931//
2932// See UpdateCompanyNetworkConfiguration for details on how to use this API operation.
2933//
2934// The context must be non-nil and will be used for request cancellation. If
2935// the context is nil a panic will occur. In the future the SDK may create
2936// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2937// for more information on using Contexts.
2938func (c *WorkLink) UpdateCompanyNetworkConfigurationWithContext(ctx aws.Context, input *UpdateCompanyNetworkConfigurationInput, opts ...request.Option) (*UpdateCompanyNetworkConfigurationOutput, error) {
2939	req, out := c.UpdateCompanyNetworkConfigurationRequest(input)
2940	req.SetContext(ctx)
2941	req.ApplyOptions(opts...)
2942	return out, req.Send()
2943}
2944
2945const opUpdateDevicePolicyConfiguration = "UpdateDevicePolicyConfiguration"
2946
2947// UpdateDevicePolicyConfigurationRequest generates a "aws/request.Request" representing the
2948// client's request for the UpdateDevicePolicyConfiguration operation. The "output" return
2949// value will be populated with the request's response once the request completes
2950// successfully.
2951//
2952// Use "Send" method on the returned Request to send the API call to the service.
2953// the "output" return value is not valid until after Send returns without error.
2954//
2955// See UpdateDevicePolicyConfiguration for more information on using the UpdateDevicePolicyConfiguration
2956// API call, and error handling.
2957//
2958// This method is useful when you want to inject custom logic or configuration
2959// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2960//
2961//
2962//    // Example sending a request using the UpdateDevicePolicyConfigurationRequest method.
2963//    req, resp := client.UpdateDevicePolicyConfigurationRequest(params)
2964//
2965//    err := req.Send()
2966//    if err == nil { // resp is now filled
2967//        fmt.Println(resp)
2968//    }
2969//
2970// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateDevicePolicyConfiguration
2971func (c *WorkLink) UpdateDevicePolicyConfigurationRequest(input *UpdateDevicePolicyConfigurationInput) (req *request.Request, output *UpdateDevicePolicyConfigurationOutput) {
2972	op := &request.Operation{
2973		Name:       opUpdateDevicePolicyConfiguration,
2974		HTTPMethod: "POST",
2975		HTTPPath:   "/updateDevicePolicyConfiguration",
2976	}
2977
2978	if input == nil {
2979		input = &UpdateDevicePolicyConfigurationInput{}
2980	}
2981
2982	output = &UpdateDevicePolicyConfigurationOutput{}
2983	req = c.newRequest(op, input, output)
2984	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2985	return
2986}
2987
2988// UpdateDevicePolicyConfiguration API operation for Amazon WorkLink.
2989//
2990// Updates the device policy configuration for the fleet.
2991//
2992// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2993// with awserr.Error's Code and Message methods to get detailed information about
2994// the error.
2995//
2996// See the AWS API reference guide for Amazon WorkLink's
2997// API operation UpdateDevicePolicyConfiguration for usage and error information.
2998//
2999// Returned Error Types:
3000//   * UnauthorizedException
3001//   You are not authorized to perform this action.
3002//
3003//   * InternalServerErrorException
3004//   The service is temporarily unavailable.
3005//
3006//   * InvalidRequestException
3007//   The request is not valid.
3008//
3009//   * ResourceNotFoundException
3010//   The requested resource was not found.
3011//
3012//   * TooManyRequestsException
3013//   The number of requests exceeds the limit.
3014//
3015// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateDevicePolicyConfiguration
3016func (c *WorkLink) UpdateDevicePolicyConfiguration(input *UpdateDevicePolicyConfigurationInput) (*UpdateDevicePolicyConfigurationOutput, error) {
3017	req, out := c.UpdateDevicePolicyConfigurationRequest(input)
3018	return out, req.Send()
3019}
3020
3021// UpdateDevicePolicyConfigurationWithContext is the same as UpdateDevicePolicyConfiguration with the addition of
3022// the ability to pass a context and additional request options.
3023//
3024// See UpdateDevicePolicyConfiguration for details on how to use this API operation.
3025//
3026// The context must be non-nil and will be used for request cancellation. If
3027// the context is nil a panic will occur. In the future the SDK may create
3028// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3029// for more information on using Contexts.
3030func (c *WorkLink) UpdateDevicePolicyConfigurationWithContext(ctx aws.Context, input *UpdateDevicePolicyConfigurationInput, opts ...request.Option) (*UpdateDevicePolicyConfigurationOutput, error) {
3031	req, out := c.UpdateDevicePolicyConfigurationRequest(input)
3032	req.SetContext(ctx)
3033	req.ApplyOptions(opts...)
3034	return out, req.Send()
3035}
3036
3037const opUpdateDomainMetadata = "UpdateDomainMetadata"
3038
3039// UpdateDomainMetadataRequest generates a "aws/request.Request" representing the
3040// client's request for the UpdateDomainMetadata operation. The "output" return
3041// value will be populated with the request's response once the request completes
3042// successfully.
3043//
3044// Use "Send" method on the returned Request to send the API call to the service.
3045// the "output" return value is not valid until after Send returns without error.
3046//
3047// See UpdateDomainMetadata for more information on using the UpdateDomainMetadata
3048// API call, and error handling.
3049//
3050// This method is useful when you want to inject custom logic or configuration
3051// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3052//
3053//
3054//    // Example sending a request using the UpdateDomainMetadataRequest method.
3055//    req, resp := client.UpdateDomainMetadataRequest(params)
3056//
3057//    err := req.Send()
3058//    if err == nil { // resp is now filled
3059//        fmt.Println(resp)
3060//    }
3061//
3062// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateDomainMetadata
3063func (c *WorkLink) UpdateDomainMetadataRequest(input *UpdateDomainMetadataInput) (req *request.Request, output *UpdateDomainMetadataOutput) {
3064	op := &request.Operation{
3065		Name:       opUpdateDomainMetadata,
3066		HTTPMethod: "POST",
3067		HTTPPath:   "/updateDomainMetadata",
3068	}
3069
3070	if input == nil {
3071		input = &UpdateDomainMetadataInput{}
3072	}
3073
3074	output = &UpdateDomainMetadataOutput{}
3075	req = c.newRequest(op, input, output)
3076	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3077	return
3078}
3079
3080// UpdateDomainMetadata API operation for Amazon WorkLink.
3081//
3082// Updates domain metadata, such as DisplayName.
3083//
3084// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3085// with awserr.Error's Code and Message methods to get detailed information about
3086// the error.
3087//
3088// See the AWS API reference guide for Amazon WorkLink's
3089// API operation UpdateDomainMetadata for usage and error information.
3090//
3091// Returned Error Types:
3092//   * UnauthorizedException
3093//   You are not authorized to perform this action.
3094//
3095//   * InternalServerErrorException
3096//   The service is temporarily unavailable.
3097//
3098//   * InvalidRequestException
3099//   The request is not valid.
3100//
3101//   * ResourceNotFoundException
3102//   The requested resource was not found.
3103//
3104//   * TooManyRequestsException
3105//   The number of requests exceeds the limit.
3106//
3107// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateDomainMetadata
3108func (c *WorkLink) UpdateDomainMetadata(input *UpdateDomainMetadataInput) (*UpdateDomainMetadataOutput, error) {
3109	req, out := c.UpdateDomainMetadataRequest(input)
3110	return out, req.Send()
3111}
3112
3113// UpdateDomainMetadataWithContext is the same as UpdateDomainMetadata with the addition of
3114// the ability to pass a context and additional request options.
3115//
3116// See UpdateDomainMetadata for details on how to use this API operation.
3117//
3118// The context must be non-nil and will be used for request cancellation. If
3119// the context is nil a panic will occur. In the future the SDK may create
3120// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3121// for more information on using Contexts.
3122func (c *WorkLink) UpdateDomainMetadataWithContext(ctx aws.Context, input *UpdateDomainMetadataInput, opts ...request.Option) (*UpdateDomainMetadataOutput, error) {
3123	req, out := c.UpdateDomainMetadataRequest(input)
3124	req.SetContext(ctx)
3125	req.ApplyOptions(opts...)
3126	return out, req.Send()
3127}
3128
3129const opUpdateFleetMetadata = "UpdateFleetMetadata"
3130
3131// UpdateFleetMetadataRequest generates a "aws/request.Request" representing the
3132// client's request for the UpdateFleetMetadata operation. The "output" return
3133// value will be populated with the request's response once the request completes
3134// successfully.
3135//
3136// Use "Send" method on the returned Request to send the API call to the service.
3137// the "output" return value is not valid until after Send returns without error.
3138//
3139// See UpdateFleetMetadata for more information on using the UpdateFleetMetadata
3140// API call, and error handling.
3141//
3142// This method is useful when you want to inject custom logic or configuration
3143// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3144//
3145//
3146//    // Example sending a request using the UpdateFleetMetadataRequest method.
3147//    req, resp := client.UpdateFleetMetadataRequest(params)
3148//
3149//    err := req.Send()
3150//    if err == nil { // resp is now filled
3151//        fmt.Println(resp)
3152//    }
3153//
3154// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateFleetMetadata
3155func (c *WorkLink) UpdateFleetMetadataRequest(input *UpdateFleetMetadataInput) (req *request.Request, output *UpdateFleetMetadataOutput) {
3156	op := &request.Operation{
3157		Name:       opUpdateFleetMetadata,
3158		HTTPMethod: "POST",
3159		HTTPPath:   "/UpdateFleetMetadata",
3160	}
3161
3162	if input == nil {
3163		input = &UpdateFleetMetadataInput{}
3164	}
3165
3166	output = &UpdateFleetMetadataOutput{}
3167	req = c.newRequest(op, input, output)
3168	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3169	return
3170}
3171
3172// UpdateFleetMetadata API operation for Amazon WorkLink.
3173//
3174// Updates fleet metadata, such as DisplayName.
3175//
3176// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3177// with awserr.Error's Code and Message methods to get detailed information about
3178// the error.
3179//
3180// See the AWS API reference guide for Amazon WorkLink's
3181// API operation UpdateFleetMetadata for usage and error information.
3182//
3183// Returned Error Types:
3184//   * UnauthorizedException
3185//   You are not authorized to perform this action.
3186//
3187//   * InternalServerErrorException
3188//   The service is temporarily unavailable.
3189//
3190//   * InvalidRequestException
3191//   The request is not valid.
3192//
3193//   * ResourceNotFoundException
3194//   The requested resource was not found.
3195//
3196//   * TooManyRequestsException
3197//   The number of requests exceeds the limit.
3198//
3199// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateFleetMetadata
3200func (c *WorkLink) UpdateFleetMetadata(input *UpdateFleetMetadataInput) (*UpdateFleetMetadataOutput, error) {
3201	req, out := c.UpdateFleetMetadataRequest(input)
3202	return out, req.Send()
3203}
3204
3205// UpdateFleetMetadataWithContext is the same as UpdateFleetMetadata with the addition of
3206// the ability to pass a context and additional request options.
3207//
3208// See UpdateFleetMetadata for details on how to use this API operation.
3209//
3210// The context must be non-nil and will be used for request cancellation. If
3211// the context is nil a panic will occur. In the future the SDK may create
3212// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3213// for more information on using Contexts.
3214func (c *WorkLink) UpdateFleetMetadataWithContext(ctx aws.Context, input *UpdateFleetMetadataInput, opts ...request.Option) (*UpdateFleetMetadataOutput, error) {
3215	req, out := c.UpdateFleetMetadataRequest(input)
3216	req.SetContext(ctx)
3217	req.ApplyOptions(opts...)
3218	return out, req.Send()
3219}
3220
3221const opUpdateIdentityProviderConfiguration = "UpdateIdentityProviderConfiguration"
3222
3223// UpdateIdentityProviderConfigurationRequest generates a "aws/request.Request" representing the
3224// client's request for the UpdateIdentityProviderConfiguration operation. The "output" return
3225// value will be populated with the request's response once the request completes
3226// successfully.
3227//
3228// Use "Send" method on the returned Request to send the API call to the service.
3229// the "output" return value is not valid until after Send returns without error.
3230//
3231// See UpdateIdentityProviderConfiguration for more information on using the UpdateIdentityProviderConfiguration
3232// API call, and error handling.
3233//
3234// This method is useful when you want to inject custom logic or configuration
3235// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3236//
3237//
3238//    // Example sending a request using the UpdateIdentityProviderConfigurationRequest method.
3239//    req, resp := client.UpdateIdentityProviderConfigurationRequest(params)
3240//
3241//    err := req.Send()
3242//    if err == nil { // resp is now filled
3243//        fmt.Println(resp)
3244//    }
3245//
3246// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateIdentityProviderConfiguration
3247func (c *WorkLink) UpdateIdentityProviderConfigurationRequest(input *UpdateIdentityProviderConfigurationInput) (req *request.Request, output *UpdateIdentityProviderConfigurationOutput) {
3248	op := &request.Operation{
3249		Name:       opUpdateIdentityProviderConfiguration,
3250		HTTPMethod: "POST",
3251		HTTPPath:   "/updateIdentityProviderConfiguration",
3252	}
3253
3254	if input == nil {
3255		input = &UpdateIdentityProviderConfigurationInput{}
3256	}
3257
3258	output = &UpdateIdentityProviderConfigurationOutput{}
3259	req = c.newRequest(op, input, output)
3260	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3261	return
3262}
3263
3264// UpdateIdentityProviderConfiguration API operation for Amazon WorkLink.
3265//
3266// Updates the identity provider configuration for the fleet.
3267//
3268// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3269// with awserr.Error's Code and Message methods to get detailed information about
3270// the error.
3271//
3272// See the AWS API reference guide for Amazon WorkLink's
3273// API operation UpdateIdentityProviderConfiguration for usage and error information.
3274//
3275// Returned Error Types:
3276//   * UnauthorizedException
3277//   You are not authorized to perform this action.
3278//
3279//   * InternalServerErrorException
3280//   The service is temporarily unavailable.
3281//
3282//   * InvalidRequestException
3283//   The request is not valid.
3284//
3285//   * ResourceNotFoundException
3286//   The requested resource was not found.
3287//
3288//   * TooManyRequestsException
3289//   The number of requests exceeds the limit.
3290//
3291// See also, https://docs.aws.amazon.com/goto/WebAPI/worklink-2018-09-25/UpdateIdentityProviderConfiguration
3292func (c *WorkLink) UpdateIdentityProviderConfiguration(input *UpdateIdentityProviderConfigurationInput) (*UpdateIdentityProviderConfigurationOutput, error) {
3293	req, out := c.UpdateIdentityProviderConfigurationRequest(input)
3294	return out, req.Send()
3295}
3296
3297// UpdateIdentityProviderConfigurationWithContext is the same as UpdateIdentityProviderConfiguration with the addition of
3298// the ability to pass a context and additional request options.
3299//
3300// See UpdateIdentityProviderConfiguration for details on how to use this API operation.
3301//
3302// The context must be non-nil and will be used for request cancellation. If
3303// the context is nil a panic will occur. In the future the SDK may create
3304// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3305// for more information on using Contexts.
3306func (c *WorkLink) UpdateIdentityProviderConfigurationWithContext(ctx aws.Context, input *UpdateIdentityProviderConfigurationInput, opts ...request.Option) (*UpdateIdentityProviderConfigurationOutput, error) {
3307	req, out := c.UpdateIdentityProviderConfigurationRequest(input)
3308	req.SetContext(ctx)
3309	req.ApplyOptions(opts...)
3310	return out, req.Send()
3311}
3312
3313type AssociateDomainInput struct {
3314	_ struct{} `type:"structure"`
3315
3316	// The ARN of an issued ACM certificate that is valid for the domain being associated.
3317	//
3318	// AcmCertificateArn is a required field
3319	AcmCertificateArn *string `type:"string" required:"true"`
3320
3321	// The name to display.
3322	DisplayName *string `type:"string"`
3323
3324	// The fully qualified domain name (FQDN).
3325	//
3326	// DomainName is a required field
3327	DomainName *string `min:"1" type:"string" required:"true"`
3328
3329	// The Amazon Resource Name (ARN) of the fleet.
3330	//
3331	// FleetArn is a required field
3332	FleetArn *string `min:"20" type:"string" required:"true"`
3333}
3334
3335// String returns the string representation.
3336//
3337// API parameter values that are decorated as "sensitive" in the API will not
3338// be included in the string output. The member name will be present, but the
3339// value will be replaced with "sensitive".
3340func (s AssociateDomainInput) String() string {
3341	return awsutil.Prettify(s)
3342}
3343
3344// GoString returns the string representation.
3345//
3346// API parameter values that are decorated as "sensitive" in the API will not
3347// be included in the string output. The member name will be present, but the
3348// value will be replaced with "sensitive".
3349func (s AssociateDomainInput) GoString() string {
3350	return s.String()
3351}
3352
3353// Validate inspects the fields of the type to determine if they are valid.
3354func (s *AssociateDomainInput) Validate() error {
3355	invalidParams := request.ErrInvalidParams{Context: "AssociateDomainInput"}
3356	if s.AcmCertificateArn == nil {
3357		invalidParams.Add(request.NewErrParamRequired("AcmCertificateArn"))
3358	}
3359	if s.DomainName == nil {
3360		invalidParams.Add(request.NewErrParamRequired("DomainName"))
3361	}
3362	if s.DomainName != nil && len(*s.DomainName) < 1 {
3363		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
3364	}
3365	if s.FleetArn == nil {
3366		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
3367	}
3368	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
3369		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
3370	}
3371
3372	if invalidParams.Len() > 0 {
3373		return invalidParams
3374	}
3375	return nil
3376}
3377
3378// SetAcmCertificateArn sets the AcmCertificateArn field's value.
3379func (s *AssociateDomainInput) SetAcmCertificateArn(v string) *AssociateDomainInput {
3380	s.AcmCertificateArn = &v
3381	return s
3382}
3383
3384// SetDisplayName sets the DisplayName field's value.
3385func (s *AssociateDomainInput) SetDisplayName(v string) *AssociateDomainInput {
3386	s.DisplayName = &v
3387	return s
3388}
3389
3390// SetDomainName sets the DomainName field's value.
3391func (s *AssociateDomainInput) SetDomainName(v string) *AssociateDomainInput {
3392	s.DomainName = &v
3393	return s
3394}
3395
3396// SetFleetArn sets the FleetArn field's value.
3397func (s *AssociateDomainInput) SetFleetArn(v string) *AssociateDomainInput {
3398	s.FleetArn = &v
3399	return s
3400}
3401
3402type AssociateDomainOutput struct {
3403	_ struct{} `type:"structure"`
3404}
3405
3406// String returns the string representation.
3407//
3408// API parameter values that are decorated as "sensitive" in the API will not
3409// be included in the string output. The member name will be present, but the
3410// value will be replaced with "sensitive".
3411func (s AssociateDomainOutput) String() string {
3412	return awsutil.Prettify(s)
3413}
3414
3415// GoString returns the string representation.
3416//
3417// API parameter values that are decorated as "sensitive" in the API will not
3418// be included in the string output. The member name will be present, but the
3419// value will be replaced with "sensitive".
3420func (s AssociateDomainOutput) GoString() string {
3421	return s.String()
3422}
3423
3424type AssociateWebsiteAuthorizationProviderInput struct {
3425	_ struct{} `type:"structure"`
3426
3427	// The authorization provider type.
3428	//
3429	// AuthorizationProviderType is a required field
3430	AuthorizationProviderType *string `type:"string" required:"true" enum:"AuthorizationProviderType"`
3431
3432	// The domain name of the authorization provider. This applies only to SAML-based
3433	// authorization providers.
3434	DomainName *string `min:"1" type:"string"`
3435
3436	// The ARN of the fleet.
3437	//
3438	// FleetArn is a required field
3439	FleetArn *string `min:"20" type:"string" required:"true"`
3440}
3441
3442// String returns the string representation.
3443//
3444// API parameter values that are decorated as "sensitive" in the API will not
3445// be included in the string output. The member name will be present, but the
3446// value will be replaced with "sensitive".
3447func (s AssociateWebsiteAuthorizationProviderInput) String() string {
3448	return awsutil.Prettify(s)
3449}
3450
3451// GoString returns the string representation.
3452//
3453// API parameter values that are decorated as "sensitive" in the API will not
3454// be included in the string output. The member name will be present, but the
3455// value will be replaced with "sensitive".
3456func (s AssociateWebsiteAuthorizationProviderInput) GoString() string {
3457	return s.String()
3458}
3459
3460// Validate inspects the fields of the type to determine if they are valid.
3461func (s *AssociateWebsiteAuthorizationProviderInput) Validate() error {
3462	invalidParams := request.ErrInvalidParams{Context: "AssociateWebsiteAuthorizationProviderInput"}
3463	if s.AuthorizationProviderType == nil {
3464		invalidParams.Add(request.NewErrParamRequired("AuthorizationProviderType"))
3465	}
3466	if s.DomainName != nil && len(*s.DomainName) < 1 {
3467		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
3468	}
3469	if s.FleetArn == nil {
3470		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
3471	}
3472	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
3473		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
3474	}
3475
3476	if invalidParams.Len() > 0 {
3477		return invalidParams
3478	}
3479	return nil
3480}
3481
3482// SetAuthorizationProviderType sets the AuthorizationProviderType field's value.
3483func (s *AssociateWebsiteAuthorizationProviderInput) SetAuthorizationProviderType(v string) *AssociateWebsiteAuthorizationProviderInput {
3484	s.AuthorizationProviderType = &v
3485	return s
3486}
3487
3488// SetDomainName sets the DomainName field's value.
3489func (s *AssociateWebsiteAuthorizationProviderInput) SetDomainName(v string) *AssociateWebsiteAuthorizationProviderInput {
3490	s.DomainName = &v
3491	return s
3492}
3493
3494// SetFleetArn sets the FleetArn field's value.
3495func (s *AssociateWebsiteAuthorizationProviderInput) SetFleetArn(v string) *AssociateWebsiteAuthorizationProviderInput {
3496	s.FleetArn = &v
3497	return s
3498}
3499
3500type AssociateWebsiteAuthorizationProviderOutput struct {
3501	_ struct{} `type:"structure"`
3502
3503	// A unique identifier for the authorization provider.
3504	AuthorizationProviderId *string `min:"1" type:"string"`
3505}
3506
3507// String returns the string representation.
3508//
3509// API parameter values that are decorated as "sensitive" in the API will not
3510// be included in the string output. The member name will be present, but the
3511// value will be replaced with "sensitive".
3512func (s AssociateWebsiteAuthorizationProviderOutput) String() string {
3513	return awsutil.Prettify(s)
3514}
3515
3516// GoString returns the string representation.
3517//
3518// API parameter values that are decorated as "sensitive" in the API will not
3519// be included in the string output. The member name will be present, but the
3520// value will be replaced with "sensitive".
3521func (s AssociateWebsiteAuthorizationProviderOutput) GoString() string {
3522	return s.String()
3523}
3524
3525// SetAuthorizationProviderId sets the AuthorizationProviderId field's value.
3526func (s *AssociateWebsiteAuthorizationProviderOutput) SetAuthorizationProviderId(v string) *AssociateWebsiteAuthorizationProviderOutput {
3527	s.AuthorizationProviderId = &v
3528	return s
3529}
3530
3531type AssociateWebsiteCertificateAuthorityInput struct {
3532	_ struct{} `type:"structure"`
3533
3534	// The root certificate of the CA.
3535	//
3536	// Certificate is a required field
3537	Certificate *string `min:"1" type:"string" required:"true"`
3538
3539	// The certificate name to display.
3540	DisplayName *string `type:"string"`
3541
3542	// The ARN of the fleet.
3543	//
3544	// FleetArn is a required field
3545	FleetArn *string `min:"20" type:"string" required:"true"`
3546}
3547
3548// String returns the string representation.
3549//
3550// API parameter values that are decorated as "sensitive" in the API will not
3551// be included in the string output. The member name will be present, but the
3552// value will be replaced with "sensitive".
3553func (s AssociateWebsiteCertificateAuthorityInput) String() string {
3554	return awsutil.Prettify(s)
3555}
3556
3557// GoString returns the string representation.
3558//
3559// API parameter values that are decorated as "sensitive" in the API will not
3560// be included in the string output. The member name will be present, but the
3561// value will be replaced with "sensitive".
3562func (s AssociateWebsiteCertificateAuthorityInput) GoString() string {
3563	return s.String()
3564}
3565
3566// Validate inspects the fields of the type to determine if they are valid.
3567func (s *AssociateWebsiteCertificateAuthorityInput) Validate() error {
3568	invalidParams := request.ErrInvalidParams{Context: "AssociateWebsiteCertificateAuthorityInput"}
3569	if s.Certificate == nil {
3570		invalidParams.Add(request.NewErrParamRequired("Certificate"))
3571	}
3572	if s.Certificate != nil && len(*s.Certificate) < 1 {
3573		invalidParams.Add(request.NewErrParamMinLen("Certificate", 1))
3574	}
3575	if s.FleetArn == nil {
3576		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
3577	}
3578	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
3579		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
3580	}
3581
3582	if invalidParams.Len() > 0 {
3583		return invalidParams
3584	}
3585	return nil
3586}
3587
3588// SetCertificate sets the Certificate field's value.
3589func (s *AssociateWebsiteCertificateAuthorityInput) SetCertificate(v string) *AssociateWebsiteCertificateAuthorityInput {
3590	s.Certificate = &v
3591	return s
3592}
3593
3594// SetDisplayName sets the DisplayName field's value.
3595func (s *AssociateWebsiteCertificateAuthorityInput) SetDisplayName(v string) *AssociateWebsiteCertificateAuthorityInput {
3596	s.DisplayName = &v
3597	return s
3598}
3599
3600// SetFleetArn sets the FleetArn field's value.
3601func (s *AssociateWebsiteCertificateAuthorityInput) SetFleetArn(v string) *AssociateWebsiteCertificateAuthorityInput {
3602	s.FleetArn = &v
3603	return s
3604}
3605
3606type AssociateWebsiteCertificateAuthorityOutput struct {
3607	_ struct{} `type:"structure"`
3608
3609	// A unique identifier for the CA.
3610	WebsiteCaId *string `min:"1" type:"string"`
3611}
3612
3613// String returns the string representation.
3614//
3615// API parameter values that are decorated as "sensitive" in the API will not
3616// be included in the string output. The member name will be present, but the
3617// value will be replaced with "sensitive".
3618func (s AssociateWebsiteCertificateAuthorityOutput) String() string {
3619	return awsutil.Prettify(s)
3620}
3621
3622// GoString returns the string representation.
3623//
3624// API parameter values that are decorated as "sensitive" in the API will not
3625// be included in the string output. The member name will be present, but the
3626// value will be replaced with "sensitive".
3627func (s AssociateWebsiteCertificateAuthorityOutput) GoString() string {
3628	return s.String()
3629}
3630
3631// SetWebsiteCaId sets the WebsiteCaId field's value.
3632func (s *AssociateWebsiteCertificateAuthorityOutput) SetWebsiteCaId(v string) *AssociateWebsiteCertificateAuthorityOutput {
3633	s.WebsiteCaId = &v
3634	return s
3635}
3636
3637type CreateFleetInput struct {
3638	_ struct{} `type:"structure"`
3639
3640	// The fleet name to display.
3641	DisplayName *string `type:"string"`
3642
3643	// A unique name for the fleet.
3644	//
3645	// FleetName is a required field
3646	FleetName *string `min:"1" type:"string" required:"true"`
3647
3648	// The option to optimize for better performance by routing traffic through
3649	// the closest AWS Region to users, which may be outside of your home Region.
3650	OptimizeForEndUserLocation *bool `type:"boolean"`
3651
3652	// The tags to add to the resource. A tag is a key-value pair.
3653	Tags map[string]*string `min:"1" type:"map"`
3654}
3655
3656// String returns the string representation.
3657//
3658// API parameter values that are decorated as "sensitive" in the API will not
3659// be included in the string output. The member name will be present, but the
3660// value will be replaced with "sensitive".
3661func (s CreateFleetInput) String() string {
3662	return awsutil.Prettify(s)
3663}
3664
3665// GoString returns the string representation.
3666//
3667// API parameter values that are decorated as "sensitive" in the API will not
3668// be included in the string output. The member name will be present, but the
3669// value will be replaced with "sensitive".
3670func (s CreateFleetInput) GoString() string {
3671	return s.String()
3672}
3673
3674// Validate inspects the fields of the type to determine if they are valid.
3675func (s *CreateFleetInput) Validate() error {
3676	invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
3677	if s.FleetName == nil {
3678		invalidParams.Add(request.NewErrParamRequired("FleetName"))
3679	}
3680	if s.FleetName != nil && len(*s.FleetName) < 1 {
3681		invalidParams.Add(request.NewErrParamMinLen("FleetName", 1))
3682	}
3683	if s.Tags != nil && len(s.Tags) < 1 {
3684		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
3685	}
3686
3687	if invalidParams.Len() > 0 {
3688		return invalidParams
3689	}
3690	return nil
3691}
3692
3693// SetDisplayName sets the DisplayName field's value.
3694func (s *CreateFleetInput) SetDisplayName(v string) *CreateFleetInput {
3695	s.DisplayName = &v
3696	return s
3697}
3698
3699// SetFleetName sets the FleetName field's value.
3700func (s *CreateFleetInput) SetFleetName(v string) *CreateFleetInput {
3701	s.FleetName = &v
3702	return s
3703}
3704
3705// SetOptimizeForEndUserLocation sets the OptimizeForEndUserLocation field's value.
3706func (s *CreateFleetInput) SetOptimizeForEndUserLocation(v bool) *CreateFleetInput {
3707	s.OptimizeForEndUserLocation = &v
3708	return s
3709}
3710
3711// SetTags sets the Tags field's value.
3712func (s *CreateFleetInput) SetTags(v map[string]*string) *CreateFleetInput {
3713	s.Tags = v
3714	return s
3715}
3716
3717type CreateFleetOutput struct {
3718	_ struct{} `type:"structure"`
3719
3720	// The Amazon Resource Name (ARN) of the fleet.
3721	FleetArn *string `min:"20" type:"string"`
3722}
3723
3724// String returns the string representation.
3725//
3726// API parameter values that are decorated as "sensitive" in the API will not
3727// be included in the string output. The member name will be present, but the
3728// value will be replaced with "sensitive".
3729func (s CreateFleetOutput) String() string {
3730	return awsutil.Prettify(s)
3731}
3732
3733// GoString returns the string representation.
3734//
3735// API parameter values that are decorated as "sensitive" in the API will not
3736// be included in the string output. The member name will be present, but the
3737// value will be replaced with "sensitive".
3738func (s CreateFleetOutput) GoString() string {
3739	return s.String()
3740}
3741
3742// SetFleetArn sets the FleetArn field's value.
3743func (s *CreateFleetOutput) SetFleetArn(v string) *CreateFleetOutput {
3744	s.FleetArn = &v
3745	return s
3746}
3747
3748type DeleteFleetInput struct {
3749	_ struct{} `type:"structure"`
3750
3751	// The ARN of the fleet.
3752	//
3753	// FleetArn is a required field
3754	FleetArn *string `min:"20" type:"string" required:"true"`
3755}
3756
3757// String returns the string representation.
3758//
3759// API parameter values that are decorated as "sensitive" in the API will not
3760// be included in the string output. The member name will be present, but the
3761// value will be replaced with "sensitive".
3762func (s DeleteFleetInput) String() string {
3763	return awsutil.Prettify(s)
3764}
3765
3766// GoString returns the string representation.
3767//
3768// API parameter values that are decorated as "sensitive" in the API will not
3769// be included in the string output. The member name will be present, but the
3770// value will be replaced with "sensitive".
3771func (s DeleteFleetInput) GoString() string {
3772	return s.String()
3773}
3774
3775// Validate inspects the fields of the type to determine if they are valid.
3776func (s *DeleteFleetInput) Validate() error {
3777	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetInput"}
3778	if s.FleetArn == nil {
3779		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
3780	}
3781	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
3782		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
3783	}
3784
3785	if invalidParams.Len() > 0 {
3786		return invalidParams
3787	}
3788	return nil
3789}
3790
3791// SetFleetArn sets the FleetArn field's value.
3792func (s *DeleteFleetInput) SetFleetArn(v string) *DeleteFleetInput {
3793	s.FleetArn = &v
3794	return s
3795}
3796
3797type DeleteFleetOutput struct {
3798	_ struct{} `type:"structure"`
3799}
3800
3801// String returns the string representation.
3802//
3803// API parameter values that are decorated as "sensitive" in the API will not
3804// be included in the string output. The member name will be present, but the
3805// value will be replaced with "sensitive".
3806func (s DeleteFleetOutput) String() string {
3807	return awsutil.Prettify(s)
3808}
3809
3810// GoString returns the string representation.
3811//
3812// API parameter values that are decorated as "sensitive" in the API will not
3813// be included in the string output. The member name will be present, but the
3814// value will be replaced with "sensitive".
3815func (s DeleteFleetOutput) GoString() string {
3816	return s.String()
3817}
3818
3819type DescribeAuditStreamConfigurationInput struct {
3820	_ struct{} `type:"structure"`
3821
3822	// The ARN of the fleet.
3823	//
3824	// FleetArn is a required field
3825	FleetArn *string `min:"20" type:"string" required:"true"`
3826}
3827
3828// String returns the string representation.
3829//
3830// API parameter values that are decorated as "sensitive" in the API will not
3831// be included in the string output. The member name will be present, but the
3832// value will be replaced with "sensitive".
3833func (s DescribeAuditStreamConfigurationInput) String() string {
3834	return awsutil.Prettify(s)
3835}
3836
3837// GoString returns the string representation.
3838//
3839// API parameter values that are decorated as "sensitive" in the API will not
3840// be included in the string output. The member name will be present, but the
3841// value will be replaced with "sensitive".
3842func (s DescribeAuditStreamConfigurationInput) GoString() string {
3843	return s.String()
3844}
3845
3846// Validate inspects the fields of the type to determine if they are valid.
3847func (s *DescribeAuditStreamConfigurationInput) Validate() error {
3848	invalidParams := request.ErrInvalidParams{Context: "DescribeAuditStreamConfigurationInput"}
3849	if s.FleetArn == nil {
3850		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
3851	}
3852	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
3853		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
3854	}
3855
3856	if invalidParams.Len() > 0 {
3857		return invalidParams
3858	}
3859	return nil
3860}
3861
3862// SetFleetArn sets the FleetArn field's value.
3863func (s *DescribeAuditStreamConfigurationInput) SetFleetArn(v string) *DescribeAuditStreamConfigurationInput {
3864	s.FleetArn = &v
3865	return s
3866}
3867
3868type DescribeAuditStreamConfigurationOutput struct {
3869	_ struct{} `type:"structure"`
3870
3871	// The ARN of the Amazon Kinesis data stream that will receive the audit events.
3872	AuditStreamArn *string `type:"string"`
3873}
3874
3875// String returns the string representation.
3876//
3877// API parameter values that are decorated as "sensitive" in the API will not
3878// be included in the string output. The member name will be present, but the
3879// value will be replaced with "sensitive".
3880func (s DescribeAuditStreamConfigurationOutput) String() string {
3881	return awsutil.Prettify(s)
3882}
3883
3884// GoString returns the string representation.
3885//
3886// API parameter values that are decorated as "sensitive" in the API will not
3887// be included in the string output. The member name will be present, but the
3888// value will be replaced with "sensitive".
3889func (s DescribeAuditStreamConfigurationOutput) GoString() string {
3890	return s.String()
3891}
3892
3893// SetAuditStreamArn sets the AuditStreamArn field's value.
3894func (s *DescribeAuditStreamConfigurationOutput) SetAuditStreamArn(v string) *DescribeAuditStreamConfigurationOutput {
3895	s.AuditStreamArn = &v
3896	return s
3897}
3898
3899type DescribeCompanyNetworkConfigurationInput struct {
3900	_ struct{} `type:"structure"`
3901
3902	// The ARN of the fleet.
3903	//
3904	// FleetArn is a required field
3905	FleetArn *string `min:"20" type:"string" required:"true"`
3906}
3907
3908// String returns the string representation.
3909//
3910// API parameter values that are decorated as "sensitive" in the API will not
3911// be included in the string output. The member name will be present, but the
3912// value will be replaced with "sensitive".
3913func (s DescribeCompanyNetworkConfigurationInput) String() string {
3914	return awsutil.Prettify(s)
3915}
3916
3917// GoString returns the string representation.
3918//
3919// API parameter values that are decorated as "sensitive" in the API will not
3920// be included in the string output. The member name will be present, but the
3921// value will be replaced with "sensitive".
3922func (s DescribeCompanyNetworkConfigurationInput) GoString() string {
3923	return s.String()
3924}
3925
3926// Validate inspects the fields of the type to determine if they are valid.
3927func (s *DescribeCompanyNetworkConfigurationInput) Validate() error {
3928	invalidParams := request.ErrInvalidParams{Context: "DescribeCompanyNetworkConfigurationInput"}
3929	if s.FleetArn == nil {
3930		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
3931	}
3932	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
3933		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
3934	}
3935
3936	if invalidParams.Len() > 0 {
3937		return invalidParams
3938	}
3939	return nil
3940}
3941
3942// SetFleetArn sets the FleetArn field's value.
3943func (s *DescribeCompanyNetworkConfigurationInput) SetFleetArn(v string) *DescribeCompanyNetworkConfigurationInput {
3944	s.FleetArn = &v
3945	return s
3946}
3947
3948type DescribeCompanyNetworkConfigurationOutput struct {
3949	_ struct{} `type:"structure"`
3950
3951	// The security groups associated with access to the provided subnets.
3952	SecurityGroupIds []*string `type:"list"`
3953
3954	// The subnets used for X-ENI connections from Amazon WorkLink rendering containers.
3955	SubnetIds []*string `type:"list"`
3956
3957	// The VPC with connectivity to associated websites.
3958	VpcId *string `type:"string"`
3959}
3960
3961// String returns the string representation.
3962//
3963// API parameter values that are decorated as "sensitive" in the API will not
3964// be included in the string output. The member name will be present, but the
3965// value will be replaced with "sensitive".
3966func (s DescribeCompanyNetworkConfigurationOutput) String() string {
3967	return awsutil.Prettify(s)
3968}
3969
3970// GoString returns the string representation.
3971//
3972// API parameter values that are decorated as "sensitive" in the API will not
3973// be included in the string output. The member name will be present, but the
3974// value will be replaced with "sensitive".
3975func (s DescribeCompanyNetworkConfigurationOutput) GoString() string {
3976	return s.String()
3977}
3978
3979// SetSecurityGroupIds sets the SecurityGroupIds field's value.
3980func (s *DescribeCompanyNetworkConfigurationOutput) SetSecurityGroupIds(v []*string) *DescribeCompanyNetworkConfigurationOutput {
3981	s.SecurityGroupIds = v
3982	return s
3983}
3984
3985// SetSubnetIds sets the SubnetIds field's value.
3986func (s *DescribeCompanyNetworkConfigurationOutput) SetSubnetIds(v []*string) *DescribeCompanyNetworkConfigurationOutput {
3987	s.SubnetIds = v
3988	return s
3989}
3990
3991// SetVpcId sets the VpcId field's value.
3992func (s *DescribeCompanyNetworkConfigurationOutput) SetVpcId(v string) *DescribeCompanyNetworkConfigurationOutput {
3993	s.VpcId = &v
3994	return s
3995}
3996
3997type DescribeDeviceInput struct {
3998	_ struct{} `type:"structure"`
3999
4000	// A unique identifier for a registered user's device.
4001	//
4002	// DeviceId is a required field
4003	DeviceId *string `min:"1" type:"string" required:"true"`
4004
4005	// The ARN of the fleet.
4006	//
4007	// FleetArn is a required field
4008	FleetArn *string `min:"20" type:"string" required:"true"`
4009}
4010
4011// String returns the string representation.
4012//
4013// API parameter values that are decorated as "sensitive" in the API will not
4014// be included in the string output. The member name will be present, but the
4015// value will be replaced with "sensitive".
4016func (s DescribeDeviceInput) String() string {
4017	return awsutil.Prettify(s)
4018}
4019
4020// GoString returns the string representation.
4021//
4022// API parameter values that are decorated as "sensitive" in the API will not
4023// be included in the string output. The member name will be present, but the
4024// value will be replaced with "sensitive".
4025func (s DescribeDeviceInput) GoString() string {
4026	return s.String()
4027}
4028
4029// Validate inspects the fields of the type to determine if they are valid.
4030func (s *DescribeDeviceInput) Validate() error {
4031	invalidParams := request.ErrInvalidParams{Context: "DescribeDeviceInput"}
4032	if s.DeviceId == nil {
4033		invalidParams.Add(request.NewErrParamRequired("DeviceId"))
4034	}
4035	if s.DeviceId != nil && len(*s.DeviceId) < 1 {
4036		invalidParams.Add(request.NewErrParamMinLen("DeviceId", 1))
4037	}
4038	if s.FleetArn == nil {
4039		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
4040	}
4041	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
4042		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
4043	}
4044
4045	if invalidParams.Len() > 0 {
4046		return invalidParams
4047	}
4048	return nil
4049}
4050
4051// SetDeviceId sets the DeviceId field's value.
4052func (s *DescribeDeviceInput) SetDeviceId(v string) *DescribeDeviceInput {
4053	s.DeviceId = &v
4054	return s
4055}
4056
4057// SetFleetArn sets the FleetArn field's value.
4058func (s *DescribeDeviceInput) SetFleetArn(v string) *DescribeDeviceInput {
4059	s.FleetArn = &v
4060	return s
4061}
4062
4063type DescribeDeviceOutput struct {
4064	_ struct{} `type:"structure"`
4065
4066	// The date that the device first signed in to Amazon WorkLink.
4067	FirstAccessedTime *time.Time `type:"timestamp"`
4068
4069	// The date that the device last accessed Amazon WorkLink.
4070	LastAccessedTime *time.Time `type:"timestamp"`
4071
4072	// The manufacturer of the device.
4073	Manufacturer *string `min:"1" type:"string"`
4074
4075	// The model of the device.
4076	Model *string `min:"1" type:"string"`
4077
4078	// The operating system of the device.
4079	OperatingSystem *string `min:"1" type:"string"`
4080
4081	// The operating system version of the device.
4082	OperatingSystemVersion *string `min:"1" type:"string"`
4083
4084	// The operating system patch level of the device.
4085	PatchLevel *string `min:"1" type:"string"`
4086
4087	// The current state of the device.
4088	Status *string `type:"string" enum:"DeviceStatus"`
4089
4090	// The user name associated with the device.
4091	Username *string `min:"1" type:"string"`
4092}
4093
4094// String returns the string representation.
4095//
4096// API parameter values that are decorated as "sensitive" in the API will not
4097// be included in the string output. The member name will be present, but the
4098// value will be replaced with "sensitive".
4099func (s DescribeDeviceOutput) String() string {
4100	return awsutil.Prettify(s)
4101}
4102
4103// GoString returns the string representation.
4104//
4105// API parameter values that are decorated as "sensitive" in the API will not
4106// be included in the string output. The member name will be present, but the
4107// value will be replaced with "sensitive".
4108func (s DescribeDeviceOutput) GoString() string {
4109	return s.String()
4110}
4111
4112// SetFirstAccessedTime sets the FirstAccessedTime field's value.
4113func (s *DescribeDeviceOutput) SetFirstAccessedTime(v time.Time) *DescribeDeviceOutput {
4114	s.FirstAccessedTime = &v
4115	return s
4116}
4117
4118// SetLastAccessedTime sets the LastAccessedTime field's value.
4119func (s *DescribeDeviceOutput) SetLastAccessedTime(v time.Time) *DescribeDeviceOutput {
4120	s.LastAccessedTime = &v
4121	return s
4122}
4123
4124// SetManufacturer sets the Manufacturer field's value.
4125func (s *DescribeDeviceOutput) SetManufacturer(v string) *DescribeDeviceOutput {
4126	s.Manufacturer = &v
4127	return s
4128}
4129
4130// SetModel sets the Model field's value.
4131func (s *DescribeDeviceOutput) SetModel(v string) *DescribeDeviceOutput {
4132	s.Model = &v
4133	return s
4134}
4135
4136// SetOperatingSystem sets the OperatingSystem field's value.
4137func (s *DescribeDeviceOutput) SetOperatingSystem(v string) *DescribeDeviceOutput {
4138	s.OperatingSystem = &v
4139	return s
4140}
4141
4142// SetOperatingSystemVersion sets the OperatingSystemVersion field's value.
4143func (s *DescribeDeviceOutput) SetOperatingSystemVersion(v string) *DescribeDeviceOutput {
4144	s.OperatingSystemVersion = &v
4145	return s
4146}
4147
4148// SetPatchLevel sets the PatchLevel field's value.
4149func (s *DescribeDeviceOutput) SetPatchLevel(v string) *DescribeDeviceOutput {
4150	s.PatchLevel = &v
4151	return s
4152}
4153
4154// SetStatus sets the Status field's value.
4155func (s *DescribeDeviceOutput) SetStatus(v string) *DescribeDeviceOutput {
4156	s.Status = &v
4157	return s
4158}
4159
4160// SetUsername sets the Username field's value.
4161func (s *DescribeDeviceOutput) SetUsername(v string) *DescribeDeviceOutput {
4162	s.Username = &v
4163	return s
4164}
4165
4166type DescribeDevicePolicyConfigurationInput struct {
4167	_ struct{} `type:"structure"`
4168
4169	// The ARN of the fleet.
4170	//
4171	// FleetArn is a required field
4172	FleetArn *string `min:"20" type:"string" required:"true"`
4173}
4174
4175// String returns the string representation.
4176//
4177// API parameter values that are decorated as "sensitive" in the API will not
4178// be included in the string output. The member name will be present, but the
4179// value will be replaced with "sensitive".
4180func (s DescribeDevicePolicyConfigurationInput) String() string {
4181	return awsutil.Prettify(s)
4182}
4183
4184// GoString returns the string representation.
4185//
4186// API parameter values that are decorated as "sensitive" in the API will not
4187// be included in the string output. The member name will be present, but the
4188// value will be replaced with "sensitive".
4189func (s DescribeDevicePolicyConfigurationInput) GoString() string {
4190	return s.String()
4191}
4192
4193// Validate inspects the fields of the type to determine if they are valid.
4194func (s *DescribeDevicePolicyConfigurationInput) Validate() error {
4195	invalidParams := request.ErrInvalidParams{Context: "DescribeDevicePolicyConfigurationInput"}
4196	if s.FleetArn == nil {
4197		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
4198	}
4199	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
4200		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
4201	}
4202
4203	if invalidParams.Len() > 0 {
4204		return invalidParams
4205	}
4206	return nil
4207}
4208
4209// SetFleetArn sets the FleetArn field's value.
4210func (s *DescribeDevicePolicyConfigurationInput) SetFleetArn(v string) *DescribeDevicePolicyConfigurationInput {
4211	s.FleetArn = &v
4212	return s
4213}
4214
4215type DescribeDevicePolicyConfigurationOutput struct {
4216	_ struct{} `type:"structure"`
4217
4218	// The certificate chain, including intermediate certificates and the root certificate
4219	// authority certificate used to issue device certificates.
4220	DeviceCaCertificate *string `min:"1" type:"string"`
4221}
4222
4223// String returns the string representation.
4224//
4225// API parameter values that are decorated as "sensitive" in the API will not
4226// be included in the string output. The member name will be present, but the
4227// value will be replaced with "sensitive".
4228func (s DescribeDevicePolicyConfigurationOutput) String() string {
4229	return awsutil.Prettify(s)
4230}
4231
4232// GoString returns the string representation.
4233//
4234// API parameter values that are decorated as "sensitive" in the API will not
4235// be included in the string output. The member name will be present, but the
4236// value will be replaced with "sensitive".
4237func (s DescribeDevicePolicyConfigurationOutput) GoString() string {
4238	return s.String()
4239}
4240
4241// SetDeviceCaCertificate sets the DeviceCaCertificate field's value.
4242func (s *DescribeDevicePolicyConfigurationOutput) SetDeviceCaCertificate(v string) *DescribeDevicePolicyConfigurationOutput {
4243	s.DeviceCaCertificate = &v
4244	return s
4245}
4246
4247type DescribeDomainInput struct {
4248	_ struct{} `type:"structure"`
4249
4250	// The name of the domain.
4251	//
4252	// DomainName is a required field
4253	DomainName *string `min:"1" type:"string" required:"true"`
4254
4255	// The ARN of the fleet.
4256	//
4257	// FleetArn is a required field
4258	FleetArn *string `min:"20" type:"string" required:"true"`
4259}
4260
4261// String returns the string representation.
4262//
4263// API parameter values that are decorated as "sensitive" in the API will not
4264// be included in the string output. The member name will be present, but the
4265// value will be replaced with "sensitive".
4266func (s DescribeDomainInput) String() string {
4267	return awsutil.Prettify(s)
4268}
4269
4270// GoString returns the string representation.
4271//
4272// API parameter values that are decorated as "sensitive" in the API will not
4273// be included in the string output. The member name will be present, but the
4274// value will be replaced with "sensitive".
4275func (s DescribeDomainInput) GoString() string {
4276	return s.String()
4277}
4278
4279// Validate inspects the fields of the type to determine if they are valid.
4280func (s *DescribeDomainInput) Validate() error {
4281	invalidParams := request.ErrInvalidParams{Context: "DescribeDomainInput"}
4282	if s.DomainName == nil {
4283		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4284	}
4285	if s.DomainName != nil && len(*s.DomainName) < 1 {
4286		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
4287	}
4288	if s.FleetArn == nil {
4289		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
4290	}
4291	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
4292		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
4293	}
4294
4295	if invalidParams.Len() > 0 {
4296		return invalidParams
4297	}
4298	return nil
4299}
4300
4301// SetDomainName sets the DomainName field's value.
4302func (s *DescribeDomainInput) SetDomainName(v string) *DescribeDomainInput {
4303	s.DomainName = &v
4304	return s
4305}
4306
4307// SetFleetArn sets the FleetArn field's value.
4308func (s *DescribeDomainInput) SetFleetArn(v string) *DescribeDomainInput {
4309	s.FleetArn = &v
4310	return s
4311}
4312
4313type DescribeDomainOutput struct {
4314	_ struct{} `type:"structure"`
4315
4316	// The ARN of an issued ACM certificate that is valid for the domain being associated.
4317	AcmCertificateArn *string `type:"string"`
4318
4319	// The time that the domain was added.
4320	CreatedTime *time.Time `type:"timestamp"`
4321
4322	// The name to display.
4323	DisplayName *string `type:"string"`
4324
4325	// The name of the domain.
4326	DomainName *string `min:"1" type:"string"`
4327
4328	// The current state for the domain.
4329	DomainStatus *string `type:"string" enum:"DomainStatus"`
4330}
4331
4332// String returns the string representation.
4333//
4334// API parameter values that are decorated as "sensitive" in the API will not
4335// be included in the string output. The member name will be present, but the
4336// value will be replaced with "sensitive".
4337func (s DescribeDomainOutput) String() string {
4338	return awsutil.Prettify(s)
4339}
4340
4341// GoString returns the string representation.
4342//
4343// API parameter values that are decorated as "sensitive" in the API will not
4344// be included in the string output. The member name will be present, but the
4345// value will be replaced with "sensitive".
4346func (s DescribeDomainOutput) GoString() string {
4347	return s.String()
4348}
4349
4350// SetAcmCertificateArn sets the AcmCertificateArn field's value.
4351func (s *DescribeDomainOutput) SetAcmCertificateArn(v string) *DescribeDomainOutput {
4352	s.AcmCertificateArn = &v
4353	return s
4354}
4355
4356// SetCreatedTime sets the CreatedTime field's value.
4357func (s *DescribeDomainOutput) SetCreatedTime(v time.Time) *DescribeDomainOutput {
4358	s.CreatedTime = &v
4359	return s
4360}
4361
4362// SetDisplayName sets the DisplayName field's value.
4363func (s *DescribeDomainOutput) SetDisplayName(v string) *DescribeDomainOutput {
4364	s.DisplayName = &v
4365	return s
4366}
4367
4368// SetDomainName sets the DomainName field's value.
4369func (s *DescribeDomainOutput) SetDomainName(v string) *DescribeDomainOutput {
4370	s.DomainName = &v
4371	return s
4372}
4373
4374// SetDomainStatus sets the DomainStatus field's value.
4375func (s *DescribeDomainOutput) SetDomainStatus(v string) *DescribeDomainOutput {
4376	s.DomainStatus = &v
4377	return s
4378}
4379
4380type DescribeFleetMetadataInput struct {
4381	_ struct{} `type:"structure"`
4382
4383	// The Amazon Resource Name (ARN) of the fleet.
4384	//
4385	// FleetArn is a required field
4386	FleetArn *string `min:"20" type:"string" required:"true"`
4387}
4388
4389// String returns the string representation.
4390//
4391// API parameter values that are decorated as "sensitive" in the API will not
4392// be included in the string output. The member name will be present, but the
4393// value will be replaced with "sensitive".
4394func (s DescribeFleetMetadataInput) String() string {
4395	return awsutil.Prettify(s)
4396}
4397
4398// GoString returns the string representation.
4399//
4400// API parameter values that are decorated as "sensitive" in the API will not
4401// be included in the string output. The member name will be present, but the
4402// value will be replaced with "sensitive".
4403func (s DescribeFleetMetadataInput) GoString() string {
4404	return s.String()
4405}
4406
4407// Validate inspects the fields of the type to determine if they are valid.
4408func (s *DescribeFleetMetadataInput) Validate() error {
4409	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetMetadataInput"}
4410	if s.FleetArn == nil {
4411		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
4412	}
4413	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
4414		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
4415	}
4416
4417	if invalidParams.Len() > 0 {
4418		return invalidParams
4419	}
4420	return nil
4421}
4422
4423// SetFleetArn sets the FleetArn field's value.
4424func (s *DescribeFleetMetadataInput) SetFleetArn(v string) *DescribeFleetMetadataInput {
4425	s.FleetArn = &v
4426	return s
4427}
4428
4429type DescribeFleetMetadataOutput struct {
4430	_ struct{} `type:"structure"`
4431
4432	// The identifier used by users to sign in to the Amazon WorkLink app.
4433	CompanyCode *string `min:"1" type:"string"`
4434
4435	// The time that the fleet was created.
4436	CreatedTime *time.Time `type:"timestamp"`
4437
4438	// The name to display.
4439	DisplayName *string `type:"string"`
4440
4441	// The name of the fleet.
4442	FleetName *string `min:"1" type:"string"`
4443
4444	// The current state of the fleet.
4445	FleetStatus *string `type:"string" enum:"FleetStatus"`
4446
4447	// The time that the fleet was last updated.
4448	LastUpdatedTime *time.Time `type:"timestamp"`
4449
4450	// The option to optimize for better performance by routing traffic through
4451	// the closest AWS Region to users, which may be outside of your home Region.
4452	OptimizeForEndUserLocation *bool `type:"boolean"`
4453
4454	// The tags attached to the resource. A tag is a key-value pair.
4455	Tags map[string]*string `min:"1" type:"map"`
4456}
4457
4458// String returns the string representation.
4459//
4460// API parameter values that are decorated as "sensitive" in the API will not
4461// be included in the string output. The member name will be present, but the
4462// value will be replaced with "sensitive".
4463func (s DescribeFleetMetadataOutput) String() string {
4464	return awsutil.Prettify(s)
4465}
4466
4467// GoString returns the string representation.
4468//
4469// API parameter values that are decorated as "sensitive" in the API will not
4470// be included in the string output. The member name will be present, but the
4471// value will be replaced with "sensitive".
4472func (s DescribeFleetMetadataOutput) GoString() string {
4473	return s.String()
4474}
4475
4476// SetCompanyCode sets the CompanyCode field's value.
4477func (s *DescribeFleetMetadataOutput) SetCompanyCode(v string) *DescribeFleetMetadataOutput {
4478	s.CompanyCode = &v
4479	return s
4480}
4481
4482// SetCreatedTime sets the CreatedTime field's value.
4483func (s *DescribeFleetMetadataOutput) SetCreatedTime(v time.Time) *DescribeFleetMetadataOutput {
4484	s.CreatedTime = &v
4485	return s
4486}
4487
4488// SetDisplayName sets the DisplayName field's value.
4489func (s *DescribeFleetMetadataOutput) SetDisplayName(v string) *DescribeFleetMetadataOutput {
4490	s.DisplayName = &v
4491	return s
4492}
4493
4494// SetFleetName sets the FleetName field's value.
4495func (s *DescribeFleetMetadataOutput) SetFleetName(v string) *DescribeFleetMetadataOutput {
4496	s.FleetName = &v
4497	return s
4498}
4499
4500// SetFleetStatus sets the FleetStatus field's value.
4501func (s *DescribeFleetMetadataOutput) SetFleetStatus(v string) *DescribeFleetMetadataOutput {
4502	s.FleetStatus = &v
4503	return s
4504}
4505
4506// SetLastUpdatedTime sets the LastUpdatedTime field's value.
4507func (s *DescribeFleetMetadataOutput) SetLastUpdatedTime(v time.Time) *DescribeFleetMetadataOutput {
4508	s.LastUpdatedTime = &v
4509	return s
4510}
4511
4512// SetOptimizeForEndUserLocation sets the OptimizeForEndUserLocation field's value.
4513func (s *DescribeFleetMetadataOutput) SetOptimizeForEndUserLocation(v bool) *DescribeFleetMetadataOutput {
4514	s.OptimizeForEndUserLocation = &v
4515	return s
4516}
4517
4518// SetTags sets the Tags field's value.
4519func (s *DescribeFleetMetadataOutput) SetTags(v map[string]*string) *DescribeFleetMetadataOutput {
4520	s.Tags = v
4521	return s
4522}
4523
4524type DescribeIdentityProviderConfigurationInput struct {
4525	_ struct{} `type:"structure"`
4526
4527	// The ARN of the fleet.
4528	//
4529	// FleetArn is a required field
4530	FleetArn *string `min:"20" type:"string" required:"true"`
4531}
4532
4533// String returns the string representation.
4534//
4535// API parameter values that are decorated as "sensitive" in the API will not
4536// be included in the string output. The member name will be present, but the
4537// value will be replaced with "sensitive".
4538func (s DescribeIdentityProviderConfigurationInput) String() string {
4539	return awsutil.Prettify(s)
4540}
4541
4542// GoString returns the string representation.
4543//
4544// API parameter values that are decorated as "sensitive" in the API will not
4545// be included in the string output. The member name will be present, but the
4546// value will be replaced with "sensitive".
4547func (s DescribeIdentityProviderConfigurationInput) GoString() string {
4548	return s.String()
4549}
4550
4551// Validate inspects the fields of the type to determine if they are valid.
4552func (s *DescribeIdentityProviderConfigurationInput) Validate() error {
4553	invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityProviderConfigurationInput"}
4554	if s.FleetArn == nil {
4555		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
4556	}
4557	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
4558		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
4559	}
4560
4561	if invalidParams.Len() > 0 {
4562		return invalidParams
4563	}
4564	return nil
4565}
4566
4567// SetFleetArn sets the FleetArn field's value.
4568func (s *DescribeIdentityProviderConfigurationInput) SetFleetArn(v string) *DescribeIdentityProviderConfigurationInput {
4569	s.FleetArn = &v
4570	return s
4571}
4572
4573type DescribeIdentityProviderConfigurationOutput struct {
4574	_ struct{} `type:"structure"`
4575
4576	// The SAML metadata document provided by the user’s identity provider.
4577	IdentityProviderSamlMetadata *string `min:"1" type:"string"`
4578
4579	// The type of identity provider.
4580	IdentityProviderType *string `type:"string" enum:"IdentityProviderType"`
4581
4582	// The SAML metadata document uploaded to the user’s identity provider.
4583	ServiceProviderSamlMetadata *string `min:"1" type:"string"`
4584}
4585
4586// String returns the string representation.
4587//
4588// API parameter values that are decorated as "sensitive" in the API will not
4589// be included in the string output. The member name will be present, but the
4590// value will be replaced with "sensitive".
4591func (s DescribeIdentityProviderConfigurationOutput) String() string {
4592	return awsutil.Prettify(s)
4593}
4594
4595// GoString returns the string representation.
4596//
4597// API parameter values that are decorated as "sensitive" in the API will not
4598// be included in the string output. The member name will be present, but the
4599// value will be replaced with "sensitive".
4600func (s DescribeIdentityProviderConfigurationOutput) GoString() string {
4601	return s.String()
4602}
4603
4604// SetIdentityProviderSamlMetadata sets the IdentityProviderSamlMetadata field's value.
4605func (s *DescribeIdentityProviderConfigurationOutput) SetIdentityProviderSamlMetadata(v string) *DescribeIdentityProviderConfigurationOutput {
4606	s.IdentityProviderSamlMetadata = &v
4607	return s
4608}
4609
4610// SetIdentityProviderType sets the IdentityProviderType field's value.
4611func (s *DescribeIdentityProviderConfigurationOutput) SetIdentityProviderType(v string) *DescribeIdentityProviderConfigurationOutput {
4612	s.IdentityProviderType = &v
4613	return s
4614}
4615
4616// SetServiceProviderSamlMetadata sets the ServiceProviderSamlMetadata field's value.
4617func (s *DescribeIdentityProviderConfigurationOutput) SetServiceProviderSamlMetadata(v string) *DescribeIdentityProviderConfigurationOutput {
4618	s.ServiceProviderSamlMetadata = &v
4619	return s
4620}
4621
4622type DescribeWebsiteCertificateAuthorityInput struct {
4623	_ struct{} `type:"structure"`
4624
4625	// The ARN of the fleet.
4626	//
4627	// FleetArn is a required field
4628	FleetArn *string `min:"20" type:"string" required:"true"`
4629
4630	// A unique identifier for the certificate authority.
4631	//
4632	// WebsiteCaId is a required field
4633	WebsiteCaId *string `min:"1" type:"string" required:"true"`
4634}
4635
4636// String returns the string representation.
4637//
4638// API parameter values that are decorated as "sensitive" in the API will not
4639// be included in the string output. The member name will be present, but the
4640// value will be replaced with "sensitive".
4641func (s DescribeWebsiteCertificateAuthorityInput) String() string {
4642	return awsutil.Prettify(s)
4643}
4644
4645// GoString returns the string representation.
4646//
4647// API parameter values that are decorated as "sensitive" in the API will not
4648// be included in the string output. The member name will be present, but the
4649// value will be replaced with "sensitive".
4650func (s DescribeWebsiteCertificateAuthorityInput) GoString() string {
4651	return s.String()
4652}
4653
4654// Validate inspects the fields of the type to determine if they are valid.
4655func (s *DescribeWebsiteCertificateAuthorityInput) Validate() error {
4656	invalidParams := request.ErrInvalidParams{Context: "DescribeWebsiteCertificateAuthorityInput"}
4657	if s.FleetArn == nil {
4658		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
4659	}
4660	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
4661		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
4662	}
4663	if s.WebsiteCaId == nil {
4664		invalidParams.Add(request.NewErrParamRequired("WebsiteCaId"))
4665	}
4666	if s.WebsiteCaId != nil && len(*s.WebsiteCaId) < 1 {
4667		invalidParams.Add(request.NewErrParamMinLen("WebsiteCaId", 1))
4668	}
4669
4670	if invalidParams.Len() > 0 {
4671		return invalidParams
4672	}
4673	return nil
4674}
4675
4676// SetFleetArn sets the FleetArn field's value.
4677func (s *DescribeWebsiteCertificateAuthorityInput) SetFleetArn(v string) *DescribeWebsiteCertificateAuthorityInput {
4678	s.FleetArn = &v
4679	return s
4680}
4681
4682// SetWebsiteCaId sets the WebsiteCaId field's value.
4683func (s *DescribeWebsiteCertificateAuthorityInput) SetWebsiteCaId(v string) *DescribeWebsiteCertificateAuthorityInput {
4684	s.WebsiteCaId = &v
4685	return s
4686}
4687
4688type DescribeWebsiteCertificateAuthorityOutput struct {
4689	_ struct{} `type:"structure"`
4690
4691	// The root certificate of the certificate authority.
4692	Certificate *string `min:"1" type:"string"`
4693
4694	// The time that the certificate authority was added.
4695	CreatedTime *time.Time `type:"timestamp"`
4696
4697	// The certificate name to display.
4698	DisplayName *string `type:"string"`
4699}
4700
4701// String returns the string representation.
4702//
4703// API parameter values that are decorated as "sensitive" in the API will not
4704// be included in the string output. The member name will be present, but the
4705// value will be replaced with "sensitive".
4706func (s DescribeWebsiteCertificateAuthorityOutput) String() string {
4707	return awsutil.Prettify(s)
4708}
4709
4710// GoString returns the string representation.
4711//
4712// API parameter values that are decorated as "sensitive" in the API will not
4713// be included in the string output. The member name will be present, but the
4714// value will be replaced with "sensitive".
4715func (s DescribeWebsiteCertificateAuthorityOutput) GoString() string {
4716	return s.String()
4717}
4718
4719// SetCertificate sets the Certificate field's value.
4720func (s *DescribeWebsiteCertificateAuthorityOutput) SetCertificate(v string) *DescribeWebsiteCertificateAuthorityOutput {
4721	s.Certificate = &v
4722	return s
4723}
4724
4725// SetCreatedTime sets the CreatedTime field's value.
4726func (s *DescribeWebsiteCertificateAuthorityOutput) SetCreatedTime(v time.Time) *DescribeWebsiteCertificateAuthorityOutput {
4727	s.CreatedTime = &v
4728	return s
4729}
4730
4731// SetDisplayName sets the DisplayName field's value.
4732func (s *DescribeWebsiteCertificateAuthorityOutput) SetDisplayName(v string) *DescribeWebsiteCertificateAuthorityOutput {
4733	s.DisplayName = &v
4734	return s
4735}
4736
4737// The summary of devices.
4738type DeviceSummary struct {
4739	_ struct{} `type:"structure"`
4740
4741	// The ID of the device.
4742	DeviceId *string `min:"1" type:"string"`
4743
4744	// The status of the device.
4745	DeviceStatus *string `type:"string" enum:"DeviceStatus"`
4746}
4747
4748// String returns the string representation.
4749//
4750// API parameter values that are decorated as "sensitive" in the API will not
4751// be included in the string output. The member name will be present, but the
4752// value will be replaced with "sensitive".
4753func (s DeviceSummary) String() string {
4754	return awsutil.Prettify(s)
4755}
4756
4757// GoString returns the string representation.
4758//
4759// API parameter values that are decorated as "sensitive" in the API will not
4760// be included in the string output. The member name will be present, but the
4761// value will be replaced with "sensitive".
4762func (s DeviceSummary) GoString() string {
4763	return s.String()
4764}
4765
4766// SetDeviceId sets the DeviceId field's value.
4767func (s *DeviceSummary) SetDeviceId(v string) *DeviceSummary {
4768	s.DeviceId = &v
4769	return s
4770}
4771
4772// SetDeviceStatus sets the DeviceStatus field's value.
4773func (s *DeviceSummary) SetDeviceStatus(v string) *DeviceSummary {
4774	s.DeviceStatus = &v
4775	return s
4776}
4777
4778type DisassociateDomainInput struct {
4779	_ struct{} `type:"structure"`
4780
4781	// The name of the domain.
4782	//
4783	// DomainName is a required field
4784	DomainName *string `min:"1" type:"string" required:"true"`
4785
4786	// The ARN of the fleet.
4787	//
4788	// FleetArn is a required field
4789	FleetArn *string `min:"20" type:"string" required:"true"`
4790}
4791
4792// String returns the string representation.
4793//
4794// API parameter values that are decorated as "sensitive" in the API will not
4795// be included in the string output. The member name will be present, but the
4796// value will be replaced with "sensitive".
4797func (s DisassociateDomainInput) String() string {
4798	return awsutil.Prettify(s)
4799}
4800
4801// GoString returns the string representation.
4802//
4803// API parameter values that are decorated as "sensitive" in the API will not
4804// be included in the string output. The member name will be present, but the
4805// value will be replaced with "sensitive".
4806func (s DisassociateDomainInput) GoString() string {
4807	return s.String()
4808}
4809
4810// Validate inspects the fields of the type to determine if they are valid.
4811func (s *DisassociateDomainInput) Validate() error {
4812	invalidParams := request.ErrInvalidParams{Context: "DisassociateDomainInput"}
4813	if s.DomainName == nil {
4814		invalidParams.Add(request.NewErrParamRequired("DomainName"))
4815	}
4816	if s.DomainName != nil && len(*s.DomainName) < 1 {
4817		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
4818	}
4819	if s.FleetArn == nil {
4820		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
4821	}
4822	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
4823		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
4824	}
4825
4826	if invalidParams.Len() > 0 {
4827		return invalidParams
4828	}
4829	return nil
4830}
4831
4832// SetDomainName sets the DomainName field's value.
4833func (s *DisassociateDomainInput) SetDomainName(v string) *DisassociateDomainInput {
4834	s.DomainName = &v
4835	return s
4836}
4837
4838// SetFleetArn sets the FleetArn field's value.
4839func (s *DisassociateDomainInput) SetFleetArn(v string) *DisassociateDomainInput {
4840	s.FleetArn = &v
4841	return s
4842}
4843
4844type DisassociateDomainOutput struct {
4845	_ struct{} `type:"structure"`
4846}
4847
4848// String returns the string representation.
4849//
4850// API parameter values that are decorated as "sensitive" in the API will not
4851// be included in the string output. The member name will be present, but the
4852// value will be replaced with "sensitive".
4853func (s DisassociateDomainOutput) String() string {
4854	return awsutil.Prettify(s)
4855}
4856
4857// GoString returns the string representation.
4858//
4859// API parameter values that are decorated as "sensitive" in the API will not
4860// be included in the string output. The member name will be present, but the
4861// value will be replaced with "sensitive".
4862func (s DisassociateDomainOutput) GoString() string {
4863	return s.String()
4864}
4865
4866type DisassociateWebsiteAuthorizationProviderInput struct {
4867	_ struct{} `type:"structure"`
4868
4869	// A unique identifier for the authorization provider.
4870	//
4871	// AuthorizationProviderId is a required field
4872	AuthorizationProviderId *string `min:"1" type:"string" required:"true"`
4873
4874	// The ARN of the fleet.
4875	//
4876	// FleetArn is a required field
4877	FleetArn *string `min:"20" type:"string" required:"true"`
4878}
4879
4880// String returns the string representation.
4881//
4882// API parameter values that are decorated as "sensitive" in the API will not
4883// be included in the string output. The member name will be present, but the
4884// value will be replaced with "sensitive".
4885func (s DisassociateWebsiteAuthorizationProviderInput) String() string {
4886	return awsutil.Prettify(s)
4887}
4888
4889// GoString returns the string representation.
4890//
4891// API parameter values that are decorated as "sensitive" in the API will not
4892// be included in the string output. The member name will be present, but the
4893// value will be replaced with "sensitive".
4894func (s DisassociateWebsiteAuthorizationProviderInput) GoString() string {
4895	return s.String()
4896}
4897
4898// Validate inspects the fields of the type to determine if they are valid.
4899func (s *DisassociateWebsiteAuthorizationProviderInput) Validate() error {
4900	invalidParams := request.ErrInvalidParams{Context: "DisassociateWebsiteAuthorizationProviderInput"}
4901	if s.AuthorizationProviderId == nil {
4902		invalidParams.Add(request.NewErrParamRequired("AuthorizationProviderId"))
4903	}
4904	if s.AuthorizationProviderId != nil && len(*s.AuthorizationProviderId) < 1 {
4905		invalidParams.Add(request.NewErrParamMinLen("AuthorizationProviderId", 1))
4906	}
4907	if s.FleetArn == nil {
4908		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
4909	}
4910	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
4911		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
4912	}
4913
4914	if invalidParams.Len() > 0 {
4915		return invalidParams
4916	}
4917	return nil
4918}
4919
4920// SetAuthorizationProviderId sets the AuthorizationProviderId field's value.
4921func (s *DisassociateWebsiteAuthorizationProviderInput) SetAuthorizationProviderId(v string) *DisassociateWebsiteAuthorizationProviderInput {
4922	s.AuthorizationProviderId = &v
4923	return s
4924}
4925
4926// SetFleetArn sets the FleetArn field's value.
4927func (s *DisassociateWebsiteAuthorizationProviderInput) SetFleetArn(v string) *DisassociateWebsiteAuthorizationProviderInput {
4928	s.FleetArn = &v
4929	return s
4930}
4931
4932type DisassociateWebsiteAuthorizationProviderOutput struct {
4933	_ struct{} `type:"structure"`
4934}
4935
4936// String returns the string representation.
4937//
4938// API parameter values that are decorated as "sensitive" in the API will not
4939// be included in the string output. The member name will be present, but the
4940// value will be replaced with "sensitive".
4941func (s DisassociateWebsiteAuthorizationProviderOutput) String() string {
4942	return awsutil.Prettify(s)
4943}
4944
4945// GoString returns the string representation.
4946//
4947// API parameter values that are decorated as "sensitive" in the API will not
4948// be included in the string output. The member name will be present, but the
4949// value will be replaced with "sensitive".
4950func (s DisassociateWebsiteAuthorizationProviderOutput) GoString() string {
4951	return s.String()
4952}
4953
4954type DisassociateWebsiteCertificateAuthorityInput struct {
4955	_ struct{} `type:"structure"`
4956
4957	// The ARN of the fleet.
4958	//
4959	// FleetArn is a required field
4960	FleetArn *string `min:"20" type:"string" required:"true"`
4961
4962	// A unique identifier for the CA.
4963	//
4964	// WebsiteCaId is a required field
4965	WebsiteCaId *string `min:"1" type:"string" required:"true"`
4966}
4967
4968// String returns the string representation.
4969//
4970// API parameter values that are decorated as "sensitive" in the API will not
4971// be included in the string output. The member name will be present, but the
4972// value will be replaced with "sensitive".
4973func (s DisassociateWebsiteCertificateAuthorityInput) String() string {
4974	return awsutil.Prettify(s)
4975}
4976
4977// GoString returns the string representation.
4978//
4979// API parameter values that are decorated as "sensitive" in the API will not
4980// be included in the string output. The member name will be present, but the
4981// value will be replaced with "sensitive".
4982func (s DisassociateWebsiteCertificateAuthorityInput) GoString() string {
4983	return s.String()
4984}
4985
4986// Validate inspects the fields of the type to determine if they are valid.
4987func (s *DisassociateWebsiteCertificateAuthorityInput) Validate() error {
4988	invalidParams := request.ErrInvalidParams{Context: "DisassociateWebsiteCertificateAuthorityInput"}
4989	if s.FleetArn == nil {
4990		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
4991	}
4992	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
4993		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
4994	}
4995	if s.WebsiteCaId == nil {
4996		invalidParams.Add(request.NewErrParamRequired("WebsiteCaId"))
4997	}
4998	if s.WebsiteCaId != nil && len(*s.WebsiteCaId) < 1 {
4999		invalidParams.Add(request.NewErrParamMinLen("WebsiteCaId", 1))
5000	}
5001
5002	if invalidParams.Len() > 0 {
5003		return invalidParams
5004	}
5005	return nil
5006}
5007
5008// SetFleetArn sets the FleetArn field's value.
5009func (s *DisassociateWebsiteCertificateAuthorityInput) SetFleetArn(v string) *DisassociateWebsiteCertificateAuthorityInput {
5010	s.FleetArn = &v
5011	return s
5012}
5013
5014// SetWebsiteCaId sets the WebsiteCaId field's value.
5015func (s *DisassociateWebsiteCertificateAuthorityInput) SetWebsiteCaId(v string) *DisassociateWebsiteCertificateAuthorityInput {
5016	s.WebsiteCaId = &v
5017	return s
5018}
5019
5020type DisassociateWebsiteCertificateAuthorityOutput struct {
5021	_ struct{} `type:"structure"`
5022}
5023
5024// String returns the string representation.
5025//
5026// API parameter values that are decorated as "sensitive" in the API will not
5027// be included in the string output. The member name will be present, but the
5028// value will be replaced with "sensitive".
5029func (s DisassociateWebsiteCertificateAuthorityOutput) String() string {
5030	return awsutil.Prettify(s)
5031}
5032
5033// GoString returns the string representation.
5034//
5035// API parameter values that are decorated as "sensitive" in the API will not
5036// be included in the string output. The member name will be present, but the
5037// value will be replaced with "sensitive".
5038func (s DisassociateWebsiteCertificateAuthorityOutput) GoString() string {
5039	return s.String()
5040}
5041
5042// The summary of the domain.
5043type DomainSummary struct {
5044	_ struct{} `type:"structure"`
5045
5046	// The time that the domain was created.
5047	//
5048	// CreatedTime is a required field
5049	CreatedTime *time.Time `type:"timestamp" required:"true"`
5050
5051	// The name to display.
5052	DisplayName *string `type:"string"`
5053
5054	// The name of the domain.
5055	//
5056	// DomainName is a required field
5057	DomainName *string `min:"1" type:"string" required:"true"`
5058
5059	// The status of the domain.
5060	//
5061	// DomainStatus is a required field
5062	DomainStatus *string `type:"string" required:"true" enum:"DomainStatus"`
5063}
5064
5065// String returns the string representation.
5066//
5067// API parameter values that are decorated as "sensitive" in the API will not
5068// be included in the string output. The member name will be present, but the
5069// value will be replaced with "sensitive".
5070func (s DomainSummary) String() string {
5071	return awsutil.Prettify(s)
5072}
5073
5074// GoString returns the string representation.
5075//
5076// API parameter values that are decorated as "sensitive" in the API will not
5077// be included in the string output. The member name will be present, but the
5078// value will be replaced with "sensitive".
5079func (s DomainSummary) GoString() string {
5080	return s.String()
5081}
5082
5083// SetCreatedTime sets the CreatedTime field's value.
5084func (s *DomainSummary) SetCreatedTime(v time.Time) *DomainSummary {
5085	s.CreatedTime = &v
5086	return s
5087}
5088
5089// SetDisplayName sets the DisplayName field's value.
5090func (s *DomainSummary) SetDisplayName(v string) *DomainSummary {
5091	s.DisplayName = &v
5092	return s
5093}
5094
5095// SetDomainName sets the DomainName field's value.
5096func (s *DomainSummary) SetDomainName(v string) *DomainSummary {
5097	s.DomainName = &v
5098	return s
5099}
5100
5101// SetDomainStatus sets the DomainStatus field's value.
5102func (s *DomainSummary) SetDomainStatus(v string) *DomainSummary {
5103	s.DomainStatus = &v
5104	return s
5105}
5106
5107// The summary of the fleet.
5108type FleetSummary struct {
5109	_ struct{} `type:"structure"`
5110
5111	// The identifier used by users to sign into the Amazon WorkLink app.
5112	CompanyCode *string `min:"1" type:"string"`
5113
5114	// The time when the fleet was created.
5115	CreatedTime *time.Time `type:"timestamp"`
5116
5117	// The name of the fleet to display.
5118	DisplayName *string `type:"string"`
5119
5120	// The Amazon Resource Name (ARN) of the fleet.
5121	FleetArn *string `min:"20" type:"string"`
5122
5123	// The name of the fleet.
5124	FleetName *string `min:"1" type:"string"`
5125
5126	// The status of the fleet.
5127	FleetStatus *string `type:"string" enum:"FleetStatus"`
5128
5129	// The time when the fleet was last updated.
5130	LastUpdatedTime *time.Time `type:"timestamp"`
5131
5132	// The tags attached to the resource. A tag is a key-value pair.
5133	Tags map[string]*string `min:"1" type:"map"`
5134}
5135
5136// String returns the string representation.
5137//
5138// API parameter values that are decorated as "sensitive" in the API will not
5139// be included in the string output. The member name will be present, but the
5140// value will be replaced with "sensitive".
5141func (s FleetSummary) String() string {
5142	return awsutil.Prettify(s)
5143}
5144
5145// GoString returns the string representation.
5146//
5147// API parameter values that are decorated as "sensitive" in the API will not
5148// be included in the string output. The member name will be present, but the
5149// value will be replaced with "sensitive".
5150func (s FleetSummary) GoString() string {
5151	return s.String()
5152}
5153
5154// SetCompanyCode sets the CompanyCode field's value.
5155func (s *FleetSummary) SetCompanyCode(v string) *FleetSummary {
5156	s.CompanyCode = &v
5157	return s
5158}
5159
5160// SetCreatedTime sets the CreatedTime field's value.
5161func (s *FleetSummary) SetCreatedTime(v time.Time) *FleetSummary {
5162	s.CreatedTime = &v
5163	return s
5164}
5165
5166// SetDisplayName sets the DisplayName field's value.
5167func (s *FleetSummary) SetDisplayName(v string) *FleetSummary {
5168	s.DisplayName = &v
5169	return s
5170}
5171
5172// SetFleetArn sets the FleetArn field's value.
5173func (s *FleetSummary) SetFleetArn(v string) *FleetSummary {
5174	s.FleetArn = &v
5175	return s
5176}
5177
5178// SetFleetName sets the FleetName field's value.
5179func (s *FleetSummary) SetFleetName(v string) *FleetSummary {
5180	s.FleetName = &v
5181	return s
5182}
5183
5184// SetFleetStatus sets the FleetStatus field's value.
5185func (s *FleetSummary) SetFleetStatus(v string) *FleetSummary {
5186	s.FleetStatus = &v
5187	return s
5188}
5189
5190// SetLastUpdatedTime sets the LastUpdatedTime field's value.
5191func (s *FleetSummary) SetLastUpdatedTime(v time.Time) *FleetSummary {
5192	s.LastUpdatedTime = &v
5193	return s
5194}
5195
5196// SetTags sets the Tags field's value.
5197func (s *FleetSummary) SetTags(v map[string]*string) *FleetSummary {
5198	s.Tags = v
5199	return s
5200}
5201
5202// The service is temporarily unavailable.
5203type InternalServerErrorException struct {
5204	_            struct{}                  `type:"structure"`
5205	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5206
5207	Message_ *string `locationName:"Message" type:"string"`
5208}
5209
5210// String returns the string representation.
5211//
5212// API parameter values that are decorated as "sensitive" in the API will not
5213// be included in the string output. The member name will be present, but the
5214// value will be replaced with "sensitive".
5215func (s InternalServerErrorException) String() string {
5216	return awsutil.Prettify(s)
5217}
5218
5219// GoString returns the string representation.
5220//
5221// API parameter values that are decorated as "sensitive" in the API will not
5222// be included in the string output. The member name will be present, but the
5223// value will be replaced with "sensitive".
5224func (s InternalServerErrorException) GoString() string {
5225	return s.String()
5226}
5227
5228func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
5229	return &InternalServerErrorException{
5230		RespMetadata: v,
5231	}
5232}
5233
5234// Code returns the exception type name.
5235func (s *InternalServerErrorException) Code() string {
5236	return "InternalServerErrorException"
5237}
5238
5239// Message returns the exception's message.
5240func (s *InternalServerErrorException) Message() string {
5241	if s.Message_ != nil {
5242		return *s.Message_
5243	}
5244	return ""
5245}
5246
5247// OrigErr always returns nil, satisfies awserr.Error interface.
5248func (s *InternalServerErrorException) OrigErr() error {
5249	return nil
5250}
5251
5252func (s *InternalServerErrorException) Error() string {
5253	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5254}
5255
5256// Status code returns the HTTP status code for the request's response error.
5257func (s *InternalServerErrorException) StatusCode() int {
5258	return s.RespMetadata.StatusCode
5259}
5260
5261// RequestID returns the service's response RequestID for request.
5262func (s *InternalServerErrorException) RequestID() string {
5263	return s.RespMetadata.RequestID
5264}
5265
5266// The request is not valid.
5267type InvalidRequestException struct {
5268	_            struct{}                  `type:"structure"`
5269	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5270
5271	Message_ *string `locationName:"Message" type:"string"`
5272}
5273
5274// String returns the string representation.
5275//
5276// API parameter values that are decorated as "sensitive" in the API will not
5277// be included in the string output. The member name will be present, but the
5278// value will be replaced with "sensitive".
5279func (s InvalidRequestException) String() string {
5280	return awsutil.Prettify(s)
5281}
5282
5283// GoString returns the string representation.
5284//
5285// API parameter values that are decorated as "sensitive" in the API will not
5286// be included in the string output. The member name will be present, but the
5287// value will be replaced with "sensitive".
5288func (s InvalidRequestException) GoString() string {
5289	return s.String()
5290}
5291
5292func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
5293	return &InvalidRequestException{
5294		RespMetadata: v,
5295	}
5296}
5297
5298// Code returns the exception type name.
5299func (s *InvalidRequestException) Code() string {
5300	return "InvalidRequestException"
5301}
5302
5303// Message returns the exception's message.
5304func (s *InvalidRequestException) Message() string {
5305	if s.Message_ != nil {
5306		return *s.Message_
5307	}
5308	return ""
5309}
5310
5311// OrigErr always returns nil, satisfies awserr.Error interface.
5312func (s *InvalidRequestException) OrigErr() error {
5313	return nil
5314}
5315
5316func (s *InvalidRequestException) Error() string {
5317	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5318}
5319
5320// Status code returns the HTTP status code for the request's response error.
5321func (s *InvalidRequestException) StatusCode() int {
5322	return s.RespMetadata.StatusCode
5323}
5324
5325// RequestID returns the service's response RequestID for request.
5326func (s *InvalidRequestException) RequestID() string {
5327	return s.RespMetadata.RequestID
5328}
5329
5330type ListDevicesInput struct {
5331	_ struct{} `type:"structure"`
5332
5333	// The ARN of the fleet.
5334	//
5335	// FleetArn is a required field
5336	FleetArn *string `min:"20" type:"string" required:"true"`
5337
5338	// The maximum number of results to be included in the next page.
5339	MaxResults *int64 `min:"1" type:"integer"`
5340
5341	// The pagination token used to retrieve the next page of results for this operation.
5342	// If this value is null, it retrieves the first page.
5343	NextToken *string `min:"1" type:"string"`
5344}
5345
5346// String returns the string representation.
5347//
5348// API parameter values that are decorated as "sensitive" in the API will not
5349// be included in the string output. The member name will be present, but the
5350// value will be replaced with "sensitive".
5351func (s ListDevicesInput) String() string {
5352	return awsutil.Prettify(s)
5353}
5354
5355// GoString returns the string representation.
5356//
5357// API parameter values that are decorated as "sensitive" in the API will not
5358// be included in the string output. The member name will be present, but the
5359// value will be replaced with "sensitive".
5360func (s ListDevicesInput) GoString() string {
5361	return s.String()
5362}
5363
5364// Validate inspects the fields of the type to determine if they are valid.
5365func (s *ListDevicesInput) Validate() error {
5366	invalidParams := request.ErrInvalidParams{Context: "ListDevicesInput"}
5367	if s.FleetArn == nil {
5368		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
5369	}
5370	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
5371		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
5372	}
5373	if s.MaxResults != nil && *s.MaxResults < 1 {
5374		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5375	}
5376	if s.NextToken != nil && len(*s.NextToken) < 1 {
5377		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5378	}
5379
5380	if invalidParams.Len() > 0 {
5381		return invalidParams
5382	}
5383	return nil
5384}
5385
5386// SetFleetArn sets the FleetArn field's value.
5387func (s *ListDevicesInput) SetFleetArn(v string) *ListDevicesInput {
5388	s.FleetArn = &v
5389	return s
5390}
5391
5392// SetMaxResults sets the MaxResults field's value.
5393func (s *ListDevicesInput) SetMaxResults(v int64) *ListDevicesInput {
5394	s.MaxResults = &v
5395	return s
5396}
5397
5398// SetNextToken sets the NextToken field's value.
5399func (s *ListDevicesInput) SetNextToken(v string) *ListDevicesInput {
5400	s.NextToken = &v
5401	return s
5402}
5403
5404type ListDevicesOutput struct {
5405	_ struct{} `type:"structure"`
5406
5407	// Information about the devices.
5408	Devices []*DeviceSummary `type:"list"`
5409
5410	// The pagination token used to retrieve the next page of results for this operation.
5411	// If there are no more pages, this value is null.
5412	NextToken *string `min:"1" type:"string"`
5413}
5414
5415// String returns the string representation.
5416//
5417// API parameter values that are decorated as "sensitive" in the API will not
5418// be included in the string output. The member name will be present, but the
5419// value will be replaced with "sensitive".
5420func (s ListDevicesOutput) String() string {
5421	return awsutil.Prettify(s)
5422}
5423
5424// GoString returns the string representation.
5425//
5426// API parameter values that are decorated as "sensitive" in the API will not
5427// be included in the string output. The member name will be present, but the
5428// value will be replaced with "sensitive".
5429func (s ListDevicesOutput) GoString() string {
5430	return s.String()
5431}
5432
5433// SetDevices sets the Devices field's value.
5434func (s *ListDevicesOutput) SetDevices(v []*DeviceSummary) *ListDevicesOutput {
5435	s.Devices = v
5436	return s
5437}
5438
5439// SetNextToken sets the NextToken field's value.
5440func (s *ListDevicesOutput) SetNextToken(v string) *ListDevicesOutput {
5441	s.NextToken = &v
5442	return s
5443}
5444
5445type ListDomainsInput struct {
5446	_ struct{} `type:"structure"`
5447
5448	// The ARN of the fleet.
5449	//
5450	// FleetArn is a required field
5451	FleetArn *string `min:"20" type:"string" required:"true"`
5452
5453	// The maximum number of results to be included in the next page.
5454	MaxResults *int64 `min:"1" type:"integer"`
5455
5456	// The pagination token used to retrieve the next page of results for this operation.
5457	// If this value is null, it retrieves the first page.
5458	NextToken *string `min:"1" type:"string"`
5459}
5460
5461// String returns the string representation.
5462//
5463// API parameter values that are decorated as "sensitive" in the API will not
5464// be included in the string output. The member name will be present, but the
5465// value will be replaced with "sensitive".
5466func (s ListDomainsInput) String() string {
5467	return awsutil.Prettify(s)
5468}
5469
5470// GoString returns the string representation.
5471//
5472// API parameter values that are decorated as "sensitive" in the API will not
5473// be included in the string output. The member name will be present, but the
5474// value will be replaced with "sensitive".
5475func (s ListDomainsInput) GoString() string {
5476	return s.String()
5477}
5478
5479// Validate inspects the fields of the type to determine if they are valid.
5480func (s *ListDomainsInput) Validate() error {
5481	invalidParams := request.ErrInvalidParams{Context: "ListDomainsInput"}
5482	if s.FleetArn == nil {
5483		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
5484	}
5485	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
5486		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
5487	}
5488	if s.MaxResults != nil && *s.MaxResults < 1 {
5489		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5490	}
5491	if s.NextToken != nil && len(*s.NextToken) < 1 {
5492		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5493	}
5494
5495	if invalidParams.Len() > 0 {
5496		return invalidParams
5497	}
5498	return nil
5499}
5500
5501// SetFleetArn sets the FleetArn field's value.
5502func (s *ListDomainsInput) SetFleetArn(v string) *ListDomainsInput {
5503	s.FleetArn = &v
5504	return s
5505}
5506
5507// SetMaxResults sets the MaxResults field's value.
5508func (s *ListDomainsInput) SetMaxResults(v int64) *ListDomainsInput {
5509	s.MaxResults = &v
5510	return s
5511}
5512
5513// SetNextToken sets the NextToken field's value.
5514func (s *ListDomainsInput) SetNextToken(v string) *ListDomainsInput {
5515	s.NextToken = &v
5516	return s
5517}
5518
5519type ListDomainsOutput struct {
5520	_ struct{} `type:"structure"`
5521
5522	// Information about the domains.
5523	Domains []*DomainSummary `type:"list"`
5524
5525	// The pagination token used to retrieve the next page of results for this operation.
5526	// If there are no more pages, this value is null.
5527	NextToken *string `min:"1" type:"string"`
5528}
5529
5530// String returns the string representation.
5531//
5532// API parameter values that are decorated as "sensitive" in the API will not
5533// be included in the string output. The member name will be present, but the
5534// value will be replaced with "sensitive".
5535func (s ListDomainsOutput) String() string {
5536	return awsutil.Prettify(s)
5537}
5538
5539// GoString returns the string representation.
5540//
5541// API parameter values that are decorated as "sensitive" in the API will not
5542// be included in the string output. The member name will be present, but the
5543// value will be replaced with "sensitive".
5544func (s ListDomainsOutput) GoString() string {
5545	return s.String()
5546}
5547
5548// SetDomains sets the Domains field's value.
5549func (s *ListDomainsOutput) SetDomains(v []*DomainSummary) *ListDomainsOutput {
5550	s.Domains = v
5551	return s
5552}
5553
5554// SetNextToken sets the NextToken field's value.
5555func (s *ListDomainsOutput) SetNextToken(v string) *ListDomainsOutput {
5556	s.NextToken = &v
5557	return s
5558}
5559
5560type ListFleetsInput struct {
5561	_ struct{} `type:"structure"`
5562
5563	// The maximum number of results to be included in the next page.
5564	MaxResults *int64 `min:"1" type:"integer"`
5565
5566	// The pagination token used to retrieve the next page of results for this operation.
5567	// If this value is null, it retrieves the first page.
5568	NextToken *string `min:"1" type:"string"`
5569}
5570
5571// String returns the string representation.
5572//
5573// API parameter values that are decorated as "sensitive" in the API will not
5574// be included in the string output. The member name will be present, but the
5575// value will be replaced with "sensitive".
5576func (s ListFleetsInput) String() string {
5577	return awsutil.Prettify(s)
5578}
5579
5580// GoString returns the string representation.
5581//
5582// API parameter values that are decorated as "sensitive" in the API will not
5583// be included in the string output. The member name will be present, but the
5584// value will be replaced with "sensitive".
5585func (s ListFleetsInput) GoString() string {
5586	return s.String()
5587}
5588
5589// Validate inspects the fields of the type to determine if they are valid.
5590func (s *ListFleetsInput) Validate() error {
5591	invalidParams := request.ErrInvalidParams{Context: "ListFleetsInput"}
5592	if s.MaxResults != nil && *s.MaxResults < 1 {
5593		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5594	}
5595	if s.NextToken != nil && len(*s.NextToken) < 1 {
5596		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5597	}
5598
5599	if invalidParams.Len() > 0 {
5600		return invalidParams
5601	}
5602	return nil
5603}
5604
5605// SetMaxResults sets the MaxResults field's value.
5606func (s *ListFleetsInput) SetMaxResults(v int64) *ListFleetsInput {
5607	s.MaxResults = &v
5608	return s
5609}
5610
5611// SetNextToken sets the NextToken field's value.
5612func (s *ListFleetsInput) SetNextToken(v string) *ListFleetsInput {
5613	s.NextToken = &v
5614	return s
5615}
5616
5617type ListFleetsOutput struct {
5618	_ struct{} `type:"structure"`
5619
5620	// The summary list of the fleets.
5621	FleetSummaryList []*FleetSummary `type:"list"`
5622
5623	// The pagination token used to retrieve the next page of results for this operation.
5624	// If there are no more pages, this value is null.
5625	NextToken *string `min:"1" type:"string"`
5626}
5627
5628// String returns the string representation.
5629//
5630// API parameter values that are decorated as "sensitive" in the API will not
5631// be included in the string output. The member name will be present, but the
5632// value will be replaced with "sensitive".
5633func (s ListFleetsOutput) String() string {
5634	return awsutil.Prettify(s)
5635}
5636
5637// GoString returns the string representation.
5638//
5639// API parameter values that are decorated as "sensitive" in the API will not
5640// be included in the string output. The member name will be present, but the
5641// value will be replaced with "sensitive".
5642func (s ListFleetsOutput) GoString() string {
5643	return s.String()
5644}
5645
5646// SetFleetSummaryList sets the FleetSummaryList field's value.
5647func (s *ListFleetsOutput) SetFleetSummaryList(v []*FleetSummary) *ListFleetsOutput {
5648	s.FleetSummaryList = v
5649	return s
5650}
5651
5652// SetNextToken sets the NextToken field's value.
5653func (s *ListFleetsOutput) SetNextToken(v string) *ListFleetsOutput {
5654	s.NextToken = &v
5655	return s
5656}
5657
5658type ListTagsForResourceInput struct {
5659	_ struct{} `type:"structure" nopayload:"true"`
5660
5661	// The Amazon Resource Name (ARN) of the fleet.
5662	//
5663	// ResourceArn is a required field
5664	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"`
5665}
5666
5667// String returns the string representation.
5668//
5669// API parameter values that are decorated as "sensitive" in the API will not
5670// be included in the string output. The member name will be present, but the
5671// value will be replaced with "sensitive".
5672func (s ListTagsForResourceInput) String() string {
5673	return awsutil.Prettify(s)
5674}
5675
5676// GoString returns the string representation.
5677//
5678// API parameter values that are decorated as "sensitive" in the API will not
5679// be included in the string output. The member name will be present, but the
5680// value will be replaced with "sensitive".
5681func (s ListTagsForResourceInput) GoString() string {
5682	return s.String()
5683}
5684
5685// Validate inspects the fields of the type to determine if they are valid.
5686func (s *ListTagsForResourceInput) Validate() error {
5687	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
5688	if s.ResourceArn == nil {
5689		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
5690	}
5691	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
5692		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
5693	}
5694
5695	if invalidParams.Len() > 0 {
5696		return invalidParams
5697	}
5698	return nil
5699}
5700
5701// SetResourceArn sets the ResourceArn field's value.
5702func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
5703	s.ResourceArn = &v
5704	return s
5705}
5706
5707type ListTagsForResourceOutput struct {
5708	_ struct{} `type:"structure"`
5709
5710	// The tags attached to the resource. A tag is a key-value pair.
5711	Tags map[string]*string `min:"1" type:"map"`
5712}
5713
5714// String returns the string representation.
5715//
5716// API parameter values that are decorated as "sensitive" in the API will not
5717// be included in the string output. The member name will be present, but the
5718// value will be replaced with "sensitive".
5719func (s ListTagsForResourceOutput) String() string {
5720	return awsutil.Prettify(s)
5721}
5722
5723// GoString returns the string representation.
5724//
5725// API parameter values that are decorated as "sensitive" in the API will not
5726// be included in the string output. The member name will be present, but the
5727// value will be replaced with "sensitive".
5728func (s ListTagsForResourceOutput) GoString() string {
5729	return s.String()
5730}
5731
5732// SetTags sets the Tags field's value.
5733func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
5734	s.Tags = v
5735	return s
5736}
5737
5738type ListWebsiteAuthorizationProvidersInput struct {
5739	_ struct{} `type:"structure"`
5740
5741	// The ARN of the fleet.
5742	//
5743	// FleetArn is a required field
5744	FleetArn *string `min:"20" type:"string" required:"true"`
5745
5746	// The maximum number of results to be included in the next page.
5747	MaxResults *int64 `min:"1" type:"integer"`
5748
5749	// The pagination token to use to retrieve the next page of results for this
5750	// operation. If this value is null, it retrieves the first page.
5751	NextToken *string `min:"1" type:"string"`
5752}
5753
5754// String returns the string representation.
5755//
5756// API parameter values that are decorated as "sensitive" in the API will not
5757// be included in the string output. The member name will be present, but the
5758// value will be replaced with "sensitive".
5759func (s ListWebsiteAuthorizationProvidersInput) String() string {
5760	return awsutil.Prettify(s)
5761}
5762
5763// GoString returns the string representation.
5764//
5765// API parameter values that are decorated as "sensitive" in the API will not
5766// be included in the string output. The member name will be present, but the
5767// value will be replaced with "sensitive".
5768func (s ListWebsiteAuthorizationProvidersInput) GoString() string {
5769	return s.String()
5770}
5771
5772// Validate inspects the fields of the type to determine if they are valid.
5773func (s *ListWebsiteAuthorizationProvidersInput) Validate() error {
5774	invalidParams := request.ErrInvalidParams{Context: "ListWebsiteAuthorizationProvidersInput"}
5775	if s.FleetArn == nil {
5776		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
5777	}
5778	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
5779		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
5780	}
5781	if s.MaxResults != nil && *s.MaxResults < 1 {
5782		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5783	}
5784	if s.NextToken != nil && len(*s.NextToken) < 1 {
5785		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5786	}
5787
5788	if invalidParams.Len() > 0 {
5789		return invalidParams
5790	}
5791	return nil
5792}
5793
5794// SetFleetArn sets the FleetArn field's value.
5795func (s *ListWebsiteAuthorizationProvidersInput) SetFleetArn(v string) *ListWebsiteAuthorizationProvidersInput {
5796	s.FleetArn = &v
5797	return s
5798}
5799
5800// SetMaxResults sets the MaxResults field's value.
5801func (s *ListWebsiteAuthorizationProvidersInput) SetMaxResults(v int64) *ListWebsiteAuthorizationProvidersInput {
5802	s.MaxResults = &v
5803	return s
5804}
5805
5806// SetNextToken sets the NextToken field's value.
5807func (s *ListWebsiteAuthorizationProvidersInput) SetNextToken(v string) *ListWebsiteAuthorizationProvidersInput {
5808	s.NextToken = &v
5809	return s
5810}
5811
5812type ListWebsiteAuthorizationProvidersOutput struct {
5813	_ struct{} `type:"structure"`
5814
5815	// The pagination token to use to retrieve the next page of results for this
5816	// operation. If this value is null, it retrieves the first page.
5817	NextToken *string `min:"1" type:"string"`
5818
5819	// The website authorization providers.
5820	WebsiteAuthorizationProviders []*WebsiteAuthorizationProviderSummary `type:"list"`
5821}
5822
5823// String returns the string representation.
5824//
5825// API parameter values that are decorated as "sensitive" in the API will not
5826// be included in the string output. The member name will be present, but the
5827// value will be replaced with "sensitive".
5828func (s ListWebsiteAuthorizationProvidersOutput) String() string {
5829	return awsutil.Prettify(s)
5830}
5831
5832// GoString returns the string representation.
5833//
5834// API parameter values that are decorated as "sensitive" in the API will not
5835// be included in the string output. The member name will be present, but the
5836// value will be replaced with "sensitive".
5837func (s ListWebsiteAuthorizationProvidersOutput) GoString() string {
5838	return s.String()
5839}
5840
5841// SetNextToken sets the NextToken field's value.
5842func (s *ListWebsiteAuthorizationProvidersOutput) SetNextToken(v string) *ListWebsiteAuthorizationProvidersOutput {
5843	s.NextToken = &v
5844	return s
5845}
5846
5847// SetWebsiteAuthorizationProviders sets the WebsiteAuthorizationProviders field's value.
5848func (s *ListWebsiteAuthorizationProvidersOutput) SetWebsiteAuthorizationProviders(v []*WebsiteAuthorizationProviderSummary) *ListWebsiteAuthorizationProvidersOutput {
5849	s.WebsiteAuthorizationProviders = v
5850	return s
5851}
5852
5853type ListWebsiteCertificateAuthoritiesInput struct {
5854	_ struct{} `type:"structure"`
5855
5856	// The ARN of the fleet.
5857	//
5858	// FleetArn is a required field
5859	FleetArn *string `min:"20" type:"string" required:"true"`
5860
5861	// The maximum number of results to be included in the next page.
5862	MaxResults *int64 `min:"1" type:"integer"`
5863
5864	// The pagination token used to retrieve the next page of results for this operation.
5865	// If this value is null, it retrieves the first page.
5866	NextToken *string `min:"1" type:"string"`
5867}
5868
5869// String returns the string representation.
5870//
5871// API parameter values that are decorated as "sensitive" in the API will not
5872// be included in the string output. The member name will be present, but the
5873// value will be replaced with "sensitive".
5874func (s ListWebsiteCertificateAuthoritiesInput) String() string {
5875	return awsutil.Prettify(s)
5876}
5877
5878// GoString returns the string representation.
5879//
5880// API parameter values that are decorated as "sensitive" in the API will not
5881// be included in the string output. The member name will be present, but the
5882// value will be replaced with "sensitive".
5883func (s ListWebsiteCertificateAuthoritiesInput) GoString() string {
5884	return s.String()
5885}
5886
5887// Validate inspects the fields of the type to determine if they are valid.
5888func (s *ListWebsiteCertificateAuthoritiesInput) Validate() error {
5889	invalidParams := request.ErrInvalidParams{Context: "ListWebsiteCertificateAuthoritiesInput"}
5890	if s.FleetArn == nil {
5891		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
5892	}
5893	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
5894		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
5895	}
5896	if s.MaxResults != nil && *s.MaxResults < 1 {
5897		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5898	}
5899	if s.NextToken != nil && len(*s.NextToken) < 1 {
5900		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5901	}
5902
5903	if invalidParams.Len() > 0 {
5904		return invalidParams
5905	}
5906	return nil
5907}
5908
5909// SetFleetArn sets the FleetArn field's value.
5910func (s *ListWebsiteCertificateAuthoritiesInput) SetFleetArn(v string) *ListWebsiteCertificateAuthoritiesInput {
5911	s.FleetArn = &v
5912	return s
5913}
5914
5915// SetMaxResults sets the MaxResults field's value.
5916func (s *ListWebsiteCertificateAuthoritiesInput) SetMaxResults(v int64) *ListWebsiteCertificateAuthoritiesInput {
5917	s.MaxResults = &v
5918	return s
5919}
5920
5921// SetNextToken sets the NextToken field's value.
5922func (s *ListWebsiteCertificateAuthoritiesInput) SetNextToken(v string) *ListWebsiteCertificateAuthoritiesInput {
5923	s.NextToken = &v
5924	return s
5925}
5926
5927type ListWebsiteCertificateAuthoritiesOutput struct {
5928	_ struct{} `type:"structure"`
5929
5930	// The pagination token used to retrieve the next page of results for this operation.
5931	// If there are no more pages, this value is null.
5932	NextToken *string `min:"1" type:"string"`
5933
5934	// Information about the certificates.
5935	WebsiteCertificateAuthorities []*WebsiteCaSummary `type:"list"`
5936}
5937
5938// String returns the string representation.
5939//
5940// API parameter values that are decorated as "sensitive" in the API will not
5941// be included in the string output. The member name will be present, but the
5942// value will be replaced with "sensitive".
5943func (s ListWebsiteCertificateAuthoritiesOutput) String() string {
5944	return awsutil.Prettify(s)
5945}
5946
5947// GoString returns the string representation.
5948//
5949// API parameter values that are decorated as "sensitive" in the API will not
5950// be included in the string output. The member name will be present, but the
5951// value will be replaced with "sensitive".
5952func (s ListWebsiteCertificateAuthoritiesOutput) GoString() string {
5953	return s.String()
5954}
5955
5956// SetNextToken sets the NextToken field's value.
5957func (s *ListWebsiteCertificateAuthoritiesOutput) SetNextToken(v string) *ListWebsiteCertificateAuthoritiesOutput {
5958	s.NextToken = &v
5959	return s
5960}
5961
5962// SetWebsiteCertificateAuthorities sets the WebsiteCertificateAuthorities field's value.
5963func (s *ListWebsiteCertificateAuthoritiesOutput) SetWebsiteCertificateAuthorities(v []*WebsiteCaSummary) *ListWebsiteCertificateAuthoritiesOutput {
5964	s.WebsiteCertificateAuthorities = v
5965	return s
5966}
5967
5968// The resource already exists.
5969type ResourceAlreadyExistsException struct {
5970	_            struct{}                  `type:"structure"`
5971	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5972
5973	Message_ *string `locationName:"Message" type:"string"`
5974}
5975
5976// String returns the string representation.
5977//
5978// API parameter values that are decorated as "sensitive" in the API will not
5979// be included in the string output. The member name will be present, but the
5980// value will be replaced with "sensitive".
5981func (s ResourceAlreadyExistsException) String() string {
5982	return awsutil.Prettify(s)
5983}
5984
5985// GoString returns the string representation.
5986//
5987// API parameter values that are decorated as "sensitive" in the API will not
5988// be included in the string output. The member name will be present, but the
5989// value will be replaced with "sensitive".
5990func (s ResourceAlreadyExistsException) GoString() string {
5991	return s.String()
5992}
5993
5994func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
5995	return &ResourceAlreadyExistsException{
5996		RespMetadata: v,
5997	}
5998}
5999
6000// Code returns the exception type name.
6001func (s *ResourceAlreadyExistsException) Code() string {
6002	return "ResourceAlreadyExistsException"
6003}
6004
6005// Message returns the exception's message.
6006func (s *ResourceAlreadyExistsException) Message() string {
6007	if s.Message_ != nil {
6008		return *s.Message_
6009	}
6010	return ""
6011}
6012
6013// OrigErr always returns nil, satisfies awserr.Error interface.
6014func (s *ResourceAlreadyExistsException) OrigErr() error {
6015	return nil
6016}
6017
6018func (s *ResourceAlreadyExistsException) Error() string {
6019	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6020}
6021
6022// Status code returns the HTTP status code for the request's response error.
6023func (s *ResourceAlreadyExistsException) StatusCode() int {
6024	return s.RespMetadata.StatusCode
6025}
6026
6027// RequestID returns the service's response RequestID for request.
6028func (s *ResourceAlreadyExistsException) RequestID() string {
6029	return s.RespMetadata.RequestID
6030}
6031
6032// The requested resource was not found.
6033type ResourceNotFoundException struct {
6034	_            struct{}                  `type:"structure"`
6035	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6036
6037	Message_ *string `locationName:"Message" type:"string"`
6038}
6039
6040// String returns the string representation.
6041//
6042// API parameter values that are decorated as "sensitive" in the API will not
6043// be included in the string output. The member name will be present, but the
6044// value will be replaced with "sensitive".
6045func (s ResourceNotFoundException) String() string {
6046	return awsutil.Prettify(s)
6047}
6048
6049// GoString returns the string representation.
6050//
6051// API parameter values that are decorated as "sensitive" in the API will not
6052// be included in the string output. The member name will be present, but the
6053// value will be replaced with "sensitive".
6054func (s ResourceNotFoundException) GoString() string {
6055	return s.String()
6056}
6057
6058func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
6059	return &ResourceNotFoundException{
6060		RespMetadata: v,
6061	}
6062}
6063
6064// Code returns the exception type name.
6065func (s *ResourceNotFoundException) Code() string {
6066	return "ResourceNotFoundException"
6067}
6068
6069// Message returns the exception's message.
6070func (s *ResourceNotFoundException) Message() string {
6071	if s.Message_ != nil {
6072		return *s.Message_
6073	}
6074	return ""
6075}
6076
6077// OrigErr always returns nil, satisfies awserr.Error interface.
6078func (s *ResourceNotFoundException) OrigErr() error {
6079	return nil
6080}
6081
6082func (s *ResourceNotFoundException) Error() string {
6083	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6084}
6085
6086// Status code returns the HTTP status code for the request's response error.
6087func (s *ResourceNotFoundException) StatusCode() int {
6088	return s.RespMetadata.StatusCode
6089}
6090
6091// RequestID returns the service's response RequestID for request.
6092func (s *ResourceNotFoundException) RequestID() string {
6093	return s.RespMetadata.RequestID
6094}
6095
6096type RestoreDomainAccessInput struct {
6097	_ struct{} `type:"structure"`
6098
6099	// The name of the domain.
6100	//
6101	// DomainName is a required field
6102	DomainName *string `min:"1" type:"string" required:"true"`
6103
6104	// The ARN of the fleet.
6105	//
6106	// FleetArn is a required field
6107	FleetArn *string `min:"20" type:"string" required:"true"`
6108}
6109
6110// String returns the string representation.
6111//
6112// API parameter values that are decorated as "sensitive" in the API will not
6113// be included in the string output. The member name will be present, but the
6114// value will be replaced with "sensitive".
6115func (s RestoreDomainAccessInput) String() string {
6116	return awsutil.Prettify(s)
6117}
6118
6119// GoString returns the string representation.
6120//
6121// API parameter values that are decorated as "sensitive" in the API will not
6122// be included in the string output. The member name will be present, but the
6123// value will be replaced with "sensitive".
6124func (s RestoreDomainAccessInput) GoString() string {
6125	return s.String()
6126}
6127
6128// Validate inspects the fields of the type to determine if they are valid.
6129func (s *RestoreDomainAccessInput) Validate() error {
6130	invalidParams := request.ErrInvalidParams{Context: "RestoreDomainAccessInput"}
6131	if s.DomainName == nil {
6132		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6133	}
6134	if s.DomainName != nil && len(*s.DomainName) < 1 {
6135		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
6136	}
6137	if s.FleetArn == nil {
6138		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
6139	}
6140	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
6141		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
6142	}
6143
6144	if invalidParams.Len() > 0 {
6145		return invalidParams
6146	}
6147	return nil
6148}
6149
6150// SetDomainName sets the DomainName field's value.
6151func (s *RestoreDomainAccessInput) SetDomainName(v string) *RestoreDomainAccessInput {
6152	s.DomainName = &v
6153	return s
6154}
6155
6156// SetFleetArn sets the FleetArn field's value.
6157func (s *RestoreDomainAccessInput) SetFleetArn(v string) *RestoreDomainAccessInput {
6158	s.FleetArn = &v
6159	return s
6160}
6161
6162type RestoreDomainAccessOutput struct {
6163	_ struct{} `type:"structure"`
6164}
6165
6166// String returns the string representation.
6167//
6168// API parameter values that are decorated as "sensitive" in the API will not
6169// be included in the string output. The member name will be present, but the
6170// value will be replaced with "sensitive".
6171func (s RestoreDomainAccessOutput) String() string {
6172	return awsutil.Prettify(s)
6173}
6174
6175// GoString returns the string representation.
6176//
6177// API parameter values that are decorated as "sensitive" in the API will not
6178// be included in the string output. The member name will be present, but the
6179// value will be replaced with "sensitive".
6180func (s RestoreDomainAccessOutput) GoString() string {
6181	return s.String()
6182}
6183
6184type RevokeDomainAccessInput struct {
6185	_ struct{} `type:"structure"`
6186
6187	// The name of the domain.
6188	//
6189	// DomainName is a required field
6190	DomainName *string `min:"1" type:"string" required:"true"`
6191
6192	// The ARN of the fleet.
6193	//
6194	// FleetArn is a required field
6195	FleetArn *string `min:"20" type:"string" required:"true"`
6196}
6197
6198// String returns the string representation.
6199//
6200// API parameter values that are decorated as "sensitive" in the API will not
6201// be included in the string output. The member name will be present, but the
6202// value will be replaced with "sensitive".
6203func (s RevokeDomainAccessInput) String() string {
6204	return awsutil.Prettify(s)
6205}
6206
6207// GoString returns the string representation.
6208//
6209// API parameter values that are decorated as "sensitive" in the API will not
6210// be included in the string output. The member name will be present, but the
6211// value will be replaced with "sensitive".
6212func (s RevokeDomainAccessInput) GoString() string {
6213	return s.String()
6214}
6215
6216// Validate inspects the fields of the type to determine if they are valid.
6217func (s *RevokeDomainAccessInput) Validate() error {
6218	invalidParams := request.ErrInvalidParams{Context: "RevokeDomainAccessInput"}
6219	if s.DomainName == nil {
6220		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6221	}
6222	if s.DomainName != nil && len(*s.DomainName) < 1 {
6223		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
6224	}
6225	if s.FleetArn == nil {
6226		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
6227	}
6228	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
6229		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
6230	}
6231
6232	if invalidParams.Len() > 0 {
6233		return invalidParams
6234	}
6235	return nil
6236}
6237
6238// SetDomainName sets the DomainName field's value.
6239func (s *RevokeDomainAccessInput) SetDomainName(v string) *RevokeDomainAccessInput {
6240	s.DomainName = &v
6241	return s
6242}
6243
6244// SetFleetArn sets the FleetArn field's value.
6245func (s *RevokeDomainAccessInput) SetFleetArn(v string) *RevokeDomainAccessInput {
6246	s.FleetArn = &v
6247	return s
6248}
6249
6250type RevokeDomainAccessOutput struct {
6251	_ struct{} `type:"structure"`
6252}
6253
6254// String returns the string representation.
6255//
6256// API parameter values that are decorated as "sensitive" in the API will not
6257// be included in the string output. The member name will be present, but the
6258// value will be replaced with "sensitive".
6259func (s RevokeDomainAccessOutput) String() string {
6260	return awsutil.Prettify(s)
6261}
6262
6263// GoString returns the string representation.
6264//
6265// API parameter values that are decorated as "sensitive" in the API will not
6266// be included in the string output. The member name will be present, but the
6267// value will be replaced with "sensitive".
6268func (s RevokeDomainAccessOutput) GoString() string {
6269	return s.String()
6270}
6271
6272type SignOutUserInput struct {
6273	_ struct{} `type:"structure"`
6274
6275	// The ARN of the fleet.
6276	//
6277	// FleetArn is a required field
6278	FleetArn *string `min:"20" type:"string" required:"true"`
6279
6280	// The name of the user.
6281	//
6282	// Username is a required field
6283	Username *string `min:"1" type:"string" required:"true"`
6284}
6285
6286// String returns the string representation.
6287//
6288// API parameter values that are decorated as "sensitive" in the API will not
6289// be included in the string output. The member name will be present, but the
6290// value will be replaced with "sensitive".
6291func (s SignOutUserInput) String() string {
6292	return awsutil.Prettify(s)
6293}
6294
6295// GoString returns the string representation.
6296//
6297// API parameter values that are decorated as "sensitive" in the API will not
6298// be included in the string output. The member name will be present, but the
6299// value will be replaced with "sensitive".
6300func (s SignOutUserInput) GoString() string {
6301	return s.String()
6302}
6303
6304// Validate inspects the fields of the type to determine if they are valid.
6305func (s *SignOutUserInput) Validate() error {
6306	invalidParams := request.ErrInvalidParams{Context: "SignOutUserInput"}
6307	if s.FleetArn == nil {
6308		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
6309	}
6310	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
6311		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
6312	}
6313	if s.Username == nil {
6314		invalidParams.Add(request.NewErrParamRequired("Username"))
6315	}
6316	if s.Username != nil && len(*s.Username) < 1 {
6317		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
6318	}
6319
6320	if invalidParams.Len() > 0 {
6321		return invalidParams
6322	}
6323	return nil
6324}
6325
6326// SetFleetArn sets the FleetArn field's value.
6327func (s *SignOutUserInput) SetFleetArn(v string) *SignOutUserInput {
6328	s.FleetArn = &v
6329	return s
6330}
6331
6332// SetUsername sets the Username field's value.
6333func (s *SignOutUserInput) SetUsername(v string) *SignOutUserInput {
6334	s.Username = &v
6335	return s
6336}
6337
6338type SignOutUserOutput struct {
6339	_ struct{} `type:"structure"`
6340}
6341
6342// String returns the string representation.
6343//
6344// API parameter values that are decorated as "sensitive" in the API will not
6345// be included in the string output. The member name will be present, but the
6346// value will be replaced with "sensitive".
6347func (s SignOutUserOutput) String() string {
6348	return awsutil.Prettify(s)
6349}
6350
6351// GoString returns the string representation.
6352//
6353// API parameter values that are decorated as "sensitive" in the API will not
6354// be included in the string output. The member name will be present, but the
6355// value will be replaced with "sensitive".
6356func (s SignOutUserOutput) GoString() string {
6357	return s.String()
6358}
6359
6360type TagResourceInput struct {
6361	_ struct{} `type:"structure"`
6362
6363	// The Amazon Resource Name (ARN) of the fleet.
6364	//
6365	// ResourceArn is a required field
6366	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"`
6367
6368	// The tags to add to the resource. A tag is a key-value pair.
6369	//
6370	// Tags is a required field
6371	Tags map[string]*string `min:"1" type:"map" required:"true"`
6372}
6373
6374// String returns the string representation.
6375//
6376// API parameter values that are decorated as "sensitive" in the API will not
6377// be included in the string output. The member name will be present, but the
6378// value will be replaced with "sensitive".
6379func (s TagResourceInput) String() string {
6380	return awsutil.Prettify(s)
6381}
6382
6383// GoString returns the string representation.
6384//
6385// API parameter values that are decorated as "sensitive" in the API will not
6386// be included in the string output. The member name will be present, but the
6387// value will be replaced with "sensitive".
6388func (s TagResourceInput) GoString() string {
6389	return s.String()
6390}
6391
6392// Validate inspects the fields of the type to determine if they are valid.
6393func (s *TagResourceInput) Validate() error {
6394	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
6395	if s.ResourceArn == nil {
6396		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
6397	}
6398	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
6399		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
6400	}
6401	if s.Tags == nil {
6402		invalidParams.Add(request.NewErrParamRequired("Tags"))
6403	}
6404	if s.Tags != nil && len(s.Tags) < 1 {
6405		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
6406	}
6407
6408	if invalidParams.Len() > 0 {
6409		return invalidParams
6410	}
6411	return nil
6412}
6413
6414// SetResourceArn sets the ResourceArn field's value.
6415func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
6416	s.ResourceArn = &v
6417	return s
6418}
6419
6420// SetTags sets the Tags field's value.
6421func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
6422	s.Tags = v
6423	return s
6424}
6425
6426type TagResourceOutput struct {
6427	_ struct{} `type:"structure"`
6428}
6429
6430// String returns the string representation.
6431//
6432// API parameter values that are decorated as "sensitive" in the API will not
6433// be included in the string output. The member name will be present, but the
6434// value will be replaced with "sensitive".
6435func (s TagResourceOutput) String() string {
6436	return awsutil.Prettify(s)
6437}
6438
6439// GoString returns the string representation.
6440//
6441// API parameter values that are decorated as "sensitive" in the API will not
6442// be included in the string output. The member name will be present, but the
6443// value will be replaced with "sensitive".
6444func (s TagResourceOutput) GoString() string {
6445	return s.String()
6446}
6447
6448// The number of requests exceeds the limit.
6449type TooManyRequestsException struct {
6450	_            struct{}                  `type:"structure"`
6451	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6452
6453	Message_ *string `locationName:"Message" type:"string"`
6454}
6455
6456// String returns the string representation.
6457//
6458// API parameter values that are decorated as "sensitive" in the API will not
6459// be included in the string output. The member name will be present, but the
6460// value will be replaced with "sensitive".
6461func (s TooManyRequestsException) String() string {
6462	return awsutil.Prettify(s)
6463}
6464
6465// GoString returns the string representation.
6466//
6467// API parameter values that are decorated as "sensitive" in the API will not
6468// be included in the string output. The member name will be present, but the
6469// value will be replaced with "sensitive".
6470func (s TooManyRequestsException) GoString() string {
6471	return s.String()
6472}
6473
6474func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
6475	return &TooManyRequestsException{
6476		RespMetadata: v,
6477	}
6478}
6479
6480// Code returns the exception type name.
6481func (s *TooManyRequestsException) Code() string {
6482	return "TooManyRequestsException"
6483}
6484
6485// Message returns the exception's message.
6486func (s *TooManyRequestsException) Message() string {
6487	if s.Message_ != nil {
6488		return *s.Message_
6489	}
6490	return ""
6491}
6492
6493// OrigErr always returns nil, satisfies awserr.Error interface.
6494func (s *TooManyRequestsException) OrigErr() error {
6495	return nil
6496}
6497
6498func (s *TooManyRequestsException) Error() string {
6499	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6500}
6501
6502// Status code returns the HTTP status code for the request's response error.
6503func (s *TooManyRequestsException) StatusCode() int {
6504	return s.RespMetadata.StatusCode
6505}
6506
6507// RequestID returns the service's response RequestID for request.
6508func (s *TooManyRequestsException) RequestID() string {
6509	return s.RespMetadata.RequestID
6510}
6511
6512// You are not authorized to perform this action.
6513type UnauthorizedException struct {
6514	_            struct{}                  `type:"structure"`
6515	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6516
6517	Message_ *string `locationName:"Message" type:"string"`
6518}
6519
6520// String returns the string representation.
6521//
6522// API parameter values that are decorated as "sensitive" in the API will not
6523// be included in the string output. The member name will be present, but the
6524// value will be replaced with "sensitive".
6525func (s UnauthorizedException) String() string {
6526	return awsutil.Prettify(s)
6527}
6528
6529// GoString returns the string representation.
6530//
6531// API parameter values that are decorated as "sensitive" in the API will not
6532// be included in the string output. The member name will be present, but the
6533// value will be replaced with "sensitive".
6534func (s UnauthorizedException) GoString() string {
6535	return s.String()
6536}
6537
6538func newErrorUnauthorizedException(v protocol.ResponseMetadata) error {
6539	return &UnauthorizedException{
6540		RespMetadata: v,
6541	}
6542}
6543
6544// Code returns the exception type name.
6545func (s *UnauthorizedException) Code() string {
6546	return "UnauthorizedException"
6547}
6548
6549// Message returns the exception's message.
6550func (s *UnauthorizedException) Message() string {
6551	if s.Message_ != nil {
6552		return *s.Message_
6553	}
6554	return ""
6555}
6556
6557// OrigErr always returns nil, satisfies awserr.Error interface.
6558func (s *UnauthorizedException) OrigErr() error {
6559	return nil
6560}
6561
6562func (s *UnauthorizedException) Error() string {
6563	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6564}
6565
6566// Status code returns the HTTP status code for the request's response error.
6567func (s *UnauthorizedException) StatusCode() int {
6568	return s.RespMetadata.StatusCode
6569}
6570
6571// RequestID returns the service's response RequestID for request.
6572func (s *UnauthorizedException) RequestID() string {
6573	return s.RespMetadata.RequestID
6574}
6575
6576type UntagResourceInput struct {
6577	_ struct{} `type:"structure" nopayload:"true"`
6578
6579	// The Amazon Resource Name (ARN) of the fleet.
6580	//
6581	// ResourceArn is a required field
6582	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"`
6583
6584	// The list of tag keys to remove from the resource.
6585	//
6586	// TagKeys is a required field
6587	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
6588}
6589
6590// String returns the string representation.
6591//
6592// API parameter values that are decorated as "sensitive" in the API will not
6593// be included in the string output. The member name will be present, but the
6594// value will be replaced with "sensitive".
6595func (s UntagResourceInput) String() string {
6596	return awsutil.Prettify(s)
6597}
6598
6599// GoString returns the string representation.
6600//
6601// API parameter values that are decorated as "sensitive" in the API will not
6602// be included in the string output. The member name will be present, but the
6603// value will be replaced with "sensitive".
6604func (s UntagResourceInput) GoString() string {
6605	return s.String()
6606}
6607
6608// Validate inspects the fields of the type to determine if they are valid.
6609func (s *UntagResourceInput) Validate() error {
6610	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
6611	if s.ResourceArn == nil {
6612		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
6613	}
6614	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
6615		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
6616	}
6617	if s.TagKeys == nil {
6618		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
6619	}
6620	if s.TagKeys != nil && len(s.TagKeys) < 1 {
6621		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
6622	}
6623
6624	if invalidParams.Len() > 0 {
6625		return invalidParams
6626	}
6627	return nil
6628}
6629
6630// SetResourceArn sets the ResourceArn field's value.
6631func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
6632	s.ResourceArn = &v
6633	return s
6634}
6635
6636// SetTagKeys sets the TagKeys field's value.
6637func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
6638	s.TagKeys = v
6639	return s
6640}
6641
6642type UntagResourceOutput struct {
6643	_ struct{} `type:"structure"`
6644}
6645
6646// String returns the string representation.
6647//
6648// API parameter values that are decorated as "sensitive" in the API will not
6649// be included in the string output. The member name will be present, but the
6650// value will be replaced with "sensitive".
6651func (s UntagResourceOutput) String() string {
6652	return awsutil.Prettify(s)
6653}
6654
6655// GoString returns the string representation.
6656//
6657// API parameter values that are decorated as "sensitive" in the API will not
6658// be included in the string output. The member name will be present, but the
6659// value will be replaced with "sensitive".
6660func (s UntagResourceOutput) GoString() string {
6661	return s.String()
6662}
6663
6664type UpdateAuditStreamConfigurationInput struct {
6665	_ struct{} `type:"structure"`
6666
6667	// The ARN of the Amazon Kinesis data stream that receives the audit events.
6668	AuditStreamArn *string `type:"string"`
6669
6670	// The ARN of the fleet.
6671	//
6672	// FleetArn is a required field
6673	FleetArn *string `min:"20" type:"string" required:"true"`
6674}
6675
6676// String returns the string representation.
6677//
6678// API parameter values that are decorated as "sensitive" in the API will not
6679// be included in the string output. The member name will be present, but the
6680// value will be replaced with "sensitive".
6681func (s UpdateAuditStreamConfigurationInput) String() string {
6682	return awsutil.Prettify(s)
6683}
6684
6685// GoString returns the string representation.
6686//
6687// API parameter values that are decorated as "sensitive" in the API will not
6688// be included in the string output. The member name will be present, but the
6689// value will be replaced with "sensitive".
6690func (s UpdateAuditStreamConfigurationInput) GoString() string {
6691	return s.String()
6692}
6693
6694// Validate inspects the fields of the type to determine if they are valid.
6695func (s *UpdateAuditStreamConfigurationInput) Validate() error {
6696	invalidParams := request.ErrInvalidParams{Context: "UpdateAuditStreamConfigurationInput"}
6697	if s.FleetArn == nil {
6698		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
6699	}
6700	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
6701		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
6702	}
6703
6704	if invalidParams.Len() > 0 {
6705		return invalidParams
6706	}
6707	return nil
6708}
6709
6710// SetAuditStreamArn sets the AuditStreamArn field's value.
6711func (s *UpdateAuditStreamConfigurationInput) SetAuditStreamArn(v string) *UpdateAuditStreamConfigurationInput {
6712	s.AuditStreamArn = &v
6713	return s
6714}
6715
6716// SetFleetArn sets the FleetArn field's value.
6717func (s *UpdateAuditStreamConfigurationInput) SetFleetArn(v string) *UpdateAuditStreamConfigurationInput {
6718	s.FleetArn = &v
6719	return s
6720}
6721
6722type UpdateAuditStreamConfigurationOutput struct {
6723	_ struct{} `type:"structure"`
6724}
6725
6726// String returns the string representation.
6727//
6728// API parameter values that are decorated as "sensitive" in the API will not
6729// be included in the string output. The member name will be present, but the
6730// value will be replaced with "sensitive".
6731func (s UpdateAuditStreamConfigurationOutput) String() string {
6732	return awsutil.Prettify(s)
6733}
6734
6735// GoString returns the string representation.
6736//
6737// API parameter values that are decorated as "sensitive" in the API will not
6738// be included in the string output. The member name will be present, but the
6739// value will be replaced with "sensitive".
6740func (s UpdateAuditStreamConfigurationOutput) GoString() string {
6741	return s.String()
6742}
6743
6744type UpdateCompanyNetworkConfigurationInput struct {
6745	_ struct{} `type:"structure"`
6746
6747	// The ARN of the fleet.
6748	//
6749	// FleetArn is a required field
6750	FleetArn *string `min:"20" type:"string" required:"true"`
6751
6752	// The security groups associated with access to the provided subnets.
6753	//
6754	// SecurityGroupIds is a required field
6755	SecurityGroupIds []*string `type:"list" required:"true"`
6756
6757	// The subnets used for X-ENI connections from Amazon WorkLink rendering containers.
6758	//
6759	// SubnetIds is a required field
6760	SubnetIds []*string `type:"list" required:"true"`
6761
6762	// The VPC with connectivity to associated websites.
6763	//
6764	// VpcId is a required field
6765	VpcId *string `type:"string" required:"true"`
6766}
6767
6768// String returns the string representation.
6769//
6770// API parameter values that are decorated as "sensitive" in the API will not
6771// be included in the string output. The member name will be present, but the
6772// value will be replaced with "sensitive".
6773func (s UpdateCompanyNetworkConfigurationInput) String() string {
6774	return awsutil.Prettify(s)
6775}
6776
6777// GoString returns the string representation.
6778//
6779// API parameter values that are decorated as "sensitive" in the API will not
6780// be included in the string output. The member name will be present, but the
6781// value will be replaced with "sensitive".
6782func (s UpdateCompanyNetworkConfigurationInput) GoString() string {
6783	return s.String()
6784}
6785
6786// Validate inspects the fields of the type to determine if they are valid.
6787func (s *UpdateCompanyNetworkConfigurationInput) Validate() error {
6788	invalidParams := request.ErrInvalidParams{Context: "UpdateCompanyNetworkConfigurationInput"}
6789	if s.FleetArn == nil {
6790		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
6791	}
6792	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
6793		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
6794	}
6795	if s.SecurityGroupIds == nil {
6796		invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
6797	}
6798	if s.SubnetIds == nil {
6799		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
6800	}
6801	if s.VpcId == nil {
6802		invalidParams.Add(request.NewErrParamRequired("VpcId"))
6803	}
6804
6805	if invalidParams.Len() > 0 {
6806		return invalidParams
6807	}
6808	return nil
6809}
6810
6811// SetFleetArn sets the FleetArn field's value.
6812func (s *UpdateCompanyNetworkConfigurationInput) SetFleetArn(v string) *UpdateCompanyNetworkConfigurationInput {
6813	s.FleetArn = &v
6814	return s
6815}
6816
6817// SetSecurityGroupIds sets the SecurityGroupIds field's value.
6818func (s *UpdateCompanyNetworkConfigurationInput) SetSecurityGroupIds(v []*string) *UpdateCompanyNetworkConfigurationInput {
6819	s.SecurityGroupIds = v
6820	return s
6821}
6822
6823// SetSubnetIds sets the SubnetIds field's value.
6824func (s *UpdateCompanyNetworkConfigurationInput) SetSubnetIds(v []*string) *UpdateCompanyNetworkConfigurationInput {
6825	s.SubnetIds = v
6826	return s
6827}
6828
6829// SetVpcId sets the VpcId field's value.
6830func (s *UpdateCompanyNetworkConfigurationInput) SetVpcId(v string) *UpdateCompanyNetworkConfigurationInput {
6831	s.VpcId = &v
6832	return s
6833}
6834
6835type UpdateCompanyNetworkConfigurationOutput struct {
6836	_ struct{} `type:"structure"`
6837}
6838
6839// String returns the string representation.
6840//
6841// API parameter values that are decorated as "sensitive" in the API will not
6842// be included in the string output. The member name will be present, but the
6843// value will be replaced with "sensitive".
6844func (s UpdateCompanyNetworkConfigurationOutput) String() string {
6845	return awsutil.Prettify(s)
6846}
6847
6848// GoString returns the string representation.
6849//
6850// API parameter values that are decorated as "sensitive" in the API will not
6851// be included in the string output. The member name will be present, but the
6852// value will be replaced with "sensitive".
6853func (s UpdateCompanyNetworkConfigurationOutput) GoString() string {
6854	return s.String()
6855}
6856
6857type UpdateDevicePolicyConfigurationInput struct {
6858	_ struct{} `type:"structure"`
6859
6860	// The certificate chain, including intermediate certificates and the root certificate
6861	// authority certificate used to issue device certificates.
6862	DeviceCaCertificate *string `min:"1" type:"string"`
6863
6864	// The ARN of the fleet.
6865	//
6866	// FleetArn is a required field
6867	FleetArn *string `min:"20" type:"string" required:"true"`
6868}
6869
6870// String returns the string representation.
6871//
6872// API parameter values that are decorated as "sensitive" in the API will not
6873// be included in the string output. The member name will be present, but the
6874// value will be replaced with "sensitive".
6875func (s UpdateDevicePolicyConfigurationInput) String() string {
6876	return awsutil.Prettify(s)
6877}
6878
6879// GoString returns the string representation.
6880//
6881// API parameter values that are decorated as "sensitive" in the API will not
6882// be included in the string output. The member name will be present, but the
6883// value will be replaced with "sensitive".
6884func (s UpdateDevicePolicyConfigurationInput) GoString() string {
6885	return s.String()
6886}
6887
6888// Validate inspects the fields of the type to determine if they are valid.
6889func (s *UpdateDevicePolicyConfigurationInput) Validate() error {
6890	invalidParams := request.ErrInvalidParams{Context: "UpdateDevicePolicyConfigurationInput"}
6891	if s.DeviceCaCertificate != nil && len(*s.DeviceCaCertificate) < 1 {
6892		invalidParams.Add(request.NewErrParamMinLen("DeviceCaCertificate", 1))
6893	}
6894	if s.FleetArn == nil {
6895		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
6896	}
6897	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
6898		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
6899	}
6900
6901	if invalidParams.Len() > 0 {
6902		return invalidParams
6903	}
6904	return nil
6905}
6906
6907// SetDeviceCaCertificate sets the DeviceCaCertificate field's value.
6908func (s *UpdateDevicePolicyConfigurationInput) SetDeviceCaCertificate(v string) *UpdateDevicePolicyConfigurationInput {
6909	s.DeviceCaCertificate = &v
6910	return s
6911}
6912
6913// SetFleetArn sets the FleetArn field's value.
6914func (s *UpdateDevicePolicyConfigurationInput) SetFleetArn(v string) *UpdateDevicePolicyConfigurationInput {
6915	s.FleetArn = &v
6916	return s
6917}
6918
6919type UpdateDevicePolicyConfigurationOutput struct {
6920	_ struct{} `type:"structure"`
6921}
6922
6923// String returns the string representation.
6924//
6925// API parameter values that are decorated as "sensitive" in the API will not
6926// be included in the string output. The member name will be present, but the
6927// value will be replaced with "sensitive".
6928func (s UpdateDevicePolicyConfigurationOutput) String() string {
6929	return awsutil.Prettify(s)
6930}
6931
6932// GoString returns the string representation.
6933//
6934// API parameter values that are decorated as "sensitive" in the API will not
6935// be included in the string output. The member name will be present, but the
6936// value will be replaced with "sensitive".
6937func (s UpdateDevicePolicyConfigurationOutput) GoString() string {
6938	return s.String()
6939}
6940
6941type UpdateDomainMetadataInput struct {
6942	_ struct{} `type:"structure"`
6943
6944	// The name to display.
6945	DisplayName *string `type:"string"`
6946
6947	// The name of the domain.
6948	//
6949	// DomainName is a required field
6950	DomainName *string `min:"1" type:"string" required:"true"`
6951
6952	// The ARN of the fleet.
6953	//
6954	// FleetArn is a required field
6955	FleetArn *string `min:"20" type:"string" required:"true"`
6956}
6957
6958// String returns the string representation.
6959//
6960// API parameter values that are decorated as "sensitive" in the API will not
6961// be included in the string output. The member name will be present, but the
6962// value will be replaced with "sensitive".
6963func (s UpdateDomainMetadataInput) String() string {
6964	return awsutil.Prettify(s)
6965}
6966
6967// GoString returns the string representation.
6968//
6969// API parameter values that are decorated as "sensitive" in the API will not
6970// be included in the string output. The member name will be present, but the
6971// value will be replaced with "sensitive".
6972func (s UpdateDomainMetadataInput) GoString() string {
6973	return s.String()
6974}
6975
6976// Validate inspects the fields of the type to determine if they are valid.
6977func (s *UpdateDomainMetadataInput) Validate() error {
6978	invalidParams := request.ErrInvalidParams{Context: "UpdateDomainMetadataInput"}
6979	if s.DomainName == nil {
6980		invalidParams.Add(request.NewErrParamRequired("DomainName"))
6981	}
6982	if s.DomainName != nil && len(*s.DomainName) < 1 {
6983		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
6984	}
6985	if s.FleetArn == nil {
6986		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
6987	}
6988	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
6989		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
6990	}
6991
6992	if invalidParams.Len() > 0 {
6993		return invalidParams
6994	}
6995	return nil
6996}
6997
6998// SetDisplayName sets the DisplayName field's value.
6999func (s *UpdateDomainMetadataInput) SetDisplayName(v string) *UpdateDomainMetadataInput {
7000	s.DisplayName = &v
7001	return s
7002}
7003
7004// SetDomainName sets the DomainName field's value.
7005func (s *UpdateDomainMetadataInput) SetDomainName(v string) *UpdateDomainMetadataInput {
7006	s.DomainName = &v
7007	return s
7008}
7009
7010// SetFleetArn sets the FleetArn field's value.
7011func (s *UpdateDomainMetadataInput) SetFleetArn(v string) *UpdateDomainMetadataInput {
7012	s.FleetArn = &v
7013	return s
7014}
7015
7016type UpdateDomainMetadataOutput struct {
7017	_ struct{} `type:"structure"`
7018}
7019
7020// String returns the string representation.
7021//
7022// API parameter values that are decorated as "sensitive" in the API will not
7023// be included in the string output. The member name will be present, but the
7024// value will be replaced with "sensitive".
7025func (s UpdateDomainMetadataOutput) String() string {
7026	return awsutil.Prettify(s)
7027}
7028
7029// GoString returns the string representation.
7030//
7031// API parameter values that are decorated as "sensitive" in the API will not
7032// be included in the string output. The member name will be present, but the
7033// value will be replaced with "sensitive".
7034func (s UpdateDomainMetadataOutput) GoString() string {
7035	return s.String()
7036}
7037
7038type UpdateFleetMetadataInput struct {
7039	_ struct{} `type:"structure"`
7040
7041	// The fleet name to display. The existing DisplayName is unset if null is passed.
7042	DisplayName *string `type:"string"`
7043
7044	// The ARN of the fleet.
7045	//
7046	// FleetArn is a required field
7047	FleetArn *string `min:"20" type:"string" required:"true"`
7048
7049	// The option to optimize for better performance by routing traffic through
7050	// the closest AWS Region to users, which may be outside of your home Region.
7051	OptimizeForEndUserLocation *bool `type:"boolean"`
7052}
7053
7054// String returns the string representation.
7055//
7056// API parameter values that are decorated as "sensitive" in the API will not
7057// be included in the string output. The member name will be present, but the
7058// value will be replaced with "sensitive".
7059func (s UpdateFleetMetadataInput) String() string {
7060	return awsutil.Prettify(s)
7061}
7062
7063// GoString returns the string representation.
7064//
7065// API parameter values that are decorated as "sensitive" in the API will not
7066// be included in the string output. The member name will be present, but the
7067// value will be replaced with "sensitive".
7068func (s UpdateFleetMetadataInput) GoString() string {
7069	return s.String()
7070}
7071
7072// Validate inspects the fields of the type to determine if they are valid.
7073func (s *UpdateFleetMetadataInput) Validate() error {
7074	invalidParams := request.ErrInvalidParams{Context: "UpdateFleetMetadataInput"}
7075	if s.FleetArn == nil {
7076		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
7077	}
7078	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
7079		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
7080	}
7081
7082	if invalidParams.Len() > 0 {
7083		return invalidParams
7084	}
7085	return nil
7086}
7087
7088// SetDisplayName sets the DisplayName field's value.
7089func (s *UpdateFleetMetadataInput) SetDisplayName(v string) *UpdateFleetMetadataInput {
7090	s.DisplayName = &v
7091	return s
7092}
7093
7094// SetFleetArn sets the FleetArn field's value.
7095func (s *UpdateFleetMetadataInput) SetFleetArn(v string) *UpdateFleetMetadataInput {
7096	s.FleetArn = &v
7097	return s
7098}
7099
7100// SetOptimizeForEndUserLocation sets the OptimizeForEndUserLocation field's value.
7101func (s *UpdateFleetMetadataInput) SetOptimizeForEndUserLocation(v bool) *UpdateFleetMetadataInput {
7102	s.OptimizeForEndUserLocation = &v
7103	return s
7104}
7105
7106type UpdateFleetMetadataOutput struct {
7107	_ struct{} `type:"structure"`
7108}
7109
7110// String returns the string representation.
7111//
7112// API parameter values that are decorated as "sensitive" in the API will not
7113// be included in the string output. The member name will be present, but the
7114// value will be replaced with "sensitive".
7115func (s UpdateFleetMetadataOutput) String() string {
7116	return awsutil.Prettify(s)
7117}
7118
7119// GoString returns the string representation.
7120//
7121// API parameter values that are decorated as "sensitive" in the API will not
7122// be included in the string output. The member name will be present, but the
7123// value will be replaced with "sensitive".
7124func (s UpdateFleetMetadataOutput) GoString() string {
7125	return s.String()
7126}
7127
7128type UpdateIdentityProviderConfigurationInput struct {
7129	_ struct{} `type:"structure"`
7130
7131	// The ARN of the fleet.
7132	//
7133	// FleetArn is a required field
7134	FleetArn *string `min:"20" type:"string" required:"true"`
7135
7136	// The SAML metadata document provided by the customer’s identity provider.
7137	// The existing IdentityProviderSamlMetadata is unset if null is passed.
7138	IdentityProviderSamlMetadata *string `min:"1" type:"string"`
7139
7140	// The type of identity provider.
7141	//
7142	// IdentityProviderType is a required field
7143	IdentityProviderType *string `type:"string" required:"true" enum:"IdentityProviderType"`
7144}
7145
7146// String returns the string representation.
7147//
7148// API parameter values that are decorated as "sensitive" in the API will not
7149// be included in the string output. The member name will be present, but the
7150// value will be replaced with "sensitive".
7151func (s UpdateIdentityProviderConfigurationInput) String() string {
7152	return awsutil.Prettify(s)
7153}
7154
7155// GoString returns the string representation.
7156//
7157// API parameter values that are decorated as "sensitive" in the API will not
7158// be included in the string output. The member name will be present, but the
7159// value will be replaced with "sensitive".
7160func (s UpdateIdentityProviderConfigurationInput) GoString() string {
7161	return s.String()
7162}
7163
7164// Validate inspects the fields of the type to determine if they are valid.
7165func (s *UpdateIdentityProviderConfigurationInput) Validate() error {
7166	invalidParams := request.ErrInvalidParams{Context: "UpdateIdentityProviderConfigurationInput"}
7167	if s.FleetArn == nil {
7168		invalidParams.Add(request.NewErrParamRequired("FleetArn"))
7169	}
7170	if s.FleetArn != nil && len(*s.FleetArn) < 20 {
7171		invalidParams.Add(request.NewErrParamMinLen("FleetArn", 20))
7172	}
7173	if s.IdentityProviderSamlMetadata != nil && len(*s.IdentityProviderSamlMetadata) < 1 {
7174		invalidParams.Add(request.NewErrParamMinLen("IdentityProviderSamlMetadata", 1))
7175	}
7176	if s.IdentityProviderType == nil {
7177		invalidParams.Add(request.NewErrParamRequired("IdentityProviderType"))
7178	}
7179
7180	if invalidParams.Len() > 0 {
7181		return invalidParams
7182	}
7183	return nil
7184}
7185
7186// SetFleetArn sets the FleetArn field's value.
7187func (s *UpdateIdentityProviderConfigurationInput) SetFleetArn(v string) *UpdateIdentityProviderConfigurationInput {
7188	s.FleetArn = &v
7189	return s
7190}
7191
7192// SetIdentityProviderSamlMetadata sets the IdentityProviderSamlMetadata field's value.
7193func (s *UpdateIdentityProviderConfigurationInput) SetIdentityProviderSamlMetadata(v string) *UpdateIdentityProviderConfigurationInput {
7194	s.IdentityProviderSamlMetadata = &v
7195	return s
7196}
7197
7198// SetIdentityProviderType sets the IdentityProviderType field's value.
7199func (s *UpdateIdentityProviderConfigurationInput) SetIdentityProviderType(v string) *UpdateIdentityProviderConfigurationInput {
7200	s.IdentityProviderType = &v
7201	return s
7202}
7203
7204type UpdateIdentityProviderConfigurationOutput struct {
7205	_ struct{} `type:"structure"`
7206}
7207
7208// String returns the string representation.
7209//
7210// API parameter values that are decorated as "sensitive" in the API will not
7211// be included in the string output. The member name will be present, but the
7212// value will be replaced with "sensitive".
7213func (s UpdateIdentityProviderConfigurationOutput) String() string {
7214	return awsutil.Prettify(s)
7215}
7216
7217// GoString returns the string representation.
7218//
7219// API parameter values that are decorated as "sensitive" in the API will not
7220// be included in the string output. The member name will be present, but the
7221// value will be replaced with "sensitive".
7222func (s UpdateIdentityProviderConfigurationOutput) GoString() string {
7223	return s.String()
7224}
7225
7226// The summary of the website authorization provider.
7227type WebsiteAuthorizationProviderSummary struct {
7228	_ struct{} `type:"structure"`
7229
7230	// A unique identifier for the authorization provider.
7231	AuthorizationProviderId *string `min:"1" type:"string"`
7232
7233	// The authorization provider type.
7234	//
7235	// AuthorizationProviderType is a required field
7236	AuthorizationProviderType *string `type:"string" required:"true" enum:"AuthorizationProviderType"`
7237
7238	// The time of creation.
7239	CreatedTime *time.Time `type:"timestamp"`
7240
7241	// The domain name of the authorization provider. This applies only to SAML-based
7242	// authorization providers.
7243	DomainName *string `min:"1" type:"string"`
7244}
7245
7246// String returns the string representation.
7247//
7248// API parameter values that are decorated as "sensitive" in the API will not
7249// be included in the string output. The member name will be present, but the
7250// value will be replaced with "sensitive".
7251func (s WebsiteAuthorizationProviderSummary) String() string {
7252	return awsutil.Prettify(s)
7253}
7254
7255// GoString returns the string representation.
7256//
7257// API parameter values that are decorated as "sensitive" in the API will not
7258// be included in the string output. The member name will be present, but the
7259// value will be replaced with "sensitive".
7260func (s WebsiteAuthorizationProviderSummary) GoString() string {
7261	return s.String()
7262}
7263
7264// SetAuthorizationProviderId sets the AuthorizationProviderId field's value.
7265func (s *WebsiteAuthorizationProviderSummary) SetAuthorizationProviderId(v string) *WebsiteAuthorizationProviderSummary {
7266	s.AuthorizationProviderId = &v
7267	return s
7268}
7269
7270// SetAuthorizationProviderType sets the AuthorizationProviderType field's value.
7271func (s *WebsiteAuthorizationProviderSummary) SetAuthorizationProviderType(v string) *WebsiteAuthorizationProviderSummary {
7272	s.AuthorizationProviderType = &v
7273	return s
7274}
7275
7276// SetCreatedTime sets the CreatedTime field's value.
7277func (s *WebsiteAuthorizationProviderSummary) SetCreatedTime(v time.Time) *WebsiteAuthorizationProviderSummary {
7278	s.CreatedTime = &v
7279	return s
7280}
7281
7282// SetDomainName sets the DomainName field's value.
7283func (s *WebsiteAuthorizationProviderSummary) SetDomainName(v string) *WebsiteAuthorizationProviderSummary {
7284	s.DomainName = &v
7285	return s
7286}
7287
7288// The summary of the certificate authority (CA).
7289type WebsiteCaSummary struct {
7290	_ struct{} `type:"structure"`
7291
7292	// The time when the CA was added.
7293	CreatedTime *time.Time `type:"timestamp"`
7294
7295	// The name to display.
7296	DisplayName *string `type:"string"`
7297
7298	// A unique identifier for the CA.
7299	WebsiteCaId *string `min:"1" type:"string"`
7300}
7301
7302// String returns the string representation.
7303//
7304// API parameter values that are decorated as "sensitive" in the API will not
7305// be included in the string output. The member name will be present, but the
7306// value will be replaced with "sensitive".
7307func (s WebsiteCaSummary) String() string {
7308	return awsutil.Prettify(s)
7309}
7310
7311// GoString returns the string representation.
7312//
7313// API parameter values that are decorated as "sensitive" in the API will not
7314// be included in the string output. The member name will be present, but the
7315// value will be replaced with "sensitive".
7316func (s WebsiteCaSummary) GoString() string {
7317	return s.String()
7318}
7319
7320// SetCreatedTime sets the CreatedTime field's value.
7321func (s *WebsiteCaSummary) SetCreatedTime(v time.Time) *WebsiteCaSummary {
7322	s.CreatedTime = &v
7323	return s
7324}
7325
7326// SetDisplayName sets the DisplayName field's value.
7327func (s *WebsiteCaSummary) SetDisplayName(v string) *WebsiteCaSummary {
7328	s.DisplayName = &v
7329	return s
7330}
7331
7332// SetWebsiteCaId sets the WebsiteCaId field's value.
7333func (s *WebsiteCaSummary) SetWebsiteCaId(v string) *WebsiteCaSummary {
7334	s.WebsiteCaId = &v
7335	return s
7336}
7337
7338const (
7339	// AuthorizationProviderTypeSaml is a AuthorizationProviderType enum value
7340	AuthorizationProviderTypeSaml = "SAML"
7341)
7342
7343// AuthorizationProviderType_Values returns all elements of the AuthorizationProviderType enum
7344func AuthorizationProviderType_Values() []string {
7345	return []string{
7346		AuthorizationProviderTypeSaml,
7347	}
7348}
7349
7350const (
7351	// DeviceStatusActive is a DeviceStatus enum value
7352	DeviceStatusActive = "ACTIVE"
7353
7354	// DeviceStatusSignedOut is a DeviceStatus enum value
7355	DeviceStatusSignedOut = "SIGNED_OUT"
7356)
7357
7358// DeviceStatus_Values returns all elements of the DeviceStatus enum
7359func DeviceStatus_Values() []string {
7360	return []string{
7361		DeviceStatusActive,
7362		DeviceStatusSignedOut,
7363	}
7364}
7365
7366const (
7367	// DomainStatusPendingValidation is a DomainStatus enum value
7368	DomainStatusPendingValidation = "PENDING_VALIDATION"
7369
7370	// DomainStatusAssociating is a DomainStatus enum value
7371	DomainStatusAssociating = "ASSOCIATING"
7372
7373	// DomainStatusActive is a DomainStatus enum value
7374	DomainStatusActive = "ACTIVE"
7375
7376	// DomainStatusInactive is a DomainStatus enum value
7377	DomainStatusInactive = "INACTIVE"
7378
7379	// DomainStatusDisassociating is a DomainStatus enum value
7380	DomainStatusDisassociating = "DISASSOCIATING"
7381
7382	// DomainStatusDisassociated is a DomainStatus enum value
7383	DomainStatusDisassociated = "DISASSOCIATED"
7384
7385	// DomainStatusFailedToAssociate is a DomainStatus enum value
7386	DomainStatusFailedToAssociate = "FAILED_TO_ASSOCIATE"
7387
7388	// DomainStatusFailedToDisassociate is a DomainStatus enum value
7389	DomainStatusFailedToDisassociate = "FAILED_TO_DISASSOCIATE"
7390)
7391
7392// DomainStatus_Values returns all elements of the DomainStatus enum
7393func DomainStatus_Values() []string {
7394	return []string{
7395		DomainStatusPendingValidation,
7396		DomainStatusAssociating,
7397		DomainStatusActive,
7398		DomainStatusInactive,
7399		DomainStatusDisassociating,
7400		DomainStatusDisassociated,
7401		DomainStatusFailedToAssociate,
7402		DomainStatusFailedToDisassociate,
7403	}
7404}
7405
7406const (
7407	// FleetStatusCreating is a FleetStatus enum value
7408	FleetStatusCreating = "CREATING"
7409
7410	// FleetStatusActive is a FleetStatus enum value
7411	FleetStatusActive = "ACTIVE"
7412
7413	// FleetStatusDeleting is a FleetStatus enum value
7414	FleetStatusDeleting = "DELETING"
7415
7416	// FleetStatusDeleted is a FleetStatus enum value
7417	FleetStatusDeleted = "DELETED"
7418
7419	// FleetStatusFailedToCreate is a FleetStatus enum value
7420	FleetStatusFailedToCreate = "FAILED_TO_CREATE"
7421
7422	// FleetStatusFailedToDelete is a FleetStatus enum value
7423	FleetStatusFailedToDelete = "FAILED_TO_DELETE"
7424)
7425
7426// FleetStatus_Values returns all elements of the FleetStatus enum
7427func FleetStatus_Values() []string {
7428	return []string{
7429		FleetStatusCreating,
7430		FleetStatusActive,
7431		FleetStatusDeleting,
7432		FleetStatusDeleted,
7433		FleetStatusFailedToCreate,
7434		FleetStatusFailedToDelete,
7435	}
7436}
7437
7438const (
7439	// IdentityProviderTypeSaml is a IdentityProviderType enum value
7440	IdentityProviderTypeSaml = "SAML"
7441)
7442
7443// IdentityProviderType_Values returns all elements of the IdentityProviderType enum
7444func IdentityProviderType_Values() []string {
7445	return []string{
7446		IdentityProviderTypeSaml,
7447	}
7448}
7449