1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package directoryservice
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opAcceptSharedDirectory = "AcceptSharedDirectory"
17
18// AcceptSharedDirectoryRequest generates a "aws/request.Request" representing the
19// client's request for the AcceptSharedDirectory 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 AcceptSharedDirectory for more information on using the AcceptSharedDirectory
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 AcceptSharedDirectoryRequest method.
34//    req, resp := client.AcceptSharedDirectoryRequest(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/ds-2015-04-16/AcceptSharedDirectory
42func (c *DirectoryService) AcceptSharedDirectoryRequest(input *AcceptSharedDirectoryInput) (req *request.Request, output *AcceptSharedDirectoryOutput) {
43	op := &request.Operation{
44		Name:       opAcceptSharedDirectory,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AcceptSharedDirectoryInput{}
51	}
52
53	output = &AcceptSharedDirectoryOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// AcceptSharedDirectory API operation for AWS Directory Service.
59//
60// Accepts a directory sharing request that was sent from the directory owner
61// account.
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 AWS Directory Service's
68// API operation AcceptSharedDirectory for usage and error information.
69//
70// Returned Error Types:
71//   * InvalidParameterException
72//   One or more parameters are not valid.
73//
74//   * EntityDoesNotExistException
75//   The specified entity could not be found.
76//
77//   * DirectoryAlreadySharedException
78//   The specified directory has already been shared with this AWS account.
79//
80//   * ClientException
81//   A client exception has occurred.
82//
83//   * ServiceException
84//   An exception has occurred in AWS Directory Service.
85//
86// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/AcceptSharedDirectory
87func (c *DirectoryService) AcceptSharedDirectory(input *AcceptSharedDirectoryInput) (*AcceptSharedDirectoryOutput, error) {
88	req, out := c.AcceptSharedDirectoryRequest(input)
89	return out, req.Send()
90}
91
92// AcceptSharedDirectoryWithContext is the same as AcceptSharedDirectory with the addition of
93// the ability to pass a context and additional request options.
94//
95// See AcceptSharedDirectory for details on how to use this API operation.
96//
97// The context must be non-nil and will be used for request cancellation. If
98// the context is nil a panic will occur. In the future the SDK may create
99// sub-contexts for http.Requests. See https://golang.org/pkg/context/
100// for more information on using Contexts.
101func (c *DirectoryService) AcceptSharedDirectoryWithContext(ctx aws.Context, input *AcceptSharedDirectoryInput, opts ...request.Option) (*AcceptSharedDirectoryOutput, error) {
102	req, out := c.AcceptSharedDirectoryRequest(input)
103	req.SetContext(ctx)
104	req.ApplyOptions(opts...)
105	return out, req.Send()
106}
107
108const opAddIpRoutes = "AddIpRoutes"
109
110// AddIpRoutesRequest generates a "aws/request.Request" representing the
111// client's request for the AddIpRoutes operation. The "output" return
112// value will be populated with the request's response once the request completes
113// successfully.
114//
115// Use "Send" method on the returned Request to send the API call to the service.
116// the "output" return value is not valid until after Send returns without error.
117//
118// See AddIpRoutes for more information on using the AddIpRoutes
119// API call, and error handling.
120//
121// This method is useful when you want to inject custom logic or configuration
122// into the SDK's request lifecycle. Such as custom headers, or retry logic.
123//
124//
125//    // Example sending a request using the AddIpRoutesRequest method.
126//    req, resp := client.AddIpRoutesRequest(params)
127//
128//    err := req.Send()
129//    if err == nil { // resp is now filled
130//        fmt.Println(resp)
131//    }
132//
133// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/AddIpRoutes
134func (c *DirectoryService) AddIpRoutesRequest(input *AddIpRoutesInput) (req *request.Request, output *AddIpRoutesOutput) {
135	op := &request.Operation{
136		Name:       opAddIpRoutes,
137		HTTPMethod: "POST",
138		HTTPPath:   "/",
139	}
140
141	if input == nil {
142		input = &AddIpRoutesInput{}
143	}
144
145	output = &AddIpRoutesOutput{}
146	req = c.newRequest(op, input, output)
147	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
148	return
149}
150
151// AddIpRoutes API operation for AWS Directory Service.
152//
153// If the DNS server for your on-premises domain uses a publicly addressable
154// IP address, you must add a CIDR address block to correctly route traffic
155// to and from your Microsoft AD on Amazon Web Services. AddIpRoutes adds this
156// address block. You can also use AddIpRoutes to facilitate routing traffic
157// that uses public IP ranges from your Microsoft AD on AWS to a peer VPC.
158//
159// Before you call AddIpRoutes, ensure that all of the required permissions
160// have been explicitly granted through a policy. For details about what permissions
161// are required to run the AddIpRoutes operation, see AWS Directory Service
162// API Permissions: Actions, Resources, and Conditions Reference (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/UsingWithDS_IAM_ResourcePermissions.html).
163//
164// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
165// with awserr.Error's Code and Message methods to get detailed information about
166// the error.
167//
168// See the AWS API reference guide for AWS Directory Service's
169// API operation AddIpRoutes for usage and error information.
170//
171// Returned Error Types:
172//   * EntityDoesNotExistException
173//   The specified entity could not be found.
174//
175//   * EntityAlreadyExistsException
176//   The specified entity already exists.
177//
178//   * InvalidParameterException
179//   One or more parameters are not valid.
180//
181//   * DirectoryUnavailableException
182//   The specified directory is unavailable or could not be found.
183//
184//   * IpRouteLimitExceededException
185//   The maximum allowed number of IP addresses was exceeded. The default limit
186//   is 100 IP address blocks.
187//
188//   * ClientException
189//   A client exception has occurred.
190//
191//   * ServiceException
192//   An exception has occurred in AWS Directory Service.
193//
194// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/AddIpRoutes
195func (c *DirectoryService) AddIpRoutes(input *AddIpRoutesInput) (*AddIpRoutesOutput, error) {
196	req, out := c.AddIpRoutesRequest(input)
197	return out, req.Send()
198}
199
200// AddIpRoutesWithContext is the same as AddIpRoutes with the addition of
201// the ability to pass a context and additional request options.
202//
203// See AddIpRoutes for details on how to use this API operation.
204//
205// The context must be non-nil and will be used for request cancellation. If
206// the context is nil a panic will occur. In the future the SDK may create
207// sub-contexts for http.Requests. See https://golang.org/pkg/context/
208// for more information on using Contexts.
209func (c *DirectoryService) AddIpRoutesWithContext(ctx aws.Context, input *AddIpRoutesInput, opts ...request.Option) (*AddIpRoutesOutput, error) {
210	req, out := c.AddIpRoutesRequest(input)
211	req.SetContext(ctx)
212	req.ApplyOptions(opts...)
213	return out, req.Send()
214}
215
216const opAddTagsToResource = "AddTagsToResource"
217
218// AddTagsToResourceRequest generates a "aws/request.Request" representing the
219// client's request for the AddTagsToResource operation. The "output" return
220// value will be populated with the request's response once the request completes
221// successfully.
222//
223// Use "Send" method on the returned Request to send the API call to the service.
224// the "output" return value is not valid until after Send returns without error.
225//
226// See AddTagsToResource for more information on using the AddTagsToResource
227// API call, and error handling.
228//
229// This method is useful when you want to inject custom logic or configuration
230// into the SDK's request lifecycle. Such as custom headers, or retry logic.
231//
232//
233//    // Example sending a request using the AddTagsToResourceRequest method.
234//    req, resp := client.AddTagsToResourceRequest(params)
235//
236//    err := req.Send()
237//    if err == nil { // resp is now filled
238//        fmt.Println(resp)
239//    }
240//
241// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/AddTagsToResource
242func (c *DirectoryService) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
243	op := &request.Operation{
244		Name:       opAddTagsToResource,
245		HTTPMethod: "POST",
246		HTTPPath:   "/",
247	}
248
249	if input == nil {
250		input = &AddTagsToResourceInput{}
251	}
252
253	output = &AddTagsToResourceOutput{}
254	req = c.newRequest(op, input, output)
255	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
256	return
257}
258
259// AddTagsToResource API operation for AWS Directory Service.
260//
261// Adds or overwrites one or more tags for the specified directory. Each directory
262// can have a maximum of 50 tags. Each tag consists of a key and optional value.
263// Tag keys must be unique to each resource.
264//
265// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
266// with awserr.Error's Code and Message methods to get detailed information about
267// the error.
268//
269// See the AWS API reference guide for AWS Directory Service's
270// API operation AddTagsToResource for usage and error information.
271//
272// Returned Error Types:
273//   * EntityDoesNotExistException
274//   The specified entity could not be found.
275//
276//   * InvalidParameterException
277//   One or more parameters are not valid.
278//
279//   * TagLimitExceededException
280//   The maximum allowed number of tags was exceeded.
281//
282//   * ClientException
283//   A client exception has occurred.
284//
285//   * ServiceException
286//   An exception has occurred in AWS Directory Service.
287//
288// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/AddTagsToResource
289func (c *DirectoryService) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
290	req, out := c.AddTagsToResourceRequest(input)
291	return out, req.Send()
292}
293
294// AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of
295// the ability to pass a context and additional request options.
296//
297// See AddTagsToResource for details on how to use this API operation.
298//
299// The context must be non-nil and will be used for request cancellation. If
300// the context is nil a panic will occur. In the future the SDK may create
301// sub-contexts for http.Requests. See https://golang.org/pkg/context/
302// for more information on using Contexts.
303func (c *DirectoryService) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) {
304	req, out := c.AddTagsToResourceRequest(input)
305	req.SetContext(ctx)
306	req.ApplyOptions(opts...)
307	return out, req.Send()
308}
309
310const opCancelSchemaExtension = "CancelSchemaExtension"
311
312// CancelSchemaExtensionRequest generates a "aws/request.Request" representing the
313// client's request for the CancelSchemaExtension operation. The "output" return
314// value will be populated with the request's response once the request completes
315// successfully.
316//
317// Use "Send" method on the returned Request to send the API call to the service.
318// the "output" return value is not valid until after Send returns without error.
319//
320// See CancelSchemaExtension for more information on using the CancelSchemaExtension
321// API call, and error handling.
322//
323// This method is useful when you want to inject custom logic or configuration
324// into the SDK's request lifecycle. Such as custom headers, or retry logic.
325//
326//
327//    // Example sending a request using the CancelSchemaExtensionRequest method.
328//    req, resp := client.CancelSchemaExtensionRequest(params)
329//
330//    err := req.Send()
331//    if err == nil { // resp is now filled
332//        fmt.Println(resp)
333//    }
334//
335// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CancelSchemaExtension
336func (c *DirectoryService) CancelSchemaExtensionRequest(input *CancelSchemaExtensionInput) (req *request.Request, output *CancelSchemaExtensionOutput) {
337	op := &request.Operation{
338		Name:       opCancelSchemaExtension,
339		HTTPMethod: "POST",
340		HTTPPath:   "/",
341	}
342
343	if input == nil {
344		input = &CancelSchemaExtensionInput{}
345	}
346
347	output = &CancelSchemaExtensionOutput{}
348	req = c.newRequest(op, input, output)
349	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
350	return
351}
352
353// CancelSchemaExtension API operation for AWS Directory Service.
354//
355// Cancels an in-progress schema extension to a Microsoft AD directory. Once
356// a schema extension has started replicating to all domain controllers, the
357// task can no longer be canceled. A schema extension can be canceled during
358// any of the following states; Initializing, CreatingSnapshot, and UpdatingSchema.
359//
360// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
361// with awserr.Error's Code and Message methods to get detailed information about
362// the error.
363//
364// See the AWS API reference guide for AWS Directory Service's
365// API operation CancelSchemaExtension for usage and error information.
366//
367// Returned Error Types:
368//   * EntityDoesNotExistException
369//   The specified entity could not be found.
370//
371//   * ClientException
372//   A client exception has occurred.
373//
374//   * ServiceException
375//   An exception has occurred in AWS Directory Service.
376//
377// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CancelSchemaExtension
378func (c *DirectoryService) CancelSchemaExtension(input *CancelSchemaExtensionInput) (*CancelSchemaExtensionOutput, error) {
379	req, out := c.CancelSchemaExtensionRequest(input)
380	return out, req.Send()
381}
382
383// CancelSchemaExtensionWithContext is the same as CancelSchemaExtension with the addition of
384// the ability to pass a context and additional request options.
385//
386// See CancelSchemaExtension for details on how to use this API operation.
387//
388// The context must be non-nil and will be used for request cancellation. If
389// the context is nil a panic will occur. In the future the SDK may create
390// sub-contexts for http.Requests. See https://golang.org/pkg/context/
391// for more information on using Contexts.
392func (c *DirectoryService) CancelSchemaExtensionWithContext(ctx aws.Context, input *CancelSchemaExtensionInput, opts ...request.Option) (*CancelSchemaExtensionOutput, error) {
393	req, out := c.CancelSchemaExtensionRequest(input)
394	req.SetContext(ctx)
395	req.ApplyOptions(opts...)
396	return out, req.Send()
397}
398
399const opConnectDirectory = "ConnectDirectory"
400
401// ConnectDirectoryRequest generates a "aws/request.Request" representing the
402// client's request for the ConnectDirectory operation. The "output" return
403// value will be populated with the request's response once the request completes
404// successfully.
405//
406// Use "Send" method on the returned Request to send the API call to the service.
407// the "output" return value is not valid until after Send returns without error.
408//
409// See ConnectDirectory for more information on using the ConnectDirectory
410// API call, and error handling.
411//
412// This method is useful when you want to inject custom logic or configuration
413// into the SDK's request lifecycle. Such as custom headers, or retry logic.
414//
415//
416//    // Example sending a request using the ConnectDirectoryRequest method.
417//    req, resp := client.ConnectDirectoryRequest(params)
418//
419//    err := req.Send()
420//    if err == nil { // resp is now filled
421//        fmt.Println(resp)
422//    }
423//
424// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ConnectDirectory
425func (c *DirectoryService) ConnectDirectoryRequest(input *ConnectDirectoryInput) (req *request.Request, output *ConnectDirectoryOutput) {
426	op := &request.Operation{
427		Name:       opConnectDirectory,
428		HTTPMethod: "POST",
429		HTTPPath:   "/",
430	}
431
432	if input == nil {
433		input = &ConnectDirectoryInput{}
434	}
435
436	output = &ConnectDirectoryOutput{}
437	req = c.newRequest(op, input, output)
438	return
439}
440
441// ConnectDirectory API operation for AWS Directory Service.
442//
443// Creates an AD Connector to connect to an on-premises directory.
444//
445// Before you call ConnectDirectory, ensure that all of the required permissions
446// have been explicitly granted through a policy. For details about what permissions
447// are required to run the ConnectDirectory operation, see AWS Directory Service
448// API Permissions: Actions, Resources, and Conditions Reference (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/UsingWithDS_IAM_ResourcePermissions.html).
449//
450// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
451// with awserr.Error's Code and Message methods to get detailed information about
452// the error.
453//
454// See the AWS API reference guide for AWS Directory Service's
455// API operation ConnectDirectory for usage and error information.
456//
457// Returned Error Types:
458//   * DirectoryLimitExceededException
459//   The maximum number of directories in the region has been reached. You can
460//   use the GetDirectoryLimits operation to determine your directory limits in
461//   the region.
462//
463//   * InvalidParameterException
464//   One or more parameters are not valid.
465//
466//   * ClientException
467//   A client exception has occurred.
468//
469//   * ServiceException
470//   An exception has occurred in AWS Directory Service.
471//
472// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ConnectDirectory
473func (c *DirectoryService) ConnectDirectory(input *ConnectDirectoryInput) (*ConnectDirectoryOutput, error) {
474	req, out := c.ConnectDirectoryRequest(input)
475	return out, req.Send()
476}
477
478// ConnectDirectoryWithContext is the same as ConnectDirectory with the addition of
479// the ability to pass a context and additional request options.
480//
481// See ConnectDirectory for details on how to use this API operation.
482//
483// The context must be non-nil and will be used for request cancellation. If
484// the context is nil a panic will occur. In the future the SDK may create
485// sub-contexts for http.Requests. See https://golang.org/pkg/context/
486// for more information on using Contexts.
487func (c *DirectoryService) ConnectDirectoryWithContext(ctx aws.Context, input *ConnectDirectoryInput, opts ...request.Option) (*ConnectDirectoryOutput, error) {
488	req, out := c.ConnectDirectoryRequest(input)
489	req.SetContext(ctx)
490	req.ApplyOptions(opts...)
491	return out, req.Send()
492}
493
494const opCreateAlias = "CreateAlias"
495
496// CreateAliasRequest generates a "aws/request.Request" representing the
497// client's request for the CreateAlias operation. The "output" return
498// value will be populated with the request's response once the request completes
499// successfully.
500//
501// Use "Send" method on the returned Request to send the API call to the service.
502// the "output" return value is not valid until after Send returns without error.
503//
504// See CreateAlias for more information on using the CreateAlias
505// API call, and error handling.
506//
507// This method is useful when you want to inject custom logic or configuration
508// into the SDK's request lifecycle. Such as custom headers, or retry logic.
509//
510//
511//    // Example sending a request using the CreateAliasRequest method.
512//    req, resp := client.CreateAliasRequest(params)
513//
514//    err := req.Send()
515//    if err == nil { // resp is now filled
516//        fmt.Println(resp)
517//    }
518//
519// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateAlias
520func (c *DirectoryService) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, output *CreateAliasOutput) {
521	op := &request.Operation{
522		Name:       opCreateAlias,
523		HTTPMethod: "POST",
524		HTTPPath:   "/",
525	}
526
527	if input == nil {
528		input = &CreateAliasInput{}
529	}
530
531	output = &CreateAliasOutput{}
532	req = c.newRequest(op, input, output)
533	return
534}
535
536// CreateAlias API operation for AWS Directory Service.
537//
538// Creates an alias for a directory and assigns the alias to the directory.
539// The alias is used to construct the access URL for the directory, such as
540// http://<alias>.awsapps.com.
541//
542// After an alias has been created, it cannot be deleted or reused, so this
543// operation should only be used when absolutely necessary.
544//
545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
546// with awserr.Error's Code and Message methods to get detailed information about
547// the error.
548//
549// See the AWS API reference guide for AWS Directory Service's
550// API operation CreateAlias for usage and error information.
551//
552// Returned Error Types:
553//   * EntityAlreadyExistsException
554//   The specified entity already exists.
555//
556//   * EntityDoesNotExistException
557//   The specified entity could not be found.
558//
559//   * InvalidParameterException
560//   One or more parameters are not valid.
561//
562//   * ClientException
563//   A client exception has occurred.
564//
565//   * ServiceException
566//   An exception has occurred in AWS Directory Service.
567//
568// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateAlias
569func (c *DirectoryService) CreateAlias(input *CreateAliasInput) (*CreateAliasOutput, error) {
570	req, out := c.CreateAliasRequest(input)
571	return out, req.Send()
572}
573
574// CreateAliasWithContext is the same as CreateAlias with the addition of
575// the ability to pass a context and additional request options.
576//
577// See CreateAlias for details on how to use this API operation.
578//
579// The context must be non-nil and will be used for request cancellation. If
580// the context is nil a panic will occur. In the future the SDK may create
581// sub-contexts for http.Requests. See https://golang.org/pkg/context/
582// for more information on using Contexts.
583func (c *DirectoryService) CreateAliasWithContext(ctx aws.Context, input *CreateAliasInput, opts ...request.Option) (*CreateAliasOutput, error) {
584	req, out := c.CreateAliasRequest(input)
585	req.SetContext(ctx)
586	req.ApplyOptions(opts...)
587	return out, req.Send()
588}
589
590const opCreateComputer = "CreateComputer"
591
592// CreateComputerRequest generates a "aws/request.Request" representing the
593// client's request for the CreateComputer operation. The "output" return
594// value will be populated with the request's response once the request completes
595// successfully.
596//
597// Use "Send" method on the returned Request to send the API call to the service.
598// the "output" return value is not valid until after Send returns without error.
599//
600// See CreateComputer for more information on using the CreateComputer
601// API call, and error handling.
602//
603// This method is useful when you want to inject custom logic or configuration
604// into the SDK's request lifecycle. Such as custom headers, or retry logic.
605//
606//
607//    // Example sending a request using the CreateComputerRequest method.
608//    req, resp := client.CreateComputerRequest(params)
609//
610//    err := req.Send()
611//    if err == nil { // resp is now filled
612//        fmt.Println(resp)
613//    }
614//
615// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateComputer
616func (c *DirectoryService) CreateComputerRequest(input *CreateComputerInput) (req *request.Request, output *CreateComputerOutput) {
617	op := &request.Operation{
618		Name:       opCreateComputer,
619		HTTPMethod: "POST",
620		HTTPPath:   "/",
621	}
622
623	if input == nil {
624		input = &CreateComputerInput{}
625	}
626
627	output = &CreateComputerOutput{}
628	req = c.newRequest(op, input, output)
629	return
630}
631
632// CreateComputer API operation for AWS Directory Service.
633//
634// Creates a computer account in the specified directory, and joins the computer
635// to the directory.
636//
637// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
638// with awserr.Error's Code and Message methods to get detailed information about
639// the error.
640//
641// See the AWS API reference guide for AWS Directory Service's
642// API operation CreateComputer for usage and error information.
643//
644// Returned Error Types:
645//   * AuthenticationFailedException
646//   An authentication error occurred.
647//
648//   * DirectoryUnavailableException
649//   The specified directory is unavailable or could not be found.
650//
651//   * EntityAlreadyExistsException
652//   The specified entity already exists.
653//
654//   * EntityDoesNotExistException
655//   The specified entity could not be found.
656//
657//   * InvalidParameterException
658//   One or more parameters are not valid.
659//
660//   * UnsupportedOperationException
661//   The operation is not supported.
662//
663//   * ClientException
664//   A client exception has occurred.
665//
666//   * ServiceException
667//   An exception has occurred in AWS Directory Service.
668//
669// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateComputer
670func (c *DirectoryService) CreateComputer(input *CreateComputerInput) (*CreateComputerOutput, error) {
671	req, out := c.CreateComputerRequest(input)
672	return out, req.Send()
673}
674
675// CreateComputerWithContext is the same as CreateComputer with the addition of
676// the ability to pass a context and additional request options.
677//
678// See CreateComputer for details on how to use this API operation.
679//
680// The context must be non-nil and will be used for request cancellation. If
681// the context is nil a panic will occur. In the future the SDK may create
682// sub-contexts for http.Requests. See https://golang.org/pkg/context/
683// for more information on using Contexts.
684func (c *DirectoryService) CreateComputerWithContext(ctx aws.Context, input *CreateComputerInput, opts ...request.Option) (*CreateComputerOutput, error) {
685	req, out := c.CreateComputerRequest(input)
686	req.SetContext(ctx)
687	req.ApplyOptions(opts...)
688	return out, req.Send()
689}
690
691const opCreateConditionalForwarder = "CreateConditionalForwarder"
692
693// CreateConditionalForwarderRequest generates a "aws/request.Request" representing the
694// client's request for the CreateConditionalForwarder operation. The "output" return
695// value will be populated with the request's response once the request completes
696// successfully.
697//
698// Use "Send" method on the returned Request to send the API call to the service.
699// the "output" return value is not valid until after Send returns without error.
700//
701// See CreateConditionalForwarder for more information on using the CreateConditionalForwarder
702// API call, and error handling.
703//
704// This method is useful when you want to inject custom logic or configuration
705// into the SDK's request lifecycle. Such as custom headers, or retry logic.
706//
707//
708//    // Example sending a request using the CreateConditionalForwarderRequest method.
709//    req, resp := client.CreateConditionalForwarderRequest(params)
710//
711//    err := req.Send()
712//    if err == nil { // resp is now filled
713//        fmt.Println(resp)
714//    }
715//
716// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateConditionalForwarder
717func (c *DirectoryService) CreateConditionalForwarderRequest(input *CreateConditionalForwarderInput) (req *request.Request, output *CreateConditionalForwarderOutput) {
718	op := &request.Operation{
719		Name:       opCreateConditionalForwarder,
720		HTTPMethod: "POST",
721		HTTPPath:   "/",
722	}
723
724	if input == nil {
725		input = &CreateConditionalForwarderInput{}
726	}
727
728	output = &CreateConditionalForwarderOutput{}
729	req = c.newRequest(op, input, output)
730	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
731	return
732}
733
734// CreateConditionalForwarder API operation for AWS Directory Service.
735//
736// Creates a conditional forwarder associated with your AWS directory. Conditional
737// forwarders are required in order to set up a trust relationship with another
738// domain. The conditional forwarder points to the trusted domain.
739//
740// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
741// with awserr.Error's Code and Message methods to get detailed information about
742// the error.
743//
744// See the AWS API reference guide for AWS Directory Service's
745// API operation CreateConditionalForwarder for usage and error information.
746//
747// Returned Error Types:
748//   * EntityAlreadyExistsException
749//   The specified entity already exists.
750//
751//   * EntityDoesNotExistException
752//   The specified entity could not be found.
753//
754//   * DirectoryUnavailableException
755//   The specified directory is unavailable or could not be found.
756//
757//   * InvalidParameterException
758//   One or more parameters are not valid.
759//
760//   * UnsupportedOperationException
761//   The operation is not supported.
762//
763//   * ClientException
764//   A client exception has occurred.
765//
766//   * ServiceException
767//   An exception has occurred in AWS Directory Service.
768//
769// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateConditionalForwarder
770func (c *DirectoryService) CreateConditionalForwarder(input *CreateConditionalForwarderInput) (*CreateConditionalForwarderOutput, error) {
771	req, out := c.CreateConditionalForwarderRequest(input)
772	return out, req.Send()
773}
774
775// CreateConditionalForwarderWithContext is the same as CreateConditionalForwarder with the addition of
776// the ability to pass a context and additional request options.
777//
778// See CreateConditionalForwarder for details on how to use this API operation.
779//
780// The context must be non-nil and will be used for request cancellation. If
781// the context is nil a panic will occur. In the future the SDK may create
782// sub-contexts for http.Requests. See https://golang.org/pkg/context/
783// for more information on using Contexts.
784func (c *DirectoryService) CreateConditionalForwarderWithContext(ctx aws.Context, input *CreateConditionalForwarderInput, opts ...request.Option) (*CreateConditionalForwarderOutput, error) {
785	req, out := c.CreateConditionalForwarderRequest(input)
786	req.SetContext(ctx)
787	req.ApplyOptions(opts...)
788	return out, req.Send()
789}
790
791const opCreateDirectory = "CreateDirectory"
792
793// CreateDirectoryRequest generates a "aws/request.Request" representing the
794// client's request for the CreateDirectory operation. The "output" return
795// value will be populated with the request's response once the request completes
796// successfully.
797//
798// Use "Send" method on the returned Request to send the API call to the service.
799// the "output" return value is not valid until after Send returns without error.
800//
801// See CreateDirectory for more information on using the CreateDirectory
802// API call, and error handling.
803//
804// This method is useful when you want to inject custom logic or configuration
805// into the SDK's request lifecycle. Such as custom headers, or retry logic.
806//
807//
808//    // Example sending a request using the CreateDirectoryRequest method.
809//    req, resp := client.CreateDirectoryRequest(params)
810//
811//    err := req.Send()
812//    if err == nil { // resp is now filled
813//        fmt.Println(resp)
814//    }
815//
816// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateDirectory
817func (c *DirectoryService) CreateDirectoryRequest(input *CreateDirectoryInput) (req *request.Request, output *CreateDirectoryOutput) {
818	op := &request.Operation{
819		Name:       opCreateDirectory,
820		HTTPMethod: "POST",
821		HTTPPath:   "/",
822	}
823
824	if input == nil {
825		input = &CreateDirectoryInput{}
826	}
827
828	output = &CreateDirectoryOutput{}
829	req = c.newRequest(op, input, output)
830	return
831}
832
833// CreateDirectory API operation for AWS Directory Service.
834//
835// Creates a Simple AD directory. For more information, see Simple Active Directory
836// (https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_simple_ad.html)
837// in the AWS Directory Service Admin Guide.
838//
839// Before you call CreateDirectory, ensure that all of the required permissions
840// have been explicitly granted through a policy. For details about what permissions
841// are required to run the CreateDirectory operation, see AWS Directory Service
842// API Permissions: Actions, Resources, and Conditions Reference (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/UsingWithDS_IAM_ResourcePermissions.html).
843//
844// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
845// with awserr.Error's Code and Message methods to get detailed information about
846// the error.
847//
848// See the AWS API reference guide for AWS Directory Service's
849// API operation CreateDirectory for usage and error information.
850//
851// Returned Error Types:
852//   * DirectoryLimitExceededException
853//   The maximum number of directories in the region has been reached. You can
854//   use the GetDirectoryLimits operation to determine your directory limits in
855//   the region.
856//
857//   * InvalidParameterException
858//   One or more parameters are not valid.
859//
860//   * ClientException
861//   A client exception has occurred.
862//
863//   * ServiceException
864//   An exception has occurred in AWS Directory Service.
865//
866// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateDirectory
867func (c *DirectoryService) CreateDirectory(input *CreateDirectoryInput) (*CreateDirectoryOutput, error) {
868	req, out := c.CreateDirectoryRequest(input)
869	return out, req.Send()
870}
871
872// CreateDirectoryWithContext is the same as CreateDirectory with the addition of
873// the ability to pass a context and additional request options.
874//
875// See CreateDirectory for details on how to use this API operation.
876//
877// The context must be non-nil and will be used for request cancellation. If
878// the context is nil a panic will occur. In the future the SDK may create
879// sub-contexts for http.Requests. See https://golang.org/pkg/context/
880// for more information on using Contexts.
881func (c *DirectoryService) CreateDirectoryWithContext(ctx aws.Context, input *CreateDirectoryInput, opts ...request.Option) (*CreateDirectoryOutput, error) {
882	req, out := c.CreateDirectoryRequest(input)
883	req.SetContext(ctx)
884	req.ApplyOptions(opts...)
885	return out, req.Send()
886}
887
888const opCreateLogSubscription = "CreateLogSubscription"
889
890// CreateLogSubscriptionRequest generates a "aws/request.Request" representing the
891// client's request for the CreateLogSubscription operation. The "output" return
892// value will be populated with the request's response once the request completes
893// successfully.
894//
895// Use "Send" method on the returned Request to send the API call to the service.
896// the "output" return value is not valid until after Send returns without error.
897//
898// See CreateLogSubscription for more information on using the CreateLogSubscription
899// API call, and error handling.
900//
901// This method is useful when you want to inject custom logic or configuration
902// into the SDK's request lifecycle. Such as custom headers, or retry logic.
903//
904//
905//    // Example sending a request using the CreateLogSubscriptionRequest method.
906//    req, resp := client.CreateLogSubscriptionRequest(params)
907//
908//    err := req.Send()
909//    if err == nil { // resp is now filled
910//        fmt.Println(resp)
911//    }
912//
913// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateLogSubscription
914func (c *DirectoryService) CreateLogSubscriptionRequest(input *CreateLogSubscriptionInput) (req *request.Request, output *CreateLogSubscriptionOutput) {
915	op := &request.Operation{
916		Name:       opCreateLogSubscription,
917		HTTPMethod: "POST",
918		HTTPPath:   "/",
919	}
920
921	if input == nil {
922		input = &CreateLogSubscriptionInput{}
923	}
924
925	output = &CreateLogSubscriptionOutput{}
926	req = c.newRequest(op, input, output)
927	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
928	return
929}
930
931// CreateLogSubscription API operation for AWS Directory Service.
932//
933// Creates a subscription to forward real-time Directory Service domain controller
934// security logs to the specified Amazon CloudWatch log group in your AWS account.
935//
936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
937// with awserr.Error's Code and Message methods to get detailed information about
938// the error.
939//
940// See the AWS API reference guide for AWS Directory Service's
941// API operation CreateLogSubscription for usage and error information.
942//
943// Returned Error Types:
944//   * EntityAlreadyExistsException
945//   The specified entity already exists.
946//
947//   * EntityDoesNotExistException
948//   The specified entity could not be found.
949//
950//   * UnsupportedOperationException
951//   The operation is not supported.
952//
953//   * InsufficientPermissionsException
954//   The account does not have sufficient permission to perform the operation.
955//
956//   * ClientException
957//   A client exception has occurred.
958//
959//   * ServiceException
960//   An exception has occurred in AWS Directory Service.
961//
962// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateLogSubscription
963func (c *DirectoryService) CreateLogSubscription(input *CreateLogSubscriptionInput) (*CreateLogSubscriptionOutput, error) {
964	req, out := c.CreateLogSubscriptionRequest(input)
965	return out, req.Send()
966}
967
968// CreateLogSubscriptionWithContext is the same as CreateLogSubscription with the addition of
969// the ability to pass a context and additional request options.
970//
971// See CreateLogSubscription for details on how to use this API operation.
972//
973// The context must be non-nil and will be used for request cancellation. If
974// the context is nil a panic will occur. In the future the SDK may create
975// sub-contexts for http.Requests. See https://golang.org/pkg/context/
976// for more information on using Contexts.
977func (c *DirectoryService) CreateLogSubscriptionWithContext(ctx aws.Context, input *CreateLogSubscriptionInput, opts ...request.Option) (*CreateLogSubscriptionOutput, error) {
978	req, out := c.CreateLogSubscriptionRequest(input)
979	req.SetContext(ctx)
980	req.ApplyOptions(opts...)
981	return out, req.Send()
982}
983
984const opCreateMicrosoftAD = "CreateMicrosoftAD"
985
986// CreateMicrosoftADRequest generates a "aws/request.Request" representing the
987// client's request for the CreateMicrosoftAD operation. The "output" return
988// value will be populated with the request's response once the request completes
989// successfully.
990//
991// Use "Send" method on the returned Request to send the API call to the service.
992// the "output" return value is not valid until after Send returns without error.
993//
994// See CreateMicrosoftAD for more information on using the CreateMicrosoftAD
995// API call, and error handling.
996//
997// This method is useful when you want to inject custom logic or configuration
998// into the SDK's request lifecycle. Such as custom headers, or retry logic.
999//
1000//
1001//    // Example sending a request using the CreateMicrosoftADRequest method.
1002//    req, resp := client.CreateMicrosoftADRequest(params)
1003//
1004//    err := req.Send()
1005//    if err == nil { // resp is now filled
1006//        fmt.Println(resp)
1007//    }
1008//
1009// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateMicrosoftAD
1010func (c *DirectoryService) CreateMicrosoftADRequest(input *CreateMicrosoftADInput) (req *request.Request, output *CreateMicrosoftADOutput) {
1011	op := &request.Operation{
1012		Name:       opCreateMicrosoftAD,
1013		HTTPMethod: "POST",
1014		HTTPPath:   "/",
1015	}
1016
1017	if input == nil {
1018		input = &CreateMicrosoftADInput{}
1019	}
1020
1021	output = &CreateMicrosoftADOutput{}
1022	req = c.newRequest(op, input, output)
1023	return
1024}
1025
1026// CreateMicrosoftAD API operation for AWS Directory Service.
1027//
1028// Creates a Microsoft AD directory in the AWS Cloud. For more information,
1029// see AWS Managed Microsoft AD (https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html)
1030// in the AWS Directory Service Admin Guide.
1031//
1032// Before you call CreateMicrosoftAD, ensure that all of the required permissions
1033// have been explicitly granted through a policy. For details about what permissions
1034// are required to run the CreateMicrosoftAD operation, see AWS Directory Service
1035// API Permissions: Actions, Resources, and Conditions Reference (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/UsingWithDS_IAM_ResourcePermissions.html).
1036//
1037// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1038// with awserr.Error's Code and Message methods to get detailed information about
1039// the error.
1040//
1041// See the AWS API reference guide for AWS Directory Service's
1042// API operation CreateMicrosoftAD for usage and error information.
1043//
1044// Returned Error Types:
1045//   * DirectoryLimitExceededException
1046//   The maximum number of directories in the region has been reached. You can
1047//   use the GetDirectoryLimits operation to determine your directory limits in
1048//   the region.
1049//
1050//   * InvalidParameterException
1051//   One or more parameters are not valid.
1052//
1053//   * ClientException
1054//   A client exception has occurred.
1055//
1056//   * ServiceException
1057//   An exception has occurred in AWS Directory Service.
1058//
1059//   * UnsupportedOperationException
1060//   The operation is not supported.
1061//
1062// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateMicrosoftAD
1063func (c *DirectoryService) CreateMicrosoftAD(input *CreateMicrosoftADInput) (*CreateMicrosoftADOutput, error) {
1064	req, out := c.CreateMicrosoftADRequest(input)
1065	return out, req.Send()
1066}
1067
1068// CreateMicrosoftADWithContext is the same as CreateMicrosoftAD with the addition of
1069// the ability to pass a context and additional request options.
1070//
1071// See CreateMicrosoftAD for details on how to use this API operation.
1072//
1073// The context must be non-nil and will be used for request cancellation. If
1074// the context is nil a panic will occur. In the future the SDK may create
1075// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1076// for more information on using Contexts.
1077func (c *DirectoryService) CreateMicrosoftADWithContext(ctx aws.Context, input *CreateMicrosoftADInput, opts ...request.Option) (*CreateMicrosoftADOutput, error) {
1078	req, out := c.CreateMicrosoftADRequest(input)
1079	req.SetContext(ctx)
1080	req.ApplyOptions(opts...)
1081	return out, req.Send()
1082}
1083
1084const opCreateSnapshot = "CreateSnapshot"
1085
1086// CreateSnapshotRequest generates a "aws/request.Request" representing the
1087// client's request for the CreateSnapshot operation. The "output" return
1088// value will be populated with the request's response once the request completes
1089// successfully.
1090//
1091// Use "Send" method on the returned Request to send the API call to the service.
1092// the "output" return value is not valid until after Send returns without error.
1093//
1094// See CreateSnapshot for more information on using the CreateSnapshot
1095// API call, and error handling.
1096//
1097// This method is useful when you want to inject custom logic or configuration
1098// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1099//
1100//
1101//    // Example sending a request using the CreateSnapshotRequest method.
1102//    req, resp := client.CreateSnapshotRequest(params)
1103//
1104//    err := req.Send()
1105//    if err == nil { // resp is now filled
1106//        fmt.Println(resp)
1107//    }
1108//
1109// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateSnapshot
1110func (c *DirectoryService) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *CreateSnapshotOutput) {
1111	op := &request.Operation{
1112		Name:       opCreateSnapshot,
1113		HTTPMethod: "POST",
1114		HTTPPath:   "/",
1115	}
1116
1117	if input == nil {
1118		input = &CreateSnapshotInput{}
1119	}
1120
1121	output = &CreateSnapshotOutput{}
1122	req = c.newRequest(op, input, output)
1123	return
1124}
1125
1126// CreateSnapshot API operation for AWS Directory Service.
1127//
1128// Creates a snapshot of a Simple AD or Microsoft AD directory in the AWS cloud.
1129//
1130// You cannot take snapshots of AD Connector directories.
1131//
1132// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1133// with awserr.Error's Code and Message methods to get detailed information about
1134// the error.
1135//
1136// See the AWS API reference guide for AWS Directory Service's
1137// API operation CreateSnapshot for usage and error information.
1138//
1139// Returned Error Types:
1140//   * EntityDoesNotExistException
1141//   The specified entity could not be found.
1142//
1143//   * InvalidParameterException
1144//   One or more parameters are not valid.
1145//
1146//   * SnapshotLimitExceededException
1147//   The maximum number of manual snapshots for the directory has been reached.
1148//   You can use the GetSnapshotLimits operation to determine the snapshot limits
1149//   for a directory.
1150//
1151//   * ClientException
1152//   A client exception has occurred.
1153//
1154//   * ServiceException
1155//   An exception has occurred in AWS Directory Service.
1156//
1157// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateSnapshot
1158func (c *DirectoryService) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapshotOutput, error) {
1159	req, out := c.CreateSnapshotRequest(input)
1160	return out, req.Send()
1161}
1162
1163// CreateSnapshotWithContext is the same as CreateSnapshot with the addition of
1164// the ability to pass a context and additional request options.
1165//
1166// See CreateSnapshot for details on how to use this API operation.
1167//
1168// The context must be non-nil and will be used for request cancellation. If
1169// the context is nil a panic will occur. In the future the SDK may create
1170// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1171// for more information on using Contexts.
1172func (c *DirectoryService) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*CreateSnapshotOutput, error) {
1173	req, out := c.CreateSnapshotRequest(input)
1174	req.SetContext(ctx)
1175	req.ApplyOptions(opts...)
1176	return out, req.Send()
1177}
1178
1179const opCreateTrust = "CreateTrust"
1180
1181// CreateTrustRequest generates a "aws/request.Request" representing the
1182// client's request for the CreateTrust operation. The "output" return
1183// value will be populated with the request's response once the request completes
1184// successfully.
1185//
1186// Use "Send" method on the returned Request to send the API call to the service.
1187// the "output" return value is not valid until after Send returns without error.
1188//
1189// See CreateTrust for more information on using the CreateTrust
1190// API call, and error handling.
1191//
1192// This method is useful when you want to inject custom logic or configuration
1193// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1194//
1195//
1196//    // Example sending a request using the CreateTrustRequest method.
1197//    req, resp := client.CreateTrustRequest(params)
1198//
1199//    err := req.Send()
1200//    if err == nil { // resp is now filled
1201//        fmt.Println(resp)
1202//    }
1203//
1204// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateTrust
1205func (c *DirectoryService) CreateTrustRequest(input *CreateTrustInput) (req *request.Request, output *CreateTrustOutput) {
1206	op := &request.Operation{
1207		Name:       opCreateTrust,
1208		HTTPMethod: "POST",
1209		HTTPPath:   "/",
1210	}
1211
1212	if input == nil {
1213		input = &CreateTrustInput{}
1214	}
1215
1216	output = &CreateTrustOutput{}
1217	req = c.newRequest(op, input, output)
1218	return
1219}
1220
1221// CreateTrust API operation for AWS Directory Service.
1222//
1223// AWS Directory Service for Microsoft Active Directory allows you to configure
1224// trust relationships. For example, you can establish a trust between your
1225// AWS Managed Microsoft AD directory, and your existing on-premises Microsoft
1226// Active Directory. This would allow you to provide users and groups access
1227// to resources in either domain, with a single set of credentials.
1228//
1229// This action initiates the creation of the AWS side of a trust relationship
1230// between an AWS Managed Microsoft AD directory and an external domain. You
1231// can create either a forest trust or an external trust.
1232//
1233// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1234// with awserr.Error's Code and Message methods to get detailed information about
1235// the error.
1236//
1237// See the AWS API reference guide for AWS Directory Service's
1238// API operation CreateTrust for usage and error information.
1239//
1240// Returned Error Types:
1241//   * EntityAlreadyExistsException
1242//   The specified entity already exists.
1243//
1244//   * EntityDoesNotExistException
1245//   The specified entity could not be found.
1246//
1247//   * InvalidParameterException
1248//   One or more parameters are not valid.
1249//
1250//   * ClientException
1251//   A client exception has occurred.
1252//
1253//   * ServiceException
1254//   An exception has occurred in AWS Directory Service.
1255//
1256//   * UnsupportedOperationException
1257//   The operation is not supported.
1258//
1259// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateTrust
1260func (c *DirectoryService) CreateTrust(input *CreateTrustInput) (*CreateTrustOutput, error) {
1261	req, out := c.CreateTrustRequest(input)
1262	return out, req.Send()
1263}
1264
1265// CreateTrustWithContext is the same as CreateTrust with the addition of
1266// the ability to pass a context and additional request options.
1267//
1268// See CreateTrust for details on how to use this API operation.
1269//
1270// The context must be non-nil and will be used for request cancellation. If
1271// the context is nil a panic will occur. In the future the SDK may create
1272// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1273// for more information on using Contexts.
1274func (c *DirectoryService) CreateTrustWithContext(ctx aws.Context, input *CreateTrustInput, opts ...request.Option) (*CreateTrustOutput, error) {
1275	req, out := c.CreateTrustRequest(input)
1276	req.SetContext(ctx)
1277	req.ApplyOptions(opts...)
1278	return out, req.Send()
1279}
1280
1281const opDeleteConditionalForwarder = "DeleteConditionalForwarder"
1282
1283// DeleteConditionalForwarderRequest generates a "aws/request.Request" representing the
1284// client's request for the DeleteConditionalForwarder operation. The "output" return
1285// value will be populated with the request's response once the request completes
1286// successfully.
1287//
1288// Use "Send" method on the returned Request to send the API call to the service.
1289// the "output" return value is not valid until after Send returns without error.
1290//
1291// See DeleteConditionalForwarder for more information on using the DeleteConditionalForwarder
1292// API call, and error handling.
1293//
1294// This method is useful when you want to inject custom logic or configuration
1295// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1296//
1297//
1298//    // Example sending a request using the DeleteConditionalForwarderRequest method.
1299//    req, resp := client.DeleteConditionalForwarderRequest(params)
1300//
1301//    err := req.Send()
1302//    if err == nil { // resp is now filled
1303//        fmt.Println(resp)
1304//    }
1305//
1306// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteConditionalForwarder
1307func (c *DirectoryService) DeleteConditionalForwarderRequest(input *DeleteConditionalForwarderInput) (req *request.Request, output *DeleteConditionalForwarderOutput) {
1308	op := &request.Operation{
1309		Name:       opDeleteConditionalForwarder,
1310		HTTPMethod: "POST",
1311		HTTPPath:   "/",
1312	}
1313
1314	if input == nil {
1315		input = &DeleteConditionalForwarderInput{}
1316	}
1317
1318	output = &DeleteConditionalForwarderOutput{}
1319	req = c.newRequest(op, input, output)
1320	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1321	return
1322}
1323
1324// DeleteConditionalForwarder API operation for AWS Directory Service.
1325//
1326// Deletes a conditional forwarder that has been set up for your AWS directory.
1327//
1328// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1329// with awserr.Error's Code and Message methods to get detailed information about
1330// the error.
1331//
1332// See the AWS API reference guide for AWS Directory Service's
1333// API operation DeleteConditionalForwarder for usage and error information.
1334//
1335// Returned Error Types:
1336//   * EntityDoesNotExistException
1337//   The specified entity could not be found.
1338//
1339//   * DirectoryUnavailableException
1340//   The specified directory is unavailable or could not be found.
1341//
1342//   * InvalidParameterException
1343//   One or more parameters are not valid.
1344//
1345//   * UnsupportedOperationException
1346//   The operation is not supported.
1347//
1348//   * ClientException
1349//   A client exception has occurred.
1350//
1351//   * ServiceException
1352//   An exception has occurred in AWS Directory Service.
1353//
1354// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteConditionalForwarder
1355func (c *DirectoryService) DeleteConditionalForwarder(input *DeleteConditionalForwarderInput) (*DeleteConditionalForwarderOutput, error) {
1356	req, out := c.DeleteConditionalForwarderRequest(input)
1357	return out, req.Send()
1358}
1359
1360// DeleteConditionalForwarderWithContext is the same as DeleteConditionalForwarder with the addition of
1361// the ability to pass a context and additional request options.
1362//
1363// See DeleteConditionalForwarder for details on how to use this API operation.
1364//
1365// The context must be non-nil and will be used for request cancellation. If
1366// the context is nil a panic will occur. In the future the SDK may create
1367// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1368// for more information on using Contexts.
1369func (c *DirectoryService) DeleteConditionalForwarderWithContext(ctx aws.Context, input *DeleteConditionalForwarderInput, opts ...request.Option) (*DeleteConditionalForwarderOutput, error) {
1370	req, out := c.DeleteConditionalForwarderRequest(input)
1371	req.SetContext(ctx)
1372	req.ApplyOptions(opts...)
1373	return out, req.Send()
1374}
1375
1376const opDeleteDirectory = "DeleteDirectory"
1377
1378// DeleteDirectoryRequest generates a "aws/request.Request" representing the
1379// client's request for the DeleteDirectory operation. The "output" return
1380// value will be populated with the request's response once the request completes
1381// successfully.
1382//
1383// Use "Send" method on the returned Request to send the API call to the service.
1384// the "output" return value is not valid until after Send returns without error.
1385//
1386// See DeleteDirectory for more information on using the DeleteDirectory
1387// API call, and error handling.
1388//
1389// This method is useful when you want to inject custom logic or configuration
1390// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1391//
1392//
1393//    // Example sending a request using the DeleteDirectoryRequest method.
1394//    req, resp := client.DeleteDirectoryRequest(params)
1395//
1396//    err := req.Send()
1397//    if err == nil { // resp is now filled
1398//        fmt.Println(resp)
1399//    }
1400//
1401// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteDirectory
1402func (c *DirectoryService) DeleteDirectoryRequest(input *DeleteDirectoryInput) (req *request.Request, output *DeleteDirectoryOutput) {
1403	op := &request.Operation{
1404		Name:       opDeleteDirectory,
1405		HTTPMethod: "POST",
1406		HTTPPath:   "/",
1407	}
1408
1409	if input == nil {
1410		input = &DeleteDirectoryInput{}
1411	}
1412
1413	output = &DeleteDirectoryOutput{}
1414	req = c.newRequest(op, input, output)
1415	return
1416}
1417
1418// DeleteDirectory API operation for AWS Directory Service.
1419//
1420// Deletes an AWS Directory Service directory.
1421//
1422// Before you call DeleteDirectory, ensure that all of the required permissions
1423// have been explicitly granted through a policy. For details about what permissions
1424// are required to run the DeleteDirectory operation, see AWS Directory Service
1425// API Permissions: Actions, Resources, and Conditions Reference (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/UsingWithDS_IAM_ResourcePermissions.html).
1426//
1427// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1428// with awserr.Error's Code and Message methods to get detailed information about
1429// the error.
1430//
1431// See the AWS API reference guide for AWS Directory Service's
1432// API operation DeleteDirectory for usage and error information.
1433//
1434// Returned Error Types:
1435//   * EntityDoesNotExistException
1436//   The specified entity could not be found.
1437//
1438//   * ClientException
1439//   A client exception has occurred.
1440//
1441//   * ServiceException
1442//   An exception has occurred in AWS Directory Service.
1443//
1444// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteDirectory
1445func (c *DirectoryService) DeleteDirectory(input *DeleteDirectoryInput) (*DeleteDirectoryOutput, error) {
1446	req, out := c.DeleteDirectoryRequest(input)
1447	return out, req.Send()
1448}
1449
1450// DeleteDirectoryWithContext is the same as DeleteDirectory with the addition of
1451// the ability to pass a context and additional request options.
1452//
1453// See DeleteDirectory for details on how to use this API operation.
1454//
1455// The context must be non-nil and will be used for request cancellation. If
1456// the context is nil a panic will occur. In the future the SDK may create
1457// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1458// for more information on using Contexts.
1459func (c *DirectoryService) DeleteDirectoryWithContext(ctx aws.Context, input *DeleteDirectoryInput, opts ...request.Option) (*DeleteDirectoryOutput, error) {
1460	req, out := c.DeleteDirectoryRequest(input)
1461	req.SetContext(ctx)
1462	req.ApplyOptions(opts...)
1463	return out, req.Send()
1464}
1465
1466const opDeleteLogSubscription = "DeleteLogSubscription"
1467
1468// DeleteLogSubscriptionRequest generates a "aws/request.Request" representing the
1469// client's request for the DeleteLogSubscription operation. The "output" return
1470// value will be populated with the request's response once the request completes
1471// successfully.
1472//
1473// Use "Send" method on the returned Request to send the API call to the service.
1474// the "output" return value is not valid until after Send returns without error.
1475//
1476// See DeleteLogSubscription for more information on using the DeleteLogSubscription
1477// API call, and error handling.
1478//
1479// This method is useful when you want to inject custom logic or configuration
1480// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1481//
1482//
1483//    // Example sending a request using the DeleteLogSubscriptionRequest method.
1484//    req, resp := client.DeleteLogSubscriptionRequest(params)
1485//
1486//    err := req.Send()
1487//    if err == nil { // resp is now filled
1488//        fmt.Println(resp)
1489//    }
1490//
1491// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteLogSubscription
1492func (c *DirectoryService) DeleteLogSubscriptionRequest(input *DeleteLogSubscriptionInput) (req *request.Request, output *DeleteLogSubscriptionOutput) {
1493	op := &request.Operation{
1494		Name:       opDeleteLogSubscription,
1495		HTTPMethod: "POST",
1496		HTTPPath:   "/",
1497	}
1498
1499	if input == nil {
1500		input = &DeleteLogSubscriptionInput{}
1501	}
1502
1503	output = &DeleteLogSubscriptionOutput{}
1504	req = c.newRequest(op, input, output)
1505	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1506	return
1507}
1508
1509// DeleteLogSubscription API operation for AWS Directory Service.
1510//
1511// Deletes the specified log subscription.
1512//
1513// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1514// with awserr.Error's Code and Message methods to get detailed information about
1515// the error.
1516//
1517// See the AWS API reference guide for AWS Directory Service's
1518// API operation DeleteLogSubscription for usage and error information.
1519//
1520// Returned Error Types:
1521//   * EntityDoesNotExistException
1522//   The specified entity could not be found.
1523//
1524//   * UnsupportedOperationException
1525//   The operation is not supported.
1526//
1527//   * ClientException
1528//   A client exception has occurred.
1529//
1530//   * ServiceException
1531//   An exception has occurred in AWS Directory Service.
1532//
1533// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteLogSubscription
1534func (c *DirectoryService) DeleteLogSubscription(input *DeleteLogSubscriptionInput) (*DeleteLogSubscriptionOutput, error) {
1535	req, out := c.DeleteLogSubscriptionRequest(input)
1536	return out, req.Send()
1537}
1538
1539// DeleteLogSubscriptionWithContext is the same as DeleteLogSubscription with the addition of
1540// the ability to pass a context and additional request options.
1541//
1542// See DeleteLogSubscription for details on how to use this API operation.
1543//
1544// The context must be non-nil and will be used for request cancellation. If
1545// the context is nil a panic will occur. In the future the SDK may create
1546// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1547// for more information on using Contexts.
1548func (c *DirectoryService) DeleteLogSubscriptionWithContext(ctx aws.Context, input *DeleteLogSubscriptionInput, opts ...request.Option) (*DeleteLogSubscriptionOutput, error) {
1549	req, out := c.DeleteLogSubscriptionRequest(input)
1550	req.SetContext(ctx)
1551	req.ApplyOptions(opts...)
1552	return out, req.Send()
1553}
1554
1555const opDeleteSnapshot = "DeleteSnapshot"
1556
1557// DeleteSnapshotRequest generates a "aws/request.Request" representing the
1558// client's request for the DeleteSnapshot operation. The "output" return
1559// value will be populated with the request's response once the request completes
1560// successfully.
1561//
1562// Use "Send" method on the returned Request to send the API call to the service.
1563// the "output" return value is not valid until after Send returns without error.
1564//
1565// See DeleteSnapshot for more information on using the DeleteSnapshot
1566// API call, and error handling.
1567//
1568// This method is useful when you want to inject custom logic or configuration
1569// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1570//
1571//
1572//    // Example sending a request using the DeleteSnapshotRequest method.
1573//    req, resp := client.DeleteSnapshotRequest(params)
1574//
1575//    err := req.Send()
1576//    if err == nil { // resp is now filled
1577//        fmt.Println(resp)
1578//    }
1579//
1580// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteSnapshot
1581func (c *DirectoryService) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
1582	op := &request.Operation{
1583		Name:       opDeleteSnapshot,
1584		HTTPMethod: "POST",
1585		HTTPPath:   "/",
1586	}
1587
1588	if input == nil {
1589		input = &DeleteSnapshotInput{}
1590	}
1591
1592	output = &DeleteSnapshotOutput{}
1593	req = c.newRequest(op, input, output)
1594	return
1595}
1596
1597// DeleteSnapshot API operation for AWS Directory Service.
1598//
1599// Deletes a directory snapshot.
1600//
1601// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1602// with awserr.Error's Code and Message methods to get detailed information about
1603// the error.
1604//
1605// See the AWS API reference guide for AWS Directory Service's
1606// API operation DeleteSnapshot for usage and error information.
1607//
1608// Returned Error Types:
1609//   * EntityDoesNotExistException
1610//   The specified entity could not be found.
1611//
1612//   * InvalidParameterException
1613//   One or more parameters are not valid.
1614//
1615//   * ClientException
1616//   A client exception has occurred.
1617//
1618//   * ServiceException
1619//   An exception has occurred in AWS Directory Service.
1620//
1621// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteSnapshot
1622func (c *DirectoryService) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
1623	req, out := c.DeleteSnapshotRequest(input)
1624	return out, req.Send()
1625}
1626
1627// DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of
1628// the ability to pass a context and additional request options.
1629//
1630// See DeleteSnapshot for details on how to use this API operation.
1631//
1632// The context must be non-nil and will be used for request cancellation. If
1633// the context is nil a panic will occur. In the future the SDK may create
1634// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1635// for more information on using Contexts.
1636func (c *DirectoryService) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) {
1637	req, out := c.DeleteSnapshotRequest(input)
1638	req.SetContext(ctx)
1639	req.ApplyOptions(opts...)
1640	return out, req.Send()
1641}
1642
1643const opDeleteTrust = "DeleteTrust"
1644
1645// DeleteTrustRequest generates a "aws/request.Request" representing the
1646// client's request for the DeleteTrust operation. The "output" return
1647// value will be populated with the request's response once the request completes
1648// successfully.
1649//
1650// Use "Send" method on the returned Request to send the API call to the service.
1651// the "output" return value is not valid until after Send returns without error.
1652//
1653// See DeleteTrust for more information on using the DeleteTrust
1654// API call, and error handling.
1655//
1656// This method is useful when you want to inject custom logic or configuration
1657// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1658//
1659//
1660//    // Example sending a request using the DeleteTrustRequest method.
1661//    req, resp := client.DeleteTrustRequest(params)
1662//
1663//    err := req.Send()
1664//    if err == nil { // resp is now filled
1665//        fmt.Println(resp)
1666//    }
1667//
1668// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteTrust
1669func (c *DirectoryService) DeleteTrustRequest(input *DeleteTrustInput) (req *request.Request, output *DeleteTrustOutput) {
1670	op := &request.Operation{
1671		Name:       opDeleteTrust,
1672		HTTPMethod: "POST",
1673		HTTPPath:   "/",
1674	}
1675
1676	if input == nil {
1677		input = &DeleteTrustInput{}
1678	}
1679
1680	output = &DeleteTrustOutput{}
1681	req = c.newRequest(op, input, output)
1682	return
1683}
1684
1685// DeleteTrust API operation for AWS Directory Service.
1686//
1687// Deletes an existing trust relationship between your AWS Managed Microsoft
1688// AD directory and an external domain.
1689//
1690// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1691// with awserr.Error's Code and Message methods to get detailed information about
1692// the error.
1693//
1694// See the AWS API reference guide for AWS Directory Service's
1695// API operation DeleteTrust for usage and error information.
1696//
1697// Returned Error Types:
1698//   * EntityDoesNotExistException
1699//   The specified entity could not be found.
1700//
1701//   * InvalidParameterException
1702//   One or more parameters are not valid.
1703//
1704//   * ClientException
1705//   A client exception has occurred.
1706//
1707//   * ServiceException
1708//   An exception has occurred in AWS Directory Service.
1709//
1710//   * UnsupportedOperationException
1711//   The operation is not supported.
1712//
1713// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteTrust
1714func (c *DirectoryService) DeleteTrust(input *DeleteTrustInput) (*DeleteTrustOutput, error) {
1715	req, out := c.DeleteTrustRequest(input)
1716	return out, req.Send()
1717}
1718
1719// DeleteTrustWithContext is the same as DeleteTrust with the addition of
1720// the ability to pass a context and additional request options.
1721//
1722// See DeleteTrust for details on how to use this API operation.
1723//
1724// The context must be non-nil and will be used for request cancellation. If
1725// the context is nil a panic will occur. In the future the SDK may create
1726// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1727// for more information on using Contexts.
1728func (c *DirectoryService) DeleteTrustWithContext(ctx aws.Context, input *DeleteTrustInput, opts ...request.Option) (*DeleteTrustOutput, error) {
1729	req, out := c.DeleteTrustRequest(input)
1730	req.SetContext(ctx)
1731	req.ApplyOptions(opts...)
1732	return out, req.Send()
1733}
1734
1735const opDeregisterCertificate = "DeregisterCertificate"
1736
1737// DeregisterCertificateRequest generates a "aws/request.Request" representing the
1738// client's request for the DeregisterCertificate operation. The "output" return
1739// value will be populated with the request's response once the request completes
1740// successfully.
1741//
1742// Use "Send" method on the returned Request to send the API call to the service.
1743// the "output" return value is not valid until after Send returns without error.
1744//
1745// See DeregisterCertificate for more information on using the DeregisterCertificate
1746// API call, and error handling.
1747//
1748// This method is useful when you want to inject custom logic or configuration
1749// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1750//
1751//
1752//    // Example sending a request using the DeregisterCertificateRequest method.
1753//    req, resp := client.DeregisterCertificateRequest(params)
1754//
1755//    err := req.Send()
1756//    if err == nil { // resp is now filled
1757//        fmt.Println(resp)
1758//    }
1759//
1760// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeregisterCertificate
1761func (c *DirectoryService) DeregisterCertificateRequest(input *DeregisterCertificateInput) (req *request.Request, output *DeregisterCertificateOutput) {
1762	op := &request.Operation{
1763		Name:       opDeregisterCertificate,
1764		HTTPMethod: "POST",
1765		HTTPPath:   "/",
1766	}
1767
1768	if input == nil {
1769		input = &DeregisterCertificateInput{}
1770	}
1771
1772	output = &DeregisterCertificateOutput{}
1773	req = c.newRequest(op, input, output)
1774	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1775	return
1776}
1777
1778// DeregisterCertificate API operation for AWS Directory Service.
1779//
1780// Deletes from the system the certificate that was registered for a secured
1781// LDAP connection.
1782//
1783// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1784// with awserr.Error's Code and Message methods to get detailed information about
1785// the error.
1786//
1787// See the AWS API reference guide for AWS Directory Service's
1788// API operation DeregisterCertificate for usage and error information.
1789//
1790// Returned Error Types:
1791//   * DirectoryUnavailableException
1792//   The specified directory is unavailable or could not be found.
1793//
1794//   * DirectoryDoesNotExistException
1795//   The specified directory does not exist in the system.
1796//
1797//   * CertificateDoesNotExistException
1798//   The certificate is not present in the system for describe or deregister activities.
1799//
1800//   * CertificateInUseException
1801//   The certificate is being used for the LDAP security connection and cannot
1802//   be removed without disabling LDAP security.
1803//
1804//   * UnsupportedOperationException
1805//   The operation is not supported.
1806//
1807//   * InvalidParameterException
1808//   One or more parameters are not valid.
1809//
1810//   * ClientException
1811//   A client exception has occurred.
1812//
1813//   * ServiceException
1814//   An exception has occurred in AWS Directory Service.
1815//
1816// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeregisterCertificate
1817func (c *DirectoryService) DeregisterCertificate(input *DeregisterCertificateInput) (*DeregisterCertificateOutput, error) {
1818	req, out := c.DeregisterCertificateRequest(input)
1819	return out, req.Send()
1820}
1821
1822// DeregisterCertificateWithContext is the same as DeregisterCertificate with the addition of
1823// the ability to pass a context and additional request options.
1824//
1825// See DeregisterCertificate for details on how to use this API operation.
1826//
1827// The context must be non-nil and will be used for request cancellation. If
1828// the context is nil a panic will occur. In the future the SDK may create
1829// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1830// for more information on using Contexts.
1831func (c *DirectoryService) DeregisterCertificateWithContext(ctx aws.Context, input *DeregisterCertificateInput, opts ...request.Option) (*DeregisterCertificateOutput, error) {
1832	req, out := c.DeregisterCertificateRequest(input)
1833	req.SetContext(ctx)
1834	req.ApplyOptions(opts...)
1835	return out, req.Send()
1836}
1837
1838const opDeregisterEventTopic = "DeregisterEventTopic"
1839
1840// DeregisterEventTopicRequest generates a "aws/request.Request" representing the
1841// client's request for the DeregisterEventTopic operation. The "output" return
1842// value will be populated with the request's response once the request completes
1843// successfully.
1844//
1845// Use "Send" method on the returned Request to send the API call to the service.
1846// the "output" return value is not valid until after Send returns without error.
1847//
1848// See DeregisterEventTopic for more information on using the DeregisterEventTopic
1849// API call, and error handling.
1850//
1851// This method is useful when you want to inject custom logic or configuration
1852// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1853//
1854//
1855//    // Example sending a request using the DeregisterEventTopicRequest method.
1856//    req, resp := client.DeregisterEventTopicRequest(params)
1857//
1858//    err := req.Send()
1859//    if err == nil { // resp is now filled
1860//        fmt.Println(resp)
1861//    }
1862//
1863// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeregisterEventTopic
1864func (c *DirectoryService) DeregisterEventTopicRequest(input *DeregisterEventTopicInput) (req *request.Request, output *DeregisterEventTopicOutput) {
1865	op := &request.Operation{
1866		Name:       opDeregisterEventTopic,
1867		HTTPMethod: "POST",
1868		HTTPPath:   "/",
1869	}
1870
1871	if input == nil {
1872		input = &DeregisterEventTopicInput{}
1873	}
1874
1875	output = &DeregisterEventTopicOutput{}
1876	req = c.newRequest(op, input, output)
1877	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1878	return
1879}
1880
1881// DeregisterEventTopic API operation for AWS Directory Service.
1882//
1883// Removes the specified directory as a publisher to the specified SNS topic.
1884//
1885// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1886// with awserr.Error's Code and Message methods to get detailed information about
1887// the error.
1888//
1889// See the AWS API reference guide for AWS Directory Service's
1890// API operation DeregisterEventTopic for usage and error information.
1891//
1892// Returned Error Types:
1893//   * EntityDoesNotExistException
1894//   The specified entity could not be found.
1895//
1896//   * InvalidParameterException
1897//   One or more parameters are not valid.
1898//
1899//   * ClientException
1900//   A client exception has occurred.
1901//
1902//   * ServiceException
1903//   An exception has occurred in AWS Directory Service.
1904//
1905// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeregisterEventTopic
1906func (c *DirectoryService) DeregisterEventTopic(input *DeregisterEventTopicInput) (*DeregisterEventTopicOutput, error) {
1907	req, out := c.DeregisterEventTopicRequest(input)
1908	return out, req.Send()
1909}
1910
1911// DeregisterEventTopicWithContext is the same as DeregisterEventTopic with the addition of
1912// the ability to pass a context and additional request options.
1913//
1914// See DeregisterEventTopic for details on how to use this API operation.
1915//
1916// The context must be non-nil and will be used for request cancellation. If
1917// the context is nil a panic will occur. In the future the SDK may create
1918// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1919// for more information on using Contexts.
1920func (c *DirectoryService) DeregisterEventTopicWithContext(ctx aws.Context, input *DeregisterEventTopicInput, opts ...request.Option) (*DeregisterEventTopicOutput, error) {
1921	req, out := c.DeregisterEventTopicRequest(input)
1922	req.SetContext(ctx)
1923	req.ApplyOptions(opts...)
1924	return out, req.Send()
1925}
1926
1927const opDescribeCertificate = "DescribeCertificate"
1928
1929// DescribeCertificateRequest generates a "aws/request.Request" representing the
1930// client's request for the DescribeCertificate operation. The "output" return
1931// value will be populated with the request's response once the request completes
1932// successfully.
1933//
1934// Use "Send" method on the returned Request to send the API call to the service.
1935// the "output" return value is not valid until after Send returns without error.
1936//
1937// See DescribeCertificate for more information on using the DescribeCertificate
1938// API call, and error handling.
1939//
1940// This method is useful when you want to inject custom logic or configuration
1941// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1942//
1943//
1944//    // Example sending a request using the DescribeCertificateRequest method.
1945//    req, resp := client.DescribeCertificateRequest(params)
1946//
1947//    err := req.Send()
1948//    if err == nil { // resp is now filled
1949//        fmt.Println(resp)
1950//    }
1951//
1952// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeCertificate
1953func (c *DirectoryService) DescribeCertificateRequest(input *DescribeCertificateInput) (req *request.Request, output *DescribeCertificateOutput) {
1954	op := &request.Operation{
1955		Name:       opDescribeCertificate,
1956		HTTPMethod: "POST",
1957		HTTPPath:   "/",
1958	}
1959
1960	if input == nil {
1961		input = &DescribeCertificateInput{}
1962	}
1963
1964	output = &DescribeCertificateOutput{}
1965	req = c.newRequest(op, input, output)
1966	return
1967}
1968
1969// DescribeCertificate API operation for AWS Directory Service.
1970//
1971// Displays information about the certificate registered for a secured LDAP
1972// connection.
1973//
1974// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1975// with awserr.Error's Code and Message methods to get detailed information about
1976// the error.
1977//
1978// See the AWS API reference guide for AWS Directory Service's
1979// API operation DescribeCertificate for usage and error information.
1980//
1981// Returned Error Types:
1982//   * DirectoryDoesNotExistException
1983//   The specified directory does not exist in the system.
1984//
1985//   * UnsupportedOperationException
1986//   The operation is not supported.
1987//
1988//   * CertificateDoesNotExistException
1989//   The certificate is not present in the system for describe or deregister activities.
1990//
1991//   * InvalidParameterException
1992//   One or more parameters are not valid.
1993//
1994//   * ClientException
1995//   A client exception has occurred.
1996//
1997//   * ServiceException
1998//   An exception has occurred in AWS Directory Service.
1999//
2000// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeCertificate
2001func (c *DirectoryService) DescribeCertificate(input *DescribeCertificateInput) (*DescribeCertificateOutput, error) {
2002	req, out := c.DescribeCertificateRequest(input)
2003	return out, req.Send()
2004}
2005
2006// DescribeCertificateWithContext is the same as DescribeCertificate with the addition of
2007// the ability to pass a context and additional request options.
2008//
2009// See DescribeCertificate for details on how to use this API operation.
2010//
2011// The context must be non-nil and will be used for request cancellation. If
2012// the context is nil a panic will occur. In the future the SDK may create
2013// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2014// for more information on using Contexts.
2015func (c *DirectoryService) DescribeCertificateWithContext(ctx aws.Context, input *DescribeCertificateInput, opts ...request.Option) (*DescribeCertificateOutput, error) {
2016	req, out := c.DescribeCertificateRequest(input)
2017	req.SetContext(ctx)
2018	req.ApplyOptions(opts...)
2019	return out, req.Send()
2020}
2021
2022const opDescribeConditionalForwarders = "DescribeConditionalForwarders"
2023
2024// DescribeConditionalForwardersRequest generates a "aws/request.Request" representing the
2025// client's request for the DescribeConditionalForwarders operation. The "output" return
2026// value will be populated with the request's response once the request completes
2027// successfully.
2028//
2029// Use "Send" method on the returned Request to send the API call to the service.
2030// the "output" return value is not valid until after Send returns without error.
2031//
2032// See DescribeConditionalForwarders for more information on using the DescribeConditionalForwarders
2033// API call, and error handling.
2034//
2035// This method is useful when you want to inject custom logic or configuration
2036// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2037//
2038//
2039//    // Example sending a request using the DescribeConditionalForwardersRequest method.
2040//    req, resp := client.DescribeConditionalForwardersRequest(params)
2041//
2042//    err := req.Send()
2043//    if err == nil { // resp is now filled
2044//        fmt.Println(resp)
2045//    }
2046//
2047// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeConditionalForwarders
2048func (c *DirectoryService) DescribeConditionalForwardersRequest(input *DescribeConditionalForwardersInput) (req *request.Request, output *DescribeConditionalForwardersOutput) {
2049	op := &request.Operation{
2050		Name:       opDescribeConditionalForwarders,
2051		HTTPMethod: "POST",
2052		HTTPPath:   "/",
2053	}
2054
2055	if input == nil {
2056		input = &DescribeConditionalForwardersInput{}
2057	}
2058
2059	output = &DescribeConditionalForwardersOutput{}
2060	req = c.newRequest(op, input, output)
2061	return
2062}
2063
2064// DescribeConditionalForwarders API operation for AWS Directory Service.
2065//
2066// Obtains information about the conditional forwarders for this account.
2067//
2068// If no input parameters are provided for RemoteDomainNames, this request describes
2069// all conditional forwarders for the specified directory ID.
2070//
2071// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2072// with awserr.Error's Code and Message methods to get detailed information about
2073// the error.
2074//
2075// See the AWS API reference guide for AWS Directory Service's
2076// API operation DescribeConditionalForwarders for usage and error information.
2077//
2078// Returned Error Types:
2079//   * EntityDoesNotExistException
2080//   The specified entity could not be found.
2081//
2082//   * DirectoryUnavailableException
2083//   The specified directory is unavailable or could not be found.
2084//
2085//   * InvalidParameterException
2086//   One or more parameters are not valid.
2087//
2088//   * UnsupportedOperationException
2089//   The operation is not supported.
2090//
2091//   * ClientException
2092//   A client exception has occurred.
2093//
2094//   * ServiceException
2095//   An exception has occurred in AWS Directory Service.
2096//
2097// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeConditionalForwarders
2098func (c *DirectoryService) DescribeConditionalForwarders(input *DescribeConditionalForwardersInput) (*DescribeConditionalForwardersOutput, error) {
2099	req, out := c.DescribeConditionalForwardersRequest(input)
2100	return out, req.Send()
2101}
2102
2103// DescribeConditionalForwardersWithContext is the same as DescribeConditionalForwarders with the addition of
2104// the ability to pass a context and additional request options.
2105//
2106// See DescribeConditionalForwarders for details on how to use this API operation.
2107//
2108// The context must be non-nil and will be used for request cancellation. If
2109// the context is nil a panic will occur. In the future the SDK may create
2110// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2111// for more information on using Contexts.
2112func (c *DirectoryService) DescribeConditionalForwardersWithContext(ctx aws.Context, input *DescribeConditionalForwardersInput, opts ...request.Option) (*DescribeConditionalForwardersOutput, error) {
2113	req, out := c.DescribeConditionalForwardersRequest(input)
2114	req.SetContext(ctx)
2115	req.ApplyOptions(opts...)
2116	return out, req.Send()
2117}
2118
2119const opDescribeDirectories = "DescribeDirectories"
2120
2121// DescribeDirectoriesRequest generates a "aws/request.Request" representing the
2122// client's request for the DescribeDirectories operation. The "output" return
2123// value will be populated with the request's response once the request completes
2124// successfully.
2125//
2126// Use "Send" method on the returned Request to send the API call to the service.
2127// the "output" return value is not valid until after Send returns without error.
2128//
2129// See DescribeDirectories for more information on using the DescribeDirectories
2130// API call, and error handling.
2131//
2132// This method is useful when you want to inject custom logic or configuration
2133// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2134//
2135//
2136//    // Example sending a request using the DescribeDirectoriesRequest method.
2137//    req, resp := client.DescribeDirectoriesRequest(params)
2138//
2139//    err := req.Send()
2140//    if err == nil { // resp is now filled
2141//        fmt.Println(resp)
2142//    }
2143//
2144// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeDirectories
2145func (c *DirectoryService) DescribeDirectoriesRequest(input *DescribeDirectoriesInput) (req *request.Request, output *DescribeDirectoriesOutput) {
2146	op := &request.Operation{
2147		Name:       opDescribeDirectories,
2148		HTTPMethod: "POST",
2149		HTTPPath:   "/",
2150	}
2151
2152	if input == nil {
2153		input = &DescribeDirectoriesInput{}
2154	}
2155
2156	output = &DescribeDirectoriesOutput{}
2157	req = c.newRequest(op, input, output)
2158	return
2159}
2160
2161// DescribeDirectories API operation for AWS Directory Service.
2162//
2163// Obtains information about the directories that belong to this account.
2164//
2165// You can retrieve information about specific directories by passing the directory
2166// identifiers in the DirectoryIds parameter. Otherwise, all directories that
2167// belong to the current account are returned.
2168//
2169// This operation supports pagination with the use of the NextToken request
2170// and response parameters. If more results are available, the DescribeDirectoriesResult.NextToken
2171// member contains a token that you pass in the next call to DescribeDirectories
2172// to retrieve the next set of items.
2173//
2174// You can also specify a maximum number of return results with the Limit parameter.
2175//
2176// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2177// with awserr.Error's Code and Message methods to get detailed information about
2178// the error.
2179//
2180// See the AWS API reference guide for AWS Directory Service's
2181// API operation DescribeDirectories for usage and error information.
2182//
2183// Returned Error Types:
2184//   * EntityDoesNotExistException
2185//   The specified entity could not be found.
2186//
2187//   * InvalidParameterException
2188//   One or more parameters are not valid.
2189//
2190//   * InvalidNextTokenException
2191//   The NextToken value is not valid.
2192//
2193//   * ClientException
2194//   A client exception has occurred.
2195//
2196//   * ServiceException
2197//   An exception has occurred in AWS Directory Service.
2198//
2199// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeDirectories
2200func (c *DirectoryService) DescribeDirectories(input *DescribeDirectoriesInput) (*DescribeDirectoriesOutput, error) {
2201	req, out := c.DescribeDirectoriesRequest(input)
2202	return out, req.Send()
2203}
2204
2205// DescribeDirectoriesWithContext is the same as DescribeDirectories with the addition of
2206// the ability to pass a context and additional request options.
2207//
2208// See DescribeDirectories for details on how to use this API operation.
2209//
2210// The context must be non-nil and will be used for request cancellation. If
2211// the context is nil a panic will occur. In the future the SDK may create
2212// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2213// for more information on using Contexts.
2214func (c *DirectoryService) DescribeDirectoriesWithContext(ctx aws.Context, input *DescribeDirectoriesInput, opts ...request.Option) (*DescribeDirectoriesOutput, error) {
2215	req, out := c.DescribeDirectoriesRequest(input)
2216	req.SetContext(ctx)
2217	req.ApplyOptions(opts...)
2218	return out, req.Send()
2219}
2220
2221const opDescribeDomainControllers = "DescribeDomainControllers"
2222
2223// DescribeDomainControllersRequest generates a "aws/request.Request" representing the
2224// client's request for the DescribeDomainControllers operation. The "output" return
2225// value will be populated with the request's response once the request completes
2226// successfully.
2227//
2228// Use "Send" method on the returned Request to send the API call to the service.
2229// the "output" return value is not valid until after Send returns without error.
2230//
2231// See DescribeDomainControllers for more information on using the DescribeDomainControllers
2232// API call, and error handling.
2233//
2234// This method is useful when you want to inject custom logic or configuration
2235// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2236//
2237//
2238//    // Example sending a request using the DescribeDomainControllersRequest method.
2239//    req, resp := client.DescribeDomainControllersRequest(params)
2240//
2241//    err := req.Send()
2242//    if err == nil { // resp is now filled
2243//        fmt.Println(resp)
2244//    }
2245//
2246// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeDomainControllers
2247func (c *DirectoryService) DescribeDomainControllersRequest(input *DescribeDomainControllersInput) (req *request.Request, output *DescribeDomainControllersOutput) {
2248	op := &request.Operation{
2249		Name:       opDescribeDomainControllers,
2250		HTTPMethod: "POST",
2251		HTTPPath:   "/",
2252		Paginator: &request.Paginator{
2253			InputTokens:     []string{"NextToken"},
2254			OutputTokens:    []string{"NextToken"},
2255			LimitToken:      "Limit",
2256			TruncationToken: "",
2257		},
2258	}
2259
2260	if input == nil {
2261		input = &DescribeDomainControllersInput{}
2262	}
2263
2264	output = &DescribeDomainControllersOutput{}
2265	req = c.newRequest(op, input, output)
2266	return
2267}
2268
2269// DescribeDomainControllers API operation for AWS Directory Service.
2270//
2271// Provides information about any domain controllers in your directory.
2272//
2273// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2274// with awserr.Error's Code and Message methods to get detailed information about
2275// the error.
2276//
2277// See the AWS API reference guide for AWS Directory Service's
2278// API operation DescribeDomainControllers for usage and error information.
2279//
2280// Returned Error Types:
2281//   * EntityDoesNotExistException
2282//   The specified entity could not be found.
2283//
2284//   * InvalidNextTokenException
2285//   The NextToken value is not valid.
2286//
2287//   * InvalidParameterException
2288//   One or more parameters are not valid.
2289//
2290//   * ClientException
2291//   A client exception has occurred.
2292//
2293//   * ServiceException
2294//   An exception has occurred in AWS Directory Service.
2295//
2296//   * UnsupportedOperationException
2297//   The operation is not supported.
2298//
2299// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeDomainControllers
2300func (c *DirectoryService) DescribeDomainControllers(input *DescribeDomainControllersInput) (*DescribeDomainControllersOutput, error) {
2301	req, out := c.DescribeDomainControllersRequest(input)
2302	return out, req.Send()
2303}
2304
2305// DescribeDomainControllersWithContext is the same as DescribeDomainControllers with the addition of
2306// the ability to pass a context and additional request options.
2307//
2308// See DescribeDomainControllers for details on how to use this API operation.
2309//
2310// The context must be non-nil and will be used for request cancellation. If
2311// the context is nil a panic will occur. In the future the SDK may create
2312// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2313// for more information on using Contexts.
2314func (c *DirectoryService) DescribeDomainControllersWithContext(ctx aws.Context, input *DescribeDomainControllersInput, opts ...request.Option) (*DescribeDomainControllersOutput, error) {
2315	req, out := c.DescribeDomainControllersRequest(input)
2316	req.SetContext(ctx)
2317	req.ApplyOptions(opts...)
2318	return out, req.Send()
2319}
2320
2321// DescribeDomainControllersPages iterates over the pages of a DescribeDomainControllers operation,
2322// calling the "fn" function with the response data for each page. To stop
2323// iterating, return false from the fn function.
2324//
2325// See DescribeDomainControllers method for more information on how to use this operation.
2326//
2327// Note: This operation can generate multiple requests to a service.
2328//
2329//    // Example iterating over at most 3 pages of a DescribeDomainControllers operation.
2330//    pageNum := 0
2331//    err := client.DescribeDomainControllersPages(params,
2332//        func(page *directoryservice.DescribeDomainControllersOutput, lastPage bool) bool {
2333//            pageNum++
2334//            fmt.Println(page)
2335//            return pageNum <= 3
2336//        })
2337//
2338func (c *DirectoryService) DescribeDomainControllersPages(input *DescribeDomainControllersInput, fn func(*DescribeDomainControllersOutput, bool) bool) error {
2339	return c.DescribeDomainControllersPagesWithContext(aws.BackgroundContext(), input, fn)
2340}
2341
2342// DescribeDomainControllersPagesWithContext same as DescribeDomainControllersPages except
2343// it takes a Context and allows setting request options on the pages.
2344//
2345// The context must be non-nil and will be used for request cancellation. If
2346// the context is nil a panic will occur. In the future the SDK may create
2347// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2348// for more information on using Contexts.
2349func (c *DirectoryService) DescribeDomainControllersPagesWithContext(ctx aws.Context, input *DescribeDomainControllersInput, fn func(*DescribeDomainControllersOutput, bool) bool, opts ...request.Option) error {
2350	p := request.Pagination{
2351		NewRequest: func() (*request.Request, error) {
2352			var inCpy *DescribeDomainControllersInput
2353			if input != nil {
2354				tmp := *input
2355				inCpy = &tmp
2356			}
2357			req, _ := c.DescribeDomainControllersRequest(inCpy)
2358			req.SetContext(ctx)
2359			req.ApplyOptions(opts...)
2360			return req, nil
2361		},
2362	}
2363
2364	for p.Next() {
2365		if !fn(p.Page().(*DescribeDomainControllersOutput), !p.HasNextPage()) {
2366			break
2367		}
2368	}
2369
2370	return p.Err()
2371}
2372
2373const opDescribeEventTopics = "DescribeEventTopics"
2374
2375// DescribeEventTopicsRequest generates a "aws/request.Request" representing the
2376// client's request for the DescribeEventTopics operation. The "output" return
2377// value will be populated with the request's response once the request completes
2378// successfully.
2379//
2380// Use "Send" method on the returned Request to send the API call to the service.
2381// the "output" return value is not valid until after Send returns without error.
2382//
2383// See DescribeEventTopics for more information on using the DescribeEventTopics
2384// API call, and error handling.
2385//
2386// This method is useful when you want to inject custom logic or configuration
2387// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2388//
2389//
2390//    // Example sending a request using the DescribeEventTopicsRequest method.
2391//    req, resp := client.DescribeEventTopicsRequest(params)
2392//
2393//    err := req.Send()
2394//    if err == nil { // resp is now filled
2395//        fmt.Println(resp)
2396//    }
2397//
2398// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeEventTopics
2399func (c *DirectoryService) DescribeEventTopicsRequest(input *DescribeEventTopicsInput) (req *request.Request, output *DescribeEventTopicsOutput) {
2400	op := &request.Operation{
2401		Name:       opDescribeEventTopics,
2402		HTTPMethod: "POST",
2403		HTTPPath:   "/",
2404	}
2405
2406	if input == nil {
2407		input = &DescribeEventTopicsInput{}
2408	}
2409
2410	output = &DescribeEventTopicsOutput{}
2411	req = c.newRequest(op, input, output)
2412	return
2413}
2414
2415// DescribeEventTopics API operation for AWS Directory Service.
2416//
2417// Obtains information about which SNS topics receive status messages from the
2418// specified directory.
2419//
2420// If no input parameters are provided, such as DirectoryId or TopicName, this
2421// request describes all of the associations in the account.
2422//
2423// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2424// with awserr.Error's Code and Message methods to get detailed information about
2425// the error.
2426//
2427// See the AWS API reference guide for AWS Directory Service's
2428// API operation DescribeEventTopics for usage and error information.
2429//
2430// Returned Error Types:
2431//   * EntityDoesNotExistException
2432//   The specified entity could not be found.
2433//
2434//   * InvalidParameterException
2435//   One or more parameters are not valid.
2436//
2437//   * ClientException
2438//   A client exception has occurred.
2439//
2440//   * ServiceException
2441//   An exception has occurred in AWS Directory Service.
2442//
2443// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeEventTopics
2444func (c *DirectoryService) DescribeEventTopics(input *DescribeEventTopicsInput) (*DescribeEventTopicsOutput, error) {
2445	req, out := c.DescribeEventTopicsRequest(input)
2446	return out, req.Send()
2447}
2448
2449// DescribeEventTopicsWithContext is the same as DescribeEventTopics with the addition of
2450// the ability to pass a context and additional request options.
2451//
2452// See DescribeEventTopics for details on how to use this API operation.
2453//
2454// The context must be non-nil and will be used for request cancellation. If
2455// the context is nil a panic will occur. In the future the SDK may create
2456// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2457// for more information on using Contexts.
2458func (c *DirectoryService) DescribeEventTopicsWithContext(ctx aws.Context, input *DescribeEventTopicsInput, opts ...request.Option) (*DescribeEventTopicsOutput, error) {
2459	req, out := c.DescribeEventTopicsRequest(input)
2460	req.SetContext(ctx)
2461	req.ApplyOptions(opts...)
2462	return out, req.Send()
2463}
2464
2465const opDescribeLDAPSSettings = "DescribeLDAPSSettings"
2466
2467// DescribeLDAPSSettingsRequest generates a "aws/request.Request" representing the
2468// client's request for the DescribeLDAPSSettings operation. The "output" return
2469// value will be populated with the request's response once the request completes
2470// successfully.
2471//
2472// Use "Send" method on the returned Request to send the API call to the service.
2473// the "output" return value is not valid until after Send returns without error.
2474//
2475// See DescribeLDAPSSettings for more information on using the DescribeLDAPSSettings
2476// API call, and error handling.
2477//
2478// This method is useful when you want to inject custom logic or configuration
2479// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2480//
2481//
2482//    // Example sending a request using the DescribeLDAPSSettingsRequest method.
2483//    req, resp := client.DescribeLDAPSSettingsRequest(params)
2484//
2485//    err := req.Send()
2486//    if err == nil { // resp is now filled
2487//        fmt.Println(resp)
2488//    }
2489//
2490// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeLDAPSSettings
2491func (c *DirectoryService) DescribeLDAPSSettingsRequest(input *DescribeLDAPSSettingsInput) (req *request.Request, output *DescribeLDAPSSettingsOutput) {
2492	op := &request.Operation{
2493		Name:       opDescribeLDAPSSettings,
2494		HTTPMethod: "POST",
2495		HTTPPath:   "/",
2496	}
2497
2498	if input == nil {
2499		input = &DescribeLDAPSSettingsInput{}
2500	}
2501
2502	output = &DescribeLDAPSSettingsOutput{}
2503	req = c.newRequest(op, input, output)
2504	return
2505}
2506
2507// DescribeLDAPSSettings API operation for AWS Directory Service.
2508//
2509// Describes the status of LDAP security for the specified directory.
2510//
2511// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2512// with awserr.Error's Code and Message methods to get detailed information about
2513// the error.
2514//
2515// See the AWS API reference guide for AWS Directory Service's
2516// API operation DescribeLDAPSSettings for usage and error information.
2517//
2518// Returned Error Types:
2519//   * DirectoryDoesNotExistException
2520//   The specified directory does not exist in the system.
2521//
2522//   * UnsupportedOperationException
2523//   The operation is not supported.
2524//
2525//   * InvalidNextTokenException
2526//   The NextToken value is not valid.
2527//
2528//   * InvalidParameterException
2529//   One or more parameters are not valid.
2530//
2531//   * ClientException
2532//   A client exception has occurred.
2533//
2534//   * ServiceException
2535//   An exception has occurred in AWS Directory Service.
2536//
2537// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeLDAPSSettings
2538func (c *DirectoryService) DescribeLDAPSSettings(input *DescribeLDAPSSettingsInput) (*DescribeLDAPSSettingsOutput, error) {
2539	req, out := c.DescribeLDAPSSettingsRequest(input)
2540	return out, req.Send()
2541}
2542
2543// DescribeLDAPSSettingsWithContext is the same as DescribeLDAPSSettings with the addition of
2544// the ability to pass a context and additional request options.
2545//
2546// See DescribeLDAPSSettings for details on how to use this API operation.
2547//
2548// The context must be non-nil and will be used for request cancellation. If
2549// the context is nil a panic will occur. In the future the SDK may create
2550// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2551// for more information on using Contexts.
2552func (c *DirectoryService) DescribeLDAPSSettingsWithContext(ctx aws.Context, input *DescribeLDAPSSettingsInput, opts ...request.Option) (*DescribeLDAPSSettingsOutput, error) {
2553	req, out := c.DescribeLDAPSSettingsRequest(input)
2554	req.SetContext(ctx)
2555	req.ApplyOptions(opts...)
2556	return out, req.Send()
2557}
2558
2559const opDescribeSharedDirectories = "DescribeSharedDirectories"
2560
2561// DescribeSharedDirectoriesRequest generates a "aws/request.Request" representing the
2562// client's request for the DescribeSharedDirectories operation. The "output" return
2563// value will be populated with the request's response once the request completes
2564// successfully.
2565//
2566// Use "Send" method on the returned Request to send the API call to the service.
2567// the "output" return value is not valid until after Send returns without error.
2568//
2569// See DescribeSharedDirectories for more information on using the DescribeSharedDirectories
2570// API call, and error handling.
2571//
2572// This method is useful when you want to inject custom logic or configuration
2573// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2574//
2575//
2576//    // Example sending a request using the DescribeSharedDirectoriesRequest method.
2577//    req, resp := client.DescribeSharedDirectoriesRequest(params)
2578//
2579//    err := req.Send()
2580//    if err == nil { // resp is now filled
2581//        fmt.Println(resp)
2582//    }
2583//
2584// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeSharedDirectories
2585func (c *DirectoryService) DescribeSharedDirectoriesRequest(input *DescribeSharedDirectoriesInput) (req *request.Request, output *DescribeSharedDirectoriesOutput) {
2586	op := &request.Operation{
2587		Name:       opDescribeSharedDirectories,
2588		HTTPMethod: "POST",
2589		HTTPPath:   "/",
2590	}
2591
2592	if input == nil {
2593		input = &DescribeSharedDirectoriesInput{}
2594	}
2595
2596	output = &DescribeSharedDirectoriesOutput{}
2597	req = c.newRequest(op, input, output)
2598	return
2599}
2600
2601// DescribeSharedDirectories API operation for AWS Directory Service.
2602//
2603// Returns the shared directories in your account.
2604//
2605// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2606// with awserr.Error's Code and Message methods to get detailed information about
2607// the error.
2608//
2609// See the AWS API reference guide for AWS Directory Service's
2610// API operation DescribeSharedDirectories for usage and error information.
2611//
2612// Returned Error Types:
2613//   * EntityDoesNotExistException
2614//   The specified entity could not be found.
2615//
2616//   * InvalidNextTokenException
2617//   The NextToken value is not valid.
2618//
2619//   * InvalidParameterException
2620//   One or more parameters are not valid.
2621//
2622//   * UnsupportedOperationException
2623//   The operation is not supported.
2624//
2625//   * ClientException
2626//   A client exception has occurred.
2627//
2628//   * ServiceException
2629//   An exception has occurred in AWS Directory Service.
2630//
2631// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeSharedDirectories
2632func (c *DirectoryService) DescribeSharedDirectories(input *DescribeSharedDirectoriesInput) (*DescribeSharedDirectoriesOutput, error) {
2633	req, out := c.DescribeSharedDirectoriesRequest(input)
2634	return out, req.Send()
2635}
2636
2637// DescribeSharedDirectoriesWithContext is the same as DescribeSharedDirectories with the addition of
2638// the ability to pass a context and additional request options.
2639//
2640// See DescribeSharedDirectories for details on how to use this API operation.
2641//
2642// The context must be non-nil and will be used for request cancellation. If
2643// the context is nil a panic will occur. In the future the SDK may create
2644// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2645// for more information on using Contexts.
2646func (c *DirectoryService) DescribeSharedDirectoriesWithContext(ctx aws.Context, input *DescribeSharedDirectoriesInput, opts ...request.Option) (*DescribeSharedDirectoriesOutput, error) {
2647	req, out := c.DescribeSharedDirectoriesRequest(input)
2648	req.SetContext(ctx)
2649	req.ApplyOptions(opts...)
2650	return out, req.Send()
2651}
2652
2653const opDescribeSnapshots = "DescribeSnapshots"
2654
2655// DescribeSnapshotsRequest generates a "aws/request.Request" representing the
2656// client's request for the DescribeSnapshots operation. The "output" return
2657// value will be populated with the request's response once the request completes
2658// successfully.
2659//
2660// Use "Send" method on the returned Request to send the API call to the service.
2661// the "output" return value is not valid until after Send returns without error.
2662//
2663// See DescribeSnapshots for more information on using the DescribeSnapshots
2664// API call, and error handling.
2665//
2666// This method is useful when you want to inject custom logic or configuration
2667// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2668//
2669//
2670//    // Example sending a request using the DescribeSnapshotsRequest method.
2671//    req, resp := client.DescribeSnapshotsRequest(params)
2672//
2673//    err := req.Send()
2674//    if err == nil { // resp is now filled
2675//        fmt.Println(resp)
2676//    }
2677//
2678// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeSnapshots
2679func (c *DirectoryService) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
2680	op := &request.Operation{
2681		Name:       opDescribeSnapshots,
2682		HTTPMethod: "POST",
2683		HTTPPath:   "/",
2684	}
2685
2686	if input == nil {
2687		input = &DescribeSnapshotsInput{}
2688	}
2689
2690	output = &DescribeSnapshotsOutput{}
2691	req = c.newRequest(op, input, output)
2692	return
2693}
2694
2695// DescribeSnapshots API operation for AWS Directory Service.
2696//
2697// Obtains information about the directory snapshots that belong to this account.
2698//
2699// This operation supports pagination with the use of the NextToken request
2700// and response parameters. If more results are available, the DescribeSnapshots.NextToken
2701// member contains a token that you pass in the next call to DescribeSnapshots
2702// to retrieve the next set of items.
2703//
2704// You can also specify a maximum number of return results with the Limit parameter.
2705//
2706// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2707// with awserr.Error's Code and Message methods to get detailed information about
2708// the error.
2709//
2710// See the AWS API reference guide for AWS Directory Service's
2711// API operation DescribeSnapshots for usage and error information.
2712//
2713// Returned Error Types:
2714//   * EntityDoesNotExistException
2715//   The specified entity could not be found.
2716//
2717//   * InvalidParameterException
2718//   One or more parameters are not valid.
2719//
2720//   * InvalidNextTokenException
2721//   The NextToken value is not valid.
2722//
2723//   * ClientException
2724//   A client exception has occurred.
2725//
2726//   * ServiceException
2727//   An exception has occurred in AWS Directory Service.
2728//
2729// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeSnapshots
2730func (c *DirectoryService) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
2731	req, out := c.DescribeSnapshotsRequest(input)
2732	return out, req.Send()
2733}
2734
2735// DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of
2736// the ability to pass a context and additional request options.
2737//
2738// See DescribeSnapshots for details on how to use this API operation.
2739//
2740// The context must be non-nil and will be used for request cancellation. If
2741// the context is nil a panic will occur. In the future the SDK may create
2742// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2743// for more information on using Contexts.
2744func (c *DirectoryService) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) {
2745	req, out := c.DescribeSnapshotsRequest(input)
2746	req.SetContext(ctx)
2747	req.ApplyOptions(opts...)
2748	return out, req.Send()
2749}
2750
2751const opDescribeTrusts = "DescribeTrusts"
2752
2753// DescribeTrustsRequest generates a "aws/request.Request" representing the
2754// client's request for the DescribeTrusts operation. The "output" return
2755// value will be populated with the request's response once the request completes
2756// successfully.
2757//
2758// Use "Send" method on the returned Request to send the API call to the service.
2759// the "output" return value is not valid until after Send returns without error.
2760//
2761// See DescribeTrusts for more information on using the DescribeTrusts
2762// API call, and error handling.
2763//
2764// This method is useful when you want to inject custom logic or configuration
2765// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2766//
2767//
2768//    // Example sending a request using the DescribeTrustsRequest method.
2769//    req, resp := client.DescribeTrustsRequest(params)
2770//
2771//    err := req.Send()
2772//    if err == nil { // resp is now filled
2773//        fmt.Println(resp)
2774//    }
2775//
2776// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeTrusts
2777func (c *DirectoryService) DescribeTrustsRequest(input *DescribeTrustsInput) (req *request.Request, output *DescribeTrustsOutput) {
2778	op := &request.Operation{
2779		Name:       opDescribeTrusts,
2780		HTTPMethod: "POST",
2781		HTTPPath:   "/",
2782	}
2783
2784	if input == nil {
2785		input = &DescribeTrustsInput{}
2786	}
2787
2788	output = &DescribeTrustsOutput{}
2789	req = c.newRequest(op, input, output)
2790	return
2791}
2792
2793// DescribeTrusts API operation for AWS Directory Service.
2794//
2795// Obtains information about the trust relationships for this account.
2796//
2797// If no input parameters are provided, such as DirectoryId or TrustIds, this
2798// request describes all the trust relationships belonging to the account.
2799//
2800// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2801// with awserr.Error's Code and Message methods to get detailed information about
2802// the error.
2803//
2804// See the AWS API reference guide for AWS Directory Service's
2805// API operation DescribeTrusts for usage and error information.
2806//
2807// Returned Error Types:
2808//   * EntityDoesNotExistException
2809//   The specified entity could not be found.
2810//
2811//   * InvalidNextTokenException
2812//   The NextToken value is not valid.
2813//
2814//   * InvalidParameterException
2815//   One or more parameters are not valid.
2816//
2817//   * ClientException
2818//   A client exception has occurred.
2819//
2820//   * ServiceException
2821//   An exception has occurred in AWS Directory Service.
2822//
2823//   * UnsupportedOperationException
2824//   The operation is not supported.
2825//
2826// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeTrusts
2827func (c *DirectoryService) DescribeTrusts(input *DescribeTrustsInput) (*DescribeTrustsOutput, error) {
2828	req, out := c.DescribeTrustsRequest(input)
2829	return out, req.Send()
2830}
2831
2832// DescribeTrustsWithContext is the same as DescribeTrusts with the addition of
2833// the ability to pass a context and additional request options.
2834//
2835// See DescribeTrusts for details on how to use this API operation.
2836//
2837// The context must be non-nil and will be used for request cancellation. If
2838// the context is nil a panic will occur. In the future the SDK may create
2839// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2840// for more information on using Contexts.
2841func (c *DirectoryService) DescribeTrustsWithContext(ctx aws.Context, input *DescribeTrustsInput, opts ...request.Option) (*DescribeTrustsOutput, error) {
2842	req, out := c.DescribeTrustsRequest(input)
2843	req.SetContext(ctx)
2844	req.ApplyOptions(opts...)
2845	return out, req.Send()
2846}
2847
2848const opDisableLDAPS = "DisableLDAPS"
2849
2850// DisableLDAPSRequest generates a "aws/request.Request" representing the
2851// client's request for the DisableLDAPS operation. The "output" return
2852// value will be populated with the request's response once the request completes
2853// successfully.
2854//
2855// Use "Send" method on the returned Request to send the API call to the service.
2856// the "output" return value is not valid until after Send returns without error.
2857//
2858// See DisableLDAPS for more information on using the DisableLDAPS
2859// API call, and error handling.
2860//
2861// This method is useful when you want to inject custom logic or configuration
2862// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2863//
2864//
2865//    // Example sending a request using the DisableLDAPSRequest method.
2866//    req, resp := client.DisableLDAPSRequest(params)
2867//
2868//    err := req.Send()
2869//    if err == nil { // resp is now filled
2870//        fmt.Println(resp)
2871//    }
2872//
2873// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DisableLDAPS
2874func (c *DirectoryService) DisableLDAPSRequest(input *DisableLDAPSInput) (req *request.Request, output *DisableLDAPSOutput) {
2875	op := &request.Operation{
2876		Name:       opDisableLDAPS,
2877		HTTPMethod: "POST",
2878		HTTPPath:   "/",
2879	}
2880
2881	if input == nil {
2882		input = &DisableLDAPSInput{}
2883	}
2884
2885	output = &DisableLDAPSOutput{}
2886	req = c.newRequest(op, input, output)
2887	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2888	return
2889}
2890
2891// DisableLDAPS API operation for AWS Directory Service.
2892//
2893// Deactivates LDAP secure calls for the specified directory.
2894//
2895// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2896// with awserr.Error's Code and Message methods to get detailed information about
2897// the error.
2898//
2899// See the AWS API reference guide for AWS Directory Service's
2900// API operation DisableLDAPS for usage and error information.
2901//
2902// Returned Error Types:
2903//   * DirectoryUnavailableException
2904//   The specified directory is unavailable or could not be found.
2905//
2906//   * DirectoryDoesNotExistException
2907//   The specified directory does not exist in the system.
2908//
2909//   * InvalidLDAPSStatusException
2910//   The LDAP activities could not be performed because they are limited by the
2911//   LDAPS status.
2912//
2913//   * UnsupportedOperationException
2914//   The operation is not supported.
2915//
2916//   * InvalidParameterException
2917//   One or more parameters are not valid.
2918//
2919//   * ClientException
2920//   A client exception has occurred.
2921//
2922//   * ServiceException
2923//   An exception has occurred in AWS Directory Service.
2924//
2925// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DisableLDAPS
2926func (c *DirectoryService) DisableLDAPS(input *DisableLDAPSInput) (*DisableLDAPSOutput, error) {
2927	req, out := c.DisableLDAPSRequest(input)
2928	return out, req.Send()
2929}
2930
2931// DisableLDAPSWithContext is the same as DisableLDAPS with the addition of
2932// the ability to pass a context and additional request options.
2933//
2934// See DisableLDAPS for details on how to use this API operation.
2935//
2936// The context must be non-nil and will be used for request cancellation. If
2937// the context is nil a panic will occur. In the future the SDK may create
2938// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2939// for more information on using Contexts.
2940func (c *DirectoryService) DisableLDAPSWithContext(ctx aws.Context, input *DisableLDAPSInput, opts ...request.Option) (*DisableLDAPSOutput, error) {
2941	req, out := c.DisableLDAPSRequest(input)
2942	req.SetContext(ctx)
2943	req.ApplyOptions(opts...)
2944	return out, req.Send()
2945}
2946
2947const opDisableRadius = "DisableRadius"
2948
2949// DisableRadiusRequest generates a "aws/request.Request" representing the
2950// client's request for the DisableRadius operation. The "output" return
2951// value will be populated with the request's response once the request completes
2952// successfully.
2953//
2954// Use "Send" method on the returned Request to send the API call to the service.
2955// the "output" return value is not valid until after Send returns without error.
2956//
2957// See DisableRadius for more information on using the DisableRadius
2958// API call, and error handling.
2959//
2960// This method is useful when you want to inject custom logic or configuration
2961// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2962//
2963//
2964//    // Example sending a request using the DisableRadiusRequest method.
2965//    req, resp := client.DisableRadiusRequest(params)
2966//
2967//    err := req.Send()
2968//    if err == nil { // resp is now filled
2969//        fmt.Println(resp)
2970//    }
2971//
2972// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DisableRadius
2973func (c *DirectoryService) DisableRadiusRequest(input *DisableRadiusInput) (req *request.Request, output *DisableRadiusOutput) {
2974	op := &request.Operation{
2975		Name:       opDisableRadius,
2976		HTTPMethod: "POST",
2977		HTTPPath:   "/",
2978	}
2979
2980	if input == nil {
2981		input = &DisableRadiusInput{}
2982	}
2983
2984	output = &DisableRadiusOutput{}
2985	req = c.newRequest(op, input, output)
2986	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2987	return
2988}
2989
2990// DisableRadius API operation for AWS Directory Service.
2991//
2992// Disables multi-factor authentication (MFA) with the Remote Authentication
2993// Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD
2994// directory.
2995//
2996// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2997// with awserr.Error's Code and Message methods to get detailed information about
2998// the error.
2999//
3000// See the AWS API reference guide for AWS Directory Service's
3001// API operation DisableRadius for usage and error information.
3002//
3003// Returned Error Types:
3004//   * EntityDoesNotExistException
3005//   The specified entity could not be found.
3006//
3007//   * ClientException
3008//   A client exception has occurred.
3009//
3010//   * ServiceException
3011//   An exception has occurred in AWS Directory Service.
3012//
3013// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DisableRadius
3014func (c *DirectoryService) DisableRadius(input *DisableRadiusInput) (*DisableRadiusOutput, error) {
3015	req, out := c.DisableRadiusRequest(input)
3016	return out, req.Send()
3017}
3018
3019// DisableRadiusWithContext is the same as DisableRadius with the addition of
3020// the ability to pass a context and additional request options.
3021//
3022// See DisableRadius for details on how to use this API operation.
3023//
3024// The context must be non-nil and will be used for request cancellation. If
3025// the context is nil a panic will occur. In the future the SDK may create
3026// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3027// for more information on using Contexts.
3028func (c *DirectoryService) DisableRadiusWithContext(ctx aws.Context, input *DisableRadiusInput, opts ...request.Option) (*DisableRadiusOutput, error) {
3029	req, out := c.DisableRadiusRequest(input)
3030	req.SetContext(ctx)
3031	req.ApplyOptions(opts...)
3032	return out, req.Send()
3033}
3034
3035const opDisableSso = "DisableSso"
3036
3037// DisableSsoRequest generates a "aws/request.Request" representing the
3038// client's request for the DisableSso operation. The "output" return
3039// value will be populated with the request's response once the request completes
3040// successfully.
3041//
3042// Use "Send" method on the returned Request to send the API call to the service.
3043// the "output" return value is not valid until after Send returns without error.
3044//
3045// See DisableSso for more information on using the DisableSso
3046// API call, and error handling.
3047//
3048// This method is useful when you want to inject custom logic or configuration
3049// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3050//
3051//
3052//    // Example sending a request using the DisableSsoRequest method.
3053//    req, resp := client.DisableSsoRequest(params)
3054//
3055//    err := req.Send()
3056//    if err == nil { // resp is now filled
3057//        fmt.Println(resp)
3058//    }
3059//
3060// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DisableSso
3061func (c *DirectoryService) DisableSsoRequest(input *DisableSsoInput) (req *request.Request, output *DisableSsoOutput) {
3062	op := &request.Operation{
3063		Name:       opDisableSso,
3064		HTTPMethod: "POST",
3065		HTTPPath:   "/",
3066	}
3067
3068	if input == nil {
3069		input = &DisableSsoInput{}
3070	}
3071
3072	output = &DisableSsoOutput{}
3073	req = c.newRequest(op, input, output)
3074	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3075	return
3076}
3077
3078// DisableSso API operation for AWS Directory Service.
3079//
3080// Disables single-sign on for a directory.
3081//
3082// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3083// with awserr.Error's Code and Message methods to get detailed information about
3084// the error.
3085//
3086// See the AWS API reference guide for AWS Directory Service's
3087// API operation DisableSso for usage and error information.
3088//
3089// Returned Error Types:
3090//   * EntityDoesNotExistException
3091//   The specified entity could not be found.
3092//
3093//   * InsufficientPermissionsException
3094//   The account does not have sufficient permission to perform the operation.
3095//
3096//   * AuthenticationFailedException
3097//   An authentication error occurred.
3098//
3099//   * ClientException
3100//   A client exception has occurred.
3101//
3102//   * ServiceException
3103//   An exception has occurred in AWS Directory Service.
3104//
3105// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DisableSso
3106func (c *DirectoryService) DisableSso(input *DisableSsoInput) (*DisableSsoOutput, error) {
3107	req, out := c.DisableSsoRequest(input)
3108	return out, req.Send()
3109}
3110
3111// DisableSsoWithContext is the same as DisableSso with the addition of
3112// the ability to pass a context and additional request options.
3113//
3114// See DisableSso for details on how to use this API operation.
3115//
3116// The context must be non-nil and will be used for request cancellation. If
3117// the context is nil a panic will occur. In the future the SDK may create
3118// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3119// for more information on using Contexts.
3120func (c *DirectoryService) DisableSsoWithContext(ctx aws.Context, input *DisableSsoInput, opts ...request.Option) (*DisableSsoOutput, error) {
3121	req, out := c.DisableSsoRequest(input)
3122	req.SetContext(ctx)
3123	req.ApplyOptions(opts...)
3124	return out, req.Send()
3125}
3126
3127const opEnableLDAPS = "EnableLDAPS"
3128
3129// EnableLDAPSRequest generates a "aws/request.Request" representing the
3130// client's request for the EnableLDAPS operation. The "output" return
3131// value will be populated with the request's response once the request completes
3132// successfully.
3133//
3134// Use "Send" method on the returned Request to send the API call to the service.
3135// the "output" return value is not valid until after Send returns without error.
3136//
3137// See EnableLDAPS for more information on using the EnableLDAPS
3138// API call, and error handling.
3139//
3140// This method is useful when you want to inject custom logic or configuration
3141// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3142//
3143//
3144//    // Example sending a request using the EnableLDAPSRequest method.
3145//    req, resp := client.EnableLDAPSRequest(params)
3146//
3147//    err := req.Send()
3148//    if err == nil { // resp is now filled
3149//        fmt.Println(resp)
3150//    }
3151//
3152// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/EnableLDAPS
3153func (c *DirectoryService) EnableLDAPSRequest(input *EnableLDAPSInput) (req *request.Request, output *EnableLDAPSOutput) {
3154	op := &request.Operation{
3155		Name:       opEnableLDAPS,
3156		HTTPMethod: "POST",
3157		HTTPPath:   "/",
3158	}
3159
3160	if input == nil {
3161		input = &EnableLDAPSInput{}
3162	}
3163
3164	output = &EnableLDAPSOutput{}
3165	req = c.newRequest(op, input, output)
3166	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3167	return
3168}
3169
3170// EnableLDAPS API operation for AWS Directory Service.
3171//
3172// Activates the switch for the specific directory to always use LDAP secure
3173// calls.
3174//
3175// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3176// with awserr.Error's Code and Message methods to get detailed information about
3177// the error.
3178//
3179// See the AWS API reference guide for AWS Directory Service's
3180// API operation EnableLDAPS for usage and error information.
3181//
3182// Returned Error Types:
3183//   * DirectoryUnavailableException
3184//   The specified directory is unavailable or could not be found.
3185//
3186//   * DirectoryDoesNotExistException
3187//   The specified directory does not exist in the system.
3188//
3189//   * NoAvailableCertificateException
3190//   The LDAP activities could not be performed because at least one valid certificate
3191//   must be registered with the system.
3192//
3193//   * InvalidLDAPSStatusException
3194//   The LDAP activities could not be performed because they are limited by the
3195//   LDAPS status.
3196//
3197//   * UnsupportedOperationException
3198//   The operation is not supported.
3199//
3200//   * InvalidParameterException
3201//   One or more parameters are not valid.
3202//
3203//   * ClientException
3204//   A client exception has occurred.
3205//
3206//   * ServiceException
3207//   An exception has occurred in AWS Directory Service.
3208//
3209// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/EnableLDAPS
3210func (c *DirectoryService) EnableLDAPS(input *EnableLDAPSInput) (*EnableLDAPSOutput, error) {
3211	req, out := c.EnableLDAPSRequest(input)
3212	return out, req.Send()
3213}
3214
3215// EnableLDAPSWithContext is the same as EnableLDAPS with the addition of
3216// the ability to pass a context and additional request options.
3217//
3218// See EnableLDAPS for details on how to use this API operation.
3219//
3220// The context must be non-nil and will be used for request cancellation. If
3221// the context is nil a panic will occur. In the future the SDK may create
3222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3223// for more information on using Contexts.
3224func (c *DirectoryService) EnableLDAPSWithContext(ctx aws.Context, input *EnableLDAPSInput, opts ...request.Option) (*EnableLDAPSOutput, error) {
3225	req, out := c.EnableLDAPSRequest(input)
3226	req.SetContext(ctx)
3227	req.ApplyOptions(opts...)
3228	return out, req.Send()
3229}
3230
3231const opEnableRadius = "EnableRadius"
3232
3233// EnableRadiusRequest generates a "aws/request.Request" representing the
3234// client's request for the EnableRadius operation. The "output" return
3235// value will be populated with the request's response once the request completes
3236// successfully.
3237//
3238// Use "Send" method on the returned Request to send the API call to the service.
3239// the "output" return value is not valid until after Send returns without error.
3240//
3241// See EnableRadius for more information on using the EnableRadius
3242// API call, and error handling.
3243//
3244// This method is useful when you want to inject custom logic or configuration
3245// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3246//
3247//
3248//    // Example sending a request using the EnableRadiusRequest method.
3249//    req, resp := client.EnableRadiusRequest(params)
3250//
3251//    err := req.Send()
3252//    if err == nil { // resp is now filled
3253//        fmt.Println(resp)
3254//    }
3255//
3256// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/EnableRadius
3257func (c *DirectoryService) EnableRadiusRequest(input *EnableRadiusInput) (req *request.Request, output *EnableRadiusOutput) {
3258	op := &request.Operation{
3259		Name:       opEnableRadius,
3260		HTTPMethod: "POST",
3261		HTTPPath:   "/",
3262	}
3263
3264	if input == nil {
3265		input = &EnableRadiusInput{}
3266	}
3267
3268	output = &EnableRadiusOutput{}
3269	req = c.newRequest(op, input, output)
3270	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3271	return
3272}
3273
3274// EnableRadius API operation for AWS Directory Service.
3275//
3276// Enables multi-factor authentication (MFA) with the Remote Authentication
3277// Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD
3278// directory.
3279//
3280// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3281// with awserr.Error's Code and Message methods to get detailed information about
3282// the error.
3283//
3284// See the AWS API reference guide for AWS Directory Service's
3285// API operation EnableRadius for usage and error information.
3286//
3287// Returned Error Types:
3288//   * InvalidParameterException
3289//   One or more parameters are not valid.
3290//
3291//   * EntityAlreadyExistsException
3292//   The specified entity already exists.
3293//
3294//   * EntityDoesNotExistException
3295//   The specified entity could not be found.
3296//
3297//   * ClientException
3298//   A client exception has occurred.
3299//
3300//   * ServiceException
3301//   An exception has occurred in AWS Directory Service.
3302//
3303// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/EnableRadius
3304func (c *DirectoryService) EnableRadius(input *EnableRadiusInput) (*EnableRadiusOutput, error) {
3305	req, out := c.EnableRadiusRequest(input)
3306	return out, req.Send()
3307}
3308
3309// EnableRadiusWithContext is the same as EnableRadius with the addition of
3310// the ability to pass a context and additional request options.
3311//
3312// See EnableRadius for details on how to use this API operation.
3313//
3314// The context must be non-nil and will be used for request cancellation. If
3315// the context is nil a panic will occur. In the future the SDK may create
3316// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3317// for more information on using Contexts.
3318func (c *DirectoryService) EnableRadiusWithContext(ctx aws.Context, input *EnableRadiusInput, opts ...request.Option) (*EnableRadiusOutput, error) {
3319	req, out := c.EnableRadiusRequest(input)
3320	req.SetContext(ctx)
3321	req.ApplyOptions(opts...)
3322	return out, req.Send()
3323}
3324
3325const opEnableSso = "EnableSso"
3326
3327// EnableSsoRequest generates a "aws/request.Request" representing the
3328// client's request for the EnableSso operation. The "output" return
3329// value will be populated with the request's response once the request completes
3330// successfully.
3331//
3332// Use "Send" method on the returned Request to send the API call to the service.
3333// the "output" return value is not valid until after Send returns without error.
3334//
3335// See EnableSso for more information on using the EnableSso
3336// API call, and error handling.
3337//
3338// This method is useful when you want to inject custom logic or configuration
3339// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3340//
3341//
3342//    // Example sending a request using the EnableSsoRequest method.
3343//    req, resp := client.EnableSsoRequest(params)
3344//
3345//    err := req.Send()
3346//    if err == nil { // resp is now filled
3347//        fmt.Println(resp)
3348//    }
3349//
3350// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/EnableSso
3351func (c *DirectoryService) EnableSsoRequest(input *EnableSsoInput) (req *request.Request, output *EnableSsoOutput) {
3352	op := &request.Operation{
3353		Name:       opEnableSso,
3354		HTTPMethod: "POST",
3355		HTTPPath:   "/",
3356	}
3357
3358	if input == nil {
3359		input = &EnableSsoInput{}
3360	}
3361
3362	output = &EnableSsoOutput{}
3363	req = c.newRequest(op, input, output)
3364	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3365	return
3366}
3367
3368// EnableSso API operation for AWS Directory Service.
3369//
3370// Enables single sign-on for a directory. Single sign-on allows users in your
3371// directory to access certain AWS services from a computer joined to the directory
3372// without having to enter their credentials separately.
3373//
3374// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3375// with awserr.Error's Code and Message methods to get detailed information about
3376// the error.
3377//
3378// See the AWS API reference guide for AWS Directory Service's
3379// API operation EnableSso for usage and error information.
3380//
3381// Returned Error Types:
3382//   * EntityDoesNotExistException
3383//   The specified entity could not be found.
3384//
3385//   * InsufficientPermissionsException
3386//   The account does not have sufficient permission to perform the operation.
3387//
3388//   * AuthenticationFailedException
3389//   An authentication error occurred.
3390//
3391//   * ClientException
3392//   A client exception has occurred.
3393//
3394//   * ServiceException
3395//   An exception has occurred in AWS Directory Service.
3396//
3397// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/EnableSso
3398func (c *DirectoryService) EnableSso(input *EnableSsoInput) (*EnableSsoOutput, error) {
3399	req, out := c.EnableSsoRequest(input)
3400	return out, req.Send()
3401}
3402
3403// EnableSsoWithContext is the same as EnableSso with the addition of
3404// the ability to pass a context and additional request options.
3405//
3406// See EnableSso for details on how to use this API operation.
3407//
3408// The context must be non-nil and will be used for request cancellation. If
3409// the context is nil a panic will occur. In the future the SDK may create
3410// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3411// for more information on using Contexts.
3412func (c *DirectoryService) EnableSsoWithContext(ctx aws.Context, input *EnableSsoInput, opts ...request.Option) (*EnableSsoOutput, error) {
3413	req, out := c.EnableSsoRequest(input)
3414	req.SetContext(ctx)
3415	req.ApplyOptions(opts...)
3416	return out, req.Send()
3417}
3418
3419const opGetDirectoryLimits = "GetDirectoryLimits"
3420
3421// GetDirectoryLimitsRequest generates a "aws/request.Request" representing the
3422// client's request for the GetDirectoryLimits operation. The "output" return
3423// value will be populated with the request's response once the request completes
3424// successfully.
3425//
3426// Use "Send" method on the returned Request to send the API call to the service.
3427// the "output" return value is not valid until after Send returns without error.
3428//
3429// See GetDirectoryLimits for more information on using the GetDirectoryLimits
3430// API call, and error handling.
3431//
3432// This method is useful when you want to inject custom logic or configuration
3433// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3434//
3435//
3436//    // Example sending a request using the GetDirectoryLimitsRequest method.
3437//    req, resp := client.GetDirectoryLimitsRequest(params)
3438//
3439//    err := req.Send()
3440//    if err == nil { // resp is now filled
3441//        fmt.Println(resp)
3442//    }
3443//
3444// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/GetDirectoryLimits
3445func (c *DirectoryService) GetDirectoryLimitsRequest(input *GetDirectoryLimitsInput) (req *request.Request, output *GetDirectoryLimitsOutput) {
3446	op := &request.Operation{
3447		Name:       opGetDirectoryLimits,
3448		HTTPMethod: "POST",
3449		HTTPPath:   "/",
3450	}
3451
3452	if input == nil {
3453		input = &GetDirectoryLimitsInput{}
3454	}
3455
3456	output = &GetDirectoryLimitsOutput{}
3457	req = c.newRequest(op, input, output)
3458	return
3459}
3460
3461// GetDirectoryLimits API operation for AWS Directory Service.
3462//
3463// Obtains directory limit information for the current Region.
3464//
3465// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3466// with awserr.Error's Code and Message methods to get detailed information about
3467// the error.
3468//
3469// See the AWS API reference guide for AWS Directory Service's
3470// API operation GetDirectoryLimits for usage and error information.
3471//
3472// Returned Error Types:
3473//   * EntityDoesNotExistException
3474//   The specified entity could not be found.
3475//
3476//   * ClientException
3477//   A client exception has occurred.
3478//
3479//   * ServiceException
3480//   An exception has occurred in AWS Directory Service.
3481//
3482// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/GetDirectoryLimits
3483func (c *DirectoryService) GetDirectoryLimits(input *GetDirectoryLimitsInput) (*GetDirectoryLimitsOutput, error) {
3484	req, out := c.GetDirectoryLimitsRequest(input)
3485	return out, req.Send()
3486}
3487
3488// GetDirectoryLimitsWithContext is the same as GetDirectoryLimits with the addition of
3489// the ability to pass a context and additional request options.
3490//
3491// See GetDirectoryLimits for details on how to use this API operation.
3492//
3493// The context must be non-nil and will be used for request cancellation. If
3494// the context is nil a panic will occur. In the future the SDK may create
3495// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3496// for more information on using Contexts.
3497func (c *DirectoryService) GetDirectoryLimitsWithContext(ctx aws.Context, input *GetDirectoryLimitsInput, opts ...request.Option) (*GetDirectoryLimitsOutput, error) {
3498	req, out := c.GetDirectoryLimitsRequest(input)
3499	req.SetContext(ctx)
3500	req.ApplyOptions(opts...)
3501	return out, req.Send()
3502}
3503
3504const opGetSnapshotLimits = "GetSnapshotLimits"
3505
3506// GetSnapshotLimitsRequest generates a "aws/request.Request" representing the
3507// client's request for the GetSnapshotLimits operation. The "output" return
3508// value will be populated with the request's response once the request completes
3509// successfully.
3510//
3511// Use "Send" method on the returned Request to send the API call to the service.
3512// the "output" return value is not valid until after Send returns without error.
3513//
3514// See GetSnapshotLimits for more information on using the GetSnapshotLimits
3515// API call, and error handling.
3516//
3517// This method is useful when you want to inject custom logic or configuration
3518// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3519//
3520//
3521//    // Example sending a request using the GetSnapshotLimitsRequest method.
3522//    req, resp := client.GetSnapshotLimitsRequest(params)
3523//
3524//    err := req.Send()
3525//    if err == nil { // resp is now filled
3526//        fmt.Println(resp)
3527//    }
3528//
3529// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/GetSnapshotLimits
3530func (c *DirectoryService) GetSnapshotLimitsRequest(input *GetSnapshotLimitsInput) (req *request.Request, output *GetSnapshotLimitsOutput) {
3531	op := &request.Operation{
3532		Name:       opGetSnapshotLimits,
3533		HTTPMethod: "POST",
3534		HTTPPath:   "/",
3535	}
3536
3537	if input == nil {
3538		input = &GetSnapshotLimitsInput{}
3539	}
3540
3541	output = &GetSnapshotLimitsOutput{}
3542	req = c.newRequest(op, input, output)
3543	return
3544}
3545
3546// GetSnapshotLimits API operation for AWS Directory Service.
3547//
3548// Obtains the manual snapshot limits for a directory.
3549//
3550// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3551// with awserr.Error's Code and Message methods to get detailed information about
3552// the error.
3553//
3554// See the AWS API reference guide for AWS Directory Service's
3555// API operation GetSnapshotLimits for usage and error information.
3556//
3557// Returned Error Types:
3558//   * EntityDoesNotExistException
3559//   The specified entity could not be found.
3560//
3561//   * ClientException
3562//   A client exception has occurred.
3563//
3564//   * ServiceException
3565//   An exception has occurred in AWS Directory Service.
3566//
3567// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/GetSnapshotLimits
3568func (c *DirectoryService) GetSnapshotLimits(input *GetSnapshotLimitsInput) (*GetSnapshotLimitsOutput, error) {
3569	req, out := c.GetSnapshotLimitsRequest(input)
3570	return out, req.Send()
3571}
3572
3573// GetSnapshotLimitsWithContext is the same as GetSnapshotLimits with the addition of
3574// the ability to pass a context and additional request options.
3575//
3576// See GetSnapshotLimits for details on how to use this API operation.
3577//
3578// The context must be non-nil and will be used for request cancellation. If
3579// the context is nil a panic will occur. In the future the SDK may create
3580// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3581// for more information on using Contexts.
3582func (c *DirectoryService) GetSnapshotLimitsWithContext(ctx aws.Context, input *GetSnapshotLimitsInput, opts ...request.Option) (*GetSnapshotLimitsOutput, error) {
3583	req, out := c.GetSnapshotLimitsRequest(input)
3584	req.SetContext(ctx)
3585	req.ApplyOptions(opts...)
3586	return out, req.Send()
3587}
3588
3589const opListCertificates = "ListCertificates"
3590
3591// ListCertificatesRequest generates a "aws/request.Request" representing the
3592// client's request for the ListCertificates operation. The "output" return
3593// value will be populated with the request's response once the request completes
3594// successfully.
3595//
3596// Use "Send" method on the returned Request to send the API call to the service.
3597// the "output" return value is not valid until after Send returns without error.
3598//
3599// See ListCertificates for more information on using the ListCertificates
3600// API call, and error handling.
3601//
3602// This method is useful when you want to inject custom logic or configuration
3603// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3604//
3605//
3606//    // Example sending a request using the ListCertificatesRequest method.
3607//    req, resp := client.ListCertificatesRequest(params)
3608//
3609//    err := req.Send()
3610//    if err == nil { // resp is now filled
3611//        fmt.Println(resp)
3612//    }
3613//
3614// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListCertificates
3615func (c *DirectoryService) ListCertificatesRequest(input *ListCertificatesInput) (req *request.Request, output *ListCertificatesOutput) {
3616	op := &request.Operation{
3617		Name:       opListCertificates,
3618		HTTPMethod: "POST",
3619		HTTPPath:   "/",
3620	}
3621
3622	if input == nil {
3623		input = &ListCertificatesInput{}
3624	}
3625
3626	output = &ListCertificatesOutput{}
3627	req = c.newRequest(op, input, output)
3628	return
3629}
3630
3631// ListCertificates API operation for AWS Directory Service.
3632//
3633// For the specified directory, lists all the certificates registered for a
3634// secured LDAP connection.
3635//
3636// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3637// with awserr.Error's Code and Message methods to get detailed information about
3638// the error.
3639//
3640// See the AWS API reference guide for AWS Directory Service's
3641// API operation ListCertificates for usage and error information.
3642//
3643// Returned Error Types:
3644//   * DirectoryDoesNotExistException
3645//   The specified directory does not exist in the system.
3646//
3647//   * UnsupportedOperationException
3648//   The operation is not supported.
3649//
3650//   * InvalidParameterException
3651//   One or more parameters are not valid.
3652//
3653//   * InvalidNextTokenException
3654//   The NextToken value is not valid.
3655//
3656//   * ClientException
3657//   A client exception has occurred.
3658//
3659//   * ServiceException
3660//   An exception has occurred in AWS Directory Service.
3661//
3662// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListCertificates
3663func (c *DirectoryService) ListCertificates(input *ListCertificatesInput) (*ListCertificatesOutput, error) {
3664	req, out := c.ListCertificatesRequest(input)
3665	return out, req.Send()
3666}
3667
3668// ListCertificatesWithContext is the same as ListCertificates with the addition of
3669// the ability to pass a context and additional request options.
3670//
3671// See ListCertificates for details on how to use this API operation.
3672//
3673// The context must be non-nil and will be used for request cancellation. If
3674// the context is nil a panic will occur. In the future the SDK may create
3675// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3676// for more information on using Contexts.
3677func (c *DirectoryService) ListCertificatesWithContext(ctx aws.Context, input *ListCertificatesInput, opts ...request.Option) (*ListCertificatesOutput, error) {
3678	req, out := c.ListCertificatesRequest(input)
3679	req.SetContext(ctx)
3680	req.ApplyOptions(opts...)
3681	return out, req.Send()
3682}
3683
3684const opListIpRoutes = "ListIpRoutes"
3685
3686// ListIpRoutesRequest generates a "aws/request.Request" representing the
3687// client's request for the ListIpRoutes operation. The "output" return
3688// value will be populated with the request's response once the request completes
3689// successfully.
3690//
3691// Use "Send" method on the returned Request to send the API call to the service.
3692// the "output" return value is not valid until after Send returns without error.
3693//
3694// See ListIpRoutes for more information on using the ListIpRoutes
3695// API call, and error handling.
3696//
3697// This method is useful when you want to inject custom logic or configuration
3698// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3699//
3700//
3701//    // Example sending a request using the ListIpRoutesRequest method.
3702//    req, resp := client.ListIpRoutesRequest(params)
3703//
3704//    err := req.Send()
3705//    if err == nil { // resp is now filled
3706//        fmt.Println(resp)
3707//    }
3708//
3709// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListIpRoutes
3710func (c *DirectoryService) ListIpRoutesRequest(input *ListIpRoutesInput) (req *request.Request, output *ListIpRoutesOutput) {
3711	op := &request.Operation{
3712		Name:       opListIpRoutes,
3713		HTTPMethod: "POST",
3714		HTTPPath:   "/",
3715	}
3716
3717	if input == nil {
3718		input = &ListIpRoutesInput{}
3719	}
3720
3721	output = &ListIpRoutesOutput{}
3722	req = c.newRequest(op, input, output)
3723	return
3724}
3725
3726// ListIpRoutes API operation for AWS Directory Service.
3727//
3728// Lists the address blocks that you have added to a directory.
3729//
3730// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3731// with awserr.Error's Code and Message methods to get detailed information about
3732// the error.
3733//
3734// See the AWS API reference guide for AWS Directory Service's
3735// API operation ListIpRoutes for usage and error information.
3736//
3737// Returned Error Types:
3738//   * EntityDoesNotExistException
3739//   The specified entity could not be found.
3740//
3741//   * InvalidNextTokenException
3742//   The NextToken value is not valid.
3743//
3744//   * InvalidParameterException
3745//   One or more parameters are not valid.
3746//
3747//   * ClientException
3748//   A client exception has occurred.
3749//
3750//   * ServiceException
3751//   An exception has occurred in AWS Directory Service.
3752//
3753// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListIpRoutes
3754func (c *DirectoryService) ListIpRoutes(input *ListIpRoutesInput) (*ListIpRoutesOutput, error) {
3755	req, out := c.ListIpRoutesRequest(input)
3756	return out, req.Send()
3757}
3758
3759// ListIpRoutesWithContext is the same as ListIpRoutes with the addition of
3760// the ability to pass a context and additional request options.
3761//
3762// See ListIpRoutes for details on how to use this API operation.
3763//
3764// The context must be non-nil and will be used for request cancellation. If
3765// the context is nil a panic will occur. In the future the SDK may create
3766// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3767// for more information on using Contexts.
3768func (c *DirectoryService) ListIpRoutesWithContext(ctx aws.Context, input *ListIpRoutesInput, opts ...request.Option) (*ListIpRoutesOutput, error) {
3769	req, out := c.ListIpRoutesRequest(input)
3770	req.SetContext(ctx)
3771	req.ApplyOptions(opts...)
3772	return out, req.Send()
3773}
3774
3775const opListLogSubscriptions = "ListLogSubscriptions"
3776
3777// ListLogSubscriptionsRequest generates a "aws/request.Request" representing the
3778// client's request for the ListLogSubscriptions operation. The "output" return
3779// value will be populated with the request's response once the request completes
3780// successfully.
3781//
3782// Use "Send" method on the returned Request to send the API call to the service.
3783// the "output" return value is not valid until after Send returns without error.
3784//
3785// See ListLogSubscriptions for more information on using the ListLogSubscriptions
3786// API call, and error handling.
3787//
3788// This method is useful when you want to inject custom logic or configuration
3789// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3790//
3791//
3792//    // Example sending a request using the ListLogSubscriptionsRequest method.
3793//    req, resp := client.ListLogSubscriptionsRequest(params)
3794//
3795//    err := req.Send()
3796//    if err == nil { // resp is now filled
3797//        fmt.Println(resp)
3798//    }
3799//
3800// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListLogSubscriptions
3801func (c *DirectoryService) ListLogSubscriptionsRequest(input *ListLogSubscriptionsInput) (req *request.Request, output *ListLogSubscriptionsOutput) {
3802	op := &request.Operation{
3803		Name:       opListLogSubscriptions,
3804		HTTPMethod: "POST",
3805		HTTPPath:   "/",
3806	}
3807
3808	if input == nil {
3809		input = &ListLogSubscriptionsInput{}
3810	}
3811
3812	output = &ListLogSubscriptionsOutput{}
3813	req = c.newRequest(op, input, output)
3814	return
3815}
3816
3817// ListLogSubscriptions API operation for AWS Directory Service.
3818//
3819// Lists the active log subscriptions for the AWS account.
3820//
3821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3822// with awserr.Error's Code and Message methods to get detailed information about
3823// the error.
3824//
3825// See the AWS API reference guide for AWS Directory Service's
3826// API operation ListLogSubscriptions for usage and error information.
3827//
3828// Returned Error Types:
3829//   * EntityDoesNotExistException
3830//   The specified entity could not be found.
3831//
3832//   * InvalidNextTokenException
3833//   The NextToken value is not valid.
3834//
3835//   * ClientException
3836//   A client exception has occurred.
3837//
3838//   * ServiceException
3839//   An exception has occurred in AWS Directory Service.
3840//
3841// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListLogSubscriptions
3842func (c *DirectoryService) ListLogSubscriptions(input *ListLogSubscriptionsInput) (*ListLogSubscriptionsOutput, error) {
3843	req, out := c.ListLogSubscriptionsRequest(input)
3844	return out, req.Send()
3845}
3846
3847// ListLogSubscriptionsWithContext is the same as ListLogSubscriptions with the addition of
3848// the ability to pass a context and additional request options.
3849//
3850// See ListLogSubscriptions for details on how to use this API operation.
3851//
3852// The context must be non-nil and will be used for request cancellation. If
3853// the context is nil a panic will occur. In the future the SDK may create
3854// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3855// for more information on using Contexts.
3856func (c *DirectoryService) ListLogSubscriptionsWithContext(ctx aws.Context, input *ListLogSubscriptionsInput, opts ...request.Option) (*ListLogSubscriptionsOutput, error) {
3857	req, out := c.ListLogSubscriptionsRequest(input)
3858	req.SetContext(ctx)
3859	req.ApplyOptions(opts...)
3860	return out, req.Send()
3861}
3862
3863const opListSchemaExtensions = "ListSchemaExtensions"
3864
3865// ListSchemaExtensionsRequest generates a "aws/request.Request" representing the
3866// client's request for the ListSchemaExtensions operation. The "output" return
3867// value will be populated with the request's response once the request completes
3868// successfully.
3869//
3870// Use "Send" method on the returned Request to send the API call to the service.
3871// the "output" return value is not valid until after Send returns without error.
3872//
3873// See ListSchemaExtensions for more information on using the ListSchemaExtensions
3874// API call, and error handling.
3875//
3876// This method is useful when you want to inject custom logic or configuration
3877// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3878//
3879//
3880//    // Example sending a request using the ListSchemaExtensionsRequest method.
3881//    req, resp := client.ListSchemaExtensionsRequest(params)
3882//
3883//    err := req.Send()
3884//    if err == nil { // resp is now filled
3885//        fmt.Println(resp)
3886//    }
3887//
3888// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListSchemaExtensions
3889func (c *DirectoryService) ListSchemaExtensionsRequest(input *ListSchemaExtensionsInput) (req *request.Request, output *ListSchemaExtensionsOutput) {
3890	op := &request.Operation{
3891		Name:       opListSchemaExtensions,
3892		HTTPMethod: "POST",
3893		HTTPPath:   "/",
3894	}
3895
3896	if input == nil {
3897		input = &ListSchemaExtensionsInput{}
3898	}
3899
3900	output = &ListSchemaExtensionsOutput{}
3901	req = c.newRequest(op, input, output)
3902	return
3903}
3904
3905// ListSchemaExtensions API operation for AWS Directory Service.
3906//
3907// Lists all schema extensions applied to a Microsoft AD Directory.
3908//
3909// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3910// with awserr.Error's Code and Message methods to get detailed information about
3911// the error.
3912//
3913// See the AWS API reference guide for AWS Directory Service's
3914// API operation ListSchemaExtensions for usage and error information.
3915//
3916// Returned Error Types:
3917//   * InvalidNextTokenException
3918//   The NextToken value is not valid.
3919//
3920//   * EntityDoesNotExistException
3921//   The specified entity could not be found.
3922//
3923//   * ClientException
3924//   A client exception has occurred.
3925//
3926//   * ServiceException
3927//   An exception has occurred in AWS Directory Service.
3928//
3929// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListSchemaExtensions
3930func (c *DirectoryService) ListSchemaExtensions(input *ListSchemaExtensionsInput) (*ListSchemaExtensionsOutput, error) {
3931	req, out := c.ListSchemaExtensionsRequest(input)
3932	return out, req.Send()
3933}
3934
3935// ListSchemaExtensionsWithContext is the same as ListSchemaExtensions with the addition of
3936// the ability to pass a context and additional request options.
3937//
3938// See ListSchemaExtensions for details on how to use this API operation.
3939//
3940// The context must be non-nil and will be used for request cancellation. If
3941// the context is nil a panic will occur. In the future the SDK may create
3942// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3943// for more information on using Contexts.
3944func (c *DirectoryService) ListSchemaExtensionsWithContext(ctx aws.Context, input *ListSchemaExtensionsInput, opts ...request.Option) (*ListSchemaExtensionsOutput, error) {
3945	req, out := c.ListSchemaExtensionsRequest(input)
3946	req.SetContext(ctx)
3947	req.ApplyOptions(opts...)
3948	return out, req.Send()
3949}
3950
3951const opListTagsForResource = "ListTagsForResource"
3952
3953// ListTagsForResourceRequest generates a "aws/request.Request" representing the
3954// client's request for the ListTagsForResource operation. The "output" return
3955// value will be populated with the request's response once the request completes
3956// successfully.
3957//
3958// Use "Send" method on the returned Request to send the API call to the service.
3959// the "output" return value is not valid until after Send returns without error.
3960//
3961// See ListTagsForResource for more information on using the ListTagsForResource
3962// API call, and error handling.
3963//
3964// This method is useful when you want to inject custom logic or configuration
3965// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3966//
3967//
3968//    // Example sending a request using the ListTagsForResourceRequest method.
3969//    req, resp := client.ListTagsForResourceRequest(params)
3970//
3971//    err := req.Send()
3972//    if err == nil { // resp is now filled
3973//        fmt.Println(resp)
3974//    }
3975//
3976// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListTagsForResource
3977func (c *DirectoryService) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
3978	op := &request.Operation{
3979		Name:       opListTagsForResource,
3980		HTTPMethod: "POST",
3981		HTTPPath:   "/",
3982	}
3983
3984	if input == nil {
3985		input = &ListTagsForResourceInput{}
3986	}
3987
3988	output = &ListTagsForResourceOutput{}
3989	req = c.newRequest(op, input, output)
3990	return
3991}
3992
3993// ListTagsForResource API operation for AWS Directory Service.
3994//
3995// Lists all tags on a directory.
3996//
3997// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3998// with awserr.Error's Code and Message methods to get detailed information about
3999// the error.
4000//
4001// See the AWS API reference guide for AWS Directory Service's
4002// API operation ListTagsForResource for usage and error information.
4003//
4004// Returned Error Types:
4005//   * EntityDoesNotExistException
4006//   The specified entity could not be found.
4007//
4008//   * InvalidNextTokenException
4009//   The NextToken value is not valid.
4010//
4011//   * InvalidParameterException
4012//   One or more parameters are not valid.
4013//
4014//   * ClientException
4015//   A client exception has occurred.
4016//
4017//   * ServiceException
4018//   An exception has occurred in AWS Directory Service.
4019//
4020// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListTagsForResource
4021func (c *DirectoryService) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4022	req, out := c.ListTagsForResourceRequest(input)
4023	return out, req.Send()
4024}
4025
4026// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4027// the ability to pass a context and additional request options.
4028//
4029// See ListTagsForResource for details on how to use this API operation.
4030//
4031// The context must be non-nil and will be used for request cancellation. If
4032// the context is nil a panic will occur. In the future the SDK may create
4033// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4034// for more information on using Contexts.
4035func (c *DirectoryService) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4036	req, out := c.ListTagsForResourceRequest(input)
4037	req.SetContext(ctx)
4038	req.ApplyOptions(opts...)
4039	return out, req.Send()
4040}
4041
4042const opRegisterCertificate = "RegisterCertificate"
4043
4044// RegisterCertificateRequest generates a "aws/request.Request" representing the
4045// client's request for the RegisterCertificate operation. The "output" return
4046// value will be populated with the request's response once the request completes
4047// successfully.
4048//
4049// Use "Send" method on the returned Request to send the API call to the service.
4050// the "output" return value is not valid until after Send returns without error.
4051//
4052// See RegisterCertificate for more information on using the RegisterCertificate
4053// API call, and error handling.
4054//
4055// This method is useful when you want to inject custom logic or configuration
4056// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4057//
4058//
4059//    // Example sending a request using the RegisterCertificateRequest method.
4060//    req, resp := client.RegisterCertificateRequest(params)
4061//
4062//    err := req.Send()
4063//    if err == nil { // resp is now filled
4064//        fmt.Println(resp)
4065//    }
4066//
4067// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RegisterCertificate
4068func (c *DirectoryService) RegisterCertificateRequest(input *RegisterCertificateInput) (req *request.Request, output *RegisterCertificateOutput) {
4069	op := &request.Operation{
4070		Name:       opRegisterCertificate,
4071		HTTPMethod: "POST",
4072		HTTPPath:   "/",
4073	}
4074
4075	if input == nil {
4076		input = &RegisterCertificateInput{}
4077	}
4078
4079	output = &RegisterCertificateOutput{}
4080	req = c.newRequest(op, input, output)
4081	return
4082}
4083
4084// RegisterCertificate API operation for AWS Directory Service.
4085//
4086// Registers a certificate for secured LDAP connection.
4087//
4088// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4089// with awserr.Error's Code and Message methods to get detailed information about
4090// the error.
4091//
4092// See the AWS API reference guide for AWS Directory Service's
4093// API operation RegisterCertificate for usage and error information.
4094//
4095// Returned Error Types:
4096//   * DirectoryUnavailableException
4097//   The specified directory is unavailable or could not be found.
4098//
4099//   * DirectoryDoesNotExistException
4100//   The specified directory does not exist in the system.
4101//
4102//   * InvalidCertificateException
4103//   The certificate PEM that was provided has incorrect encoding.
4104//
4105//   * CertificateLimitExceededException
4106//   The certificate could not be added because the certificate limit has been
4107//   reached.
4108//
4109//   * CertificateAlreadyExistsException
4110//   The certificate has already been registered into the system.
4111//
4112//   * UnsupportedOperationException
4113//   The operation is not supported.
4114//
4115//   * InvalidParameterException
4116//   One or more parameters are not valid.
4117//
4118//   * ClientException
4119//   A client exception has occurred.
4120//
4121//   * ServiceException
4122//   An exception has occurred in AWS Directory Service.
4123//
4124// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RegisterCertificate
4125func (c *DirectoryService) RegisterCertificate(input *RegisterCertificateInput) (*RegisterCertificateOutput, error) {
4126	req, out := c.RegisterCertificateRequest(input)
4127	return out, req.Send()
4128}
4129
4130// RegisterCertificateWithContext is the same as RegisterCertificate with the addition of
4131// the ability to pass a context and additional request options.
4132//
4133// See RegisterCertificate for details on how to use this API operation.
4134//
4135// The context must be non-nil and will be used for request cancellation. If
4136// the context is nil a panic will occur. In the future the SDK may create
4137// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4138// for more information on using Contexts.
4139func (c *DirectoryService) RegisterCertificateWithContext(ctx aws.Context, input *RegisterCertificateInput, opts ...request.Option) (*RegisterCertificateOutput, error) {
4140	req, out := c.RegisterCertificateRequest(input)
4141	req.SetContext(ctx)
4142	req.ApplyOptions(opts...)
4143	return out, req.Send()
4144}
4145
4146const opRegisterEventTopic = "RegisterEventTopic"
4147
4148// RegisterEventTopicRequest generates a "aws/request.Request" representing the
4149// client's request for the RegisterEventTopic operation. The "output" return
4150// value will be populated with the request's response once the request completes
4151// successfully.
4152//
4153// Use "Send" method on the returned Request to send the API call to the service.
4154// the "output" return value is not valid until after Send returns without error.
4155//
4156// See RegisterEventTopic for more information on using the RegisterEventTopic
4157// API call, and error handling.
4158//
4159// This method is useful when you want to inject custom logic or configuration
4160// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4161//
4162//
4163//    // Example sending a request using the RegisterEventTopicRequest method.
4164//    req, resp := client.RegisterEventTopicRequest(params)
4165//
4166//    err := req.Send()
4167//    if err == nil { // resp is now filled
4168//        fmt.Println(resp)
4169//    }
4170//
4171// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RegisterEventTopic
4172func (c *DirectoryService) RegisterEventTopicRequest(input *RegisterEventTopicInput) (req *request.Request, output *RegisterEventTopicOutput) {
4173	op := &request.Operation{
4174		Name:       opRegisterEventTopic,
4175		HTTPMethod: "POST",
4176		HTTPPath:   "/",
4177	}
4178
4179	if input == nil {
4180		input = &RegisterEventTopicInput{}
4181	}
4182
4183	output = &RegisterEventTopicOutput{}
4184	req = c.newRequest(op, input, output)
4185	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4186	return
4187}
4188
4189// RegisterEventTopic API operation for AWS Directory Service.
4190//
4191// Associates a directory with an SNS topic. This establishes the directory
4192// as a publisher to the specified SNS topic. You can then receive email or
4193// text (SMS) messages when the status of your directory changes. You get notified
4194// if your directory goes from an Active status to an Impaired or Inoperable
4195// status. You also receive a notification when the directory returns to an
4196// Active status.
4197//
4198// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4199// with awserr.Error's Code and Message methods to get detailed information about
4200// the error.
4201//
4202// See the AWS API reference guide for AWS Directory Service's
4203// API operation RegisterEventTopic for usage and error information.
4204//
4205// Returned Error Types:
4206//   * EntityDoesNotExistException
4207//   The specified entity could not be found.
4208//
4209//   * InvalidParameterException
4210//   One or more parameters are not valid.
4211//
4212//   * ClientException
4213//   A client exception has occurred.
4214//
4215//   * ServiceException
4216//   An exception has occurred in AWS Directory Service.
4217//
4218// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RegisterEventTopic
4219func (c *DirectoryService) RegisterEventTopic(input *RegisterEventTopicInput) (*RegisterEventTopicOutput, error) {
4220	req, out := c.RegisterEventTopicRequest(input)
4221	return out, req.Send()
4222}
4223
4224// RegisterEventTopicWithContext is the same as RegisterEventTopic with the addition of
4225// the ability to pass a context and additional request options.
4226//
4227// See RegisterEventTopic for details on how to use this API operation.
4228//
4229// The context must be non-nil and will be used for request cancellation. If
4230// the context is nil a panic will occur. In the future the SDK may create
4231// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4232// for more information on using Contexts.
4233func (c *DirectoryService) RegisterEventTopicWithContext(ctx aws.Context, input *RegisterEventTopicInput, opts ...request.Option) (*RegisterEventTopicOutput, error) {
4234	req, out := c.RegisterEventTopicRequest(input)
4235	req.SetContext(ctx)
4236	req.ApplyOptions(opts...)
4237	return out, req.Send()
4238}
4239
4240const opRejectSharedDirectory = "RejectSharedDirectory"
4241
4242// RejectSharedDirectoryRequest generates a "aws/request.Request" representing the
4243// client's request for the RejectSharedDirectory operation. The "output" return
4244// value will be populated with the request's response once the request completes
4245// successfully.
4246//
4247// Use "Send" method on the returned Request to send the API call to the service.
4248// the "output" return value is not valid until after Send returns without error.
4249//
4250// See RejectSharedDirectory for more information on using the RejectSharedDirectory
4251// API call, and error handling.
4252//
4253// This method is useful when you want to inject custom logic or configuration
4254// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4255//
4256//
4257//    // Example sending a request using the RejectSharedDirectoryRequest method.
4258//    req, resp := client.RejectSharedDirectoryRequest(params)
4259//
4260//    err := req.Send()
4261//    if err == nil { // resp is now filled
4262//        fmt.Println(resp)
4263//    }
4264//
4265// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RejectSharedDirectory
4266func (c *DirectoryService) RejectSharedDirectoryRequest(input *RejectSharedDirectoryInput) (req *request.Request, output *RejectSharedDirectoryOutput) {
4267	op := &request.Operation{
4268		Name:       opRejectSharedDirectory,
4269		HTTPMethod: "POST",
4270		HTTPPath:   "/",
4271	}
4272
4273	if input == nil {
4274		input = &RejectSharedDirectoryInput{}
4275	}
4276
4277	output = &RejectSharedDirectoryOutput{}
4278	req = c.newRequest(op, input, output)
4279	return
4280}
4281
4282// RejectSharedDirectory API operation for AWS Directory Service.
4283//
4284// Rejects a directory sharing request that was sent from the directory owner
4285// account.
4286//
4287// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4288// with awserr.Error's Code and Message methods to get detailed information about
4289// the error.
4290//
4291// See the AWS API reference guide for AWS Directory Service's
4292// API operation RejectSharedDirectory for usage and error information.
4293//
4294// Returned Error Types:
4295//   * InvalidParameterException
4296//   One or more parameters are not valid.
4297//
4298//   * EntityDoesNotExistException
4299//   The specified entity could not be found.
4300//
4301//   * DirectoryAlreadySharedException
4302//   The specified directory has already been shared with this AWS account.
4303//
4304//   * ClientException
4305//   A client exception has occurred.
4306//
4307//   * ServiceException
4308//   An exception has occurred in AWS Directory Service.
4309//
4310// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RejectSharedDirectory
4311func (c *DirectoryService) RejectSharedDirectory(input *RejectSharedDirectoryInput) (*RejectSharedDirectoryOutput, error) {
4312	req, out := c.RejectSharedDirectoryRequest(input)
4313	return out, req.Send()
4314}
4315
4316// RejectSharedDirectoryWithContext is the same as RejectSharedDirectory with the addition of
4317// the ability to pass a context and additional request options.
4318//
4319// See RejectSharedDirectory for details on how to use this API operation.
4320//
4321// The context must be non-nil and will be used for request cancellation. If
4322// the context is nil a panic will occur. In the future the SDK may create
4323// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4324// for more information on using Contexts.
4325func (c *DirectoryService) RejectSharedDirectoryWithContext(ctx aws.Context, input *RejectSharedDirectoryInput, opts ...request.Option) (*RejectSharedDirectoryOutput, error) {
4326	req, out := c.RejectSharedDirectoryRequest(input)
4327	req.SetContext(ctx)
4328	req.ApplyOptions(opts...)
4329	return out, req.Send()
4330}
4331
4332const opRemoveIpRoutes = "RemoveIpRoutes"
4333
4334// RemoveIpRoutesRequest generates a "aws/request.Request" representing the
4335// client's request for the RemoveIpRoutes operation. The "output" return
4336// value will be populated with the request's response once the request completes
4337// successfully.
4338//
4339// Use "Send" method on the returned Request to send the API call to the service.
4340// the "output" return value is not valid until after Send returns without error.
4341//
4342// See RemoveIpRoutes for more information on using the RemoveIpRoutes
4343// API call, and error handling.
4344//
4345// This method is useful when you want to inject custom logic or configuration
4346// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4347//
4348//
4349//    // Example sending a request using the RemoveIpRoutesRequest method.
4350//    req, resp := client.RemoveIpRoutesRequest(params)
4351//
4352//    err := req.Send()
4353//    if err == nil { // resp is now filled
4354//        fmt.Println(resp)
4355//    }
4356//
4357// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RemoveIpRoutes
4358func (c *DirectoryService) RemoveIpRoutesRequest(input *RemoveIpRoutesInput) (req *request.Request, output *RemoveIpRoutesOutput) {
4359	op := &request.Operation{
4360		Name:       opRemoveIpRoutes,
4361		HTTPMethod: "POST",
4362		HTTPPath:   "/",
4363	}
4364
4365	if input == nil {
4366		input = &RemoveIpRoutesInput{}
4367	}
4368
4369	output = &RemoveIpRoutesOutput{}
4370	req = c.newRequest(op, input, output)
4371	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4372	return
4373}
4374
4375// RemoveIpRoutes API operation for AWS Directory Service.
4376//
4377// Removes IP address blocks from a directory.
4378//
4379// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4380// with awserr.Error's Code and Message methods to get detailed information about
4381// the error.
4382//
4383// See the AWS API reference guide for AWS Directory Service's
4384// API operation RemoveIpRoutes for usage and error information.
4385//
4386// Returned Error Types:
4387//   * EntityDoesNotExistException
4388//   The specified entity could not be found.
4389//
4390//   * InvalidParameterException
4391//   One or more parameters are not valid.
4392//
4393//   * DirectoryUnavailableException
4394//   The specified directory is unavailable or could not be found.
4395//
4396//   * ClientException
4397//   A client exception has occurred.
4398//
4399//   * ServiceException
4400//   An exception has occurred in AWS Directory Service.
4401//
4402// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RemoveIpRoutes
4403func (c *DirectoryService) RemoveIpRoutes(input *RemoveIpRoutesInput) (*RemoveIpRoutesOutput, error) {
4404	req, out := c.RemoveIpRoutesRequest(input)
4405	return out, req.Send()
4406}
4407
4408// RemoveIpRoutesWithContext is the same as RemoveIpRoutes with the addition of
4409// the ability to pass a context and additional request options.
4410//
4411// See RemoveIpRoutes for details on how to use this API operation.
4412//
4413// The context must be non-nil and will be used for request cancellation. If
4414// the context is nil a panic will occur. In the future the SDK may create
4415// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4416// for more information on using Contexts.
4417func (c *DirectoryService) RemoveIpRoutesWithContext(ctx aws.Context, input *RemoveIpRoutesInput, opts ...request.Option) (*RemoveIpRoutesOutput, error) {
4418	req, out := c.RemoveIpRoutesRequest(input)
4419	req.SetContext(ctx)
4420	req.ApplyOptions(opts...)
4421	return out, req.Send()
4422}
4423
4424const opRemoveTagsFromResource = "RemoveTagsFromResource"
4425
4426// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
4427// client's request for the RemoveTagsFromResource operation. The "output" return
4428// value will be populated with the request's response once the request completes
4429// successfully.
4430//
4431// Use "Send" method on the returned Request to send the API call to the service.
4432// the "output" return value is not valid until after Send returns without error.
4433//
4434// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
4435// API call, and error handling.
4436//
4437// This method is useful when you want to inject custom logic or configuration
4438// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4439//
4440//
4441//    // Example sending a request using the RemoveTagsFromResourceRequest method.
4442//    req, resp := client.RemoveTagsFromResourceRequest(params)
4443//
4444//    err := req.Send()
4445//    if err == nil { // resp is now filled
4446//        fmt.Println(resp)
4447//    }
4448//
4449// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RemoveTagsFromResource
4450func (c *DirectoryService) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
4451	op := &request.Operation{
4452		Name:       opRemoveTagsFromResource,
4453		HTTPMethod: "POST",
4454		HTTPPath:   "/",
4455	}
4456
4457	if input == nil {
4458		input = &RemoveTagsFromResourceInput{}
4459	}
4460
4461	output = &RemoveTagsFromResourceOutput{}
4462	req = c.newRequest(op, input, output)
4463	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4464	return
4465}
4466
4467// RemoveTagsFromResource API operation for AWS Directory Service.
4468//
4469// Removes tags from a directory.
4470//
4471// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4472// with awserr.Error's Code and Message methods to get detailed information about
4473// the error.
4474//
4475// See the AWS API reference guide for AWS Directory Service's
4476// API operation RemoveTagsFromResource for usage and error information.
4477//
4478// Returned Error Types:
4479//   * EntityDoesNotExistException
4480//   The specified entity could not be found.
4481//
4482//   * InvalidParameterException
4483//   One or more parameters are not valid.
4484//
4485//   * ClientException
4486//   A client exception has occurred.
4487//
4488//   * ServiceException
4489//   An exception has occurred in AWS Directory Service.
4490//
4491// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RemoveTagsFromResource
4492func (c *DirectoryService) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
4493	req, out := c.RemoveTagsFromResourceRequest(input)
4494	return out, req.Send()
4495}
4496
4497// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
4498// the ability to pass a context and additional request options.
4499//
4500// See RemoveTagsFromResource for details on how to use this API operation.
4501//
4502// The context must be non-nil and will be used for request cancellation. If
4503// the context is nil a panic will occur. In the future the SDK may create
4504// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4505// for more information on using Contexts.
4506func (c *DirectoryService) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
4507	req, out := c.RemoveTagsFromResourceRequest(input)
4508	req.SetContext(ctx)
4509	req.ApplyOptions(opts...)
4510	return out, req.Send()
4511}
4512
4513const opResetUserPassword = "ResetUserPassword"
4514
4515// ResetUserPasswordRequest generates a "aws/request.Request" representing the
4516// client's request for the ResetUserPassword operation. The "output" return
4517// value will be populated with the request's response once the request completes
4518// successfully.
4519//
4520// Use "Send" method on the returned Request to send the API call to the service.
4521// the "output" return value is not valid until after Send returns without error.
4522//
4523// See ResetUserPassword for more information on using the ResetUserPassword
4524// API call, and error handling.
4525//
4526// This method is useful when you want to inject custom logic or configuration
4527// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4528//
4529//
4530//    // Example sending a request using the ResetUserPasswordRequest method.
4531//    req, resp := client.ResetUserPasswordRequest(params)
4532//
4533//    err := req.Send()
4534//    if err == nil { // resp is now filled
4535//        fmt.Println(resp)
4536//    }
4537//
4538// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ResetUserPassword
4539func (c *DirectoryService) ResetUserPasswordRequest(input *ResetUserPasswordInput) (req *request.Request, output *ResetUserPasswordOutput) {
4540	op := &request.Operation{
4541		Name:       opResetUserPassword,
4542		HTTPMethod: "POST",
4543		HTTPPath:   "/",
4544	}
4545
4546	if input == nil {
4547		input = &ResetUserPasswordInput{}
4548	}
4549
4550	output = &ResetUserPasswordOutput{}
4551	req = c.newRequest(op, input, output)
4552	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4553	return
4554}
4555
4556// ResetUserPassword API operation for AWS Directory Service.
4557//
4558// Resets the password for any user in your AWS Managed Microsoft AD or Simple
4559// AD directory.
4560//
4561// You can reset the password for any user in your directory with the following
4562// exceptions:
4563//
4564//    * For Simple AD, you cannot reset the password for any user that is a
4565//    member of either the Domain Admins or Enterprise Admins group except for
4566//    the administrator user.
4567//
4568//    * For AWS Managed Microsoft AD, you can only reset the password for a
4569//    user that is in an OU based off of the NetBIOS name that you typed when
4570//    you created your directory. For example, you cannot reset the password
4571//    for a user in the AWS Reserved OU. For more information about the OU structure
4572//    for an AWS Managed Microsoft AD directory, see What Gets Created (https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_getting_started_what_gets_created.html)
4573//    in the AWS Directory Service Administration Guide.
4574//
4575// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4576// with awserr.Error's Code and Message methods to get detailed information about
4577// the error.
4578//
4579// See the AWS API reference guide for AWS Directory Service's
4580// API operation ResetUserPassword for usage and error information.
4581//
4582// Returned Error Types:
4583//   * DirectoryUnavailableException
4584//   The specified directory is unavailable or could not be found.
4585//
4586//   * UserDoesNotExistException
4587//   The user provided a username that does not exist in your directory.
4588//
4589//   * InvalidPasswordException
4590//   The new password provided by the user does not meet the password complexity
4591//   requirements defined in your directory.
4592//
4593//   * UnsupportedOperationException
4594//   The operation is not supported.
4595//
4596//   * EntityDoesNotExistException
4597//   The specified entity could not be found.
4598//
4599//   * ClientException
4600//   A client exception has occurred.
4601//
4602//   * ServiceException
4603//   An exception has occurred in AWS Directory Service.
4604//
4605// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ResetUserPassword
4606func (c *DirectoryService) ResetUserPassword(input *ResetUserPasswordInput) (*ResetUserPasswordOutput, error) {
4607	req, out := c.ResetUserPasswordRequest(input)
4608	return out, req.Send()
4609}
4610
4611// ResetUserPasswordWithContext is the same as ResetUserPassword with the addition of
4612// the ability to pass a context and additional request options.
4613//
4614// See ResetUserPassword for details on how to use this API operation.
4615//
4616// The context must be non-nil and will be used for request cancellation. If
4617// the context is nil a panic will occur. In the future the SDK may create
4618// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4619// for more information on using Contexts.
4620func (c *DirectoryService) ResetUserPasswordWithContext(ctx aws.Context, input *ResetUserPasswordInput, opts ...request.Option) (*ResetUserPasswordOutput, error) {
4621	req, out := c.ResetUserPasswordRequest(input)
4622	req.SetContext(ctx)
4623	req.ApplyOptions(opts...)
4624	return out, req.Send()
4625}
4626
4627const opRestoreFromSnapshot = "RestoreFromSnapshot"
4628
4629// RestoreFromSnapshotRequest generates a "aws/request.Request" representing the
4630// client's request for the RestoreFromSnapshot operation. The "output" return
4631// value will be populated with the request's response once the request completes
4632// successfully.
4633//
4634// Use "Send" method on the returned Request to send the API call to the service.
4635// the "output" return value is not valid until after Send returns without error.
4636//
4637// See RestoreFromSnapshot for more information on using the RestoreFromSnapshot
4638// API call, and error handling.
4639//
4640// This method is useful when you want to inject custom logic or configuration
4641// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4642//
4643//
4644//    // Example sending a request using the RestoreFromSnapshotRequest method.
4645//    req, resp := client.RestoreFromSnapshotRequest(params)
4646//
4647//    err := req.Send()
4648//    if err == nil { // resp is now filled
4649//        fmt.Println(resp)
4650//    }
4651//
4652// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RestoreFromSnapshot
4653func (c *DirectoryService) RestoreFromSnapshotRequest(input *RestoreFromSnapshotInput) (req *request.Request, output *RestoreFromSnapshotOutput) {
4654	op := &request.Operation{
4655		Name:       opRestoreFromSnapshot,
4656		HTTPMethod: "POST",
4657		HTTPPath:   "/",
4658	}
4659
4660	if input == nil {
4661		input = &RestoreFromSnapshotInput{}
4662	}
4663
4664	output = &RestoreFromSnapshotOutput{}
4665	req = c.newRequest(op, input, output)
4666	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4667	return
4668}
4669
4670// RestoreFromSnapshot API operation for AWS Directory Service.
4671//
4672// Restores a directory using an existing directory snapshot.
4673//
4674// When you restore a directory from a snapshot, any changes made to the directory
4675// after the snapshot date are overwritten.
4676//
4677// This action returns as soon as the restore operation is initiated. You can
4678// monitor the progress of the restore operation by calling the DescribeDirectories
4679// operation with the directory identifier. When the DirectoryDescription.Stage
4680// value changes to Active, the restore operation is complete.
4681//
4682// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4683// with awserr.Error's Code and Message methods to get detailed information about
4684// the error.
4685//
4686// See the AWS API reference guide for AWS Directory Service's
4687// API operation RestoreFromSnapshot for usage and error information.
4688//
4689// Returned Error Types:
4690//   * EntityDoesNotExistException
4691//   The specified entity could not be found.
4692//
4693//   * InvalidParameterException
4694//   One or more parameters are not valid.
4695//
4696//   * ClientException
4697//   A client exception has occurred.
4698//
4699//   * ServiceException
4700//   An exception has occurred in AWS Directory Service.
4701//
4702// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RestoreFromSnapshot
4703func (c *DirectoryService) RestoreFromSnapshot(input *RestoreFromSnapshotInput) (*RestoreFromSnapshotOutput, error) {
4704	req, out := c.RestoreFromSnapshotRequest(input)
4705	return out, req.Send()
4706}
4707
4708// RestoreFromSnapshotWithContext is the same as RestoreFromSnapshot with the addition of
4709// the ability to pass a context and additional request options.
4710//
4711// See RestoreFromSnapshot for details on how to use this API operation.
4712//
4713// The context must be non-nil and will be used for request cancellation. If
4714// the context is nil a panic will occur. In the future the SDK may create
4715// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4716// for more information on using Contexts.
4717func (c *DirectoryService) RestoreFromSnapshotWithContext(ctx aws.Context, input *RestoreFromSnapshotInput, opts ...request.Option) (*RestoreFromSnapshotOutput, error) {
4718	req, out := c.RestoreFromSnapshotRequest(input)
4719	req.SetContext(ctx)
4720	req.ApplyOptions(opts...)
4721	return out, req.Send()
4722}
4723
4724const opShareDirectory = "ShareDirectory"
4725
4726// ShareDirectoryRequest generates a "aws/request.Request" representing the
4727// client's request for the ShareDirectory operation. The "output" return
4728// value will be populated with the request's response once the request completes
4729// successfully.
4730//
4731// Use "Send" method on the returned Request to send the API call to the service.
4732// the "output" return value is not valid until after Send returns without error.
4733//
4734// See ShareDirectory for more information on using the ShareDirectory
4735// API call, and error handling.
4736//
4737// This method is useful when you want to inject custom logic or configuration
4738// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4739//
4740//
4741//    // Example sending a request using the ShareDirectoryRequest method.
4742//    req, resp := client.ShareDirectoryRequest(params)
4743//
4744//    err := req.Send()
4745//    if err == nil { // resp is now filled
4746//        fmt.Println(resp)
4747//    }
4748//
4749// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ShareDirectory
4750func (c *DirectoryService) ShareDirectoryRequest(input *ShareDirectoryInput) (req *request.Request, output *ShareDirectoryOutput) {
4751	op := &request.Operation{
4752		Name:       opShareDirectory,
4753		HTTPMethod: "POST",
4754		HTTPPath:   "/",
4755	}
4756
4757	if input == nil {
4758		input = &ShareDirectoryInput{}
4759	}
4760
4761	output = &ShareDirectoryOutput{}
4762	req = c.newRequest(op, input, output)
4763	return
4764}
4765
4766// ShareDirectory API operation for AWS Directory Service.
4767//
4768// Shares a specified directory (DirectoryId) in your AWS account (directory
4769// owner) with another AWS account (directory consumer). With this operation
4770// you can use your directory from any AWS account and from any Amazon VPC within
4771// an AWS Region.
4772//
4773// When you share your AWS Managed Microsoft AD directory, AWS Directory Service
4774// creates a shared directory in the directory consumer account. This shared
4775// directory contains the metadata to provide access to the directory within
4776// the directory owner account. The shared directory is visible in all VPCs
4777// in the directory consumer account.
4778//
4779// The ShareMethod parameter determines whether the specified directory can
4780// be shared between AWS accounts inside the same AWS organization (ORGANIZATIONS).
4781// It also determines whether you can share the directory with any other AWS
4782// account either inside or outside of the organization (HANDSHAKE).
4783//
4784// The ShareNotes parameter is only used when HANDSHAKE is called, which sends
4785// a directory sharing request to the directory consumer.
4786//
4787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4788// with awserr.Error's Code and Message methods to get detailed information about
4789// the error.
4790//
4791// See the AWS API reference guide for AWS Directory Service's
4792// API operation ShareDirectory for usage and error information.
4793//
4794// Returned Error Types:
4795//   * DirectoryAlreadySharedException
4796//   The specified directory has already been shared with this AWS account.
4797//
4798//   * EntityDoesNotExistException
4799//   The specified entity could not be found.
4800//
4801//   * InvalidTargetException
4802//   The specified shared target is not valid.
4803//
4804//   * InvalidParameterException
4805//   One or more parameters are not valid.
4806//
4807//   * ClientException
4808//   A client exception has occurred.
4809//
4810//   * ShareLimitExceededException
4811//   The maximum number of AWS accounts that you can share with this directory
4812//   has been reached.
4813//
4814//   * OrganizationsException
4815//   Exception encountered while trying to access your AWS organization.
4816//
4817//   * AccessDeniedException
4818//   You do not have sufficient access to perform this action.
4819//
4820//   * UnsupportedOperationException
4821//   The operation is not supported.
4822//
4823//   * ServiceException
4824//   An exception has occurred in AWS Directory Service.
4825//
4826// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ShareDirectory
4827func (c *DirectoryService) ShareDirectory(input *ShareDirectoryInput) (*ShareDirectoryOutput, error) {
4828	req, out := c.ShareDirectoryRequest(input)
4829	return out, req.Send()
4830}
4831
4832// ShareDirectoryWithContext is the same as ShareDirectory with the addition of
4833// the ability to pass a context and additional request options.
4834//
4835// See ShareDirectory for details on how to use this API operation.
4836//
4837// The context must be non-nil and will be used for request cancellation. If
4838// the context is nil a panic will occur. In the future the SDK may create
4839// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4840// for more information on using Contexts.
4841func (c *DirectoryService) ShareDirectoryWithContext(ctx aws.Context, input *ShareDirectoryInput, opts ...request.Option) (*ShareDirectoryOutput, error) {
4842	req, out := c.ShareDirectoryRequest(input)
4843	req.SetContext(ctx)
4844	req.ApplyOptions(opts...)
4845	return out, req.Send()
4846}
4847
4848const opStartSchemaExtension = "StartSchemaExtension"
4849
4850// StartSchemaExtensionRequest generates a "aws/request.Request" representing the
4851// client's request for the StartSchemaExtension operation. The "output" return
4852// value will be populated with the request's response once the request completes
4853// successfully.
4854//
4855// Use "Send" method on the returned Request to send the API call to the service.
4856// the "output" return value is not valid until after Send returns without error.
4857//
4858// See StartSchemaExtension for more information on using the StartSchemaExtension
4859// API call, and error handling.
4860//
4861// This method is useful when you want to inject custom logic or configuration
4862// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4863//
4864//
4865//    // Example sending a request using the StartSchemaExtensionRequest method.
4866//    req, resp := client.StartSchemaExtensionRequest(params)
4867//
4868//    err := req.Send()
4869//    if err == nil { // resp is now filled
4870//        fmt.Println(resp)
4871//    }
4872//
4873// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/StartSchemaExtension
4874func (c *DirectoryService) StartSchemaExtensionRequest(input *StartSchemaExtensionInput) (req *request.Request, output *StartSchemaExtensionOutput) {
4875	op := &request.Operation{
4876		Name:       opStartSchemaExtension,
4877		HTTPMethod: "POST",
4878		HTTPPath:   "/",
4879	}
4880
4881	if input == nil {
4882		input = &StartSchemaExtensionInput{}
4883	}
4884
4885	output = &StartSchemaExtensionOutput{}
4886	req = c.newRequest(op, input, output)
4887	return
4888}
4889
4890// StartSchemaExtension API operation for AWS Directory Service.
4891//
4892// Applies a schema extension to a Microsoft AD directory.
4893//
4894// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4895// with awserr.Error's Code and Message methods to get detailed information about
4896// the error.
4897//
4898// See the AWS API reference guide for AWS Directory Service's
4899// API operation StartSchemaExtension for usage and error information.
4900//
4901// Returned Error Types:
4902//   * DirectoryUnavailableException
4903//   The specified directory is unavailable or could not be found.
4904//
4905//   * EntityDoesNotExistException
4906//   The specified entity could not be found.
4907//
4908//   * InvalidParameterException
4909//   One or more parameters are not valid.
4910//
4911//   * SnapshotLimitExceededException
4912//   The maximum number of manual snapshots for the directory has been reached.
4913//   You can use the GetSnapshotLimits operation to determine the snapshot limits
4914//   for a directory.
4915//
4916//   * ClientException
4917//   A client exception has occurred.
4918//
4919//   * ServiceException
4920//   An exception has occurred in AWS Directory Service.
4921//
4922// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/StartSchemaExtension
4923func (c *DirectoryService) StartSchemaExtension(input *StartSchemaExtensionInput) (*StartSchemaExtensionOutput, error) {
4924	req, out := c.StartSchemaExtensionRequest(input)
4925	return out, req.Send()
4926}
4927
4928// StartSchemaExtensionWithContext is the same as StartSchemaExtension with the addition of
4929// the ability to pass a context and additional request options.
4930//
4931// See StartSchemaExtension for details on how to use this API operation.
4932//
4933// The context must be non-nil and will be used for request cancellation. If
4934// the context is nil a panic will occur. In the future the SDK may create
4935// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4936// for more information on using Contexts.
4937func (c *DirectoryService) StartSchemaExtensionWithContext(ctx aws.Context, input *StartSchemaExtensionInput, opts ...request.Option) (*StartSchemaExtensionOutput, error) {
4938	req, out := c.StartSchemaExtensionRequest(input)
4939	req.SetContext(ctx)
4940	req.ApplyOptions(opts...)
4941	return out, req.Send()
4942}
4943
4944const opUnshareDirectory = "UnshareDirectory"
4945
4946// UnshareDirectoryRequest generates a "aws/request.Request" representing the
4947// client's request for the UnshareDirectory operation. The "output" return
4948// value will be populated with the request's response once the request completes
4949// successfully.
4950//
4951// Use "Send" method on the returned Request to send the API call to the service.
4952// the "output" return value is not valid until after Send returns without error.
4953//
4954// See UnshareDirectory for more information on using the UnshareDirectory
4955// API call, and error handling.
4956//
4957// This method is useful when you want to inject custom logic or configuration
4958// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4959//
4960//
4961//    // Example sending a request using the UnshareDirectoryRequest method.
4962//    req, resp := client.UnshareDirectoryRequest(params)
4963//
4964//    err := req.Send()
4965//    if err == nil { // resp is now filled
4966//        fmt.Println(resp)
4967//    }
4968//
4969// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UnshareDirectory
4970func (c *DirectoryService) UnshareDirectoryRequest(input *UnshareDirectoryInput) (req *request.Request, output *UnshareDirectoryOutput) {
4971	op := &request.Operation{
4972		Name:       opUnshareDirectory,
4973		HTTPMethod: "POST",
4974		HTTPPath:   "/",
4975	}
4976
4977	if input == nil {
4978		input = &UnshareDirectoryInput{}
4979	}
4980
4981	output = &UnshareDirectoryOutput{}
4982	req = c.newRequest(op, input, output)
4983	return
4984}
4985
4986// UnshareDirectory API operation for AWS Directory Service.
4987//
4988// Stops the directory sharing between the directory owner and consumer accounts.
4989//
4990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4991// with awserr.Error's Code and Message methods to get detailed information about
4992// the error.
4993//
4994// See the AWS API reference guide for AWS Directory Service's
4995// API operation UnshareDirectory for usage and error information.
4996//
4997// Returned Error Types:
4998//   * EntityDoesNotExistException
4999//   The specified entity could not be found.
5000//
5001//   * InvalidTargetException
5002//   The specified shared target is not valid.
5003//
5004//   * DirectoryNotSharedException
5005//   The specified directory has not been shared with this AWS account.
5006//
5007//   * ClientException
5008//   A client exception has occurred.
5009//
5010//   * ServiceException
5011//   An exception has occurred in AWS Directory Service.
5012//
5013// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UnshareDirectory
5014func (c *DirectoryService) UnshareDirectory(input *UnshareDirectoryInput) (*UnshareDirectoryOutput, error) {
5015	req, out := c.UnshareDirectoryRequest(input)
5016	return out, req.Send()
5017}
5018
5019// UnshareDirectoryWithContext is the same as UnshareDirectory with the addition of
5020// the ability to pass a context and additional request options.
5021//
5022// See UnshareDirectory for details on how to use this API operation.
5023//
5024// The context must be non-nil and will be used for request cancellation. If
5025// the context is nil a panic will occur. In the future the SDK may create
5026// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5027// for more information on using Contexts.
5028func (c *DirectoryService) UnshareDirectoryWithContext(ctx aws.Context, input *UnshareDirectoryInput, opts ...request.Option) (*UnshareDirectoryOutput, error) {
5029	req, out := c.UnshareDirectoryRequest(input)
5030	req.SetContext(ctx)
5031	req.ApplyOptions(opts...)
5032	return out, req.Send()
5033}
5034
5035const opUpdateConditionalForwarder = "UpdateConditionalForwarder"
5036
5037// UpdateConditionalForwarderRequest generates a "aws/request.Request" representing the
5038// client's request for the UpdateConditionalForwarder operation. The "output" return
5039// value will be populated with the request's response once the request completes
5040// successfully.
5041//
5042// Use "Send" method on the returned Request to send the API call to the service.
5043// the "output" return value is not valid until after Send returns without error.
5044//
5045// See UpdateConditionalForwarder for more information on using the UpdateConditionalForwarder
5046// API call, and error handling.
5047//
5048// This method is useful when you want to inject custom logic or configuration
5049// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5050//
5051//
5052//    // Example sending a request using the UpdateConditionalForwarderRequest method.
5053//    req, resp := client.UpdateConditionalForwarderRequest(params)
5054//
5055//    err := req.Send()
5056//    if err == nil { // resp is now filled
5057//        fmt.Println(resp)
5058//    }
5059//
5060// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UpdateConditionalForwarder
5061func (c *DirectoryService) UpdateConditionalForwarderRequest(input *UpdateConditionalForwarderInput) (req *request.Request, output *UpdateConditionalForwarderOutput) {
5062	op := &request.Operation{
5063		Name:       opUpdateConditionalForwarder,
5064		HTTPMethod: "POST",
5065		HTTPPath:   "/",
5066	}
5067
5068	if input == nil {
5069		input = &UpdateConditionalForwarderInput{}
5070	}
5071
5072	output = &UpdateConditionalForwarderOutput{}
5073	req = c.newRequest(op, input, output)
5074	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5075	return
5076}
5077
5078// UpdateConditionalForwarder API operation for AWS Directory Service.
5079//
5080// Updates a conditional forwarder that has been set up for your AWS directory.
5081//
5082// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5083// with awserr.Error's Code and Message methods to get detailed information about
5084// the error.
5085//
5086// See the AWS API reference guide for AWS Directory Service's
5087// API operation UpdateConditionalForwarder for usage and error information.
5088//
5089// Returned Error Types:
5090//   * EntityDoesNotExistException
5091//   The specified entity could not be found.
5092//
5093//   * DirectoryUnavailableException
5094//   The specified directory is unavailable or could not be found.
5095//
5096//   * InvalidParameterException
5097//   One or more parameters are not valid.
5098//
5099//   * UnsupportedOperationException
5100//   The operation is not supported.
5101//
5102//   * ClientException
5103//   A client exception has occurred.
5104//
5105//   * ServiceException
5106//   An exception has occurred in AWS Directory Service.
5107//
5108// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UpdateConditionalForwarder
5109func (c *DirectoryService) UpdateConditionalForwarder(input *UpdateConditionalForwarderInput) (*UpdateConditionalForwarderOutput, error) {
5110	req, out := c.UpdateConditionalForwarderRequest(input)
5111	return out, req.Send()
5112}
5113
5114// UpdateConditionalForwarderWithContext is the same as UpdateConditionalForwarder with the addition of
5115// the ability to pass a context and additional request options.
5116//
5117// See UpdateConditionalForwarder for details on how to use this API operation.
5118//
5119// The context must be non-nil and will be used for request cancellation. If
5120// the context is nil a panic will occur. In the future the SDK may create
5121// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5122// for more information on using Contexts.
5123func (c *DirectoryService) UpdateConditionalForwarderWithContext(ctx aws.Context, input *UpdateConditionalForwarderInput, opts ...request.Option) (*UpdateConditionalForwarderOutput, error) {
5124	req, out := c.UpdateConditionalForwarderRequest(input)
5125	req.SetContext(ctx)
5126	req.ApplyOptions(opts...)
5127	return out, req.Send()
5128}
5129
5130const opUpdateNumberOfDomainControllers = "UpdateNumberOfDomainControllers"
5131
5132// UpdateNumberOfDomainControllersRequest generates a "aws/request.Request" representing the
5133// client's request for the UpdateNumberOfDomainControllers operation. The "output" return
5134// value will be populated with the request's response once the request completes
5135// successfully.
5136//
5137// Use "Send" method on the returned Request to send the API call to the service.
5138// the "output" return value is not valid until after Send returns without error.
5139//
5140// See UpdateNumberOfDomainControllers for more information on using the UpdateNumberOfDomainControllers
5141// API call, and error handling.
5142//
5143// This method is useful when you want to inject custom logic or configuration
5144// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5145//
5146//
5147//    // Example sending a request using the UpdateNumberOfDomainControllersRequest method.
5148//    req, resp := client.UpdateNumberOfDomainControllersRequest(params)
5149//
5150//    err := req.Send()
5151//    if err == nil { // resp is now filled
5152//        fmt.Println(resp)
5153//    }
5154//
5155// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UpdateNumberOfDomainControllers
5156func (c *DirectoryService) UpdateNumberOfDomainControllersRequest(input *UpdateNumberOfDomainControllersInput) (req *request.Request, output *UpdateNumberOfDomainControllersOutput) {
5157	op := &request.Operation{
5158		Name:       opUpdateNumberOfDomainControllers,
5159		HTTPMethod: "POST",
5160		HTTPPath:   "/",
5161	}
5162
5163	if input == nil {
5164		input = &UpdateNumberOfDomainControllersInput{}
5165	}
5166
5167	output = &UpdateNumberOfDomainControllersOutput{}
5168	req = c.newRequest(op, input, output)
5169	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5170	return
5171}
5172
5173// UpdateNumberOfDomainControllers API operation for AWS Directory Service.
5174//
5175// Adds or removes domain controllers to or from the directory. Based on the
5176// difference between current value and new value (provided through this API
5177// call), domain controllers will be added or removed. It may take up to 45
5178// minutes for any new domain controllers to become fully active once the requested
5179// number of domain controllers is updated. During this time, you cannot make
5180// another update request.
5181//
5182// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5183// with awserr.Error's Code and Message methods to get detailed information about
5184// the error.
5185//
5186// See the AWS API reference guide for AWS Directory Service's
5187// API operation UpdateNumberOfDomainControllers for usage and error information.
5188//
5189// Returned Error Types:
5190//   * EntityDoesNotExistException
5191//   The specified entity could not be found.
5192//
5193//   * DirectoryUnavailableException
5194//   The specified directory is unavailable or could not be found.
5195//
5196//   * DomainControllerLimitExceededException
5197//   The maximum allowed number of domain controllers per directory was exceeded.
5198//   The default limit per directory is 20 domain controllers.
5199//
5200//   * InvalidParameterException
5201//   One or more parameters are not valid.
5202//
5203//   * UnsupportedOperationException
5204//   The operation is not supported.
5205//
5206//   * ClientException
5207//   A client exception has occurred.
5208//
5209//   * ServiceException
5210//   An exception has occurred in AWS Directory Service.
5211//
5212// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UpdateNumberOfDomainControllers
5213func (c *DirectoryService) UpdateNumberOfDomainControllers(input *UpdateNumberOfDomainControllersInput) (*UpdateNumberOfDomainControllersOutput, error) {
5214	req, out := c.UpdateNumberOfDomainControllersRequest(input)
5215	return out, req.Send()
5216}
5217
5218// UpdateNumberOfDomainControllersWithContext is the same as UpdateNumberOfDomainControllers with the addition of
5219// the ability to pass a context and additional request options.
5220//
5221// See UpdateNumberOfDomainControllers for details on how to use this API operation.
5222//
5223// The context must be non-nil and will be used for request cancellation. If
5224// the context is nil a panic will occur. In the future the SDK may create
5225// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5226// for more information on using Contexts.
5227func (c *DirectoryService) UpdateNumberOfDomainControllersWithContext(ctx aws.Context, input *UpdateNumberOfDomainControllersInput, opts ...request.Option) (*UpdateNumberOfDomainControllersOutput, error) {
5228	req, out := c.UpdateNumberOfDomainControllersRequest(input)
5229	req.SetContext(ctx)
5230	req.ApplyOptions(opts...)
5231	return out, req.Send()
5232}
5233
5234const opUpdateRadius = "UpdateRadius"
5235
5236// UpdateRadiusRequest generates a "aws/request.Request" representing the
5237// client's request for the UpdateRadius operation. The "output" return
5238// value will be populated with the request's response once the request completes
5239// successfully.
5240//
5241// Use "Send" method on the returned Request to send the API call to the service.
5242// the "output" return value is not valid until after Send returns without error.
5243//
5244// See UpdateRadius for more information on using the UpdateRadius
5245// API call, and error handling.
5246//
5247// This method is useful when you want to inject custom logic or configuration
5248// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5249//
5250//
5251//    // Example sending a request using the UpdateRadiusRequest method.
5252//    req, resp := client.UpdateRadiusRequest(params)
5253//
5254//    err := req.Send()
5255//    if err == nil { // resp is now filled
5256//        fmt.Println(resp)
5257//    }
5258//
5259// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UpdateRadius
5260func (c *DirectoryService) UpdateRadiusRequest(input *UpdateRadiusInput) (req *request.Request, output *UpdateRadiusOutput) {
5261	op := &request.Operation{
5262		Name:       opUpdateRadius,
5263		HTTPMethod: "POST",
5264		HTTPPath:   "/",
5265	}
5266
5267	if input == nil {
5268		input = &UpdateRadiusInput{}
5269	}
5270
5271	output = &UpdateRadiusOutput{}
5272	req = c.newRequest(op, input, output)
5273	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5274	return
5275}
5276
5277// UpdateRadius API operation for AWS Directory Service.
5278//
5279// Updates the Remote Authentication Dial In User Service (RADIUS) server information
5280// for an AD Connector or Microsoft AD directory.
5281//
5282// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5283// with awserr.Error's Code and Message methods to get detailed information about
5284// the error.
5285//
5286// See the AWS API reference guide for AWS Directory Service's
5287// API operation UpdateRadius for usage and error information.
5288//
5289// Returned Error Types:
5290//   * InvalidParameterException
5291//   One or more parameters are not valid.
5292//
5293//   * EntityDoesNotExistException
5294//   The specified entity could not be found.
5295//
5296//   * ClientException
5297//   A client exception has occurred.
5298//
5299//   * ServiceException
5300//   An exception has occurred in AWS Directory Service.
5301//
5302// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UpdateRadius
5303func (c *DirectoryService) UpdateRadius(input *UpdateRadiusInput) (*UpdateRadiusOutput, error) {
5304	req, out := c.UpdateRadiusRequest(input)
5305	return out, req.Send()
5306}
5307
5308// UpdateRadiusWithContext is the same as UpdateRadius with the addition of
5309// the ability to pass a context and additional request options.
5310//
5311// See UpdateRadius for details on how to use this API operation.
5312//
5313// The context must be non-nil and will be used for request cancellation. If
5314// the context is nil a panic will occur. In the future the SDK may create
5315// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5316// for more information on using Contexts.
5317func (c *DirectoryService) UpdateRadiusWithContext(ctx aws.Context, input *UpdateRadiusInput, opts ...request.Option) (*UpdateRadiusOutput, error) {
5318	req, out := c.UpdateRadiusRequest(input)
5319	req.SetContext(ctx)
5320	req.ApplyOptions(opts...)
5321	return out, req.Send()
5322}
5323
5324const opUpdateTrust = "UpdateTrust"
5325
5326// UpdateTrustRequest generates a "aws/request.Request" representing the
5327// client's request for the UpdateTrust operation. The "output" return
5328// value will be populated with the request's response once the request completes
5329// successfully.
5330//
5331// Use "Send" method on the returned Request to send the API call to the service.
5332// the "output" return value is not valid until after Send returns without error.
5333//
5334// See UpdateTrust for more information on using the UpdateTrust
5335// API call, and error handling.
5336//
5337// This method is useful when you want to inject custom logic or configuration
5338// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5339//
5340//
5341//    // Example sending a request using the UpdateTrustRequest method.
5342//    req, resp := client.UpdateTrustRequest(params)
5343//
5344//    err := req.Send()
5345//    if err == nil { // resp is now filled
5346//        fmt.Println(resp)
5347//    }
5348//
5349// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UpdateTrust
5350func (c *DirectoryService) UpdateTrustRequest(input *UpdateTrustInput) (req *request.Request, output *UpdateTrustOutput) {
5351	op := &request.Operation{
5352		Name:       opUpdateTrust,
5353		HTTPMethod: "POST",
5354		HTTPPath:   "/",
5355	}
5356
5357	if input == nil {
5358		input = &UpdateTrustInput{}
5359	}
5360
5361	output = &UpdateTrustOutput{}
5362	req = c.newRequest(op, input, output)
5363	return
5364}
5365
5366// UpdateTrust API operation for AWS Directory Service.
5367//
5368// Updates the trust that has been set up between your AWS Managed Microsoft
5369// AD directory and an on-premises Active Directory.
5370//
5371// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5372// with awserr.Error's Code and Message methods to get detailed information about
5373// the error.
5374//
5375// See the AWS API reference guide for AWS Directory Service's
5376// API operation UpdateTrust for usage and error information.
5377//
5378// Returned Error Types:
5379//   * EntityDoesNotExistException
5380//   The specified entity could not be found.
5381//
5382//   * InvalidParameterException
5383//   One or more parameters are not valid.
5384//
5385//   * ClientException
5386//   A client exception has occurred.
5387//
5388//   * ServiceException
5389//   An exception has occurred in AWS Directory Service.
5390//
5391// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UpdateTrust
5392func (c *DirectoryService) UpdateTrust(input *UpdateTrustInput) (*UpdateTrustOutput, error) {
5393	req, out := c.UpdateTrustRequest(input)
5394	return out, req.Send()
5395}
5396
5397// UpdateTrustWithContext is the same as UpdateTrust with the addition of
5398// the ability to pass a context and additional request options.
5399//
5400// See UpdateTrust for details on how to use this API operation.
5401//
5402// The context must be non-nil and will be used for request cancellation. If
5403// the context is nil a panic will occur. In the future the SDK may create
5404// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5405// for more information on using Contexts.
5406func (c *DirectoryService) UpdateTrustWithContext(ctx aws.Context, input *UpdateTrustInput, opts ...request.Option) (*UpdateTrustOutput, error) {
5407	req, out := c.UpdateTrustRequest(input)
5408	req.SetContext(ctx)
5409	req.ApplyOptions(opts...)
5410	return out, req.Send()
5411}
5412
5413const opVerifyTrust = "VerifyTrust"
5414
5415// VerifyTrustRequest generates a "aws/request.Request" representing the
5416// client's request for the VerifyTrust operation. The "output" return
5417// value will be populated with the request's response once the request completes
5418// successfully.
5419//
5420// Use "Send" method on the returned Request to send the API call to the service.
5421// the "output" return value is not valid until after Send returns without error.
5422//
5423// See VerifyTrust for more information on using the VerifyTrust
5424// API call, and error handling.
5425//
5426// This method is useful when you want to inject custom logic or configuration
5427// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5428//
5429//
5430//    // Example sending a request using the VerifyTrustRequest method.
5431//    req, resp := client.VerifyTrustRequest(params)
5432//
5433//    err := req.Send()
5434//    if err == nil { // resp is now filled
5435//        fmt.Println(resp)
5436//    }
5437//
5438// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/VerifyTrust
5439func (c *DirectoryService) VerifyTrustRequest(input *VerifyTrustInput) (req *request.Request, output *VerifyTrustOutput) {
5440	op := &request.Operation{
5441		Name:       opVerifyTrust,
5442		HTTPMethod: "POST",
5443		HTTPPath:   "/",
5444	}
5445
5446	if input == nil {
5447		input = &VerifyTrustInput{}
5448	}
5449
5450	output = &VerifyTrustOutput{}
5451	req = c.newRequest(op, input, output)
5452	return
5453}
5454
5455// VerifyTrust API operation for AWS Directory Service.
5456//
5457// AWS Directory Service for Microsoft Active Directory allows you to configure
5458// and verify trust relationships.
5459//
5460// This action verifies a trust relationship between your AWS Managed Microsoft
5461// AD directory and an external domain.
5462//
5463// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5464// with awserr.Error's Code and Message methods to get detailed information about
5465// the error.
5466//
5467// See the AWS API reference guide for AWS Directory Service's
5468// API operation VerifyTrust for usage and error information.
5469//
5470// Returned Error Types:
5471//   * EntityDoesNotExistException
5472//   The specified entity could not be found.
5473//
5474//   * InvalidParameterException
5475//   One or more parameters are not valid.
5476//
5477//   * ClientException
5478//   A client exception has occurred.
5479//
5480//   * ServiceException
5481//   An exception has occurred in AWS Directory Service.
5482//
5483//   * UnsupportedOperationException
5484//   The operation is not supported.
5485//
5486// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/VerifyTrust
5487func (c *DirectoryService) VerifyTrust(input *VerifyTrustInput) (*VerifyTrustOutput, error) {
5488	req, out := c.VerifyTrustRequest(input)
5489	return out, req.Send()
5490}
5491
5492// VerifyTrustWithContext is the same as VerifyTrust with the addition of
5493// the ability to pass a context and additional request options.
5494//
5495// See VerifyTrust for details on how to use this API operation.
5496//
5497// The context must be non-nil and will be used for request cancellation. If
5498// the context is nil a panic will occur. In the future the SDK may create
5499// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5500// for more information on using Contexts.
5501func (c *DirectoryService) VerifyTrustWithContext(ctx aws.Context, input *VerifyTrustInput, opts ...request.Option) (*VerifyTrustOutput, error) {
5502	req, out := c.VerifyTrustRequest(input)
5503	req.SetContext(ctx)
5504	req.ApplyOptions(opts...)
5505	return out, req.Send()
5506}
5507
5508type AcceptSharedDirectoryInput struct {
5509	_ struct{} `type:"structure"`
5510
5511	// Identifier of the shared directory in the directory consumer account. This
5512	// identifier is different for each directory owner account.
5513	//
5514	// SharedDirectoryId is a required field
5515	SharedDirectoryId *string `type:"string" required:"true"`
5516}
5517
5518// String returns the string representation
5519func (s AcceptSharedDirectoryInput) String() string {
5520	return awsutil.Prettify(s)
5521}
5522
5523// GoString returns the string representation
5524func (s AcceptSharedDirectoryInput) GoString() string {
5525	return s.String()
5526}
5527
5528// Validate inspects the fields of the type to determine if they are valid.
5529func (s *AcceptSharedDirectoryInput) Validate() error {
5530	invalidParams := request.ErrInvalidParams{Context: "AcceptSharedDirectoryInput"}
5531	if s.SharedDirectoryId == nil {
5532		invalidParams.Add(request.NewErrParamRequired("SharedDirectoryId"))
5533	}
5534
5535	if invalidParams.Len() > 0 {
5536		return invalidParams
5537	}
5538	return nil
5539}
5540
5541// SetSharedDirectoryId sets the SharedDirectoryId field's value.
5542func (s *AcceptSharedDirectoryInput) SetSharedDirectoryId(v string) *AcceptSharedDirectoryInput {
5543	s.SharedDirectoryId = &v
5544	return s
5545}
5546
5547type AcceptSharedDirectoryOutput struct {
5548	_ struct{} `type:"structure"`
5549
5550	// The shared directory in the directory consumer account.
5551	SharedDirectory *SharedDirectory `type:"structure"`
5552}
5553
5554// String returns the string representation
5555func (s AcceptSharedDirectoryOutput) String() string {
5556	return awsutil.Prettify(s)
5557}
5558
5559// GoString returns the string representation
5560func (s AcceptSharedDirectoryOutput) GoString() string {
5561	return s.String()
5562}
5563
5564// SetSharedDirectory sets the SharedDirectory field's value.
5565func (s *AcceptSharedDirectoryOutput) SetSharedDirectory(v *SharedDirectory) *AcceptSharedDirectoryOutput {
5566	s.SharedDirectory = v
5567	return s
5568}
5569
5570// You do not have sufficient access to perform this action.
5571type AccessDeniedException struct {
5572	_            struct{}                  `type:"structure"`
5573	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5574
5575	// The descriptive message for the exception.
5576	Message_ *string `locationName:"Message" type:"string"`
5577
5578	// The AWS request identifier.
5579	RequestId *string `type:"string"`
5580}
5581
5582// String returns the string representation
5583func (s AccessDeniedException) String() string {
5584	return awsutil.Prettify(s)
5585}
5586
5587// GoString returns the string representation
5588func (s AccessDeniedException) GoString() string {
5589	return s.String()
5590}
5591
5592func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
5593	return &AccessDeniedException{
5594		RespMetadata: v,
5595	}
5596}
5597
5598// Code returns the exception type name.
5599func (s *AccessDeniedException) Code() string {
5600	return "AccessDeniedException"
5601}
5602
5603// Message returns the exception's message.
5604func (s *AccessDeniedException) Message() string {
5605	if s.Message_ != nil {
5606		return *s.Message_
5607	}
5608	return ""
5609}
5610
5611// OrigErr always returns nil, satisfies awserr.Error interface.
5612func (s *AccessDeniedException) OrigErr() error {
5613	return nil
5614}
5615
5616func (s *AccessDeniedException) Error() string {
5617	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5618}
5619
5620// Status code returns the HTTP status code for the request's response error.
5621func (s *AccessDeniedException) StatusCode() int {
5622	return s.RespMetadata.StatusCode
5623}
5624
5625// RequestID returns the service's response RequestID for request.
5626func (s *AccessDeniedException) RequestID() string {
5627	return s.RespMetadata.RequestID
5628}
5629
5630type AddIpRoutesInput struct {
5631	_ struct{} `type:"structure"`
5632
5633	// Identifier (ID) of the directory to which to add the address block.
5634	//
5635	// DirectoryId is a required field
5636	DirectoryId *string `type:"string" required:"true"`
5637
5638	// IP address blocks, using CIDR format, of the traffic to route. This is often
5639	// the IP address block of the DNS server used for your on-premises domain.
5640	//
5641	// IpRoutes is a required field
5642	IpRoutes []*IpRoute `type:"list" required:"true"`
5643
5644	// If set to true, updates the inbound and outbound rules of the security group
5645	// that has the description: "AWS created security group for directory ID directory
5646	// controllers." Following are the new rules:
5647	//
5648	// Inbound:
5649	//
5650	//    * Type: Custom UDP Rule, Protocol: UDP, Range: 88, Source: 0.0.0.0/0
5651	//
5652	//    * Type: Custom UDP Rule, Protocol: UDP, Range: 123, Source: 0.0.0.0/0
5653	//
5654	//    * Type: Custom UDP Rule, Protocol: UDP, Range: 138, Source: 0.0.0.0/0
5655	//
5656	//    * Type: Custom UDP Rule, Protocol: UDP, Range: 389, Source: 0.0.0.0/0
5657	//
5658	//    * Type: Custom UDP Rule, Protocol: UDP, Range: 464, Source: 0.0.0.0/0
5659	//
5660	//    * Type: Custom UDP Rule, Protocol: UDP, Range: 445, Source: 0.0.0.0/0
5661	//
5662	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 88, Source: 0.0.0.0/0
5663	//
5664	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 135, Source: 0.0.0.0/0
5665	//
5666	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 445, Source: 0.0.0.0/0
5667	//
5668	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 464, Source: 0.0.0.0/0
5669	//
5670	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0/0
5671	//
5672	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: 0.0.0.0/0
5673	//
5674	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: 0.0.0.0/0
5675	//
5676	//    * Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0
5677	//
5678	//    * Type: DNS (TCP), Protocol: TCP, Range: 53, Source: 0.0.0.0/0
5679	//
5680	//    * Type: LDAP, Protocol: TCP, Range: 389, Source: 0.0.0.0/0
5681	//
5682	//    * Type: All ICMP, Protocol: All, Range: N/A, Source: 0.0.0.0/0
5683	//
5684	// Outbound:
5685	//
5686	//    * Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0
5687	//
5688	// These security rules impact an internal network interface that is not exposed
5689	// publicly.
5690	UpdateSecurityGroupForDirectoryControllers *bool `type:"boolean"`
5691}
5692
5693// String returns the string representation
5694func (s AddIpRoutesInput) String() string {
5695	return awsutil.Prettify(s)
5696}
5697
5698// GoString returns the string representation
5699func (s AddIpRoutesInput) GoString() string {
5700	return s.String()
5701}
5702
5703// Validate inspects the fields of the type to determine if they are valid.
5704func (s *AddIpRoutesInput) Validate() error {
5705	invalidParams := request.ErrInvalidParams{Context: "AddIpRoutesInput"}
5706	if s.DirectoryId == nil {
5707		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
5708	}
5709	if s.IpRoutes == nil {
5710		invalidParams.Add(request.NewErrParamRequired("IpRoutes"))
5711	}
5712
5713	if invalidParams.Len() > 0 {
5714		return invalidParams
5715	}
5716	return nil
5717}
5718
5719// SetDirectoryId sets the DirectoryId field's value.
5720func (s *AddIpRoutesInput) SetDirectoryId(v string) *AddIpRoutesInput {
5721	s.DirectoryId = &v
5722	return s
5723}
5724
5725// SetIpRoutes sets the IpRoutes field's value.
5726func (s *AddIpRoutesInput) SetIpRoutes(v []*IpRoute) *AddIpRoutesInput {
5727	s.IpRoutes = v
5728	return s
5729}
5730
5731// SetUpdateSecurityGroupForDirectoryControllers sets the UpdateSecurityGroupForDirectoryControllers field's value.
5732func (s *AddIpRoutesInput) SetUpdateSecurityGroupForDirectoryControllers(v bool) *AddIpRoutesInput {
5733	s.UpdateSecurityGroupForDirectoryControllers = &v
5734	return s
5735}
5736
5737type AddIpRoutesOutput struct {
5738	_ struct{} `type:"structure"`
5739}
5740
5741// String returns the string representation
5742func (s AddIpRoutesOutput) String() string {
5743	return awsutil.Prettify(s)
5744}
5745
5746// GoString returns the string representation
5747func (s AddIpRoutesOutput) GoString() string {
5748	return s.String()
5749}
5750
5751type AddTagsToResourceInput struct {
5752	_ struct{} `type:"structure"`
5753
5754	// Identifier (ID) for the directory to which to add the tag.
5755	//
5756	// ResourceId is a required field
5757	ResourceId *string `type:"string" required:"true"`
5758
5759	// The tags to be assigned to the directory.
5760	//
5761	// Tags is a required field
5762	Tags []*Tag `type:"list" required:"true"`
5763}
5764
5765// String returns the string representation
5766func (s AddTagsToResourceInput) String() string {
5767	return awsutil.Prettify(s)
5768}
5769
5770// GoString returns the string representation
5771func (s AddTagsToResourceInput) GoString() string {
5772	return s.String()
5773}
5774
5775// Validate inspects the fields of the type to determine if they are valid.
5776func (s *AddTagsToResourceInput) Validate() error {
5777	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
5778	if s.ResourceId == nil {
5779		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
5780	}
5781	if s.Tags == nil {
5782		invalidParams.Add(request.NewErrParamRequired("Tags"))
5783	}
5784	if s.Tags != nil {
5785		for i, v := range s.Tags {
5786			if v == nil {
5787				continue
5788			}
5789			if err := v.Validate(); err != nil {
5790				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5791			}
5792		}
5793	}
5794
5795	if invalidParams.Len() > 0 {
5796		return invalidParams
5797	}
5798	return nil
5799}
5800
5801// SetResourceId sets the ResourceId field's value.
5802func (s *AddTagsToResourceInput) SetResourceId(v string) *AddTagsToResourceInput {
5803	s.ResourceId = &v
5804	return s
5805}
5806
5807// SetTags sets the Tags field's value.
5808func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
5809	s.Tags = v
5810	return s
5811}
5812
5813type AddTagsToResourceOutput struct {
5814	_ struct{} `type:"structure"`
5815}
5816
5817// String returns the string representation
5818func (s AddTagsToResourceOutput) String() string {
5819	return awsutil.Prettify(s)
5820}
5821
5822// GoString returns the string representation
5823func (s AddTagsToResourceOutput) GoString() string {
5824	return s.String()
5825}
5826
5827// Represents a named directory attribute.
5828type Attribute struct {
5829	_ struct{} `type:"structure"`
5830
5831	// The name of the attribute.
5832	Name *string `min:"1" type:"string"`
5833
5834	// The value of the attribute.
5835	Value *string `type:"string"`
5836}
5837
5838// String returns the string representation
5839func (s Attribute) String() string {
5840	return awsutil.Prettify(s)
5841}
5842
5843// GoString returns the string representation
5844func (s Attribute) GoString() string {
5845	return s.String()
5846}
5847
5848// Validate inspects the fields of the type to determine if they are valid.
5849func (s *Attribute) Validate() error {
5850	invalidParams := request.ErrInvalidParams{Context: "Attribute"}
5851	if s.Name != nil && len(*s.Name) < 1 {
5852		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5853	}
5854
5855	if invalidParams.Len() > 0 {
5856		return invalidParams
5857	}
5858	return nil
5859}
5860
5861// SetName sets the Name field's value.
5862func (s *Attribute) SetName(v string) *Attribute {
5863	s.Name = &v
5864	return s
5865}
5866
5867// SetValue sets the Value field's value.
5868func (s *Attribute) SetValue(v string) *Attribute {
5869	s.Value = &v
5870	return s
5871}
5872
5873// An authentication error occurred.
5874type AuthenticationFailedException struct {
5875	_            struct{}                  `type:"structure"`
5876	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5877
5878	// The textual message for the exception.
5879	Message_ *string `locationName:"Message" type:"string"`
5880
5881	// The identifier of the request that caused the exception.
5882	RequestId *string `type:"string"`
5883}
5884
5885// String returns the string representation
5886func (s AuthenticationFailedException) String() string {
5887	return awsutil.Prettify(s)
5888}
5889
5890// GoString returns the string representation
5891func (s AuthenticationFailedException) GoString() string {
5892	return s.String()
5893}
5894
5895func newErrorAuthenticationFailedException(v protocol.ResponseMetadata) error {
5896	return &AuthenticationFailedException{
5897		RespMetadata: v,
5898	}
5899}
5900
5901// Code returns the exception type name.
5902func (s *AuthenticationFailedException) Code() string {
5903	return "AuthenticationFailedException"
5904}
5905
5906// Message returns the exception's message.
5907func (s *AuthenticationFailedException) Message() string {
5908	if s.Message_ != nil {
5909		return *s.Message_
5910	}
5911	return ""
5912}
5913
5914// OrigErr always returns nil, satisfies awserr.Error interface.
5915func (s *AuthenticationFailedException) OrigErr() error {
5916	return nil
5917}
5918
5919func (s *AuthenticationFailedException) Error() string {
5920	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5921}
5922
5923// Status code returns the HTTP status code for the request's response error.
5924func (s *AuthenticationFailedException) StatusCode() int {
5925	return s.RespMetadata.StatusCode
5926}
5927
5928// RequestID returns the service's response RequestID for request.
5929func (s *AuthenticationFailedException) RequestID() string {
5930	return s.RespMetadata.RequestID
5931}
5932
5933type CancelSchemaExtensionInput struct {
5934	_ struct{} `type:"structure"`
5935
5936	// The identifier of the directory whose schema extension will be canceled.
5937	//
5938	// DirectoryId is a required field
5939	DirectoryId *string `type:"string" required:"true"`
5940
5941	// The identifier of the schema extension that will be canceled.
5942	//
5943	// SchemaExtensionId is a required field
5944	SchemaExtensionId *string `type:"string" required:"true"`
5945}
5946
5947// String returns the string representation
5948func (s CancelSchemaExtensionInput) String() string {
5949	return awsutil.Prettify(s)
5950}
5951
5952// GoString returns the string representation
5953func (s CancelSchemaExtensionInput) GoString() string {
5954	return s.String()
5955}
5956
5957// Validate inspects the fields of the type to determine if they are valid.
5958func (s *CancelSchemaExtensionInput) Validate() error {
5959	invalidParams := request.ErrInvalidParams{Context: "CancelSchemaExtensionInput"}
5960	if s.DirectoryId == nil {
5961		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
5962	}
5963	if s.SchemaExtensionId == nil {
5964		invalidParams.Add(request.NewErrParamRequired("SchemaExtensionId"))
5965	}
5966
5967	if invalidParams.Len() > 0 {
5968		return invalidParams
5969	}
5970	return nil
5971}
5972
5973// SetDirectoryId sets the DirectoryId field's value.
5974func (s *CancelSchemaExtensionInput) SetDirectoryId(v string) *CancelSchemaExtensionInput {
5975	s.DirectoryId = &v
5976	return s
5977}
5978
5979// SetSchemaExtensionId sets the SchemaExtensionId field's value.
5980func (s *CancelSchemaExtensionInput) SetSchemaExtensionId(v string) *CancelSchemaExtensionInput {
5981	s.SchemaExtensionId = &v
5982	return s
5983}
5984
5985type CancelSchemaExtensionOutput struct {
5986	_ struct{} `type:"structure"`
5987}
5988
5989// String returns the string representation
5990func (s CancelSchemaExtensionOutput) String() string {
5991	return awsutil.Prettify(s)
5992}
5993
5994// GoString returns the string representation
5995func (s CancelSchemaExtensionOutput) GoString() string {
5996	return s.String()
5997}
5998
5999// Information about the certificate.
6000type Certificate struct {
6001	_ struct{} `type:"structure"`
6002
6003	// The identifier of the certificate.
6004	CertificateId *string `type:"string"`
6005
6006	// The common name for the certificate.
6007	CommonName *string `type:"string"`
6008
6009	// The date and time when the certificate will expire.
6010	ExpiryDateTime *time.Time `type:"timestamp"`
6011
6012	// The date and time that the certificate was registered.
6013	RegisteredDateTime *time.Time `type:"timestamp"`
6014
6015	// The state of the certificate.
6016	State *string `type:"string" enum:"CertificateState"`
6017
6018	// Describes a state change for the certificate.
6019	StateReason *string `type:"string"`
6020}
6021
6022// String returns the string representation
6023func (s Certificate) String() string {
6024	return awsutil.Prettify(s)
6025}
6026
6027// GoString returns the string representation
6028func (s Certificate) GoString() string {
6029	return s.String()
6030}
6031
6032// SetCertificateId sets the CertificateId field's value.
6033func (s *Certificate) SetCertificateId(v string) *Certificate {
6034	s.CertificateId = &v
6035	return s
6036}
6037
6038// SetCommonName sets the CommonName field's value.
6039func (s *Certificate) SetCommonName(v string) *Certificate {
6040	s.CommonName = &v
6041	return s
6042}
6043
6044// SetExpiryDateTime sets the ExpiryDateTime field's value.
6045func (s *Certificate) SetExpiryDateTime(v time.Time) *Certificate {
6046	s.ExpiryDateTime = &v
6047	return s
6048}
6049
6050// SetRegisteredDateTime sets the RegisteredDateTime field's value.
6051func (s *Certificate) SetRegisteredDateTime(v time.Time) *Certificate {
6052	s.RegisteredDateTime = &v
6053	return s
6054}
6055
6056// SetState sets the State field's value.
6057func (s *Certificate) SetState(v string) *Certificate {
6058	s.State = &v
6059	return s
6060}
6061
6062// SetStateReason sets the StateReason field's value.
6063func (s *Certificate) SetStateReason(v string) *Certificate {
6064	s.StateReason = &v
6065	return s
6066}
6067
6068// The certificate has already been registered into the system.
6069type CertificateAlreadyExistsException struct {
6070	_            struct{}                  `type:"structure"`
6071	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6072
6073	// The descriptive message for the exception.
6074	Message_ *string `locationName:"Message" type:"string"`
6075
6076	// The AWS request identifier.
6077	RequestId *string `type:"string"`
6078}
6079
6080// String returns the string representation
6081func (s CertificateAlreadyExistsException) String() string {
6082	return awsutil.Prettify(s)
6083}
6084
6085// GoString returns the string representation
6086func (s CertificateAlreadyExistsException) GoString() string {
6087	return s.String()
6088}
6089
6090func newErrorCertificateAlreadyExistsException(v protocol.ResponseMetadata) error {
6091	return &CertificateAlreadyExistsException{
6092		RespMetadata: v,
6093	}
6094}
6095
6096// Code returns the exception type name.
6097func (s *CertificateAlreadyExistsException) Code() string {
6098	return "CertificateAlreadyExistsException"
6099}
6100
6101// Message returns the exception's message.
6102func (s *CertificateAlreadyExistsException) Message() string {
6103	if s.Message_ != nil {
6104		return *s.Message_
6105	}
6106	return ""
6107}
6108
6109// OrigErr always returns nil, satisfies awserr.Error interface.
6110func (s *CertificateAlreadyExistsException) OrigErr() error {
6111	return nil
6112}
6113
6114func (s *CertificateAlreadyExistsException) Error() string {
6115	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6116}
6117
6118// Status code returns the HTTP status code for the request's response error.
6119func (s *CertificateAlreadyExistsException) StatusCode() int {
6120	return s.RespMetadata.StatusCode
6121}
6122
6123// RequestID returns the service's response RequestID for request.
6124func (s *CertificateAlreadyExistsException) RequestID() string {
6125	return s.RespMetadata.RequestID
6126}
6127
6128// The certificate is not present in the system for describe or deregister activities.
6129type CertificateDoesNotExistException struct {
6130	_            struct{}                  `type:"structure"`
6131	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6132
6133	// The descriptive message for the exception.
6134	Message_ *string `locationName:"Message" type:"string"`
6135
6136	// The AWS request identifier.
6137	RequestId *string `type:"string"`
6138}
6139
6140// String returns the string representation
6141func (s CertificateDoesNotExistException) String() string {
6142	return awsutil.Prettify(s)
6143}
6144
6145// GoString returns the string representation
6146func (s CertificateDoesNotExistException) GoString() string {
6147	return s.String()
6148}
6149
6150func newErrorCertificateDoesNotExistException(v protocol.ResponseMetadata) error {
6151	return &CertificateDoesNotExistException{
6152		RespMetadata: v,
6153	}
6154}
6155
6156// Code returns the exception type name.
6157func (s *CertificateDoesNotExistException) Code() string {
6158	return "CertificateDoesNotExistException"
6159}
6160
6161// Message returns the exception's message.
6162func (s *CertificateDoesNotExistException) Message() string {
6163	if s.Message_ != nil {
6164		return *s.Message_
6165	}
6166	return ""
6167}
6168
6169// OrigErr always returns nil, satisfies awserr.Error interface.
6170func (s *CertificateDoesNotExistException) OrigErr() error {
6171	return nil
6172}
6173
6174func (s *CertificateDoesNotExistException) Error() string {
6175	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6176}
6177
6178// Status code returns the HTTP status code for the request's response error.
6179func (s *CertificateDoesNotExistException) StatusCode() int {
6180	return s.RespMetadata.StatusCode
6181}
6182
6183// RequestID returns the service's response RequestID for request.
6184func (s *CertificateDoesNotExistException) RequestID() string {
6185	return s.RespMetadata.RequestID
6186}
6187
6188// The certificate is being used for the LDAP security connection and cannot
6189// be removed without disabling LDAP security.
6190type CertificateInUseException struct {
6191	_            struct{}                  `type:"structure"`
6192	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6193
6194	// The descriptive message for the exception.
6195	Message_ *string `locationName:"Message" type:"string"`
6196
6197	// The AWS request identifier.
6198	RequestId *string `type:"string"`
6199}
6200
6201// String returns the string representation
6202func (s CertificateInUseException) String() string {
6203	return awsutil.Prettify(s)
6204}
6205
6206// GoString returns the string representation
6207func (s CertificateInUseException) GoString() string {
6208	return s.String()
6209}
6210
6211func newErrorCertificateInUseException(v protocol.ResponseMetadata) error {
6212	return &CertificateInUseException{
6213		RespMetadata: v,
6214	}
6215}
6216
6217// Code returns the exception type name.
6218func (s *CertificateInUseException) Code() string {
6219	return "CertificateInUseException"
6220}
6221
6222// Message returns the exception's message.
6223func (s *CertificateInUseException) Message() string {
6224	if s.Message_ != nil {
6225		return *s.Message_
6226	}
6227	return ""
6228}
6229
6230// OrigErr always returns nil, satisfies awserr.Error interface.
6231func (s *CertificateInUseException) OrigErr() error {
6232	return nil
6233}
6234
6235func (s *CertificateInUseException) Error() string {
6236	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6237}
6238
6239// Status code returns the HTTP status code for the request's response error.
6240func (s *CertificateInUseException) StatusCode() int {
6241	return s.RespMetadata.StatusCode
6242}
6243
6244// RequestID returns the service's response RequestID for request.
6245func (s *CertificateInUseException) RequestID() string {
6246	return s.RespMetadata.RequestID
6247}
6248
6249// Contains general information about a certificate.
6250type CertificateInfo struct {
6251	_ struct{} `type:"structure"`
6252
6253	// The identifier of the certificate.
6254	CertificateId *string `type:"string"`
6255
6256	// The common name for the certificate.
6257	CommonName *string `type:"string"`
6258
6259	// The date and time when the certificate will expire.
6260	ExpiryDateTime *time.Time `type:"timestamp"`
6261
6262	// The state of the certificate.
6263	State *string `type:"string" enum:"CertificateState"`
6264}
6265
6266// String returns the string representation
6267func (s CertificateInfo) String() string {
6268	return awsutil.Prettify(s)
6269}
6270
6271// GoString returns the string representation
6272func (s CertificateInfo) GoString() string {
6273	return s.String()
6274}
6275
6276// SetCertificateId sets the CertificateId field's value.
6277func (s *CertificateInfo) SetCertificateId(v string) *CertificateInfo {
6278	s.CertificateId = &v
6279	return s
6280}
6281
6282// SetCommonName sets the CommonName field's value.
6283func (s *CertificateInfo) SetCommonName(v string) *CertificateInfo {
6284	s.CommonName = &v
6285	return s
6286}
6287
6288// SetExpiryDateTime sets the ExpiryDateTime field's value.
6289func (s *CertificateInfo) SetExpiryDateTime(v time.Time) *CertificateInfo {
6290	s.ExpiryDateTime = &v
6291	return s
6292}
6293
6294// SetState sets the State field's value.
6295func (s *CertificateInfo) SetState(v string) *CertificateInfo {
6296	s.State = &v
6297	return s
6298}
6299
6300// The certificate could not be added because the certificate limit has been
6301// reached.
6302type CertificateLimitExceededException struct {
6303	_            struct{}                  `type:"structure"`
6304	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6305
6306	// The descriptive message for the exception.
6307	Message_ *string `locationName:"Message" type:"string"`
6308
6309	// The AWS request identifier.
6310	RequestId *string `type:"string"`
6311}
6312
6313// String returns the string representation
6314func (s CertificateLimitExceededException) String() string {
6315	return awsutil.Prettify(s)
6316}
6317
6318// GoString returns the string representation
6319func (s CertificateLimitExceededException) GoString() string {
6320	return s.String()
6321}
6322
6323func newErrorCertificateLimitExceededException(v protocol.ResponseMetadata) error {
6324	return &CertificateLimitExceededException{
6325		RespMetadata: v,
6326	}
6327}
6328
6329// Code returns the exception type name.
6330func (s *CertificateLimitExceededException) Code() string {
6331	return "CertificateLimitExceededException"
6332}
6333
6334// Message returns the exception's message.
6335func (s *CertificateLimitExceededException) Message() string {
6336	if s.Message_ != nil {
6337		return *s.Message_
6338	}
6339	return ""
6340}
6341
6342// OrigErr always returns nil, satisfies awserr.Error interface.
6343func (s *CertificateLimitExceededException) OrigErr() error {
6344	return nil
6345}
6346
6347func (s *CertificateLimitExceededException) Error() string {
6348	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6349}
6350
6351// Status code returns the HTTP status code for the request's response error.
6352func (s *CertificateLimitExceededException) StatusCode() int {
6353	return s.RespMetadata.StatusCode
6354}
6355
6356// RequestID returns the service's response RequestID for request.
6357func (s *CertificateLimitExceededException) RequestID() string {
6358	return s.RespMetadata.RequestID
6359}
6360
6361// A client exception has occurred.
6362type ClientException struct {
6363	_            struct{}                  `type:"structure"`
6364	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6365
6366	// The descriptive message for the exception.
6367	Message_ *string `locationName:"Message" type:"string"`
6368
6369	// The AWS request identifier.
6370	RequestId *string `type:"string"`
6371}
6372
6373// String returns the string representation
6374func (s ClientException) String() string {
6375	return awsutil.Prettify(s)
6376}
6377
6378// GoString returns the string representation
6379func (s ClientException) GoString() string {
6380	return s.String()
6381}
6382
6383func newErrorClientException(v protocol.ResponseMetadata) error {
6384	return &ClientException{
6385		RespMetadata: v,
6386	}
6387}
6388
6389// Code returns the exception type name.
6390func (s *ClientException) Code() string {
6391	return "ClientException"
6392}
6393
6394// Message returns the exception's message.
6395func (s *ClientException) Message() string {
6396	if s.Message_ != nil {
6397		return *s.Message_
6398	}
6399	return ""
6400}
6401
6402// OrigErr always returns nil, satisfies awserr.Error interface.
6403func (s *ClientException) OrigErr() error {
6404	return nil
6405}
6406
6407func (s *ClientException) Error() string {
6408	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6409}
6410
6411// Status code returns the HTTP status code for the request's response error.
6412func (s *ClientException) StatusCode() int {
6413	return s.RespMetadata.StatusCode
6414}
6415
6416// RequestID returns the service's response RequestID for request.
6417func (s *ClientException) RequestID() string {
6418	return s.RespMetadata.RequestID
6419}
6420
6421// Contains information about a computer account in a directory.
6422type Computer struct {
6423	_ struct{} `type:"structure"`
6424
6425	// An array of Attribute objects containing the LDAP attributes that belong
6426	// to the computer account.
6427	ComputerAttributes []*Attribute `type:"list"`
6428
6429	// The identifier of the computer.
6430	ComputerId *string `min:"1" type:"string"`
6431
6432	// The computer name.
6433	ComputerName *string `min:"1" type:"string"`
6434}
6435
6436// String returns the string representation
6437func (s Computer) String() string {
6438	return awsutil.Prettify(s)
6439}
6440
6441// GoString returns the string representation
6442func (s Computer) GoString() string {
6443	return s.String()
6444}
6445
6446// SetComputerAttributes sets the ComputerAttributes field's value.
6447func (s *Computer) SetComputerAttributes(v []*Attribute) *Computer {
6448	s.ComputerAttributes = v
6449	return s
6450}
6451
6452// SetComputerId sets the ComputerId field's value.
6453func (s *Computer) SetComputerId(v string) *Computer {
6454	s.ComputerId = &v
6455	return s
6456}
6457
6458// SetComputerName sets the ComputerName field's value.
6459func (s *Computer) SetComputerName(v string) *Computer {
6460	s.ComputerName = &v
6461	return s
6462}
6463
6464// Points to a remote domain with which you are setting up a trust relationship.
6465// Conditional forwarders are required in order to set up a trust relationship
6466// with another domain.
6467type ConditionalForwarder struct {
6468	_ struct{} `type:"structure"`
6469
6470	// The IP addresses of the remote DNS server associated with RemoteDomainName.
6471	// This is the IP address of the DNS server that your conditional forwarder
6472	// points to.
6473	DnsIpAddrs []*string `type:"list"`
6474
6475	// The fully qualified domain name (FQDN) of the remote domains pointed to by
6476	// the conditional forwarder.
6477	RemoteDomainName *string `type:"string"`
6478
6479	// The replication scope of the conditional forwarder. The only allowed value
6480	// is Domain, which will replicate the conditional forwarder to all of the domain
6481	// controllers for your AWS directory.
6482	ReplicationScope *string `type:"string" enum:"ReplicationScope"`
6483}
6484
6485// String returns the string representation
6486func (s ConditionalForwarder) String() string {
6487	return awsutil.Prettify(s)
6488}
6489
6490// GoString returns the string representation
6491func (s ConditionalForwarder) GoString() string {
6492	return s.String()
6493}
6494
6495// SetDnsIpAddrs sets the DnsIpAddrs field's value.
6496func (s *ConditionalForwarder) SetDnsIpAddrs(v []*string) *ConditionalForwarder {
6497	s.DnsIpAddrs = v
6498	return s
6499}
6500
6501// SetRemoteDomainName sets the RemoteDomainName field's value.
6502func (s *ConditionalForwarder) SetRemoteDomainName(v string) *ConditionalForwarder {
6503	s.RemoteDomainName = &v
6504	return s
6505}
6506
6507// SetReplicationScope sets the ReplicationScope field's value.
6508func (s *ConditionalForwarder) SetReplicationScope(v string) *ConditionalForwarder {
6509	s.ReplicationScope = &v
6510	return s
6511}
6512
6513// Contains the inputs for the ConnectDirectory operation.
6514type ConnectDirectoryInput struct {
6515	_ struct{} `type:"structure"`
6516
6517	// A DirectoryConnectSettings object that contains additional information for
6518	// the operation.
6519	//
6520	// ConnectSettings is a required field
6521	ConnectSettings *DirectoryConnectSettings `type:"structure" required:"true"`
6522
6523	// A description for the directory.
6524	Description *string `type:"string"`
6525
6526	// The fully qualified name of the on-premises directory, such as corp.example.com.
6527	//
6528	// Name is a required field
6529	Name *string `type:"string" required:"true"`
6530
6531	// The password for the on-premises user account.
6532	//
6533	// Password is a required field
6534	Password *string `min:"1" type:"string" required:"true" sensitive:"true"`
6535
6536	// The NetBIOS name of the on-premises directory, such as CORP.
6537	ShortName *string `type:"string"`
6538
6539	// The size of the directory.
6540	//
6541	// Size is a required field
6542	Size *string `type:"string" required:"true" enum:"DirectorySize"`
6543
6544	// The tags to be assigned to AD Connector.
6545	Tags []*Tag `type:"list"`
6546}
6547
6548// String returns the string representation
6549func (s ConnectDirectoryInput) String() string {
6550	return awsutil.Prettify(s)
6551}
6552
6553// GoString returns the string representation
6554func (s ConnectDirectoryInput) GoString() string {
6555	return s.String()
6556}
6557
6558// Validate inspects the fields of the type to determine if they are valid.
6559func (s *ConnectDirectoryInput) Validate() error {
6560	invalidParams := request.ErrInvalidParams{Context: "ConnectDirectoryInput"}
6561	if s.ConnectSettings == nil {
6562		invalidParams.Add(request.NewErrParamRequired("ConnectSettings"))
6563	}
6564	if s.Name == nil {
6565		invalidParams.Add(request.NewErrParamRequired("Name"))
6566	}
6567	if s.Password == nil {
6568		invalidParams.Add(request.NewErrParamRequired("Password"))
6569	}
6570	if s.Password != nil && len(*s.Password) < 1 {
6571		invalidParams.Add(request.NewErrParamMinLen("Password", 1))
6572	}
6573	if s.Size == nil {
6574		invalidParams.Add(request.NewErrParamRequired("Size"))
6575	}
6576	if s.ConnectSettings != nil {
6577		if err := s.ConnectSettings.Validate(); err != nil {
6578			invalidParams.AddNested("ConnectSettings", err.(request.ErrInvalidParams))
6579		}
6580	}
6581	if s.Tags != nil {
6582		for i, v := range s.Tags {
6583			if v == nil {
6584				continue
6585			}
6586			if err := v.Validate(); err != nil {
6587				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6588			}
6589		}
6590	}
6591
6592	if invalidParams.Len() > 0 {
6593		return invalidParams
6594	}
6595	return nil
6596}
6597
6598// SetConnectSettings sets the ConnectSettings field's value.
6599func (s *ConnectDirectoryInput) SetConnectSettings(v *DirectoryConnectSettings) *ConnectDirectoryInput {
6600	s.ConnectSettings = v
6601	return s
6602}
6603
6604// SetDescription sets the Description field's value.
6605func (s *ConnectDirectoryInput) SetDescription(v string) *ConnectDirectoryInput {
6606	s.Description = &v
6607	return s
6608}
6609
6610// SetName sets the Name field's value.
6611func (s *ConnectDirectoryInput) SetName(v string) *ConnectDirectoryInput {
6612	s.Name = &v
6613	return s
6614}
6615
6616// SetPassword sets the Password field's value.
6617func (s *ConnectDirectoryInput) SetPassword(v string) *ConnectDirectoryInput {
6618	s.Password = &v
6619	return s
6620}
6621
6622// SetShortName sets the ShortName field's value.
6623func (s *ConnectDirectoryInput) SetShortName(v string) *ConnectDirectoryInput {
6624	s.ShortName = &v
6625	return s
6626}
6627
6628// SetSize sets the Size field's value.
6629func (s *ConnectDirectoryInput) SetSize(v string) *ConnectDirectoryInput {
6630	s.Size = &v
6631	return s
6632}
6633
6634// SetTags sets the Tags field's value.
6635func (s *ConnectDirectoryInput) SetTags(v []*Tag) *ConnectDirectoryInput {
6636	s.Tags = v
6637	return s
6638}
6639
6640// Contains the results of the ConnectDirectory operation.
6641type ConnectDirectoryOutput struct {
6642	_ struct{} `type:"structure"`
6643
6644	// The identifier of the new directory.
6645	DirectoryId *string `type:"string"`
6646}
6647
6648// String returns the string representation
6649func (s ConnectDirectoryOutput) String() string {
6650	return awsutil.Prettify(s)
6651}
6652
6653// GoString returns the string representation
6654func (s ConnectDirectoryOutput) GoString() string {
6655	return s.String()
6656}
6657
6658// SetDirectoryId sets the DirectoryId field's value.
6659func (s *ConnectDirectoryOutput) SetDirectoryId(v string) *ConnectDirectoryOutput {
6660	s.DirectoryId = &v
6661	return s
6662}
6663
6664// Contains the inputs for the CreateAlias operation.
6665type CreateAliasInput struct {
6666	_ struct{} `type:"structure"`
6667
6668	// The requested alias.
6669	//
6670	// The alias must be unique amongst all aliases in AWS. This operation throws
6671	// an EntityAlreadyExistsException error if the alias already exists.
6672	//
6673	// Alias is a required field
6674	Alias *string `min:"1" type:"string" required:"true"`
6675
6676	// The identifier of the directory for which to create the alias.
6677	//
6678	// DirectoryId is a required field
6679	DirectoryId *string `type:"string" required:"true"`
6680}
6681
6682// String returns the string representation
6683func (s CreateAliasInput) String() string {
6684	return awsutil.Prettify(s)
6685}
6686
6687// GoString returns the string representation
6688func (s CreateAliasInput) GoString() string {
6689	return s.String()
6690}
6691
6692// Validate inspects the fields of the type to determine if they are valid.
6693func (s *CreateAliasInput) Validate() error {
6694	invalidParams := request.ErrInvalidParams{Context: "CreateAliasInput"}
6695	if s.Alias == nil {
6696		invalidParams.Add(request.NewErrParamRequired("Alias"))
6697	}
6698	if s.Alias != nil && len(*s.Alias) < 1 {
6699		invalidParams.Add(request.NewErrParamMinLen("Alias", 1))
6700	}
6701	if s.DirectoryId == nil {
6702		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
6703	}
6704
6705	if invalidParams.Len() > 0 {
6706		return invalidParams
6707	}
6708	return nil
6709}
6710
6711// SetAlias sets the Alias field's value.
6712func (s *CreateAliasInput) SetAlias(v string) *CreateAliasInput {
6713	s.Alias = &v
6714	return s
6715}
6716
6717// SetDirectoryId sets the DirectoryId field's value.
6718func (s *CreateAliasInput) SetDirectoryId(v string) *CreateAliasInput {
6719	s.DirectoryId = &v
6720	return s
6721}
6722
6723// Contains the results of the CreateAlias operation.
6724type CreateAliasOutput struct {
6725	_ struct{} `type:"structure"`
6726
6727	// The alias for the directory.
6728	Alias *string `min:"1" type:"string"`
6729
6730	// The identifier of the directory.
6731	DirectoryId *string `type:"string"`
6732}
6733
6734// String returns the string representation
6735func (s CreateAliasOutput) String() string {
6736	return awsutil.Prettify(s)
6737}
6738
6739// GoString returns the string representation
6740func (s CreateAliasOutput) GoString() string {
6741	return s.String()
6742}
6743
6744// SetAlias sets the Alias field's value.
6745func (s *CreateAliasOutput) SetAlias(v string) *CreateAliasOutput {
6746	s.Alias = &v
6747	return s
6748}
6749
6750// SetDirectoryId sets the DirectoryId field's value.
6751func (s *CreateAliasOutput) SetDirectoryId(v string) *CreateAliasOutput {
6752	s.DirectoryId = &v
6753	return s
6754}
6755
6756// Contains the inputs for the CreateComputer operation.
6757type CreateComputerInput struct {
6758	_ struct{} `type:"structure"`
6759
6760	// An array of Attribute objects that contain any LDAP attributes to apply to
6761	// the computer account.
6762	ComputerAttributes []*Attribute `type:"list"`
6763
6764	// The name of the computer account.
6765	//
6766	// ComputerName is a required field
6767	ComputerName *string `min:"1" type:"string" required:"true"`
6768
6769	// The identifier of the directory in which to create the computer account.
6770	//
6771	// DirectoryId is a required field
6772	DirectoryId *string `type:"string" required:"true"`
6773
6774	// The fully-qualified distinguished name of the organizational unit to place
6775	// the computer account in.
6776	OrganizationalUnitDistinguishedName *string `min:"1" type:"string"`
6777
6778	// A one-time password that is used to join the computer to the directory. You
6779	// should generate a random, strong password to use for this parameter.
6780	//
6781	// Password is a required field
6782	Password *string `min:"8" type:"string" required:"true" sensitive:"true"`
6783}
6784
6785// String returns the string representation
6786func (s CreateComputerInput) String() string {
6787	return awsutil.Prettify(s)
6788}
6789
6790// GoString returns the string representation
6791func (s CreateComputerInput) GoString() string {
6792	return s.String()
6793}
6794
6795// Validate inspects the fields of the type to determine if they are valid.
6796func (s *CreateComputerInput) Validate() error {
6797	invalidParams := request.ErrInvalidParams{Context: "CreateComputerInput"}
6798	if s.ComputerName == nil {
6799		invalidParams.Add(request.NewErrParamRequired("ComputerName"))
6800	}
6801	if s.ComputerName != nil && len(*s.ComputerName) < 1 {
6802		invalidParams.Add(request.NewErrParamMinLen("ComputerName", 1))
6803	}
6804	if s.DirectoryId == nil {
6805		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
6806	}
6807	if s.OrganizationalUnitDistinguishedName != nil && len(*s.OrganizationalUnitDistinguishedName) < 1 {
6808		invalidParams.Add(request.NewErrParamMinLen("OrganizationalUnitDistinguishedName", 1))
6809	}
6810	if s.Password == nil {
6811		invalidParams.Add(request.NewErrParamRequired("Password"))
6812	}
6813	if s.Password != nil && len(*s.Password) < 8 {
6814		invalidParams.Add(request.NewErrParamMinLen("Password", 8))
6815	}
6816	if s.ComputerAttributes != nil {
6817		for i, v := range s.ComputerAttributes {
6818			if v == nil {
6819				continue
6820			}
6821			if err := v.Validate(); err != nil {
6822				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComputerAttributes", i), err.(request.ErrInvalidParams))
6823			}
6824		}
6825	}
6826
6827	if invalidParams.Len() > 0 {
6828		return invalidParams
6829	}
6830	return nil
6831}
6832
6833// SetComputerAttributes sets the ComputerAttributes field's value.
6834func (s *CreateComputerInput) SetComputerAttributes(v []*Attribute) *CreateComputerInput {
6835	s.ComputerAttributes = v
6836	return s
6837}
6838
6839// SetComputerName sets the ComputerName field's value.
6840func (s *CreateComputerInput) SetComputerName(v string) *CreateComputerInput {
6841	s.ComputerName = &v
6842	return s
6843}
6844
6845// SetDirectoryId sets the DirectoryId field's value.
6846func (s *CreateComputerInput) SetDirectoryId(v string) *CreateComputerInput {
6847	s.DirectoryId = &v
6848	return s
6849}
6850
6851// SetOrganizationalUnitDistinguishedName sets the OrganizationalUnitDistinguishedName field's value.
6852func (s *CreateComputerInput) SetOrganizationalUnitDistinguishedName(v string) *CreateComputerInput {
6853	s.OrganizationalUnitDistinguishedName = &v
6854	return s
6855}
6856
6857// SetPassword sets the Password field's value.
6858func (s *CreateComputerInput) SetPassword(v string) *CreateComputerInput {
6859	s.Password = &v
6860	return s
6861}
6862
6863// Contains the results for the CreateComputer operation.
6864type CreateComputerOutput struct {
6865	_ struct{} `type:"structure"`
6866
6867	// A Computer object that represents the computer account.
6868	Computer *Computer `type:"structure"`
6869}
6870
6871// String returns the string representation
6872func (s CreateComputerOutput) String() string {
6873	return awsutil.Prettify(s)
6874}
6875
6876// GoString returns the string representation
6877func (s CreateComputerOutput) GoString() string {
6878	return s.String()
6879}
6880
6881// SetComputer sets the Computer field's value.
6882func (s *CreateComputerOutput) SetComputer(v *Computer) *CreateComputerOutput {
6883	s.Computer = v
6884	return s
6885}
6886
6887// Initiates the creation of a conditional forwarder for your AWS Directory
6888// Service for Microsoft Active Directory. Conditional forwarders are required
6889// in order to set up a trust relationship with another domain.
6890type CreateConditionalForwarderInput struct {
6891	_ struct{} `type:"structure"`
6892
6893	// The directory ID of the AWS directory for which you are creating the conditional
6894	// forwarder.
6895	//
6896	// DirectoryId is a required field
6897	DirectoryId *string `type:"string" required:"true"`
6898
6899	// The IP addresses of the remote DNS server associated with RemoteDomainName.
6900	//
6901	// DnsIpAddrs is a required field
6902	DnsIpAddrs []*string `type:"list" required:"true"`
6903
6904	// The fully qualified domain name (FQDN) of the remote domain with which you
6905	// will set up a trust relationship.
6906	//
6907	// RemoteDomainName is a required field
6908	RemoteDomainName *string `type:"string" required:"true"`
6909}
6910
6911// String returns the string representation
6912func (s CreateConditionalForwarderInput) String() string {
6913	return awsutil.Prettify(s)
6914}
6915
6916// GoString returns the string representation
6917func (s CreateConditionalForwarderInput) GoString() string {
6918	return s.String()
6919}
6920
6921// Validate inspects the fields of the type to determine if they are valid.
6922func (s *CreateConditionalForwarderInput) Validate() error {
6923	invalidParams := request.ErrInvalidParams{Context: "CreateConditionalForwarderInput"}
6924	if s.DirectoryId == nil {
6925		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
6926	}
6927	if s.DnsIpAddrs == nil {
6928		invalidParams.Add(request.NewErrParamRequired("DnsIpAddrs"))
6929	}
6930	if s.RemoteDomainName == nil {
6931		invalidParams.Add(request.NewErrParamRequired("RemoteDomainName"))
6932	}
6933
6934	if invalidParams.Len() > 0 {
6935		return invalidParams
6936	}
6937	return nil
6938}
6939
6940// SetDirectoryId sets the DirectoryId field's value.
6941func (s *CreateConditionalForwarderInput) SetDirectoryId(v string) *CreateConditionalForwarderInput {
6942	s.DirectoryId = &v
6943	return s
6944}
6945
6946// SetDnsIpAddrs sets the DnsIpAddrs field's value.
6947func (s *CreateConditionalForwarderInput) SetDnsIpAddrs(v []*string) *CreateConditionalForwarderInput {
6948	s.DnsIpAddrs = v
6949	return s
6950}
6951
6952// SetRemoteDomainName sets the RemoteDomainName field's value.
6953func (s *CreateConditionalForwarderInput) SetRemoteDomainName(v string) *CreateConditionalForwarderInput {
6954	s.RemoteDomainName = &v
6955	return s
6956}
6957
6958// The result of a CreateConditinalForwarder request.
6959type CreateConditionalForwarderOutput struct {
6960	_ struct{} `type:"structure"`
6961}
6962
6963// String returns the string representation
6964func (s CreateConditionalForwarderOutput) String() string {
6965	return awsutil.Prettify(s)
6966}
6967
6968// GoString returns the string representation
6969func (s CreateConditionalForwarderOutput) GoString() string {
6970	return s.String()
6971}
6972
6973// Contains the inputs for the CreateDirectory operation.
6974type CreateDirectoryInput struct {
6975	_ struct{} `type:"structure"`
6976
6977	// A description for the directory.
6978	Description *string `type:"string"`
6979
6980	// The fully qualified name for the directory, such as corp.example.com.
6981	//
6982	// Name is a required field
6983	Name *string `type:"string" required:"true"`
6984
6985	// The password for the directory administrator. The directory creation process
6986	// creates a directory administrator account with the user name Administrator
6987	// and this password.
6988	//
6989	// If you need to change the password for the administrator account, you can
6990	// use the ResetUserPassword API call.
6991	//
6992	// Password is a required field
6993	Password *string `type:"string" required:"true" sensitive:"true"`
6994
6995	// The NetBIOS name of the directory, such as CORP.
6996	ShortName *string `type:"string"`
6997
6998	// The size of the directory.
6999	//
7000	// Size is a required field
7001	Size *string `type:"string" required:"true" enum:"DirectorySize"`
7002
7003	// The tags to be assigned to the Simple AD directory.
7004	Tags []*Tag `type:"list"`
7005
7006	// A DirectoryVpcSettings object that contains additional information for the
7007	// operation.
7008	VpcSettings *DirectoryVpcSettings `type:"structure"`
7009}
7010
7011// String returns the string representation
7012func (s CreateDirectoryInput) String() string {
7013	return awsutil.Prettify(s)
7014}
7015
7016// GoString returns the string representation
7017func (s CreateDirectoryInput) GoString() string {
7018	return s.String()
7019}
7020
7021// Validate inspects the fields of the type to determine if they are valid.
7022func (s *CreateDirectoryInput) Validate() error {
7023	invalidParams := request.ErrInvalidParams{Context: "CreateDirectoryInput"}
7024	if s.Name == nil {
7025		invalidParams.Add(request.NewErrParamRequired("Name"))
7026	}
7027	if s.Password == nil {
7028		invalidParams.Add(request.NewErrParamRequired("Password"))
7029	}
7030	if s.Size == nil {
7031		invalidParams.Add(request.NewErrParamRequired("Size"))
7032	}
7033	if s.Tags != nil {
7034		for i, v := range s.Tags {
7035			if v == nil {
7036				continue
7037			}
7038			if err := v.Validate(); err != nil {
7039				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
7040			}
7041		}
7042	}
7043	if s.VpcSettings != nil {
7044		if err := s.VpcSettings.Validate(); err != nil {
7045			invalidParams.AddNested("VpcSettings", err.(request.ErrInvalidParams))
7046		}
7047	}
7048
7049	if invalidParams.Len() > 0 {
7050		return invalidParams
7051	}
7052	return nil
7053}
7054
7055// SetDescription sets the Description field's value.
7056func (s *CreateDirectoryInput) SetDescription(v string) *CreateDirectoryInput {
7057	s.Description = &v
7058	return s
7059}
7060
7061// SetName sets the Name field's value.
7062func (s *CreateDirectoryInput) SetName(v string) *CreateDirectoryInput {
7063	s.Name = &v
7064	return s
7065}
7066
7067// SetPassword sets the Password field's value.
7068func (s *CreateDirectoryInput) SetPassword(v string) *CreateDirectoryInput {
7069	s.Password = &v
7070	return s
7071}
7072
7073// SetShortName sets the ShortName field's value.
7074func (s *CreateDirectoryInput) SetShortName(v string) *CreateDirectoryInput {
7075	s.ShortName = &v
7076	return s
7077}
7078
7079// SetSize sets the Size field's value.
7080func (s *CreateDirectoryInput) SetSize(v string) *CreateDirectoryInput {
7081	s.Size = &v
7082	return s
7083}
7084
7085// SetTags sets the Tags field's value.
7086func (s *CreateDirectoryInput) SetTags(v []*Tag) *CreateDirectoryInput {
7087	s.Tags = v
7088	return s
7089}
7090
7091// SetVpcSettings sets the VpcSettings field's value.
7092func (s *CreateDirectoryInput) SetVpcSettings(v *DirectoryVpcSettings) *CreateDirectoryInput {
7093	s.VpcSettings = v
7094	return s
7095}
7096
7097// Contains the results of the CreateDirectory operation.
7098type CreateDirectoryOutput struct {
7099	_ struct{} `type:"structure"`
7100
7101	// The identifier of the directory that was created.
7102	DirectoryId *string `type:"string"`
7103}
7104
7105// String returns the string representation
7106func (s CreateDirectoryOutput) String() string {
7107	return awsutil.Prettify(s)
7108}
7109
7110// GoString returns the string representation
7111func (s CreateDirectoryOutput) GoString() string {
7112	return s.String()
7113}
7114
7115// SetDirectoryId sets the DirectoryId field's value.
7116func (s *CreateDirectoryOutput) SetDirectoryId(v string) *CreateDirectoryOutput {
7117	s.DirectoryId = &v
7118	return s
7119}
7120
7121type CreateLogSubscriptionInput struct {
7122	_ struct{} `type:"structure"`
7123
7124	// Identifier of the directory to which you want to subscribe and receive real-time
7125	// logs to your specified CloudWatch log group.
7126	//
7127	// DirectoryId is a required field
7128	DirectoryId *string `type:"string" required:"true"`
7129
7130	// The name of the CloudWatch log group where the real-time domain controller
7131	// logs are forwarded.
7132	//
7133	// LogGroupName is a required field
7134	LogGroupName *string `min:"1" type:"string" required:"true"`
7135}
7136
7137// String returns the string representation
7138func (s CreateLogSubscriptionInput) String() string {
7139	return awsutil.Prettify(s)
7140}
7141
7142// GoString returns the string representation
7143func (s CreateLogSubscriptionInput) GoString() string {
7144	return s.String()
7145}
7146
7147// Validate inspects the fields of the type to determine if they are valid.
7148func (s *CreateLogSubscriptionInput) Validate() error {
7149	invalidParams := request.ErrInvalidParams{Context: "CreateLogSubscriptionInput"}
7150	if s.DirectoryId == nil {
7151		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
7152	}
7153	if s.LogGroupName == nil {
7154		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
7155	}
7156	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
7157		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
7158	}
7159
7160	if invalidParams.Len() > 0 {
7161		return invalidParams
7162	}
7163	return nil
7164}
7165
7166// SetDirectoryId sets the DirectoryId field's value.
7167func (s *CreateLogSubscriptionInput) SetDirectoryId(v string) *CreateLogSubscriptionInput {
7168	s.DirectoryId = &v
7169	return s
7170}
7171
7172// SetLogGroupName sets the LogGroupName field's value.
7173func (s *CreateLogSubscriptionInput) SetLogGroupName(v string) *CreateLogSubscriptionInput {
7174	s.LogGroupName = &v
7175	return s
7176}
7177
7178type CreateLogSubscriptionOutput struct {
7179	_ struct{} `type:"structure"`
7180}
7181
7182// String returns the string representation
7183func (s CreateLogSubscriptionOutput) String() string {
7184	return awsutil.Prettify(s)
7185}
7186
7187// GoString returns the string representation
7188func (s CreateLogSubscriptionOutput) GoString() string {
7189	return s.String()
7190}
7191
7192// Creates an AWS Managed Microsoft AD directory.
7193type CreateMicrosoftADInput struct {
7194	_ struct{} `type:"structure"`
7195
7196	// A description for the directory. This label will appear on the AWS console
7197	// Directory Details page after the directory is created.
7198	Description *string `type:"string"`
7199
7200	// AWS Managed Microsoft AD is available in two editions: Standard and Enterprise.
7201	// Enterprise is the default.
7202	Edition *string `type:"string" enum:"DirectoryEdition"`
7203
7204	// The fully qualified domain name for the AWS Managed Microsoft AD directory,
7205	// such as corp.example.com. This name will resolve inside your VPC only. It
7206	// does not need to be publicly resolvable.
7207	//
7208	// Name is a required field
7209	Name *string `type:"string" required:"true"`
7210
7211	// The password for the default administrative user named Admin.
7212	//
7213	// If you need to change the password for the administrator account, you can
7214	// use the ResetUserPassword API call.
7215	//
7216	// Password is a required field
7217	Password *string `type:"string" required:"true" sensitive:"true"`
7218
7219	// The NetBIOS name for your domain, such as CORP. If you don't specify a NetBIOS
7220	// name, it will default to the first part of your directory DNS. For example,
7221	// CORP for the directory DNS corp.example.com.
7222	ShortName *string `type:"string"`
7223
7224	// The tags to be assigned to the AWS Managed Microsoft AD directory.
7225	Tags []*Tag `type:"list"`
7226
7227	// Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.
7228	//
7229	// VpcSettings is a required field
7230	VpcSettings *DirectoryVpcSettings `type:"structure" required:"true"`
7231}
7232
7233// String returns the string representation
7234func (s CreateMicrosoftADInput) String() string {
7235	return awsutil.Prettify(s)
7236}
7237
7238// GoString returns the string representation
7239func (s CreateMicrosoftADInput) GoString() string {
7240	return s.String()
7241}
7242
7243// Validate inspects the fields of the type to determine if they are valid.
7244func (s *CreateMicrosoftADInput) Validate() error {
7245	invalidParams := request.ErrInvalidParams{Context: "CreateMicrosoftADInput"}
7246	if s.Name == nil {
7247		invalidParams.Add(request.NewErrParamRequired("Name"))
7248	}
7249	if s.Password == nil {
7250		invalidParams.Add(request.NewErrParamRequired("Password"))
7251	}
7252	if s.VpcSettings == nil {
7253		invalidParams.Add(request.NewErrParamRequired("VpcSettings"))
7254	}
7255	if s.Tags != nil {
7256		for i, v := range s.Tags {
7257			if v == nil {
7258				continue
7259			}
7260			if err := v.Validate(); err != nil {
7261				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
7262			}
7263		}
7264	}
7265	if s.VpcSettings != nil {
7266		if err := s.VpcSettings.Validate(); err != nil {
7267			invalidParams.AddNested("VpcSettings", err.(request.ErrInvalidParams))
7268		}
7269	}
7270
7271	if invalidParams.Len() > 0 {
7272		return invalidParams
7273	}
7274	return nil
7275}
7276
7277// SetDescription sets the Description field's value.
7278func (s *CreateMicrosoftADInput) SetDescription(v string) *CreateMicrosoftADInput {
7279	s.Description = &v
7280	return s
7281}
7282
7283// SetEdition sets the Edition field's value.
7284func (s *CreateMicrosoftADInput) SetEdition(v string) *CreateMicrosoftADInput {
7285	s.Edition = &v
7286	return s
7287}
7288
7289// SetName sets the Name field's value.
7290func (s *CreateMicrosoftADInput) SetName(v string) *CreateMicrosoftADInput {
7291	s.Name = &v
7292	return s
7293}
7294
7295// SetPassword sets the Password field's value.
7296func (s *CreateMicrosoftADInput) SetPassword(v string) *CreateMicrosoftADInput {
7297	s.Password = &v
7298	return s
7299}
7300
7301// SetShortName sets the ShortName field's value.
7302func (s *CreateMicrosoftADInput) SetShortName(v string) *CreateMicrosoftADInput {
7303	s.ShortName = &v
7304	return s
7305}
7306
7307// SetTags sets the Tags field's value.
7308func (s *CreateMicrosoftADInput) SetTags(v []*Tag) *CreateMicrosoftADInput {
7309	s.Tags = v
7310	return s
7311}
7312
7313// SetVpcSettings sets the VpcSettings field's value.
7314func (s *CreateMicrosoftADInput) SetVpcSettings(v *DirectoryVpcSettings) *CreateMicrosoftADInput {
7315	s.VpcSettings = v
7316	return s
7317}
7318
7319// Result of a CreateMicrosoftAD request.
7320type CreateMicrosoftADOutput struct {
7321	_ struct{} `type:"structure"`
7322
7323	// The identifier of the directory that was created.
7324	DirectoryId *string `type:"string"`
7325}
7326
7327// String returns the string representation
7328func (s CreateMicrosoftADOutput) String() string {
7329	return awsutil.Prettify(s)
7330}
7331
7332// GoString returns the string representation
7333func (s CreateMicrosoftADOutput) GoString() string {
7334	return s.String()
7335}
7336
7337// SetDirectoryId sets the DirectoryId field's value.
7338func (s *CreateMicrosoftADOutput) SetDirectoryId(v string) *CreateMicrosoftADOutput {
7339	s.DirectoryId = &v
7340	return s
7341}
7342
7343// Contains the inputs for the CreateSnapshot operation.
7344type CreateSnapshotInput struct {
7345	_ struct{} `type:"structure"`
7346
7347	// The identifier of the directory of which to take a snapshot.
7348	//
7349	// DirectoryId is a required field
7350	DirectoryId *string `type:"string" required:"true"`
7351
7352	// The descriptive name to apply to the snapshot.
7353	Name *string `type:"string"`
7354}
7355
7356// String returns the string representation
7357func (s CreateSnapshotInput) String() string {
7358	return awsutil.Prettify(s)
7359}
7360
7361// GoString returns the string representation
7362func (s CreateSnapshotInput) GoString() string {
7363	return s.String()
7364}
7365
7366// Validate inspects the fields of the type to determine if they are valid.
7367func (s *CreateSnapshotInput) Validate() error {
7368	invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
7369	if s.DirectoryId == nil {
7370		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
7371	}
7372
7373	if invalidParams.Len() > 0 {
7374		return invalidParams
7375	}
7376	return nil
7377}
7378
7379// SetDirectoryId sets the DirectoryId field's value.
7380func (s *CreateSnapshotInput) SetDirectoryId(v string) *CreateSnapshotInput {
7381	s.DirectoryId = &v
7382	return s
7383}
7384
7385// SetName sets the Name field's value.
7386func (s *CreateSnapshotInput) SetName(v string) *CreateSnapshotInput {
7387	s.Name = &v
7388	return s
7389}
7390
7391// Contains the results of the CreateSnapshot operation.
7392type CreateSnapshotOutput struct {
7393	_ struct{} `type:"structure"`
7394
7395	// The identifier of the snapshot that was created.
7396	SnapshotId *string `type:"string"`
7397}
7398
7399// String returns the string representation
7400func (s CreateSnapshotOutput) String() string {
7401	return awsutil.Prettify(s)
7402}
7403
7404// GoString returns the string representation
7405func (s CreateSnapshotOutput) GoString() string {
7406	return s.String()
7407}
7408
7409// SetSnapshotId sets the SnapshotId field's value.
7410func (s *CreateSnapshotOutput) SetSnapshotId(v string) *CreateSnapshotOutput {
7411	s.SnapshotId = &v
7412	return s
7413}
7414
7415// AWS Directory Service for Microsoft Active Directory allows you to configure
7416// trust relationships. For example, you can establish a trust between your
7417// AWS Managed Microsoft AD directory, and your existing on-premises Microsoft
7418// Active Directory. This would allow you to provide users and groups access
7419// to resources in either domain, with a single set of credentials.
7420//
7421// This action initiates the creation of the AWS side of a trust relationship
7422// between an AWS Managed Microsoft AD directory and an external domain.
7423type CreateTrustInput struct {
7424	_ struct{} `type:"structure"`
7425
7426	// The IP addresses of the remote DNS server associated with RemoteDomainName.
7427	ConditionalForwarderIpAddrs []*string `type:"list"`
7428
7429	// The Directory ID of the AWS Managed Microsoft AD directory for which to establish
7430	// the trust relationship.
7431	//
7432	// DirectoryId is a required field
7433	DirectoryId *string `type:"string" required:"true"`
7434
7435	// The Fully Qualified Domain Name (FQDN) of the external domain for which to
7436	// create the trust relationship.
7437	//
7438	// RemoteDomainName is a required field
7439	RemoteDomainName *string `type:"string" required:"true"`
7440
7441	// Optional parameter to enable selective authentication for the trust.
7442	SelectiveAuth *string `type:"string" enum:"SelectiveAuth"`
7443
7444	// The direction of the trust relationship.
7445	//
7446	// TrustDirection is a required field
7447	TrustDirection *string `type:"string" required:"true" enum:"TrustDirection"`
7448
7449	// The trust password. The must be the same password that was used when creating
7450	// the trust relationship on the external domain.
7451	//
7452	// TrustPassword is a required field
7453	TrustPassword *string `min:"1" type:"string" required:"true" sensitive:"true"`
7454
7455	// The trust relationship type. Forest is the default.
7456	TrustType *string `type:"string" enum:"TrustType"`
7457}
7458
7459// String returns the string representation
7460func (s CreateTrustInput) String() string {
7461	return awsutil.Prettify(s)
7462}
7463
7464// GoString returns the string representation
7465func (s CreateTrustInput) GoString() string {
7466	return s.String()
7467}
7468
7469// Validate inspects the fields of the type to determine if they are valid.
7470func (s *CreateTrustInput) Validate() error {
7471	invalidParams := request.ErrInvalidParams{Context: "CreateTrustInput"}
7472	if s.DirectoryId == nil {
7473		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
7474	}
7475	if s.RemoteDomainName == nil {
7476		invalidParams.Add(request.NewErrParamRequired("RemoteDomainName"))
7477	}
7478	if s.TrustDirection == nil {
7479		invalidParams.Add(request.NewErrParamRequired("TrustDirection"))
7480	}
7481	if s.TrustPassword == nil {
7482		invalidParams.Add(request.NewErrParamRequired("TrustPassword"))
7483	}
7484	if s.TrustPassword != nil && len(*s.TrustPassword) < 1 {
7485		invalidParams.Add(request.NewErrParamMinLen("TrustPassword", 1))
7486	}
7487
7488	if invalidParams.Len() > 0 {
7489		return invalidParams
7490	}
7491	return nil
7492}
7493
7494// SetConditionalForwarderIpAddrs sets the ConditionalForwarderIpAddrs field's value.
7495func (s *CreateTrustInput) SetConditionalForwarderIpAddrs(v []*string) *CreateTrustInput {
7496	s.ConditionalForwarderIpAddrs = v
7497	return s
7498}
7499
7500// SetDirectoryId sets the DirectoryId field's value.
7501func (s *CreateTrustInput) SetDirectoryId(v string) *CreateTrustInput {
7502	s.DirectoryId = &v
7503	return s
7504}
7505
7506// SetRemoteDomainName sets the RemoteDomainName field's value.
7507func (s *CreateTrustInput) SetRemoteDomainName(v string) *CreateTrustInput {
7508	s.RemoteDomainName = &v
7509	return s
7510}
7511
7512// SetSelectiveAuth sets the SelectiveAuth field's value.
7513func (s *CreateTrustInput) SetSelectiveAuth(v string) *CreateTrustInput {
7514	s.SelectiveAuth = &v
7515	return s
7516}
7517
7518// SetTrustDirection sets the TrustDirection field's value.
7519func (s *CreateTrustInput) SetTrustDirection(v string) *CreateTrustInput {
7520	s.TrustDirection = &v
7521	return s
7522}
7523
7524// SetTrustPassword sets the TrustPassword field's value.
7525func (s *CreateTrustInput) SetTrustPassword(v string) *CreateTrustInput {
7526	s.TrustPassword = &v
7527	return s
7528}
7529
7530// SetTrustType sets the TrustType field's value.
7531func (s *CreateTrustInput) SetTrustType(v string) *CreateTrustInput {
7532	s.TrustType = &v
7533	return s
7534}
7535
7536// The result of a CreateTrust request.
7537type CreateTrustOutput struct {
7538	_ struct{} `type:"structure"`
7539
7540	// A unique identifier for the trust relationship that was created.
7541	TrustId *string `type:"string"`
7542}
7543
7544// String returns the string representation
7545func (s CreateTrustOutput) String() string {
7546	return awsutil.Prettify(s)
7547}
7548
7549// GoString returns the string representation
7550func (s CreateTrustOutput) GoString() string {
7551	return s.String()
7552}
7553
7554// SetTrustId sets the TrustId field's value.
7555func (s *CreateTrustOutput) SetTrustId(v string) *CreateTrustOutput {
7556	s.TrustId = &v
7557	return s
7558}
7559
7560// Deletes a conditional forwarder.
7561type DeleteConditionalForwarderInput struct {
7562	_ struct{} `type:"structure"`
7563
7564	// The directory ID for which you are deleting the conditional forwarder.
7565	//
7566	// DirectoryId is a required field
7567	DirectoryId *string `type:"string" required:"true"`
7568
7569	// The fully qualified domain name (FQDN) of the remote domain with which you
7570	// are deleting the conditional forwarder.
7571	//
7572	// RemoteDomainName is a required field
7573	RemoteDomainName *string `type:"string" required:"true"`
7574}
7575
7576// String returns the string representation
7577func (s DeleteConditionalForwarderInput) String() string {
7578	return awsutil.Prettify(s)
7579}
7580
7581// GoString returns the string representation
7582func (s DeleteConditionalForwarderInput) GoString() string {
7583	return s.String()
7584}
7585
7586// Validate inspects the fields of the type to determine if they are valid.
7587func (s *DeleteConditionalForwarderInput) Validate() error {
7588	invalidParams := request.ErrInvalidParams{Context: "DeleteConditionalForwarderInput"}
7589	if s.DirectoryId == nil {
7590		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
7591	}
7592	if s.RemoteDomainName == nil {
7593		invalidParams.Add(request.NewErrParamRequired("RemoteDomainName"))
7594	}
7595
7596	if invalidParams.Len() > 0 {
7597		return invalidParams
7598	}
7599	return nil
7600}
7601
7602// SetDirectoryId sets the DirectoryId field's value.
7603func (s *DeleteConditionalForwarderInput) SetDirectoryId(v string) *DeleteConditionalForwarderInput {
7604	s.DirectoryId = &v
7605	return s
7606}
7607
7608// SetRemoteDomainName sets the RemoteDomainName field's value.
7609func (s *DeleteConditionalForwarderInput) SetRemoteDomainName(v string) *DeleteConditionalForwarderInput {
7610	s.RemoteDomainName = &v
7611	return s
7612}
7613
7614// The result of a DeleteConditionalForwarder request.
7615type DeleteConditionalForwarderOutput struct {
7616	_ struct{} `type:"structure"`
7617}
7618
7619// String returns the string representation
7620func (s DeleteConditionalForwarderOutput) String() string {
7621	return awsutil.Prettify(s)
7622}
7623
7624// GoString returns the string representation
7625func (s DeleteConditionalForwarderOutput) GoString() string {
7626	return s.String()
7627}
7628
7629// Contains the inputs for the DeleteDirectory operation.
7630type DeleteDirectoryInput struct {
7631	_ struct{} `type:"structure"`
7632
7633	// The identifier of the directory to delete.
7634	//
7635	// DirectoryId is a required field
7636	DirectoryId *string `type:"string" required:"true"`
7637}
7638
7639// String returns the string representation
7640func (s DeleteDirectoryInput) String() string {
7641	return awsutil.Prettify(s)
7642}
7643
7644// GoString returns the string representation
7645func (s DeleteDirectoryInput) GoString() string {
7646	return s.String()
7647}
7648
7649// Validate inspects the fields of the type to determine if they are valid.
7650func (s *DeleteDirectoryInput) Validate() error {
7651	invalidParams := request.ErrInvalidParams{Context: "DeleteDirectoryInput"}
7652	if s.DirectoryId == nil {
7653		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
7654	}
7655
7656	if invalidParams.Len() > 0 {
7657		return invalidParams
7658	}
7659	return nil
7660}
7661
7662// SetDirectoryId sets the DirectoryId field's value.
7663func (s *DeleteDirectoryInput) SetDirectoryId(v string) *DeleteDirectoryInput {
7664	s.DirectoryId = &v
7665	return s
7666}
7667
7668// Contains the results of the DeleteDirectory operation.
7669type DeleteDirectoryOutput struct {
7670	_ struct{} `type:"structure"`
7671
7672	// The directory identifier.
7673	DirectoryId *string `type:"string"`
7674}
7675
7676// String returns the string representation
7677func (s DeleteDirectoryOutput) String() string {
7678	return awsutil.Prettify(s)
7679}
7680
7681// GoString returns the string representation
7682func (s DeleteDirectoryOutput) GoString() string {
7683	return s.String()
7684}
7685
7686// SetDirectoryId sets the DirectoryId field's value.
7687func (s *DeleteDirectoryOutput) SetDirectoryId(v string) *DeleteDirectoryOutput {
7688	s.DirectoryId = &v
7689	return s
7690}
7691
7692type DeleteLogSubscriptionInput struct {
7693	_ struct{} `type:"structure"`
7694
7695	// Identifier of the directory whose log subscription you want to delete.
7696	//
7697	// DirectoryId is a required field
7698	DirectoryId *string `type:"string" required:"true"`
7699}
7700
7701// String returns the string representation
7702func (s DeleteLogSubscriptionInput) String() string {
7703	return awsutil.Prettify(s)
7704}
7705
7706// GoString returns the string representation
7707func (s DeleteLogSubscriptionInput) GoString() string {
7708	return s.String()
7709}
7710
7711// Validate inspects the fields of the type to determine if they are valid.
7712func (s *DeleteLogSubscriptionInput) Validate() error {
7713	invalidParams := request.ErrInvalidParams{Context: "DeleteLogSubscriptionInput"}
7714	if s.DirectoryId == nil {
7715		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
7716	}
7717
7718	if invalidParams.Len() > 0 {
7719		return invalidParams
7720	}
7721	return nil
7722}
7723
7724// SetDirectoryId sets the DirectoryId field's value.
7725func (s *DeleteLogSubscriptionInput) SetDirectoryId(v string) *DeleteLogSubscriptionInput {
7726	s.DirectoryId = &v
7727	return s
7728}
7729
7730type DeleteLogSubscriptionOutput struct {
7731	_ struct{} `type:"structure"`
7732}
7733
7734// String returns the string representation
7735func (s DeleteLogSubscriptionOutput) String() string {
7736	return awsutil.Prettify(s)
7737}
7738
7739// GoString returns the string representation
7740func (s DeleteLogSubscriptionOutput) GoString() string {
7741	return s.String()
7742}
7743
7744// Contains the inputs for the DeleteSnapshot operation.
7745type DeleteSnapshotInput struct {
7746	_ struct{} `type:"structure"`
7747
7748	// The identifier of the directory snapshot to be deleted.
7749	//
7750	// SnapshotId is a required field
7751	SnapshotId *string `type:"string" required:"true"`
7752}
7753
7754// String returns the string representation
7755func (s DeleteSnapshotInput) String() string {
7756	return awsutil.Prettify(s)
7757}
7758
7759// GoString returns the string representation
7760func (s DeleteSnapshotInput) GoString() string {
7761	return s.String()
7762}
7763
7764// Validate inspects the fields of the type to determine if they are valid.
7765func (s *DeleteSnapshotInput) Validate() error {
7766	invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
7767	if s.SnapshotId == nil {
7768		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
7769	}
7770
7771	if invalidParams.Len() > 0 {
7772		return invalidParams
7773	}
7774	return nil
7775}
7776
7777// SetSnapshotId sets the SnapshotId field's value.
7778func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput {
7779	s.SnapshotId = &v
7780	return s
7781}
7782
7783// Contains the results of the DeleteSnapshot operation.
7784type DeleteSnapshotOutput struct {
7785	_ struct{} `type:"structure"`
7786
7787	// The identifier of the directory snapshot that was deleted.
7788	SnapshotId *string `type:"string"`
7789}
7790
7791// String returns the string representation
7792func (s DeleteSnapshotOutput) String() string {
7793	return awsutil.Prettify(s)
7794}
7795
7796// GoString returns the string representation
7797func (s DeleteSnapshotOutput) GoString() string {
7798	return s.String()
7799}
7800
7801// SetSnapshotId sets the SnapshotId field's value.
7802func (s *DeleteSnapshotOutput) SetSnapshotId(v string) *DeleteSnapshotOutput {
7803	s.SnapshotId = &v
7804	return s
7805}
7806
7807// Deletes the local side of an existing trust relationship between the AWS
7808// Managed Microsoft AD directory and the external domain.
7809type DeleteTrustInput struct {
7810	_ struct{} `type:"structure"`
7811
7812	// Delete a conditional forwarder as part of a DeleteTrustRequest.
7813	DeleteAssociatedConditionalForwarder *bool `type:"boolean"`
7814
7815	// The Trust ID of the trust relationship to be deleted.
7816	//
7817	// TrustId is a required field
7818	TrustId *string `type:"string" required:"true"`
7819}
7820
7821// String returns the string representation
7822func (s DeleteTrustInput) String() string {
7823	return awsutil.Prettify(s)
7824}
7825
7826// GoString returns the string representation
7827func (s DeleteTrustInput) GoString() string {
7828	return s.String()
7829}
7830
7831// Validate inspects the fields of the type to determine if they are valid.
7832func (s *DeleteTrustInput) Validate() error {
7833	invalidParams := request.ErrInvalidParams{Context: "DeleteTrustInput"}
7834	if s.TrustId == nil {
7835		invalidParams.Add(request.NewErrParamRequired("TrustId"))
7836	}
7837
7838	if invalidParams.Len() > 0 {
7839		return invalidParams
7840	}
7841	return nil
7842}
7843
7844// SetDeleteAssociatedConditionalForwarder sets the DeleteAssociatedConditionalForwarder field's value.
7845func (s *DeleteTrustInput) SetDeleteAssociatedConditionalForwarder(v bool) *DeleteTrustInput {
7846	s.DeleteAssociatedConditionalForwarder = &v
7847	return s
7848}
7849
7850// SetTrustId sets the TrustId field's value.
7851func (s *DeleteTrustInput) SetTrustId(v string) *DeleteTrustInput {
7852	s.TrustId = &v
7853	return s
7854}
7855
7856// The result of a DeleteTrust request.
7857type DeleteTrustOutput struct {
7858	_ struct{} `type:"structure"`
7859
7860	// The Trust ID of the trust relationship that was deleted.
7861	TrustId *string `type:"string"`
7862}
7863
7864// String returns the string representation
7865func (s DeleteTrustOutput) String() string {
7866	return awsutil.Prettify(s)
7867}
7868
7869// GoString returns the string representation
7870func (s DeleteTrustOutput) GoString() string {
7871	return s.String()
7872}
7873
7874// SetTrustId sets the TrustId field's value.
7875func (s *DeleteTrustOutput) SetTrustId(v string) *DeleteTrustOutput {
7876	s.TrustId = &v
7877	return s
7878}
7879
7880type DeregisterCertificateInput struct {
7881	_ struct{} `type:"structure"`
7882
7883	// The identifier of the certificate.
7884	//
7885	// CertificateId is a required field
7886	CertificateId *string `type:"string" required:"true"`
7887
7888	// The identifier of the directory.
7889	//
7890	// DirectoryId is a required field
7891	DirectoryId *string `type:"string" required:"true"`
7892}
7893
7894// String returns the string representation
7895func (s DeregisterCertificateInput) String() string {
7896	return awsutil.Prettify(s)
7897}
7898
7899// GoString returns the string representation
7900func (s DeregisterCertificateInput) GoString() string {
7901	return s.String()
7902}
7903
7904// Validate inspects the fields of the type to determine if they are valid.
7905func (s *DeregisterCertificateInput) Validate() error {
7906	invalidParams := request.ErrInvalidParams{Context: "DeregisterCertificateInput"}
7907	if s.CertificateId == nil {
7908		invalidParams.Add(request.NewErrParamRequired("CertificateId"))
7909	}
7910	if s.DirectoryId == nil {
7911		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
7912	}
7913
7914	if invalidParams.Len() > 0 {
7915		return invalidParams
7916	}
7917	return nil
7918}
7919
7920// SetCertificateId sets the CertificateId field's value.
7921func (s *DeregisterCertificateInput) SetCertificateId(v string) *DeregisterCertificateInput {
7922	s.CertificateId = &v
7923	return s
7924}
7925
7926// SetDirectoryId sets the DirectoryId field's value.
7927func (s *DeregisterCertificateInput) SetDirectoryId(v string) *DeregisterCertificateInput {
7928	s.DirectoryId = &v
7929	return s
7930}
7931
7932type DeregisterCertificateOutput struct {
7933	_ struct{} `type:"structure"`
7934}
7935
7936// String returns the string representation
7937func (s DeregisterCertificateOutput) String() string {
7938	return awsutil.Prettify(s)
7939}
7940
7941// GoString returns the string representation
7942func (s DeregisterCertificateOutput) GoString() string {
7943	return s.String()
7944}
7945
7946// Removes the specified directory as a publisher to the specified SNS topic.
7947type DeregisterEventTopicInput struct {
7948	_ struct{} `type:"structure"`
7949
7950	// The Directory ID to remove as a publisher. This directory will no longer
7951	// send messages to the specified SNS topic.
7952	//
7953	// DirectoryId is a required field
7954	DirectoryId *string `type:"string" required:"true"`
7955
7956	// The name of the SNS topic from which to remove the directory as a publisher.
7957	//
7958	// TopicName is a required field
7959	TopicName *string `min:"1" type:"string" required:"true"`
7960}
7961
7962// String returns the string representation
7963func (s DeregisterEventTopicInput) String() string {
7964	return awsutil.Prettify(s)
7965}
7966
7967// GoString returns the string representation
7968func (s DeregisterEventTopicInput) GoString() string {
7969	return s.String()
7970}
7971
7972// Validate inspects the fields of the type to determine if they are valid.
7973func (s *DeregisterEventTopicInput) Validate() error {
7974	invalidParams := request.ErrInvalidParams{Context: "DeregisterEventTopicInput"}
7975	if s.DirectoryId == nil {
7976		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
7977	}
7978	if s.TopicName == nil {
7979		invalidParams.Add(request.NewErrParamRequired("TopicName"))
7980	}
7981	if s.TopicName != nil && len(*s.TopicName) < 1 {
7982		invalidParams.Add(request.NewErrParamMinLen("TopicName", 1))
7983	}
7984
7985	if invalidParams.Len() > 0 {
7986		return invalidParams
7987	}
7988	return nil
7989}
7990
7991// SetDirectoryId sets the DirectoryId field's value.
7992func (s *DeregisterEventTopicInput) SetDirectoryId(v string) *DeregisterEventTopicInput {
7993	s.DirectoryId = &v
7994	return s
7995}
7996
7997// SetTopicName sets the TopicName field's value.
7998func (s *DeregisterEventTopicInput) SetTopicName(v string) *DeregisterEventTopicInput {
7999	s.TopicName = &v
8000	return s
8001}
8002
8003// The result of a DeregisterEventTopic request.
8004type DeregisterEventTopicOutput struct {
8005	_ struct{} `type:"structure"`
8006}
8007
8008// String returns the string representation
8009func (s DeregisterEventTopicOutput) String() string {
8010	return awsutil.Prettify(s)
8011}
8012
8013// GoString returns the string representation
8014func (s DeregisterEventTopicOutput) GoString() string {
8015	return s.String()
8016}
8017
8018type DescribeCertificateInput struct {
8019	_ struct{} `type:"structure"`
8020
8021	// The identifier of the certificate.
8022	//
8023	// CertificateId is a required field
8024	CertificateId *string `type:"string" required:"true"`
8025
8026	// The identifier of the directory.
8027	//
8028	// DirectoryId is a required field
8029	DirectoryId *string `type:"string" required:"true"`
8030}
8031
8032// String returns the string representation
8033func (s DescribeCertificateInput) String() string {
8034	return awsutil.Prettify(s)
8035}
8036
8037// GoString returns the string representation
8038func (s DescribeCertificateInput) GoString() string {
8039	return s.String()
8040}
8041
8042// Validate inspects the fields of the type to determine if they are valid.
8043func (s *DescribeCertificateInput) Validate() error {
8044	invalidParams := request.ErrInvalidParams{Context: "DescribeCertificateInput"}
8045	if s.CertificateId == nil {
8046		invalidParams.Add(request.NewErrParamRequired("CertificateId"))
8047	}
8048	if s.DirectoryId == nil {
8049		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
8050	}
8051
8052	if invalidParams.Len() > 0 {
8053		return invalidParams
8054	}
8055	return nil
8056}
8057
8058// SetCertificateId sets the CertificateId field's value.
8059func (s *DescribeCertificateInput) SetCertificateId(v string) *DescribeCertificateInput {
8060	s.CertificateId = &v
8061	return s
8062}
8063
8064// SetDirectoryId sets the DirectoryId field's value.
8065func (s *DescribeCertificateInput) SetDirectoryId(v string) *DescribeCertificateInput {
8066	s.DirectoryId = &v
8067	return s
8068}
8069
8070type DescribeCertificateOutput struct {
8071	_ struct{} `type:"structure"`
8072
8073	// Information about the certificate, including registered date time, certificate
8074	// state, the reason for the state, expiration date time, and certificate common
8075	// name.
8076	Certificate *Certificate `type:"structure"`
8077}
8078
8079// String returns the string representation
8080func (s DescribeCertificateOutput) String() string {
8081	return awsutil.Prettify(s)
8082}
8083
8084// GoString returns the string representation
8085func (s DescribeCertificateOutput) GoString() string {
8086	return s.String()
8087}
8088
8089// SetCertificate sets the Certificate field's value.
8090func (s *DescribeCertificateOutput) SetCertificate(v *Certificate) *DescribeCertificateOutput {
8091	s.Certificate = v
8092	return s
8093}
8094
8095// Describes a conditional forwarder.
8096type DescribeConditionalForwardersInput struct {
8097	_ struct{} `type:"structure"`
8098
8099	// The directory ID for which to get the list of associated conditional forwarders.
8100	//
8101	// DirectoryId is a required field
8102	DirectoryId *string `type:"string" required:"true"`
8103
8104	// The fully qualified domain names (FQDN) of the remote domains for which to
8105	// get the list of associated conditional forwarders. If this member is null,
8106	// all conditional forwarders are returned.
8107	RemoteDomainNames []*string `type:"list"`
8108}
8109
8110// String returns the string representation
8111func (s DescribeConditionalForwardersInput) String() string {
8112	return awsutil.Prettify(s)
8113}
8114
8115// GoString returns the string representation
8116func (s DescribeConditionalForwardersInput) GoString() string {
8117	return s.String()
8118}
8119
8120// Validate inspects the fields of the type to determine if they are valid.
8121func (s *DescribeConditionalForwardersInput) Validate() error {
8122	invalidParams := request.ErrInvalidParams{Context: "DescribeConditionalForwardersInput"}
8123	if s.DirectoryId == nil {
8124		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
8125	}
8126
8127	if invalidParams.Len() > 0 {
8128		return invalidParams
8129	}
8130	return nil
8131}
8132
8133// SetDirectoryId sets the DirectoryId field's value.
8134func (s *DescribeConditionalForwardersInput) SetDirectoryId(v string) *DescribeConditionalForwardersInput {
8135	s.DirectoryId = &v
8136	return s
8137}
8138
8139// SetRemoteDomainNames sets the RemoteDomainNames field's value.
8140func (s *DescribeConditionalForwardersInput) SetRemoteDomainNames(v []*string) *DescribeConditionalForwardersInput {
8141	s.RemoteDomainNames = v
8142	return s
8143}
8144
8145// The result of a DescribeConditionalForwarder request.
8146type DescribeConditionalForwardersOutput struct {
8147	_ struct{} `type:"structure"`
8148
8149	// The list of conditional forwarders that have been created.
8150	ConditionalForwarders []*ConditionalForwarder `type:"list"`
8151}
8152
8153// String returns the string representation
8154func (s DescribeConditionalForwardersOutput) String() string {
8155	return awsutil.Prettify(s)
8156}
8157
8158// GoString returns the string representation
8159func (s DescribeConditionalForwardersOutput) GoString() string {
8160	return s.String()
8161}
8162
8163// SetConditionalForwarders sets the ConditionalForwarders field's value.
8164func (s *DescribeConditionalForwardersOutput) SetConditionalForwarders(v []*ConditionalForwarder) *DescribeConditionalForwardersOutput {
8165	s.ConditionalForwarders = v
8166	return s
8167}
8168
8169// Contains the inputs for the DescribeDirectories operation.
8170type DescribeDirectoriesInput struct {
8171	_ struct{} `type:"structure"`
8172
8173	// A list of identifiers of the directories for which to obtain the information.
8174	// If this member is null, all directories that belong to the current account
8175	// are returned.
8176	//
8177	// An empty list results in an InvalidParameterException being thrown.
8178	DirectoryIds []*string `type:"list"`
8179
8180	// The maximum number of items to return. If this value is zero, the maximum
8181	// number of items is specified by the limitations of the operation.
8182	Limit *int64 `type:"integer"`
8183
8184	// The DescribeDirectoriesResult.NextToken value from a previous call to DescribeDirectories.
8185	// Pass null if this is the first call.
8186	NextToken *string `type:"string"`
8187}
8188
8189// String returns the string representation
8190func (s DescribeDirectoriesInput) String() string {
8191	return awsutil.Prettify(s)
8192}
8193
8194// GoString returns the string representation
8195func (s DescribeDirectoriesInput) GoString() string {
8196	return s.String()
8197}
8198
8199// SetDirectoryIds sets the DirectoryIds field's value.
8200func (s *DescribeDirectoriesInput) SetDirectoryIds(v []*string) *DescribeDirectoriesInput {
8201	s.DirectoryIds = v
8202	return s
8203}
8204
8205// SetLimit sets the Limit field's value.
8206func (s *DescribeDirectoriesInput) SetLimit(v int64) *DescribeDirectoriesInput {
8207	s.Limit = &v
8208	return s
8209}
8210
8211// SetNextToken sets the NextToken field's value.
8212func (s *DescribeDirectoriesInput) SetNextToken(v string) *DescribeDirectoriesInput {
8213	s.NextToken = &v
8214	return s
8215}
8216
8217// Contains the results of the DescribeDirectories operation.
8218type DescribeDirectoriesOutput struct {
8219	_ struct{} `type:"structure"`
8220
8221	// The list of DirectoryDescription objects that were retrieved.
8222	//
8223	// It is possible that this list contains less than the number of items specified
8224	// in the Limit member of the request. This occurs if there are less than the
8225	// requested number of items left to retrieve, or if the limitations of the
8226	// operation have been exceeded.
8227	DirectoryDescriptions []*DirectoryDescription `type:"list"`
8228
8229	// If not null, more results are available. Pass this value for the NextToken
8230	// parameter in a subsequent call to DescribeDirectories to retrieve the next
8231	// set of items.
8232	NextToken *string `type:"string"`
8233}
8234
8235// String returns the string representation
8236func (s DescribeDirectoriesOutput) String() string {
8237	return awsutil.Prettify(s)
8238}
8239
8240// GoString returns the string representation
8241func (s DescribeDirectoriesOutput) GoString() string {
8242	return s.String()
8243}
8244
8245// SetDirectoryDescriptions sets the DirectoryDescriptions field's value.
8246func (s *DescribeDirectoriesOutput) SetDirectoryDescriptions(v []*DirectoryDescription) *DescribeDirectoriesOutput {
8247	s.DirectoryDescriptions = v
8248	return s
8249}
8250
8251// SetNextToken sets the NextToken field's value.
8252func (s *DescribeDirectoriesOutput) SetNextToken(v string) *DescribeDirectoriesOutput {
8253	s.NextToken = &v
8254	return s
8255}
8256
8257type DescribeDomainControllersInput struct {
8258	_ struct{} `type:"structure"`
8259
8260	// Identifier of the directory for which to retrieve the domain controller information.
8261	//
8262	// DirectoryId is a required field
8263	DirectoryId *string `type:"string" required:"true"`
8264
8265	// A list of identifiers for the domain controllers whose information will be
8266	// provided.
8267	DomainControllerIds []*string `type:"list"`
8268
8269	// The maximum number of items to return.
8270	Limit *int64 `type:"integer"`
8271
8272	// The DescribeDomainControllers.NextToken value from a previous call to DescribeDomainControllers.
8273	// Pass null if this is the first call.
8274	NextToken *string `type:"string"`
8275}
8276
8277// String returns the string representation
8278func (s DescribeDomainControllersInput) String() string {
8279	return awsutil.Prettify(s)
8280}
8281
8282// GoString returns the string representation
8283func (s DescribeDomainControllersInput) GoString() string {
8284	return s.String()
8285}
8286
8287// Validate inspects the fields of the type to determine if they are valid.
8288func (s *DescribeDomainControllersInput) Validate() error {
8289	invalidParams := request.ErrInvalidParams{Context: "DescribeDomainControllersInput"}
8290	if s.DirectoryId == nil {
8291		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
8292	}
8293
8294	if invalidParams.Len() > 0 {
8295		return invalidParams
8296	}
8297	return nil
8298}
8299
8300// SetDirectoryId sets the DirectoryId field's value.
8301func (s *DescribeDomainControllersInput) SetDirectoryId(v string) *DescribeDomainControllersInput {
8302	s.DirectoryId = &v
8303	return s
8304}
8305
8306// SetDomainControllerIds sets the DomainControllerIds field's value.
8307func (s *DescribeDomainControllersInput) SetDomainControllerIds(v []*string) *DescribeDomainControllersInput {
8308	s.DomainControllerIds = v
8309	return s
8310}
8311
8312// SetLimit sets the Limit field's value.
8313func (s *DescribeDomainControllersInput) SetLimit(v int64) *DescribeDomainControllersInput {
8314	s.Limit = &v
8315	return s
8316}
8317
8318// SetNextToken sets the NextToken field's value.
8319func (s *DescribeDomainControllersInput) SetNextToken(v string) *DescribeDomainControllersInput {
8320	s.NextToken = &v
8321	return s
8322}
8323
8324type DescribeDomainControllersOutput struct {
8325	_ struct{} `type:"structure"`
8326
8327	// List of the DomainController objects that were retrieved.
8328	DomainControllers []*DomainController `type:"list"`
8329
8330	// If not null, more results are available. Pass this value for the NextToken
8331	// parameter in a subsequent call to DescribeDomainControllers retrieve the
8332	// next set of items.
8333	NextToken *string `type:"string"`
8334}
8335
8336// String returns the string representation
8337func (s DescribeDomainControllersOutput) String() string {
8338	return awsutil.Prettify(s)
8339}
8340
8341// GoString returns the string representation
8342func (s DescribeDomainControllersOutput) GoString() string {
8343	return s.String()
8344}
8345
8346// SetDomainControllers sets the DomainControllers field's value.
8347func (s *DescribeDomainControllersOutput) SetDomainControllers(v []*DomainController) *DescribeDomainControllersOutput {
8348	s.DomainControllers = v
8349	return s
8350}
8351
8352// SetNextToken sets the NextToken field's value.
8353func (s *DescribeDomainControllersOutput) SetNextToken(v string) *DescribeDomainControllersOutput {
8354	s.NextToken = &v
8355	return s
8356}
8357
8358// Describes event topics.
8359type DescribeEventTopicsInput struct {
8360	_ struct{} `type:"structure"`
8361
8362	// The Directory ID for which to get the list of associated SNS topics. If this
8363	// member is null, associations for all Directory IDs are returned.
8364	DirectoryId *string `type:"string"`
8365
8366	// A list of SNS topic names for which to obtain the information. If this member
8367	// is null, all associations for the specified Directory ID are returned.
8368	//
8369	// An empty list results in an InvalidParameterException being thrown.
8370	TopicNames []*string `type:"list"`
8371}
8372
8373// String returns the string representation
8374func (s DescribeEventTopicsInput) String() string {
8375	return awsutil.Prettify(s)
8376}
8377
8378// GoString returns the string representation
8379func (s DescribeEventTopicsInput) GoString() string {
8380	return s.String()
8381}
8382
8383// SetDirectoryId sets the DirectoryId field's value.
8384func (s *DescribeEventTopicsInput) SetDirectoryId(v string) *DescribeEventTopicsInput {
8385	s.DirectoryId = &v
8386	return s
8387}
8388
8389// SetTopicNames sets the TopicNames field's value.
8390func (s *DescribeEventTopicsInput) SetTopicNames(v []*string) *DescribeEventTopicsInput {
8391	s.TopicNames = v
8392	return s
8393}
8394
8395// The result of a DescribeEventTopic request.
8396type DescribeEventTopicsOutput struct {
8397	_ struct{} `type:"structure"`
8398
8399	// A list of SNS topic names that receive status messages from the specified
8400	// Directory ID.
8401	EventTopics []*EventTopic `type:"list"`
8402}
8403
8404// String returns the string representation
8405func (s DescribeEventTopicsOutput) String() string {
8406	return awsutil.Prettify(s)
8407}
8408
8409// GoString returns the string representation
8410func (s DescribeEventTopicsOutput) GoString() string {
8411	return s.String()
8412}
8413
8414// SetEventTopics sets the EventTopics field's value.
8415func (s *DescribeEventTopicsOutput) SetEventTopics(v []*EventTopic) *DescribeEventTopicsOutput {
8416	s.EventTopics = v
8417	return s
8418}
8419
8420type DescribeLDAPSSettingsInput struct {
8421	_ struct{} `type:"structure"`
8422
8423	// The identifier of the directory.
8424	//
8425	// DirectoryId is a required field
8426	DirectoryId *string `type:"string" required:"true"`
8427
8428	// Specifies the number of items that should be displayed on one page.
8429	Limit *int64 `min:"1" type:"integer"`
8430
8431	// The type of next token used for pagination.
8432	NextToken *string `type:"string"`
8433
8434	// The type of LDAP security to enable. Currently only the value Client is supported.
8435	Type *string `type:"string" enum:"LDAPSType"`
8436}
8437
8438// String returns the string representation
8439func (s DescribeLDAPSSettingsInput) String() string {
8440	return awsutil.Prettify(s)
8441}
8442
8443// GoString returns the string representation
8444func (s DescribeLDAPSSettingsInput) GoString() string {
8445	return s.String()
8446}
8447
8448// Validate inspects the fields of the type to determine if they are valid.
8449func (s *DescribeLDAPSSettingsInput) Validate() error {
8450	invalidParams := request.ErrInvalidParams{Context: "DescribeLDAPSSettingsInput"}
8451	if s.DirectoryId == nil {
8452		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
8453	}
8454	if s.Limit != nil && *s.Limit < 1 {
8455		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
8456	}
8457
8458	if invalidParams.Len() > 0 {
8459		return invalidParams
8460	}
8461	return nil
8462}
8463
8464// SetDirectoryId sets the DirectoryId field's value.
8465func (s *DescribeLDAPSSettingsInput) SetDirectoryId(v string) *DescribeLDAPSSettingsInput {
8466	s.DirectoryId = &v
8467	return s
8468}
8469
8470// SetLimit sets the Limit field's value.
8471func (s *DescribeLDAPSSettingsInput) SetLimit(v int64) *DescribeLDAPSSettingsInput {
8472	s.Limit = &v
8473	return s
8474}
8475
8476// SetNextToken sets the NextToken field's value.
8477func (s *DescribeLDAPSSettingsInput) SetNextToken(v string) *DescribeLDAPSSettingsInput {
8478	s.NextToken = &v
8479	return s
8480}
8481
8482// SetType sets the Type field's value.
8483func (s *DescribeLDAPSSettingsInput) SetType(v string) *DescribeLDAPSSettingsInput {
8484	s.Type = &v
8485	return s
8486}
8487
8488type DescribeLDAPSSettingsOutput struct {
8489	_ struct{} `type:"structure"`
8490
8491	// Information about LDAP security for the specified directory, including status
8492	// of enablement, state last updated date time, and the reason for the state.
8493	LDAPSSettingsInfo []*LDAPSSettingInfo `type:"list"`
8494
8495	// The next token used to retrieve the LDAPS settings if the number of setting
8496	// types exceeds page limit and there is another page.
8497	NextToken *string `type:"string"`
8498}
8499
8500// String returns the string representation
8501func (s DescribeLDAPSSettingsOutput) String() string {
8502	return awsutil.Prettify(s)
8503}
8504
8505// GoString returns the string representation
8506func (s DescribeLDAPSSettingsOutput) GoString() string {
8507	return s.String()
8508}
8509
8510// SetLDAPSSettingsInfo sets the LDAPSSettingsInfo field's value.
8511func (s *DescribeLDAPSSettingsOutput) SetLDAPSSettingsInfo(v []*LDAPSSettingInfo) *DescribeLDAPSSettingsOutput {
8512	s.LDAPSSettingsInfo = v
8513	return s
8514}
8515
8516// SetNextToken sets the NextToken field's value.
8517func (s *DescribeLDAPSSettingsOutput) SetNextToken(v string) *DescribeLDAPSSettingsOutput {
8518	s.NextToken = &v
8519	return s
8520}
8521
8522type DescribeSharedDirectoriesInput struct {
8523	_ struct{} `type:"structure"`
8524
8525	// The number of shared directories to return in the response object.
8526	Limit *int64 `type:"integer"`
8527
8528	// The DescribeSharedDirectoriesResult.NextToken value from a previous call
8529	// to DescribeSharedDirectories. Pass null if this is the first call.
8530	NextToken *string `type:"string"`
8531
8532	// Returns the identifier of the directory in the directory owner account.
8533	//
8534	// OwnerDirectoryId is a required field
8535	OwnerDirectoryId *string `type:"string" required:"true"`
8536
8537	// A list of identifiers of all shared directories in your account.
8538	SharedDirectoryIds []*string `type:"list"`
8539}
8540
8541// String returns the string representation
8542func (s DescribeSharedDirectoriesInput) String() string {
8543	return awsutil.Prettify(s)
8544}
8545
8546// GoString returns the string representation
8547func (s DescribeSharedDirectoriesInput) GoString() string {
8548	return s.String()
8549}
8550
8551// Validate inspects the fields of the type to determine if they are valid.
8552func (s *DescribeSharedDirectoriesInput) Validate() error {
8553	invalidParams := request.ErrInvalidParams{Context: "DescribeSharedDirectoriesInput"}
8554	if s.OwnerDirectoryId == nil {
8555		invalidParams.Add(request.NewErrParamRequired("OwnerDirectoryId"))
8556	}
8557
8558	if invalidParams.Len() > 0 {
8559		return invalidParams
8560	}
8561	return nil
8562}
8563
8564// SetLimit sets the Limit field's value.
8565func (s *DescribeSharedDirectoriesInput) SetLimit(v int64) *DescribeSharedDirectoriesInput {
8566	s.Limit = &v
8567	return s
8568}
8569
8570// SetNextToken sets the NextToken field's value.
8571func (s *DescribeSharedDirectoriesInput) SetNextToken(v string) *DescribeSharedDirectoriesInput {
8572	s.NextToken = &v
8573	return s
8574}
8575
8576// SetOwnerDirectoryId sets the OwnerDirectoryId field's value.
8577func (s *DescribeSharedDirectoriesInput) SetOwnerDirectoryId(v string) *DescribeSharedDirectoriesInput {
8578	s.OwnerDirectoryId = &v
8579	return s
8580}
8581
8582// SetSharedDirectoryIds sets the SharedDirectoryIds field's value.
8583func (s *DescribeSharedDirectoriesInput) SetSharedDirectoryIds(v []*string) *DescribeSharedDirectoriesInput {
8584	s.SharedDirectoryIds = v
8585	return s
8586}
8587
8588type DescribeSharedDirectoriesOutput struct {
8589	_ struct{} `type:"structure"`
8590
8591	// If not null, token that indicates that more results are available. Pass this
8592	// value for the NextToken parameter in a subsequent call to DescribeSharedDirectories
8593	// to retrieve the next set of items.
8594	NextToken *string `type:"string"`
8595
8596	// A list of all shared directories in your account.
8597	SharedDirectories []*SharedDirectory `type:"list"`
8598}
8599
8600// String returns the string representation
8601func (s DescribeSharedDirectoriesOutput) String() string {
8602	return awsutil.Prettify(s)
8603}
8604
8605// GoString returns the string representation
8606func (s DescribeSharedDirectoriesOutput) GoString() string {
8607	return s.String()
8608}
8609
8610// SetNextToken sets the NextToken field's value.
8611func (s *DescribeSharedDirectoriesOutput) SetNextToken(v string) *DescribeSharedDirectoriesOutput {
8612	s.NextToken = &v
8613	return s
8614}
8615
8616// SetSharedDirectories sets the SharedDirectories field's value.
8617func (s *DescribeSharedDirectoriesOutput) SetSharedDirectories(v []*SharedDirectory) *DescribeSharedDirectoriesOutput {
8618	s.SharedDirectories = v
8619	return s
8620}
8621
8622// Contains the inputs for the DescribeSnapshots operation.
8623type DescribeSnapshotsInput struct {
8624	_ struct{} `type:"structure"`
8625
8626	// The identifier of the directory for which to retrieve snapshot information.
8627	DirectoryId *string `type:"string"`
8628
8629	// The maximum number of objects to return.
8630	Limit *int64 `type:"integer"`
8631
8632	// The DescribeSnapshotsResult.NextToken value from a previous call to DescribeSnapshots.
8633	// Pass null if this is the first call.
8634	NextToken *string `type:"string"`
8635
8636	// A list of identifiers of the snapshots to obtain the information for. If
8637	// this member is null or empty, all snapshots are returned using the Limit
8638	// and NextToken members.
8639	SnapshotIds []*string `type:"list"`
8640}
8641
8642// String returns the string representation
8643func (s DescribeSnapshotsInput) String() string {
8644	return awsutil.Prettify(s)
8645}
8646
8647// GoString returns the string representation
8648func (s DescribeSnapshotsInput) GoString() string {
8649	return s.String()
8650}
8651
8652// SetDirectoryId sets the DirectoryId field's value.
8653func (s *DescribeSnapshotsInput) SetDirectoryId(v string) *DescribeSnapshotsInput {
8654	s.DirectoryId = &v
8655	return s
8656}
8657
8658// SetLimit sets the Limit field's value.
8659func (s *DescribeSnapshotsInput) SetLimit(v int64) *DescribeSnapshotsInput {
8660	s.Limit = &v
8661	return s
8662}
8663
8664// SetNextToken sets the NextToken field's value.
8665func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput {
8666	s.NextToken = &v
8667	return s
8668}
8669
8670// SetSnapshotIds sets the SnapshotIds field's value.
8671func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput {
8672	s.SnapshotIds = v
8673	return s
8674}
8675
8676// Contains the results of the DescribeSnapshots operation.
8677type DescribeSnapshotsOutput struct {
8678	_ struct{} `type:"structure"`
8679
8680	// If not null, more results are available. Pass this value in the NextToken
8681	// member of a subsequent call to DescribeSnapshots.
8682	NextToken *string `type:"string"`
8683
8684	// The list of Snapshot objects that were retrieved.
8685	//
8686	// It is possible that this list contains less than the number of items specified
8687	// in the Limit member of the request. This occurs if there are less than the
8688	// requested number of items left to retrieve, or if the limitations of the
8689	// operation have been exceeded.
8690	Snapshots []*Snapshot `type:"list"`
8691}
8692
8693// String returns the string representation
8694func (s DescribeSnapshotsOutput) String() string {
8695	return awsutil.Prettify(s)
8696}
8697
8698// GoString returns the string representation
8699func (s DescribeSnapshotsOutput) GoString() string {
8700	return s.String()
8701}
8702
8703// SetNextToken sets the NextToken field's value.
8704func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput {
8705	s.NextToken = &v
8706	return s
8707}
8708
8709// SetSnapshots sets the Snapshots field's value.
8710func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput {
8711	s.Snapshots = v
8712	return s
8713}
8714
8715// Describes the trust relationships for a particular AWS Managed Microsoft
8716// AD directory. If no input parameters are are provided, such as directory
8717// ID or trust ID, this request describes all the trust relationships.
8718type DescribeTrustsInput struct {
8719	_ struct{} `type:"structure"`
8720
8721	// The Directory ID of the AWS directory that is a part of the requested trust
8722	// relationship.
8723	DirectoryId *string `type:"string"`
8724
8725	// The maximum number of objects to return.
8726	Limit *int64 `type:"integer"`
8727
8728	// The DescribeTrustsResult.NextToken value from a previous call to DescribeTrusts.
8729	// Pass null if this is the first call.
8730	NextToken *string `type:"string"`
8731
8732	// A list of identifiers of the trust relationships for which to obtain the
8733	// information. If this member is null, all trust relationships that belong
8734	// to the current account are returned.
8735	//
8736	// An empty list results in an InvalidParameterException being thrown.
8737	TrustIds []*string `type:"list"`
8738}
8739
8740// String returns the string representation
8741func (s DescribeTrustsInput) String() string {
8742	return awsutil.Prettify(s)
8743}
8744
8745// GoString returns the string representation
8746func (s DescribeTrustsInput) GoString() string {
8747	return s.String()
8748}
8749
8750// SetDirectoryId sets the DirectoryId field's value.
8751func (s *DescribeTrustsInput) SetDirectoryId(v string) *DescribeTrustsInput {
8752	s.DirectoryId = &v
8753	return s
8754}
8755
8756// SetLimit sets the Limit field's value.
8757func (s *DescribeTrustsInput) SetLimit(v int64) *DescribeTrustsInput {
8758	s.Limit = &v
8759	return s
8760}
8761
8762// SetNextToken sets the NextToken field's value.
8763func (s *DescribeTrustsInput) SetNextToken(v string) *DescribeTrustsInput {
8764	s.NextToken = &v
8765	return s
8766}
8767
8768// SetTrustIds sets the TrustIds field's value.
8769func (s *DescribeTrustsInput) SetTrustIds(v []*string) *DescribeTrustsInput {
8770	s.TrustIds = v
8771	return s
8772}
8773
8774// The result of a DescribeTrust request.
8775type DescribeTrustsOutput struct {
8776	_ struct{} `type:"structure"`
8777
8778	// If not null, more results are available. Pass this value for the NextToken
8779	// parameter in a subsequent call to DescribeTrusts to retrieve the next set
8780	// of items.
8781	NextToken *string `type:"string"`
8782
8783	// The list of Trust objects that were retrieved.
8784	//
8785	// It is possible that this list contains less than the number of items specified
8786	// in the Limit member of the request. This occurs if there are less than the
8787	// requested number of items left to retrieve, or if the limitations of the
8788	// operation have been exceeded.
8789	Trusts []*Trust `type:"list"`
8790}
8791
8792// String returns the string representation
8793func (s DescribeTrustsOutput) String() string {
8794	return awsutil.Prettify(s)
8795}
8796
8797// GoString returns the string representation
8798func (s DescribeTrustsOutput) GoString() string {
8799	return s.String()
8800}
8801
8802// SetNextToken sets the NextToken field's value.
8803func (s *DescribeTrustsOutput) SetNextToken(v string) *DescribeTrustsOutput {
8804	s.NextToken = &v
8805	return s
8806}
8807
8808// SetTrusts sets the Trusts field's value.
8809func (s *DescribeTrustsOutput) SetTrusts(v []*Trust) *DescribeTrustsOutput {
8810	s.Trusts = v
8811	return s
8812}
8813
8814// The specified directory has already been shared with this AWS account.
8815type DirectoryAlreadySharedException struct {
8816	_            struct{}                  `type:"structure"`
8817	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8818
8819	// The descriptive message for the exception.
8820	Message_ *string `locationName:"Message" type:"string"`
8821
8822	// The AWS request identifier.
8823	RequestId *string `type:"string"`
8824}
8825
8826// String returns the string representation
8827func (s DirectoryAlreadySharedException) String() string {
8828	return awsutil.Prettify(s)
8829}
8830
8831// GoString returns the string representation
8832func (s DirectoryAlreadySharedException) GoString() string {
8833	return s.String()
8834}
8835
8836func newErrorDirectoryAlreadySharedException(v protocol.ResponseMetadata) error {
8837	return &DirectoryAlreadySharedException{
8838		RespMetadata: v,
8839	}
8840}
8841
8842// Code returns the exception type name.
8843func (s *DirectoryAlreadySharedException) Code() string {
8844	return "DirectoryAlreadySharedException"
8845}
8846
8847// Message returns the exception's message.
8848func (s *DirectoryAlreadySharedException) Message() string {
8849	if s.Message_ != nil {
8850		return *s.Message_
8851	}
8852	return ""
8853}
8854
8855// OrigErr always returns nil, satisfies awserr.Error interface.
8856func (s *DirectoryAlreadySharedException) OrigErr() error {
8857	return nil
8858}
8859
8860func (s *DirectoryAlreadySharedException) Error() string {
8861	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
8862}
8863
8864// Status code returns the HTTP status code for the request's response error.
8865func (s *DirectoryAlreadySharedException) StatusCode() int {
8866	return s.RespMetadata.StatusCode
8867}
8868
8869// RequestID returns the service's response RequestID for request.
8870func (s *DirectoryAlreadySharedException) RequestID() string {
8871	return s.RespMetadata.RequestID
8872}
8873
8874// Contains information for the ConnectDirectory operation when an AD Connector
8875// directory is being created.
8876type DirectoryConnectSettings struct {
8877	_ struct{} `type:"structure"`
8878
8879	// A list of one or more IP addresses of DNS servers or domain controllers in
8880	// the on-premises directory.
8881	//
8882	// CustomerDnsIps is a required field
8883	CustomerDnsIps []*string `type:"list" required:"true"`
8884
8885	// The user name of an account in the on-premises directory that is used to
8886	// connect to the directory. This account must have the following permissions:
8887	//
8888	//    * Read users and groups
8889	//
8890	//    * Create computer objects
8891	//
8892	//    * Join computers to the domain
8893	//
8894	// CustomerUserName is a required field
8895	CustomerUserName *string `min:"1" type:"string" required:"true"`
8896
8897	// A list of subnet identifiers in the VPC in which the AD Connector is created.
8898	//
8899	// SubnetIds is a required field
8900	SubnetIds []*string `type:"list" required:"true"`
8901
8902	// The identifier of the VPC in which the AD Connector is created.
8903	//
8904	// VpcId is a required field
8905	VpcId *string `type:"string" required:"true"`
8906}
8907
8908// String returns the string representation
8909func (s DirectoryConnectSettings) String() string {
8910	return awsutil.Prettify(s)
8911}
8912
8913// GoString returns the string representation
8914func (s DirectoryConnectSettings) GoString() string {
8915	return s.String()
8916}
8917
8918// Validate inspects the fields of the type to determine if they are valid.
8919func (s *DirectoryConnectSettings) Validate() error {
8920	invalidParams := request.ErrInvalidParams{Context: "DirectoryConnectSettings"}
8921	if s.CustomerDnsIps == nil {
8922		invalidParams.Add(request.NewErrParamRequired("CustomerDnsIps"))
8923	}
8924	if s.CustomerUserName == nil {
8925		invalidParams.Add(request.NewErrParamRequired("CustomerUserName"))
8926	}
8927	if s.CustomerUserName != nil && len(*s.CustomerUserName) < 1 {
8928		invalidParams.Add(request.NewErrParamMinLen("CustomerUserName", 1))
8929	}
8930	if s.SubnetIds == nil {
8931		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
8932	}
8933	if s.VpcId == nil {
8934		invalidParams.Add(request.NewErrParamRequired("VpcId"))
8935	}
8936
8937	if invalidParams.Len() > 0 {
8938		return invalidParams
8939	}
8940	return nil
8941}
8942
8943// SetCustomerDnsIps sets the CustomerDnsIps field's value.
8944func (s *DirectoryConnectSettings) SetCustomerDnsIps(v []*string) *DirectoryConnectSettings {
8945	s.CustomerDnsIps = v
8946	return s
8947}
8948
8949// SetCustomerUserName sets the CustomerUserName field's value.
8950func (s *DirectoryConnectSettings) SetCustomerUserName(v string) *DirectoryConnectSettings {
8951	s.CustomerUserName = &v
8952	return s
8953}
8954
8955// SetSubnetIds sets the SubnetIds field's value.
8956func (s *DirectoryConnectSettings) SetSubnetIds(v []*string) *DirectoryConnectSettings {
8957	s.SubnetIds = v
8958	return s
8959}
8960
8961// SetVpcId sets the VpcId field's value.
8962func (s *DirectoryConnectSettings) SetVpcId(v string) *DirectoryConnectSettings {
8963	s.VpcId = &v
8964	return s
8965}
8966
8967// Contains information about an AD Connector directory.
8968type DirectoryConnectSettingsDescription struct {
8969	_ struct{} `type:"structure"`
8970
8971	// A list of the Availability Zones that the directory is in.
8972	AvailabilityZones []*string `type:"list"`
8973
8974	// The IP addresses of the AD Connector servers.
8975	ConnectIps []*string `type:"list"`
8976
8977	// The user name of the service account in the on-premises directory.
8978	CustomerUserName *string `min:"1" type:"string"`
8979
8980	// The security group identifier for the AD Connector directory.
8981	SecurityGroupId *string `type:"string"`
8982
8983	// A list of subnet identifiers in the VPC that the AD Connector is in.
8984	SubnetIds []*string `type:"list"`
8985
8986	// The identifier of the VPC that the AD Connector is in.
8987	VpcId *string `type:"string"`
8988}
8989
8990// String returns the string representation
8991func (s DirectoryConnectSettingsDescription) String() string {
8992	return awsutil.Prettify(s)
8993}
8994
8995// GoString returns the string representation
8996func (s DirectoryConnectSettingsDescription) GoString() string {
8997	return s.String()
8998}
8999
9000// SetAvailabilityZones sets the AvailabilityZones field's value.
9001func (s *DirectoryConnectSettingsDescription) SetAvailabilityZones(v []*string) *DirectoryConnectSettingsDescription {
9002	s.AvailabilityZones = v
9003	return s
9004}
9005
9006// SetConnectIps sets the ConnectIps field's value.
9007func (s *DirectoryConnectSettingsDescription) SetConnectIps(v []*string) *DirectoryConnectSettingsDescription {
9008	s.ConnectIps = v
9009	return s
9010}
9011
9012// SetCustomerUserName sets the CustomerUserName field's value.
9013func (s *DirectoryConnectSettingsDescription) SetCustomerUserName(v string) *DirectoryConnectSettingsDescription {
9014	s.CustomerUserName = &v
9015	return s
9016}
9017
9018// SetSecurityGroupId sets the SecurityGroupId field's value.
9019func (s *DirectoryConnectSettingsDescription) SetSecurityGroupId(v string) *DirectoryConnectSettingsDescription {
9020	s.SecurityGroupId = &v
9021	return s
9022}
9023
9024// SetSubnetIds sets the SubnetIds field's value.
9025func (s *DirectoryConnectSettingsDescription) SetSubnetIds(v []*string) *DirectoryConnectSettingsDescription {
9026	s.SubnetIds = v
9027	return s
9028}
9029
9030// SetVpcId sets the VpcId field's value.
9031func (s *DirectoryConnectSettingsDescription) SetVpcId(v string) *DirectoryConnectSettingsDescription {
9032	s.VpcId = &v
9033	return s
9034}
9035
9036// Contains information about an AWS Directory Service directory.
9037type DirectoryDescription struct {
9038	_ struct{} `type:"structure"`
9039
9040	// The access URL for the directory, such as http://<alias>.awsapps.com. If
9041	// no alias has been created for the directory, <alias> is the directory identifier,
9042	// such as d-XXXXXXXXXX.
9043	AccessUrl *string `min:"1" type:"string"`
9044
9045	// The alias for the directory. If no alias has been created for the directory,
9046	// the alias is the directory identifier, such as d-XXXXXXXXXX.
9047	Alias *string `min:"1" type:"string"`
9048
9049	// A DirectoryConnectSettingsDescription object that contains additional information
9050	// about an AD Connector directory. This member is only present if the directory
9051	// is an AD Connector directory.
9052	ConnectSettings *DirectoryConnectSettingsDescription `type:"structure"`
9053
9054	// The description for the directory.
9055	Description *string `type:"string"`
9056
9057	// The desired number of domain controllers in the directory if the directory
9058	// is Microsoft AD.
9059	DesiredNumberOfDomainControllers *int64 `min:"2" type:"integer"`
9060
9061	// The directory identifier.
9062	DirectoryId *string `type:"string"`
9063
9064	// The IP addresses of the DNS servers for the directory. For a Simple AD or
9065	// Microsoft AD directory, these are the IP addresses of the Simple AD or Microsoft
9066	// AD directory servers. For an AD Connector directory, these are the IP addresses
9067	// of the DNS servers or domain controllers in the on-premises directory to
9068	// which the AD Connector is connected.
9069	DnsIpAddrs []*string `type:"list"`
9070
9071	// The edition associated with this directory.
9072	Edition *string `type:"string" enum:"DirectoryEdition"`
9073
9074	// Specifies when the directory was created.
9075	LaunchTime *time.Time `type:"timestamp"`
9076
9077	// The fully qualified name of the directory.
9078	Name *string `type:"string"`
9079
9080	// Describes the AWS Managed Microsoft AD directory in the directory owner account.
9081	OwnerDirectoryDescription *OwnerDirectoryDescription `type:"structure"`
9082
9083	// A RadiusSettings object that contains information about the RADIUS server
9084	// configured for this directory.
9085	RadiusSettings *RadiusSettings `type:"structure"`
9086
9087	// The status of the RADIUS MFA server connection.
9088	RadiusStatus *string `type:"string" enum:"RadiusStatus"`
9089
9090	// The method used when sharing a directory to determine whether the directory
9091	// should be shared within your AWS organization (ORGANIZATIONS) or with any
9092	// AWS account by sending a shared directory request (HANDSHAKE).
9093	ShareMethod *string `type:"string" enum:"ShareMethod"`
9094
9095	// A directory share request that is sent by the directory owner to the directory
9096	// consumer. The request includes a typed message to help the directory consumer
9097	// administrator determine whether to approve or reject the share invitation.
9098	ShareNotes *string `type:"string" sensitive:"true"`
9099
9100	// Current directory status of the shared AWS Managed Microsoft AD directory.
9101	ShareStatus *string `type:"string" enum:"ShareStatus"`
9102
9103	// The short name of the directory.
9104	ShortName *string `type:"string"`
9105
9106	// The directory size.
9107	Size *string `type:"string" enum:"DirectorySize"`
9108
9109	// Indicates if single sign-on is enabled for the directory. For more information,
9110	// see EnableSso and DisableSso.
9111	SsoEnabled *bool `type:"boolean"`
9112
9113	// The current stage of the directory.
9114	Stage *string `type:"string" enum:"DirectoryStage"`
9115
9116	// The date and time that the stage was last updated.
9117	StageLastUpdatedDateTime *time.Time `type:"timestamp"`
9118
9119	// Additional information about the directory stage.
9120	StageReason *string `type:"string"`
9121
9122	// The directory size.
9123	Type *string `type:"string" enum:"DirectoryType"`
9124
9125	// A DirectoryVpcSettingsDescription object that contains additional information
9126	// about a directory. This member is only present if the directory is a Simple
9127	// AD or Managed AD directory.
9128	VpcSettings *DirectoryVpcSettingsDescription `type:"structure"`
9129}
9130
9131// String returns the string representation
9132func (s DirectoryDescription) String() string {
9133	return awsutil.Prettify(s)
9134}
9135
9136// GoString returns the string representation
9137func (s DirectoryDescription) GoString() string {
9138	return s.String()
9139}
9140
9141// SetAccessUrl sets the AccessUrl field's value.
9142func (s *DirectoryDescription) SetAccessUrl(v string) *DirectoryDescription {
9143	s.AccessUrl = &v
9144	return s
9145}
9146
9147// SetAlias sets the Alias field's value.
9148func (s *DirectoryDescription) SetAlias(v string) *DirectoryDescription {
9149	s.Alias = &v
9150	return s
9151}
9152
9153// SetConnectSettings sets the ConnectSettings field's value.
9154func (s *DirectoryDescription) SetConnectSettings(v *DirectoryConnectSettingsDescription) *DirectoryDescription {
9155	s.ConnectSettings = v
9156	return s
9157}
9158
9159// SetDescription sets the Description field's value.
9160func (s *DirectoryDescription) SetDescription(v string) *DirectoryDescription {
9161	s.Description = &v
9162	return s
9163}
9164
9165// SetDesiredNumberOfDomainControllers sets the DesiredNumberOfDomainControllers field's value.
9166func (s *DirectoryDescription) SetDesiredNumberOfDomainControllers(v int64) *DirectoryDescription {
9167	s.DesiredNumberOfDomainControllers = &v
9168	return s
9169}
9170
9171// SetDirectoryId sets the DirectoryId field's value.
9172func (s *DirectoryDescription) SetDirectoryId(v string) *DirectoryDescription {
9173	s.DirectoryId = &v
9174	return s
9175}
9176
9177// SetDnsIpAddrs sets the DnsIpAddrs field's value.
9178func (s *DirectoryDescription) SetDnsIpAddrs(v []*string) *DirectoryDescription {
9179	s.DnsIpAddrs = v
9180	return s
9181}
9182
9183// SetEdition sets the Edition field's value.
9184func (s *DirectoryDescription) SetEdition(v string) *DirectoryDescription {
9185	s.Edition = &v
9186	return s
9187}
9188
9189// SetLaunchTime sets the LaunchTime field's value.
9190func (s *DirectoryDescription) SetLaunchTime(v time.Time) *DirectoryDescription {
9191	s.LaunchTime = &v
9192	return s
9193}
9194
9195// SetName sets the Name field's value.
9196func (s *DirectoryDescription) SetName(v string) *DirectoryDescription {
9197	s.Name = &v
9198	return s
9199}
9200
9201// SetOwnerDirectoryDescription sets the OwnerDirectoryDescription field's value.
9202func (s *DirectoryDescription) SetOwnerDirectoryDescription(v *OwnerDirectoryDescription) *DirectoryDescription {
9203	s.OwnerDirectoryDescription = v
9204	return s
9205}
9206
9207// SetRadiusSettings sets the RadiusSettings field's value.
9208func (s *DirectoryDescription) SetRadiusSettings(v *RadiusSettings) *DirectoryDescription {
9209	s.RadiusSettings = v
9210	return s
9211}
9212
9213// SetRadiusStatus sets the RadiusStatus field's value.
9214func (s *DirectoryDescription) SetRadiusStatus(v string) *DirectoryDescription {
9215	s.RadiusStatus = &v
9216	return s
9217}
9218
9219// SetShareMethod sets the ShareMethod field's value.
9220func (s *DirectoryDescription) SetShareMethod(v string) *DirectoryDescription {
9221	s.ShareMethod = &v
9222	return s
9223}
9224
9225// SetShareNotes sets the ShareNotes field's value.
9226func (s *DirectoryDescription) SetShareNotes(v string) *DirectoryDescription {
9227	s.ShareNotes = &v
9228	return s
9229}
9230
9231// SetShareStatus sets the ShareStatus field's value.
9232func (s *DirectoryDescription) SetShareStatus(v string) *DirectoryDescription {
9233	s.ShareStatus = &v
9234	return s
9235}
9236
9237// SetShortName sets the ShortName field's value.
9238func (s *DirectoryDescription) SetShortName(v string) *DirectoryDescription {
9239	s.ShortName = &v
9240	return s
9241}
9242
9243// SetSize sets the Size field's value.
9244func (s *DirectoryDescription) SetSize(v string) *DirectoryDescription {
9245	s.Size = &v
9246	return s
9247}
9248
9249// SetSsoEnabled sets the SsoEnabled field's value.
9250func (s *DirectoryDescription) SetSsoEnabled(v bool) *DirectoryDescription {
9251	s.SsoEnabled = &v
9252	return s
9253}
9254
9255// SetStage sets the Stage field's value.
9256func (s *DirectoryDescription) SetStage(v string) *DirectoryDescription {
9257	s.Stage = &v
9258	return s
9259}
9260
9261// SetStageLastUpdatedDateTime sets the StageLastUpdatedDateTime field's value.
9262func (s *DirectoryDescription) SetStageLastUpdatedDateTime(v time.Time) *DirectoryDescription {
9263	s.StageLastUpdatedDateTime = &v
9264	return s
9265}
9266
9267// SetStageReason sets the StageReason field's value.
9268func (s *DirectoryDescription) SetStageReason(v string) *DirectoryDescription {
9269	s.StageReason = &v
9270	return s
9271}
9272
9273// SetType sets the Type field's value.
9274func (s *DirectoryDescription) SetType(v string) *DirectoryDescription {
9275	s.Type = &v
9276	return s
9277}
9278
9279// SetVpcSettings sets the VpcSettings field's value.
9280func (s *DirectoryDescription) SetVpcSettings(v *DirectoryVpcSettingsDescription) *DirectoryDescription {
9281	s.VpcSettings = v
9282	return s
9283}
9284
9285// The specified directory does not exist in the system.
9286type DirectoryDoesNotExistException struct {
9287	_            struct{}                  `type:"structure"`
9288	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9289
9290	// The descriptive message for the exception.
9291	Message_ *string `locationName:"Message" type:"string"`
9292
9293	// The AWS request identifier.
9294	RequestId *string `type:"string"`
9295}
9296
9297// String returns the string representation
9298func (s DirectoryDoesNotExistException) String() string {
9299	return awsutil.Prettify(s)
9300}
9301
9302// GoString returns the string representation
9303func (s DirectoryDoesNotExistException) GoString() string {
9304	return s.String()
9305}
9306
9307func newErrorDirectoryDoesNotExistException(v protocol.ResponseMetadata) error {
9308	return &DirectoryDoesNotExistException{
9309		RespMetadata: v,
9310	}
9311}
9312
9313// Code returns the exception type name.
9314func (s *DirectoryDoesNotExistException) Code() string {
9315	return "DirectoryDoesNotExistException"
9316}
9317
9318// Message returns the exception's message.
9319func (s *DirectoryDoesNotExistException) Message() string {
9320	if s.Message_ != nil {
9321		return *s.Message_
9322	}
9323	return ""
9324}
9325
9326// OrigErr always returns nil, satisfies awserr.Error interface.
9327func (s *DirectoryDoesNotExistException) OrigErr() error {
9328	return nil
9329}
9330
9331func (s *DirectoryDoesNotExistException) Error() string {
9332	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9333}
9334
9335// Status code returns the HTTP status code for the request's response error.
9336func (s *DirectoryDoesNotExistException) StatusCode() int {
9337	return s.RespMetadata.StatusCode
9338}
9339
9340// RequestID returns the service's response RequestID for request.
9341func (s *DirectoryDoesNotExistException) RequestID() string {
9342	return s.RespMetadata.RequestID
9343}
9344
9345// The maximum number of directories in the region has been reached. You can
9346// use the GetDirectoryLimits operation to determine your directory limits in
9347// the region.
9348type DirectoryLimitExceededException struct {
9349	_            struct{}                  `type:"structure"`
9350	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9351
9352	// The descriptive message for the exception.
9353	Message_ *string `locationName:"Message" type:"string"`
9354
9355	// The AWS request identifier.
9356	RequestId *string `type:"string"`
9357}
9358
9359// String returns the string representation
9360func (s DirectoryLimitExceededException) String() string {
9361	return awsutil.Prettify(s)
9362}
9363
9364// GoString returns the string representation
9365func (s DirectoryLimitExceededException) GoString() string {
9366	return s.String()
9367}
9368
9369func newErrorDirectoryLimitExceededException(v protocol.ResponseMetadata) error {
9370	return &DirectoryLimitExceededException{
9371		RespMetadata: v,
9372	}
9373}
9374
9375// Code returns the exception type name.
9376func (s *DirectoryLimitExceededException) Code() string {
9377	return "DirectoryLimitExceededException"
9378}
9379
9380// Message returns the exception's message.
9381func (s *DirectoryLimitExceededException) Message() string {
9382	if s.Message_ != nil {
9383		return *s.Message_
9384	}
9385	return ""
9386}
9387
9388// OrigErr always returns nil, satisfies awserr.Error interface.
9389func (s *DirectoryLimitExceededException) OrigErr() error {
9390	return nil
9391}
9392
9393func (s *DirectoryLimitExceededException) Error() string {
9394	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9395}
9396
9397// Status code returns the HTTP status code for the request's response error.
9398func (s *DirectoryLimitExceededException) StatusCode() int {
9399	return s.RespMetadata.StatusCode
9400}
9401
9402// RequestID returns the service's response RequestID for request.
9403func (s *DirectoryLimitExceededException) RequestID() string {
9404	return s.RespMetadata.RequestID
9405}
9406
9407// Contains directory limit information for a Region.
9408type DirectoryLimits struct {
9409	_ struct{} `type:"structure"`
9410
9411	// The current number of cloud directories in the Region.
9412	CloudOnlyDirectoriesCurrentCount *int64 `type:"integer"`
9413
9414	// The maximum number of cloud directories allowed in the Region.
9415	CloudOnlyDirectoriesLimit *int64 `type:"integer"`
9416
9417	// Indicates if the cloud directory limit has been reached.
9418	CloudOnlyDirectoriesLimitReached *bool `type:"boolean"`
9419
9420	// The current number of AWS Managed Microsoft AD directories in the region.
9421	CloudOnlyMicrosoftADCurrentCount *int64 `type:"integer"`
9422
9423	// The maximum number of AWS Managed Microsoft AD directories allowed in the
9424	// region.
9425	CloudOnlyMicrosoftADLimit *int64 `type:"integer"`
9426
9427	// Indicates if the AWS Managed Microsoft AD directory limit has been reached.
9428	CloudOnlyMicrosoftADLimitReached *bool `type:"boolean"`
9429
9430	// The current number of connected directories in the Region.
9431	ConnectedDirectoriesCurrentCount *int64 `type:"integer"`
9432
9433	// The maximum number of connected directories allowed in the Region.
9434	ConnectedDirectoriesLimit *int64 `type:"integer"`
9435
9436	// Indicates if the connected directory limit has been reached.
9437	ConnectedDirectoriesLimitReached *bool `type:"boolean"`
9438}
9439
9440// String returns the string representation
9441func (s DirectoryLimits) String() string {
9442	return awsutil.Prettify(s)
9443}
9444
9445// GoString returns the string representation
9446func (s DirectoryLimits) GoString() string {
9447	return s.String()
9448}
9449
9450// SetCloudOnlyDirectoriesCurrentCount sets the CloudOnlyDirectoriesCurrentCount field's value.
9451func (s *DirectoryLimits) SetCloudOnlyDirectoriesCurrentCount(v int64) *DirectoryLimits {
9452	s.CloudOnlyDirectoriesCurrentCount = &v
9453	return s
9454}
9455
9456// SetCloudOnlyDirectoriesLimit sets the CloudOnlyDirectoriesLimit field's value.
9457func (s *DirectoryLimits) SetCloudOnlyDirectoriesLimit(v int64) *DirectoryLimits {
9458	s.CloudOnlyDirectoriesLimit = &v
9459	return s
9460}
9461
9462// SetCloudOnlyDirectoriesLimitReached sets the CloudOnlyDirectoriesLimitReached field's value.
9463func (s *DirectoryLimits) SetCloudOnlyDirectoriesLimitReached(v bool) *DirectoryLimits {
9464	s.CloudOnlyDirectoriesLimitReached = &v
9465	return s
9466}
9467
9468// SetCloudOnlyMicrosoftADCurrentCount sets the CloudOnlyMicrosoftADCurrentCount field's value.
9469func (s *DirectoryLimits) SetCloudOnlyMicrosoftADCurrentCount(v int64) *DirectoryLimits {
9470	s.CloudOnlyMicrosoftADCurrentCount = &v
9471	return s
9472}
9473
9474// SetCloudOnlyMicrosoftADLimit sets the CloudOnlyMicrosoftADLimit field's value.
9475func (s *DirectoryLimits) SetCloudOnlyMicrosoftADLimit(v int64) *DirectoryLimits {
9476	s.CloudOnlyMicrosoftADLimit = &v
9477	return s
9478}
9479
9480// SetCloudOnlyMicrosoftADLimitReached sets the CloudOnlyMicrosoftADLimitReached field's value.
9481func (s *DirectoryLimits) SetCloudOnlyMicrosoftADLimitReached(v bool) *DirectoryLimits {
9482	s.CloudOnlyMicrosoftADLimitReached = &v
9483	return s
9484}
9485
9486// SetConnectedDirectoriesCurrentCount sets the ConnectedDirectoriesCurrentCount field's value.
9487func (s *DirectoryLimits) SetConnectedDirectoriesCurrentCount(v int64) *DirectoryLimits {
9488	s.ConnectedDirectoriesCurrentCount = &v
9489	return s
9490}
9491
9492// SetConnectedDirectoriesLimit sets the ConnectedDirectoriesLimit field's value.
9493func (s *DirectoryLimits) SetConnectedDirectoriesLimit(v int64) *DirectoryLimits {
9494	s.ConnectedDirectoriesLimit = &v
9495	return s
9496}
9497
9498// SetConnectedDirectoriesLimitReached sets the ConnectedDirectoriesLimitReached field's value.
9499func (s *DirectoryLimits) SetConnectedDirectoriesLimitReached(v bool) *DirectoryLimits {
9500	s.ConnectedDirectoriesLimitReached = &v
9501	return s
9502}
9503
9504// The specified directory has not been shared with this AWS account.
9505type DirectoryNotSharedException struct {
9506	_            struct{}                  `type:"structure"`
9507	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9508
9509	// The descriptive message for the exception.
9510	Message_ *string `locationName:"Message" type:"string"`
9511
9512	// The AWS request identifier.
9513	RequestId *string `type:"string"`
9514}
9515
9516// String returns the string representation
9517func (s DirectoryNotSharedException) String() string {
9518	return awsutil.Prettify(s)
9519}
9520
9521// GoString returns the string representation
9522func (s DirectoryNotSharedException) GoString() string {
9523	return s.String()
9524}
9525
9526func newErrorDirectoryNotSharedException(v protocol.ResponseMetadata) error {
9527	return &DirectoryNotSharedException{
9528		RespMetadata: v,
9529	}
9530}
9531
9532// Code returns the exception type name.
9533func (s *DirectoryNotSharedException) Code() string {
9534	return "DirectoryNotSharedException"
9535}
9536
9537// Message returns the exception's message.
9538func (s *DirectoryNotSharedException) Message() string {
9539	if s.Message_ != nil {
9540		return *s.Message_
9541	}
9542	return ""
9543}
9544
9545// OrigErr always returns nil, satisfies awserr.Error interface.
9546func (s *DirectoryNotSharedException) OrigErr() error {
9547	return nil
9548}
9549
9550func (s *DirectoryNotSharedException) Error() string {
9551	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9552}
9553
9554// Status code returns the HTTP status code for the request's response error.
9555func (s *DirectoryNotSharedException) StatusCode() int {
9556	return s.RespMetadata.StatusCode
9557}
9558
9559// RequestID returns the service's response RequestID for request.
9560func (s *DirectoryNotSharedException) RequestID() string {
9561	return s.RespMetadata.RequestID
9562}
9563
9564// The specified directory is unavailable or could not be found.
9565type DirectoryUnavailableException struct {
9566	_            struct{}                  `type:"structure"`
9567	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9568
9569	// The descriptive message for the exception.
9570	Message_ *string `locationName:"Message" type:"string"`
9571
9572	// The AWS request identifier.
9573	RequestId *string `type:"string"`
9574}
9575
9576// String returns the string representation
9577func (s DirectoryUnavailableException) String() string {
9578	return awsutil.Prettify(s)
9579}
9580
9581// GoString returns the string representation
9582func (s DirectoryUnavailableException) GoString() string {
9583	return s.String()
9584}
9585
9586func newErrorDirectoryUnavailableException(v protocol.ResponseMetadata) error {
9587	return &DirectoryUnavailableException{
9588		RespMetadata: v,
9589	}
9590}
9591
9592// Code returns the exception type name.
9593func (s *DirectoryUnavailableException) Code() string {
9594	return "DirectoryUnavailableException"
9595}
9596
9597// Message returns the exception's message.
9598func (s *DirectoryUnavailableException) Message() string {
9599	if s.Message_ != nil {
9600		return *s.Message_
9601	}
9602	return ""
9603}
9604
9605// OrigErr always returns nil, satisfies awserr.Error interface.
9606func (s *DirectoryUnavailableException) OrigErr() error {
9607	return nil
9608}
9609
9610func (s *DirectoryUnavailableException) Error() string {
9611	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9612}
9613
9614// Status code returns the HTTP status code for the request's response error.
9615func (s *DirectoryUnavailableException) StatusCode() int {
9616	return s.RespMetadata.StatusCode
9617}
9618
9619// RequestID returns the service's response RequestID for request.
9620func (s *DirectoryUnavailableException) RequestID() string {
9621	return s.RespMetadata.RequestID
9622}
9623
9624// Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.
9625type DirectoryVpcSettings struct {
9626	_ struct{} `type:"structure"`
9627
9628	// The identifiers of the subnets for the directory servers. The two subnets
9629	// must be in different Availability Zones. AWS Directory Service creates a
9630	// directory server and a DNS server in each of these subnets.
9631	//
9632	// SubnetIds is a required field
9633	SubnetIds []*string `type:"list" required:"true"`
9634
9635	// The identifier of the VPC in which to create the directory.
9636	//
9637	// VpcId is a required field
9638	VpcId *string `type:"string" required:"true"`
9639}
9640
9641// String returns the string representation
9642func (s DirectoryVpcSettings) String() string {
9643	return awsutil.Prettify(s)
9644}
9645
9646// GoString returns the string representation
9647func (s DirectoryVpcSettings) GoString() string {
9648	return s.String()
9649}
9650
9651// Validate inspects the fields of the type to determine if they are valid.
9652func (s *DirectoryVpcSettings) Validate() error {
9653	invalidParams := request.ErrInvalidParams{Context: "DirectoryVpcSettings"}
9654	if s.SubnetIds == nil {
9655		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
9656	}
9657	if s.VpcId == nil {
9658		invalidParams.Add(request.NewErrParamRequired("VpcId"))
9659	}
9660
9661	if invalidParams.Len() > 0 {
9662		return invalidParams
9663	}
9664	return nil
9665}
9666
9667// SetSubnetIds sets the SubnetIds field's value.
9668func (s *DirectoryVpcSettings) SetSubnetIds(v []*string) *DirectoryVpcSettings {
9669	s.SubnetIds = v
9670	return s
9671}
9672
9673// SetVpcId sets the VpcId field's value.
9674func (s *DirectoryVpcSettings) SetVpcId(v string) *DirectoryVpcSettings {
9675	s.VpcId = &v
9676	return s
9677}
9678
9679// Contains information about the directory.
9680type DirectoryVpcSettingsDescription struct {
9681	_ struct{} `type:"structure"`
9682
9683	// The list of Availability Zones that the directory is in.
9684	AvailabilityZones []*string `type:"list"`
9685
9686	// The domain controller security group identifier for the directory.
9687	SecurityGroupId *string `type:"string"`
9688
9689	// The identifiers of the subnets for the directory servers.
9690	SubnetIds []*string `type:"list"`
9691
9692	// The identifier of the VPC that the directory is in.
9693	VpcId *string `type:"string"`
9694}
9695
9696// String returns the string representation
9697func (s DirectoryVpcSettingsDescription) String() string {
9698	return awsutil.Prettify(s)
9699}
9700
9701// GoString returns the string representation
9702func (s DirectoryVpcSettingsDescription) GoString() string {
9703	return s.String()
9704}
9705
9706// SetAvailabilityZones sets the AvailabilityZones field's value.
9707func (s *DirectoryVpcSettingsDescription) SetAvailabilityZones(v []*string) *DirectoryVpcSettingsDescription {
9708	s.AvailabilityZones = v
9709	return s
9710}
9711
9712// SetSecurityGroupId sets the SecurityGroupId field's value.
9713func (s *DirectoryVpcSettingsDescription) SetSecurityGroupId(v string) *DirectoryVpcSettingsDescription {
9714	s.SecurityGroupId = &v
9715	return s
9716}
9717
9718// SetSubnetIds sets the SubnetIds field's value.
9719func (s *DirectoryVpcSettingsDescription) SetSubnetIds(v []*string) *DirectoryVpcSettingsDescription {
9720	s.SubnetIds = v
9721	return s
9722}
9723
9724// SetVpcId sets the VpcId field's value.
9725func (s *DirectoryVpcSettingsDescription) SetVpcId(v string) *DirectoryVpcSettingsDescription {
9726	s.VpcId = &v
9727	return s
9728}
9729
9730type DisableLDAPSInput struct {
9731	_ struct{} `type:"structure"`
9732
9733	// The identifier of the directory.
9734	//
9735	// DirectoryId is a required field
9736	DirectoryId *string `type:"string" required:"true"`
9737
9738	// The type of LDAP security to enable. Currently only the value Client is supported.
9739	//
9740	// Type is a required field
9741	Type *string `type:"string" required:"true" enum:"LDAPSType"`
9742}
9743
9744// String returns the string representation
9745func (s DisableLDAPSInput) String() string {
9746	return awsutil.Prettify(s)
9747}
9748
9749// GoString returns the string representation
9750func (s DisableLDAPSInput) GoString() string {
9751	return s.String()
9752}
9753
9754// Validate inspects the fields of the type to determine if they are valid.
9755func (s *DisableLDAPSInput) Validate() error {
9756	invalidParams := request.ErrInvalidParams{Context: "DisableLDAPSInput"}
9757	if s.DirectoryId == nil {
9758		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
9759	}
9760	if s.Type == nil {
9761		invalidParams.Add(request.NewErrParamRequired("Type"))
9762	}
9763
9764	if invalidParams.Len() > 0 {
9765		return invalidParams
9766	}
9767	return nil
9768}
9769
9770// SetDirectoryId sets the DirectoryId field's value.
9771func (s *DisableLDAPSInput) SetDirectoryId(v string) *DisableLDAPSInput {
9772	s.DirectoryId = &v
9773	return s
9774}
9775
9776// SetType sets the Type field's value.
9777func (s *DisableLDAPSInput) SetType(v string) *DisableLDAPSInput {
9778	s.Type = &v
9779	return s
9780}
9781
9782type DisableLDAPSOutput struct {
9783	_ struct{} `type:"structure"`
9784}
9785
9786// String returns the string representation
9787func (s DisableLDAPSOutput) String() string {
9788	return awsutil.Prettify(s)
9789}
9790
9791// GoString returns the string representation
9792func (s DisableLDAPSOutput) GoString() string {
9793	return s.String()
9794}
9795
9796// Contains the inputs for the DisableRadius operation.
9797type DisableRadiusInput struct {
9798	_ struct{} `type:"structure"`
9799
9800	// The identifier of the directory for which to disable MFA.
9801	//
9802	// DirectoryId is a required field
9803	DirectoryId *string `type:"string" required:"true"`
9804}
9805
9806// String returns the string representation
9807func (s DisableRadiusInput) String() string {
9808	return awsutil.Prettify(s)
9809}
9810
9811// GoString returns the string representation
9812func (s DisableRadiusInput) GoString() string {
9813	return s.String()
9814}
9815
9816// Validate inspects the fields of the type to determine if they are valid.
9817func (s *DisableRadiusInput) Validate() error {
9818	invalidParams := request.ErrInvalidParams{Context: "DisableRadiusInput"}
9819	if s.DirectoryId == nil {
9820		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
9821	}
9822
9823	if invalidParams.Len() > 0 {
9824		return invalidParams
9825	}
9826	return nil
9827}
9828
9829// SetDirectoryId sets the DirectoryId field's value.
9830func (s *DisableRadiusInput) SetDirectoryId(v string) *DisableRadiusInput {
9831	s.DirectoryId = &v
9832	return s
9833}
9834
9835// Contains the results of the DisableRadius operation.
9836type DisableRadiusOutput struct {
9837	_ struct{} `type:"structure"`
9838}
9839
9840// String returns the string representation
9841func (s DisableRadiusOutput) String() string {
9842	return awsutil.Prettify(s)
9843}
9844
9845// GoString returns the string representation
9846func (s DisableRadiusOutput) GoString() string {
9847	return s.String()
9848}
9849
9850// Contains the inputs for the DisableSso operation.
9851type DisableSsoInput struct {
9852	_ struct{} `type:"structure"`
9853
9854	// The identifier of the directory for which to disable single-sign on.
9855	//
9856	// DirectoryId is a required field
9857	DirectoryId *string `type:"string" required:"true"`
9858
9859	// The password of an alternate account to use to disable single-sign on. This
9860	// is only used for AD Connector directories. For more information, see the
9861	// UserName parameter.
9862	Password *string `min:"1" type:"string" sensitive:"true"`
9863
9864	// The username of an alternate account to use to disable single-sign on. This
9865	// is only used for AD Connector directories. This account must have privileges
9866	// to remove a service principal name.
9867	//
9868	// If the AD Connector service account does not have privileges to remove a
9869	// service principal name, you can specify an alternate account with the UserName
9870	// and Password parameters. These credentials are only used to disable single
9871	// sign-on and are not stored by the service. The AD Connector service account
9872	// is not changed.
9873	UserName *string `min:"1" type:"string"`
9874}
9875
9876// String returns the string representation
9877func (s DisableSsoInput) String() string {
9878	return awsutil.Prettify(s)
9879}
9880
9881// GoString returns the string representation
9882func (s DisableSsoInput) GoString() string {
9883	return s.String()
9884}
9885
9886// Validate inspects the fields of the type to determine if they are valid.
9887func (s *DisableSsoInput) Validate() error {
9888	invalidParams := request.ErrInvalidParams{Context: "DisableSsoInput"}
9889	if s.DirectoryId == nil {
9890		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
9891	}
9892	if s.Password != nil && len(*s.Password) < 1 {
9893		invalidParams.Add(request.NewErrParamMinLen("Password", 1))
9894	}
9895	if s.UserName != nil && len(*s.UserName) < 1 {
9896		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
9897	}
9898
9899	if invalidParams.Len() > 0 {
9900		return invalidParams
9901	}
9902	return nil
9903}
9904
9905// SetDirectoryId sets the DirectoryId field's value.
9906func (s *DisableSsoInput) SetDirectoryId(v string) *DisableSsoInput {
9907	s.DirectoryId = &v
9908	return s
9909}
9910
9911// SetPassword sets the Password field's value.
9912func (s *DisableSsoInput) SetPassword(v string) *DisableSsoInput {
9913	s.Password = &v
9914	return s
9915}
9916
9917// SetUserName sets the UserName field's value.
9918func (s *DisableSsoInput) SetUserName(v string) *DisableSsoInput {
9919	s.UserName = &v
9920	return s
9921}
9922
9923// Contains the results of the DisableSso operation.
9924type DisableSsoOutput struct {
9925	_ struct{} `type:"structure"`
9926}
9927
9928// String returns the string representation
9929func (s DisableSsoOutput) String() string {
9930	return awsutil.Prettify(s)
9931}
9932
9933// GoString returns the string representation
9934func (s DisableSsoOutput) GoString() string {
9935	return s.String()
9936}
9937
9938// Contains information about the domain controllers for a specified directory.
9939type DomainController struct {
9940	_ struct{} `type:"structure"`
9941
9942	// The Availability Zone where the domain controller is located.
9943	AvailabilityZone *string `type:"string"`
9944
9945	// Identifier of the directory where the domain controller resides.
9946	DirectoryId *string `type:"string"`
9947
9948	// The IP address of the domain controller.
9949	DnsIpAddr *string `type:"string"`
9950
9951	// Identifies a specific domain controller in the directory.
9952	DomainControllerId *string `type:"string"`
9953
9954	// Specifies when the domain controller was created.
9955	LaunchTime *time.Time `type:"timestamp"`
9956
9957	// The status of the domain controller.
9958	Status *string `type:"string" enum:"DomainControllerStatus"`
9959
9960	// The date and time that the status was last updated.
9961	StatusLastUpdatedDateTime *time.Time `type:"timestamp"`
9962
9963	// A description of the domain controller state.
9964	StatusReason *string `type:"string"`
9965
9966	// Identifier of the subnet in the VPC that contains the domain controller.
9967	SubnetId *string `type:"string"`
9968
9969	// The identifier of the VPC that contains the domain controller.
9970	VpcId *string `type:"string"`
9971}
9972
9973// String returns the string representation
9974func (s DomainController) String() string {
9975	return awsutil.Prettify(s)
9976}
9977
9978// GoString returns the string representation
9979func (s DomainController) GoString() string {
9980	return s.String()
9981}
9982
9983// SetAvailabilityZone sets the AvailabilityZone field's value.
9984func (s *DomainController) SetAvailabilityZone(v string) *DomainController {
9985	s.AvailabilityZone = &v
9986	return s
9987}
9988
9989// SetDirectoryId sets the DirectoryId field's value.
9990func (s *DomainController) SetDirectoryId(v string) *DomainController {
9991	s.DirectoryId = &v
9992	return s
9993}
9994
9995// SetDnsIpAddr sets the DnsIpAddr field's value.
9996func (s *DomainController) SetDnsIpAddr(v string) *DomainController {
9997	s.DnsIpAddr = &v
9998	return s
9999}
10000
10001// SetDomainControllerId sets the DomainControllerId field's value.
10002func (s *DomainController) SetDomainControllerId(v string) *DomainController {
10003	s.DomainControllerId = &v
10004	return s
10005}
10006
10007// SetLaunchTime sets the LaunchTime field's value.
10008func (s *DomainController) SetLaunchTime(v time.Time) *DomainController {
10009	s.LaunchTime = &v
10010	return s
10011}
10012
10013// SetStatus sets the Status field's value.
10014func (s *DomainController) SetStatus(v string) *DomainController {
10015	s.Status = &v
10016	return s
10017}
10018
10019// SetStatusLastUpdatedDateTime sets the StatusLastUpdatedDateTime field's value.
10020func (s *DomainController) SetStatusLastUpdatedDateTime(v time.Time) *DomainController {
10021	s.StatusLastUpdatedDateTime = &v
10022	return s
10023}
10024
10025// SetStatusReason sets the StatusReason field's value.
10026func (s *DomainController) SetStatusReason(v string) *DomainController {
10027	s.StatusReason = &v
10028	return s
10029}
10030
10031// SetSubnetId sets the SubnetId field's value.
10032func (s *DomainController) SetSubnetId(v string) *DomainController {
10033	s.SubnetId = &v
10034	return s
10035}
10036
10037// SetVpcId sets the VpcId field's value.
10038func (s *DomainController) SetVpcId(v string) *DomainController {
10039	s.VpcId = &v
10040	return s
10041}
10042
10043// The maximum allowed number of domain controllers per directory was exceeded.
10044// The default limit per directory is 20 domain controllers.
10045type DomainControllerLimitExceededException struct {
10046	_            struct{}                  `type:"structure"`
10047	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10048
10049	// The descriptive message for the exception.
10050	Message_ *string `locationName:"Message" type:"string"`
10051
10052	// The AWS request identifier.
10053	RequestId *string `type:"string"`
10054}
10055
10056// String returns the string representation
10057func (s DomainControllerLimitExceededException) String() string {
10058	return awsutil.Prettify(s)
10059}
10060
10061// GoString returns the string representation
10062func (s DomainControllerLimitExceededException) GoString() string {
10063	return s.String()
10064}
10065
10066func newErrorDomainControllerLimitExceededException(v protocol.ResponseMetadata) error {
10067	return &DomainControllerLimitExceededException{
10068		RespMetadata: v,
10069	}
10070}
10071
10072// Code returns the exception type name.
10073func (s *DomainControllerLimitExceededException) Code() string {
10074	return "DomainControllerLimitExceededException"
10075}
10076
10077// Message returns the exception's message.
10078func (s *DomainControllerLimitExceededException) Message() string {
10079	if s.Message_ != nil {
10080		return *s.Message_
10081	}
10082	return ""
10083}
10084
10085// OrigErr always returns nil, satisfies awserr.Error interface.
10086func (s *DomainControllerLimitExceededException) OrigErr() error {
10087	return nil
10088}
10089
10090func (s *DomainControllerLimitExceededException) Error() string {
10091	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10092}
10093
10094// Status code returns the HTTP status code for the request's response error.
10095func (s *DomainControllerLimitExceededException) StatusCode() int {
10096	return s.RespMetadata.StatusCode
10097}
10098
10099// RequestID returns the service's response RequestID for request.
10100func (s *DomainControllerLimitExceededException) RequestID() string {
10101	return s.RespMetadata.RequestID
10102}
10103
10104type EnableLDAPSInput struct {
10105	_ struct{} `type:"structure"`
10106
10107	// The identifier of the directory.
10108	//
10109	// DirectoryId is a required field
10110	DirectoryId *string `type:"string" required:"true"`
10111
10112	// The type of LDAP security to enable. Currently only the value Client is supported.
10113	//
10114	// Type is a required field
10115	Type *string `type:"string" required:"true" enum:"LDAPSType"`
10116}
10117
10118// String returns the string representation
10119func (s EnableLDAPSInput) String() string {
10120	return awsutil.Prettify(s)
10121}
10122
10123// GoString returns the string representation
10124func (s EnableLDAPSInput) GoString() string {
10125	return s.String()
10126}
10127
10128// Validate inspects the fields of the type to determine if they are valid.
10129func (s *EnableLDAPSInput) Validate() error {
10130	invalidParams := request.ErrInvalidParams{Context: "EnableLDAPSInput"}
10131	if s.DirectoryId == nil {
10132		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
10133	}
10134	if s.Type == nil {
10135		invalidParams.Add(request.NewErrParamRequired("Type"))
10136	}
10137
10138	if invalidParams.Len() > 0 {
10139		return invalidParams
10140	}
10141	return nil
10142}
10143
10144// SetDirectoryId sets the DirectoryId field's value.
10145func (s *EnableLDAPSInput) SetDirectoryId(v string) *EnableLDAPSInput {
10146	s.DirectoryId = &v
10147	return s
10148}
10149
10150// SetType sets the Type field's value.
10151func (s *EnableLDAPSInput) SetType(v string) *EnableLDAPSInput {
10152	s.Type = &v
10153	return s
10154}
10155
10156type EnableLDAPSOutput struct {
10157	_ struct{} `type:"structure"`
10158}
10159
10160// String returns the string representation
10161func (s EnableLDAPSOutput) String() string {
10162	return awsutil.Prettify(s)
10163}
10164
10165// GoString returns the string representation
10166func (s EnableLDAPSOutput) GoString() string {
10167	return s.String()
10168}
10169
10170// Contains the inputs for the EnableRadius operation.
10171type EnableRadiusInput struct {
10172	_ struct{} `type:"structure"`
10173
10174	// The identifier of the directory for which to enable MFA.
10175	//
10176	// DirectoryId is a required field
10177	DirectoryId *string `type:"string" required:"true"`
10178
10179	// A RadiusSettings object that contains information about the RADIUS server.
10180	//
10181	// RadiusSettings is a required field
10182	RadiusSettings *RadiusSettings `type:"structure" required:"true"`
10183}
10184
10185// String returns the string representation
10186func (s EnableRadiusInput) String() string {
10187	return awsutil.Prettify(s)
10188}
10189
10190// GoString returns the string representation
10191func (s EnableRadiusInput) GoString() string {
10192	return s.String()
10193}
10194
10195// Validate inspects the fields of the type to determine if they are valid.
10196func (s *EnableRadiusInput) Validate() error {
10197	invalidParams := request.ErrInvalidParams{Context: "EnableRadiusInput"}
10198	if s.DirectoryId == nil {
10199		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
10200	}
10201	if s.RadiusSettings == nil {
10202		invalidParams.Add(request.NewErrParamRequired("RadiusSettings"))
10203	}
10204	if s.RadiusSettings != nil {
10205		if err := s.RadiusSettings.Validate(); err != nil {
10206			invalidParams.AddNested("RadiusSettings", err.(request.ErrInvalidParams))
10207		}
10208	}
10209
10210	if invalidParams.Len() > 0 {
10211		return invalidParams
10212	}
10213	return nil
10214}
10215
10216// SetDirectoryId sets the DirectoryId field's value.
10217func (s *EnableRadiusInput) SetDirectoryId(v string) *EnableRadiusInput {
10218	s.DirectoryId = &v
10219	return s
10220}
10221
10222// SetRadiusSettings sets the RadiusSettings field's value.
10223func (s *EnableRadiusInput) SetRadiusSettings(v *RadiusSettings) *EnableRadiusInput {
10224	s.RadiusSettings = v
10225	return s
10226}
10227
10228// Contains the results of the EnableRadius operation.
10229type EnableRadiusOutput struct {
10230	_ struct{} `type:"structure"`
10231}
10232
10233// String returns the string representation
10234func (s EnableRadiusOutput) String() string {
10235	return awsutil.Prettify(s)
10236}
10237
10238// GoString returns the string representation
10239func (s EnableRadiusOutput) GoString() string {
10240	return s.String()
10241}
10242
10243// Contains the inputs for the EnableSso operation.
10244type EnableSsoInput struct {
10245	_ struct{} `type:"structure"`
10246
10247	// The identifier of the directory for which to enable single-sign on.
10248	//
10249	// DirectoryId is a required field
10250	DirectoryId *string `type:"string" required:"true"`
10251
10252	// The password of an alternate account to use to enable single-sign on. This
10253	// is only used for AD Connector directories. For more information, see the
10254	// UserName parameter.
10255	Password *string `min:"1" type:"string" sensitive:"true"`
10256
10257	// The username of an alternate account to use to enable single-sign on. This
10258	// is only used for AD Connector directories. This account must have privileges
10259	// to add a service principal name.
10260	//
10261	// If the AD Connector service account does not have privileges to add a service
10262	// principal name, you can specify an alternate account with the UserName and
10263	// Password parameters. These credentials are only used to enable single sign-on
10264	// and are not stored by the service. The AD Connector service account is not
10265	// changed.
10266	UserName *string `min:"1" type:"string"`
10267}
10268
10269// String returns the string representation
10270func (s EnableSsoInput) String() string {
10271	return awsutil.Prettify(s)
10272}
10273
10274// GoString returns the string representation
10275func (s EnableSsoInput) GoString() string {
10276	return s.String()
10277}
10278
10279// Validate inspects the fields of the type to determine if they are valid.
10280func (s *EnableSsoInput) Validate() error {
10281	invalidParams := request.ErrInvalidParams{Context: "EnableSsoInput"}
10282	if s.DirectoryId == nil {
10283		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
10284	}
10285	if s.Password != nil && len(*s.Password) < 1 {
10286		invalidParams.Add(request.NewErrParamMinLen("Password", 1))
10287	}
10288	if s.UserName != nil && len(*s.UserName) < 1 {
10289		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
10290	}
10291
10292	if invalidParams.Len() > 0 {
10293		return invalidParams
10294	}
10295	return nil
10296}
10297
10298// SetDirectoryId sets the DirectoryId field's value.
10299func (s *EnableSsoInput) SetDirectoryId(v string) *EnableSsoInput {
10300	s.DirectoryId = &v
10301	return s
10302}
10303
10304// SetPassword sets the Password field's value.
10305func (s *EnableSsoInput) SetPassword(v string) *EnableSsoInput {
10306	s.Password = &v
10307	return s
10308}
10309
10310// SetUserName sets the UserName field's value.
10311func (s *EnableSsoInput) SetUserName(v string) *EnableSsoInput {
10312	s.UserName = &v
10313	return s
10314}
10315
10316// Contains the results of the EnableSso operation.
10317type EnableSsoOutput struct {
10318	_ struct{} `type:"structure"`
10319}
10320
10321// String returns the string representation
10322func (s EnableSsoOutput) String() string {
10323	return awsutil.Prettify(s)
10324}
10325
10326// GoString returns the string representation
10327func (s EnableSsoOutput) GoString() string {
10328	return s.String()
10329}
10330
10331// The specified entity already exists.
10332type EntityAlreadyExistsException struct {
10333	_            struct{}                  `type:"structure"`
10334	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10335
10336	// The descriptive message for the exception.
10337	Message_ *string `locationName:"Message" type:"string"`
10338
10339	// The AWS request identifier.
10340	RequestId *string `type:"string"`
10341}
10342
10343// String returns the string representation
10344func (s EntityAlreadyExistsException) String() string {
10345	return awsutil.Prettify(s)
10346}
10347
10348// GoString returns the string representation
10349func (s EntityAlreadyExistsException) GoString() string {
10350	return s.String()
10351}
10352
10353func newErrorEntityAlreadyExistsException(v protocol.ResponseMetadata) error {
10354	return &EntityAlreadyExistsException{
10355		RespMetadata: v,
10356	}
10357}
10358
10359// Code returns the exception type name.
10360func (s *EntityAlreadyExistsException) Code() string {
10361	return "EntityAlreadyExistsException"
10362}
10363
10364// Message returns the exception's message.
10365func (s *EntityAlreadyExistsException) Message() string {
10366	if s.Message_ != nil {
10367		return *s.Message_
10368	}
10369	return ""
10370}
10371
10372// OrigErr always returns nil, satisfies awserr.Error interface.
10373func (s *EntityAlreadyExistsException) OrigErr() error {
10374	return nil
10375}
10376
10377func (s *EntityAlreadyExistsException) Error() string {
10378	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10379}
10380
10381// Status code returns the HTTP status code for the request's response error.
10382func (s *EntityAlreadyExistsException) StatusCode() int {
10383	return s.RespMetadata.StatusCode
10384}
10385
10386// RequestID returns the service's response RequestID for request.
10387func (s *EntityAlreadyExistsException) RequestID() string {
10388	return s.RespMetadata.RequestID
10389}
10390
10391// The specified entity could not be found.
10392type EntityDoesNotExistException struct {
10393	_            struct{}                  `type:"structure"`
10394	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10395
10396	// The descriptive message for the exception.
10397	Message_ *string `locationName:"Message" type:"string"`
10398
10399	// The AWS request identifier.
10400	RequestId *string `type:"string"`
10401}
10402
10403// String returns the string representation
10404func (s EntityDoesNotExistException) String() string {
10405	return awsutil.Prettify(s)
10406}
10407
10408// GoString returns the string representation
10409func (s EntityDoesNotExistException) GoString() string {
10410	return s.String()
10411}
10412
10413func newErrorEntityDoesNotExistException(v protocol.ResponseMetadata) error {
10414	return &EntityDoesNotExistException{
10415		RespMetadata: v,
10416	}
10417}
10418
10419// Code returns the exception type name.
10420func (s *EntityDoesNotExistException) Code() string {
10421	return "EntityDoesNotExistException"
10422}
10423
10424// Message returns the exception's message.
10425func (s *EntityDoesNotExistException) Message() string {
10426	if s.Message_ != nil {
10427		return *s.Message_
10428	}
10429	return ""
10430}
10431
10432// OrigErr always returns nil, satisfies awserr.Error interface.
10433func (s *EntityDoesNotExistException) OrigErr() error {
10434	return nil
10435}
10436
10437func (s *EntityDoesNotExistException) Error() string {
10438	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10439}
10440
10441// Status code returns the HTTP status code for the request's response error.
10442func (s *EntityDoesNotExistException) StatusCode() int {
10443	return s.RespMetadata.StatusCode
10444}
10445
10446// RequestID returns the service's response RequestID for request.
10447func (s *EntityDoesNotExistException) RequestID() string {
10448	return s.RespMetadata.RequestID
10449}
10450
10451// Information about SNS topic and AWS Directory Service directory associations.
10452type EventTopic struct {
10453	_ struct{} `type:"structure"`
10454
10455	// The date and time of when you associated your directory with the SNS topic.
10456	CreatedDateTime *time.Time `type:"timestamp"`
10457
10458	// The Directory ID of an AWS Directory Service directory that will publish
10459	// status messages to an SNS topic.
10460	DirectoryId *string `type:"string"`
10461
10462	// The topic registration status.
10463	Status *string `type:"string" enum:"TopicStatus"`
10464
10465	// The SNS topic ARN (Amazon Resource Name).
10466	TopicArn *string `type:"string"`
10467
10468	// The name of an AWS SNS topic the receives status messages from the directory.
10469	TopicName *string `min:"1" type:"string"`
10470}
10471
10472// String returns the string representation
10473func (s EventTopic) String() string {
10474	return awsutil.Prettify(s)
10475}
10476
10477// GoString returns the string representation
10478func (s EventTopic) GoString() string {
10479	return s.String()
10480}
10481
10482// SetCreatedDateTime sets the CreatedDateTime field's value.
10483func (s *EventTopic) SetCreatedDateTime(v time.Time) *EventTopic {
10484	s.CreatedDateTime = &v
10485	return s
10486}
10487
10488// SetDirectoryId sets the DirectoryId field's value.
10489func (s *EventTopic) SetDirectoryId(v string) *EventTopic {
10490	s.DirectoryId = &v
10491	return s
10492}
10493
10494// SetStatus sets the Status field's value.
10495func (s *EventTopic) SetStatus(v string) *EventTopic {
10496	s.Status = &v
10497	return s
10498}
10499
10500// SetTopicArn sets the TopicArn field's value.
10501func (s *EventTopic) SetTopicArn(v string) *EventTopic {
10502	s.TopicArn = &v
10503	return s
10504}
10505
10506// SetTopicName sets the TopicName field's value.
10507func (s *EventTopic) SetTopicName(v string) *EventTopic {
10508	s.TopicName = &v
10509	return s
10510}
10511
10512// Contains the inputs for the GetDirectoryLimits operation.
10513type GetDirectoryLimitsInput struct {
10514	_ struct{} `type:"structure"`
10515}
10516
10517// String returns the string representation
10518func (s GetDirectoryLimitsInput) String() string {
10519	return awsutil.Prettify(s)
10520}
10521
10522// GoString returns the string representation
10523func (s GetDirectoryLimitsInput) GoString() string {
10524	return s.String()
10525}
10526
10527// Contains the results of the GetDirectoryLimits operation.
10528type GetDirectoryLimitsOutput struct {
10529	_ struct{} `type:"structure"`
10530
10531	// A DirectoryLimits object that contains the directory limits for the current
10532	// rRegion.
10533	DirectoryLimits *DirectoryLimits `type:"structure"`
10534}
10535
10536// String returns the string representation
10537func (s GetDirectoryLimitsOutput) String() string {
10538	return awsutil.Prettify(s)
10539}
10540
10541// GoString returns the string representation
10542func (s GetDirectoryLimitsOutput) GoString() string {
10543	return s.String()
10544}
10545
10546// SetDirectoryLimits sets the DirectoryLimits field's value.
10547func (s *GetDirectoryLimitsOutput) SetDirectoryLimits(v *DirectoryLimits) *GetDirectoryLimitsOutput {
10548	s.DirectoryLimits = v
10549	return s
10550}
10551
10552// Contains the inputs for the GetSnapshotLimits operation.
10553type GetSnapshotLimitsInput struct {
10554	_ struct{} `type:"structure"`
10555
10556	// Contains the identifier of the directory to obtain the limits for.
10557	//
10558	// DirectoryId is a required field
10559	DirectoryId *string `type:"string" required:"true"`
10560}
10561
10562// String returns the string representation
10563func (s GetSnapshotLimitsInput) String() string {
10564	return awsutil.Prettify(s)
10565}
10566
10567// GoString returns the string representation
10568func (s GetSnapshotLimitsInput) GoString() string {
10569	return s.String()
10570}
10571
10572// Validate inspects the fields of the type to determine if they are valid.
10573func (s *GetSnapshotLimitsInput) Validate() error {
10574	invalidParams := request.ErrInvalidParams{Context: "GetSnapshotLimitsInput"}
10575	if s.DirectoryId == nil {
10576		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
10577	}
10578
10579	if invalidParams.Len() > 0 {
10580		return invalidParams
10581	}
10582	return nil
10583}
10584
10585// SetDirectoryId sets the DirectoryId field's value.
10586func (s *GetSnapshotLimitsInput) SetDirectoryId(v string) *GetSnapshotLimitsInput {
10587	s.DirectoryId = &v
10588	return s
10589}
10590
10591// Contains the results of the GetSnapshotLimits operation.
10592type GetSnapshotLimitsOutput struct {
10593	_ struct{} `type:"structure"`
10594
10595	// A SnapshotLimits object that contains the manual snapshot limits for the
10596	// specified directory.
10597	SnapshotLimits *SnapshotLimits `type:"structure"`
10598}
10599
10600// String returns the string representation
10601func (s GetSnapshotLimitsOutput) String() string {
10602	return awsutil.Prettify(s)
10603}
10604
10605// GoString returns the string representation
10606func (s GetSnapshotLimitsOutput) GoString() string {
10607	return s.String()
10608}
10609
10610// SetSnapshotLimits sets the SnapshotLimits field's value.
10611func (s *GetSnapshotLimitsOutput) SetSnapshotLimits(v *SnapshotLimits) *GetSnapshotLimitsOutput {
10612	s.SnapshotLimits = v
10613	return s
10614}
10615
10616// The account does not have sufficient permission to perform the operation.
10617type InsufficientPermissionsException struct {
10618	_            struct{}                  `type:"structure"`
10619	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10620
10621	// The descriptive message for the exception.
10622	Message_ *string `locationName:"Message" type:"string"`
10623
10624	// The AWS request identifier.
10625	RequestId *string `type:"string"`
10626}
10627
10628// String returns the string representation
10629func (s InsufficientPermissionsException) String() string {
10630	return awsutil.Prettify(s)
10631}
10632
10633// GoString returns the string representation
10634func (s InsufficientPermissionsException) GoString() string {
10635	return s.String()
10636}
10637
10638func newErrorInsufficientPermissionsException(v protocol.ResponseMetadata) error {
10639	return &InsufficientPermissionsException{
10640		RespMetadata: v,
10641	}
10642}
10643
10644// Code returns the exception type name.
10645func (s *InsufficientPermissionsException) Code() string {
10646	return "InsufficientPermissionsException"
10647}
10648
10649// Message returns the exception's message.
10650func (s *InsufficientPermissionsException) Message() string {
10651	if s.Message_ != nil {
10652		return *s.Message_
10653	}
10654	return ""
10655}
10656
10657// OrigErr always returns nil, satisfies awserr.Error interface.
10658func (s *InsufficientPermissionsException) OrigErr() error {
10659	return nil
10660}
10661
10662func (s *InsufficientPermissionsException) Error() string {
10663	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10664}
10665
10666// Status code returns the HTTP status code for the request's response error.
10667func (s *InsufficientPermissionsException) StatusCode() int {
10668	return s.RespMetadata.StatusCode
10669}
10670
10671// RequestID returns the service's response RequestID for request.
10672func (s *InsufficientPermissionsException) RequestID() string {
10673	return s.RespMetadata.RequestID
10674}
10675
10676// The certificate PEM that was provided has incorrect encoding.
10677type InvalidCertificateException struct {
10678	_            struct{}                  `type:"structure"`
10679	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10680
10681	// The descriptive message for the exception.
10682	Message_ *string `locationName:"Message" type:"string"`
10683
10684	// The AWS request identifier.
10685	RequestId *string `type:"string"`
10686}
10687
10688// String returns the string representation
10689func (s InvalidCertificateException) String() string {
10690	return awsutil.Prettify(s)
10691}
10692
10693// GoString returns the string representation
10694func (s InvalidCertificateException) GoString() string {
10695	return s.String()
10696}
10697
10698func newErrorInvalidCertificateException(v protocol.ResponseMetadata) error {
10699	return &InvalidCertificateException{
10700		RespMetadata: v,
10701	}
10702}
10703
10704// Code returns the exception type name.
10705func (s *InvalidCertificateException) Code() string {
10706	return "InvalidCertificateException"
10707}
10708
10709// Message returns the exception's message.
10710func (s *InvalidCertificateException) Message() string {
10711	if s.Message_ != nil {
10712		return *s.Message_
10713	}
10714	return ""
10715}
10716
10717// OrigErr always returns nil, satisfies awserr.Error interface.
10718func (s *InvalidCertificateException) OrigErr() error {
10719	return nil
10720}
10721
10722func (s *InvalidCertificateException) Error() string {
10723	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10724}
10725
10726// Status code returns the HTTP status code for the request's response error.
10727func (s *InvalidCertificateException) StatusCode() int {
10728	return s.RespMetadata.StatusCode
10729}
10730
10731// RequestID returns the service's response RequestID for request.
10732func (s *InvalidCertificateException) RequestID() string {
10733	return s.RespMetadata.RequestID
10734}
10735
10736// The LDAP activities could not be performed because they are limited by the
10737// LDAPS status.
10738type InvalidLDAPSStatusException struct {
10739	_            struct{}                  `type:"structure"`
10740	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10741
10742	// The descriptive message for the exception.
10743	Message_ *string `locationName:"Message" type:"string"`
10744
10745	// The AWS request identifier.
10746	RequestId *string `type:"string"`
10747}
10748
10749// String returns the string representation
10750func (s InvalidLDAPSStatusException) String() string {
10751	return awsutil.Prettify(s)
10752}
10753
10754// GoString returns the string representation
10755func (s InvalidLDAPSStatusException) GoString() string {
10756	return s.String()
10757}
10758
10759func newErrorInvalidLDAPSStatusException(v protocol.ResponseMetadata) error {
10760	return &InvalidLDAPSStatusException{
10761		RespMetadata: v,
10762	}
10763}
10764
10765// Code returns the exception type name.
10766func (s *InvalidLDAPSStatusException) Code() string {
10767	return "InvalidLDAPSStatusException"
10768}
10769
10770// Message returns the exception's message.
10771func (s *InvalidLDAPSStatusException) Message() string {
10772	if s.Message_ != nil {
10773		return *s.Message_
10774	}
10775	return ""
10776}
10777
10778// OrigErr always returns nil, satisfies awserr.Error interface.
10779func (s *InvalidLDAPSStatusException) OrigErr() error {
10780	return nil
10781}
10782
10783func (s *InvalidLDAPSStatusException) Error() string {
10784	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10785}
10786
10787// Status code returns the HTTP status code for the request's response error.
10788func (s *InvalidLDAPSStatusException) StatusCode() int {
10789	return s.RespMetadata.StatusCode
10790}
10791
10792// RequestID returns the service's response RequestID for request.
10793func (s *InvalidLDAPSStatusException) RequestID() string {
10794	return s.RespMetadata.RequestID
10795}
10796
10797// The NextToken value is not valid.
10798type InvalidNextTokenException struct {
10799	_            struct{}                  `type:"structure"`
10800	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10801
10802	// The descriptive message for the exception.
10803	Message_ *string `locationName:"Message" type:"string"`
10804
10805	// The AWS request identifier.
10806	RequestId *string `type:"string"`
10807}
10808
10809// String returns the string representation
10810func (s InvalidNextTokenException) String() string {
10811	return awsutil.Prettify(s)
10812}
10813
10814// GoString returns the string representation
10815func (s InvalidNextTokenException) GoString() string {
10816	return s.String()
10817}
10818
10819func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error {
10820	return &InvalidNextTokenException{
10821		RespMetadata: v,
10822	}
10823}
10824
10825// Code returns the exception type name.
10826func (s *InvalidNextTokenException) Code() string {
10827	return "InvalidNextTokenException"
10828}
10829
10830// Message returns the exception's message.
10831func (s *InvalidNextTokenException) Message() string {
10832	if s.Message_ != nil {
10833		return *s.Message_
10834	}
10835	return ""
10836}
10837
10838// OrigErr always returns nil, satisfies awserr.Error interface.
10839func (s *InvalidNextTokenException) OrigErr() error {
10840	return nil
10841}
10842
10843func (s *InvalidNextTokenException) Error() string {
10844	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10845}
10846
10847// Status code returns the HTTP status code for the request's response error.
10848func (s *InvalidNextTokenException) StatusCode() int {
10849	return s.RespMetadata.StatusCode
10850}
10851
10852// RequestID returns the service's response RequestID for request.
10853func (s *InvalidNextTokenException) RequestID() string {
10854	return s.RespMetadata.RequestID
10855}
10856
10857// One or more parameters are not valid.
10858type InvalidParameterException struct {
10859	_            struct{}                  `type:"structure"`
10860	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10861
10862	// The descriptive message for the exception.
10863	Message_ *string `locationName:"Message" type:"string"`
10864
10865	// The AWS request identifier.
10866	RequestId *string `type:"string"`
10867}
10868
10869// String returns the string representation
10870func (s InvalidParameterException) String() string {
10871	return awsutil.Prettify(s)
10872}
10873
10874// GoString returns the string representation
10875func (s InvalidParameterException) GoString() string {
10876	return s.String()
10877}
10878
10879func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
10880	return &InvalidParameterException{
10881		RespMetadata: v,
10882	}
10883}
10884
10885// Code returns the exception type name.
10886func (s *InvalidParameterException) Code() string {
10887	return "InvalidParameterException"
10888}
10889
10890// Message returns the exception's message.
10891func (s *InvalidParameterException) Message() string {
10892	if s.Message_ != nil {
10893		return *s.Message_
10894	}
10895	return ""
10896}
10897
10898// OrigErr always returns nil, satisfies awserr.Error interface.
10899func (s *InvalidParameterException) OrigErr() error {
10900	return nil
10901}
10902
10903func (s *InvalidParameterException) Error() string {
10904	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10905}
10906
10907// Status code returns the HTTP status code for the request's response error.
10908func (s *InvalidParameterException) StatusCode() int {
10909	return s.RespMetadata.StatusCode
10910}
10911
10912// RequestID returns the service's response RequestID for request.
10913func (s *InvalidParameterException) RequestID() string {
10914	return s.RespMetadata.RequestID
10915}
10916
10917// The new password provided by the user does not meet the password complexity
10918// requirements defined in your directory.
10919type InvalidPasswordException struct {
10920	_            struct{}                  `type:"structure"`
10921	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10922
10923	// The descriptive message for the exception.
10924	Message_ *string `locationName:"Message" type:"string"`
10925
10926	// The AWS request identifier.
10927	RequestId *string `type:"string"`
10928}
10929
10930// String returns the string representation
10931func (s InvalidPasswordException) String() string {
10932	return awsutil.Prettify(s)
10933}
10934
10935// GoString returns the string representation
10936func (s InvalidPasswordException) GoString() string {
10937	return s.String()
10938}
10939
10940func newErrorInvalidPasswordException(v protocol.ResponseMetadata) error {
10941	return &InvalidPasswordException{
10942		RespMetadata: v,
10943	}
10944}
10945
10946// Code returns the exception type name.
10947func (s *InvalidPasswordException) Code() string {
10948	return "InvalidPasswordException"
10949}
10950
10951// Message returns the exception's message.
10952func (s *InvalidPasswordException) Message() string {
10953	if s.Message_ != nil {
10954		return *s.Message_
10955	}
10956	return ""
10957}
10958
10959// OrigErr always returns nil, satisfies awserr.Error interface.
10960func (s *InvalidPasswordException) OrigErr() error {
10961	return nil
10962}
10963
10964func (s *InvalidPasswordException) Error() string {
10965	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10966}
10967
10968// Status code returns the HTTP status code for the request's response error.
10969func (s *InvalidPasswordException) StatusCode() int {
10970	return s.RespMetadata.StatusCode
10971}
10972
10973// RequestID returns the service's response RequestID for request.
10974func (s *InvalidPasswordException) RequestID() string {
10975	return s.RespMetadata.RequestID
10976}
10977
10978// The specified shared target is not valid.
10979type InvalidTargetException struct {
10980	_            struct{}                  `type:"structure"`
10981	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10982
10983	// The descriptive message for the exception.
10984	Message_ *string `locationName:"Message" type:"string"`
10985
10986	// The AWS request identifier.
10987	RequestId *string `type:"string"`
10988}
10989
10990// String returns the string representation
10991func (s InvalidTargetException) String() string {
10992	return awsutil.Prettify(s)
10993}
10994
10995// GoString returns the string representation
10996func (s InvalidTargetException) GoString() string {
10997	return s.String()
10998}
10999
11000func newErrorInvalidTargetException(v protocol.ResponseMetadata) error {
11001	return &InvalidTargetException{
11002		RespMetadata: v,
11003	}
11004}
11005
11006// Code returns the exception type name.
11007func (s *InvalidTargetException) Code() string {
11008	return "InvalidTargetException"
11009}
11010
11011// Message returns the exception's message.
11012func (s *InvalidTargetException) Message() string {
11013	if s.Message_ != nil {
11014		return *s.Message_
11015	}
11016	return ""
11017}
11018
11019// OrigErr always returns nil, satisfies awserr.Error interface.
11020func (s *InvalidTargetException) OrigErr() error {
11021	return nil
11022}
11023
11024func (s *InvalidTargetException) Error() string {
11025	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11026}
11027
11028// Status code returns the HTTP status code for the request's response error.
11029func (s *InvalidTargetException) StatusCode() int {
11030	return s.RespMetadata.StatusCode
11031}
11032
11033// RequestID returns the service's response RequestID for request.
11034func (s *InvalidTargetException) RequestID() string {
11035	return s.RespMetadata.RequestID
11036}
11037
11038// IP address block. This is often the address block of the DNS server used
11039// for your on-premises domain.
11040type IpRoute struct {
11041	_ struct{} `type:"structure"`
11042
11043	// IP address block using CIDR format, for example 10.0.0.0/24. This is often
11044	// the address block of the DNS server used for your on-premises domain. For
11045	// a single IP address use a CIDR address block with /32. For example 10.0.0.0/32.
11046	CidrIp *string `type:"string"`
11047
11048	// Description of the address block.
11049	Description *string `type:"string"`
11050}
11051
11052// String returns the string representation
11053func (s IpRoute) String() string {
11054	return awsutil.Prettify(s)
11055}
11056
11057// GoString returns the string representation
11058func (s IpRoute) GoString() string {
11059	return s.String()
11060}
11061
11062// SetCidrIp sets the CidrIp field's value.
11063func (s *IpRoute) SetCidrIp(v string) *IpRoute {
11064	s.CidrIp = &v
11065	return s
11066}
11067
11068// SetDescription sets the Description field's value.
11069func (s *IpRoute) SetDescription(v string) *IpRoute {
11070	s.Description = &v
11071	return s
11072}
11073
11074// Information about one or more IP address blocks.
11075type IpRouteInfo struct {
11076	_ struct{} `type:"structure"`
11077
11078	// The date and time the address block was added to the directory.
11079	AddedDateTime *time.Time `type:"timestamp"`
11080
11081	// IP address block in the IpRoute.
11082	CidrIp *string `type:"string"`
11083
11084	// Description of the IpRouteInfo.
11085	Description *string `type:"string"`
11086
11087	// Identifier (ID) of the directory associated with the IP addresses.
11088	DirectoryId *string `type:"string"`
11089
11090	// The status of the IP address block.
11091	IpRouteStatusMsg *string `type:"string" enum:"IpRouteStatusMsg"`
11092
11093	// The reason for the IpRouteStatusMsg.
11094	IpRouteStatusReason *string `type:"string"`
11095}
11096
11097// String returns the string representation
11098func (s IpRouteInfo) String() string {
11099	return awsutil.Prettify(s)
11100}
11101
11102// GoString returns the string representation
11103func (s IpRouteInfo) GoString() string {
11104	return s.String()
11105}
11106
11107// SetAddedDateTime sets the AddedDateTime field's value.
11108func (s *IpRouteInfo) SetAddedDateTime(v time.Time) *IpRouteInfo {
11109	s.AddedDateTime = &v
11110	return s
11111}
11112
11113// SetCidrIp sets the CidrIp field's value.
11114func (s *IpRouteInfo) SetCidrIp(v string) *IpRouteInfo {
11115	s.CidrIp = &v
11116	return s
11117}
11118
11119// SetDescription sets the Description field's value.
11120func (s *IpRouteInfo) SetDescription(v string) *IpRouteInfo {
11121	s.Description = &v
11122	return s
11123}
11124
11125// SetDirectoryId sets the DirectoryId field's value.
11126func (s *IpRouteInfo) SetDirectoryId(v string) *IpRouteInfo {
11127	s.DirectoryId = &v
11128	return s
11129}
11130
11131// SetIpRouteStatusMsg sets the IpRouteStatusMsg field's value.
11132func (s *IpRouteInfo) SetIpRouteStatusMsg(v string) *IpRouteInfo {
11133	s.IpRouteStatusMsg = &v
11134	return s
11135}
11136
11137// SetIpRouteStatusReason sets the IpRouteStatusReason field's value.
11138func (s *IpRouteInfo) SetIpRouteStatusReason(v string) *IpRouteInfo {
11139	s.IpRouteStatusReason = &v
11140	return s
11141}
11142
11143// The maximum allowed number of IP addresses was exceeded. The default limit
11144// is 100 IP address blocks.
11145type IpRouteLimitExceededException struct {
11146	_            struct{}                  `type:"structure"`
11147	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11148
11149	// The descriptive message for the exception.
11150	Message_ *string `locationName:"Message" type:"string"`
11151
11152	// The AWS request identifier.
11153	RequestId *string `type:"string"`
11154}
11155
11156// String returns the string representation
11157func (s IpRouteLimitExceededException) String() string {
11158	return awsutil.Prettify(s)
11159}
11160
11161// GoString returns the string representation
11162func (s IpRouteLimitExceededException) GoString() string {
11163	return s.String()
11164}
11165
11166func newErrorIpRouteLimitExceededException(v protocol.ResponseMetadata) error {
11167	return &IpRouteLimitExceededException{
11168		RespMetadata: v,
11169	}
11170}
11171
11172// Code returns the exception type name.
11173func (s *IpRouteLimitExceededException) Code() string {
11174	return "IpRouteLimitExceededException"
11175}
11176
11177// Message returns the exception's message.
11178func (s *IpRouteLimitExceededException) Message() string {
11179	if s.Message_ != nil {
11180		return *s.Message_
11181	}
11182	return ""
11183}
11184
11185// OrigErr always returns nil, satisfies awserr.Error interface.
11186func (s *IpRouteLimitExceededException) OrigErr() error {
11187	return nil
11188}
11189
11190func (s *IpRouteLimitExceededException) Error() string {
11191	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11192}
11193
11194// Status code returns the HTTP status code for the request's response error.
11195func (s *IpRouteLimitExceededException) StatusCode() int {
11196	return s.RespMetadata.StatusCode
11197}
11198
11199// RequestID returns the service's response RequestID for request.
11200func (s *IpRouteLimitExceededException) RequestID() string {
11201	return s.RespMetadata.RequestID
11202}
11203
11204// Contains general information about the LDAPS settings.
11205type LDAPSSettingInfo struct {
11206	_ struct{} `type:"structure"`
11207
11208	// The state of the LDAPS settings.
11209	LDAPSStatus *string `type:"string" enum:"LDAPSStatus"`
11210
11211	// Describes a state change for LDAPS.
11212	LDAPSStatusReason *string `type:"string"`
11213
11214	// The date and time when the LDAPS settings were last updated.
11215	LastUpdatedDateTime *time.Time `type:"timestamp"`
11216}
11217
11218// String returns the string representation
11219func (s LDAPSSettingInfo) String() string {
11220	return awsutil.Prettify(s)
11221}
11222
11223// GoString returns the string representation
11224func (s LDAPSSettingInfo) GoString() string {
11225	return s.String()
11226}
11227
11228// SetLDAPSStatus sets the LDAPSStatus field's value.
11229func (s *LDAPSSettingInfo) SetLDAPSStatus(v string) *LDAPSSettingInfo {
11230	s.LDAPSStatus = &v
11231	return s
11232}
11233
11234// SetLDAPSStatusReason sets the LDAPSStatusReason field's value.
11235func (s *LDAPSSettingInfo) SetLDAPSStatusReason(v string) *LDAPSSettingInfo {
11236	s.LDAPSStatusReason = &v
11237	return s
11238}
11239
11240// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
11241func (s *LDAPSSettingInfo) SetLastUpdatedDateTime(v time.Time) *LDAPSSettingInfo {
11242	s.LastUpdatedDateTime = &v
11243	return s
11244}
11245
11246type ListCertificatesInput struct {
11247	_ struct{} `type:"structure"`
11248
11249	// The identifier of the directory.
11250	//
11251	// DirectoryId is a required field
11252	DirectoryId *string `type:"string" required:"true"`
11253
11254	// The number of items that should show up on one page
11255	Limit *int64 `min:"1" type:"integer"`
11256
11257	// A token for requesting another page of certificates if the NextToken response
11258	// element indicates that more certificates are available. Use the value of
11259	// the returned NextToken element in your request until the token comes back
11260	// as null. Pass null if this is the first call.
11261	NextToken *string `type:"string"`
11262}
11263
11264// String returns the string representation
11265func (s ListCertificatesInput) String() string {
11266	return awsutil.Prettify(s)
11267}
11268
11269// GoString returns the string representation
11270func (s ListCertificatesInput) GoString() string {
11271	return s.String()
11272}
11273
11274// Validate inspects the fields of the type to determine if they are valid.
11275func (s *ListCertificatesInput) Validate() error {
11276	invalidParams := request.ErrInvalidParams{Context: "ListCertificatesInput"}
11277	if s.DirectoryId == nil {
11278		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
11279	}
11280	if s.Limit != nil && *s.Limit < 1 {
11281		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11282	}
11283
11284	if invalidParams.Len() > 0 {
11285		return invalidParams
11286	}
11287	return nil
11288}
11289
11290// SetDirectoryId sets the DirectoryId field's value.
11291func (s *ListCertificatesInput) SetDirectoryId(v string) *ListCertificatesInput {
11292	s.DirectoryId = &v
11293	return s
11294}
11295
11296// SetLimit sets the Limit field's value.
11297func (s *ListCertificatesInput) SetLimit(v int64) *ListCertificatesInput {
11298	s.Limit = &v
11299	return s
11300}
11301
11302// SetNextToken sets the NextToken field's value.
11303func (s *ListCertificatesInput) SetNextToken(v string) *ListCertificatesInput {
11304	s.NextToken = &v
11305	return s
11306}
11307
11308type ListCertificatesOutput struct {
11309	_ struct{} `type:"structure"`
11310
11311	// A list of certificates with basic details including certificate ID, certificate
11312	// common name, certificate state.
11313	CertificatesInfo []*CertificateInfo `type:"list"`
11314
11315	// Indicates whether another page of certificates is available when the number
11316	// of available certificates exceeds the page limit.
11317	NextToken *string `type:"string"`
11318}
11319
11320// String returns the string representation
11321func (s ListCertificatesOutput) String() string {
11322	return awsutil.Prettify(s)
11323}
11324
11325// GoString returns the string representation
11326func (s ListCertificatesOutput) GoString() string {
11327	return s.String()
11328}
11329
11330// SetCertificatesInfo sets the CertificatesInfo field's value.
11331func (s *ListCertificatesOutput) SetCertificatesInfo(v []*CertificateInfo) *ListCertificatesOutput {
11332	s.CertificatesInfo = v
11333	return s
11334}
11335
11336// SetNextToken sets the NextToken field's value.
11337func (s *ListCertificatesOutput) SetNextToken(v string) *ListCertificatesOutput {
11338	s.NextToken = &v
11339	return s
11340}
11341
11342type ListIpRoutesInput struct {
11343	_ struct{} `type:"structure"`
11344
11345	// Identifier (ID) of the directory for which you want to retrieve the IP addresses.
11346	//
11347	// DirectoryId is a required field
11348	DirectoryId *string `type:"string" required:"true"`
11349
11350	// Maximum number of items to return. If this value is zero, the maximum number
11351	// of items is specified by the limitations of the operation.
11352	Limit *int64 `type:"integer"`
11353
11354	// The ListIpRoutes.NextToken value from a previous call to ListIpRoutes. Pass
11355	// null if this is the first call.
11356	NextToken *string `type:"string"`
11357}
11358
11359// String returns the string representation
11360func (s ListIpRoutesInput) String() string {
11361	return awsutil.Prettify(s)
11362}
11363
11364// GoString returns the string representation
11365func (s ListIpRoutesInput) GoString() string {
11366	return s.String()
11367}
11368
11369// Validate inspects the fields of the type to determine if they are valid.
11370func (s *ListIpRoutesInput) Validate() error {
11371	invalidParams := request.ErrInvalidParams{Context: "ListIpRoutesInput"}
11372	if s.DirectoryId == nil {
11373		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
11374	}
11375
11376	if invalidParams.Len() > 0 {
11377		return invalidParams
11378	}
11379	return nil
11380}
11381
11382// SetDirectoryId sets the DirectoryId field's value.
11383func (s *ListIpRoutesInput) SetDirectoryId(v string) *ListIpRoutesInput {
11384	s.DirectoryId = &v
11385	return s
11386}
11387
11388// SetLimit sets the Limit field's value.
11389func (s *ListIpRoutesInput) SetLimit(v int64) *ListIpRoutesInput {
11390	s.Limit = &v
11391	return s
11392}
11393
11394// SetNextToken sets the NextToken field's value.
11395func (s *ListIpRoutesInput) SetNextToken(v string) *ListIpRoutesInput {
11396	s.NextToken = &v
11397	return s
11398}
11399
11400type ListIpRoutesOutput struct {
11401	_ struct{} `type:"structure"`
11402
11403	// A list of IpRoutes.
11404	IpRoutesInfo []*IpRouteInfo `type:"list"`
11405
11406	// If not null, more results are available. Pass this value for the NextToken
11407	// parameter in a subsequent call to ListIpRoutes to retrieve the next set of
11408	// items.
11409	NextToken *string `type:"string"`
11410}
11411
11412// String returns the string representation
11413func (s ListIpRoutesOutput) String() string {
11414	return awsutil.Prettify(s)
11415}
11416
11417// GoString returns the string representation
11418func (s ListIpRoutesOutput) GoString() string {
11419	return s.String()
11420}
11421
11422// SetIpRoutesInfo sets the IpRoutesInfo field's value.
11423func (s *ListIpRoutesOutput) SetIpRoutesInfo(v []*IpRouteInfo) *ListIpRoutesOutput {
11424	s.IpRoutesInfo = v
11425	return s
11426}
11427
11428// SetNextToken sets the NextToken field's value.
11429func (s *ListIpRoutesOutput) SetNextToken(v string) *ListIpRoutesOutput {
11430	s.NextToken = &v
11431	return s
11432}
11433
11434type ListLogSubscriptionsInput struct {
11435	_ struct{} `type:"structure"`
11436
11437	// If a DirectoryID is provided, lists only the log subscription associated
11438	// with that directory. If no DirectoryId is provided, lists all log subscriptions
11439	// associated with your AWS account. If there are no log subscriptions for the
11440	// AWS account or the directory, an empty list will be returned.
11441	DirectoryId *string `type:"string"`
11442
11443	// The maximum number of items returned.
11444	Limit *int64 `type:"integer"`
11445
11446	// The token for the next set of items to return.
11447	NextToken *string `type:"string"`
11448}
11449
11450// String returns the string representation
11451func (s ListLogSubscriptionsInput) String() string {
11452	return awsutil.Prettify(s)
11453}
11454
11455// GoString returns the string representation
11456func (s ListLogSubscriptionsInput) GoString() string {
11457	return s.String()
11458}
11459
11460// SetDirectoryId sets the DirectoryId field's value.
11461func (s *ListLogSubscriptionsInput) SetDirectoryId(v string) *ListLogSubscriptionsInput {
11462	s.DirectoryId = &v
11463	return s
11464}
11465
11466// SetLimit sets the Limit field's value.
11467func (s *ListLogSubscriptionsInput) SetLimit(v int64) *ListLogSubscriptionsInput {
11468	s.Limit = &v
11469	return s
11470}
11471
11472// SetNextToken sets the NextToken field's value.
11473func (s *ListLogSubscriptionsInput) SetNextToken(v string) *ListLogSubscriptionsInput {
11474	s.NextToken = &v
11475	return s
11476}
11477
11478type ListLogSubscriptionsOutput struct {
11479	_ struct{} `type:"structure"`
11480
11481	// A list of active LogSubscription objects for calling the AWS account.
11482	LogSubscriptions []*LogSubscription `type:"list"`
11483
11484	// The token for the next set of items to return.
11485	NextToken *string `type:"string"`
11486}
11487
11488// String returns the string representation
11489func (s ListLogSubscriptionsOutput) String() string {
11490	return awsutil.Prettify(s)
11491}
11492
11493// GoString returns the string representation
11494func (s ListLogSubscriptionsOutput) GoString() string {
11495	return s.String()
11496}
11497
11498// SetLogSubscriptions sets the LogSubscriptions field's value.
11499func (s *ListLogSubscriptionsOutput) SetLogSubscriptions(v []*LogSubscription) *ListLogSubscriptionsOutput {
11500	s.LogSubscriptions = v
11501	return s
11502}
11503
11504// SetNextToken sets the NextToken field's value.
11505func (s *ListLogSubscriptionsOutput) SetNextToken(v string) *ListLogSubscriptionsOutput {
11506	s.NextToken = &v
11507	return s
11508}
11509
11510type ListSchemaExtensionsInput struct {
11511	_ struct{} `type:"structure"`
11512
11513	// The identifier of the directory from which to retrieve the schema extension
11514	// information.
11515	//
11516	// DirectoryId is a required field
11517	DirectoryId *string `type:"string" required:"true"`
11518
11519	// The maximum number of items to return.
11520	Limit *int64 `type:"integer"`
11521
11522	// The ListSchemaExtensions.NextToken value from a previous call to ListSchemaExtensions.
11523	// Pass null if this is the first call.
11524	NextToken *string `type:"string"`
11525}
11526
11527// String returns the string representation
11528func (s ListSchemaExtensionsInput) String() string {
11529	return awsutil.Prettify(s)
11530}
11531
11532// GoString returns the string representation
11533func (s ListSchemaExtensionsInput) GoString() string {
11534	return s.String()
11535}
11536
11537// Validate inspects the fields of the type to determine if they are valid.
11538func (s *ListSchemaExtensionsInput) Validate() error {
11539	invalidParams := request.ErrInvalidParams{Context: "ListSchemaExtensionsInput"}
11540	if s.DirectoryId == nil {
11541		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
11542	}
11543
11544	if invalidParams.Len() > 0 {
11545		return invalidParams
11546	}
11547	return nil
11548}
11549
11550// SetDirectoryId sets the DirectoryId field's value.
11551func (s *ListSchemaExtensionsInput) SetDirectoryId(v string) *ListSchemaExtensionsInput {
11552	s.DirectoryId = &v
11553	return s
11554}
11555
11556// SetLimit sets the Limit field's value.
11557func (s *ListSchemaExtensionsInput) SetLimit(v int64) *ListSchemaExtensionsInput {
11558	s.Limit = &v
11559	return s
11560}
11561
11562// SetNextToken sets the NextToken field's value.
11563func (s *ListSchemaExtensionsInput) SetNextToken(v string) *ListSchemaExtensionsInput {
11564	s.NextToken = &v
11565	return s
11566}
11567
11568type ListSchemaExtensionsOutput struct {
11569	_ struct{} `type:"structure"`
11570
11571	// If not null, more results are available. Pass this value for the NextToken
11572	// parameter in a subsequent call to ListSchemaExtensions to retrieve the next
11573	// set of items.
11574	NextToken *string `type:"string"`
11575
11576	// Information about the schema extensions applied to the directory.
11577	SchemaExtensionsInfo []*SchemaExtensionInfo `type:"list"`
11578}
11579
11580// String returns the string representation
11581func (s ListSchemaExtensionsOutput) String() string {
11582	return awsutil.Prettify(s)
11583}
11584
11585// GoString returns the string representation
11586func (s ListSchemaExtensionsOutput) GoString() string {
11587	return s.String()
11588}
11589
11590// SetNextToken sets the NextToken field's value.
11591func (s *ListSchemaExtensionsOutput) SetNextToken(v string) *ListSchemaExtensionsOutput {
11592	s.NextToken = &v
11593	return s
11594}
11595
11596// SetSchemaExtensionsInfo sets the SchemaExtensionsInfo field's value.
11597func (s *ListSchemaExtensionsOutput) SetSchemaExtensionsInfo(v []*SchemaExtensionInfo) *ListSchemaExtensionsOutput {
11598	s.SchemaExtensionsInfo = v
11599	return s
11600}
11601
11602type ListTagsForResourceInput struct {
11603	_ struct{} `type:"structure"`
11604
11605	// Reserved for future use.
11606	Limit *int64 `type:"integer"`
11607
11608	// Reserved for future use.
11609	NextToken *string `type:"string"`
11610
11611	// Identifier (ID) of the directory for which you want to retrieve tags.
11612	//
11613	// ResourceId is a required field
11614	ResourceId *string `type:"string" required:"true"`
11615}
11616
11617// String returns the string representation
11618func (s ListTagsForResourceInput) String() string {
11619	return awsutil.Prettify(s)
11620}
11621
11622// GoString returns the string representation
11623func (s ListTagsForResourceInput) GoString() string {
11624	return s.String()
11625}
11626
11627// Validate inspects the fields of the type to determine if they are valid.
11628func (s *ListTagsForResourceInput) Validate() error {
11629	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
11630	if s.ResourceId == nil {
11631		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
11632	}
11633
11634	if invalidParams.Len() > 0 {
11635		return invalidParams
11636	}
11637	return nil
11638}
11639
11640// SetLimit sets the Limit field's value.
11641func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput {
11642	s.Limit = &v
11643	return s
11644}
11645
11646// SetNextToken sets the NextToken field's value.
11647func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
11648	s.NextToken = &v
11649	return s
11650}
11651
11652// SetResourceId sets the ResourceId field's value.
11653func (s *ListTagsForResourceInput) SetResourceId(v string) *ListTagsForResourceInput {
11654	s.ResourceId = &v
11655	return s
11656}
11657
11658type ListTagsForResourceOutput struct {
11659	_ struct{} `type:"structure"`
11660
11661	// Reserved for future use.
11662	NextToken *string `type:"string"`
11663
11664	// List of tags returned by the ListTagsForResource operation.
11665	Tags []*Tag `type:"list"`
11666}
11667
11668// String returns the string representation
11669func (s ListTagsForResourceOutput) String() string {
11670	return awsutil.Prettify(s)
11671}
11672
11673// GoString returns the string representation
11674func (s ListTagsForResourceOutput) GoString() string {
11675	return s.String()
11676}
11677
11678// SetNextToken sets the NextToken field's value.
11679func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
11680	s.NextToken = &v
11681	return s
11682}
11683
11684// SetTags sets the Tags field's value.
11685func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
11686	s.Tags = v
11687	return s
11688}
11689
11690// Represents a log subscription, which tracks real-time data from a chosen
11691// log group to a specified destination.
11692type LogSubscription struct {
11693	_ struct{} `type:"structure"`
11694
11695	// Identifier (ID) of the directory that you want to associate with the log
11696	// subscription.
11697	DirectoryId *string `type:"string"`
11698
11699	// The name of the log group.
11700	LogGroupName *string `min:"1" type:"string"`
11701
11702	// The date and time that the log subscription was created.
11703	SubscriptionCreatedDateTime *time.Time `type:"timestamp"`
11704}
11705
11706// String returns the string representation
11707func (s LogSubscription) String() string {
11708	return awsutil.Prettify(s)
11709}
11710
11711// GoString returns the string representation
11712func (s LogSubscription) GoString() string {
11713	return s.String()
11714}
11715
11716// SetDirectoryId sets the DirectoryId field's value.
11717func (s *LogSubscription) SetDirectoryId(v string) *LogSubscription {
11718	s.DirectoryId = &v
11719	return s
11720}
11721
11722// SetLogGroupName sets the LogGroupName field's value.
11723func (s *LogSubscription) SetLogGroupName(v string) *LogSubscription {
11724	s.LogGroupName = &v
11725	return s
11726}
11727
11728// SetSubscriptionCreatedDateTime sets the SubscriptionCreatedDateTime field's value.
11729func (s *LogSubscription) SetSubscriptionCreatedDateTime(v time.Time) *LogSubscription {
11730	s.SubscriptionCreatedDateTime = &v
11731	return s
11732}
11733
11734// The LDAP activities could not be performed because at least one valid certificate
11735// must be registered with the system.
11736type NoAvailableCertificateException struct {
11737	_            struct{}                  `type:"structure"`
11738	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11739
11740	// The descriptive message for the exception.
11741	Message_ *string `locationName:"Message" type:"string"`
11742
11743	// The AWS request identifier.
11744	RequestId *string `type:"string"`
11745}
11746
11747// String returns the string representation
11748func (s NoAvailableCertificateException) String() string {
11749	return awsutil.Prettify(s)
11750}
11751
11752// GoString returns the string representation
11753func (s NoAvailableCertificateException) GoString() string {
11754	return s.String()
11755}
11756
11757func newErrorNoAvailableCertificateException(v protocol.ResponseMetadata) error {
11758	return &NoAvailableCertificateException{
11759		RespMetadata: v,
11760	}
11761}
11762
11763// Code returns the exception type name.
11764func (s *NoAvailableCertificateException) Code() string {
11765	return "NoAvailableCertificateException"
11766}
11767
11768// Message returns the exception's message.
11769func (s *NoAvailableCertificateException) Message() string {
11770	if s.Message_ != nil {
11771		return *s.Message_
11772	}
11773	return ""
11774}
11775
11776// OrigErr always returns nil, satisfies awserr.Error interface.
11777func (s *NoAvailableCertificateException) OrigErr() error {
11778	return nil
11779}
11780
11781func (s *NoAvailableCertificateException) Error() string {
11782	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11783}
11784
11785// Status code returns the HTTP status code for the request's response error.
11786func (s *NoAvailableCertificateException) StatusCode() int {
11787	return s.RespMetadata.StatusCode
11788}
11789
11790// RequestID returns the service's response RequestID for request.
11791func (s *NoAvailableCertificateException) RequestID() string {
11792	return s.RespMetadata.RequestID
11793}
11794
11795// Exception encountered while trying to access your AWS organization.
11796type OrganizationsException struct {
11797	_            struct{}                  `type:"structure"`
11798	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11799
11800	// The descriptive message for the exception.
11801	Message_ *string `locationName:"Message" type:"string"`
11802
11803	// The AWS request identifier.
11804	RequestId *string `type:"string"`
11805}
11806
11807// String returns the string representation
11808func (s OrganizationsException) String() string {
11809	return awsutil.Prettify(s)
11810}
11811
11812// GoString returns the string representation
11813func (s OrganizationsException) GoString() string {
11814	return s.String()
11815}
11816
11817func newErrorOrganizationsException(v protocol.ResponseMetadata) error {
11818	return &OrganizationsException{
11819		RespMetadata: v,
11820	}
11821}
11822
11823// Code returns the exception type name.
11824func (s *OrganizationsException) Code() string {
11825	return "OrganizationsException"
11826}
11827
11828// Message returns the exception's message.
11829func (s *OrganizationsException) Message() string {
11830	if s.Message_ != nil {
11831		return *s.Message_
11832	}
11833	return ""
11834}
11835
11836// OrigErr always returns nil, satisfies awserr.Error interface.
11837func (s *OrganizationsException) OrigErr() error {
11838	return nil
11839}
11840
11841func (s *OrganizationsException) Error() string {
11842	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11843}
11844
11845// Status code returns the HTTP status code for the request's response error.
11846func (s *OrganizationsException) StatusCode() int {
11847	return s.RespMetadata.StatusCode
11848}
11849
11850// RequestID returns the service's response RequestID for request.
11851func (s *OrganizationsException) RequestID() string {
11852	return s.RespMetadata.RequestID
11853}
11854
11855// Describes the directory owner account details that have been shared to the
11856// directory consumer account.
11857type OwnerDirectoryDescription struct {
11858	_ struct{} `type:"structure"`
11859
11860	// Identifier of the directory owner account.
11861	AccountId *string `type:"string"`
11862
11863	// Identifier of the AWS Managed Microsoft AD directory in the directory owner
11864	// account.
11865	DirectoryId *string `type:"string"`
11866
11867	// IP address of the directory’s domain controllers.
11868	DnsIpAddrs []*string `type:"list"`
11869
11870	// A RadiusSettings object that contains information about the RADIUS server.
11871	RadiusSettings *RadiusSettings `type:"structure"`
11872
11873	// Information about the status of the RADIUS server.
11874	RadiusStatus *string `type:"string" enum:"RadiusStatus"`
11875
11876	// Information about the VPC settings for the directory.
11877	VpcSettings *DirectoryVpcSettingsDescription `type:"structure"`
11878}
11879
11880// String returns the string representation
11881func (s OwnerDirectoryDescription) String() string {
11882	return awsutil.Prettify(s)
11883}
11884
11885// GoString returns the string representation
11886func (s OwnerDirectoryDescription) GoString() string {
11887	return s.String()
11888}
11889
11890// SetAccountId sets the AccountId field's value.
11891func (s *OwnerDirectoryDescription) SetAccountId(v string) *OwnerDirectoryDescription {
11892	s.AccountId = &v
11893	return s
11894}
11895
11896// SetDirectoryId sets the DirectoryId field's value.
11897func (s *OwnerDirectoryDescription) SetDirectoryId(v string) *OwnerDirectoryDescription {
11898	s.DirectoryId = &v
11899	return s
11900}
11901
11902// SetDnsIpAddrs sets the DnsIpAddrs field's value.
11903func (s *OwnerDirectoryDescription) SetDnsIpAddrs(v []*string) *OwnerDirectoryDescription {
11904	s.DnsIpAddrs = v
11905	return s
11906}
11907
11908// SetRadiusSettings sets the RadiusSettings field's value.
11909func (s *OwnerDirectoryDescription) SetRadiusSettings(v *RadiusSettings) *OwnerDirectoryDescription {
11910	s.RadiusSettings = v
11911	return s
11912}
11913
11914// SetRadiusStatus sets the RadiusStatus field's value.
11915func (s *OwnerDirectoryDescription) SetRadiusStatus(v string) *OwnerDirectoryDescription {
11916	s.RadiusStatus = &v
11917	return s
11918}
11919
11920// SetVpcSettings sets the VpcSettings field's value.
11921func (s *OwnerDirectoryDescription) SetVpcSettings(v *DirectoryVpcSettingsDescription) *OwnerDirectoryDescription {
11922	s.VpcSettings = v
11923	return s
11924}
11925
11926// Contains information about a Remote Authentication Dial In User Service (RADIUS)
11927// server.
11928type RadiusSettings struct {
11929	_ struct{} `type:"structure"`
11930
11931	// The protocol specified for your RADIUS endpoints.
11932	AuthenticationProtocol *string `type:"string" enum:"RadiusAuthenticationProtocol"`
11933
11934	// Not currently used.
11935	DisplayLabel *string `min:"1" type:"string"`
11936
11937	// The port that your RADIUS server is using for communications. Your on-premises
11938	// network must allow inbound traffic over this port from the AWS Directory
11939	// Service servers.
11940	RadiusPort *int64 `min:"1025" type:"integer"`
11941
11942	// The maximum number of times that communication with the RADIUS server is
11943	// attempted.
11944	RadiusRetries *int64 `type:"integer"`
11945
11946	// An array of strings that contains the IP addresses of the RADIUS server endpoints,
11947	// or the IP addresses of your RADIUS server load balancer.
11948	RadiusServers []*string `type:"list"`
11949
11950	// The amount of time, in seconds, to wait for the RADIUS server to respond.
11951	RadiusTimeout *int64 `min:"1" type:"integer"`
11952
11953	// Required for enabling RADIUS on the directory.
11954	SharedSecret *string `min:"8" type:"string" sensitive:"true"`
11955
11956	// Not currently used.
11957	UseSameUsername *bool `type:"boolean"`
11958}
11959
11960// String returns the string representation
11961func (s RadiusSettings) String() string {
11962	return awsutil.Prettify(s)
11963}
11964
11965// GoString returns the string representation
11966func (s RadiusSettings) GoString() string {
11967	return s.String()
11968}
11969
11970// Validate inspects the fields of the type to determine if they are valid.
11971func (s *RadiusSettings) Validate() error {
11972	invalidParams := request.ErrInvalidParams{Context: "RadiusSettings"}
11973	if s.DisplayLabel != nil && len(*s.DisplayLabel) < 1 {
11974		invalidParams.Add(request.NewErrParamMinLen("DisplayLabel", 1))
11975	}
11976	if s.RadiusPort != nil && *s.RadiusPort < 1025 {
11977		invalidParams.Add(request.NewErrParamMinValue("RadiusPort", 1025))
11978	}
11979	if s.RadiusTimeout != nil && *s.RadiusTimeout < 1 {
11980		invalidParams.Add(request.NewErrParamMinValue("RadiusTimeout", 1))
11981	}
11982	if s.SharedSecret != nil && len(*s.SharedSecret) < 8 {
11983		invalidParams.Add(request.NewErrParamMinLen("SharedSecret", 8))
11984	}
11985
11986	if invalidParams.Len() > 0 {
11987		return invalidParams
11988	}
11989	return nil
11990}
11991
11992// SetAuthenticationProtocol sets the AuthenticationProtocol field's value.
11993func (s *RadiusSettings) SetAuthenticationProtocol(v string) *RadiusSettings {
11994	s.AuthenticationProtocol = &v
11995	return s
11996}
11997
11998// SetDisplayLabel sets the DisplayLabel field's value.
11999func (s *RadiusSettings) SetDisplayLabel(v string) *RadiusSettings {
12000	s.DisplayLabel = &v
12001	return s
12002}
12003
12004// SetRadiusPort sets the RadiusPort field's value.
12005func (s *RadiusSettings) SetRadiusPort(v int64) *RadiusSettings {
12006	s.RadiusPort = &v
12007	return s
12008}
12009
12010// SetRadiusRetries sets the RadiusRetries field's value.
12011func (s *RadiusSettings) SetRadiusRetries(v int64) *RadiusSettings {
12012	s.RadiusRetries = &v
12013	return s
12014}
12015
12016// SetRadiusServers sets the RadiusServers field's value.
12017func (s *RadiusSettings) SetRadiusServers(v []*string) *RadiusSettings {
12018	s.RadiusServers = v
12019	return s
12020}
12021
12022// SetRadiusTimeout sets the RadiusTimeout field's value.
12023func (s *RadiusSettings) SetRadiusTimeout(v int64) *RadiusSettings {
12024	s.RadiusTimeout = &v
12025	return s
12026}
12027
12028// SetSharedSecret sets the SharedSecret field's value.
12029func (s *RadiusSettings) SetSharedSecret(v string) *RadiusSettings {
12030	s.SharedSecret = &v
12031	return s
12032}
12033
12034// SetUseSameUsername sets the UseSameUsername field's value.
12035func (s *RadiusSettings) SetUseSameUsername(v bool) *RadiusSettings {
12036	s.UseSameUsername = &v
12037	return s
12038}
12039
12040type RegisterCertificateInput struct {
12041	_ struct{} `type:"structure"`
12042
12043	// The certificate PEM string that needs to be registered.
12044	//
12045	// CertificateData is a required field
12046	CertificateData *string `min:"1" type:"string" required:"true"`
12047
12048	// The identifier of the directory.
12049	//
12050	// DirectoryId is a required field
12051	DirectoryId *string `type:"string" required:"true"`
12052}
12053
12054// String returns the string representation
12055func (s RegisterCertificateInput) String() string {
12056	return awsutil.Prettify(s)
12057}
12058
12059// GoString returns the string representation
12060func (s RegisterCertificateInput) GoString() string {
12061	return s.String()
12062}
12063
12064// Validate inspects the fields of the type to determine if they are valid.
12065func (s *RegisterCertificateInput) Validate() error {
12066	invalidParams := request.ErrInvalidParams{Context: "RegisterCertificateInput"}
12067	if s.CertificateData == nil {
12068		invalidParams.Add(request.NewErrParamRequired("CertificateData"))
12069	}
12070	if s.CertificateData != nil && len(*s.CertificateData) < 1 {
12071		invalidParams.Add(request.NewErrParamMinLen("CertificateData", 1))
12072	}
12073	if s.DirectoryId == nil {
12074		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
12075	}
12076
12077	if invalidParams.Len() > 0 {
12078		return invalidParams
12079	}
12080	return nil
12081}
12082
12083// SetCertificateData sets the CertificateData field's value.
12084func (s *RegisterCertificateInput) SetCertificateData(v string) *RegisterCertificateInput {
12085	s.CertificateData = &v
12086	return s
12087}
12088
12089// SetDirectoryId sets the DirectoryId field's value.
12090func (s *RegisterCertificateInput) SetDirectoryId(v string) *RegisterCertificateInput {
12091	s.DirectoryId = &v
12092	return s
12093}
12094
12095type RegisterCertificateOutput struct {
12096	_ struct{} `type:"structure"`
12097
12098	// The identifier of the certificate.
12099	CertificateId *string `type:"string"`
12100}
12101
12102// String returns the string representation
12103func (s RegisterCertificateOutput) String() string {
12104	return awsutil.Prettify(s)
12105}
12106
12107// GoString returns the string representation
12108func (s RegisterCertificateOutput) GoString() string {
12109	return s.String()
12110}
12111
12112// SetCertificateId sets the CertificateId field's value.
12113func (s *RegisterCertificateOutput) SetCertificateId(v string) *RegisterCertificateOutput {
12114	s.CertificateId = &v
12115	return s
12116}
12117
12118// Registers a new event topic.
12119type RegisterEventTopicInput struct {
12120	_ struct{} `type:"structure"`
12121
12122	// The Directory ID that will publish status messages to the SNS topic.
12123	//
12124	// DirectoryId is a required field
12125	DirectoryId *string `type:"string" required:"true"`
12126
12127	// The SNS topic name to which the directory will publish status messages. This
12128	// SNS topic must be in the same region as the specified Directory ID.
12129	//
12130	// TopicName is a required field
12131	TopicName *string `min:"1" type:"string" required:"true"`
12132}
12133
12134// String returns the string representation
12135func (s RegisterEventTopicInput) String() string {
12136	return awsutil.Prettify(s)
12137}
12138
12139// GoString returns the string representation
12140func (s RegisterEventTopicInput) GoString() string {
12141	return s.String()
12142}
12143
12144// Validate inspects the fields of the type to determine if they are valid.
12145func (s *RegisterEventTopicInput) Validate() error {
12146	invalidParams := request.ErrInvalidParams{Context: "RegisterEventTopicInput"}
12147	if s.DirectoryId == nil {
12148		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
12149	}
12150	if s.TopicName == nil {
12151		invalidParams.Add(request.NewErrParamRequired("TopicName"))
12152	}
12153	if s.TopicName != nil && len(*s.TopicName) < 1 {
12154		invalidParams.Add(request.NewErrParamMinLen("TopicName", 1))
12155	}
12156
12157	if invalidParams.Len() > 0 {
12158		return invalidParams
12159	}
12160	return nil
12161}
12162
12163// SetDirectoryId sets the DirectoryId field's value.
12164func (s *RegisterEventTopicInput) SetDirectoryId(v string) *RegisterEventTopicInput {
12165	s.DirectoryId = &v
12166	return s
12167}
12168
12169// SetTopicName sets the TopicName field's value.
12170func (s *RegisterEventTopicInput) SetTopicName(v string) *RegisterEventTopicInput {
12171	s.TopicName = &v
12172	return s
12173}
12174
12175// The result of a RegisterEventTopic request.
12176type RegisterEventTopicOutput struct {
12177	_ struct{} `type:"structure"`
12178}
12179
12180// String returns the string representation
12181func (s RegisterEventTopicOutput) String() string {
12182	return awsutil.Prettify(s)
12183}
12184
12185// GoString returns the string representation
12186func (s RegisterEventTopicOutput) GoString() string {
12187	return s.String()
12188}
12189
12190type RejectSharedDirectoryInput struct {
12191	_ struct{} `type:"structure"`
12192
12193	// Identifier of the shared directory in the directory consumer account. This
12194	// identifier is different for each directory owner account.
12195	//
12196	// SharedDirectoryId is a required field
12197	SharedDirectoryId *string `type:"string" required:"true"`
12198}
12199
12200// String returns the string representation
12201func (s RejectSharedDirectoryInput) String() string {
12202	return awsutil.Prettify(s)
12203}
12204
12205// GoString returns the string representation
12206func (s RejectSharedDirectoryInput) GoString() string {
12207	return s.String()
12208}
12209
12210// Validate inspects the fields of the type to determine if they are valid.
12211func (s *RejectSharedDirectoryInput) Validate() error {
12212	invalidParams := request.ErrInvalidParams{Context: "RejectSharedDirectoryInput"}
12213	if s.SharedDirectoryId == nil {
12214		invalidParams.Add(request.NewErrParamRequired("SharedDirectoryId"))
12215	}
12216
12217	if invalidParams.Len() > 0 {
12218		return invalidParams
12219	}
12220	return nil
12221}
12222
12223// SetSharedDirectoryId sets the SharedDirectoryId field's value.
12224func (s *RejectSharedDirectoryInput) SetSharedDirectoryId(v string) *RejectSharedDirectoryInput {
12225	s.SharedDirectoryId = &v
12226	return s
12227}
12228
12229type RejectSharedDirectoryOutput struct {
12230	_ struct{} `type:"structure"`
12231
12232	// Identifier of the shared directory in the directory consumer account.
12233	SharedDirectoryId *string `type:"string"`
12234}
12235
12236// String returns the string representation
12237func (s RejectSharedDirectoryOutput) String() string {
12238	return awsutil.Prettify(s)
12239}
12240
12241// GoString returns the string representation
12242func (s RejectSharedDirectoryOutput) GoString() string {
12243	return s.String()
12244}
12245
12246// SetSharedDirectoryId sets the SharedDirectoryId field's value.
12247func (s *RejectSharedDirectoryOutput) SetSharedDirectoryId(v string) *RejectSharedDirectoryOutput {
12248	s.SharedDirectoryId = &v
12249	return s
12250}
12251
12252type RemoveIpRoutesInput struct {
12253	_ struct{} `type:"structure"`
12254
12255	// IP address blocks that you want to remove.
12256	//
12257	// CidrIps is a required field
12258	CidrIps []*string `type:"list" required:"true"`
12259
12260	// Identifier (ID) of the directory from which you want to remove the IP addresses.
12261	//
12262	// DirectoryId is a required field
12263	DirectoryId *string `type:"string" required:"true"`
12264}
12265
12266// String returns the string representation
12267func (s RemoveIpRoutesInput) String() string {
12268	return awsutil.Prettify(s)
12269}
12270
12271// GoString returns the string representation
12272func (s RemoveIpRoutesInput) GoString() string {
12273	return s.String()
12274}
12275
12276// Validate inspects the fields of the type to determine if they are valid.
12277func (s *RemoveIpRoutesInput) Validate() error {
12278	invalidParams := request.ErrInvalidParams{Context: "RemoveIpRoutesInput"}
12279	if s.CidrIps == nil {
12280		invalidParams.Add(request.NewErrParamRequired("CidrIps"))
12281	}
12282	if s.DirectoryId == nil {
12283		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
12284	}
12285
12286	if invalidParams.Len() > 0 {
12287		return invalidParams
12288	}
12289	return nil
12290}
12291
12292// SetCidrIps sets the CidrIps field's value.
12293func (s *RemoveIpRoutesInput) SetCidrIps(v []*string) *RemoveIpRoutesInput {
12294	s.CidrIps = v
12295	return s
12296}
12297
12298// SetDirectoryId sets the DirectoryId field's value.
12299func (s *RemoveIpRoutesInput) SetDirectoryId(v string) *RemoveIpRoutesInput {
12300	s.DirectoryId = &v
12301	return s
12302}
12303
12304type RemoveIpRoutesOutput struct {
12305	_ struct{} `type:"structure"`
12306}
12307
12308// String returns the string representation
12309func (s RemoveIpRoutesOutput) String() string {
12310	return awsutil.Prettify(s)
12311}
12312
12313// GoString returns the string representation
12314func (s RemoveIpRoutesOutput) GoString() string {
12315	return s.String()
12316}
12317
12318type RemoveTagsFromResourceInput struct {
12319	_ struct{} `type:"structure"`
12320
12321	// Identifier (ID) of the directory from which to remove the tag.
12322	//
12323	// ResourceId is a required field
12324	ResourceId *string `type:"string" required:"true"`
12325
12326	// The tag key (name) of the tag to be removed.
12327	//
12328	// TagKeys is a required field
12329	TagKeys []*string `type:"list" required:"true"`
12330}
12331
12332// String returns the string representation
12333func (s RemoveTagsFromResourceInput) String() string {
12334	return awsutil.Prettify(s)
12335}
12336
12337// GoString returns the string representation
12338func (s RemoveTagsFromResourceInput) GoString() string {
12339	return s.String()
12340}
12341
12342// Validate inspects the fields of the type to determine if they are valid.
12343func (s *RemoveTagsFromResourceInput) Validate() error {
12344	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
12345	if s.ResourceId == nil {
12346		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
12347	}
12348	if s.TagKeys == nil {
12349		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
12350	}
12351
12352	if invalidParams.Len() > 0 {
12353		return invalidParams
12354	}
12355	return nil
12356}
12357
12358// SetResourceId sets the ResourceId field's value.
12359func (s *RemoveTagsFromResourceInput) SetResourceId(v string) *RemoveTagsFromResourceInput {
12360	s.ResourceId = &v
12361	return s
12362}
12363
12364// SetTagKeys sets the TagKeys field's value.
12365func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
12366	s.TagKeys = v
12367	return s
12368}
12369
12370type RemoveTagsFromResourceOutput struct {
12371	_ struct{} `type:"structure"`
12372}
12373
12374// String returns the string representation
12375func (s RemoveTagsFromResourceOutput) String() string {
12376	return awsutil.Prettify(s)
12377}
12378
12379// GoString returns the string representation
12380func (s RemoveTagsFromResourceOutput) GoString() string {
12381	return s.String()
12382}
12383
12384type ResetUserPasswordInput struct {
12385	_ struct{} `type:"structure"`
12386
12387	// Identifier of the AWS Managed Microsoft AD or Simple AD directory in which
12388	// the user resides.
12389	//
12390	// DirectoryId is a required field
12391	DirectoryId *string `type:"string" required:"true"`
12392
12393	// The new password that will be reset.
12394	//
12395	// NewPassword is a required field
12396	NewPassword *string `min:"1" type:"string" required:"true" sensitive:"true"`
12397
12398	// The user name of the user whose password will be reset.
12399	//
12400	// UserName is a required field
12401	UserName *string `min:"1" type:"string" required:"true"`
12402}
12403
12404// String returns the string representation
12405func (s ResetUserPasswordInput) String() string {
12406	return awsutil.Prettify(s)
12407}
12408
12409// GoString returns the string representation
12410func (s ResetUserPasswordInput) GoString() string {
12411	return s.String()
12412}
12413
12414// Validate inspects the fields of the type to determine if they are valid.
12415func (s *ResetUserPasswordInput) Validate() error {
12416	invalidParams := request.ErrInvalidParams{Context: "ResetUserPasswordInput"}
12417	if s.DirectoryId == nil {
12418		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
12419	}
12420	if s.NewPassword == nil {
12421		invalidParams.Add(request.NewErrParamRequired("NewPassword"))
12422	}
12423	if s.NewPassword != nil && len(*s.NewPassword) < 1 {
12424		invalidParams.Add(request.NewErrParamMinLen("NewPassword", 1))
12425	}
12426	if s.UserName == nil {
12427		invalidParams.Add(request.NewErrParamRequired("UserName"))
12428	}
12429	if s.UserName != nil && len(*s.UserName) < 1 {
12430		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
12431	}
12432
12433	if invalidParams.Len() > 0 {
12434		return invalidParams
12435	}
12436	return nil
12437}
12438
12439// SetDirectoryId sets the DirectoryId field's value.
12440func (s *ResetUserPasswordInput) SetDirectoryId(v string) *ResetUserPasswordInput {
12441	s.DirectoryId = &v
12442	return s
12443}
12444
12445// SetNewPassword sets the NewPassword field's value.
12446func (s *ResetUserPasswordInput) SetNewPassword(v string) *ResetUserPasswordInput {
12447	s.NewPassword = &v
12448	return s
12449}
12450
12451// SetUserName sets the UserName field's value.
12452func (s *ResetUserPasswordInput) SetUserName(v string) *ResetUserPasswordInput {
12453	s.UserName = &v
12454	return s
12455}
12456
12457type ResetUserPasswordOutput struct {
12458	_ struct{} `type:"structure"`
12459}
12460
12461// String returns the string representation
12462func (s ResetUserPasswordOutput) String() string {
12463	return awsutil.Prettify(s)
12464}
12465
12466// GoString returns the string representation
12467func (s ResetUserPasswordOutput) GoString() string {
12468	return s.String()
12469}
12470
12471// An object representing the inputs for the RestoreFromSnapshot operation.
12472type RestoreFromSnapshotInput struct {
12473	_ struct{} `type:"structure"`
12474
12475	// The identifier of the snapshot to restore from.
12476	//
12477	// SnapshotId is a required field
12478	SnapshotId *string `type:"string" required:"true"`
12479}
12480
12481// String returns the string representation
12482func (s RestoreFromSnapshotInput) String() string {
12483	return awsutil.Prettify(s)
12484}
12485
12486// GoString returns the string representation
12487func (s RestoreFromSnapshotInput) GoString() string {
12488	return s.String()
12489}
12490
12491// Validate inspects the fields of the type to determine if they are valid.
12492func (s *RestoreFromSnapshotInput) Validate() error {
12493	invalidParams := request.ErrInvalidParams{Context: "RestoreFromSnapshotInput"}
12494	if s.SnapshotId == nil {
12495		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
12496	}
12497
12498	if invalidParams.Len() > 0 {
12499		return invalidParams
12500	}
12501	return nil
12502}
12503
12504// SetSnapshotId sets the SnapshotId field's value.
12505func (s *RestoreFromSnapshotInput) SetSnapshotId(v string) *RestoreFromSnapshotInput {
12506	s.SnapshotId = &v
12507	return s
12508}
12509
12510// Contains the results of the RestoreFromSnapshot operation.
12511type RestoreFromSnapshotOutput struct {
12512	_ struct{} `type:"structure"`
12513}
12514
12515// String returns the string representation
12516func (s RestoreFromSnapshotOutput) String() string {
12517	return awsutil.Prettify(s)
12518}
12519
12520// GoString returns the string representation
12521func (s RestoreFromSnapshotOutput) GoString() string {
12522	return s.String()
12523}
12524
12525// Information about a schema extension.
12526type SchemaExtensionInfo struct {
12527	_ struct{} `type:"structure"`
12528
12529	// A description of the schema extension.
12530	Description *string `type:"string"`
12531
12532	// The identifier of the directory to which the schema extension is applied.
12533	DirectoryId *string `type:"string"`
12534
12535	// The date and time that the schema extension was completed.
12536	EndDateTime *time.Time `type:"timestamp"`
12537
12538	// The identifier of the schema extension.
12539	SchemaExtensionId *string `type:"string"`
12540
12541	// The current status of the schema extension.
12542	SchemaExtensionStatus *string `type:"string" enum:"SchemaExtensionStatus"`
12543
12544	// The reason for the SchemaExtensionStatus.
12545	SchemaExtensionStatusReason *string `type:"string"`
12546
12547	// The date and time that the schema extension started being applied to the
12548	// directory.
12549	StartDateTime *time.Time `type:"timestamp"`
12550}
12551
12552// String returns the string representation
12553func (s SchemaExtensionInfo) String() string {
12554	return awsutil.Prettify(s)
12555}
12556
12557// GoString returns the string representation
12558func (s SchemaExtensionInfo) GoString() string {
12559	return s.String()
12560}
12561
12562// SetDescription sets the Description field's value.
12563func (s *SchemaExtensionInfo) SetDescription(v string) *SchemaExtensionInfo {
12564	s.Description = &v
12565	return s
12566}
12567
12568// SetDirectoryId sets the DirectoryId field's value.
12569func (s *SchemaExtensionInfo) SetDirectoryId(v string) *SchemaExtensionInfo {
12570	s.DirectoryId = &v
12571	return s
12572}
12573
12574// SetEndDateTime sets the EndDateTime field's value.
12575func (s *SchemaExtensionInfo) SetEndDateTime(v time.Time) *SchemaExtensionInfo {
12576	s.EndDateTime = &v
12577	return s
12578}
12579
12580// SetSchemaExtensionId sets the SchemaExtensionId field's value.
12581func (s *SchemaExtensionInfo) SetSchemaExtensionId(v string) *SchemaExtensionInfo {
12582	s.SchemaExtensionId = &v
12583	return s
12584}
12585
12586// SetSchemaExtensionStatus sets the SchemaExtensionStatus field's value.
12587func (s *SchemaExtensionInfo) SetSchemaExtensionStatus(v string) *SchemaExtensionInfo {
12588	s.SchemaExtensionStatus = &v
12589	return s
12590}
12591
12592// SetSchemaExtensionStatusReason sets the SchemaExtensionStatusReason field's value.
12593func (s *SchemaExtensionInfo) SetSchemaExtensionStatusReason(v string) *SchemaExtensionInfo {
12594	s.SchemaExtensionStatusReason = &v
12595	return s
12596}
12597
12598// SetStartDateTime sets the StartDateTime field's value.
12599func (s *SchemaExtensionInfo) SetStartDateTime(v time.Time) *SchemaExtensionInfo {
12600	s.StartDateTime = &v
12601	return s
12602}
12603
12604// An exception has occurred in AWS Directory Service.
12605type ServiceException struct {
12606	_            struct{}                  `type:"structure"`
12607	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12608
12609	// The descriptive message for the exception.
12610	Message_ *string `locationName:"Message" type:"string"`
12611
12612	// The AWS request identifier.
12613	RequestId *string `type:"string"`
12614}
12615
12616// String returns the string representation
12617func (s ServiceException) String() string {
12618	return awsutil.Prettify(s)
12619}
12620
12621// GoString returns the string representation
12622func (s ServiceException) GoString() string {
12623	return s.String()
12624}
12625
12626func newErrorServiceException(v protocol.ResponseMetadata) error {
12627	return &ServiceException{
12628		RespMetadata: v,
12629	}
12630}
12631
12632// Code returns the exception type name.
12633func (s *ServiceException) Code() string {
12634	return "ServiceException"
12635}
12636
12637// Message returns the exception's message.
12638func (s *ServiceException) Message() string {
12639	if s.Message_ != nil {
12640		return *s.Message_
12641	}
12642	return ""
12643}
12644
12645// OrigErr always returns nil, satisfies awserr.Error interface.
12646func (s *ServiceException) OrigErr() error {
12647	return nil
12648}
12649
12650func (s *ServiceException) Error() string {
12651	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12652}
12653
12654// Status code returns the HTTP status code for the request's response error.
12655func (s *ServiceException) StatusCode() int {
12656	return s.RespMetadata.StatusCode
12657}
12658
12659// RequestID returns the service's response RequestID for request.
12660func (s *ServiceException) RequestID() string {
12661	return s.RespMetadata.RequestID
12662}
12663
12664type ShareDirectoryInput struct {
12665	_ struct{} `type:"structure"`
12666
12667	// Identifier of the AWS Managed Microsoft AD directory that you want to share
12668	// with other AWS accounts.
12669	//
12670	// DirectoryId is a required field
12671	DirectoryId *string `type:"string" required:"true"`
12672
12673	// The method used when sharing a directory to determine whether the directory
12674	// should be shared within your AWS organization (ORGANIZATIONS) or with any
12675	// AWS account by sending a directory sharing request (HANDSHAKE).
12676	//
12677	// ShareMethod is a required field
12678	ShareMethod *string `type:"string" required:"true" enum:"ShareMethod"`
12679
12680	// A directory share request that is sent by the directory owner to the directory
12681	// consumer. The request includes a typed message to help the directory consumer
12682	// administrator determine whether to approve or reject the share invitation.
12683	ShareNotes *string `type:"string" sensitive:"true"`
12684
12685	// Identifier for the directory consumer account with whom the directory is
12686	// to be shared.
12687	//
12688	// ShareTarget is a required field
12689	ShareTarget *ShareTarget `type:"structure" required:"true"`
12690}
12691
12692// String returns the string representation
12693func (s ShareDirectoryInput) String() string {
12694	return awsutil.Prettify(s)
12695}
12696
12697// GoString returns the string representation
12698func (s ShareDirectoryInput) GoString() string {
12699	return s.String()
12700}
12701
12702// Validate inspects the fields of the type to determine if they are valid.
12703func (s *ShareDirectoryInput) Validate() error {
12704	invalidParams := request.ErrInvalidParams{Context: "ShareDirectoryInput"}
12705	if s.DirectoryId == nil {
12706		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
12707	}
12708	if s.ShareMethod == nil {
12709		invalidParams.Add(request.NewErrParamRequired("ShareMethod"))
12710	}
12711	if s.ShareTarget == nil {
12712		invalidParams.Add(request.NewErrParamRequired("ShareTarget"))
12713	}
12714	if s.ShareTarget != nil {
12715		if err := s.ShareTarget.Validate(); err != nil {
12716			invalidParams.AddNested("ShareTarget", err.(request.ErrInvalidParams))
12717		}
12718	}
12719
12720	if invalidParams.Len() > 0 {
12721		return invalidParams
12722	}
12723	return nil
12724}
12725
12726// SetDirectoryId sets the DirectoryId field's value.
12727func (s *ShareDirectoryInput) SetDirectoryId(v string) *ShareDirectoryInput {
12728	s.DirectoryId = &v
12729	return s
12730}
12731
12732// SetShareMethod sets the ShareMethod field's value.
12733func (s *ShareDirectoryInput) SetShareMethod(v string) *ShareDirectoryInput {
12734	s.ShareMethod = &v
12735	return s
12736}
12737
12738// SetShareNotes sets the ShareNotes field's value.
12739func (s *ShareDirectoryInput) SetShareNotes(v string) *ShareDirectoryInput {
12740	s.ShareNotes = &v
12741	return s
12742}
12743
12744// SetShareTarget sets the ShareTarget field's value.
12745func (s *ShareDirectoryInput) SetShareTarget(v *ShareTarget) *ShareDirectoryInput {
12746	s.ShareTarget = v
12747	return s
12748}
12749
12750type ShareDirectoryOutput struct {
12751	_ struct{} `type:"structure"`
12752
12753	// Identifier of the directory that is stored in the directory consumer account
12754	// that is shared from the specified directory (DirectoryId).
12755	SharedDirectoryId *string `type:"string"`
12756}
12757
12758// String returns the string representation
12759func (s ShareDirectoryOutput) String() string {
12760	return awsutil.Prettify(s)
12761}
12762
12763// GoString returns the string representation
12764func (s ShareDirectoryOutput) GoString() string {
12765	return s.String()
12766}
12767
12768// SetSharedDirectoryId sets the SharedDirectoryId field's value.
12769func (s *ShareDirectoryOutput) SetSharedDirectoryId(v string) *ShareDirectoryOutput {
12770	s.SharedDirectoryId = &v
12771	return s
12772}
12773
12774// The maximum number of AWS accounts that you can share with this directory
12775// has been reached.
12776type ShareLimitExceededException struct {
12777	_            struct{}                  `type:"structure"`
12778	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12779
12780	// The descriptive message for the exception.
12781	Message_ *string `locationName:"Message" type:"string"`
12782
12783	// The AWS request identifier.
12784	RequestId *string `type:"string"`
12785}
12786
12787// String returns the string representation
12788func (s ShareLimitExceededException) String() string {
12789	return awsutil.Prettify(s)
12790}
12791
12792// GoString returns the string representation
12793func (s ShareLimitExceededException) GoString() string {
12794	return s.String()
12795}
12796
12797func newErrorShareLimitExceededException(v protocol.ResponseMetadata) error {
12798	return &ShareLimitExceededException{
12799		RespMetadata: v,
12800	}
12801}
12802
12803// Code returns the exception type name.
12804func (s *ShareLimitExceededException) Code() string {
12805	return "ShareLimitExceededException"
12806}
12807
12808// Message returns the exception's message.
12809func (s *ShareLimitExceededException) Message() string {
12810	if s.Message_ != nil {
12811		return *s.Message_
12812	}
12813	return ""
12814}
12815
12816// OrigErr always returns nil, satisfies awserr.Error interface.
12817func (s *ShareLimitExceededException) OrigErr() error {
12818	return nil
12819}
12820
12821func (s *ShareLimitExceededException) Error() string {
12822	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12823}
12824
12825// Status code returns the HTTP status code for the request's response error.
12826func (s *ShareLimitExceededException) StatusCode() int {
12827	return s.RespMetadata.StatusCode
12828}
12829
12830// RequestID returns the service's response RequestID for request.
12831func (s *ShareLimitExceededException) RequestID() string {
12832	return s.RespMetadata.RequestID
12833}
12834
12835// Identifier that contains details about the directory consumer account.
12836type ShareTarget struct {
12837	_ struct{} `type:"structure"`
12838
12839	// Identifier of the directory consumer account.
12840	//
12841	// Id is a required field
12842	Id *string `min:"1" type:"string" required:"true"`
12843
12844	// Type of identifier to be used in the Id field.
12845	//
12846	// Type is a required field
12847	Type *string `type:"string" required:"true" enum:"TargetType"`
12848}
12849
12850// String returns the string representation
12851func (s ShareTarget) String() string {
12852	return awsutil.Prettify(s)
12853}
12854
12855// GoString returns the string representation
12856func (s ShareTarget) GoString() string {
12857	return s.String()
12858}
12859
12860// Validate inspects the fields of the type to determine if they are valid.
12861func (s *ShareTarget) Validate() error {
12862	invalidParams := request.ErrInvalidParams{Context: "ShareTarget"}
12863	if s.Id == nil {
12864		invalidParams.Add(request.NewErrParamRequired("Id"))
12865	}
12866	if s.Id != nil && len(*s.Id) < 1 {
12867		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12868	}
12869	if s.Type == nil {
12870		invalidParams.Add(request.NewErrParamRequired("Type"))
12871	}
12872
12873	if invalidParams.Len() > 0 {
12874		return invalidParams
12875	}
12876	return nil
12877}
12878
12879// SetId sets the Id field's value.
12880func (s *ShareTarget) SetId(v string) *ShareTarget {
12881	s.Id = &v
12882	return s
12883}
12884
12885// SetType sets the Type field's value.
12886func (s *ShareTarget) SetType(v string) *ShareTarget {
12887	s.Type = &v
12888	return s
12889}
12890
12891// Details about the shared directory in the directory owner account for which
12892// the share request in the directory consumer account has been accepted.
12893type SharedDirectory struct {
12894	_ struct{} `type:"structure"`
12895
12896	// The date and time that the shared directory was created.
12897	CreatedDateTime *time.Time `type:"timestamp"`
12898
12899	// The date and time that the shared directory was last updated.
12900	LastUpdatedDateTime *time.Time `type:"timestamp"`
12901
12902	// Identifier of the directory owner account, which contains the directory that
12903	// has been shared to the consumer account.
12904	OwnerAccountId *string `type:"string"`
12905
12906	// Identifier of the directory in the directory owner account.
12907	OwnerDirectoryId *string `type:"string"`
12908
12909	// The method used when sharing a directory to determine whether the directory
12910	// should be shared within your AWS organization (ORGANIZATIONS) or with any
12911	// AWS account by sending a shared directory request (HANDSHAKE).
12912	ShareMethod *string `type:"string" enum:"ShareMethod"`
12913
12914	// A directory share request that is sent by the directory owner to the directory
12915	// consumer. The request includes a typed message to help the directory consumer
12916	// administrator determine whether to approve or reject the share invitation.
12917	ShareNotes *string `type:"string" sensitive:"true"`
12918
12919	// Current directory status of the shared AWS Managed Microsoft AD directory.
12920	ShareStatus *string `type:"string" enum:"ShareStatus"`
12921
12922	// Identifier of the directory consumer account that has access to the shared
12923	// directory (OwnerDirectoryId) in the directory owner account.
12924	SharedAccountId *string `type:"string"`
12925
12926	// Identifier of the shared directory in the directory consumer account. This
12927	// identifier is different for each directory owner account.
12928	SharedDirectoryId *string `type:"string"`
12929}
12930
12931// String returns the string representation
12932func (s SharedDirectory) String() string {
12933	return awsutil.Prettify(s)
12934}
12935
12936// GoString returns the string representation
12937func (s SharedDirectory) GoString() string {
12938	return s.String()
12939}
12940
12941// SetCreatedDateTime sets the CreatedDateTime field's value.
12942func (s *SharedDirectory) SetCreatedDateTime(v time.Time) *SharedDirectory {
12943	s.CreatedDateTime = &v
12944	return s
12945}
12946
12947// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
12948func (s *SharedDirectory) SetLastUpdatedDateTime(v time.Time) *SharedDirectory {
12949	s.LastUpdatedDateTime = &v
12950	return s
12951}
12952
12953// SetOwnerAccountId sets the OwnerAccountId field's value.
12954func (s *SharedDirectory) SetOwnerAccountId(v string) *SharedDirectory {
12955	s.OwnerAccountId = &v
12956	return s
12957}
12958
12959// SetOwnerDirectoryId sets the OwnerDirectoryId field's value.
12960func (s *SharedDirectory) SetOwnerDirectoryId(v string) *SharedDirectory {
12961	s.OwnerDirectoryId = &v
12962	return s
12963}
12964
12965// SetShareMethod sets the ShareMethod field's value.
12966func (s *SharedDirectory) SetShareMethod(v string) *SharedDirectory {
12967	s.ShareMethod = &v
12968	return s
12969}
12970
12971// SetShareNotes sets the ShareNotes field's value.
12972func (s *SharedDirectory) SetShareNotes(v string) *SharedDirectory {
12973	s.ShareNotes = &v
12974	return s
12975}
12976
12977// SetShareStatus sets the ShareStatus field's value.
12978func (s *SharedDirectory) SetShareStatus(v string) *SharedDirectory {
12979	s.ShareStatus = &v
12980	return s
12981}
12982
12983// SetSharedAccountId sets the SharedAccountId field's value.
12984func (s *SharedDirectory) SetSharedAccountId(v string) *SharedDirectory {
12985	s.SharedAccountId = &v
12986	return s
12987}
12988
12989// SetSharedDirectoryId sets the SharedDirectoryId field's value.
12990func (s *SharedDirectory) SetSharedDirectoryId(v string) *SharedDirectory {
12991	s.SharedDirectoryId = &v
12992	return s
12993}
12994
12995// Describes a directory snapshot.
12996type Snapshot struct {
12997	_ struct{} `type:"structure"`
12998
12999	// The directory identifier.
13000	DirectoryId *string `type:"string"`
13001
13002	// The descriptive name of the snapshot.
13003	Name *string `type:"string"`
13004
13005	// The snapshot identifier.
13006	SnapshotId *string `type:"string"`
13007
13008	// The date and time that the snapshot was taken.
13009	StartTime *time.Time `type:"timestamp"`
13010
13011	// The snapshot status.
13012	Status *string `type:"string" enum:"SnapshotStatus"`
13013
13014	// The snapshot type.
13015	Type *string `type:"string" enum:"SnapshotType"`
13016}
13017
13018// String returns the string representation
13019func (s Snapshot) String() string {
13020	return awsutil.Prettify(s)
13021}
13022
13023// GoString returns the string representation
13024func (s Snapshot) GoString() string {
13025	return s.String()
13026}
13027
13028// SetDirectoryId sets the DirectoryId field's value.
13029func (s *Snapshot) SetDirectoryId(v string) *Snapshot {
13030	s.DirectoryId = &v
13031	return s
13032}
13033
13034// SetName sets the Name field's value.
13035func (s *Snapshot) SetName(v string) *Snapshot {
13036	s.Name = &v
13037	return s
13038}
13039
13040// SetSnapshotId sets the SnapshotId field's value.
13041func (s *Snapshot) SetSnapshotId(v string) *Snapshot {
13042	s.SnapshotId = &v
13043	return s
13044}
13045
13046// SetStartTime sets the StartTime field's value.
13047func (s *Snapshot) SetStartTime(v time.Time) *Snapshot {
13048	s.StartTime = &v
13049	return s
13050}
13051
13052// SetStatus sets the Status field's value.
13053func (s *Snapshot) SetStatus(v string) *Snapshot {
13054	s.Status = &v
13055	return s
13056}
13057
13058// SetType sets the Type field's value.
13059func (s *Snapshot) SetType(v string) *Snapshot {
13060	s.Type = &v
13061	return s
13062}
13063
13064// The maximum number of manual snapshots for the directory has been reached.
13065// You can use the GetSnapshotLimits operation to determine the snapshot limits
13066// for a directory.
13067type SnapshotLimitExceededException struct {
13068	_            struct{}                  `type:"structure"`
13069	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13070
13071	// The descriptive message for the exception.
13072	Message_ *string `locationName:"Message" type:"string"`
13073
13074	// The AWS request identifier.
13075	RequestId *string `type:"string"`
13076}
13077
13078// String returns the string representation
13079func (s SnapshotLimitExceededException) String() string {
13080	return awsutil.Prettify(s)
13081}
13082
13083// GoString returns the string representation
13084func (s SnapshotLimitExceededException) GoString() string {
13085	return s.String()
13086}
13087
13088func newErrorSnapshotLimitExceededException(v protocol.ResponseMetadata) error {
13089	return &SnapshotLimitExceededException{
13090		RespMetadata: v,
13091	}
13092}
13093
13094// Code returns the exception type name.
13095func (s *SnapshotLimitExceededException) Code() string {
13096	return "SnapshotLimitExceededException"
13097}
13098
13099// Message returns the exception's message.
13100func (s *SnapshotLimitExceededException) Message() string {
13101	if s.Message_ != nil {
13102		return *s.Message_
13103	}
13104	return ""
13105}
13106
13107// OrigErr always returns nil, satisfies awserr.Error interface.
13108func (s *SnapshotLimitExceededException) OrigErr() error {
13109	return nil
13110}
13111
13112func (s *SnapshotLimitExceededException) Error() string {
13113	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13114}
13115
13116// Status code returns the HTTP status code for the request's response error.
13117func (s *SnapshotLimitExceededException) StatusCode() int {
13118	return s.RespMetadata.StatusCode
13119}
13120
13121// RequestID returns the service's response RequestID for request.
13122func (s *SnapshotLimitExceededException) RequestID() string {
13123	return s.RespMetadata.RequestID
13124}
13125
13126// Contains manual snapshot limit information for a directory.
13127type SnapshotLimits struct {
13128	_ struct{} `type:"structure"`
13129
13130	// The current number of manual snapshots of the directory.
13131	ManualSnapshotsCurrentCount *int64 `type:"integer"`
13132
13133	// The maximum number of manual snapshots allowed.
13134	ManualSnapshotsLimit *int64 `type:"integer"`
13135
13136	// Indicates if the manual snapshot limit has been reached.
13137	ManualSnapshotsLimitReached *bool `type:"boolean"`
13138}
13139
13140// String returns the string representation
13141func (s SnapshotLimits) String() string {
13142	return awsutil.Prettify(s)
13143}
13144
13145// GoString returns the string representation
13146func (s SnapshotLimits) GoString() string {
13147	return s.String()
13148}
13149
13150// SetManualSnapshotsCurrentCount sets the ManualSnapshotsCurrentCount field's value.
13151func (s *SnapshotLimits) SetManualSnapshotsCurrentCount(v int64) *SnapshotLimits {
13152	s.ManualSnapshotsCurrentCount = &v
13153	return s
13154}
13155
13156// SetManualSnapshotsLimit sets the ManualSnapshotsLimit field's value.
13157func (s *SnapshotLimits) SetManualSnapshotsLimit(v int64) *SnapshotLimits {
13158	s.ManualSnapshotsLimit = &v
13159	return s
13160}
13161
13162// SetManualSnapshotsLimitReached sets the ManualSnapshotsLimitReached field's value.
13163func (s *SnapshotLimits) SetManualSnapshotsLimitReached(v bool) *SnapshotLimits {
13164	s.ManualSnapshotsLimitReached = &v
13165	return s
13166}
13167
13168type StartSchemaExtensionInput struct {
13169	_ struct{} `type:"structure"`
13170
13171	// If true, creates a snapshot of the directory before applying the schema extension.
13172	//
13173	// CreateSnapshotBeforeSchemaExtension is a required field
13174	CreateSnapshotBeforeSchemaExtension *bool `type:"boolean" required:"true"`
13175
13176	// A description of the schema extension.
13177	//
13178	// Description is a required field
13179	Description *string `type:"string" required:"true"`
13180
13181	// The identifier of the directory for which the schema extension will be applied
13182	// to.
13183	//
13184	// DirectoryId is a required field
13185	DirectoryId *string `type:"string" required:"true"`
13186
13187	// The LDIF file represented as a string. To construct the LdifContent string,
13188	// precede each line as it would be formatted in an ldif file with \n. See the
13189	// example request below for more details. The file size can be no larger than
13190	// 1MB.
13191	//
13192	// LdifContent is a required field
13193	LdifContent *string `min:"1" type:"string" required:"true"`
13194}
13195
13196// String returns the string representation
13197func (s StartSchemaExtensionInput) String() string {
13198	return awsutil.Prettify(s)
13199}
13200
13201// GoString returns the string representation
13202func (s StartSchemaExtensionInput) GoString() string {
13203	return s.String()
13204}
13205
13206// Validate inspects the fields of the type to determine if they are valid.
13207func (s *StartSchemaExtensionInput) Validate() error {
13208	invalidParams := request.ErrInvalidParams{Context: "StartSchemaExtensionInput"}
13209	if s.CreateSnapshotBeforeSchemaExtension == nil {
13210		invalidParams.Add(request.NewErrParamRequired("CreateSnapshotBeforeSchemaExtension"))
13211	}
13212	if s.Description == nil {
13213		invalidParams.Add(request.NewErrParamRequired("Description"))
13214	}
13215	if s.DirectoryId == nil {
13216		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
13217	}
13218	if s.LdifContent == nil {
13219		invalidParams.Add(request.NewErrParamRequired("LdifContent"))
13220	}
13221	if s.LdifContent != nil && len(*s.LdifContent) < 1 {
13222		invalidParams.Add(request.NewErrParamMinLen("LdifContent", 1))
13223	}
13224
13225	if invalidParams.Len() > 0 {
13226		return invalidParams
13227	}
13228	return nil
13229}
13230
13231// SetCreateSnapshotBeforeSchemaExtension sets the CreateSnapshotBeforeSchemaExtension field's value.
13232func (s *StartSchemaExtensionInput) SetCreateSnapshotBeforeSchemaExtension(v bool) *StartSchemaExtensionInput {
13233	s.CreateSnapshotBeforeSchemaExtension = &v
13234	return s
13235}
13236
13237// SetDescription sets the Description field's value.
13238func (s *StartSchemaExtensionInput) SetDescription(v string) *StartSchemaExtensionInput {
13239	s.Description = &v
13240	return s
13241}
13242
13243// SetDirectoryId sets the DirectoryId field's value.
13244func (s *StartSchemaExtensionInput) SetDirectoryId(v string) *StartSchemaExtensionInput {
13245	s.DirectoryId = &v
13246	return s
13247}
13248
13249// SetLdifContent sets the LdifContent field's value.
13250func (s *StartSchemaExtensionInput) SetLdifContent(v string) *StartSchemaExtensionInput {
13251	s.LdifContent = &v
13252	return s
13253}
13254
13255type StartSchemaExtensionOutput struct {
13256	_ struct{} `type:"structure"`
13257
13258	// The identifier of the schema extension that will be applied.
13259	SchemaExtensionId *string `type:"string"`
13260}
13261
13262// String returns the string representation
13263func (s StartSchemaExtensionOutput) String() string {
13264	return awsutil.Prettify(s)
13265}
13266
13267// GoString returns the string representation
13268func (s StartSchemaExtensionOutput) GoString() string {
13269	return s.String()
13270}
13271
13272// SetSchemaExtensionId sets the SchemaExtensionId field's value.
13273func (s *StartSchemaExtensionOutput) SetSchemaExtensionId(v string) *StartSchemaExtensionOutput {
13274	s.SchemaExtensionId = &v
13275	return s
13276}
13277
13278// Metadata assigned to a directory consisting of a key-value pair.
13279type Tag struct {
13280	_ struct{} `type:"structure"`
13281
13282	// Required name of the tag. The string value can be Unicode characters and
13283	// cannot be prefixed with "aws:". The string can contain only the set of Unicode
13284	// letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
13285	//
13286	// Key is a required field
13287	Key *string `min:"1" type:"string" required:"true"`
13288
13289	// The optional value of the tag. The string value can be Unicode characters.
13290	// The string can contain only the set of Unicode letters, digits, white-space,
13291	// '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
13292	//
13293	// Value is a required field
13294	Value *string `type:"string" required:"true"`
13295}
13296
13297// String returns the string representation
13298func (s Tag) String() string {
13299	return awsutil.Prettify(s)
13300}
13301
13302// GoString returns the string representation
13303func (s Tag) GoString() string {
13304	return s.String()
13305}
13306
13307// Validate inspects the fields of the type to determine if they are valid.
13308func (s *Tag) Validate() error {
13309	invalidParams := request.ErrInvalidParams{Context: "Tag"}
13310	if s.Key == nil {
13311		invalidParams.Add(request.NewErrParamRequired("Key"))
13312	}
13313	if s.Key != nil && len(*s.Key) < 1 {
13314		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
13315	}
13316	if s.Value == nil {
13317		invalidParams.Add(request.NewErrParamRequired("Value"))
13318	}
13319
13320	if invalidParams.Len() > 0 {
13321		return invalidParams
13322	}
13323	return nil
13324}
13325
13326// SetKey sets the Key field's value.
13327func (s *Tag) SetKey(v string) *Tag {
13328	s.Key = &v
13329	return s
13330}
13331
13332// SetValue sets the Value field's value.
13333func (s *Tag) SetValue(v string) *Tag {
13334	s.Value = &v
13335	return s
13336}
13337
13338// The maximum allowed number of tags was exceeded.
13339type TagLimitExceededException struct {
13340	_            struct{}                  `type:"structure"`
13341	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13342
13343	// The descriptive message for the exception.
13344	Message_ *string `locationName:"Message" type:"string"`
13345
13346	// The AWS request identifier.
13347	RequestId *string `type:"string"`
13348}
13349
13350// String returns the string representation
13351func (s TagLimitExceededException) String() string {
13352	return awsutil.Prettify(s)
13353}
13354
13355// GoString returns the string representation
13356func (s TagLimitExceededException) GoString() string {
13357	return s.String()
13358}
13359
13360func newErrorTagLimitExceededException(v protocol.ResponseMetadata) error {
13361	return &TagLimitExceededException{
13362		RespMetadata: v,
13363	}
13364}
13365
13366// Code returns the exception type name.
13367func (s *TagLimitExceededException) Code() string {
13368	return "TagLimitExceededException"
13369}
13370
13371// Message returns the exception's message.
13372func (s *TagLimitExceededException) Message() string {
13373	if s.Message_ != nil {
13374		return *s.Message_
13375	}
13376	return ""
13377}
13378
13379// OrigErr always returns nil, satisfies awserr.Error interface.
13380func (s *TagLimitExceededException) OrigErr() error {
13381	return nil
13382}
13383
13384func (s *TagLimitExceededException) Error() string {
13385	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13386}
13387
13388// Status code returns the HTTP status code for the request's response error.
13389func (s *TagLimitExceededException) StatusCode() int {
13390	return s.RespMetadata.StatusCode
13391}
13392
13393// RequestID returns the service's response RequestID for request.
13394func (s *TagLimitExceededException) RequestID() string {
13395	return s.RespMetadata.RequestID
13396}
13397
13398// Describes a trust relationship between an AWS Managed Microsoft AD directory
13399// and an external domain.
13400type Trust struct {
13401	_ struct{} `type:"structure"`
13402
13403	// The date and time that the trust relationship was created.
13404	CreatedDateTime *time.Time `type:"timestamp"`
13405
13406	// The Directory ID of the AWS directory involved in the trust relationship.
13407	DirectoryId *string `type:"string"`
13408
13409	// The date and time that the trust relationship was last updated.
13410	LastUpdatedDateTime *time.Time `type:"timestamp"`
13411
13412	// The Fully Qualified Domain Name (FQDN) of the external domain involved in
13413	// the trust relationship.
13414	RemoteDomainName *string `type:"string"`
13415
13416	// Current state of selective authentication for the trust.
13417	SelectiveAuth *string `type:"string" enum:"SelectiveAuth"`
13418
13419	// The date and time that the TrustState was last updated.
13420	StateLastUpdatedDateTime *time.Time `type:"timestamp"`
13421
13422	// The trust relationship direction.
13423	TrustDirection *string `type:"string" enum:"TrustDirection"`
13424
13425	// The unique ID of the trust relationship.
13426	TrustId *string `type:"string"`
13427
13428	// The trust relationship state.
13429	TrustState *string `type:"string" enum:"TrustState"`
13430
13431	// The reason for the TrustState.
13432	TrustStateReason *string `type:"string"`
13433
13434	// The trust relationship type. Forest is the default.
13435	TrustType *string `type:"string" enum:"TrustType"`
13436}
13437
13438// String returns the string representation
13439func (s Trust) String() string {
13440	return awsutil.Prettify(s)
13441}
13442
13443// GoString returns the string representation
13444func (s Trust) GoString() string {
13445	return s.String()
13446}
13447
13448// SetCreatedDateTime sets the CreatedDateTime field's value.
13449func (s *Trust) SetCreatedDateTime(v time.Time) *Trust {
13450	s.CreatedDateTime = &v
13451	return s
13452}
13453
13454// SetDirectoryId sets the DirectoryId field's value.
13455func (s *Trust) SetDirectoryId(v string) *Trust {
13456	s.DirectoryId = &v
13457	return s
13458}
13459
13460// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
13461func (s *Trust) SetLastUpdatedDateTime(v time.Time) *Trust {
13462	s.LastUpdatedDateTime = &v
13463	return s
13464}
13465
13466// SetRemoteDomainName sets the RemoteDomainName field's value.
13467func (s *Trust) SetRemoteDomainName(v string) *Trust {
13468	s.RemoteDomainName = &v
13469	return s
13470}
13471
13472// SetSelectiveAuth sets the SelectiveAuth field's value.
13473func (s *Trust) SetSelectiveAuth(v string) *Trust {
13474	s.SelectiveAuth = &v
13475	return s
13476}
13477
13478// SetStateLastUpdatedDateTime sets the StateLastUpdatedDateTime field's value.
13479func (s *Trust) SetStateLastUpdatedDateTime(v time.Time) *Trust {
13480	s.StateLastUpdatedDateTime = &v
13481	return s
13482}
13483
13484// SetTrustDirection sets the TrustDirection field's value.
13485func (s *Trust) SetTrustDirection(v string) *Trust {
13486	s.TrustDirection = &v
13487	return s
13488}
13489
13490// SetTrustId sets the TrustId field's value.
13491func (s *Trust) SetTrustId(v string) *Trust {
13492	s.TrustId = &v
13493	return s
13494}
13495
13496// SetTrustState sets the TrustState field's value.
13497func (s *Trust) SetTrustState(v string) *Trust {
13498	s.TrustState = &v
13499	return s
13500}
13501
13502// SetTrustStateReason sets the TrustStateReason field's value.
13503func (s *Trust) SetTrustStateReason(v string) *Trust {
13504	s.TrustStateReason = &v
13505	return s
13506}
13507
13508// SetTrustType sets the TrustType field's value.
13509func (s *Trust) SetTrustType(v string) *Trust {
13510	s.TrustType = &v
13511	return s
13512}
13513
13514type UnshareDirectoryInput struct {
13515	_ struct{} `type:"structure"`
13516
13517	// The identifier of the AWS Managed Microsoft AD directory that you want to
13518	// stop sharing.
13519	//
13520	// DirectoryId is a required field
13521	DirectoryId *string `type:"string" required:"true"`
13522
13523	// Identifier for the directory consumer account with whom the directory has
13524	// to be unshared.
13525	//
13526	// UnshareTarget is a required field
13527	UnshareTarget *UnshareTarget `type:"structure" required:"true"`
13528}
13529
13530// String returns the string representation
13531func (s UnshareDirectoryInput) String() string {
13532	return awsutil.Prettify(s)
13533}
13534
13535// GoString returns the string representation
13536func (s UnshareDirectoryInput) GoString() string {
13537	return s.String()
13538}
13539
13540// Validate inspects the fields of the type to determine if they are valid.
13541func (s *UnshareDirectoryInput) Validate() error {
13542	invalidParams := request.ErrInvalidParams{Context: "UnshareDirectoryInput"}
13543	if s.DirectoryId == nil {
13544		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
13545	}
13546	if s.UnshareTarget == nil {
13547		invalidParams.Add(request.NewErrParamRequired("UnshareTarget"))
13548	}
13549	if s.UnshareTarget != nil {
13550		if err := s.UnshareTarget.Validate(); err != nil {
13551			invalidParams.AddNested("UnshareTarget", err.(request.ErrInvalidParams))
13552		}
13553	}
13554
13555	if invalidParams.Len() > 0 {
13556		return invalidParams
13557	}
13558	return nil
13559}
13560
13561// SetDirectoryId sets the DirectoryId field's value.
13562func (s *UnshareDirectoryInput) SetDirectoryId(v string) *UnshareDirectoryInput {
13563	s.DirectoryId = &v
13564	return s
13565}
13566
13567// SetUnshareTarget sets the UnshareTarget field's value.
13568func (s *UnshareDirectoryInput) SetUnshareTarget(v *UnshareTarget) *UnshareDirectoryInput {
13569	s.UnshareTarget = v
13570	return s
13571}
13572
13573type UnshareDirectoryOutput struct {
13574	_ struct{} `type:"structure"`
13575
13576	// Identifier of the directory stored in the directory consumer account that
13577	// is to be unshared from the specified directory (DirectoryId).
13578	SharedDirectoryId *string `type:"string"`
13579}
13580
13581// String returns the string representation
13582func (s UnshareDirectoryOutput) String() string {
13583	return awsutil.Prettify(s)
13584}
13585
13586// GoString returns the string representation
13587func (s UnshareDirectoryOutput) GoString() string {
13588	return s.String()
13589}
13590
13591// SetSharedDirectoryId sets the SharedDirectoryId field's value.
13592func (s *UnshareDirectoryOutput) SetSharedDirectoryId(v string) *UnshareDirectoryOutput {
13593	s.SharedDirectoryId = &v
13594	return s
13595}
13596
13597// Identifier that contains details about the directory consumer account with
13598// whom the directory is being unshared.
13599type UnshareTarget struct {
13600	_ struct{} `type:"structure"`
13601
13602	// Identifier of the directory consumer account.
13603	//
13604	// Id is a required field
13605	Id *string `min:"1" type:"string" required:"true"`
13606
13607	// Type of identifier to be used in the Id field.
13608	//
13609	// Type is a required field
13610	Type *string `type:"string" required:"true" enum:"TargetType"`
13611}
13612
13613// String returns the string representation
13614func (s UnshareTarget) String() string {
13615	return awsutil.Prettify(s)
13616}
13617
13618// GoString returns the string representation
13619func (s UnshareTarget) GoString() string {
13620	return s.String()
13621}
13622
13623// Validate inspects the fields of the type to determine if they are valid.
13624func (s *UnshareTarget) Validate() error {
13625	invalidParams := request.ErrInvalidParams{Context: "UnshareTarget"}
13626	if s.Id == nil {
13627		invalidParams.Add(request.NewErrParamRequired("Id"))
13628	}
13629	if s.Id != nil && len(*s.Id) < 1 {
13630		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
13631	}
13632	if s.Type == nil {
13633		invalidParams.Add(request.NewErrParamRequired("Type"))
13634	}
13635
13636	if invalidParams.Len() > 0 {
13637		return invalidParams
13638	}
13639	return nil
13640}
13641
13642// SetId sets the Id field's value.
13643func (s *UnshareTarget) SetId(v string) *UnshareTarget {
13644	s.Id = &v
13645	return s
13646}
13647
13648// SetType sets the Type field's value.
13649func (s *UnshareTarget) SetType(v string) *UnshareTarget {
13650	s.Type = &v
13651	return s
13652}
13653
13654// The operation is not supported.
13655type UnsupportedOperationException struct {
13656	_            struct{}                  `type:"structure"`
13657	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13658
13659	// The descriptive message for the exception.
13660	Message_ *string `locationName:"Message" type:"string"`
13661
13662	// The AWS request identifier.
13663	RequestId *string `type:"string"`
13664}
13665
13666// String returns the string representation
13667func (s UnsupportedOperationException) String() string {
13668	return awsutil.Prettify(s)
13669}
13670
13671// GoString returns the string representation
13672func (s UnsupportedOperationException) GoString() string {
13673	return s.String()
13674}
13675
13676func newErrorUnsupportedOperationException(v protocol.ResponseMetadata) error {
13677	return &UnsupportedOperationException{
13678		RespMetadata: v,
13679	}
13680}
13681
13682// Code returns the exception type name.
13683func (s *UnsupportedOperationException) Code() string {
13684	return "UnsupportedOperationException"
13685}
13686
13687// Message returns the exception's message.
13688func (s *UnsupportedOperationException) Message() string {
13689	if s.Message_ != nil {
13690		return *s.Message_
13691	}
13692	return ""
13693}
13694
13695// OrigErr always returns nil, satisfies awserr.Error interface.
13696func (s *UnsupportedOperationException) OrigErr() error {
13697	return nil
13698}
13699
13700func (s *UnsupportedOperationException) Error() string {
13701	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13702}
13703
13704// Status code returns the HTTP status code for the request's response error.
13705func (s *UnsupportedOperationException) StatusCode() int {
13706	return s.RespMetadata.StatusCode
13707}
13708
13709// RequestID returns the service's response RequestID for request.
13710func (s *UnsupportedOperationException) RequestID() string {
13711	return s.RespMetadata.RequestID
13712}
13713
13714// Updates a conditional forwarder.
13715type UpdateConditionalForwarderInput struct {
13716	_ struct{} `type:"structure"`
13717
13718	// The directory ID of the AWS directory for which to update the conditional
13719	// forwarder.
13720	//
13721	// DirectoryId is a required field
13722	DirectoryId *string `type:"string" required:"true"`
13723
13724	// The updated IP addresses of the remote DNS server associated with the conditional
13725	// forwarder.
13726	//
13727	// DnsIpAddrs is a required field
13728	DnsIpAddrs []*string `type:"list" required:"true"`
13729
13730	// The fully qualified domain name (FQDN) of the remote domain with which you
13731	// will set up a trust relationship.
13732	//
13733	// RemoteDomainName is a required field
13734	RemoteDomainName *string `type:"string" required:"true"`
13735}
13736
13737// String returns the string representation
13738func (s UpdateConditionalForwarderInput) String() string {
13739	return awsutil.Prettify(s)
13740}
13741
13742// GoString returns the string representation
13743func (s UpdateConditionalForwarderInput) GoString() string {
13744	return s.String()
13745}
13746
13747// Validate inspects the fields of the type to determine if they are valid.
13748func (s *UpdateConditionalForwarderInput) Validate() error {
13749	invalidParams := request.ErrInvalidParams{Context: "UpdateConditionalForwarderInput"}
13750	if s.DirectoryId == nil {
13751		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
13752	}
13753	if s.DnsIpAddrs == nil {
13754		invalidParams.Add(request.NewErrParamRequired("DnsIpAddrs"))
13755	}
13756	if s.RemoteDomainName == nil {
13757		invalidParams.Add(request.NewErrParamRequired("RemoteDomainName"))
13758	}
13759
13760	if invalidParams.Len() > 0 {
13761		return invalidParams
13762	}
13763	return nil
13764}
13765
13766// SetDirectoryId sets the DirectoryId field's value.
13767func (s *UpdateConditionalForwarderInput) SetDirectoryId(v string) *UpdateConditionalForwarderInput {
13768	s.DirectoryId = &v
13769	return s
13770}
13771
13772// SetDnsIpAddrs sets the DnsIpAddrs field's value.
13773func (s *UpdateConditionalForwarderInput) SetDnsIpAddrs(v []*string) *UpdateConditionalForwarderInput {
13774	s.DnsIpAddrs = v
13775	return s
13776}
13777
13778// SetRemoteDomainName sets the RemoteDomainName field's value.
13779func (s *UpdateConditionalForwarderInput) SetRemoteDomainName(v string) *UpdateConditionalForwarderInput {
13780	s.RemoteDomainName = &v
13781	return s
13782}
13783
13784// The result of an UpdateConditionalForwarder request.
13785type UpdateConditionalForwarderOutput struct {
13786	_ struct{} `type:"structure"`
13787}
13788
13789// String returns the string representation
13790func (s UpdateConditionalForwarderOutput) String() string {
13791	return awsutil.Prettify(s)
13792}
13793
13794// GoString returns the string representation
13795func (s UpdateConditionalForwarderOutput) GoString() string {
13796	return s.String()
13797}
13798
13799type UpdateNumberOfDomainControllersInput struct {
13800	_ struct{} `type:"structure"`
13801
13802	// The number of domain controllers desired in the directory.
13803	//
13804	// DesiredNumber is a required field
13805	DesiredNumber *int64 `min:"2" type:"integer" required:"true"`
13806
13807	// Identifier of the directory to which the domain controllers will be added
13808	// or removed.
13809	//
13810	// DirectoryId is a required field
13811	DirectoryId *string `type:"string" required:"true"`
13812}
13813
13814// String returns the string representation
13815func (s UpdateNumberOfDomainControllersInput) String() string {
13816	return awsutil.Prettify(s)
13817}
13818
13819// GoString returns the string representation
13820func (s UpdateNumberOfDomainControllersInput) GoString() string {
13821	return s.String()
13822}
13823
13824// Validate inspects the fields of the type to determine if they are valid.
13825func (s *UpdateNumberOfDomainControllersInput) Validate() error {
13826	invalidParams := request.ErrInvalidParams{Context: "UpdateNumberOfDomainControllersInput"}
13827	if s.DesiredNumber == nil {
13828		invalidParams.Add(request.NewErrParamRequired("DesiredNumber"))
13829	}
13830	if s.DesiredNumber != nil && *s.DesiredNumber < 2 {
13831		invalidParams.Add(request.NewErrParamMinValue("DesiredNumber", 2))
13832	}
13833	if s.DirectoryId == nil {
13834		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
13835	}
13836
13837	if invalidParams.Len() > 0 {
13838		return invalidParams
13839	}
13840	return nil
13841}
13842
13843// SetDesiredNumber sets the DesiredNumber field's value.
13844func (s *UpdateNumberOfDomainControllersInput) SetDesiredNumber(v int64) *UpdateNumberOfDomainControllersInput {
13845	s.DesiredNumber = &v
13846	return s
13847}
13848
13849// SetDirectoryId sets the DirectoryId field's value.
13850func (s *UpdateNumberOfDomainControllersInput) SetDirectoryId(v string) *UpdateNumberOfDomainControllersInput {
13851	s.DirectoryId = &v
13852	return s
13853}
13854
13855type UpdateNumberOfDomainControllersOutput struct {
13856	_ struct{} `type:"structure"`
13857}
13858
13859// String returns the string representation
13860func (s UpdateNumberOfDomainControllersOutput) String() string {
13861	return awsutil.Prettify(s)
13862}
13863
13864// GoString returns the string representation
13865func (s UpdateNumberOfDomainControllersOutput) GoString() string {
13866	return s.String()
13867}
13868
13869// Contains the inputs for the UpdateRadius operation.
13870type UpdateRadiusInput struct {
13871	_ struct{} `type:"structure"`
13872
13873	// The identifier of the directory for which to update the RADIUS server information.
13874	//
13875	// DirectoryId is a required field
13876	DirectoryId *string `type:"string" required:"true"`
13877
13878	// A RadiusSettings object that contains information about the RADIUS server.
13879	//
13880	// RadiusSettings is a required field
13881	RadiusSettings *RadiusSettings `type:"structure" required:"true"`
13882}
13883
13884// String returns the string representation
13885func (s UpdateRadiusInput) String() string {
13886	return awsutil.Prettify(s)
13887}
13888
13889// GoString returns the string representation
13890func (s UpdateRadiusInput) GoString() string {
13891	return s.String()
13892}
13893
13894// Validate inspects the fields of the type to determine if they are valid.
13895func (s *UpdateRadiusInput) Validate() error {
13896	invalidParams := request.ErrInvalidParams{Context: "UpdateRadiusInput"}
13897	if s.DirectoryId == nil {
13898		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
13899	}
13900	if s.RadiusSettings == nil {
13901		invalidParams.Add(request.NewErrParamRequired("RadiusSettings"))
13902	}
13903	if s.RadiusSettings != nil {
13904		if err := s.RadiusSettings.Validate(); err != nil {
13905			invalidParams.AddNested("RadiusSettings", err.(request.ErrInvalidParams))
13906		}
13907	}
13908
13909	if invalidParams.Len() > 0 {
13910		return invalidParams
13911	}
13912	return nil
13913}
13914
13915// SetDirectoryId sets the DirectoryId field's value.
13916func (s *UpdateRadiusInput) SetDirectoryId(v string) *UpdateRadiusInput {
13917	s.DirectoryId = &v
13918	return s
13919}
13920
13921// SetRadiusSettings sets the RadiusSettings field's value.
13922func (s *UpdateRadiusInput) SetRadiusSettings(v *RadiusSettings) *UpdateRadiusInput {
13923	s.RadiusSettings = v
13924	return s
13925}
13926
13927// Contains the results of the UpdateRadius operation.
13928type UpdateRadiusOutput struct {
13929	_ struct{} `type:"structure"`
13930}
13931
13932// String returns the string representation
13933func (s UpdateRadiusOutput) String() string {
13934	return awsutil.Prettify(s)
13935}
13936
13937// GoString returns the string representation
13938func (s UpdateRadiusOutput) GoString() string {
13939	return s.String()
13940}
13941
13942type UpdateTrustInput struct {
13943	_ struct{} `type:"structure"`
13944
13945	// Updates selective authentication for the trust.
13946	SelectiveAuth *string `type:"string" enum:"SelectiveAuth"`
13947
13948	// Identifier of the trust relationship.
13949	//
13950	// TrustId is a required field
13951	TrustId *string `type:"string" required:"true"`
13952}
13953
13954// String returns the string representation
13955func (s UpdateTrustInput) String() string {
13956	return awsutil.Prettify(s)
13957}
13958
13959// GoString returns the string representation
13960func (s UpdateTrustInput) GoString() string {
13961	return s.String()
13962}
13963
13964// Validate inspects the fields of the type to determine if they are valid.
13965func (s *UpdateTrustInput) Validate() error {
13966	invalidParams := request.ErrInvalidParams{Context: "UpdateTrustInput"}
13967	if s.TrustId == nil {
13968		invalidParams.Add(request.NewErrParamRequired("TrustId"))
13969	}
13970
13971	if invalidParams.Len() > 0 {
13972		return invalidParams
13973	}
13974	return nil
13975}
13976
13977// SetSelectiveAuth sets the SelectiveAuth field's value.
13978func (s *UpdateTrustInput) SetSelectiveAuth(v string) *UpdateTrustInput {
13979	s.SelectiveAuth = &v
13980	return s
13981}
13982
13983// SetTrustId sets the TrustId field's value.
13984func (s *UpdateTrustInput) SetTrustId(v string) *UpdateTrustInput {
13985	s.TrustId = &v
13986	return s
13987}
13988
13989type UpdateTrustOutput struct {
13990	_ struct{} `type:"structure"`
13991
13992	// The AWS request identifier.
13993	RequestId *string `type:"string"`
13994
13995	// Identifier of the trust relationship.
13996	TrustId *string `type:"string"`
13997}
13998
13999// String returns the string representation
14000func (s UpdateTrustOutput) String() string {
14001	return awsutil.Prettify(s)
14002}
14003
14004// GoString returns the string representation
14005func (s UpdateTrustOutput) GoString() string {
14006	return s.String()
14007}
14008
14009// SetRequestId sets the RequestId field's value.
14010func (s *UpdateTrustOutput) SetRequestId(v string) *UpdateTrustOutput {
14011	s.RequestId = &v
14012	return s
14013}
14014
14015// SetTrustId sets the TrustId field's value.
14016func (s *UpdateTrustOutput) SetTrustId(v string) *UpdateTrustOutput {
14017	s.TrustId = &v
14018	return s
14019}
14020
14021// The user provided a username that does not exist in your directory.
14022type UserDoesNotExistException struct {
14023	_            struct{}                  `type:"structure"`
14024	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14025
14026	// The descriptive message for the exception.
14027	Message_ *string `locationName:"Message" type:"string"`
14028
14029	// The AWS request identifier.
14030	RequestId *string `type:"string"`
14031}
14032
14033// String returns the string representation
14034func (s UserDoesNotExistException) String() string {
14035	return awsutil.Prettify(s)
14036}
14037
14038// GoString returns the string representation
14039func (s UserDoesNotExistException) GoString() string {
14040	return s.String()
14041}
14042
14043func newErrorUserDoesNotExistException(v protocol.ResponseMetadata) error {
14044	return &UserDoesNotExistException{
14045		RespMetadata: v,
14046	}
14047}
14048
14049// Code returns the exception type name.
14050func (s *UserDoesNotExistException) Code() string {
14051	return "UserDoesNotExistException"
14052}
14053
14054// Message returns the exception's message.
14055func (s *UserDoesNotExistException) Message() string {
14056	if s.Message_ != nil {
14057		return *s.Message_
14058	}
14059	return ""
14060}
14061
14062// OrigErr always returns nil, satisfies awserr.Error interface.
14063func (s *UserDoesNotExistException) OrigErr() error {
14064	return nil
14065}
14066
14067func (s *UserDoesNotExistException) Error() string {
14068	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
14069}
14070
14071// Status code returns the HTTP status code for the request's response error.
14072func (s *UserDoesNotExistException) StatusCode() int {
14073	return s.RespMetadata.StatusCode
14074}
14075
14076// RequestID returns the service's response RequestID for request.
14077func (s *UserDoesNotExistException) RequestID() string {
14078	return s.RespMetadata.RequestID
14079}
14080
14081// Initiates the verification of an existing trust relationship between an AWS
14082// Managed Microsoft AD directory and an external domain.
14083type VerifyTrustInput struct {
14084	_ struct{} `type:"structure"`
14085
14086	// The unique Trust ID of the trust relationship to verify.
14087	//
14088	// TrustId is a required field
14089	TrustId *string `type:"string" required:"true"`
14090}
14091
14092// String returns the string representation
14093func (s VerifyTrustInput) String() string {
14094	return awsutil.Prettify(s)
14095}
14096
14097// GoString returns the string representation
14098func (s VerifyTrustInput) GoString() string {
14099	return s.String()
14100}
14101
14102// Validate inspects the fields of the type to determine if they are valid.
14103func (s *VerifyTrustInput) Validate() error {
14104	invalidParams := request.ErrInvalidParams{Context: "VerifyTrustInput"}
14105	if s.TrustId == nil {
14106		invalidParams.Add(request.NewErrParamRequired("TrustId"))
14107	}
14108
14109	if invalidParams.Len() > 0 {
14110		return invalidParams
14111	}
14112	return nil
14113}
14114
14115// SetTrustId sets the TrustId field's value.
14116func (s *VerifyTrustInput) SetTrustId(v string) *VerifyTrustInput {
14117	s.TrustId = &v
14118	return s
14119}
14120
14121// Result of a VerifyTrust request.
14122type VerifyTrustOutput struct {
14123	_ struct{} `type:"structure"`
14124
14125	// The unique Trust ID of the trust relationship that was verified.
14126	TrustId *string `type:"string"`
14127}
14128
14129// String returns the string representation
14130func (s VerifyTrustOutput) String() string {
14131	return awsutil.Prettify(s)
14132}
14133
14134// GoString returns the string representation
14135func (s VerifyTrustOutput) GoString() string {
14136	return s.String()
14137}
14138
14139// SetTrustId sets the TrustId field's value.
14140func (s *VerifyTrustOutput) SetTrustId(v string) *VerifyTrustOutput {
14141	s.TrustId = &v
14142	return s
14143}
14144
14145const (
14146	// CertificateStateRegistering is a CertificateState enum value
14147	CertificateStateRegistering = "Registering"
14148
14149	// CertificateStateRegistered is a CertificateState enum value
14150	CertificateStateRegistered = "Registered"
14151
14152	// CertificateStateRegisterFailed is a CertificateState enum value
14153	CertificateStateRegisterFailed = "RegisterFailed"
14154
14155	// CertificateStateDeregistering is a CertificateState enum value
14156	CertificateStateDeregistering = "Deregistering"
14157
14158	// CertificateStateDeregistered is a CertificateState enum value
14159	CertificateStateDeregistered = "Deregistered"
14160
14161	// CertificateStateDeregisterFailed is a CertificateState enum value
14162	CertificateStateDeregisterFailed = "DeregisterFailed"
14163)
14164
14165// CertificateState_Values returns all elements of the CertificateState enum
14166func CertificateState_Values() []string {
14167	return []string{
14168		CertificateStateRegistering,
14169		CertificateStateRegistered,
14170		CertificateStateRegisterFailed,
14171		CertificateStateDeregistering,
14172		CertificateStateDeregistered,
14173		CertificateStateDeregisterFailed,
14174	}
14175}
14176
14177const (
14178	// DirectoryEditionEnterprise is a DirectoryEdition enum value
14179	DirectoryEditionEnterprise = "Enterprise"
14180
14181	// DirectoryEditionStandard is a DirectoryEdition enum value
14182	DirectoryEditionStandard = "Standard"
14183)
14184
14185// DirectoryEdition_Values returns all elements of the DirectoryEdition enum
14186func DirectoryEdition_Values() []string {
14187	return []string{
14188		DirectoryEditionEnterprise,
14189		DirectoryEditionStandard,
14190	}
14191}
14192
14193const (
14194	// DirectorySizeSmall is a DirectorySize enum value
14195	DirectorySizeSmall = "Small"
14196
14197	// DirectorySizeLarge is a DirectorySize enum value
14198	DirectorySizeLarge = "Large"
14199)
14200
14201// DirectorySize_Values returns all elements of the DirectorySize enum
14202func DirectorySize_Values() []string {
14203	return []string{
14204		DirectorySizeSmall,
14205		DirectorySizeLarge,
14206	}
14207}
14208
14209const (
14210	// DirectoryStageRequested is a DirectoryStage enum value
14211	DirectoryStageRequested = "Requested"
14212
14213	// DirectoryStageCreating is a DirectoryStage enum value
14214	DirectoryStageCreating = "Creating"
14215
14216	// DirectoryStageCreated is a DirectoryStage enum value
14217	DirectoryStageCreated = "Created"
14218
14219	// DirectoryStageActive is a DirectoryStage enum value
14220	DirectoryStageActive = "Active"
14221
14222	// DirectoryStageInoperable is a DirectoryStage enum value
14223	DirectoryStageInoperable = "Inoperable"
14224
14225	// DirectoryStageImpaired is a DirectoryStage enum value
14226	DirectoryStageImpaired = "Impaired"
14227
14228	// DirectoryStageRestoring is a DirectoryStage enum value
14229	DirectoryStageRestoring = "Restoring"
14230
14231	// DirectoryStageRestoreFailed is a DirectoryStage enum value
14232	DirectoryStageRestoreFailed = "RestoreFailed"
14233
14234	// DirectoryStageDeleting is a DirectoryStage enum value
14235	DirectoryStageDeleting = "Deleting"
14236
14237	// DirectoryStageDeleted is a DirectoryStage enum value
14238	DirectoryStageDeleted = "Deleted"
14239
14240	// DirectoryStageFailed is a DirectoryStage enum value
14241	DirectoryStageFailed = "Failed"
14242)
14243
14244// DirectoryStage_Values returns all elements of the DirectoryStage enum
14245func DirectoryStage_Values() []string {
14246	return []string{
14247		DirectoryStageRequested,
14248		DirectoryStageCreating,
14249		DirectoryStageCreated,
14250		DirectoryStageActive,
14251		DirectoryStageInoperable,
14252		DirectoryStageImpaired,
14253		DirectoryStageRestoring,
14254		DirectoryStageRestoreFailed,
14255		DirectoryStageDeleting,
14256		DirectoryStageDeleted,
14257		DirectoryStageFailed,
14258	}
14259}
14260
14261const (
14262	// DirectoryTypeSimpleAd is a DirectoryType enum value
14263	DirectoryTypeSimpleAd = "SimpleAD"
14264
14265	// DirectoryTypeAdconnector is a DirectoryType enum value
14266	DirectoryTypeAdconnector = "ADConnector"
14267
14268	// DirectoryTypeMicrosoftAd is a DirectoryType enum value
14269	DirectoryTypeMicrosoftAd = "MicrosoftAD"
14270
14271	// DirectoryTypeSharedMicrosoftAd is a DirectoryType enum value
14272	DirectoryTypeSharedMicrosoftAd = "SharedMicrosoftAD"
14273)
14274
14275// DirectoryType_Values returns all elements of the DirectoryType enum
14276func DirectoryType_Values() []string {
14277	return []string{
14278		DirectoryTypeSimpleAd,
14279		DirectoryTypeAdconnector,
14280		DirectoryTypeMicrosoftAd,
14281		DirectoryTypeSharedMicrosoftAd,
14282	}
14283}
14284
14285const (
14286	// DomainControllerStatusCreating is a DomainControllerStatus enum value
14287	DomainControllerStatusCreating = "Creating"
14288
14289	// DomainControllerStatusActive is a DomainControllerStatus enum value
14290	DomainControllerStatusActive = "Active"
14291
14292	// DomainControllerStatusImpaired is a DomainControllerStatus enum value
14293	DomainControllerStatusImpaired = "Impaired"
14294
14295	// DomainControllerStatusRestoring is a DomainControllerStatus enum value
14296	DomainControllerStatusRestoring = "Restoring"
14297
14298	// DomainControllerStatusDeleting is a DomainControllerStatus enum value
14299	DomainControllerStatusDeleting = "Deleting"
14300
14301	// DomainControllerStatusDeleted is a DomainControllerStatus enum value
14302	DomainControllerStatusDeleted = "Deleted"
14303
14304	// DomainControllerStatusFailed is a DomainControllerStatus enum value
14305	DomainControllerStatusFailed = "Failed"
14306)
14307
14308// DomainControllerStatus_Values returns all elements of the DomainControllerStatus enum
14309func DomainControllerStatus_Values() []string {
14310	return []string{
14311		DomainControllerStatusCreating,
14312		DomainControllerStatusActive,
14313		DomainControllerStatusImpaired,
14314		DomainControllerStatusRestoring,
14315		DomainControllerStatusDeleting,
14316		DomainControllerStatusDeleted,
14317		DomainControllerStatusFailed,
14318	}
14319}
14320
14321const (
14322	// IpRouteStatusMsgAdding is a IpRouteStatusMsg enum value
14323	IpRouteStatusMsgAdding = "Adding"
14324
14325	// IpRouteStatusMsgAdded is a IpRouteStatusMsg enum value
14326	IpRouteStatusMsgAdded = "Added"
14327
14328	// IpRouteStatusMsgRemoving is a IpRouteStatusMsg enum value
14329	IpRouteStatusMsgRemoving = "Removing"
14330
14331	// IpRouteStatusMsgRemoved is a IpRouteStatusMsg enum value
14332	IpRouteStatusMsgRemoved = "Removed"
14333
14334	// IpRouteStatusMsgAddFailed is a IpRouteStatusMsg enum value
14335	IpRouteStatusMsgAddFailed = "AddFailed"
14336
14337	// IpRouteStatusMsgRemoveFailed is a IpRouteStatusMsg enum value
14338	IpRouteStatusMsgRemoveFailed = "RemoveFailed"
14339)
14340
14341// IpRouteStatusMsg_Values returns all elements of the IpRouteStatusMsg enum
14342func IpRouteStatusMsg_Values() []string {
14343	return []string{
14344		IpRouteStatusMsgAdding,
14345		IpRouteStatusMsgAdded,
14346		IpRouteStatusMsgRemoving,
14347		IpRouteStatusMsgRemoved,
14348		IpRouteStatusMsgAddFailed,
14349		IpRouteStatusMsgRemoveFailed,
14350	}
14351}
14352
14353const (
14354	// LDAPSStatusEnabling is a LDAPSStatus enum value
14355	LDAPSStatusEnabling = "Enabling"
14356
14357	// LDAPSStatusEnabled is a LDAPSStatus enum value
14358	LDAPSStatusEnabled = "Enabled"
14359
14360	// LDAPSStatusEnableFailed is a LDAPSStatus enum value
14361	LDAPSStatusEnableFailed = "EnableFailed"
14362
14363	// LDAPSStatusDisabled is a LDAPSStatus enum value
14364	LDAPSStatusDisabled = "Disabled"
14365)
14366
14367// LDAPSStatus_Values returns all elements of the LDAPSStatus enum
14368func LDAPSStatus_Values() []string {
14369	return []string{
14370		LDAPSStatusEnabling,
14371		LDAPSStatusEnabled,
14372		LDAPSStatusEnableFailed,
14373		LDAPSStatusDisabled,
14374	}
14375}
14376
14377const (
14378	// LDAPSTypeClient is a LDAPSType enum value
14379	LDAPSTypeClient = "Client"
14380)
14381
14382// LDAPSType_Values returns all elements of the LDAPSType enum
14383func LDAPSType_Values() []string {
14384	return []string{
14385		LDAPSTypeClient,
14386	}
14387}
14388
14389const (
14390	// RadiusAuthenticationProtocolPap is a RadiusAuthenticationProtocol enum value
14391	RadiusAuthenticationProtocolPap = "PAP"
14392
14393	// RadiusAuthenticationProtocolChap is a RadiusAuthenticationProtocol enum value
14394	RadiusAuthenticationProtocolChap = "CHAP"
14395
14396	// RadiusAuthenticationProtocolMsChapv1 is a RadiusAuthenticationProtocol enum value
14397	RadiusAuthenticationProtocolMsChapv1 = "MS-CHAPv1"
14398
14399	// RadiusAuthenticationProtocolMsChapv2 is a RadiusAuthenticationProtocol enum value
14400	RadiusAuthenticationProtocolMsChapv2 = "MS-CHAPv2"
14401)
14402
14403// RadiusAuthenticationProtocol_Values returns all elements of the RadiusAuthenticationProtocol enum
14404func RadiusAuthenticationProtocol_Values() []string {
14405	return []string{
14406		RadiusAuthenticationProtocolPap,
14407		RadiusAuthenticationProtocolChap,
14408		RadiusAuthenticationProtocolMsChapv1,
14409		RadiusAuthenticationProtocolMsChapv2,
14410	}
14411}
14412
14413const (
14414	// RadiusStatusCreating is a RadiusStatus enum value
14415	RadiusStatusCreating = "Creating"
14416
14417	// RadiusStatusCompleted is a RadiusStatus enum value
14418	RadiusStatusCompleted = "Completed"
14419
14420	// RadiusStatusFailed is a RadiusStatus enum value
14421	RadiusStatusFailed = "Failed"
14422)
14423
14424// RadiusStatus_Values returns all elements of the RadiusStatus enum
14425func RadiusStatus_Values() []string {
14426	return []string{
14427		RadiusStatusCreating,
14428		RadiusStatusCompleted,
14429		RadiusStatusFailed,
14430	}
14431}
14432
14433const (
14434	// ReplicationScopeDomain is a ReplicationScope enum value
14435	ReplicationScopeDomain = "Domain"
14436)
14437
14438// ReplicationScope_Values returns all elements of the ReplicationScope enum
14439func ReplicationScope_Values() []string {
14440	return []string{
14441		ReplicationScopeDomain,
14442	}
14443}
14444
14445const (
14446	// SchemaExtensionStatusInitializing is a SchemaExtensionStatus enum value
14447	SchemaExtensionStatusInitializing = "Initializing"
14448
14449	// SchemaExtensionStatusCreatingSnapshot is a SchemaExtensionStatus enum value
14450	SchemaExtensionStatusCreatingSnapshot = "CreatingSnapshot"
14451
14452	// SchemaExtensionStatusUpdatingSchema is a SchemaExtensionStatus enum value
14453	SchemaExtensionStatusUpdatingSchema = "UpdatingSchema"
14454
14455	// SchemaExtensionStatusReplicating is a SchemaExtensionStatus enum value
14456	SchemaExtensionStatusReplicating = "Replicating"
14457
14458	// SchemaExtensionStatusCancelInProgress is a SchemaExtensionStatus enum value
14459	SchemaExtensionStatusCancelInProgress = "CancelInProgress"
14460
14461	// SchemaExtensionStatusRollbackInProgress is a SchemaExtensionStatus enum value
14462	SchemaExtensionStatusRollbackInProgress = "RollbackInProgress"
14463
14464	// SchemaExtensionStatusCancelled is a SchemaExtensionStatus enum value
14465	SchemaExtensionStatusCancelled = "Cancelled"
14466
14467	// SchemaExtensionStatusFailed is a SchemaExtensionStatus enum value
14468	SchemaExtensionStatusFailed = "Failed"
14469
14470	// SchemaExtensionStatusCompleted is a SchemaExtensionStatus enum value
14471	SchemaExtensionStatusCompleted = "Completed"
14472)
14473
14474// SchemaExtensionStatus_Values returns all elements of the SchemaExtensionStatus enum
14475func SchemaExtensionStatus_Values() []string {
14476	return []string{
14477		SchemaExtensionStatusInitializing,
14478		SchemaExtensionStatusCreatingSnapshot,
14479		SchemaExtensionStatusUpdatingSchema,
14480		SchemaExtensionStatusReplicating,
14481		SchemaExtensionStatusCancelInProgress,
14482		SchemaExtensionStatusRollbackInProgress,
14483		SchemaExtensionStatusCancelled,
14484		SchemaExtensionStatusFailed,
14485		SchemaExtensionStatusCompleted,
14486	}
14487}
14488
14489const (
14490	// SelectiveAuthEnabled is a SelectiveAuth enum value
14491	SelectiveAuthEnabled = "Enabled"
14492
14493	// SelectiveAuthDisabled is a SelectiveAuth enum value
14494	SelectiveAuthDisabled = "Disabled"
14495)
14496
14497// SelectiveAuth_Values returns all elements of the SelectiveAuth enum
14498func SelectiveAuth_Values() []string {
14499	return []string{
14500		SelectiveAuthEnabled,
14501		SelectiveAuthDisabled,
14502	}
14503}
14504
14505const (
14506	// ShareMethodOrganizations is a ShareMethod enum value
14507	ShareMethodOrganizations = "ORGANIZATIONS"
14508
14509	// ShareMethodHandshake is a ShareMethod enum value
14510	ShareMethodHandshake = "HANDSHAKE"
14511)
14512
14513// ShareMethod_Values returns all elements of the ShareMethod enum
14514func ShareMethod_Values() []string {
14515	return []string{
14516		ShareMethodOrganizations,
14517		ShareMethodHandshake,
14518	}
14519}
14520
14521const (
14522	// ShareStatusShared is a ShareStatus enum value
14523	ShareStatusShared = "Shared"
14524
14525	// ShareStatusPendingAcceptance is a ShareStatus enum value
14526	ShareStatusPendingAcceptance = "PendingAcceptance"
14527
14528	// ShareStatusRejected is a ShareStatus enum value
14529	ShareStatusRejected = "Rejected"
14530
14531	// ShareStatusRejecting is a ShareStatus enum value
14532	ShareStatusRejecting = "Rejecting"
14533
14534	// ShareStatusRejectFailed is a ShareStatus enum value
14535	ShareStatusRejectFailed = "RejectFailed"
14536
14537	// ShareStatusSharing is a ShareStatus enum value
14538	ShareStatusSharing = "Sharing"
14539
14540	// ShareStatusShareFailed is a ShareStatus enum value
14541	ShareStatusShareFailed = "ShareFailed"
14542
14543	// ShareStatusDeleted is a ShareStatus enum value
14544	ShareStatusDeleted = "Deleted"
14545
14546	// ShareStatusDeleting is a ShareStatus enum value
14547	ShareStatusDeleting = "Deleting"
14548)
14549
14550// ShareStatus_Values returns all elements of the ShareStatus enum
14551func ShareStatus_Values() []string {
14552	return []string{
14553		ShareStatusShared,
14554		ShareStatusPendingAcceptance,
14555		ShareStatusRejected,
14556		ShareStatusRejecting,
14557		ShareStatusRejectFailed,
14558		ShareStatusSharing,
14559		ShareStatusShareFailed,
14560		ShareStatusDeleted,
14561		ShareStatusDeleting,
14562	}
14563}
14564
14565const (
14566	// SnapshotStatusCreating is a SnapshotStatus enum value
14567	SnapshotStatusCreating = "Creating"
14568
14569	// SnapshotStatusCompleted is a SnapshotStatus enum value
14570	SnapshotStatusCompleted = "Completed"
14571
14572	// SnapshotStatusFailed is a SnapshotStatus enum value
14573	SnapshotStatusFailed = "Failed"
14574)
14575
14576// SnapshotStatus_Values returns all elements of the SnapshotStatus enum
14577func SnapshotStatus_Values() []string {
14578	return []string{
14579		SnapshotStatusCreating,
14580		SnapshotStatusCompleted,
14581		SnapshotStatusFailed,
14582	}
14583}
14584
14585const (
14586	// SnapshotTypeAuto is a SnapshotType enum value
14587	SnapshotTypeAuto = "Auto"
14588
14589	// SnapshotTypeManual is a SnapshotType enum value
14590	SnapshotTypeManual = "Manual"
14591)
14592
14593// SnapshotType_Values returns all elements of the SnapshotType enum
14594func SnapshotType_Values() []string {
14595	return []string{
14596		SnapshotTypeAuto,
14597		SnapshotTypeManual,
14598	}
14599}
14600
14601const (
14602	// TargetTypeAccount is a TargetType enum value
14603	TargetTypeAccount = "ACCOUNT"
14604)
14605
14606// TargetType_Values returns all elements of the TargetType enum
14607func TargetType_Values() []string {
14608	return []string{
14609		TargetTypeAccount,
14610	}
14611}
14612
14613const (
14614	// TopicStatusRegistered is a TopicStatus enum value
14615	TopicStatusRegistered = "Registered"
14616
14617	// TopicStatusTopicnotfound is a TopicStatus enum value
14618	TopicStatusTopicnotfound = "Topic not found"
14619
14620	// TopicStatusFailed is a TopicStatus enum value
14621	TopicStatusFailed = "Failed"
14622
14623	// TopicStatusDeleted is a TopicStatus enum value
14624	TopicStatusDeleted = "Deleted"
14625)
14626
14627// TopicStatus_Values returns all elements of the TopicStatus enum
14628func TopicStatus_Values() []string {
14629	return []string{
14630		TopicStatusRegistered,
14631		TopicStatusTopicnotfound,
14632		TopicStatusFailed,
14633		TopicStatusDeleted,
14634	}
14635}
14636
14637const (
14638	// TrustDirectionOneWayOutgoing is a TrustDirection enum value
14639	TrustDirectionOneWayOutgoing = "One-Way: Outgoing"
14640
14641	// TrustDirectionOneWayIncoming is a TrustDirection enum value
14642	TrustDirectionOneWayIncoming = "One-Way: Incoming"
14643
14644	// TrustDirectionTwoWay is a TrustDirection enum value
14645	TrustDirectionTwoWay = "Two-Way"
14646)
14647
14648// TrustDirection_Values returns all elements of the TrustDirection enum
14649func TrustDirection_Values() []string {
14650	return []string{
14651		TrustDirectionOneWayOutgoing,
14652		TrustDirectionOneWayIncoming,
14653		TrustDirectionTwoWay,
14654	}
14655}
14656
14657const (
14658	// TrustStateCreating is a TrustState enum value
14659	TrustStateCreating = "Creating"
14660
14661	// TrustStateCreated is a TrustState enum value
14662	TrustStateCreated = "Created"
14663
14664	// TrustStateVerifying is a TrustState enum value
14665	TrustStateVerifying = "Verifying"
14666
14667	// TrustStateVerifyFailed is a TrustState enum value
14668	TrustStateVerifyFailed = "VerifyFailed"
14669
14670	// TrustStateVerified is a TrustState enum value
14671	TrustStateVerified = "Verified"
14672
14673	// TrustStateUpdating is a TrustState enum value
14674	TrustStateUpdating = "Updating"
14675
14676	// TrustStateUpdateFailed is a TrustState enum value
14677	TrustStateUpdateFailed = "UpdateFailed"
14678
14679	// TrustStateUpdated is a TrustState enum value
14680	TrustStateUpdated = "Updated"
14681
14682	// TrustStateDeleting is a TrustState enum value
14683	TrustStateDeleting = "Deleting"
14684
14685	// TrustStateDeleted is a TrustState enum value
14686	TrustStateDeleted = "Deleted"
14687
14688	// TrustStateFailed is a TrustState enum value
14689	TrustStateFailed = "Failed"
14690)
14691
14692// TrustState_Values returns all elements of the TrustState enum
14693func TrustState_Values() []string {
14694	return []string{
14695		TrustStateCreating,
14696		TrustStateCreated,
14697		TrustStateVerifying,
14698		TrustStateVerifyFailed,
14699		TrustStateVerified,
14700		TrustStateUpdating,
14701		TrustStateUpdateFailed,
14702		TrustStateUpdated,
14703		TrustStateDeleting,
14704		TrustStateDeleted,
14705		TrustStateFailed,
14706	}
14707}
14708
14709const (
14710	// TrustTypeForest is a TrustType enum value
14711	TrustTypeForest = "Forest"
14712
14713	// TrustTypeExternal is a TrustType enum value
14714	TrustTypeExternal = "External"
14715)
14716
14717// TrustType_Values returns all elements of the TrustType enum
14718func TrustType_Values() []string {
14719	return []string{
14720		TrustTypeForest,
14721		TrustTypeExternal,
14722	}
14723}
14724