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 Amazon Web Services
79//   account.
80//
81//   * ClientException
82//   A client exception has occurred.
83//
84//   * ServiceException
85//   An exception has occurred in Directory Service.
86//
87// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/AcceptSharedDirectory
88func (c *DirectoryService) AcceptSharedDirectory(input *AcceptSharedDirectoryInput) (*AcceptSharedDirectoryOutput, error) {
89	req, out := c.AcceptSharedDirectoryRequest(input)
90	return out, req.Send()
91}
92
93// AcceptSharedDirectoryWithContext is the same as AcceptSharedDirectory with the addition of
94// the ability to pass a context and additional request options.
95//
96// See AcceptSharedDirectory for details on how to use this API operation.
97//
98// The context must be non-nil and will be used for request cancellation. If
99// the context is nil a panic will occur. In the future the SDK may create
100// sub-contexts for http.Requests. See https://golang.org/pkg/context/
101// for more information on using Contexts.
102func (c *DirectoryService) AcceptSharedDirectoryWithContext(ctx aws.Context, input *AcceptSharedDirectoryInput, opts ...request.Option) (*AcceptSharedDirectoryOutput, error) {
103	req, out := c.AcceptSharedDirectoryRequest(input)
104	req.SetContext(ctx)
105	req.ApplyOptions(opts...)
106	return out, req.Send()
107}
108
109const opAddIpRoutes = "AddIpRoutes"
110
111// AddIpRoutesRequest generates a "aws/request.Request" representing the
112// client's request for the AddIpRoutes operation. The "output" return
113// value will be populated with the request's response once the request completes
114// successfully.
115//
116// Use "Send" method on the returned Request to send the API call to the service.
117// the "output" return value is not valid until after Send returns without error.
118//
119// See AddIpRoutes for more information on using the AddIpRoutes
120// API call, and error handling.
121//
122// This method is useful when you want to inject custom logic or configuration
123// into the SDK's request lifecycle. Such as custom headers, or retry logic.
124//
125//
126//    // Example sending a request using the AddIpRoutesRequest method.
127//    req, resp := client.AddIpRoutesRequest(params)
128//
129//    err := req.Send()
130//    if err == nil { // resp is now filled
131//        fmt.Println(resp)
132//    }
133//
134// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/AddIpRoutes
135func (c *DirectoryService) AddIpRoutesRequest(input *AddIpRoutesInput) (req *request.Request, output *AddIpRoutesOutput) {
136	op := &request.Operation{
137		Name:       opAddIpRoutes,
138		HTTPMethod: "POST",
139		HTTPPath:   "/",
140	}
141
142	if input == nil {
143		input = &AddIpRoutesInput{}
144	}
145
146	output = &AddIpRoutesOutput{}
147	req = c.newRequest(op, input, output)
148	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
149	return
150}
151
152// AddIpRoutes API operation for AWS Directory Service.
153//
154// If the DNS server for your self-managed domain uses a publicly addressable
155// IP address, you must add a CIDR address block to correctly route traffic
156// to and from your Microsoft AD on Amazon Web Services. AddIpRoutes adds this
157// address block. You can also use AddIpRoutes to facilitate routing traffic
158// that uses public IP ranges from your Microsoft AD on Amazon Web Services
159// to a peer VPC.
160//
161// Before you call AddIpRoutes, ensure that all of the required permissions
162// have been explicitly granted through a policy. For details about what permissions
163// are required to run the AddIpRoutes operation, see Directory Service API
164// Permissions: Actions, Resources, and Conditions Reference (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/UsingWithDS_IAM_ResourcePermissions.html).
165//
166// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
167// with awserr.Error's Code and Message methods to get detailed information about
168// the error.
169//
170// See the AWS API reference guide for AWS Directory Service's
171// API operation AddIpRoutes for usage and error information.
172//
173// Returned Error Types:
174//   * EntityDoesNotExistException
175//   The specified entity could not be found.
176//
177//   * EntityAlreadyExistsException
178//   The specified entity already exists.
179//
180//   * InvalidParameterException
181//   One or more parameters are not valid.
182//
183//   * DirectoryUnavailableException
184//   The specified directory is unavailable or could not be found.
185//
186//   * IpRouteLimitExceededException
187//   The maximum allowed number of IP addresses was exceeded. The default limit
188//   is 100 IP address blocks.
189//
190//   * ClientException
191//   A client exception has occurred.
192//
193//   * ServiceException
194//   An exception has occurred in Directory Service.
195//
196// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/AddIpRoutes
197func (c *DirectoryService) AddIpRoutes(input *AddIpRoutesInput) (*AddIpRoutesOutput, error) {
198	req, out := c.AddIpRoutesRequest(input)
199	return out, req.Send()
200}
201
202// AddIpRoutesWithContext is the same as AddIpRoutes with the addition of
203// the ability to pass a context and additional request options.
204//
205// See AddIpRoutes for details on how to use this API operation.
206//
207// The context must be non-nil and will be used for request cancellation. If
208// the context is nil a panic will occur. In the future the SDK may create
209// sub-contexts for http.Requests. See https://golang.org/pkg/context/
210// for more information on using Contexts.
211func (c *DirectoryService) AddIpRoutesWithContext(ctx aws.Context, input *AddIpRoutesInput, opts ...request.Option) (*AddIpRoutesOutput, error) {
212	req, out := c.AddIpRoutesRequest(input)
213	req.SetContext(ctx)
214	req.ApplyOptions(opts...)
215	return out, req.Send()
216}
217
218const opAddRegion = "AddRegion"
219
220// AddRegionRequest generates a "aws/request.Request" representing the
221// client's request for the AddRegion operation. The "output" return
222// value will be populated with the request's response once the request completes
223// successfully.
224//
225// Use "Send" method on the returned Request to send the API call to the service.
226// the "output" return value is not valid until after Send returns without error.
227//
228// See AddRegion for more information on using the AddRegion
229// API call, and error handling.
230//
231// This method is useful when you want to inject custom logic or configuration
232// into the SDK's request lifecycle. Such as custom headers, or retry logic.
233//
234//
235//    // Example sending a request using the AddRegionRequest method.
236//    req, resp := client.AddRegionRequest(params)
237//
238//    err := req.Send()
239//    if err == nil { // resp is now filled
240//        fmt.Println(resp)
241//    }
242//
243// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/AddRegion
244func (c *DirectoryService) AddRegionRequest(input *AddRegionInput) (req *request.Request, output *AddRegionOutput) {
245	op := &request.Operation{
246		Name:       opAddRegion,
247		HTTPMethod: "POST",
248		HTTPPath:   "/",
249	}
250
251	if input == nil {
252		input = &AddRegionInput{}
253	}
254
255	output = &AddRegionOutput{}
256	req = c.newRequest(op, input, output)
257	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
258	return
259}
260
261// AddRegion API operation for AWS Directory Service.
262//
263// Adds two domain controllers in the specified Region for the specified directory.
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 AddRegion for usage and error information.
271//
272// Returned Error Types:
273//   * DirectoryUnavailableException
274//   The specified directory is unavailable or could not be found.
275//
276//   * InvalidParameterException
277//   One or more parameters are not valid.
278//
279//   * EntityDoesNotExistException
280//   The specified entity could not be found.
281//
282//   * DirectoryAlreadyInRegionException
283//   The Region you specified is the same Region where the Managed Microsoft AD
284//   directory was created. Specify a different Region and try again.
285//
286//   * UnsupportedOperationException
287//   The operation is not supported.
288//
289//   * DirectoryDoesNotExistException
290//   The specified directory does not exist in the system.
291//
292//   * RegionLimitExceededException
293//   You have reached the limit for maximum number of simultaneous Region replications
294//   per directory.
295//
296//   * AccessDeniedException
297//   Client authentication is not available in this region at this time.
298//
299//   * ClientException
300//   A client exception has occurred.
301//
302//   * ServiceException
303//   An exception has occurred in Directory Service.
304//
305// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/AddRegion
306func (c *DirectoryService) AddRegion(input *AddRegionInput) (*AddRegionOutput, error) {
307	req, out := c.AddRegionRequest(input)
308	return out, req.Send()
309}
310
311// AddRegionWithContext is the same as AddRegion with the addition of
312// the ability to pass a context and additional request options.
313//
314// See AddRegion for details on how to use this API operation.
315//
316// The context must be non-nil and will be used for request cancellation. If
317// the context is nil a panic will occur. In the future the SDK may create
318// sub-contexts for http.Requests. See https://golang.org/pkg/context/
319// for more information on using Contexts.
320func (c *DirectoryService) AddRegionWithContext(ctx aws.Context, input *AddRegionInput, opts ...request.Option) (*AddRegionOutput, error) {
321	req, out := c.AddRegionRequest(input)
322	req.SetContext(ctx)
323	req.ApplyOptions(opts...)
324	return out, req.Send()
325}
326
327const opAddTagsToResource = "AddTagsToResource"
328
329// AddTagsToResourceRequest generates a "aws/request.Request" representing the
330// client's request for the AddTagsToResource operation. The "output" return
331// value will be populated with the request's response once the request completes
332// successfully.
333//
334// Use "Send" method on the returned Request to send the API call to the service.
335// the "output" return value is not valid until after Send returns without error.
336//
337// See AddTagsToResource for more information on using the AddTagsToResource
338// API call, and error handling.
339//
340// This method is useful when you want to inject custom logic or configuration
341// into the SDK's request lifecycle. Such as custom headers, or retry logic.
342//
343//
344//    // Example sending a request using the AddTagsToResourceRequest method.
345//    req, resp := client.AddTagsToResourceRequest(params)
346//
347//    err := req.Send()
348//    if err == nil { // resp is now filled
349//        fmt.Println(resp)
350//    }
351//
352// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/AddTagsToResource
353func (c *DirectoryService) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
354	op := &request.Operation{
355		Name:       opAddTagsToResource,
356		HTTPMethod: "POST",
357		HTTPPath:   "/",
358	}
359
360	if input == nil {
361		input = &AddTagsToResourceInput{}
362	}
363
364	output = &AddTagsToResourceOutput{}
365	req = c.newRequest(op, input, output)
366	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
367	return
368}
369
370// AddTagsToResource API operation for AWS Directory Service.
371//
372// Adds or overwrites one or more tags for the specified directory. Each directory
373// can have a maximum of 50 tags. Each tag consists of a key and optional value.
374// Tag keys must be unique to each resource.
375//
376// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
377// with awserr.Error's Code and Message methods to get detailed information about
378// the error.
379//
380// See the AWS API reference guide for AWS Directory Service's
381// API operation AddTagsToResource for usage and error information.
382//
383// Returned Error Types:
384//   * EntityDoesNotExistException
385//   The specified entity could not be found.
386//
387//   * InvalidParameterException
388//   One or more parameters are not valid.
389//
390//   * TagLimitExceededException
391//   The maximum allowed number of tags was exceeded.
392//
393//   * ClientException
394//   A client exception has occurred.
395//
396//   * ServiceException
397//   An exception has occurred in Directory Service.
398//
399// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/AddTagsToResource
400func (c *DirectoryService) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
401	req, out := c.AddTagsToResourceRequest(input)
402	return out, req.Send()
403}
404
405// AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of
406// the ability to pass a context and additional request options.
407//
408// See AddTagsToResource for details on how to use this API operation.
409//
410// The context must be non-nil and will be used for request cancellation. If
411// the context is nil a panic will occur. In the future the SDK may create
412// sub-contexts for http.Requests. See https://golang.org/pkg/context/
413// for more information on using Contexts.
414func (c *DirectoryService) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) {
415	req, out := c.AddTagsToResourceRequest(input)
416	req.SetContext(ctx)
417	req.ApplyOptions(opts...)
418	return out, req.Send()
419}
420
421const opCancelSchemaExtension = "CancelSchemaExtension"
422
423// CancelSchemaExtensionRequest generates a "aws/request.Request" representing the
424// client's request for the CancelSchemaExtension operation. The "output" return
425// value will be populated with the request's response once the request completes
426// successfully.
427//
428// Use "Send" method on the returned Request to send the API call to the service.
429// the "output" return value is not valid until after Send returns without error.
430//
431// See CancelSchemaExtension for more information on using the CancelSchemaExtension
432// API call, and error handling.
433//
434// This method is useful when you want to inject custom logic or configuration
435// into the SDK's request lifecycle. Such as custom headers, or retry logic.
436//
437//
438//    // Example sending a request using the CancelSchemaExtensionRequest method.
439//    req, resp := client.CancelSchemaExtensionRequest(params)
440//
441//    err := req.Send()
442//    if err == nil { // resp is now filled
443//        fmt.Println(resp)
444//    }
445//
446// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CancelSchemaExtension
447func (c *DirectoryService) CancelSchemaExtensionRequest(input *CancelSchemaExtensionInput) (req *request.Request, output *CancelSchemaExtensionOutput) {
448	op := &request.Operation{
449		Name:       opCancelSchemaExtension,
450		HTTPMethod: "POST",
451		HTTPPath:   "/",
452	}
453
454	if input == nil {
455		input = &CancelSchemaExtensionInput{}
456	}
457
458	output = &CancelSchemaExtensionOutput{}
459	req = c.newRequest(op, input, output)
460	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
461	return
462}
463
464// CancelSchemaExtension API operation for AWS Directory Service.
465//
466// Cancels an in-progress schema extension to a Microsoft AD directory. Once
467// a schema extension has started replicating to all domain controllers, the
468// task can no longer be canceled. A schema extension can be canceled during
469// any of the following states; Initializing, CreatingSnapshot, and UpdatingSchema.
470//
471// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
472// with awserr.Error's Code and Message methods to get detailed information about
473// the error.
474//
475// See the AWS API reference guide for AWS Directory Service's
476// API operation CancelSchemaExtension for usage and error information.
477//
478// Returned Error Types:
479//   * EntityDoesNotExistException
480//   The specified entity could not be found.
481//
482//   * ClientException
483//   A client exception has occurred.
484//
485//   * ServiceException
486//   An exception has occurred in Directory Service.
487//
488// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CancelSchemaExtension
489func (c *DirectoryService) CancelSchemaExtension(input *CancelSchemaExtensionInput) (*CancelSchemaExtensionOutput, error) {
490	req, out := c.CancelSchemaExtensionRequest(input)
491	return out, req.Send()
492}
493
494// CancelSchemaExtensionWithContext is the same as CancelSchemaExtension with the addition of
495// the ability to pass a context and additional request options.
496//
497// See CancelSchemaExtension for details on how to use this API operation.
498//
499// The context must be non-nil and will be used for request cancellation. If
500// the context is nil a panic will occur. In the future the SDK may create
501// sub-contexts for http.Requests. See https://golang.org/pkg/context/
502// for more information on using Contexts.
503func (c *DirectoryService) CancelSchemaExtensionWithContext(ctx aws.Context, input *CancelSchemaExtensionInput, opts ...request.Option) (*CancelSchemaExtensionOutput, error) {
504	req, out := c.CancelSchemaExtensionRequest(input)
505	req.SetContext(ctx)
506	req.ApplyOptions(opts...)
507	return out, req.Send()
508}
509
510const opConnectDirectory = "ConnectDirectory"
511
512// ConnectDirectoryRequest generates a "aws/request.Request" representing the
513// client's request for the ConnectDirectory operation. The "output" return
514// value will be populated with the request's response once the request completes
515// successfully.
516//
517// Use "Send" method on the returned Request to send the API call to the service.
518// the "output" return value is not valid until after Send returns without error.
519//
520// See ConnectDirectory for more information on using the ConnectDirectory
521// API call, and error handling.
522//
523// This method is useful when you want to inject custom logic or configuration
524// into the SDK's request lifecycle. Such as custom headers, or retry logic.
525//
526//
527//    // Example sending a request using the ConnectDirectoryRequest method.
528//    req, resp := client.ConnectDirectoryRequest(params)
529//
530//    err := req.Send()
531//    if err == nil { // resp is now filled
532//        fmt.Println(resp)
533//    }
534//
535// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ConnectDirectory
536func (c *DirectoryService) ConnectDirectoryRequest(input *ConnectDirectoryInput) (req *request.Request, output *ConnectDirectoryOutput) {
537	op := &request.Operation{
538		Name:       opConnectDirectory,
539		HTTPMethod: "POST",
540		HTTPPath:   "/",
541	}
542
543	if input == nil {
544		input = &ConnectDirectoryInput{}
545	}
546
547	output = &ConnectDirectoryOutput{}
548	req = c.newRequest(op, input, output)
549	return
550}
551
552// ConnectDirectory API operation for AWS Directory Service.
553//
554// Creates an AD Connector to connect to a self-managed directory.
555//
556// Before you call ConnectDirectory, ensure that all of the required permissions
557// have been explicitly granted through a policy. For details about what permissions
558// are required to run the ConnectDirectory operation, see Directory Service
559// API Permissions: Actions, Resources, and Conditions Reference (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/UsingWithDS_IAM_ResourcePermissions.html).
560//
561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
562// with awserr.Error's Code and Message methods to get detailed information about
563// the error.
564//
565// See the AWS API reference guide for AWS Directory Service's
566// API operation ConnectDirectory for usage and error information.
567//
568// Returned Error Types:
569//   * DirectoryLimitExceededException
570//   The maximum number of directories in the region has been reached. You can
571//   use the GetDirectoryLimits operation to determine your directory limits in
572//   the region.
573//
574//   * InvalidParameterException
575//   One or more parameters are not valid.
576//
577//   * ClientException
578//   A client exception has occurred.
579//
580//   * ServiceException
581//   An exception has occurred in Directory Service.
582//
583// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ConnectDirectory
584func (c *DirectoryService) ConnectDirectory(input *ConnectDirectoryInput) (*ConnectDirectoryOutput, error) {
585	req, out := c.ConnectDirectoryRequest(input)
586	return out, req.Send()
587}
588
589// ConnectDirectoryWithContext is the same as ConnectDirectory with the addition of
590// the ability to pass a context and additional request options.
591//
592// See ConnectDirectory for details on how to use this API operation.
593//
594// The context must be non-nil and will be used for request cancellation. If
595// the context is nil a panic will occur. In the future the SDK may create
596// sub-contexts for http.Requests. See https://golang.org/pkg/context/
597// for more information on using Contexts.
598func (c *DirectoryService) ConnectDirectoryWithContext(ctx aws.Context, input *ConnectDirectoryInput, opts ...request.Option) (*ConnectDirectoryOutput, error) {
599	req, out := c.ConnectDirectoryRequest(input)
600	req.SetContext(ctx)
601	req.ApplyOptions(opts...)
602	return out, req.Send()
603}
604
605const opCreateAlias = "CreateAlias"
606
607// CreateAliasRequest generates a "aws/request.Request" representing the
608// client's request for the CreateAlias operation. The "output" return
609// value will be populated with the request's response once the request completes
610// successfully.
611//
612// Use "Send" method on the returned Request to send the API call to the service.
613// the "output" return value is not valid until after Send returns without error.
614//
615// See CreateAlias for more information on using the CreateAlias
616// API call, and error handling.
617//
618// This method is useful when you want to inject custom logic or configuration
619// into the SDK's request lifecycle. Such as custom headers, or retry logic.
620//
621//
622//    // Example sending a request using the CreateAliasRequest method.
623//    req, resp := client.CreateAliasRequest(params)
624//
625//    err := req.Send()
626//    if err == nil { // resp is now filled
627//        fmt.Println(resp)
628//    }
629//
630// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateAlias
631func (c *DirectoryService) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, output *CreateAliasOutput) {
632	op := &request.Operation{
633		Name:       opCreateAlias,
634		HTTPMethod: "POST",
635		HTTPPath:   "/",
636	}
637
638	if input == nil {
639		input = &CreateAliasInput{}
640	}
641
642	output = &CreateAliasOutput{}
643	req = c.newRequest(op, input, output)
644	return
645}
646
647// CreateAlias API operation for AWS Directory Service.
648//
649// Creates an alias for a directory and assigns the alias to the directory.
650// The alias is used to construct the access URL for the directory, such as
651// http://<alias>.awsapps.com.
652//
653// After an alias has been created, it cannot be deleted or reused, so this
654// operation should only be used when absolutely necessary.
655//
656// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
657// with awserr.Error's Code and Message methods to get detailed information about
658// the error.
659//
660// See the AWS API reference guide for AWS Directory Service's
661// API operation CreateAlias for usage and error information.
662//
663// Returned Error Types:
664//   * EntityAlreadyExistsException
665//   The specified entity already exists.
666//
667//   * EntityDoesNotExistException
668//   The specified entity could not be found.
669//
670//   * InvalidParameterException
671//   One or more parameters are not valid.
672//
673//   * ClientException
674//   A client exception has occurred.
675//
676//   * ServiceException
677//   An exception has occurred in Directory Service.
678//
679// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateAlias
680func (c *DirectoryService) CreateAlias(input *CreateAliasInput) (*CreateAliasOutput, error) {
681	req, out := c.CreateAliasRequest(input)
682	return out, req.Send()
683}
684
685// CreateAliasWithContext is the same as CreateAlias with the addition of
686// the ability to pass a context and additional request options.
687//
688// See CreateAlias for details on how to use this API operation.
689//
690// The context must be non-nil and will be used for request cancellation. If
691// the context is nil a panic will occur. In the future the SDK may create
692// sub-contexts for http.Requests. See https://golang.org/pkg/context/
693// for more information on using Contexts.
694func (c *DirectoryService) CreateAliasWithContext(ctx aws.Context, input *CreateAliasInput, opts ...request.Option) (*CreateAliasOutput, error) {
695	req, out := c.CreateAliasRequest(input)
696	req.SetContext(ctx)
697	req.ApplyOptions(opts...)
698	return out, req.Send()
699}
700
701const opCreateComputer = "CreateComputer"
702
703// CreateComputerRequest generates a "aws/request.Request" representing the
704// client's request for the CreateComputer operation. The "output" return
705// value will be populated with the request's response once the request completes
706// successfully.
707//
708// Use "Send" method on the returned Request to send the API call to the service.
709// the "output" return value is not valid until after Send returns without error.
710//
711// See CreateComputer for more information on using the CreateComputer
712// API call, and error handling.
713//
714// This method is useful when you want to inject custom logic or configuration
715// into the SDK's request lifecycle. Such as custom headers, or retry logic.
716//
717//
718//    // Example sending a request using the CreateComputerRequest method.
719//    req, resp := client.CreateComputerRequest(params)
720//
721//    err := req.Send()
722//    if err == nil { // resp is now filled
723//        fmt.Println(resp)
724//    }
725//
726// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateComputer
727func (c *DirectoryService) CreateComputerRequest(input *CreateComputerInput) (req *request.Request, output *CreateComputerOutput) {
728	op := &request.Operation{
729		Name:       opCreateComputer,
730		HTTPMethod: "POST",
731		HTTPPath:   "/",
732	}
733
734	if input == nil {
735		input = &CreateComputerInput{}
736	}
737
738	output = &CreateComputerOutput{}
739	req = c.newRequest(op, input, output)
740	return
741}
742
743// CreateComputer API operation for AWS Directory Service.
744//
745// Creates an Active Directory computer object in the specified directory.
746//
747// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
748// with awserr.Error's Code and Message methods to get detailed information about
749// the error.
750//
751// See the AWS API reference guide for AWS Directory Service's
752// API operation CreateComputer for usage and error information.
753//
754// Returned Error Types:
755//   * AuthenticationFailedException
756//   An authentication error occurred.
757//
758//   * DirectoryUnavailableException
759//   The specified directory is unavailable or could not be found.
760//
761//   * EntityAlreadyExistsException
762//   The specified entity already exists.
763//
764//   * EntityDoesNotExistException
765//   The specified entity could not be found.
766//
767//   * InvalidParameterException
768//   One or more parameters are not valid.
769//
770//   * UnsupportedOperationException
771//   The operation is not supported.
772//
773//   * ClientException
774//   A client exception has occurred.
775//
776//   * ServiceException
777//   An exception has occurred in Directory Service.
778//
779// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateComputer
780func (c *DirectoryService) CreateComputer(input *CreateComputerInput) (*CreateComputerOutput, error) {
781	req, out := c.CreateComputerRequest(input)
782	return out, req.Send()
783}
784
785// CreateComputerWithContext is the same as CreateComputer with the addition of
786// the ability to pass a context and additional request options.
787//
788// See CreateComputer for details on how to use this API operation.
789//
790// The context must be non-nil and will be used for request cancellation. If
791// the context is nil a panic will occur. In the future the SDK may create
792// sub-contexts for http.Requests. See https://golang.org/pkg/context/
793// for more information on using Contexts.
794func (c *DirectoryService) CreateComputerWithContext(ctx aws.Context, input *CreateComputerInput, opts ...request.Option) (*CreateComputerOutput, error) {
795	req, out := c.CreateComputerRequest(input)
796	req.SetContext(ctx)
797	req.ApplyOptions(opts...)
798	return out, req.Send()
799}
800
801const opCreateConditionalForwarder = "CreateConditionalForwarder"
802
803// CreateConditionalForwarderRequest generates a "aws/request.Request" representing the
804// client's request for the CreateConditionalForwarder operation. The "output" return
805// value will be populated with the request's response once the request completes
806// successfully.
807//
808// Use "Send" method on the returned Request to send the API call to the service.
809// the "output" return value is not valid until after Send returns without error.
810//
811// See CreateConditionalForwarder for more information on using the CreateConditionalForwarder
812// API call, and error handling.
813//
814// This method is useful when you want to inject custom logic or configuration
815// into the SDK's request lifecycle. Such as custom headers, or retry logic.
816//
817//
818//    // Example sending a request using the CreateConditionalForwarderRequest method.
819//    req, resp := client.CreateConditionalForwarderRequest(params)
820//
821//    err := req.Send()
822//    if err == nil { // resp is now filled
823//        fmt.Println(resp)
824//    }
825//
826// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateConditionalForwarder
827func (c *DirectoryService) CreateConditionalForwarderRequest(input *CreateConditionalForwarderInput) (req *request.Request, output *CreateConditionalForwarderOutput) {
828	op := &request.Operation{
829		Name:       opCreateConditionalForwarder,
830		HTTPMethod: "POST",
831		HTTPPath:   "/",
832	}
833
834	if input == nil {
835		input = &CreateConditionalForwarderInput{}
836	}
837
838	output = &CreateConditionalForwarderOutput{}
839	req = c.newRequest(op, input, output)
840	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
841	return
842}
843
844// CreateConditionalForwarder API operation for AWS Directory Service.
845//
846// Creates a conditional forwarder associated with your Amazon Web Services
847// directory. Conditional forwarders are required in order to set up a trust
848// relationship with another domain. The conditional forwarder points to the
849// trusted domain.
850//
851// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
852// with awserr.Error's Code and Message methods to get detailed information about
853// the error.
854//
855// See the AWS API reference guide for AWS Directory Service's
856// API operation CreateConditionalForwarder for usage and error information.
857//
858// Returned Error Types:
859//   * EntityAlreadyExistsException
860//   The specified entity already exists.
861//
862//   * EntityDoesNotExistException
863//   The specified entity could not be found.
864//
865//   * DirectoryUnavailableException
866//   The specified directory is unavailable or could not be found.
867//
868//   * InvalidParameterException
869//   One or more parameters are not valid.
870//
871//   * UnsupportedOperationException
872//   The operation is not supported.
873//
874//   * ClientException
875//   A client exception has occurred.
876//
877//   * ServiceException
878//   An exception has occurred in Directory Service.
879//
880// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateConditionalForwarder
881func (c *DirectoryService) CreateConditionalForwarder(input *CreateConditionalForwarderInput) (*CreateConditionalForwarderOutput, error) {
882	req, out := c.CreateConditionalForwarderRequest(input)
883	return out, req.Send()
884}
885
886// CreateConditionalForwarderWithContext is the same as CreateConditionalForwarder with the addition of
887// the ability to pass a context and additional request options.
888//
889// See CreateConditionalForwarder for details on how to use this API operation.
890//
891// The context must be non-nil and will be used for request cancellation. If
892// the context is nil a panic will occur. In the future the SDK may create
893// sub-contexts for http.Requests. See https://golang.org/pkg/context/
894// for more information on using Contexts.
895func (c *DirectoryService) CreateConditionalForwarderWithContext(ctx aws.Context, input *CreateConditionalForwarderInput, opts ...request.Option) (*CreateConditionalForwarderOutput, error) {
896	req, out := c.CreateConditionalForwarderRequest(input)
897	req.SetContext(ctx)
898	req.ApplyOptions(opts...)
899	return out, req.Send()
900}
901
902const opCreateDirectory = "CreateDirectory"
903
904// CreateDirectoryRequest generates a "aws/request.Request" representing the
905// client's request for the CreateDirectory operation. The "output" return
906// value will be populated with the request's response once the request completes
907// successfully.
908//
909// Use "Send" method on the returned Request to send the API call to the service.
910// the "output" return value is not valid until after Send returns without error.
911//
912// See CreateDirectory for more information on using the CreateDirectory
913// API call, and error handling.
914//
915// This method is useful when you want to inject custom logic or configuration
916// into the SDK's request lifecycle. Such as custom headers, or retry logic.
917//
918//
919//    // Example sending a request using the CreateDirectoryRequest method.
920//    req, resp := client.CreateDirectoryRequest(params)
921//
922//    err := req.Send()
923//    if err == nil { // resp is now filled
924//        fmt.Println(resp)
925//    }
926//
927// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateDirectory
928func (c *DirectoryService) CreateDirectoryRequest(input *CreateDirectoryInput) (req *request.Request, output *CreateDirectoryOutput) {
929	op := &request.Operation{
930		Name:       opCreateDirectory,
931		HTTPMethod: "POST",
932		HTTPPath:   "/",
933	}
934
935	if input == nil {
936		input = &CreateDirectoryInput{}
937	}
938
939	output = &CreateDirectoryOutput{}
940	req = c.newRequest(op, input, output)
941	return
942}
943
944// CreateDirectory API operation for AWS Directory Service.
945//
946// Creates a Simple AD directory. For more information, see Simple Active Directory
947// (https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_simple_ad.html)
948// in the Directory Service Admin Guide.
949//
950// Before you call CreateDirectory, ensure that all of the required permissions
951// have been explicitly granted through a policy. For details about what permissions
952// are required to run the CreateDirectory operation, see Directory Service
953// API Permissions: Actions, Resources, and Conditions Reference (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/UsingWithDS_IAM_ResourcePermissions.html).
954//
955// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
956// with awserr.Error's Code and Message methods to get detailed information about
957// the error.
958//
959// See the AWS API reference guide for AWS Directory Service's
960// API operation CreateDirectory for usage and error information.
961//
962// Returned Error Types:
963//   * DirectoryLimitExceededException
964//   The maximum number of directories in the region has been reached. You can
965//   use the GetDirectoryLimits operation to determine your directory limits in
966//   the region.
967//
968//   * InvalidParameterException
969//   One or more parameters are not valid.
970//
971//   * ClientException
972//   A client exception has occurred.
973//
974//   * ServiceException
975//   An exception has occurred in Directory Service.
976//
977// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateDirectory
978func (c *DirectoryService) CreateDirectory(input *CreateDirectoryInput) (*CreateDirectoryOutput, error) {
979	req, out := c.CreateDirectoryRequest(input)
980	return out, req.Send()
981}
982
983// CreateDirectoryWithContext is the same as CreateDirectory with the addition of
984// the ability to pass a context and additional request options.
985//
986// See CreateDirectory for details on how to use this API operation.
987//
988// The context must be non-nil and will be used for request cancellation. If
989// the context is nil a panic will occur. In the future the SDK may create
990// sub-contexts for http.Requests. See https://golang.org/pkg/context/
991// for more information on using Contexts.
992func (c *DirectoryService) CreateDirectoryWithContext(ctx aws.Context, input *CreateDirectoryInput, opts ...request.Option) (*CreateDirectoryOutput, error) {
993	req, out := c.CreateDirectoryRequest(input)
994	req.SetContext(ctx)
995	req.ApplyOptions(opts...)
996	return out, req.Send()
997}
998
999const opCreateLogSubscription = "CreateLogSubscription"
1000
1001// CreateLogSubscriptionRequest generates a "aws/request.Request" representing the
1002// client's request for the CreateLogSubscription operation. The "output" return
1003// value will be populated with the request's response once the request completes
1004// successfully.
1005//
1006// Use "Send" method on the returned Request to send the API call to the service.
1007// the "output" return value is not valid until after Send returns without error.
1008//
1009// See CreateLogSubscription for more information on using the CreateLogSubscription
1010// API call, and error handling.
1011//
1012// This method is useful when you want to inject custom logic or configuration
1013// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1014//
1015//
1016//    // Example sending a request using the CreateLogSubscriptionRequest method.
1017//    req, resp := client.CreateLogSubscriptionRequest(params)
1018//
1019//    err := req.Send()
1020//    if err == nil { // resp is now filled
1021//        fmt.Println(resp)
1022//    }
1023//
1024// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateLogSubscription
1025func (c *DirectoryService) CreateLogSubscriptionRequest(input *CreateLogSubscriptionInput) (req *request.Request, output *CreateLogSubscriptionOutput) {
1026	op := &request.Operation{
1027		Name:       opCreateLogSubscription,
1028		HTTPMethod: "POST",
1029		HTTPPath:   "/",
1030	}
1031
1032	if input == nil {
1033		input = &CreateLogSubscriptionInput{}
1034	}
1035
1036	output = &CreateLogSubscriptionOutput{}
1037	req = c.newRequest(op, input, output)
1038	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1039	return
1040}
1041
1042// CreateLogSubscription API operation for AWS Directory Service.
1043//
1044// Creates a subscription to forward real-time Directory Service domain controller
1045// security logs to the specified Amazon CloudWatch log group in your Amazon
1046// Web Services account.
1047//
1048// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1049// with awserr.Error's Code and Message methods to get detailed information about
1050// the error.
1051//
1052// See the AWS API reference guide for AWS Directory Service's
1053// API operation CreateLogSubscription for usage and error information.
1054//
1055// Returned Error Types:
1056//   * EntityAlreadyExistsException
1057//   The specified entity already exists.
1058//
1059//   * EntityDoesNotExistException
1060//   The specified entity could not be found.
1061//
1062//   * UnsupportedOperationException
1063//   The operation is not supported.
1064//
1065//   * InsufficientPermissionsException
1066//   The account does not have sufficient permission to perform the operation.
1067//
1068//   * ClientException
1069//   A client exception has occurred.
1070//
1071//   * ServiceException
1072//   An exception has occurred in Directory Service.
1073//
1074// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateLogSubscription
1075func (c *DirectoryService) CreateLogSubscription(input *CreateLogSubscriptionInput) (*CreateLogSubscriptionOutput, error) {
1076	req, out := c.CreateLogSubscriptionRequest(input)
1077	return out, req.Send()
1078}
1079
1080// CreateLogSubscriptionWithContext is the same as CreateLogSubscription with the addition of
1081// the ability to pass a context and additional request options.
1082//
1083// See CreateLogSubscription for details on how to use this API operation.
1084//
1085// The context must be non-nil and will be used for request cancellation. If
1086// the context is nil a panic will occur. In the future the SDK may create
1087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1088// for more information on using Contexts.
1089func (c *DirectoryService) CreateLogSubscriptionWithContext(ctx aws.Context, input *CreateLogSubscriptionInput, opts ...request.Option) (*CreateLogSubscriptionOutput, error) {
1090	req, out := c.CreateLogSubscriptionRequest(input)
1091	req.SetContext(ctx)
1092	req.ApplyOptions(opts...)
1093	return out, req.Send()
1094}
1095
1096const opCreateMicrosoftAD = "CreateMicrosoftAD"
1097
1098// CreateMicrosoftADRequest generates a "aws/request.Request" representing the
1099// client's request for the CreateMicrosoftAD operation. The "output" return
1100// value will be populated with the request's response once the request completes
1101// successfully.
1102//
1103// Use "Send" method on the returned Request to send the API call to the service.
1104// the "output" return value is not valid until after Send returns without error.
1105//
1106// See CreateMicrosoftAD for more information on using the CreateMicrosoftAD
1107// API call, and error handling.
1108//
1109// This method is useful when you want to inject custom logic or configuration
1110// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1111//
1112//
1113//    // Example sending a request using the CreateMicrosoftADRequest method.
1114//    req, resp := client.CreateMicrosoftADRequest(params)
1115//
1116//    err := req.Send()
1117//    if err == nil { // resp is now filled
1118//        fmt.Println(resp)
1119//    }
1120//
1121// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateMicrosoftAD
1122func (c *DirectoryService) CreateMicrosoftADRequest(input *CreateMicrosoftADInput) (req *request.Request, output *CreateMicrosoftADOutput) {
1123	op := &request.Operation{
1124		Name:       opCreateMicrosoftAD,
1125		HTTPMethod: "POST",
1126		HTTPPath:   "/",
1127	}
1128
1129	if input == nil {
1130		input = &CreateMicrosoftADInput{}
1131	}
1132
1133	output = &CreateMicrosoftADOutput{}
1134	req = c.newRequest(op, input, output)
1135	return
1136}
1137
1138// CreateMicrosoftAD API operation for AWS Directory Service.
1139//
1140// Creates a Microsoft AD directory in the Amazon Web Services Cloud. For more
1141// information, see Managed Microsoft AD (https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html)
1142// in the Directory Service Admin Guide.
1143//
1144// Before you call CreateMicrosoftAD, ensure that all of the required permissions
1145// have been explicitly granted through a policy. For details about what permissions
1146// are required to run the CreateMicrosoftAD operation, see Directory Service
1147// API Permissions: Actions, Resources, and Conditions Reference (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/UsingWithDS_IAM_ResourcePermissions.html).
1148//
1149// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1150// with awserr.Error's Code and Message methods to get detailed information about
1151// the error.
1152//
1153// See the AWS API reference guide for AWS Directory Service's
1154// API operation CreateMicrosoftAD for usage and error information.
1155//
1156// Returned Error Types:
1157//   * DirectoryLimitExceededException
1158//   The maximum number of directories in the region has been reached. You can
1159//   use the GetDirectoryLimits operation to determine your directory limits in
1160//   the region.
1161//
1162//   * InvalidParameterException
1163//   One or more parameters are not valid.
1164//
1165//   * ClientException
1166//   A client exception has occurred.
1167//
1168//   * ServiceException
1169//   An exception has occurred in Directory Service.
1170//
1171//   * UnsupportedOperationException
1172//   The operation is not supported.
1173//
1174// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateMicrosoftAD
1175func (c *DirectoryService) CreateMicrosoftAD(input *CreateMicrosoftADInput) (*CreateMicrosoftADOutput, error) {
1176	req, out := c.CreateMicrosoftADRequest(input)
1177	return out, req.Send()
1178}
1179
1180// CreateMicrosoftADWithContext is the same as CreateMicrosoftAD with the addition of
1181// the ability to pass a context and additional request options.
1182//
1183// See CreateMicrosoftAD for details on how to use this API operation.
1184//
1185// The context must be non-nil and will be used for request cancellation. If
1186// the context is nil a panic will occur. In the future the SDK may create
1187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1188// for more information on using Contexts.
1189func (c *DirectoryService) CreateMicrosoftADWithContext(ctx aws.Context, input *CreateMicrosoftADInput, opts ...request.Option) (*CreateMicrosoftADOutput, error) {
1190	req, out := c.CreateMicrosoftADRequest(input)
1191	req.SetContext(ctx)
1192	req.ApplyOptions(opts...)
1193	return out, req.Send()
1194}
1195
1196const opCreateSnapshot = "CreateSnapshot"
1197
1198// CreateSnapshotRequest generates a "aws/request.Request" representing the
1199// client's request for the CreateSnapshot operation. The "output" return
1200// value will be populated with the request's response once the request completes
1201// successfully.
1202//
1203// Use "Send" method on the returned Request to send the API call to the service.
1204// the "output" return value is not valid until after Send returns without error.
1205//
1206// See CreateSnapshot for more information on using the CreateSnapshot
1207// API call, and error handling.
1208//
1209// This method is useful when you want to inject custom logic or configuration
1210// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1211//
1212//
1213//    // Example sending a request using the CreateSnapshotRequest method.
1214//    req, resp := client.CreateSnapshotRequest(params)
1215//
1216//    err := req.Send()
1217//    if err == nil { // resp is now filled
1218//        fmt.Println(resp)
1219//    }
1220//
1221// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateSnapshot
1222func (c *DirectoryService) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *CreateSnapshotOutput) {
1223	op := &request.Operation{
1224		Name:       opCreateSnapshot,
1225		HTTPMethod: "POST",
1226		HTTPPath:   "/",
1227	}
1228
1229	if input == nil {
1230		input = &CreateSnapshotInput{}
1231	}
1232
1233	output = &CreateSnapshotOutput{}
1234	req = c.newRequest(op, input, output)
1235	return
1236}
1237
1238// CreateSnapshot API operation for AWS Directory Service.
1239//
1240// Creates a snapshot of a Simple AD or Microsoft AD directory in the Amazon
1241// Web Services cloud.
1242//
1243// You cannot take snapshots of AD Connector directories.
1244//
1245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1246// with awserr.Error's Code and Message methods to get detailed information about
1247// the error.
1248//
1249// See the AWS API reference guide for AWS Directory Service's
1250// API operation CreateSnapshot for usage and error information.
1251//
1252// Returned Error Types:
1253//   * EntityDoesNotExistException
1254//   The specified entity could not be found.
1255//
1256//   * InvalidParameterException
1257//   One or more parameters are not valid.
1258//
1259//   * SnapshotLimitExceededException
1260//   The maximum number of manual snapshots for the directory has been reached.
1261//   You can use the GetSnapshotLimits operation to determine the snapshot limits
1262//   for a directory.
1263//
1264//   * ClientException
1265//   A client exception has occurred.
1266//
1267//   * ServiceException
1268//   An exception has occurred in Directory Service.
1269//
1270// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateSnapshot
1271func (c *DirectoryService) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapshotOutput, error) {
1272	req, out := c.CreateSnapshotRequest(input)
1273	return out, req.Send()
1274}
1275
1276// CreateSnapshotWithContext is the same as CreateSnapshot with the addition of
1277// the ability to pass a context and additional request options.
1278//
1279// See CreateSnapshot for details on how to use this API operation.
1280//
1281// The context must be non-nil and will be used for request cancellation. If
1282// the context is nil a panic will occur. In the future the SDK may create
1283// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1284// for more information on using Contexts.
1285func (c *DirectoryService) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*CreateSnapshotOutput, error) {
1286	req, out := c.CreateSnapshotRequest(input)
1287	req.SetContext(ctx)
1288	req.ApplyOptions(opts...)
1289	return out, req.Send()
1290}
1291
1292const opCreateTrust = "CreateTrust"
1293
1294// CreateTrustRequest generates a "aws/request.Request" representing the
1295// client's request for the CreateTrust operation. The "output" return
1296// value will be populated with the request's response once the request completes
1297// successfully.
1298//
1299// Use "Send" method on the returned Request to send the API call to the service.
1300// the "output" return value is not valid until after Send returns without error.
1301//
1302// See CreateTrust for more information on using the CreateTrust
1303// API call, and error handling.
1304//
1305// This method is useful when you want to inject custom logic or configuration
1306// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1307//
1308//
1309//    // Example sending a request using the CreateTrustRequest method.
1310//    req, resp := client.CreateTrustRequest(params)
1311//
1312//    err := req.Send()
1313//    if err == nil { // resp is now filled
1314//        fmt.Println(resp)
1315//    }
1316//
1317// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateTrust
1318func (c *DirectoryService) CreateTrustRequest(input *CreateTrustInput) (req *request.Request, output *CreateTrustOutput) {
1319	op := &request.Operation{
1320		Name:       opCreateTrust,
1321		HTTPMethod: "POST",
1322		HTTPPath:   "/",
1323	}
1324
1325	if input == nil {
1326		input = &CreateTrustInput{}
1327	}
1328
1329	output = &CreateTrustOutput{}
1330	req = c.newRequest(op, input, output)
1331	return
1332}
1333
1334// CreateTrust API operation for AWS Directory Service.
1335//
1336// Directory Service for Microsoft Active Directory allows you to configure
1337// trust relationships. For example, you can establish a trust between your
1338// Managed Microsoft AD directory, and your existing self-managed Microsoft
1339// Active Directory. This would allow you to provide users and groups access
1340// to resources in either domain, with a single set of credentials.
1341//
1342// This action initiates the creation of the Amazon Web Services side of a trust
1343// relationship between an Managed Microsoft AD directory and an external domain.
1344// You can create either a forest trust or an external trust.
1345//
1346// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1347// with awserr.Error's Code and Message methods to get detailed information about
1348// the error.
1349//
1350// See the AWS API reference guide for AWS Directory Service's
1351// API operation CreateTrust for usage and error information.
1352//
1353// Returned Error Types:
1354//   * EntityAlreadyExistsException
1355//   The specified entity already exists.
1356//
1357//   * EntityDoesNotExistException
1358//   The specified entity could not be found.
1359//
1360//   * InvalidParameterException
1361//   One or more parameters are not valid.
1362//
1363//   * ClientException
1364//   A client exception has occurred.
1365//
1366//   * ServiceException
1367//   An exception has occurred in Directory Service.
1368//
1369//   * UnsupportedOperationException
1370//   The operation is not supported.
1371//
1372// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/CreateTrust
1373func (c *DirectoryService) CreateTrust(input *CreateTrustInput) (*CreateTrustOutput, error) {
1374	req, out := c.CreateTrustRequest(input)
1375	return out, req.Send()
1376}
1377
1378// CreateTrustWithContext is the same as CreateTrust with the addition of
1379// the ability to pass a context and additional request options.
1380//
1381// See CreateTrust for details on how to use this API operation.
1382//
1383// The context must be non-nil and will be used for request cancellation. If
1384// the context is nil a panic will occur. In the future the SDK may create
1385// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1386// for more information on using Contexts.
1387func (c *DirectoryService) CreateTrustWithContext(ctx aws.Context, input *CreateTrustInput, opts ...request.Option) (*CreateTrustOutput, error) {
1388	req, out := c.CreateTrustRequest(input)
1389	req.SetContext(ctx)
1390	req.ApplyOptions(opts...)
1391	return out, req.Send()
1392}
1393
1394const opDeleteConditionalForwarder = "DeleteConditionalForwarder"
1395
1396// DeleteConditionalForwarderRequest generates a "aws/request.Request" representing the
1397// client's request for the DeleteConditionalForwarder operation. The "output" return
1398// value will be populated with the request's response once the request completes
1399// successfully.
1400//
1401// Use "Send" method on the returned Request to send the API call to the service.
1402// the "output" return value is not valid until after Send returns without error.
1403//
1404// See DeleteConditionalForwarder for more information on using the DeleteConditionalForwarder
1405// API call, and error handling.
1406//
1407// This method is useful when you want to inject custom logic or configuration
1408// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1409//
1410//
1411//    // Example sending a request using the DeleteConditionalForwarderRequest method.
1412//    req, resp := client.DeleteConditionalForwarderRequest(params)
1413//
1414//    err := req.Send()
1415//    if err == nil { // resp is now filled
1416//        fmt.Println(resp)
1417//    }
1418//
1419// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteConditionalForwarder
1420func (c *DirectoryService) DeleteConditionalForwarderRequest(input *DeleteConditionalForwarderInput) (req *request.Request, output *DeleteConditionalForwarderOutput) {
1421	op := &request.Operation{
1422		Name:       opDeleteConditionalForwarder,
1423		HTTPMethod: "POST",
1424		HTTPPath:   "/",
1425	}
1426
1427	if input == nil {
1428		input = &DeleteConditionalForwarderInput{}
1429	}
1430
1431	output = &DeleteConditionalForwarderOutput{}
1432	req = c.newRequest(op, input, output)
1433	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1434	return
1435}
1436
1437// DeleteConditionalForwarder API operation for AWS Directory Service.
1438//
1439// Deletes a conditional forwarder that has been set up for your Amazon Web
1440// Services directory.
1441//
1442// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1443// with awserr.Error's Code and Message methods to get detailed information about
1444// the error.
1445//
1446// See the AWS API reference guide for AWS Directory Service's
1447// API operation DeleteConditionalForwarder for usage and error information.
1448//
1449// Returned Error Types:
1450//   * EntityDoesNotExistException
1451//   The specified entity could not be found.
1452//
1453//   * DirectoryUnavailableException
1454//   The specified directory is unavailable or could not be found.
1455//
1456//   * InvalidParameterException
1457//   One or more parameters are not valid.
1458//
1459//   * UnsupportedOperationException
1460//   The operation is not supported.
1461//
1462//   * ClientException
1463//   A client exception has occurred.
1464//
1465//   * ServiceException
1466//   An exception has occurred in Directory Service.
1467//
1468// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteConditionalForwarder
1469func (c *DirectoryService) DeleteConditionalForwarder(input *DeleteConditionalForwarderInput) (*DeleteConditionalForwarderOutput, error) {
1470	req, out := c.DeleteConditionalForwarderRequest(input)
1471	return out, req.Send()
1472}
1473
1474// DeleteConditionalForwarderWithContext is the same as DeleteConditionalForwarder with the addition of
1475// the ability to pass a context and additional request options.
1476//
1477// See DeleteConditionalForwarder for details on how to use this API operation.
1478//
1479// The context must be non-nil and will be used for request cancellation. If
1480// the context is nil a panic will occur. In the future the SDK may create
1481// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1482// for more information on using Contexts.
1483func (c *DirectoryService) DeleteConditionalForwarderWithContext(ctx aws.Context, input *DeleteConditionalForwarderInput, opts ...request.Option) (*DeleteConditionalForwarderOutput, error) {
1484	req, out := c.DeleteConditionalForwarderRequest(input)
1485	req.SetContext(ctx)
1486	req.ApplyOptions(opts...)
1487	return out, req.Send()
1488}
1489
1490const opDeleteDirectory = "DeleteDirectory"
1491
1492// DeleteDirectoryRequest generates a "aws/request.Request" representing the
1493// client's request for the DeleteDirectory operation. The "output" return
1494// value will be populated with the request's response once the request completes
1495// successfully.
1496//
1497// Use "Send" method on the returned Request to send the API call to the service.
1498// the "output" return value is not valid until after Send returns without error.
1499//
1500// See DeleteDirectory for more information on using the DeleteDirectory
1501// API call, and error handling.
1502//
1503// This method is useful when you want to inject custom logic or configuration
1504// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1505//
1506//
1507//    // Example sending a request using the DeleteDirectoryRequest method.
1508//    req, resp := client.DeleteDirectoryRequest(params)
1509//
1510//    err := req.Send()
1511//    if err == nil { // resp is now filled
1512//        fmt.Println(resp)
1513//    }
1514//
1515// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteDirectory
1516func (c *DirectoryService) DeleteDirectoryRequest(input *DeleteDirectoryInput) (req *request.Request, output *DeleteDirectoryOutput) {
1517	op := &request.Operation{
1518		Name:       opDeleteDirectory,
1519		HTTPMethod: "POST",
1520		HTTPPath:   "/",
1521	}
1522
1523	if input == nil {
1524		input = &DeleteDirectoryInput{}
1525	}
1526
1527	output = &DeleteDirectoryOutput{}
1528	req = c.newRequest(op, input, output)
1529	return
1530}
1531
1532// DeleteDirectory API operation for AWS Directory Service.
1533//
1534// Deletes an Directory Service directory.
1535//
1536// Before you call DeleteDirectory, ensure that all of the required permissions
1537// have been explicitly granted through a policy. For details about what permissions
1538// are required to run the DeleteDirectory operation, see Directory Service
1539// API Permissions: Actions, Resources, and Conditions Reference (http://docs.aws.amazon.com/directoryservice/latest/admin-guide/UsingWithDS_IAM_ResourcePermissions.html).
1540//
1541// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1542// with awserr.Error's Code and Message methods to get detailed information about
1543// the error.
1544//
1545// See the AWS API reference guide for AWS Directory Service's
1546// API operation DeleteDirectory for usage and error information.
1547//
1548// Returned Error Types:
1549//   * EntityDoesNotExistException
1550//   The specified entity could not be found.
1551//
1552//   * ClientException
1553//   A client exception has occurred.
1554//
1555//   * ServiceException
1556//   An exception has occurred in Directory Service.
1557//
1558// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteDirectory
1559func (c *DirectoryService) DeleteDirectory(input *DeleteDirectoryInput) (*DeleteDirectoryOutput, error) {
1560	req, out := c.DeleteDirectoryRequest(input)
1561	return out, req.Send()
1562}
1563
1564// DeleteDirectoryWithContext is the same as DeleteDirectory with the addition of
1565// the ability to pass a context and additional request options.
1566//
1567// See DeleteDirectory for details on how to use this API operation.
1568//
1569// The context must be non-nil and will be used for request cancellation. If
1570// the context is nil a panic will occur. In the future the SDK may create
1571// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1572// for more information on using Contexts.
1573func (c *DirectoryService) DeleteDirectoryWithContext(ctx aws.Context, input *DeleteDirectoryInput, opts ...request.Option) (*DeleteDirectoryOutput, error) {
1574	req, out := c.DeleteDirectoryRequest(input)
1575	req.SetContext(ctx)
1576	req.ApplyOptions(opts...)
1577	return out, req.Send()
1578}
1579
1580const opDeleteLogSubscription = "DeleteLogSubscription"
1581
1582// DeleteLogSubscriptionRequest generates a "aws/request.Request" representing the
1583// client's request for the DeleteLogSubscription operation. The "output" return
1584// value will be populated with the request's response once the request completes
1585// successfully.
1586//
1587// Use "Send" method on the returned Request to send the API call to the service.
1588// the "output" return value is not valid until after Send returns without error.
1589//
1590// See DeleteLogSubscription for more information on using the DeleteLogSubscription
1591// API call, and error handling.
1592//
1593// This method is useful when you want to inject custom logic or configuration
1594// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1595//
1596//
1597//    // Example sending a request using the DeleteLogSubscriptionRequest method.
1598//    req, resp := client.DeleteLogSubscriptionRequest(params)
1599//
1600//    err := req.Send()
1601//    if err == nil { // resp is now filled
1602//        fmt.Println(resp)
1603//    }
1604//
1605// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteLogSubscription
1606func (c *DirectoryService) DeleteLogSubscriptionRequest(input *DeleteLogSubscriptionInput) (req *request.Request, output *DeleteLogSubscriptionOutput) {
1607	op := &request.Operation{
1608		Name:       opDeleteLogSubscription,
1609		HTTPMethod: "POST",
1610		HTTPPath:   "/",
1611	}
1612
1613	if input == nil {
1614		input = &DeleteLogSubscriptionInput{}
1615	}
1616
1617	output = &DeleteLogSubscriptionOutput{}
1618	req = c.newRequest(op, input, output)
1619	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1620	return
1621}
1622
1623// DeleteLogSubscription API operation for AWS Directory Service.
1624//
1625// Deletes the specified log subscription.
1626//
1627// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1628// with awserr.Error's Code and Message methods to get detailed information about
1629// the error.
1630//
1631// See the AWS API reference guide for AWS Directory Service's
1632// API operation DeleteLogSubscription for usage and error information.
1633//
1634// Returned Error Types:
1635//   * EntityDoesNotExistException
1636//   The specified entity could not be found.
1637//
1638//   * UnsupportedOperationException
1639//   The operation is not supported.
1640//
1641//   * ClientException
1642//   A client exception has occurred.
1643//
1644//   * ServiceException
1645//   An exception has occurred in Directory Service.
1646//
1647// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteLogSubscription
1648func (c *DirectoryService) DeleteLogSubscription(input *DeleteLogSubscriptionInput) (*DeleteLogSubscriptionOutput, error) {
1649	req, out := c.DeleteLogSubscriptionRequest(input)
1650	return out, req.Send()
1651}
1652
1653// DeleteLogSubscriptionWithContext is the same as DeleteLogSubscription with the addition of
1654// the ability to pass a context and additional request options.
1655//
1656// See DeleteLogSubscription for details on how to use this API operation.
1657//
1658// The context must be non-nil and will be used for request cancellation. If
1659// the context is nil a panic will occur. In the future the SDK may create
1660// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1661// for more information on using Contexts.
1662func (c *DirectoryService) DeleteLogSubscriptionWithContext(ctx aws.Context, input *DeleteLogSubscriptionInput, opts ...request.Option) (*DeleteLogSubscriptionOutput, error) {
1663	req, out := c.DeleteLogSubscriptionRequest(input)
1664	req.SetContext(ctx)
1665	req.ApplyOptions(opts...)
1666	return out, req.Send()
1667}
1668
1669const opDeleteSnapshot = "DeleteSnapshot"
1670
1671// DeleteSnapshotRequest generates a "aws/request.Request" representing the
1672// client's request for the DeleteSnapshot operation. The "output" return
1673// value will be populated with the request's response once the request completes
1674// successfully.
1675//
1676// Use "Send" method on the returned Request to send the API call to the service.
1677// the "output" return value is not valid until after Send returns without error.
1678//
1679// See DeleteSnapshot for more information on using the DeleteSnapshot
1680// API call, and error handling.
1681//
1682// This method is useful when you want to inject custom logic or configuration
1683// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1684//
1685//
1686//    // Example sending a request using the DeleteSnapshotRequest method.
1687//    req, resp := client.DeleteSnapshotRequest(params)
1688//
1689//    err := req.Send()
1690//    if err == nil { // resp is now filled
1691//        fmt.Println(resp)
1692//    }
1693//
1694// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteSnapshot
1695func (c *DirectoryService) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
1696	op := &request.Operation{
1697		Name:       opDeleteSnapshot,
1698		HTTPMethod: "POST",
1699		HTTPPath:   "/",
1700	}
1701
1702	if input == nil {
1703		input = &DeleteSnapshotInput{}
1704	}
1705
1706	output = &DeleteSnapshotOutput{}
1707	req = c.newRequest(op, input, output)
1708	return
1709}
1710
1711// DeleteSnapshot API operation for AWS Directory Service.
1712//
1713// Deletes a directory snapshot.
1714//
1715// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1716// with awserr.Error's Code and Message methods to get detailed information about
1717// the error.
1718//
1719// See the AWS API reference guide for AWS Directory Service's
1720// API operation DeleteSnapshot for usage and error information.
1721//
1722// Returned Error Types:
1723//   * EntityDoesNotExistException
1724//   The specified entity could not be found.
1725//
1726//   * InvalidParameterException
1727//   One or more parameters are not valid.
1728//
1729//   * ClientException
1730//   A client exception has occurred.
1731//
1732//   * ServiceException
1733//   An exception has occurred in Directory Service.
1734//
1735// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteSnapshot
1736func (c *DirectoryService) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
1737	req, out := c.DeleteSnapshotRequest(input)
1738	return out, req.Send()
1739}
1740
1741// DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of
1742// the ability to pass a context and additional request options.
1743//
1744// See DeleteSnapshot for details on how to use this API operation.
1745//
1746// The context must be non-nil and will be used for request cancellation. If
1747// the context is nil a panic will occur. In the future the SDK may create
1748// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1749// for more information on using Contexts.
1750func (c *DirectoryService) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) {
1751	req, out := c.DeleteSnapshotRequest(input)
1752	req.SetContext(ctx)
1753	req.ApplyOptions(opts...)
1754	return out, req.Send()
1755}
1756
1757const opDeleteTrust = "DeleteTrust"
1758
1759// DeleteTrustRequest generates a "aws/request.Request" representing the
1760// client's request for the DeleteTrust operation. The "output" return
1761// value will be populated with the request's response once the request completes
1762// successfully.
1763//
1764// Use "Send" method on the returned Request to send the API call to the service.
1765// the "output" return value is not valid until after Send returns without error.
1766//
1767// See DeleteTrust for more information on using the DeleteTrust
1768// API call, and error handling.
1769//
1770// This method is useful when you want to inject custom logic or configuration
1771// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1772//
1773//
1774//    // Example sending a request using the DeleteTrustRequest method.
1775//    req, resp := client.DeleteTrustRequest(params)
1776//
1777//    err := req.Send()
1778//    if err == nil { // resp is now filled
1779//        fmt.Println(resp)
1780//    }
1781//
1782// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteTrust
1783func (c *DirectoryService) DeleteTrustRequest(input *DeleteTrustInput) (req *request.Request, output *DeleteTrustOutput) {
1784	op := &request.Operation{
1785		Name:       opDeleteTrust,
1786		HTTPMethod: "POST",
1787		HTTPPath:   "/",
1788	}
1789
1790	if input == nil {
1791		input = &DeleteTrustInput{}
1792	}
1793
1794	output = &DeleteTrustOutput{}
1795	req = c.newRequest(op, input, output)
1796	return
1797}
1798
1799// DeleteTrust API operation for AWS Directory Service.
1800//
1801// Deletes an existing trust relationship between your Managed Microsoft AD
1802// directory and an external domain.
1803//
1804// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1805// with awserr.Error's Code and Message methods to get detailed information about
1806// the error.
1807//
1808// See the AWS API reference guide for AWS Directory Service's
1809// API operation DeleteTrust for usage and error information.
1810//
1811// Returned Error Types:
1812//   * EntityDoesNotExistException
1813//   The specified entity could not be found.
1814//
1815//   * InvalidParameterException
1816//   One or more parameters are not valid.
1817//
1818//   * ClientException
1819//   A client exception has occurred.
1820//
1821//   * ServiceException
1822//   An exception has occurred in Directory Service.
1823//
1824//   * UnsupportedOperationException
1825//   The operation is not supported.
1826//
1827// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeleteTrust
1828func (c *DirectoryService) DeleteTrust(input *DeleteTrustInput) (*DeleteTrustOutput, error) {
1829	req, out := c.DeleteTrustRequest(input)
1830	return out, req.Send()
1831}
1832
1833// DeleteTrustWithContext is the same as DeleteTrust with the addition of
1834// the ability to pass a context and additional request options.
1835//
1836// See DeleteTrust for details on how to use this API operation.
1837//
1838// The context must be non-nil and will be used for request cancellation. If
1839// the context is nil a panic will occur. In the future the SDK may create
1840// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1841// for more information on using Contexts.
1842func (c *DirectoryService) DeleteTrustWithContext(ctx aws.Context, input *DeleteTrustInput, opts ...request.Option) (*DeleteTrustOutput, error) {
1843	req, out := c.DeleteTrustRequest(input)
1844	req.SetContext(ctx)
1845	req.ApplyOptions(opts...)
1846	return out, req.Send()
1847}
1848
1849const opDeregisterCertificate = "DeregisterCertificate"
1850
1851// DeregisterCertificateRequest generates a "aws/request.Request" representing the
1852// client's request for the DeregisterCertificate operation. The "output" return
1853// value will be populated with the request's response once the request completes
1854// successfully.
1855//
1856// Use "Send" method on the returned Request to send the API call to the service.
1857// the "output" return value is not valid until after Send returns without error.
1858//
1859// See DeregisterCertificate for more information on using the DeregisterCertificate
1860// API call, and error handling.
1861//
1862// This method is useful when you want to inject custom logic or configuration
1863// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1864//
1865//
1866//    // Example sending a request using the DeregisterCertificateRequest method.
1867//    req, resp := client.DeregisterCertificateRequest(params)
1868//
1869//    err := req.Send()
1870//    if err == nil { // resp is now filled
1871//        fmt.Println(resp)
1872//    }
1873//
1874// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeregisterCertificate
1875func (c *DirectoryService) DeregisterCertificateRequest(input *DeregisterCertificateInput) (req *request.Request, output *DeregisterCertificateOutput) {
1876	op := &request.Operation{
1877		Name:       opDeregisterCertificate,
1878		HTTPMethod: "POST",
1879		HTTPPath:   "/",
1880	}
1881
1882	if input == nil {
1883		input = &DeregisterCertificateInput{}
1884	}
1885
1886	output = &DeregisterCertificateOutput{}
1887	req = c.newRequest(op, input, output)
1888	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1889	return
1890}
1891
1892// DeregisterCertificate API operation for AWS Directory Service.
1893//
1894// Deletes from the system the certificate that was registered for secure LDAP
1895// or client certificate authentication.
1896//
1897// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1898// with awserr.Error's Code and Message methods to get detailed information about
1899// the error.
1900//
1901// See the AWS API reference guide for AWS Directory Service's
1902// API operation DeregisterCertificate for usage and error information.
1903//
1904// Returned Error Types:
1905//   * DirectoryUnavailableException
1906//   The specified directory is unavailable or could not be found.
1907//
1908//   * DirectoryDoesNotExistException
1909//   The specified directory does not exist in the system.
1910//
1911//   * CertificateDoesNotExistException
1912//   The certificate is not present in the system for describe or deregister activities.
1913//
1914//   * CertificateInUseException
1915//   The certificate is being used for the LDAP security connection and cannot
1916//   be removed without disabling LDAP security.
1917//
1918//   * UnsupportedOperationException
1919//   The operation is not supported.
1920//
1921//   * InvalidParameterException
1922//   One or more parameters are not valid.
1923//
1924//   * ClientException
1925//   A client exception has occurred.
1926//
1927//   * ServiceException
1928//   An exception has occurred in Directory Service.
1929//
1930// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeregisterCertificate
1931func (c *DirectoryService) DeregisterCertificate(input *DeregisterCertificateInput) (*DeregisterCertificateOutput, error) {
1932	req, out := c.DeregisterCertificateRequest(input)
1933	return out, req.Send()
1934}
1935
1936// DeregisterCertificateWithContext is the same as DeregisterCertificate with the addition of
1937// the ability to pass a context and additional request options.
1938//
1939// See DeregisterCertificate for details on how to use this API operation.
1940//
1941// The context must be non-nil and will be used for request cancellation. If
1942// the context is nil a panic will occur. In the future the SDK may create
1943// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1944// for more information on using Contexts.
1945func (c *DirectoryService) DeregisterCertificateWithContext(ctx aws.Context, input *DeregisterCertificateInput, opts ...request.Option) (*DeregisterCertificateOutput, error) {
1946	req, out := c.DeregisterCertificateRequest(input)
1947	req.SetContext(ctx)
1948	req.ApplyOptions(opts...)
1949	return out, req.Send()
1950}
1951
1952const opDeregisterEventTopic = "DeregisterEventTopic"
1953
1954// DeregisterEventTopicRequest generates a "aws/request.Request" representing the
1955// client's request for the DeregisterEventTopic operation. The "output" return
1956// value will be populated with the request's response once the request completes
1957// successfully.
1958//
1959// Use "Send" method on the returned Request to send the API call to the service.
1960// the "output" return value is not valid until after Send returns without error.
1961//
1962// See DeregisterEventTopic for more information on using the DeregisterEventTopic
1963// API call, and error handling.
1964//
1965// This method is useful when you want to inject custom logic or configuration
1966// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1967//
1968//
1969//    // Example sending a request using the DeregisterEventTopicRequest method.
1970//    req, resp := client.DeregisterEventTopicRequest(params)
1971//
1972//    err := req.Send()
1973//    if err == nil { // resp is now filled
1974//        fmt.Println(resp)
1975//    }
1976//
1977// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeregisterEventTopic
1978func (c *DirectoryService) DeregisterEventTopicRequest(input *DeregisterEventTopicInput) (req *request.Request, output *DeregisterEventTopicOutput) {
1979	op := &request.Operation{
1980		Name:       opDeregisterEventTopic,
1981		HTTPMethod: "POST",
1982		HTTPPath:   "/",
1983	}
1984
1985	if input == nil {
1986		input = &DeregisterEventTopicInput{}
1987	}
1988
1989	output = &DeregisterEventTopicOutput{}
1990	req = c.newRequest(op, input, output)
1991	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1992	return
1993}
1994
1995// DeregisterEventTopic API operation for AWS Directory Service.
1996//
1997// Removes the specified directory as a publisher to the specified Amazon SNS
1998// topic.
1999//
2000// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2001// with awserr.Error's Code and Message methods to get detailed information about
2002// the error.
2003//
2004// See the AWS API reference guide for AWS Directory Service's
2005// API operation DeregisterEventTopic for usage and error information.
2006//
2007// Returned Error Types:
2008//   * EntityDoesNotExistException
2009//   The specified entity could not be found.
2010//
2011//   * InvalidParameterException
2012//   One or more parameters are not valid.
2013//
2014//   * ClientException
2015//   A client exception has occurred.
2016//
2017//   * ServiceException
2018//   An exception has occurred in Directory Service.
2019//
2020// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DeregisterEventTopic
2021func (c *DirectoryService) DeregisterEventTopic(input *DeregisterEventTopicInput) (*DeregisterEventTopicOutput, error) {
2022	req, out := c.DeregisterEventTopicRequest(input)
2023	return out, req.Send()
2024}
2025
2026// DeregisterEventTopicWithContext is the same as DeregisterEventTopic with the addition of
2027// the ability to pass a context and additional request options.
2028//
2029// See DeregisterEventTopic for details on how to use this API operation.
2030//
2031// The context must be non-nil and will be used for request cancellation. If
2032// the context is nil a panic will occur. In the future the SDK may create
2033// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2034// for more information on using Contexts.
2035func (c *DirectoryService) DeregisterEventTopicWithContext(ctx aws.Context, input *DeregisterEventTopicInput, opts ...request.Option) (*DeregisterEventTopicOutput, error) {
2036	req, out := c.DeregisterEventTopicRequest(input)
2037	req.SetContext(ctx)
2038	req.ApplyOptions(opts...)
2039	return out, req.Send()
2040}
2041
2042const opDescribeCertificate = "DescribeCertificate"
2043
2044// DescribeCertificateRequest generates a "aws/request.Request" representing the
2045// client's request for the DescribeCertificate operation. The "output" return
2046// value will be populated with the request's response once the request completes
2047// successfully.
2048//
2049// Use "Send" method on the returned Request to send the API call to the service.
2050// the "output" return value is not valid until after Send returns without error.
2051//
2052// See DescribeCertificate for more information on using the DescribeCertificate
2053// API call, and error handling.
2054//
2055// This method is useful when you want to inject custom logic or configuration
2056// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2057//
2058//
2059//    // Example sending a request using the DescribeCertificateRequest method.
2060//    req, resp := client.DescribeCertificateRequest(params)
2061//
2062//    err := req.Send()
2063//    if err == nil { // resp is now filled
2064//        fmt.Println(resp)
2065//    }
2066//
2067// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeCertificate
2068func (c *DirectoryService) DescribeCertificateRequest(input *DescribeCertificateInput) (req *request.Request, output *DescribeCertificateOutput) {
2069	op := &request.Operation{
2070		Name:       opDescribeCertificate,
2071		HTTPMethod: "POST",
2072		HTTPPath:   "/",
2073	}
2074
2075	if input == nil {
2076		input = &DescribeCertificateInput{}
2077	}
2078
2079	output = &DescribeCertificateOutput{}
2080	req = c.newRequest(op, input, output)
2081	return
2082}
2083
2084// DescribeCertificate API operation for AWS Directory Service.
2085//
2086// Displays information about the certificate registered for secure LDAP or
2087// client certificate authentication.
2088//
2089// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2090// with awserr.Error's Code and Message methods to get detailed information about
2091// the error.
2092//
2093// See the AWS API reference guide for AWS Directory Service's
2094// API operation DescribeCertificate for usage and error information.
2095//
2096// Returned Error Types:
2097//   * DirectoryDoesNotExistException
2098//   The specified directory does not exist in the system.
2099//
2100//   * UnsupportedOperationException
2101//   The operation is not supported.
2102//
2103//   * CertificateDoesNotExistException
2104//   The certificate is not present in the system for describe or deregister activities.
2105//
2106//   * InvalidParameterException
2107//   One or more parameters are not valid.
2108//
2109//   * ClientException
2110//   A client exception has occurred.
2111//
2112//   * ServiceException
2113//   An exception has occurred in Directory Service.
2114//
2115// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeCertificate
2116func (c *DirectoryService) DescribeCertificate(input *DescribeCertificateInput) (*DescribeCertificateOutput, error) {
2117	req, out := c.DescribeCertificateRequest(input)
2118	return out, req.Send()
2119}
2120
2121// DescribeCertificateWithContext is the same as DescribeCertificate with the addition of
2122// the ability to pass a context and additional request options.
2123//
2124// See DescribeCertificate for details on how to use this API operation.
2125//
2126// The context must be non-nil and will be used for request cancellation. If
2127// the context is nil a panic will occur. In the future the SDK may create
2128// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2129// for more information on using Contexts.
2130func (c *DirectoryService) DescribeCertificateWithContext(ctx aws.Context, input *DescribeCertificateInput, opts ...request.Option) (*DescribeCertificateOutput, error) {
2131	req, out := c.DescribeCertificateRequest(input)
2132	req.SetContext(ctx)
2133	req.ApplyOptions(opts...)
2134	return out, req.Send()
2135}
2136
2137const opDescribeClientAuthenticationSettings = "DescribeClientAuthenticationSettings"
2138
2139// DescribeClientAuthenticationSettingsRequest generates a "aws/request.Request" representing the
2140// client's request for the DescribeClientAuthenticationSettings operation. The "output" return
2141// value will be populated with the request's response once the request completes
2142// successfully.
2143//
2144// Use "Send" method on the returned Request to send the API call to the service.
2145// the "output" return value is not valid until after Send returns without error.
2146//
2147// See DescribeClientAuthenticationSettings for more information on using the DescribeClientAuthenticationSettings
2148// API call, and error handling.
2149//
2150// This method is useful when you want to inject custom logic or configuration
2151// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2152//
2153//
2154//    // Example sending a request using the DescribeClientAuthenticationSettingsRequest method.
2155//    req, resp := client.DescribeClientAuthenticationSettingsRequest(params)
2156//
2157//    err := req.Send()
2158//    if err == nil { // resp is now filled
2159//        fmt.Println(resp)
2160//    }
2161//
2162// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeClientAuthenticationSettings
2163func (c *DirectoryService) DescribeClientAuthenticationSettingsRequest(input *DescribeClientAuthenticationSettingsInput) (req *request.Request, output *DescribeClientAuthenticationSettingsOutput) {
2164	op := &request.Operation{
2165		Name:       opDescribeClientAuthenticationSettings,
2166		HTTPMethod: "POST",
2167		HTTPPath:   "/",
2168	}
2169
2170	if input == nil {
2171		input = &DescribeClientAuthenticationSettingsInput{}
2172	}
2173
2174	output = &DescribeClientAuthenticationSettingsOutput{}
2175	req = c.newRequest(op, input, output)
2176	return
2177}
2178
2179// DescribeClientAuthenticationSettings API operation for AWS Directory Service.
2180//
2181// Retrieves information about the type of client authentication for the specified
2182// directory, if the type is specified. If no type is specified, information
2183// about all client authentication types that are supported for the specified
2184// directory is retrieved. Currently, only SmartCard is supported.
2185//
2186// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2187// with awserr.Error's Code and Message methods to get detailed information about
2188// the error.
2189//
2190// See the AWS API reference guide for AWS Directory Service's
2191// API operation DescribeClientAuthenticationSettings for usage and error information.
2192//
2193// Returned Error Types:
2194//   * DirectoryDoesNotExistException
2195//   The specified directory does not exist in the system.
2196//
2197//   * UnsupportedOperationException
2198//   The operation is not supported.
2199//
2200//   * AccessDeniedException
2201//   Client authentication is not available in this region at this time.
2202//
2203//   * InvalidParameterException
2204//   One or more parameters are not valid.
2205//
2206//   * ClientException
2207//   A client exception has occurred.
2208//
2209//   * ServiceException
2210//   An exception has occurred in Directory Service.
2211//
2212// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeClientAuthenticationSettings
2213func (c *DirectoryService) DescribeClientAuthenticationSettings(input *DescribeClientAuthenticationSettingsInput) (*DescribeClientAuthenticationSettingsOutput, error) {
2214	req, out := c.DescribeClientAuthenticationSettingsRequest(input)
2215	return out, req.Send()
2216}
2217
2218// DescribeClientAuthenticationSettingsWithContext is the same as DescribeClientAuthenticationSettings with the addition of
2219// the ability to pass a context and additional request options.
2220//
2221// See DescribeClientAuthenticationSettings for details on how to use this API operation.
2222//
2223// The context must be non-nil and will be used for request cancellation. If
2224// the context is nil a panic will occur. In the future the SDK may create
2225// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2226// for more information on using Contexts.
2227func (c *DirectoryService) DescribeClientAuthenticationSettingsWithContext(ctx aws.Context, input *DescribeClientAuthenticationSettingsInput, opts ...request.Option) (*DescribeClientAuthenticationSettingsOutput, error) {
2228	req, out := c.DescribeClientAuthenticationSettingsRequest(input)
2229	req.SetContext(ctx)
2230	req.ApplyOptions(opts...)
2231	return out, req.Send()
2232}
2233
2234const opDescribeConditionalForwarders = "DescribeConditionalForwarders"
2235
2236// DescribeConditionalForwardersRequest generates a "aws/request.Request" representing the
2237// client's request for the DescribeConditionalForwarders operation. The "output" return
2238// value will be populated with the request's response once the request completes
2239// successfully.
2240//
2241// Use "Send" method on the returned Request to send the API call to the service.
2242// the "output" return value is not valid until after Send returns without error.
2243//
2244// See DescribeConditionalForwarders for more information on using the DescribeConditionalForwarders
2245// API call, and error handling.
2246//
2247// This method is useful when you want to inject custom logic or configuration
2248// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2249//
2250//
2251//    // Example sending a request using the DescribeConditionalForwardersRequest method.
2252//    req, resp := client.DescribeConditionalForwardersRequest(params)
2253//
2254//    err := req.Send()
2255//    if err == nil { // resp is now filled
2256//        fmt.Println(resp)
2257//    }
2258//
2259// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeConditionalForwarders
2260func (c *DirectoryService) DescribeConditionalForwardersRequest(input *DescribeConditionalForwardersInput) (req *request.Request, output *DescribeConditionalForwardersOutput) {
2261	op := &request.Operation{
2262		Name:       opDescribeConditionalForwarders,
2263		HTTPMethod: "POST",
2264		HTTPPath:   "/",
2265	}
2266
2267	if input == nil {
2268		input = &DescribeConditionalForwardersInput{}
2269	}
2270
2271	output = &DescribeConditionalForwardersOutput{}
2272	req = c.newRequest(op, input, output)
2273	return
2274}
2275
2276// DescribeConditionalForwarders API operation for AWS Directory Service.
2277//
2278// Obtains information about the conditional forwarders for this account.
2279//
2280// If no input parameters are provided for RemoteDomainNames, this request describes
2281// all conditional forwarders for the specified directory ID.
2282//
2283// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2284// with awserr.Error's Code and Message methods to get detailed information about
2285// the error.
2286//
2287// See the AWS API reference guide for AWS Directory Service's
2288// API operation DescribeConditionalForwarders for usage and error information.
2289//
2290// Returned Error Types:
2291//   * EntityDoesNotExistException
2292//   The specified entity could not be found.
2293//
2294//   * DirectoryUnavailableException
2295//   The specified directory is unavailable or could not be found.
2296//
2297//   * InvalidParameterException
2298//   One or more parameters are not valid.
2299//
2300//   * UnsupportedOperationException
2301//   The operation is not supported.
2302//
2303//   * ClientException
2304//   A client exception has occurred.
2305//
2306//   * ServiceException
2307//   An exception has occurred in Directory Service.
2308//
2309// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeConditionalForwarders
2310func (c *DirectoryService) DescribeConditionalForwarders(input *DescribeConditionalForwardersInput) (*DescribeConditionalForwardersOutput, error) {
2311	req, out := c.DescribeConditionalForwardersRequest(input)
2312	return out, req.Send()
2313}
2314
2315// DescribeConditionalForwardersWithContext is the same as DescribeConditionalForwarders with the addition of
2316// the ability to pass a context and additional request options.
2317//
2318// See DescribeConditionalForwarders for details on how to use this API operation.
2319//
2320// The context must be non-nil and will be used for request cancellation. If
2321// the context is nil a panic will occur. In the future the SDK may create
2322// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2323// for more information on using Contexts.
2324func (c *DirectoryService) DescribeConditionalForwardersWithContext(ctx aws.Context, input *DescribeConditionalForwardersInput, opts ...request.Option) (*DescribeConditionalForwardersOutput, error) {
2325	req, out := c.DescribeConditionalForwardersRequest(input)
2326	req.SetContext(ctx)
2327	req.ApplyOptions(opts...)
2328	return out, req.Send()
2329}
2330
2331const opDescribeDirectories = "DescribeDirectories"
2332
2333// DescribeDirectoriesRequest generates a "aws/request.Request" representing the
2334// client's request for the DescribeDirectories operation. The "output" return
2335// value will be populated with the request's response once the request completes
2336// successfully.
2337//
2338// Use "Send" method on the returned Request to send the API call to the service.
2339// the "output" return value is not valid until after Send returns without error.
2340//
2341// See DescribeDirectories for more information on using the DescribeDirectories
2342// API call, and error handling.
2343//
2344// This method is useful when you want to inject custom logic or configuration
2345// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2346//
2347//
2348//    // Example sending a request using the DescribeDirectoriesRequest method.
2349//    req, resp := client.DescribeDirectoriesRequest(params)
2350//
2351//    err := req.Send()
2352//    if err == nil { // resp is now filled
2353//        fmt.Println(resp)
2354//    }
2355//
2356// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeDirectories
2357func (c *DirectoryService) DescribeDirectoriesRequest(input *DescribeDirectoriesInput) (req *request.Request, output *DescribeDirectoriesOutput) {
2358	op := &request.Operation{
2359		Name:       opDescribeDirectories,
2360		HTTPMethod: "POST",
2361		HTTPPath:   "/",
2362	}
2363
2364	if input == nil {
2365		input = &DescribeDirectoriesInput{}
2366	}
2367
2368	output = &DescribeDirectoriesOutput{}
2369	req = c.newRequest(op, input, output)
2370	return
2371}
2372
2373// DescribeDirectories API operation for AWS Directory Service.
2374//
2375// Obtains information about the directories that belong to this account.
2376//
2377// You can retrieve information about specific directories by passing the directory
2378// identifiers in the DirectoryIds parameter. Otherwise, all directories that
2379// belong to the current account are returned.
2380//
2381// This operation supports pagination with the use of the NextToken request
2382// and response parameters. If more results are available, the DescribeDirectoriesResult.NextToken
2383// member contains a token that you pass in the next call to DescribeDirectories
2384// to retrieve the next set of items.
2385//
2386// You can also specify a maximum number of return results with the Limit parameter.
2387//
2388// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2389// with awserr.Error's Code and Message methods to get detailed information about
2390// the error.
2391//
2392// See the AWS API reference guide for AWS Directory Service's
2393// API operation DescribeDirectories for usage and error information.
2394//
2395// Returned Error Types:
2396//   * EntityDoesNotExistException
2397//   The specified entity could not be found.
2398//
2399//   * InvalidParameterException
2400//   One or more parameters are not valid.
2401//
2402//   * InvalidNextTokenException
2403//   The NextToken value is not valid.
2404//
2405//   * ClientException
2406//   A client exception has occurred.
2407//
2408//   * ServiceException
2409//   An exception has occurred in Directory Service.
2410//
2411// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeDirectories
2412func (c *DirectoryService) DescribeDirectories(input *DescribeDirectoriesInput) (*DescribeDirectoriesOutput, error) {
2413	req, out := c.DescribeDirectoriesRequest(input)
2414	return out, req.Send()
2415}
2416
2417// DescribeDirectoriesWithContext is the same as DescribeDirectories with the addition of
2418// the ability to pass a context and additional request options.
2419//
2420// See DescribeDirectories for details on how to use this API operation.
2421//
2422// The context must be non-nil and will be used for request cancellation. If
2423// the context is nil a panic will occur. In the future the SDK may create
2424// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2425// for more information on using Contexts.
2426func (c *DirectoryService) DescribeDirectoriesWithContext(ctx aws.Context, input *DescribeDirectoriesInput, opts ...request.Option) (*DescribeDirectoriesOutput, error) {
2427	req, out := c.DescribeDirectoriesRequest(input)
2428	req.SetContext(ctx)
2429	req.ApplyOptions(opts...)
2430	return out, req.Send()
2431}
2432
2433const opDescribeDomainControllers = "DescribeDomainControllers"
2434
2435// DescribeDomainControllersRequest generates a "aws/request.Request" representing the
2436// client's request for the DescribeDomainControllers operation. The "output" return
2437// value will be populated with the request's response once the request completes
2438// successfully.
2439//
2440// Use "Send" method on the returned Request to send the API call to the service.
2441// the "output" return value is not valid until after Send returns without error.
2442//
2443// See DescribeDomainControllers for more information on using the DescribeDomainControllers
2444// API call, and error handling.
2445//
2446// This method is useful when you want to inject custom logic or configuration
2447// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2448//
2449//
2450//    // Example sending a request using the DescribeDomainControllersRequest method.
2451//    req, resp := client.DescribeDomainControllersRequest(params)
2452//
2453//    err := req.Send()
2454//    if err == nil { // resp is now filled
2455//        fmt.Println(resp)
2456//    }
2457//
2458// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeDomainControllers
2459func (c *DirectoryService) DescribeDomainControllersRequest(input *DescribeDomainControllersInput) (req *request.Request, output *DescribeDomainControllersOutput) {
2460	op := &request.Operation{
2461		Name:       opDescribeDomainControllers,
2462		HTTPMethod: "POST",
2463		HTTPPath:   "/",
2464		Paginator: &request.Paginator{
2465			InputTokens:     []string{"NextToken"},
2466			OutputTokens:    []string{"NextToken"},
2467			LimitToken:      "Limit",
2468			TruncationToken: "",
2469		},
2470	}
2471
2472	if input == nil {
2473		input = &DescribeDomainControllersInput{}
2474	}
2475
2476	output = &DescribeDomainControllersOutput{}
2477	req = c.newRequest(op, input, output)
2478	return
2479}
2480
2481// DescribeDomainControllers API operation for AWS Directory Service.
2482//
2483// Provides information about any domain controllers in your directory.
2484//
2485// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2486// with awserr.Error's Code and Message methods to get detailed information about
2487// the error.
2488//
2489// See the AWS API reference guide for AWS Directory Service's
2490// API operation DescribeDomainControllers for usage and error information.
2491//
2492// Returned Error Types:
2493//   * EntityDoesNotExistException
2494//   The specified entity could not be found.
2495//
2496//   * InvalidNextTokenException
2497//   The NextToken value is not valid.
2498//
2499//   * InvalidParameterException
2500//   One or more parameters are not valid.
2501//
2502//   * ClientException
2503//   A client exception has occurred.
2504//
2505//   * ServiceException
2506//   An exception has occurred in Directory Service.
2507//
2508//   * UnsupportedOperationException
2509//   The operation is not supported.
2510//
2511// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeDomainControllers
2512func (c *DirectoryService) DescribeDomainControllers(input *DescribeDomainControllersInput) (*DescribeDomainControllersOutput, error) {
2513	req, out := c.DescribeDomainControllersRequest(input)
2514	return out, req.Send()
2515}
2516
2517// DescribeDomainControllersWithContext is the same as DescribeDomainControllers with the addition of
2518// the ability to pass a context and additional request options.
2519//
2520// See DescribeDomainControllers for details on how to use this API operation.
2521//
2522// The context must be non-nil and will be used for request cancellation. If
2523// the context is nil a panic will occur. In the future the SDK may create
2524// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2525// for more information on using Contexts.
2526func (c *DirectoryService) DescribeDomainControllersWithContext(ctx aws.Context, input *DescribeDomainControllersInput, opts ...request.Option) (*DescribeDomainControllersOutput, error) {
2527	req, out := c.DescribeDomainControllersRequest(input)
2528	req.SetContext(ctx)
2529	req.ApplyOptions(opts...)
2530	return out, req.Send()
2531}
2532
2533// DescribeDomainControllersPages iterates over the pages of a DescribeDomainControllers operation,
2534// calling the "fn" function with the response data for each page. To stop
2535// iterating, return false from the fn function.
2536//
2537// See DescribeDomainControllers method for more information on how to use this operation.
2538//
2539// Note: This operation can generate multiple requests to a service.
2540//
2541//    // Example iterating over at most 3 pages of a DescribeDomainControllers operation.
2542//    pageNum := 0
2543//    err := client.DescribeDomainControllersPages(params,
2544//        func(page *directoryservice.DescribeDomainControllersOutput, lastPage bool) bool {
2545//            pageNum++
2546//            fmt.Println(page)
2547//            return pageNum <= 3
2548//        })
2549//
2550func (c *DirectoryService) DescribeDomainControllersPages(input *DescribeDomainControllersInput, fn func(*DescribeDomainControllersOutput, bool) bool) error {
2551	return c.DescribeDomainControllersPagesWithContext(aws.BackgroundContext(), input, fn)
2552}
2553
2554// DescribeDomainControllersPagesWithContext same as DescribeDomainControllersPages except
2555// it takes a Context and allows setting request options on the pages.
2556//
2557// The context must be non-nil and will be used for request cancellation. If
2558// the context is nil a panic will occur. In the future the SDK may create
2559// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2560// for more information on using Contexts.
2561func (c *DirectoryService) DescribeDomainControllersPagesWithContext(ctx aws.Context, input *DescribeDomainControllersInput, fn func(*DescribeDomainControllersOutput, bool) bool, opts ...request.Option) error {
2562	p := request.Pagination{
2563		NewRequest: func() (*request.Request, error) {
2564			var inCpy *DescribeDomainControllersInput
2565			if input != nil {
2566				tmp := *input
2567				inCpy = &tmp
2568			}
2569			req, _ := c.DescribeDomainControllersRequest(inCpy)
2570			req.SetContext(ctx)
2571			req.ApplyOptions(opts...)
2572			return req, nil
2573		},
2574	}
2575
2576	for p.Next() {
2577		if !fn(p.Page().(*DescribeDomainControllersOutput), !p.HasNextPage()) {
2578			break
2579		}
2580	}
2581
2582	return p.Err()
2583}
2584
2585const opDescribeEventTopics = "DescribeEventTopics"
2586
2587// DescribeEventTopicsRequest generates a "aws/request.Request" representing the
2588// client's request for the DescribeEventTopics operation. The "output" return
2589// value will be populated with the request's response once the request completes
2590// successfully.
2591//
2592// Use "Send" method on the returned Request to send the API call to the service.
2593// the "output" return value is not valid until after Send returns without error.
2594//
2595// See DescribeEventTopics for more information on using the DescribeEventTopics
2596// API call, and error handling.
2597//
2598// This method is useful when you want to inject custom logic or configuration
2599// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2600//
2601//
2602//    // Example sending a request using the DescribeEventTopicsRequest method.
2603//    req, resp := client.DescribeEventTopicsRequest(params)
2604//
2605//    err := req.Send()
2606//    if err == nil { // resp is now filled
2607//        fmt.Println(resp)
2608//    }
2609//
2610// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeEventTopics
2611func (c *DirectoryService) DescribeEventTopicsRequest(input *DescribeEventTopicsInput) (req *request.Request, output *DescribeEventTopicsOutput) {
2612	op := &request.Operation{
2613		Name:       opDescribeEventTopics,
2614		HTTPMethod: "POST",
2615		HTTPPath:   "/",
2616	}
2617
2618	if input == nil {
2619		input = &DescribeEventTopicsInput{}
2620	}
2621
2622	output = &DescribeEventTopicsOutput{}
2623	req = c.newRequest(op, input, output)
2624	return
2625}
2626
2627// DescribeEventTopics API operation for AWS Directory Service.
2628//
2629// Obtains information about which Amazon SNS topics receive status messages
2630// from the specified directory.
2631//
2632// If no input parameters are provided, such as DirectoryId or TopicName, this
2633// request describes all of the associations in the account.
2634//
2635// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2636// with awserr.Error's Code and Message methods to get detailed information about
2637// the error.
2638//
2639// See the AWS API reference guide for AWS Directory Service's
2640// API operation DescribeEventTopics for usage and error information.
2641//
2642// Returned Error Types:
2643//   * EntityDoesNotExistException
2644//   The specified entity could not be found.
2645//
2646//   * InvalidParameterException
2647//   One or more parameters are not valid.
2648//
2649//   * ClientException
2650//   A client exception has occurred.
2651//
2652//   * ServiceException
2653//   An exception has occurred in Directory Service.
2654//
2655// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeEventTopics
2656func (c *DirectoryService) DescribeEventTopics(input *DescribeEventTopicsInput) (*DescribeEventTopicsOutput, error) {
2657	req, out := c.DescribeEventTopicsRequest(input)
2658	return out, req.Send()
2659}
2660
2661// DescribeEventTopicsWithContext is the same as DescribeEventTopics with the addition of
2662// the ability to pass a context and additional request options.
2663//
2664// See DescribeEventTopics for details on how to use this API operation.
2665//
2666// The context must be non-nil and will be used for request cancellation. If
2667// the context is nil a panic will occur. In the future the SDK may create
2668// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2669// for more information on using Contexts.
2670func (c *DirectoryService) DescribeEventTopicsWithContext(ctx aws.Context, input *DescribeEventTopicsInput, opts ...request.Option) (*DescribeEventTopicsOutput, error) {
2671	req, out := c.DescribeEventTopicsRequest(input)
2672	req.SetContext(ctx)
2673	req.ApplyOptions(opts...)
2674	return out, req.Send()
2675}
2676
2677const opDescribeLDAPSSettings = "DescribeLDAPSSettings"
2678
2679// DescribeLDAPSSettingsRequest generates a "aws/request.Request" representing the
2680// client's request for the DescribeLDAPSSettings operation. The "output" return
2681// value will be populated with the request's response once the request completes
2682// successfully.
2683//
2684// Use "Send" method on the returned Request to send the API call to the service.
2685// the "output" return value is not valid until after Send returns without error.
2686//
2687// See DescribeLDAPSSettings for more information on using the DescribeLDAPSSettings
2688// API call, and error handling.
2689//
2690// This method is useful when you want to inject custom logic or configuration
2691// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2692//
2693//
2694//    // Example sending a request using the DescribeLDAPSSettingsRequest method.
2695//    req, resp := client.DescribeLDAPSSettingsRequest(params)
2696//
2697//    err := req.Send()
2698//    if err == nil { // resp is now filled
2699//        fmt.Println(resp)
2700//    }
2701//
2702// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeLDAPSSettings
2703func (c *DirectoryService) DescribeLDAPSSettingsRequest(input *DescribeLDAPSSettingsInput) (req *request.Request, output *DescribeLDAPSSettingsOutput) {
2704	op := &request.Operation{
2705		Name:       opDescribeLDAPSSettings,
2706		HTTPMethod: "POST",
2707		HTTPPath:   "/",
2708	}
2709
2710	if input == nil {
2711		input = &DescribeLDAPSSettingsInput{}
2712	}
2713
2714	output = &DescribeLDAPSSettingsOutput{}
2715	req = c.newRequest(op, input, output)
2716	return
2717}
2718
2719// DescribeLDAPSSettings API operation for AWS Directory Service.
2720//
2721// Describes the status of LDAP security for the specified directory.
2722//
2723// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2724// with awserr.Error's Code and Message methods to get detailed information about
2725// the error.
2726//
2727// See the AWS API reference guide for AWS Directory Service's
2728// API operation DescribeLDAPSSettings for usage and error information.
2729//
2730// Returned Error Types:
2731//   * DirectoryDoesNotExistException
2732//   The specified directory does not exist in the system.
2733//
2734//   * UnsupportedOperationException
2735//   The operation is not supported.
2736//
2737//   * InvalidNextTokenException
2738//   The NextToken value is not valid.
2739//
2740//   * InvalidParameterException
2741//   One or more parameters are not valid.
2742//
2743//   * ClientException
2744//   A client exception has occurred.
2745//
2746//   * ServiceException
2747//   An exception has occurred in Directory Service.
2748//
2749// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeLDAPSSettings
2750func (c *DirectoryService) DescribeLDAPSSettings(input *DescribeLDAPSSettingsInput) (*DescribeLDAPSSettingsOutput, error) {
2751	req, out := c.DescribeLDAPSSettingsRequest(input)
2752	return out, req.Send()
2753}
2754
2755// DescribeLDAPSSettingsWithContext is the same as DescribeLDAPSSettings with the addition of
2756// the ability to pass a context and additional request options.
2757//
2758// See DescribeLDAPSSettings for details on how to use this API operation.
2759//
2760// The context must be non-nil and will be used for request cancellation. If
2761// the context is nil a panic will occur. In the future the SDK may create
2762// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2763// for more information on using Contexts.
2764func (c *DirectoryService) DescribeLDAPSSettingsWithContext(ctx aws.Context, input *DescribeLDAPSSettingsInput, opts ...request.Option) (*DescribeLDAPSSettingsOutput, error) {
2765	req, out := c.DescribeLDAPSSettingsRequest(input)
2766	req.SetContext(ctx)
2767	req.ApplyOptions(opts...)
2768	return out, req.Send()
2769}
2770
2771const opDescribeRegions = "DescribeRegions"
2772
2773// DescribeRegionsRequest generates a "aws/request.Request" representing the
2774// client's request for the DescribeRegions operation. The "output" return
2775// value will be populated with the request's response once the request completes
2776// successfully.
2777//
2778// Use "Send" method on the returned Request to send the API call to the service.
2779// the "output" return value is not valid until after Send returns without error.
2780//
2781// See DescribeRegions for more information on using the DescribeRegions
2782// API call, and error handling.
2783//
2784// This method is useful when you want to inject custom logic or configuration
2785// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2786//
2787//
2788//    // Example sending a request using the DescribeRegionsRequest method.
2789//    req, resp := client.DescribeRegionsRequest(params)
2790//
2791//    err := req.Send()
2792//    if err == nil { // resp is now filled
2793//        fmt.Println(resp)
2794//    }
2795//
2796// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeRegions
2797func (c *DirectoryService) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.Request, output *DescribeRegionsOutput) {
2798	op := &request.Operation{
2799		Name:       opDescribeRegions,
2800		HTTPMethod: "POST",
2801		HTTPPath:   "/",
2802	}
2803
2804	if input == nil {
2805		input = &DescribeRegionsInput{}
2806	}
2807
2808	output = &DescribeRegionsOutput{}
2809	req = c.newRequest(op, input, output)
2810	return
2811}
2812
2813// DescribeRegions API operation for AWS Directory Service.
2814//
2815// Provides information about the Regions that are configured for multi-Region
2816// replication.
2817//
2818// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2819// with awserr.Error's Code and Message methods to get detailed information about
2820// the error.
2821//
2822// See the AWS API reference guide for AWS Directory Service's
2823// API operation DescribeRegions for usage and error information.
2824//
2825// Returned Error Types:
2826//   * InvalidParameterException
2827//   One or more parameters are not valid.
2828//
2829//   * DirectoryDoesNotExistException
2830//   The specified directory does not exist in the system.
2831//
2832//   * UnsupportedOperationException
2833//   The operation is not supported.
2834//
2835//   * InvalidNextTokenException
2836//   The NextToken value is not valid.
2837//
2838//   * AccessDeniedException
2839//   Client authentication is not available in this region at this time.
2840//
2841//   * ClientException
2842//   A client exception has occurred.
2843//
2844//   * ServiceException
2845//   An exception has occurred in Directory Service.
2846//
2847// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeRegions
2848func (c *DirectoryService) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
2849	req, out := c.DescribeRegionsRequest(input)
2850	return out, req.Send()
2851}
2852
2853// DescribeRegionsWithContext is the same as DescribeRegions with the addition of
2854// the ability to pass a context and additional request options.
2855//
2856// See DescribeRegions for details on how to use this API operation.
2857//
2858// The context must be non-nil and will be used for request cancellation. If
2859// the context is nil a panic will occur. In the future the SDK may create
2860// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2861// for more information on using Contexts.
2862func (c *DirectoryService) DescribeRegionsWithContext(ctx aws.Context, input *DescribeRegionsInput, opts ...request.Option) (*DescribeRegionsOutput, error) {
2863	req, out := c.DescribeRegionsRequest(input)
2864	req.SetContext(ctx)
2865	req.ApplyOptions(opts...)
2866	return out, req.Send()
2867}
2868
2869const opDescribeSharedDirectories = "DescribeSharedDirectories"
2870
2871// DescribeSharedDirectoriesRequest generates a "aws/request.Request" representing the
2872// client's request for the DescribeSharedDirectories operation. The "output" return
2873// value will be populated with the request's response once the request completes
2874// successfully.
2875//
2876// Use "Send" method on the returned Request to send the API call to the service.
2877// the "output" return value is not valid until after Send returns without error.
2878//
2879// See DescribeSharedDirectories for more information on using the DescribeSharedDirectories
2880// API call, and error handling.
2881//
2882// This method is useful when you want to inject custom logic or configuration
2883// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2884//
2885//
2886//    // Example sending a request using the DescribeSharedDirectoriesRequest method.
2887//    req, resp := client.DescribeSharedDirectoriesRequest(params)
2888//
2889//    err := req.Send()
2890//    if err == nil { // resp is now filled
2891//        fmt.Println(resp)
2892//    }
2893//
2894// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeSharedDirectories
2895func (c *DirectoryService) DescribeSharedDirectoriesRequest(input *DescribeSharedDirectoriesInput) (req *request.Request, output *DescribeSharedDirectoriesOutput) {
2896	op := &request.Operation{
2897		Name:       opDescribeSharedDirectories,
2898		HTTPMethod: "POST",
2899		HTTPPath:   "/",
2900	}
2901
2902	if input == nil {
2903		input = &DescribeSharedDirectoriesInput{}
2904	}
2905
2906	output = &DescribeSharedDirectoriesOutput{}
2907	req = c.newRequest(op, input, output)
2908	return
2909}
2910
2911// DescribeSharedDirectories API operation for AWS Directory Service.
2912//
2913// Returns the shared directories in your account.
2914//
2915// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2916// with awserr.Error's Code and Message methods to get detailed information about
2917// the error.
2918//
2919// See the AWS API reference guide for AWS Directory Service's
2920// API operation DescribeSharedDirectories for usage and error information.
2921//
2922// Returned Error Types:
2923//   * EntityDoesNotExistException
2924//   The specified entity could not be found.
2925//
2926//   * InvalidNextTokenException
2927//   The NextToken value is not valid.
2928//
2929//   * InvalidParameterException
2930//   One or more parameters are not valid.
2931//
2932//   * UnsupportedOperationException
2933//   The operation is not supported.
2934//
2935//   * ClientException
2936//   A client exception has occurred.
2937//
2938//   * ServiceException
2939//   An exception has occurred in Directory Service.
2940//
2941// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeSharedDirectories
2942func (c *DirectoryService) DescribeSharedDirectories(input *DescribeSharedDirectoriesInput) (*DescribeSharedDirectoriesOutput, error) {
2943	req, out := c.DescribeSharedDirectoriesRequest(input)
2944	return out, req.Send()
2945}
2946
2947// DescribeSharedDirectoriesWithContext is the same as DescribeSharedDirectories with the addition of
2948// the ability to pass a context and additional request options.
2949//
2950// See DescribeSharedDirectories for details on how to use this API operation.
2951//
2952// The context must be non-nil and will be used for request cancellation. If
2953// the context is nil a panic will occur. In the future the SDK may create
2954// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2955// for more information on using Contexts.
2956func (c *DirectoryService) DescribeSharedDirectoriesWithContext(ctx aws.Context, input *DescribeSharedDirectoriesInput, opts ...request.Option) (*DescribeSharedDirectoriesOutput, error) {
2957	req, out := c.DescribeSharedDirectoriesRequest(input)
2958	req.SetContext(ctx)
2959	req.ApplyOptions(opts...)
2960	return out, req.Send()
2961}
2962
2963const opDescribeSnapshots = "DescribeSnapshots"
2964
2965// DescribeSnapshotsRequest generates a "aws/request.Request" representing the
2966// client's request for the DescribeSnapshots operation. The "output" return
2967// value will be populated with the request's response once the request completes
2968// successfully.
2969//
2970// Use "Send" method on the returned Request to send the API call to the service.
2971// the "output" return value is not valid until after Send returns without error.
2972//
2973// See DescribeSnapshots for more information on using the DescribeSnapshots
2974// API call, and error handling.
2975//
2976// This method is useful when you want to inject custom logic or configuration
2977// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2978//
2979//
2980//    // Example sending a request using the DescribeSnapshotsRequest method.
2981//    req, resp := client.DescribeSnapshotsRequest(params)
2982//
2983//    err := req.Send()
2984//    if err == nil { // resp is now filled
2985//        fmt.Println(resp)
2986//    }
2987//
2988// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeSnapshots
2989func (c *DirectoryService) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
2990	op := &request.Operation{
2991		Name:       opDescribeSnapshots,
2992		HTTPMethod: "POST",
2993		HTTPPath:   "/",
2994	}
2995
2996	if input == nil {
2997		input = &DescribeSnapshotsInput{}
2998	}
2999
3000	output = &DescribeSnapshotsOutput{}
3001	req = c.newRequest(op, input, output)
3002	return
3003}
3004
3005// DescribeSnapshots API operation for AWS Directory Service.
3006//
3007// Obtains information about the directory snapshots that belong to this account.
3008//
3009// This operation supports pagination with the use of the NextToken request
3010// and response parameters. If more results are available, the DescribeSnapshots.NextToken
3011// member contains a token that you pass in the next call to DescribeSnapshots
3012// to retrieve the next set of items.
3013//
3014// You can also specify a maximum number of return results with the Limit parameter.
3015//
3016// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3017// with awserr.Error's Code and Message methods to get detailed information about
3018// the error.
3019//
3020// See the AWS API reference guide for AWS Directory Service's
3021// API operation DescribeSnapshots for usage and error information.
3022//
3023// Returned Error Types:
3024//   * EntityDoesNotExistException
3025//   The specified entity could not be found.
3026//
3027//   * InvalidParameterException
3028//   One or more parameters are not valid.
3029//
3030//   * InvalidNextTokenException
3031//   The NextToken value is not valid.
3032//
3033//   * ClientException
3034//   A client exception has occurred.
3035//
3036//   * ServiceException
3037//   An exception has occurred in Directory Service.
3038//
3039// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeSnapshots
3040func (c *DirectoryService) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
3041	req, out := c.DescribeSnapshotsRequest(input)
3042	return out, req.Send()
3043}
3044
3045// DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of
3046// the ability to pass a context and additional request options.
3047//
3048// See DescribeSnapshots for details on how to use this API operation.
3049//
3050// The context must be non-nil and will be used for request cancellation. If
3051// the context is nil a panic will occur. In the future the SDK may create
3052// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3053// for more information on using Contexts.
3054func (c *DirectoryService) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) {
3055	req, out := c.DescribeSnapshotsRequest(input)
3056	req.SetContext(ctx)
3057	req.ApplyOptions(opts...)
3058	return out, req.Send()
3059}
3060
3061const opDescribeTrusts = "DescribeTrusts"
3062
3063// DescribeTrustsRequest generates a "aws/request.Request" representing the
3064// client's request for the DescribeTrusts operation. The "output" return
3065// value will be populated with the request's response once the request completes
3066// successfully.
3067//
3068// Use "Send" method on the returned Request to send the API call to the service.
3069// the "output" return value is not valid until after Send returns without error.
3070//
3071// See DescribeTrusts for more information on using the DescribeTrusts
3072// API call, and error handling.
3073//
3074// This method is useful when you want to inject custom logic or configuration
3075// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3076//
3077//
3078//    // Example sending a request using the DescribeTrustsRequest method.
3079//    req, resp := client.DescribeTrustsRequest(params)
3080//
3081//    err := req.Send()
3082//    if err == nil { // resp is now filled
3083//        fmt.Println(resp)
3084//    }
3085//
3086// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeTrusts
3087func (c *DirectoryService) DescribeTrustsRequest(input *DescribeTrustsInput) (req *request.Request, output *DescribeTrustsOutput) {
3088	op := &request.Operation{
3089		Name:       opDescribeTrusts,
3090		HTTPMethod: "POST",
3091		HTTPPath:   "/",
3092	}
3093
3094	if input == nil {
3095		input = &DescribeTrustsInput{}
3096	}
3097
3098	output = &DescribeTrustsOutput{}
3099	req = c.newRequest(op, input, output)
3100	return
3101}
3102
3103// DescribeTrusts API operation for AWS Directory Service.
3104//
3105// Obtains information about the trust relationships for this account.
3106//
3107// If no input parameters are provided, such as DirectoryId or TrustIds, this
3108// request describes all the trust relationships belonging to the account.
3109//
3110// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3111// with awserr.Error's Code and Message methods to get detailed information about
3112// the error.
3113//
3114// See the AWS API reference guide for AWS Directory Service's
3115// API operation DescribeTrusts for usage and error information.
3116//
3117// Returned Error Types:
3118//   * EntityDoesNotExistException
3119//   The specified entity could not be found.
3120//
3121//   * InvalidNextTokenException
3122//   The NextToken value is not valid.
3123//
3124//   * InvalidParameterException
3125//   One or more parameters are not valid.
3126//
3127//   * ClientException
3128//   A client exception has occurred.
3129//
3130//   * ServiceException
3131//   An exception has occurred in Directory Service.
3132//
3133//   * UnsupportedOperationException
3134//   The operation is not supported.
3135//
3136// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeTrusts
3137func (c *DirectoryService) DescribeTrusts(input *DescribeTrustsInput) (*DescribeTrustsOutput, error) {
3138	req, out := c.DescribeTrustsRequest(input)
3139	return out, req.Send()
3140}
3141
3142// DescribeTrustsWithContext is the same as DescribeTrusts with the addition of
3143// the ability to pass a context and additional request options.
3144//
3145// See DescribeTrusts for details on how to use this API operation.
3146//
3147// The context must be non-nil and will be used for request cancellation. If
3148// the context is nil a panic will occur. In the future the SDK may create
3149// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3150// for more information on using Contexts.
3151func (c *DirectoryService) DescribeTrustsWithContext(ctx aws.Context, input *DescribeTrustsInput, opts ...request.Option) (*DescribeTrustsOutput, error) {
3152	req, out := c.DescribeTrustsRequest(input)
3153	req.SetContext(ctx)
3154	req.ApplyOptions(opts...)
3155	return out, req.Send()
3156}
3157
3158const opDisableClientAuthentication = "DisableClientAuthentication"
3159
3160// DisableClientAuthenticationRequest generates a "aws/request.Request" representing the
3161// client's request for the DisableClientAuthentication operation. The "output" return
3162// value will be populated with the request's response once the request completes
3163// successfully.
3164//
3165// Use "Send" method on the returned Request to send the API call to the service.
3166// the "output" return value is not valid until after Send returns without error.
3167//
3168// See DisableClientAuthentication for more information on using the DisableClientAuthentication
3169// API call, and error handling.
3170//
3171// This method is useful when you want to inject custom logic or configuration
3172// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3173//
3174//
3175//    // Example sending a request using the DisableClientAuthenticationRequest method.
3176//    req, resp := client.DisableClientAuthenticationRequest(params)
3177//
3178//    err := req.Send()
3179//    if err == nil { // resp is now filled
3180//        fmt.Println(resp)
3181//    }
3182//
3183// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DisableClientAuthentication
3184func (c *DirectoryService) DisableClientAuthenticationRequest(input *DisableClientAuthenticationInput) (req *request.Request, output *DisableClientAuthenticationOutput) {
3185	op := &request.Operation{
3186		Name:       opDisableClientAuthentication,
3187		HTTPMethod: "POST",
3188		HTTPPath:   "/",
3189	}
3190
3191	if input == nil {
3192		input = &DisableClientAuthenticationInput{}
3193	}
3194
3195	output = &DisableClientAuthenticationOutput{}
3196	req = c.newRequest(op, input, output)
3197	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3198	return
3199}
3200
3201// DisableClientAuthentication API operation for AWS Directory Service.
3202//
3203// Disables alternative client authentication methods for the specified directory.
3204//
3205// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3206// with awserr.Error's Code and Message methods to get detailed information about
3207// the error.
3208//
3209// See the AWS API reference guide for AWS Directory Service's
3210// API operation DisableClientAuthentication for usage and error information.
3211//
3212// Returned Error Types:
3213//   * DirectoryDoesNotExistException
3214//   The specified directory does not exist in the system.
3215//
3216//   * UnsupportedOperationException
3217//   The operation is not supported.
3218//
3219//   * InvalidClientAuthStatusException
3220//   Client authentication is already enabled.
3221//
3222//   * AccessDeniedException
3223//   Client authentication is not available in this region at this time.
3224//
3225//   * ClientException
3226//   A client exception has occurred.
3227//
3228//   * ServiceException
3229//   An exception has occurred in Directory Service.
3230//
3231// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DisableClientAuthentication
3232func (c *DirectoryService) DisableClientAuthentication(input *DisableClientAuthenticationInput) (*DisableClientAuthenticationOutput, error) {
3233	req, out := c.DisableClientAuthenticationRequest(input)
3234	return out, req.Send()
3235}
3236
3237// DisableClientAuthenticationWithContext is the same as DisableClientAuthentication with the addition of
3238// the ability to pass a context and additional request options.
3239//
3240// See DisableClientAuthentication for details on how to use this API operation.
3241//
3242// The context must be non-nil and will be used for request cancellation. If
3243// the context is nil a panic will occur. In the future the SDK may create
3244// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3245// for more information on using Contexts.
3246func (c *DirectoryService) DisableClientAuthenticationWithContext(ctx aws.Context, input *DisableClientAuthenticationInput, opts ...request.Option) (*DisableClientAuthenticationOutput, error) {
3247	req, out := c.DisableClientAuthenticationRequest(input)
3248	req.SetContext(ctx)
3249	req.ApplyOptions(opts...)
3250	return out, req.Send()
3251}
3252
3253const opDisableLDAPS = "DisableLDAPS"
3254
3255// DisableLDAPSRequest generates a "aws/request.Request" representing the
3256// client's request for the DisableLDAPS operation. The "output" return
3257// value will be populated with the request's response once the request completes
3258// successfully.
3259//
3260// Use "Send" method on the returned Request to send the API call to the service.
3261// the "output" return value is not valid until after Send returns without error.
3262//
3263// See DisableLDAPS for more information on using the DisableLDAPS
3264// API call, and error handling.
3265//
3266// This method is useful when you want to inject custom logic or configuration
3267// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3268//
3269//
3270//    // Example sending a request using the DisableLDAPSRequest method.
3271//    req, resp := client.DisableLDAPSRequest(params)
3272//
3273//    err := req.Send()
3274//    if err == nil { // resp is now filled
3275//        fmt.Println(resp)
3276//    }
3277//
3278// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DisableLDAPS
3279func (c *DirectoryService) DisableLDAPSRequest(input *DisableLDAPSInput) (req *request.Request, output *DisableLDAPSOutput) {
3280	op := &request.Operation{
3281		Name:       opDisableLDAPS,
3282		HTTPMethod: "POST",
3283		HTTPPath:   "/",
3284	}
3285
3286	if input == nil {
3287		input = &DisableLDAPSInput{}
3288	}
3289
3290	output = &DisableLDAPSOutput{}
3291	req = c.newRequest(op, input, output)
3292	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3293	return
3294}
3295
3296// DisableLDAPS API operation for AWS Directory Service.
3297//
3298// Deactivates LDAP secure calls for the specified directory.
3299//
3300// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3301// with awserr.Error's Code and Message methods to get detailed information about
3302// the error.
3303//
3304// See the AWS API reference guide for AWS Directory Service's
3305// API operation DisableLDAPS for usage and error information.
3306//
3307// Returned Error Types:
3308//   * DirectoryUnavailableException
3309//   The specified directory is unavailable or could not be found.
3310//
3311//   * DirectoryDoesNotExistException
3312//   The specified directory does not exist in the system.
3313//
3314//   * InvalidLDAPSStatusException
3315//   The LDAP activities could not be performed because they are limited by the
3316//   LDAPS status.
3317//
3318//   * UnsupportedOperationException
3319//   The operation is not supported.
3320//
3321//   * InvalidParameterException
3322//   One or more parameters are not valid.
3323//
3324//   * ClientException
3325//   A client exception has occurred.
3326//
3327//   * ServiceException
3328//   An exception has occurred in Directory Service.
3329//
3330// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DisableLDAPS
3331func (c *DirectoryService) DisableLDAPS(input *DisableLDAPSInput) (*DisableLDAPSOutput, error) {
3332	req, out := c.DisableLDAPSRequest(input)
3333	return out, req.Send()
3334}
3335
3336// DisableLDAPSWithContext is the same as DisableLDAPS with the addition of
3337// the ability to pass a context and additional request options.
3338//
3339// See DisableLDAPS for details on how to use this API operation.
3340//
3341// The context must be non-nil and will be used for request cancellation. If
3342// the context is nil a panic will occur. In the future the SDK may create
3343// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3344// for more information on using Contexts.
3345func (c *DirectoryService) DisableLDAPSWithContext(ctx aws.Context, input *DisableLDAPSInput, opts ...request.Option) (*DisableLDAPSOutput, error) {
3346	req, out := c.DisableLDAPSRequest(input)
3347	req.SetContext(ctx)
3348	req.ApplyOptions(opts...)
3349	return out, req.Send()
3350}
3351
3352const opDisableRadius = "DisableRadius"
3353
3354// DisableRadiusRequest generates a "aws/request.Request" representing the
3355// client's request for the DisableRadius operation. The "output" return
3356// value will be populated with the request's response once the request completes
3357// successfully.
3358//
3359// Use "Send" method on the returned Request to send the API call to the service.
3360// the "output" return value is not valid until after Send returns without error.
3361//
3362// See DisableRadius for more information on using the DisableRadius
3363// API call, and error handling.
3364//
3365// This method is useful when you want to inject custom logic or configuration
3366// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3367//
3368//
3369//    // Example sending a request using the DisableRadiusRequest method.
3370//    req, resp := client.DisableRadiusRequest(params)
3371//
3372//    err := req.Send()
3373//    if err == nil { // resp is now filled
3374//        fmt.Println(resp)
3375//    }
3376//
3377// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DisableRadius
3378func (c *DirectoryService) DisableRadiusRequest(input *DisableRadiusInput) (req *request.Request, output *DisableRadiusOutput) {
3379	op := &request.Operation{
3380		Name:       opDisableRadius,
3381		HTTPMethod: "POST",
3382		HTTPPath:   "/",
3383	}
3384
3385	if input == nil {
3386		input = &DisableRadiusInput{}
3387	}
3388
3389	output = &DisableRadiusOutput{}
3390	req = c.newRequest(op, input, output)
3391	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3392	return
3393}
3394
3395// DisableRadius API operation for AWS Directory Service.
3396//
3397// Disables multi-factor authentication (MFA) with the Remote Authentication
3398// Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD
3399// directory.
3400//
3401// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3402// with awserr.Error's Code and Message methods to get detailed information about
3403// the error.
3404//
3405// See the AWS API reference guide for AWS Directory Service's
3406// API operation DisableRadius for usage and error information.
3407//
3408// Returned Error Types:
3409//   * EntityDoesNotExistException
3410//   The specified entity could not be found.
3411//
3412//   * ClientException
3413//   A client exception has occurred.
3414//
3415//   * ServiceException
3416//   An exception has occurred in Directory Service.
3417//
3418// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DisableRadius
3419func (c *DirectoryService) DisableRadius(input *DisableRadiusInput) (*DisableRadiusOutput, error) {
3420	req, out := c.DisableRadiusRequest(input)
3421	return out, req.Send()
3422}
3423
3424// DisableRadiusWithContext is the same as DisableRadius with the addition of
3425// the ability to pass a context and additional request options.
3426//
3427// See DisableRadius for details on how to use this API operation.
3428//
3429// The context must be non-nil and will be used for request cancellation. If
3430// the context is nil a panic will occur. In the future the SDK may create
3431// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3432// for more information on using Contexts.
3433func (c *DirectoryService) DisableRadiusWithContext(ctx aws.Context, input *DisableRadiusInput, opts ...request.Option) (*DisableRadiusOutput, error) {
3434	req, out := c.DisableRadiusRequest(input)
3435	req.SetContext(ctx)
3436	req.ApplyOptions(opts...)
3437	return out, req.Send()
3438}
3439
3440const opDisableSso = "DisableSso"
3441
3442// DisableSsoRequest generates a "aws/request.Request" representing the
3443// client's request for the DisableSso operation. The "output" return
3444// value will be populated with the request's response once the request completes
3445// successfully.
3446//
3447// Use "Send" method on the returned Request to send the API call to the service.
3448// the "output" return value is not valid until after Send returns without error.
3449//
3450// See DisableSso for more information on using the DisableSso
3451// API call, and error handling.
3452//
3453// This method is useful when you want to inject custom logic or configuration
3454// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3455//
3456//
3457//    // Example sending a request using the DisableSsoRequest method.
3458//    req, resp := client.DisableSsoRequest(params)
3459//
3460//    err := req.Send()
3461//    if err == nil { // resp is now filled
3462//        fmt.Println(resp)
3463//    }
3464//
3465// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DisableSso
3466func (c *DirectoryService) DisableSsoRequest(input *DisableSsoInput) (req *request.Request, output *DisableSsoOutput) {
3467	op := &request.Operation{
3468		Name:       opDisableSso,
3469		HTTPMethod: "POST",
3470		HTTPPath:   "/",
3471	}
3472
3473	if input == nil {
3474		input = &DisableSsoInput{}
3475	}
3476
3477	output = &DisableSsoOutput{}
3478	req = c.newRequest(op, input, output)
3479	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3480	return
3481}
3482
3483// DisableSso API operation for AWS Directory Service.
3484//
3485// Disables single-sign on for a directory.
3486//
3487// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3488// with awserr.Error's Code and Message methods to get detailed information about
3489// the error.
3490//
3491// See the AWS API reference guide for AWS Directory Service's
3492// API operation DisableSso for usage and error information.
3493//
3494// Returned Error Types:
3495//   * EntityDoesNotExistException
3496//   The specified entity could not be found.
3497//
3498//   * InsufficientPermissionsException
3499//   The account does not have sufficient permission to perform the operation.
3500//
3501//   * AuthenticationFailedException
3502//   An authentication error occurred.
3503//
3504//   * ClientException
3505//   A client exception has occurred.
3506//
3507//   * ServiceException
3508//   An exception has occurred in Directory Service.
3509//
3510// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DisableSso
3511func (c *DirectoryService) DisableSso(input *DisableSsoInput) (*DisableSsoOutput, error) {
3512	req, out := c.DisableSsoRequest(input)
3513	return out, req.Send()
3514}
3515
3516// DisableSsoWithContext is the same as DisableSso with the addition of
3517// the ability to pass a context and additional request options.
3518//
3519// See DisableSso for details on how to use this API operation.
3520//
3521// The context must be non-nil and will be used for request cancellation. If
3522// the context is nil a panic will occur. In the future the SDK may create
3523// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3524// for more information on using Contexts.
3525func (c *DirectoryService) DisableSsoWithContext(ctx aws.Context, input *DisableSsoInput, opts ...request.Option) (*DisableSsoOutput, error) {
3526	req, out := c.DisableSsoRequest(input)
3527	req.SetContext(ctx)
3528	req.ApplyOptions(opts...)
3529	return out, req.Send()
3530}
3531
3532const opEnableClientAuthentication = "EnableClientAuthentication"
3533
3534// EnableClientAuthenticationRequest generates a "aws/request.Request" representing the
3535// client's request for the EnableClientAuthentication operation. The "output" return
3536// value will be populated with the request's response once the request completes
3537// successfully.
3538//
3539// Use "Send" method on the returned Request to send the API call to the service.
3540// the "output" return value is not valid until after Send returns without error.
3541//
3542// See EnableClientAuthentication for more information on using the EnableClientAuthentication
3543// API call, and error handling.
3544//
3545// This method is useful when you want to inject custom logic or configuration
3546// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3547//
3548//
3549//    // Example sending a request using the EnableClientAuthenticationRequest method.
3550//    req, resp := client.EnableClientAuthenticationRequest(params)
3551//
3552//    err := req.Send()
3553//    if err == nil { // resp is now filled
3554//        fmt.Println(resp)
3555//    }
3556//
3557// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/EnableClientAuthentication
3558func (c *DirectoryService) EnableClientAuthenticationRequest(input *EnableClientAuthenticationInput) (req *request.Request, output *EnableClientAuthenticationOutput) {
3559	op := &request.Operation{
3560		Name:       opEnableClientAuthentication,
3561		HTTPMethod: "POST",
3562		HTTPPath:   "/",
3563	}
3564
3565	if input == nil {
3566		input = &EnableClientAuthenticationInput{}
3567	}
3568
3569	output = &EnableClientAuthenticationOutput{}
3570	req = c.newRequest(op, input, output)
3571	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3572	return
3573}
3574
3575// EnableClientAuthentication API operation for AWS Directory Service.
3576//
3577// Enables alternative client authentication methods for the specified directory.
3578//
3579// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3580// with awserr.Error's Code and Message methods to get detailed information about
3581// the error.
3582//
3583// See the AWS API reference guide for AWS Directory Service's
3584// API operation EnableClientAuthentication for usage and error information.
3585//
3586// Returned Error Types:
3587//   * DirectoryDoesNotExistException
3588//   The specified directory does not exist in the system.
3589//
3590//   * UnsupportedOperationException
3591//   The operation is not supported.
3592//
3593//   * InvalidClientAuthStatusException
3594//   Client authentication is already enabled.
3595//
3596//   * AccessDeniedException
3597//   Client authentication is not available in this region at this time.
3598//
3599//   * NoAvailableCertificateException
3600//   Client authentication setup could not be completed because at least one valid
3601//   certificate must be registered in the system.
3602//
3603//   * ClientException
3604//   A client exception has occurred.
3605//
3606//   * ServiceException
3607//   An exception has occurred in Directory Service.
3608//
3609// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/EnableClientAuthentication
3610func (c *DirectoryService) EnableClientAuthentication(input *EnableClientAuthenticationInput) (*EnableClientAuthenticationOutput, error) {
3611	req, out := c.EnableClientAuthenticationRequest(input)
3612	return out, req.Send()
3613}
3614
3615// EnableClientAuthenticationWithContext is the same as EnableClientAuthentication with the addition of
3616// the ability to pass a context and additional request options.
3617//
3618// See EnableClientAuthentication for details on how to use this API operation.
3619//
3620// The context must be non-nil and will be used for request cancellation. If
3621// the context is nil a panic will occur. In the future the SDK may create
3622// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3623// for more information on using Contexts.
3624func (c *DirectoryService) EnableClientAuthenticationWithContext(ctx aws.Context, input *EnableClientAuthenticationInput, opts ...request.Option) (*EnableClientAuthenticationOutput, error) {
3625	req, out := c.EnableClientAuthenticationRequest(input)
3626	req.SetContext(ctx)
3627	req.ApplyOptions(opts...)
3628	return out, req.Send()
3629}
3630
3631const opEnableLDAPS = "EnableLDAPS"
3632
3633// EnableLDAPSRequest generates a "aws/request.Request" representing the
3634// client's request for the EnableLDAPS operation. The "output" return
3635// value will be populated with the request's response once the request completes
3636// successfully.
3637//
3638// Use "Send" method on the returned Request to send the API call to the service.
3639// the "output" return value is not valid until after Send returns without error.
3640//
3641// See EnableLDAPS for more information on using the EnableLDAPS
3642// API call, and error handling.
3643//
3644// This method is useful when you want to inject custom logic or configuration
3645// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3646//
3647//
3648//    // Example sending a request using the EnableLDAPSRequest method.
3649//    req, resp := client.EnableLDAPSRequest(params)
3650//
3651//    err := req.Send()
3652//    if err == nil { // resp is now filled
3653//        fmt.Println(resp)
3654//    }
3655//
3656// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/EnableLDAPS
3657func (c *DirectoryService) EnableLDAPSRequest(input *EnableLDAPSInput) (req *request.Request, output *EnableLDAPSOutput) {
3658	op := &request.Operation{
3659		Name:       opEnableLDAPS,
3660		HTTPMethod: "POST",
3661		HTTPPath:   "/",
3662	}
3663
3664	if input == nil {
3665		input = &EnableLDAPSInput{}
3666	}
3667
3668	output = &EnableLDAPSOutput{}
3669	req = c.newRequest(op, input, output)
3670	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3671	return
3672}
3673
3674// EnableLDAPS API operation for AWS Directory Service.
3675//
3676// Activates the switch for the specific directory to always use LDAP secure
3677// calls.
3678//
3679// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3680// with awserr.Error's Code and Message methods to get detailed information about
3681// the error.
3682//
3683// See the AWS API reference guide for AWS Directory Service's
3684// API operation EnableLDAPS for usage and error information.
3685//
3686// Returned Error Types:
3687//   * DirectoryUnavailableException
3688//   The specified directory is unavailable or could not be found.
3689//
3690//   * DirectoryDoesNotExistException
3691//   The specified directory does not exist in the system.
3692//
3693//   * NoAvailableCertificateException
3694//   Client authentication setup could not be completed because at least one valid
3695//   certificate must be registered in the system.
3696//
3697//   * InvalidLDAPSStatusException
3698//   The LDAP activities could not be performed because they are limited by the
3699//   LDAPS status.
3700//
3701//   * UnsupportedOperationException
3702//   The operation is not supported.
3703//
3704//   * InvalidParameterException
3705//   One or more parameters are not valid.
3706//
3707//   * ClientException
3708//   A client exception has occurred.
3709//
3710//   * ServiceException
3711//   An exception has occurred in Directory Service.
3712//
3713// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/EnableLDAPS
3714func (c *DirectoryService) EnableLDAPS(input *EnableLDAPSInput) (*EnableLDAPSOutput, error) {
3715	req, out := c.EnableLDAPSRequest(input)
3716	return out, req.Send()
3717}
3718
3719// EnableLDAPSWithContext is the same as EnableLDAPS with the addition of
3720// the ability to pass a context and additional request options.
3721//
3722// See EnableLDAPS for details on how to use this API operation.
3723//
3724// The context must be non-nil and will be used for request cancellation. If
3725// the context is nil a panic will occur. In the future the SDK may create
3726// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3727// for more information on using Contexts.
3728func (c *DirectoryService) EnableLDAPSWithContext(ctx aws.Context, input *EnableLDAPSInput, opts ...request.Option) (*EnableLDAPSOutput, error) {
3729	req, out := c.EnableLDAPSRequest(input)
3730	req.SetContext(ctx)
3731	req.ApplyOptions(opts...)
3732	return out, req.Send()
3733}
3734
3735const opEnableRadius = "EnableRadius"
3736
3737// EnableRadiusRequest generates a "aws/request.Request" representing the
3738// client's request for the EnableRadius operation. The "output" return
3739// value will be populated with the request's response once the request completes
3740// successfully.
3741//
3742// Use "Send" method on the returned Request to send the API call to the service.
3743// the "output" return value is not valid until after Send returns without error.
3744//
3745// See EnableRadius for more information on using the EnableRadius
3746// API call, and error handling.
3747//
3748// This method is useful when you want to inject custom logic or configuration
3749// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3750//
3751//
3752//    // Example sending a request using the EnableRadiusRequest method.
3753//    req, resp := client.EnableRadiusRequest(params)
3754//
3755//    err := req.Send()
3756//    if err == nil { // resp is now filled
3757//        fmt.Println(resp)
3758//    }
3759//
3760// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/EnableRadius
3761func (c *DirectoryService) EnableRadiusRequest(input *EnableRadiusInput) (req *request.Request, output *EnableRadiusOutput) {
3762	op := &request.Operation{
3763		Name:       opEnableRadius,
3764		HTTPMethod: "POST",
3765		HTTPPath:   "/",
3766	}
3767
3768	if input == nil {
3769		input = &EnableRadiusInput{}
3770	}
3771
3772	output = &EnableRadiusOutput{}
3773	req = c.newRequest(op, input, output)
3774	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3775	return
3776}
3777
3778// EnableRadius API operation for AWS Directory Service.
3779//
3780// Enables multi-factor authentication (MFA) with the Remote Authentication
3781// Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD
3782// directory.
3783//
3784// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3785// with awserr.Error's Code and Message methods to get detailed information about
3786// the error.
3787//
3788// See the AWS API reference guide for AWS Directory Service's
3789// API operation EnableRadius for usage and error information.
3790//
3791// Returned Error Types:
3792//   * InvalidParameterException
3793//   One or more parameters are not valid.
3794//
3795//   * EntityAlreadyExistsException
3796//   The specified entity already exists.
3797//
3798//   * EntityDoesNotExistException
3799//   The specified entity could not be found.
3800//
3801//   * ClientException
3802//   A client exception has occurred.
3803//
3804//   * ServiceException
3805//   An exception has occurred in Directory Service.
3806//
3807// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/EnableRadius
3808func (c *DirectoryService) EnableRadius(input *EnableRadiusInput) (*EnableRadiusOutput, error) {
3809	req, out := c.EnableRadiusRequest(input)
3810	return out, req.Send()
3811}
3812
3813// EnableRadiusWithContext is the same as EnableRadius with the addition of
3814// the ability to pass a context and additional request options.
3815//
3816// See EnableRadius for details on how to use this API operation.
3817//
3818// The context must be non-nil and will be used for request cancellation. If
3819// the context is nil a panic will occur. In the future the SDK may create
3820// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3821// for more information on using Contexts.
3822func (c *DirectoryService) EnableRadiusWithContext(ctx aws.Context, input *EnableRadiusInput, opts ...request.Option) (*EnableRadiusOutput, error) {
3823	req, out := c.EnableRadiusRequest(input)
3824	req.SetContext(ctx)
3825	req.ApplyOptions(opts...)
3826	return out, req.Send()
3827}
3828
3829const opEnableSso = "EnableSso"
3830
3831// EnableSsoRequest generates a "aws/request.Request" representing the
3832// client's request for the EnableSso operation. The "output" return
3833// value will be populated with the request's response once the request completes
3834// successfully.
3835//
3836// Use "Send" method on the returned Request to send the API call to the service.
3837// the "output" return value is not valid until after Send returns without error.
3838//
3839// See EnableSso for more information on using the EnableSso
3840// API call, and error handling.
3841//
3842// This method is useful when you want to inject custom logic or configuration
3843// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3844//
3845//
3846//    // Example sending a request using the EnableSsoRequest method.
3847//    req, resp := client.EnableSsoRequest(params)
3848//
3849//    err := req.Send()
3850//    if err == nil { // resp is now filled
3851//        fmt.Println(resp)
3852//    }
3853//
3854// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/EnableSso
3855func (c *DirectoryService) EnableSsoRequest(input *EnableSsoInput) (req *request.Request, output *EnableSsoOutput) {
3856	op := &request.Operation{
3857		Name:       opEnableSso,
3858		HTTPMethod: "POST",
3859		HTTPPath:   "/",
3860	}
3861
3862	if input == nil {
3863		input = &EnableSsoInput{}
3864	}
3865
3866	output = &EnableSsoOutput{}
3867	req = c.newRequest(op, input, output)
3868	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3869	return
3870}
3871
3872// EnableSso API operation for AWS Directory Service.
3873//
3874// Enables single sign-on for a directory. Single sign-on allows users in your
3875// directory to access certain Amazon Web Services services from a computer
3876// joined to the directory without having to enter their credentials separately.
3877//
3878// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3879// with awserr.Error's Code and Message methods to get detailed information about
3880// the error.
3881//
3882// See the AWS API reference guide for AWS Directory Service's
3883// API operation EnableSso for usage and error information.
3884//
3885// Returned Error Types:
3886//   * EntityDoesNotExistException
3887//   The specified entity could not be found.
3888//
3889//   * InsufficientPermissionsException
3890//   The account does not have sufficient permission to perform the operation.
3891//
3892//   * AuthenticationFailedException
3893//   An authentication error occurred.
3894//
3895//   * ClientException
3896//   A client exception has occurred.
3897//
3898//   * ServiceException
3899//   An exception has occurred in Directory Service.
3900//
3901// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/EnableSso
3902func (c *DirectoryService) EnableSso(input *EnableSsoInput) (*EnableSsoOutput, error) {
3903	req, out := c.EnableSsoRequest(input)
3904	return out, req.Send()
3905}
3906
3907// EnableSsoWithContext is the same as EnableSso with the addition of
3908// the ability to pass a context and additional request options.
3909//
3910// See EnableSso for details on how to use this API operation.
3911//
3912// The context must be non-nil and will be used for request cancellation. If
3913// the context is nil a panic will occur. In the future the SDK may create
3914// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3915// for more information on using Contexts.
3916func (c *DirectoryService) EnableSsoWithContext(ctx aws.Context, input *EnableSsoInput, opts ...request.Option) (*EnableSsoOutput, error) {
3917	req, out := c.EnableSsoRequest(input)
3918	req.SetContext(ctx)
3919	req.ApplyOptions(opts...)
3920	return out, req.Send()
3921}
3922
3923const opGetDirectoryLimits = "GetDirectoryLimits"
3924
3925// GetDirectoryLimitsRequest generates a "aws/request.Request" representing the
3926// client's request for the GetDirectoryLimits operation. The "output" return
3927// value will be populated with the request's response once the request completes
3928// successfully.
3929//
3930// Use "Send" method on the returned Request to send the API call to the service.
3931// the "output" return value is not valid until after Send returns without error.
3932//
3933// See GetDirectoryLimits for more information on using the GetDirectoryLimits
3934// API call, and error handling.
3935//
3936// This method is useful when you want to inject custom logic or configuration
3937// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3938//
3939//
3940//    // Example sending a request using the GetDirectoryLimitsRequest method.
3941//    req, resp := client.GetDirectoryLimitsRequest(params)
3942//
3943//    err := req.Send()
3944//    if err == nil { // resp is now filled
3945//        fmt.Println(resp)
3946//    }
3947//
3948// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/GetDirectoryLimits
3949func (c *DirectoryService) GetDirectoryLimitsRequest(input *GetDirectoryLimitsInput) (req *request.Request, output *GetDirectoryLimitsOutput) {
3950	op := &request.Operation{
3951		Name:       opGetDirectoryLimits,
3952		HTTPMethod: "POST",
3953		HTTPPath:   "/",
3954	}
3955
3956	if input == nil {
3957		input = &GetDirectoryLimitsInput{}
3958	}
3959
3960	output = &GetDirectoryLimitsOutput{}
3961	req = c.newRequest(op, input, output)
3962	return
3963}
3964
3965// GetDirectoryLimits API operation for AWS Directory Service.
3966//
3967// Obtains directory limit information for the current Region.
3968//
3969// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3970// with awserr.Error's Code and Message methods to get detailed information about
3971// the error.
3972//
3973// See the AWS API reference guide for AWS Directory Service's
3974// API operation GetDirectoryLimits for usage and error information.
3975//
3976// Returned Error Types:
3977//   * EntityDoesNotExistException
3978//   The specified entity could not be found.
3979//
3980//   * ClientException
3981//   A client exception has occurred.
3982//
3983//   * ServiceException
3984//   An exception has occurred in Directory Service.
3985//
3986// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/GetDirectoryLimits
3987func (c *DirectoryService) GetDirectoryLimits(input *GetDirectoryLimitsInput) (*GetDirectoryLimitsOutput, error) {
3988	req, out := c.GetDirectoryLimitsRequest(input)
3989	return out, req.Send()
3990}
3991
3992// GetDirectoryLimitsWithContext is the same as GetDirectoryLimits with the addition of
3993// the ability to pass a context and additional request options.
3994//
3995// See GetDirectoryLimits for details on how to use this API operation.
3996//
3997// The context must be non-nil and will be used for request cancellation. If
3998// the context is nil a panic will occur. In the future the SDK may create
3999// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4000// for more information on using Contexts.
4001func (c *DirectoryService) GetDirectoryLimitsWithContext(ctx aws.Context, input *GetDirectoryLimitsInput, opts ...request.Option) (*GetDirectoryLimitsOutput, error) {
4002	req, out := c.GetDirectoryLimitsRequest(input)
4003	req.SetContext(ctx)
4004	req.ApplyOptions(opts...)
4005	return out, req.Send()
4006}
4007
4008const opGetSnapshotLimits = "GetSnapshotLimits"
4009
4010// GetSnapshotLimitsRequest generates a "aws/request.Request" representing the
4011// client's request for the GetSnapshotLimits operation. The "output" return
4012// value will be populated with the request's response once the request completes
4013// successfully.
4014//
4015// Use "Send" method on the returned Request to send the API call to the service.
4016// the "output" return value is not valid until after Send returns without error.
4017//
4018// See GetSnapshotLimits for more information on using the GetSnapshotLimits
4019// API call, and error handling.
4020//
4021// This method is useful when you want to inject custom logic or configuration
4022// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4023//
4024//
4025//    // Example sending a request using the GetSnapshotLimitsRequest method.
4026//    req, resp := client.GetSnapshotLimitsRequest(params)
4027//
4028//    err := req.Send()
4029//    if err == nil { // resp is now filled
4030//        fmt.Println(resp)
4031//    }
4032//
4033// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/GetSnapshotLimits
4034func (c *DirectoryService) GetSnapshotLimitsRequest(input *GetSnapshotLimitsInput) (req *request.Request, output *GetSnapshotLimitsOutput) {
4035	op := &request.Operation{
4036		Name:       opGetSnapshotLimits,
4037		HTTPMethod: "POST",
4038		HTTPPath:   "/",
4039	}
4040
4041	if input == nil {
4042		input = &GetSnapshotLimitsInput{}
4043	}
4044
4045	output = &GetSnapshotLimitsOutput{}
4046	req = c.newRequest(op, input, output)
4047	return
4048}
4049
4050// GetSnapshotLimits API operation for AWS Directory Service.
4051//
4052// Obtains the manual snapshot limits for a directory.
4053//
4054// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4055// with awserr.Error's Code and Message methods to get detailed information about
4056// the error.
4057//
4058// See the AWS API reference guide for AWS Directory Service's
4059// API operation GetSnapshotLimits for usage and error information.
4060//
4061// Returned Error Types:
4062//   * EntityDoesNotExistException
4063//   The specified entity could not be found.
4064//
4065//   * ClientException
4066//   A client exception has occurred.
4067//
4068//   * ServiceException
4069//   An exception has occurred in Directory Service.
4070//
4071// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/GetSnapshotLimits
4072func (c *DirectoryService) GetSnapshotLimits(input *GetSnapshotLimitsInput) (*GetSnapshotLimitsOutput, error) {
4073	req, out := c.GetSnapshotLimitsRequest(input)
4074	return out, req.Send()
4075}
4076
4077// GetSnapshotLimitsWithContext is the same as GetSnapshotLimits with the addition of
4078// the ability to pass a context and additional request options.
4079//
4080// See GetSnapshotLimits for details on how to use this API operation.
4081//
4082// The context must be non-nil and will be used for request cancellation. If
4083// the context is nil a panic will occur. In the future the SDK may create
4084// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4085// for more information on using Contexts.
4086func (c *DirectoryService) GetSnapshotLimitsWithContext(ctx aws.Context, input *GetSnapshotLimitsInput, opts ...request.Option) (*GetSnapshotLimitsOutput, error) {
4087	req, out := c.GetSnapshotLimitsRequest(input)
4088	req.SetContext(ctx)
4089	req.ApplyOptions(opts...)
4090	return out, req.Send()
4091}
4092
4093const opListCertificates = "ListCertificates"
4094
4095// ListCertificatesRequest generates a "aws/request.Request" representing the
4096// client's request for the ListCertificates operation. The "output" return
4097// value will be populated with the request's response once the request completes
4098// successfully.
4099//
4100// Use "Send" method on the returned Request to send the API call to the service.
4101// the "output" return value is not valid until after Send returns without error.
4102//
4103// See ListCertificates for more information on using the ListCertificates
4104// API call, and error handling.
4105//
4106// This method is useful when you want to inject custom logic or configuration
4107// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4108//
4109//
4110//    // Example sending a request using the ListCertificatesRequest method.
4111//    req, resp := client.ListCertificatesRequest(params)
4112//
4113//    err := req.Send()
4114//    if err == nil { // resp is now filled
4115//        fmt.Println(resp)
4116//    }
4117//
4118// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListCertificates
4119func (c *DirectoryService) ListCertificatesRequest(input *ListCertificatesInput) (req *request.Request, output *ListCertificatesOutput) {
4120	op := &request.Operation{
4121		Name:       opListCertificates,
4122		HTTPMethod: "POST",
4123		HTTPPath:   "/",
4124	}
4125
4126	if input == nil {
4127		input = &ListCertificatesInput{}
4128	}
4129
4130	output = &ListCertificatesOutput{}
4131	req = c.newRequest(op, input, output)
4132	return
4133}
4134
4135// ListCertificates API operation for AWS Directory Service.
4136//
4137// For the specified directory, lists all the certificates registered for a
4138// secure LDAP or client certificate authentication.
4139//
4140// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4141// with awserr.Error's Code and Message methods to get detailed information about
4142// the error.
4143//
4144// See the AWS API reference guide for AWS Directory Service's
4145// API operation ListCertificates for usage and error information.
4146//
4147// Returned Error Types:
4148//   * DirectoryDoesNotExistException
4149//   The specified directory does not exist in the system.
4150//
4151//   * UnsupportedOperationException
4152//   The operation is not supported.
4153//
4154//   * InvalidParameterException
4155//   One or more parameters are not valid.
4156//
4157//   * InvalidNextTokenException
4158//   The NextToken value is not valid.
4159//
4160//   * ClientException
4161//   A client exception has occurred.
4162//
4163//   * ServiceException
4164//   An exception has occurred in Directory Service.
4165//
4166// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListCertificates
4167func (c *DirectoryService) ListCertificates(input *ListCertificatesInput) (*ListCertificatesOutput, error) {
4168	req, out := c.ListCertificatesRequest(input)
4169	return out, req.Send()
4170}
4171
4172// ListCertificatesWithContext is the same as ListCertificates with the addition of
4173// the ability to pass a context and additional request options.
4174//
4175// See ListCertificates for details on how to use this API operation.
4176//
4177// The context must be non-nil and will be used for request cancellation. If
4178// the context is nil a panic will occur. In the future the SDK may create
4179// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4180// for more information on using Contexts.
4181func (c *DirectoryService) ListCertificatesWithContext(ctx aws.Context, input *ListCertificatesInput, opts ...request.Option) (*ListCertificatesOutput, error) {
4182	req, out := c.ListCertificatesRequest(input)
4183	req.SetContext(ctx)
4184	req.ApplyOptions(opts...)
4185	return out, req.Send()
4186}
4187
4188const opListIpRoutes = "ListIpRoutes"
4189
4190// ListIpRoutesRequest generates a "aws/request.Request" representing the
4191// client's request for the ListIpRoutes operation. The "output" return
4192// value will be populated with the request's response once the request completes
4193// successfully.
4194//
4195// Use "Send" method on the returned Request to send the API call to the service.
4196// the "output" return value is not valid until after Send returns without error.
4197//
4198// See ListIpRoutes for more information on using the ListIpRoutes
4199// API call, and error handling.
4200//
4201// This method is useful when you want to inject custom logic or configuration
4202// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4203//
4204//
4205//    // Example sending a request using the ListIpRoutesRequest method.
4206//    req, resp := client.ListIpRoutesRequest(params)
4207//
4208//    err := req.Send()
4209//    if err == nil { // resp is now filled
4210//        fmt.Println(resp)
4211//    }
4212//
4213// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListIpRoutes
4214func (c *DirectoryService) ListIpRoutesRequest(input *ListIpRoutesInput) (req *request.Request, output *ListIpRoutesOutput) {
4215	op := &request.Operation{
4216		Name:       opListIpRoutes,
4217		HTTPMethod: "POST",
4218		HTTPPath:   "/",
4219	}
4220
4221	if input == nil {
4222		input = &ListIpRoutesInput{}
4223	}
4224
4225	output = &ListIpRoutesOutput{}
4226	req = c.newRequest(op, input, output)
4227	return
4228}
4229
4230// ListIpRoutes API operation for AWS Directory Service.
4231//
4232// Lists the address blocks that you have added to a directory.
4233//
4234// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4235// with awserr.Error's Code and Message methods to get detailed information about
4236// the error.
4237//
4238// See the AWS API reference guide for AWS Directory Service's
4239// API operation ListIpRoutes for usage and error information.
4240//
4241// Returned Error Types:
4242//   * EntityDoesNotExistException
4243//   The specified entity could not be found.
4244//
4245//   * InvalidNextTokenException
4246//   The NextToken value is not valid.
4247//
4248//   * InvalidParameterException
4249//   One or more parameters are not valid.
4250//
4251//   * ClientException
4252//   A client exception has occurred.
4253//
4254//   * ServiceException
4255//   An exception has occurred in Directory Service.
4256//
4257// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListIpRoutes
4258func (c *DirectoryService) ListIpRoutes(input *ListIpRoutesInput) (*ListIpRoutesOutput, error) {
4259	req, out := c.ListIpRoutesRequest(input)
4260	return out, req.Send()
4261}
4262
4263// ListIpRoutesWithContext is the same as ListIpRoutes with the addition of
4264// the ability to pass a context and additional request options.
4265//
4266// See ListIpRoutes for details on how to use this API operation.
4267//
4268// The context must be non-nil and will be used for request cancellation. If
4269// the context is nil a panic will occur. In the future the SDK may create
4270// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4271// for more information on using Contexts.
4272func (c *DirectoryService) ListIpRoutesWithContext(ctx aws.Context, input *ListIpRoutesInput, opts ...request.Option) (*ListIpRoutesOutput, error) {
4273	req, out := c.ListIpRoutesRequest(input)
4274	req.SetContext(ctx)
4275	req.ApplyOptions(opts...)
4276	return out, req.Send()
4277}
4278
4279const opListLogSubscriptions = "ListLogSubscriptions"
4280
4281// ListLogSubscriptionsRequest generates a "aws/request.Request" representing the
4282// client's request for the ListLogSubscriptions operation. The "output" return
4283// value will be populated with the request's response once the request completes
4284// successfully.
4285//
4286// Use "Send" method on the returned Request to send the API call to the service.
4287// the "output" return value is not valid until after Send returns without error.
4288//
4289// See ListLogSubscriptions for more information on using the ListLogSubscriptions
4290// API call, and error handling.
4291//
4292// This method is useful when you want to inject custom logic or configuration
4293// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4294//
4295//
4296//    // Example sending a request using the ListLogSubscriptionsRequest method.
4297//    req, resp := client.ListLogSubscriptionsRequest(params)
4298//
4299//    err := req.Send()
4300//    if err == nil { // resp is now filled
4301//        fmt.Println(resp)
4302//    }
4303//
4304// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListLogSubscriptions
4305func (c *DirectoryService) ListLogSubscriptionsRequest(input *ListLogSubscriptionsInput) (req *request.Request, output *ListLogSubscriptionsOutput) {
4306	op := &request.Operation{
4307		Name:       opListLogSubscriptions,
4308		HTTPMethod: "POST",
4309		HTTPPath:   "/",
4310	}
4311
4312	if input == nil {
4313		input = &ListLogSubscriptionsInput{}
4314	}
4315
4316	output = &ListLogSubscriptionsOutput{}
4317	req = c.newRequest(op, input, output)
4318	return
4319}
4320
4321// ListLogSubscriptions API operation for AWS Directory Service.
4322//
4323// Lists the active log subscriptions for the Amazon Web Services account.
4324//
4325// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4326// with awserr.Error's Code and Message methods to get detailed information about
4327// the error.
4328//
4329// See the AWS API reference guide for AWS Directory Service's
4330// API operation ListLogSubscriptions for usage and error information.
4331//
4332// Returned Error Types:
4333//   * EntityDoesNotExistException
4334//   The specified entity could not be found.
4335//
4336//   * InvalidNextTokenException
4337//   The NextToken value is not valid.
4338//
4339//   * ClientException
4340//   A client exception has occurred.
4341//
4342//   * ServiceException
4343//   An exception has occurred in Directory Service.
4344//
4345// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListLogSubscriptions
4346func (c *DirectoryService) ListLogSubscriptions(input *ListLogSubscriptionsInput) (*ListLogSubscriptionsOutput, error) {
4347	req, out := c.ListLogSubscriptionsRequest(input)
4348	return out, req.Send()
4349}
4350
4351// ListLogSubscriptionsWithContext is the same as ListLogSubscriptions with the addition of
4352// the ability to pass a context and additional request options.
4353//
4354// See ListLogSubscriptions for details on how to use this API operation.
4355//
4356// The context must be non-nil and will be used for request cancellation. If
4357// the context is nil a panic will occur. In the future the SDK may create
4358// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4359// for more information on using Contexts.
4360func (c *DirectoryService) ListLogSubscriptionsWithContext(ctx aws.Context, input *ListLogSubscriptionsInput, opts ...request.Option) (*ListLogSubscriptionsOutput, error) {
4361	req, out := c.ListLogSubscriptionsRequest(input)
4362	req.SetContext(ctx)
4363	req.ApplyOptions(opts...)
4364	return out, req.Send()
4365}
4366
4367const opListSchemaExtensions = "ListSchemaExtensions"
4368
4369// ListSchemaExtensionsRequest generates a "aws/request.Request" representing the
4370// client's request for the ListSchemaExtensions operation. The "output" return
4371// value will be populated with the request's response once the request completes
4372// successfully.
4373//
4374// Use "Send" method on the returned Request to send the API call to the service.
4375// the "output" return value is not valid until after Send returns without error.
4376//
4377// See ListSchemaExtensions for more information on using the ListSchemaExtensions
4378// API call, and error handling.
4379//
4380// This method is useful when you want to inject custom logic or configuration
4381// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4382//
4383//
4384//    // Example sending a request using the ListSchemaExtensionsRequest method.
4385//    req, resp := client.ListSchemaExtensionsRequest(params)
4386//
4387//    err := req.Send()
4388//    if err == nil { // resp is now filled
4389//        fmt.Println(resp)
4390//    }
4391//
4392// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListSchemaExtensions
4393func (c *DirectoryService) ListSchemaExtensionsRequest(input *ListSchemaExtensionsInput) (req *request.Request, output *ListSchemaExtensionsOutput) {
4394	op := &request.Operation{
4395		Name:       opListSchemaExtensions,
4396		HTTPMethod: "POST",
4397		HTTPPath:   "/",
4398	}
4399
4400	if input == nil {
4401		input = &ListSchemaExtensionsInput{}
4402	}
4403
4404	output = &ListSchemaExtensionsOutput{}
4405	req = c.newRequest(op, input, output)
4406	return
4407}
4408
4409// ListSchemaExtensions API operation for AWS Directory Service.
4410//
4411// Lists all schema extensions applied to a Microsoft AD Directory.
4412//
4413// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4414// with awserr.Error's Code and Message methods to get detailed information about
4415// the error.
4416//
4417// See the AWS API reference guide for AWS Directory Service's
4418// API operation ListSchemaExtensions for usage and error information.
4419//
4420// Returned Error Types:
4421//   * InvalidNextTokenException
4422//   The NextToken value is not valid.
4423//
4424//   * EntityDoesNotExistException
4425//   The specified entity could not be found.
4426//
4427//   * ClientException
4428//   A client exception has occurred.
4429//
4430//   * ServiceException
4431//   An exception has occurred in Directory Service.
4432//
4433// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListSchemaExtensions
4434func (c *DirectoryService) ListSchemaExtensions(input *ListSchemaExtensionsInput) (*ListSchemaExtensionsOutput, error) {
4435	req, out := c.ListSchemaExtensionsRequest(input)
4436	return out, req.Send()
4437}
4438
4439// ListSchemaExtensionsWithContext is the same as ListSchemaExtensions with the addition of
4440// the ability to pass a context and additional request options.
4441//
4442// See ListSchemaExtensions for details on how to use this API operation.
4443//
4444// The context must be non-nil and will be used for request cancellation. If
4445// the context is nil a panic will occur. In the future the SDK may create
4446// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4447// for more information on using Contexts.
4448func (c *DirectoryService) ListSchemaExtensionsWithContext(ctx aws.Context, input *ListSchemaExtensionsInput, opts ...request.Option) (*ListSchemaExtensionsOutput, error) {
4449	req, out := c.ListSchemaExtensionsRequest(input)
4450	req.SetContext(ctx)
4451	req.ApplyOptions(opts...)
4452	return out, req.Send()
4453}
4454
4455const opListTagsForResource = "ListTagsForResource"
4456
4457// ListTagsForResourceRequest generates a "aws/request.Request" representing the
4458// client's request for the ListTagsForResource operation. The "output" return
4459// value will be populated with the request's response once the request completes
4460// successfully.
4461//
4462// Use "Send" method on the returned Request to send the API call to the service.
4463// the "output" return value is not valid until after Send returns without error.
4464//
4465// See ListTagsForResource for more information on using the ListTagsForResource
4466// API call, and error handling.
4467//
4468// This method is useful when you want to inject custom logic or configuration
4469// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4470//
4471//
4472//    // Example sending a request using the ListTagsForResourceRequest method.
4473//    req, resp := client.ListTagsForResourceRequest(params)
4474//
4475//    err := req.Send()
4476//    if err == nil { // resp is now filled
4477//        fmt.Println(resp)
4478//    }
4479//
4480// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListTagsForResource
4481func (c *DirectoryService) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
4482	op := &request.Operation{
4483		Name:       opListTagsForResource,
4484		HTTPMethod: "POST",
4485		HTTPPath:   "/",
4486	}
4487
4488	if input == nil {
4489		input = &ListTagsForResourceInput{}
4490	}
4491
4492	output = &ListTagsForResourceOutput{}
4493	req = c.newRequest(op, input, output)
4494	return
4495}
4496
4497// ListTagsForResource API operation for AWS Directory Service.
4498//
4499// Lists all tags on a directory.
4500//
4501// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4502// with awserr.Error's Code and Message methods to get detailed information about
4503// the error.
4504//
4505// See the AWS API reference guide for AWS Directory Service's
4506// API operation ListTagsForResource for usage and error information.
4507//
4508// Returned Error Types:
4509//   * EntityDoesNotExistException
4510//   The specified entity could not be found.
4511//
4512//   * InvalidNextTokenException
4513//   The NextToken value is not valid.
4514//
4515//   * InvalidParameterException
4516//   One or more parameters are not valid.
4517//
4518//   * ClientException
4519//   A client exception has occurred.
4520//
4521//   * ServiceException
4522//   An exception has occurred in Directory Service.
4523//
4524// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListTagsForResource
4525func (c *DirectoryService) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4526	req, out := c.ListTagsForResourceRequest(input)
4527	return out, req.Send()
4528}
4529
4530// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4531// the ability to pass a context and additional request options.
4532//
4533// See ListTagsForResource for details on how to use this API operation.
4534//
4535// The context must be non-nil and will be used for request cancellation. If
4536// the context is nil a panic will occur. In the future the SDK may create
4537// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4538// for more information on using Contexts.
4539func (c *DirectoryService) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4540	req, out := c.ListTagsForResourceRequest(input)
4541	req.SetContext(ctx)
4542	req.ApplyOptions(opts...)
4543	return out, req.Send()
4544}
4545
4546const opRegisterCertificate = "RegisterCertificate"
4547
4548// RegisterCertificateRequest generates a "aws/request.Request" representing the
4549// client's request for the RegisterCertificate operation. The "output" return
4550// value will be populated with the request's response once the request completes
4551// successfully.
4552//
4553// Use "Send" method on the returned Request to send the API call to the service.
4554// the "output" return value is not valid until after Send returns without error.
4555//
4556// See RegisterCertificate for more information on using the RegisterCertificate
4557// API call, and error handling.
4558//
4559// This method is useful when you want to inject custom logic or configuration
4560// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4561//
4562//
4563//    // Example sending a request using the RegisterCertificateRequest method.
4564//    req, resp := client.RegisterCertificateRequest(params)
4565//
4566//    err := req.Send()
4567//    if err == nil { // resp is now filled
4568//        fmt.Println(resp)
4569//    }
4570//
4571// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RegisterCertificate
4572func (c *DirectoryService) RegisterCertificateRequest(input *RegisterCertificateInput) (req *request.Request, output *RegisterCertificateOutput) {
4573	op := &request.Operation{
4574		Name:       opRegisterCertificate,
4575		HTTPMethod: "POST",
4576		HTTPPath:   "/",
4577	}
4578
4579	if input == nil {
4580		input = &RegisterCertificateInput{}
4581	}
4582
4583	output = &RegisterCertificateOutput{}
4584	req = c.newRequest(op, input, output)
4585	return
4586}
4587
4588// RegisterCertificate API operation for AWS Directory Service.
4589//
4590// Registers a certificate for a secure LDAP or client certificate authentication.
4591//
4592// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4593// with awserr.Error's Code and Message methods to get detailed information about
4594// the error.
4595//
4596// See the AWS API reference guide for AWS Directory Service's
4597// API operation RegisterCertificate for usage and error information.
4598//
4599// Returned Error Types:
4600//   * DirectoryUnavailableException
4601//   The specified directory is unavailable or could not be found.
4602//
4603//   * DirectoryDoesNotExistException
4604//   The specified directory does not exist in the system.
4605//
4606//   * InvalidCertificateException
4607//   The certificate PEM that was provided has incorrect encoding.
4608//
4609//   * CertificateLimitExceededException
4610//   The certificate could not be added because the certificate limit has been
4611//   reached.
4612//
4613//   * CertificateAlreadyExistsException
4614//   The certificate has already been registered into the system.
4615//
4616//   * UnsupportedOperationException
4617//   The operation is not supported.
4618//
4619//   * InvalidParameterException
4620//   One or more parameters are not valid.
4621//
4622//   * ClientException
4623//   A client exception has occurred.
4624//
4625//   * ServiceException
4626//   An exception has occurred in Directory Service.
4627//
4628// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RegisterCertificate
4629func (c *DirectoryService) RegisterCertificate(input *RegisterCertificateInput) (*RegisterCertificateOutput, error) {
4630	req, out := c.RegisterCertificateRequest(input)
4631	return out, req.Send()
4632}
4633
4634// RegisterCertificateWithContext is the same as RegisterCertificate with the addition of
4635// the ability to pass a context and additional request options.
4636//
4637// See RegisterCertificate for details on how to use this API operation.
4638//
4639// The context must be non-nil and will be used for request cancellation. If
4640// the context is nil a panic will occur. In the future the SDK may create
4641// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4642// for more information on using Contexts.
4643func (c *DirectoryService) RegisterCertificateWithContext(ctx aws.Context, input *RegisterCertificateInput, opts ...request.Option) (*RegisterCertificateOutput, error) {
4644	req, out := c.RegisterCertificateRequest(input)
4645	req.SetContext(ctx)
4646	req.ApplyOptions(opts...)
4647	return out, req.Send()
4648}
4649
4650const opRegisterEventTopic = "RegisterEventTopic"
4651
4652// RegisterEventTopicRequest generates a "aws/request.Request" representing the
4653// client's request for the RegisterEventTopic operation. The "output" return
4654// value will be populated with the request's response once the request completes
4655// successfully.
4656//
4657// Use "Send" method on the returned Request to send the API call to the service.
4658// the "output" return value is not valid until after Send returns without error.
4659//
4660// See RegisterEventTopic for more information on using the RegisterEventTopic
4661// API call, and error handling.
4662//
4663// This method is useful when you want to inject custom logic or configuration
4664// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4665//
4666//
4667//    // Example sending a request using the RegisterEventTopicRequest method.
4668//    req, resp := client.RegisterEventTopicRequest(params)
4669//
4670//    err := req.Send()
4671//    if err == nil { // resp is now filled
4672//        fmt.Println(resp)
4673//    }
4674//
4675// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RegisterEventTopic
4676func (c *DirectoryService) RegisterEventTopicRequest(input *RegisterEventTopicInput) (req *request.Request, output *RegisterEventTopicOutput) {
4677	op := &request.Operation{
4678		Name:       opRegisterEventTopic,
4679		HTTPMethod: "POST",
4680		HTTPPath:   "/",
4681	}
4682
4683	if input == nil {
4684		input = &RegisterEventTopicInput{}
4685	}
4686
4687	output = &RegisterEventTopicOutput{}
4688	req = c.newRequest(op, input, output)
4689	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4690	return
4691}
4692
4693// RegisterEventTopic API operation for AWS Directory Service.
4694//
4695// Associates a directory with an Amazon SNS topic. This establishes the directory
4696// as a publisher to the specified Amazon SNS topic. You can then receive email
4697// or text (SMS) messages when the status of your directory changes. You get
4698// notified if your directory goes from an Active status to an Impaired or Inoperable
4699// status. You also receive a notification when the directory returns to an
4700// Active status.
4701//
4702// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4703// with awserr.Error's Code and Message methods to get detailed information about
4704// the error.
4705//
4706// See the AWS API reference guide for AWS Directory Service's
4707// API operation RegisterEventTopic for usage and error information.
4708//
4709// Returned Error Types:
4710//   * EntityDoesNotExistException
4711//   The specified entity could not be found.
4712//
4713//   * InvalidParameterException
4714//   One or more parameters are not valid.
4715//
4716//   * ClientException
4717//   A client exception has occurred.
4718//
4719//   * ServiceException
4720//   An exception has occurred in Directory Service.
4721//
4722// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RegisterEventTopic
4723func (c *DirectoryService) RegisterEventTopic(input *RegisterEventTopicInput) (*RegisterEventTopicOutput, error) {
4724	req, out := c.RegisterEventTopicRequest(input)
4725	return out, req.Send()
4726}
4727
4728// RegisterEventTopicWithContext is the same as RegisterEventTopic with the addition of
4729// the ability to pass a context and additional request options.
4730//
4731// See RegisterEventTopic for details on how to use this API operation.
4732//
4733// The context must be non-nil and will be used for request cancellation. If
4734// the context is nil a panic will occur. In the future the SDK may create
4735// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4736// for more information on using Contexts.
4737func (c *DirectoryService) RegisterEventTopicWithContext(ctx aws.Context, input *RegisterEventTopicInput, opts ...request.Option) (*RegisterEventTopicOutput, error) {
4738	req, out := c.RegisterEventTopicRequest(input)
4739	req.SetContext(ctx)
4740	req.ApplyOptions(opts...)
4741	return out, req.Send()
4742}
4743
4744const opRejectSharedDirectory = "RejectSharedDirectory"
4745
4746// RejectSharedDirectoryRequest generates a "aws/request.Request" representing the
4747// client's request for the RejectSharedDirectory operation. The "output" return
4748// value will be populated with the request's response once the request completes
4749// successfully.
4750//
4751// Use "Send" method on the returned Request to send the API call to the service.
4752// the "output" return value is not valid until after Send returns without error.
4753//
4754// See RejectSharedDirectory for more information on using the RejectSharedDirectory
4755// API call, and error handling.
4756//
4757// This method is useful when you want to inject custom logic or configuration
4758// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4759//
4760//
4761//    // Example sending a request using the RejectSharedDirectoryRequest method.
4762//    req, resp := client.RejectSharedDirectoryRequest(params)
4763//
4764//    err := req.Send()
4765//    if err == nil { // resp is now filled
4766//        fmt.Println(resp)
4767//    }
4768//
4769// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RejectSharedDirectory
4770func (c *DirectoryService) RejectSharedDirectoryRequest(input *RejectSharedDirectoryInput) (req *request.Request, output *RejectSharedDirectoryOutput) {
4771	op := &request.Operation{
4772		Name:       opRejectSharedDirectory,
4773		HTTPMethod: "POST",
4774		HTTPPath:   "/",
4775	}
4776
4777	if input == nil {
4778		input = &RejectSharedDirectoryInput{}
4779	}
4780
4781	output = &RejectSharedDirectoryOutput{}
4782	req = c.newRequest(op, input, output)
4783	return
4784}
4785
4786// RejectSharedDirectory API operation for AWS Directory Service.
4787//
4788// Rejects a directory sharing request that was sent from the directory owner
4789// account.
4790//
4791// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4792// with awserr.Error's Code and Message methods to get detailed information about
4793// the error.
4794//
4795// See the AWS API reference guide for AWS Directory Service's
4796// API operation RejectSharedDirectory for usage and error information.
4797//
4798// Returned Error Types:
4799//   * InvalidParameterException
4800//   One or more parameters are not valid.
4801//
4802//   * EntityDoesNotExistException
4803//   The specified entity could not be found.
4804//
4805//   * DirectoryAlreadySharedException
4806//   The specified directory has already been shared with this Amazon Web Services
4807//   account.
4808//
4809//   * ClientException
4810//   A client exception has occurred.
4811//
4812//   * ServiceException
4813//   An exception has occurred in Directory Service.
4814//
4815// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RejectSharedDirectory
4816func (c *DirectoryService) RejectSharedDirectory(input *RejectSharedDirectoryInput) (*RejectSharedDirectoryOutput, error) {
4817	req, out := c.RejectSharedDirectoryRequest(input)
4818	return out, req.Send()
4819}
4820
4821// RejectSharedDirectoryWithContext is the same as RejectSharedDirectory with the addition of
4822// the ability to pass a context and additional request options.
4823//
4824// See RejectSharedDirectory for details on how to use this API operation.
4825//
4826// The context must be non-nil and will be used for request cancellation. If
4827// the context is nil a panic will occur. In the future the SDK may create
4828// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4829// for more information on using Contexts.
4830func (c *DirectoryService) RejectSharedDirectoryWithContext(ctx aws.Context, input *RejectSharedDirectoryInput, opts ...request.Option) (*RejectSharedDirectoryOutput, error) {
4831	req, out := c.RejectSharedDirectoryRequest(input)
4832	req.SetContext(ctx)
4833	req.ApplyOptions(opts...)
4834	return out, req.Send()
4835}
4836
4837const opRemoveIpRoutes = "RemoveIpRoutes"
4838
4839// RemoveIpRoutesRequest generates a "aws/request.Request" representing the
4840// client's request for the RemoveIpRoutes operation. The "output" return
4841// value will be populated with the request's response once the request completes
4842// successfully.
4843//
4844// Use "Send" method on the returned Request to send the API call to the service.
4845// the "output" return value is not valid until after Send returns without error.
4846//
4847// See RemoveIpRoutes for more information on using the RemoveIpRoutes
4848// API call, and error handling.
4849//
4850// This method is useful when you want to inject custom logic or configuration
4851// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4852//
4853//
4854//    // Example sending a request using the RemoveIpRoutesRequest method.
4855//    req, resp := client.RemoveIpRoutesRequest(params)
4856//
4857//    err := req.Send()
4858//    if err == nil { // resp is now filled
4859//        fmt.Println(resp)
4860//    }
4861//
4862// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RemoveIpRoutes
4863func (c *DirectoryService) RemoveIpRoutesRequest(input *RemoveIpRoutesInput) (req *request.Request, output *RemoveIpRoutesOutput) {
4864	op := &request.Operation{
4865		Name:       opRemoveIpRoutes,
4866		HTTPMethod: "POST",
4867		HTTPPath:   "/",
4868	}
4869
4870	if input == nil {
4871		input = &RemoveIpRoutesInput{}
4872	}
4873
4874	output = &RemoveIpRoutesOutput{}
4875	req = c.newRequest(op, input, output)
4876	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4877	return
4878}
4879
4880// RemoveIpRoutes API operation for AWS Directory Service.
4881//
4882// Removes IP address blocks from a directory.
4883//
4884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4885// with awserr.Error's Code and Message methods to get detailed information about
4886// the error.
4887//
4888// See the AWS API reference guide for AWS Directory Service's
4889// API operation RemoveIpRoutes for usage and error information.
4890//
4891// Returned Error Types:
4892//   * EntityDoesNotExistException
4893//   The specified entity could not be found.
4894//
4895//   * InvalidParameterException
4896//   One or more parameters are not valid.
4897//
4898//   * DirectoryUnavailableException
4899//   The specified directory is unavailable or could not be found.
4900//
4901//   * ClientException
4902//   A client exception has occurred.
4903//
4904//   * ServiceException
4905//   An exception has occurred in Directory Service.
4906//
4907// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RemoveIpRoutes
4908func (c *DirectoryService) RemoveIpRoutes(input *RemoveIpRoutesInput) (*RemoveIpRoutesOutput, error) {
4909	req, out := c.RemoveIpRoutesRequest(input)
4910	return out, req.Send()
4911}
4912
4913// RemoveIpRoutesWithContext is the same as RemoveIpRoutes with the addition of
4914// the ability to pass a context and additional request options.
4915//
4916// See RemoveIpRoutes for details on how to use this API operation.
4917//
4918// The context must be non-nil and will be used for request cancellation. If
4919// the context is nil a panic will occur. In the future the SDK may create
4920// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4921// for more information on using Contexts.
4922func (c *DirectoryService) RemoveIpRoutesWithContext(ctx aws.Context, input *RemoveIpRoutesInput, opts ...request.Option) (*RemoveIpRoutesOutput, error) {
4923	req, out := c.RemoveIpRoutesRequest(input)
4924	req.SetContext(ctx)
4925	req.ApplyOptions(opts...)
4926	return out, req.Send()
4927}
4928
4929const opRemoveRegion = "RemoveRegion"
4930
4931// RemoveRegionRequest generates a "aws/request.Request" representing the
4932// client's request for the RemoveRegion operation. The "output" return
4933// value will be populated with the request's response once the request completes
4934// successfully.
4935//
4936// Use "Send" method on the returned Request to send the API call to the service.
4937// the "output" return value is not valid until after Send returns without error.
4938//
4939// See RemoveRegion for more information on using the RemoveRegion
4940// API call, and error handling.
4941//
4942// This method is useful when you want to inject custom logic or configuration
4943// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4944//
4945//
4946//    // Example sending a request using the RemoveRegionRequest method.
4947//    req, resp := client.RemoveRegionRequest(params)
4948//
4949//    err := req.Send()
4950//    if err == nil { // resp is now filled
4951//        fmt.Println(resp)
4952//    }
4953//
4954// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RemoveRegion
4955func (c *DirectoryService) RemoveRegionRequest(input *RemoveRegionInput) (req *request.Request, output *RemoveRegionOutput) {
4956	op := &request.Operation{
4957		Name:       opRemoveRegion,
4958		HTTPMethod: "POST",
4959		HTTPPath:   "/",
4960	}
4961
4962	if input == nil {
4963		input = &RemoveRegionInput{}
4964	}
4965
4966	output = &RemoveRegionOutput{}
4967	req = c.newRequest(op, input, output)
4968	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4969	return
4970}
4971
4972// RemoveRegion API operation for AWS Directory Service.
4973//
4974// Stops all replication and removes the domain controllers from the specified
4975// Region. You cannot remove the primary Region with this operation. Instead,
4976// use the DeleteDirectory API.
4977//
4978// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4979// with awserr.Error's Code and Message methods to get detailed information about
4980// the error.
4981//
4982// See the AWS API reference guide for AWS Directory Service's
4983// API operation RemoveRegion for usage and error information.
4984//
4985// Returned Error Types:
4986//   * DirectoryUnavailableException
4987//   The specified directory is unavailable or could not be found.
4988//
4989//   * DirectoryDoesNotExistException
4990//   The specified directory does not exist in the system.
4991//
4992//   * UnsupportedOperationException
4993//   The operation is not supported.
4994//
4995//   * AccessDeniedException
4996//   Client authentication is not available in this region at this time.
4997//
4998//   * ClientException
4999//   A client exception has occurred.
5000//
5001//   * ServiceException
5002//   An exception has occurred in Directory Service.
5003//
5004// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RemoveRegion
5005func (c *DirectoryService) RemoveRegion(input *RemoveRegionInput) (*RemoveRegionOutput, error) {
5006	req, out := c.RemoveRegionRequest(input)
5007	return out, req.Send()
5008}
5009
5010// RemoveRegionWithContext is the same as RemoveRegion with the addition of
5011// the ability to pass a context and additional request options.
5012//
5013// See RemoveRegion for details on how to use this API operation.
5014//
5015// The context must be non-nil and will be used for request cancellation. If
5016// the context is nil a panic will occur. In the future the SDK may create
5017// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5018// for more information on using Contexts.
5019func (c *DirectoryService) RemoveRegionWithContext(ctx aws.Context, input *RemoveRegionInput, opts ...request.Option) (*RemoveRegionOutput, error) {
5020	req, out := c.RemoveRegionRequest(input)
5021	req.SetContext(ctx)
5022	req.ApplyOptions(opts...)
5023	return out, req.Send()
5024}
5025
5026const opRemoveTagsFromResource = "RemoveTagsFromResource"
5027
5028// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
5029// client's request for the RemoveTagsFromResource operation. The "output" return
5030// value will be populated with the request's response once the request completes
5031// successfully.
5032//
5033// Use "Send" method on the returned Request to send the API call to the service.
5034// the "output" return value is not valid until after Send returns without error.
5035//
5036// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
5037// API call, and error handling.
5038//
5039// This method is useful when you want to inject custom logic or configuration
5040// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5041//
5042//
5043//    // Example sending a request using the RemoveTagsFromResourceRequest method.
5044//    req, resp := client.RemoveTagsFromResourceRequest(params)
5045//
5046//    err := req.Send()
5047//    if err == nil { // resp is now filled
5048//        fmt.Println(resp)
5049//    }
5050//
5051// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RemoveTagsFromResource
5052func (c *DirectoryService) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
5053	op := &request.Operation{
5054		Name:       opRemoveTagsFromResource,
5055		HTTPMethod: "POST",
5056		HTTPPath:   "/",
5057	}
5058
5059	if input == nil {
5060		input = &RemoveTagsFromResourceInput{}
5061	}
5062
5063	output = &RemoveTagsFromResourceOutput{}
5064	req = c.newRequest(op, input, output)
5065	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5066	return
5067}
5068
5069// RemoveTagsFromResource API operation for AWS Directory Service.
5070//
5071// Removes tags from a directory.
5072//
5073// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5074// with awserr.Error's Code and Message methods to get detailed information about
5075// the error.
5076//
5077// See the AWS API reference guide for AWS Directory Service's
5078// API operation RemoveTagsFromResource for usage and error information.
5079//
5080// Returned Error Types:
5081//   * EntityDoesNotExistException
5082//   The specified entity could not be found.
5083//
5084//   * InvalidParameterException
5085//   One or more parameters are not valid.
5086//
5087//   * ClientException
5088//   A client exception has occurred.
5089//
5090//   * ServiceException
5091//   An exception has occurred in Directory Service.
5092//
5093// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RemoveTagsFromResource
5094func (c *DirectoryService) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
5095	req, out := c.RemoveTagsFromResourceRequest(input)
5096	return out, req.Send()
5097}
5098
5099// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
5100// the ability to pass a context and additional request options.
5101//
5102// See RemoveTagsFromResource for details on how to use this API operation.
5103//
5104// The context must be non-nil and will be used for request cancellation. If
5105// the context is nil a panic will occur. In the future the SDK may create
5106// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5107// for more information on using Contexts.
5108func (c *DirectoryService) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
5109	req, out := c.RemoveTagsFromResourceRequest(input)
5110	req.SetContext(ctx)
5111	req.ApplyOptions(opts...)
5112	return out, req.Send()
5113}
5114
5115const opResetUserPassword = "ResetUserPassword"
5116
5117// ResetUserPasswordRequest generates a "aws/request.Request" representing the
5118// client's request for the ResetUserPassword operation. The "output" return
5119// value will be populated with the request's response once the request completes
5120// successfully.
5121//
5122// Use "Send" method on the returned Request to send the API call to the service.
5123// the "output" return value is not valid until after Send returns without error.
5124//
5125// See ResetUserPassword for more information on using the ResetUserPassword
5126// API call, and error handling.
5127//
5128// This method is useful when you want to inject custom logic or configuration
5129// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5130//
5131//
5132//    // Example sending a request using the ResetUserPasswordRequest method.
5133//    req, resp := client.ResetUserPasswordRequest(params)
5134//
5135//    err := req.Send()
5136//    if err == nil { // resp is now filled
5137//        fmt.Println(resp)
5138//    }
5139//
5140// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ResetUserPassword
5141func (c *DirectoryService) ResetUserPasswordRequest(input *ResetUserPasswordInput) (req *request.Request, output *ResetUserPasswordOutput) {
5142	op := &request.Operation{
5143		Name:       opResetUserPassword,
5144		HTTPMethod: "POST",
5145		HTTPPath:   "/",
5146	}
5147
5148	if input == nil {
5149		input = &ResetUserPasswordInput{}
5150	}
5151
5152	output = &ResetUserPasswordOutput{}
5153	req = c.newRequest(op, input, output)
5154	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5155	return
5156}
5157
5158// ResetUserPassword API operation for AWS Directory Service.
5159//
5160// Resets the password for any user in your Managed Microsoft AD or Simple AD
5161// directory.
5162//
5163// You can reset the password for any user in your directory with the following
5164// exceptions:
5165//
5166//    * For Simple AD, you cannot reset the password for any user that is a
5167//    member of either the Domain Admins or Enterprise Admins group except for
5168//    the administrator user.
5169//
5170//    * For Managed Microsoft AD, you can only reset the password for a user
5171//    that is in an OU based off of the NetBIOS name that you typed when you
5172//    created your directory. For example, you cannot reset the password for
5173//    a user in the Amazon Web Services Reserved OU. For more information about
5174//    the OU structure for an Managed Microsoft AD directory, see What Gets
5175//    Created (https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_getting_started_what_gets_created.html)
5176//    in the Directory Service Administration Guide.
5177//
5178// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5179// with awserr.Error's Code and Message methods to get detailed information about
5180// the error.
5181//
5182// See the AWS API reference guide for AWS Directory Service's
5183// API operation ResetUserPassword for usage and error information.
5184//
5185// Returned Error Types:
5186//   * DirectoryUnavailableException
5187//   The specified directory is unavailable or could not be found.
5188//
5189//   * UserDoesNotExistException
5190//   The user provided a username that does not exist in your directory.
5191//
5192//   * InvalidPasswordException
5193//   The new password provided by the user does not meet the password complexity
5194//   requirements defined in your directory.
5195//
5196//   * UnsupportedOperationException
5197//   The operation is not supported.
5198//
5199//   * EntityDoesNotExistException
5200//   The specified entity could not be found.
5201//
5202//   * ClientException
5203//   A client exception has occurred.
5204//
5205//   * ServiceException
5206//   An exception has occurred in Directory Service.
5207//
5208// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ResetUserPassword
5209func (c *DirectoryService) ResetUserPassword(input *ResetUserPasswordInput) (*ResetUserPasswordOutput, error) {
5210	req, out := c.ResetUserPasswordRequest(input)
5211	return out, req.Send()
5212}
5213
5214// ResetUserPasswordWithContext is the same as ResetUserPassword with the addition of
5215// the ability to pass a context and additional request options.
5216//
5217// See ResetUserPassword for details on how to use this API operation.
5218//
5219// The context must be non-nil and will be used for request cancellation. If
5220// the context is nil a panic will occur. In the future the SDK may create
5221// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5222// for more information on using Contexts.
5223func (c *DirectoryService) ResetUserPasswordWithContext(ctx aws.Context, input *ResetUserPasswordInput, opts ...request.Option) (*ResetUserPasswordOutput, error) {
5224	req, out := c.ResetUserPasswordRequest(input)
5225	req.SetContext(ctx)
5226	req.ApplyOptions(opts...)
5227	return out, req.Send()
5228}
5229
5230const opRestoreFromSnapshot = "RestoreFromSnapshot"
5231
5232// RestoreFromSnapshotRequest generates a "aws/request.Request" representing the
5233// client's request for the RestoreFromSnapshot operation. The "output" return
5234// value will be populated with the request's response once the request completes
5235// successfully.
5236//
5237// Use "Send" method on the returned Request to send the API call to the service.
5238// the "output" return value is not valid until after Send returns without error.
5239//
5240// See RestoreFromSnapshot for more information on using the RestoreFromSnapshot
5241// API call, and error handling.
5242//
5243// This method is useful when you want to inject custom logic or configuration
5244// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5245//
5246//
5247//    // Example sending a request using the RestoreFromSnapshotRequest method.
5248//    req, resp := client.RestoreFromSnapshotRequest(params)
5249//
5250//    err := req.Send()
5251//    if err == nil { // resp is now filled
5252//        fmt.Println(resp)
5253//    }
5254//
5255// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RestoreFromSnapshot
5256func (c *DirectoryService) RestoreFromSnapshotRequest(input *RestoreFromSnapshotInput) (req *request.Request, output *RestoreFromSnapshotOutput) {
5257	op := &request.Operation{
5258		Name:       opRestoreFromSnapshot,
5259		HTTPMethod: "POST",
5260		HTTPPath:   "/",
5261	}
5262
5263	if input == nil {
5264		input = &RestoreFromSnapshotInput{}
5265	}
5266
5267	output = &RestoreFromSnapshotOutput{}
5268	req = c.newRequest(op, input, output)
5269	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5270	return
5271}
5272
5273// RestoreFromSnapshot API operation for AWS Directory Service.
5274//
5275// Restores a directory using an existing directory snapshot.
5276//
5277// When you restore a directory from a snapshot, any changes made to the directory
5278// after the snapshot date are overwritten.
5279//
5280// This action returns as soon as the restore operation is initiated. You can
5281// monitor the progress of the restore operation by calling the DescribeDirectories
5282// operation with the directory identifier. When the DirectoryDescription.Stage
5283// value changes to Active, the restore operation is complete.
5284//
5285// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5286// with awserr.Error's Code and Message methods to get detailed information about
5287// the error.
5288//
5289// See the AWS API reference guide for AWS Directory Service's
5290// API operation RestoreFromSnapshot for usage and error information.
5291//
5292// Returned Error Types:
5293//   * EntityDoesNotExistException
5294//   The specified entity could not be found.
5295//
5296//   * InvalidParameterException
5297//   One or more parameters are not valid.
5298//
5299//   * ClientException
5300//   A client exception has occurred.
5301//
5302//   * ServiceException
5303//   An exception has occurred in Directory Service.
5304//
5305// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RestoreFromSnapshot
5306func (c *DirectoryService) RestoreFromSnapshot(input *RestoreFromSnapshotInput) (*RestoreFromSnapshotOutput, error) {
5307	req, out := c.RestoreFromSnapshotRequest(input)
5308	return out, req.Send()
5309}
5310
5311// RestoreFromSnapshotWithContext is the same as RestoreFromSnapshot with the addition of
5312// the ability to pass a context and additional request options.
5313//
5314// See RestoreFromSnapshot for details on how to use this API operation.
5315//
5316// The context must be non-nil and will be used for request cancellation. If
5317// the context is nil a panic will occur. In the future the SDK may create
5318// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5319// for more information on using Contexts.
5320func (c *DirectoryService) RestoreFromSnapshotWithContext(ctx aws.Context, input *RestoreFromSnapshotInput, opts ...request.Option) (*RestoreFromSnapshotOutput, error) {
5321	req, out := c.RestoreFromSnapshotRequest(input)
5322	req.SetContext(ctx)
5323	req.ApplyOptions(opts...)
5324	return out, req.Send()
5325}
5326
5327const opShareDirectory = "ShareDirectory"
5328
5329// ShareDirectoryRequest generates a "aws/request.Request" representing the
5330// client's request for the ShareDirectory operation. The "output" return
5331// value will be populated with the request's response once the request completes
5332// successfully.
5333//
5334// Use "Send" method on the returned Request to send the API call to the service.
5335// the "output" return value is not valid until after Send returns without error.
5336//
5337// See ShareDirectory for more information on using the ShareDirectory
5338// API call, and error handling.
5339//
5340// This method is useful when you want to inject custom logic or configuration
5341// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5342//
5343//
5344//    // Example sending a request using the ShareDirectoryRequest method.
5345//    req, resp := client.ShareDirectoryRequest(params)
5346//
5347//    err := req.Send()
5348//    if err == nil { // resp is now filled
5349//        fmt.Println(resp)
5350//    }
5351//
5352// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ShareDirectory
5353func (c *DirectoryService) ShareDirectoryRequest(input *ShareDirectoryInput) (req *request.Request, output *ShareDirectoryOutput) {
5354	op := &request.Operation{
5355		Name:       opShareDirectory,
5356		HTTPMethod: "POST",
5357		HTTPPath:   "/",
5358	}
5359
5360	if input == nil {
5361		input = &ShareDirectoryInput{}
5362	}
5363
5364	output = &ShareDirectoryOutput{}
5365	req = c.newRequest(op, input, output)
5366	return
5367}
5368
5369// ShareDirectory API operation for AWS Directory Service.
5370//
5371// Shares a specified directory (DirectoryId) in your Amazon Web Services account
5372// (directory owner) with another Amazon Web Services account (directory consumer).
5373// With this operation you can use your directory from any Amazon Web Services
5374// account and from any Amazon VPC within an Amazon Web Services Region.
5375//
5376// When you share your Managed Microsoft AD directory, Directory Service creates
5377// a shared directory in the directory consumer account. This shared directory
5378// contains the metadata to provide access to the directory within the directory
5379// owner account. The shared directory is visible in all VPCs in the directory
5380// consumer account.
5381//
5382// The ShareMethod parameter determines whether the specified directory can
5383// be shared between Amazon Web Services accounts inside the same Amazon Web
5384// Services organization (ORGANIZATIONS). It also determines whether you can
5385// share the directory with any other Amazon Web Services account either inside
5386// or outside of the organization (HANDSHAKE).
5387//
5388// The ShareNotes parameter is only used when HANDSHAKE is called, which sends
5389// a directory sharing request to the directory consumer.
5390//
5391// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5392// with awserr.Error's Code and Message methods to get detailed information about
5393// the error.
5394//
5395// See the AWS API reference guide for AWS Directory Service's
5396// API operation ShareDirectory for usage and error information.
5397//
5398// Returned Error Types:
5399//   * DirectoryAlreadySharedException
5400//   The specified directory has already been shared with this Amazon Web Services
5401//   account.
5402//
5403//   * EntityDoesNotExistException
5404//   The specified entity could not be found.
5405//
5406//   * InvalidTargetException
5407//   The specified shared target is not valid.
5408//
5409//   * InvalidParameterException
5410//   One or more parameters are not valid.
5411//
5412//   * ClientException
5413//   A client exception has occurred.
5414//
5415//   * ShareLimitExceededException
5416//   The maximum number of Amazon Web Services accounts that you can share with
5417//   this directory has been reached.
5418//
5419//   * OrganizationsException
5420//   Exception encountered while trying to access your Amazon Web Services organization.
5421//
5422//   * AccessDeniedException
5423//   Client authentication is not available in this region at this time.
5424//
5425//   * UnsupportedOperationException
5426//   The operation is not supported.
5427//
5428//   * ServiceException
5429//   An exception has occurred in Directory Service.
5430//
5431// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ShareDirectory
5432func (c *DirectoryService) ShareDirectory(input *ShareDirectoryInput) (*ShareDirectoryOutput, error) {
5433	req, out := c.ShareDirectoryRequest(input)
5434	return out, req.Send()
5435}
5436
5437// ShareDirectoryWithContext is the same as ShareDirectory with the addition of
5438// the ability to pass a context and additional request options.
5439//
5440// See ShareDirectory for details on how to use this API operation.
5441//
5442// The context must be non-nil and will be used for request cancellation. If
5443// the context is nil a panic will occur. In the future the SDK may create
5444// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5445// for more information on using Contexts.
5446func (c *DirectoryService) ShareDirectoryWithContext(ctx aws.Context, input *ShareDirectoryInput, opts ...request.Option) (*ShareDirectoryOutput, error) {
5447	req, out := c.ShareDirectoryRequest(input)
5448	req.SetContext(ctx)
5449	req.ApplyOptions(opts...)
5450	return out, req.Send()
5451}
5452
5453const opStartSchemaExtension = "StartSchemaExtension"
5454
5455// StartSchemaExtensionRequest generates a "aws/request.Request" representing the
5456// client's request for the StartSchemaExtension operation. The "output" return
5457// value will be populated with the request's response once the request completes
5458// successfully.
5459//
5460// Use "Send" method on the returned Request to send the API call to the service.
5461// the "output" return value is not valid until after Send returns without error.
5462//
5463// See StartSchemaExtension for more information on using the StartSchemaExtension
5464// API call, and error handling.
5465//
5466// This method is useful when you want to inject custom logic or configuration
5467// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5468//
5469//
5470//    // Example sending a request using the StartSchemaExtensionRequest method.
5471//    req, resp := client.StartSchemaExtensionRequest(params)
5472//
5473//    err := req.Send()
5474//    if err == nil { // resp is now filled
5475//        fmt.Println(resp)
5476//    }
5477//
5478// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/StartSchemaExtension
5479func (c *DirectoryService) StartSchemaExtensionRequest(input *StartSchemaExtensionInput) (req *request.Request, output *StartSchemaExtensionOutput) {
5480	op := &request.Operation{
5481		Name:       opStartSchemaExtension,
5482		HTTPMethod: "POST",
5483		HTTPPath:   "/",
5484	}
5485
5486	if input == nil {
5487		input = &StartSchemaExtensionInput{}
5488	}
5489
5490	output = &StartSchemaExtensionOutput{}
5491	req = c.newRequest(op, input, output)
5492	return
5493}
5494
5495// StartSchemaExtension API operation for AWS Directory Service.
5496//
5497// Applies a schema extension to a Microsoft AD directory.
5498//
5499// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5500// with awserr.Error's Code and Message methods to get detailed information about
5501// the error.
5502//
5503// See the AWS API reference guide for AWS Directory Service's
5504// API operation StartSchemaExtension for usage and error information.
5505//
5506// Returned Error Types:
5507//   * DirectoryUnavailableException
5508//   The specified directory is unavailable or could not be found.
5509//
5510//   * EntityDoesNotExistException
5511//   The specified entity could not be found.
5512//
5513//   * InvalidParameterException
5514//   One or more parameters are not valid.
5515//
5516//   * SnapshotLimitExceededException
5517//   The maximum number of manual snapshots for the directory has been reached.
5518//   You can use the GetSnapshotLimits operation to determine the snapshot limits
5519//   for a directory.
5520//
5521//   * ClientException
5522//   A client exception has occurred.
5523//
5524//   * ServiceException
5525//   An exception has occurred in Directory Service.
5526//
5527// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/StartSchemaExtension
5528func (c *DirectoryService) StartSchemaExtension(input *StartSchemaExtensionInput) (*StartSchemaExtensionOutput, error) {
5529	req, out := c.StartSchemaExtensionRequest(input)
5530	return out, req.Send()
5531}
5532
5533// StartSchemaExtensionWithContext is the same as StartSchemaExtension with the addition of
5534// the ability to pass a context and additional request options.
5535//
5536// See StartSchemaExtension for details on how to use this API operation.
5537//
5538// The context must be non-nil and will be used for request cancellation. If
5539// the context is nil a panic will occur. In the future the SDK may create
5540// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5541// for more information on using Contexts.
5542func (c *DirectoryService) StartSchemaExtensionWithContext(ctx aws.Context, input *StartSchemaExtensionInput, opts ...request.Option) (*StartSchemaExtensionOutput, error) {
5543	req, out := c.StartSchemaExtensionRequest(input)
5544	req.SetContext(ctx)
5545	req.ApplyOptions(opts...)
5546	return out, req.Send()
5547}
5548
5549const opUnshareDirectory = "UnshareDirectory"
5550
5551// UnshareDirectoryRequest generates a "aws/request.Request" representing the
5552// client's request for the UnshareDirectory operation. The "output" return
5553// value will be populated with the request's response once the request completes
5554// successfully.
5555//
5556// Use "Send" method on the returned Request to send the API call to the service.
5557// the "output" return value is not valid until after Send returns without error.
5558//
5559// See UnshareDirectory for more information on using the UnshareDirectory
5560// API call, and error handling.
5561//
5562// This method is useful when you want to inject custom logic or configuration
5563// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5564//
5565//
5566//    // Example sending a request using the UnshareDirectoryRequest method.
5567//    req, resp := client.UnshareDirectoryRequest(params)
5568//
5569//    err := req.Send()
5570//    if err == nil { // resp is now filled
5571//        fmt.Println(resp)
5572//    }
5573//
5574// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UnshareDirectory
5575func (c *DirectoryService) UnshareDirectoryRequest(input *UnshareDirectoryInput) (req *request.Request, output *UnshareDirectoryOutput) {
5576	op := &request.Operation{
5577		Name:       opUnshareDirectory,
5578		HTTPMethod: "POST",
5579		HTTPPath:   "/",
5580	}
5581
5582	if input == nil {
5583		input = &UnshareDirectoryInput{}
5584	}
5585
5586	output = &UnshareDirectoryOutput{}
5587	req = c.newRequest(op, input, output)
5588	return
5589}
5590
5591// UnshareDirectory API operation for AWS Directory Service.
5592//
5593// Stops the directory sharing between the directory owner and consumer accounts.
5594//
5595// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5596// with awserr.Error's Code and Message methods to get detailed information about
5597// the error.
5598//
5599// See the AWS API reference guide for AWS Directory Service's
5600// API operation UnshareDirectory for usage and error information.
5601//
5602// Returned Error Types:
5603//   * EntityDoesNotExistException
5604//   The specified entity could not be found.
5605//
5606//   * InvalidTargetException
5607//   The specified shared target is not valid.
5608//
5609//   * DirectoryNotSharedException
5610//   The specified directory has not been shared with this Amazon Web Services
5611//   account.
5612//
5613//   * ClientException
5614//   A client exception has occurred.
5615//
5616//   * ServiceException
5617//   An exception has occurred in Directory Service.
5618//
5619// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UnshareDirectory
5620func (c *DirectoryService) UnshareDirectory(input *UnshareDirectoryInput) (*UnshareDirectoryOutput, error) {
5621	req, out := c.UnshareDirectoryRequest(input)
5622	return out, req.Send()
5623}
5624
5625// UnshareDirectoryWithContext is the same as UnshareDirectory with the addition of
5626// the ability to pass a context and additional request options.
5627//
5628// See UnshareDirectory for details on how to use this API operation.
5629//
5630// The context must be non-nil and will be used for request cancellation. If
5631// the context is nil a panic will occur. In the future the SDK may create
5632// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5633// for more information on using Contexts.
5634func (c *DirectoryService) UnshareDirectoryWithContext(ctx aws.Context, input *UnshareDirectoryInput, opts ...request.Option) (*UnshareDirectoryOutput, error) {
5635	req, out := c.UnshareDirectoryRequest(input)
5636	req.SetContext(ctx)
5637	req.ApplyOptions(opts...)
5638	return out, req.Send()
5639}
5640
5641const opUpdateConditionalForwarder = "UpdateConditionalForwarder"
5642
5643// UpdateConditionalForwarderRequest generates a "aws/request.Request" representing the
5644// client's request for the UpdateConditionalForwarder operation. The "output" return
5645// value will be populated with the request's response once the request completes
5646// successfully.
5647//
5648// Use "Send" method on the returned Request to send the API call to the service.
5649// the "output" return value is not valid until after Send returns without error.
5650//
5651// See UpdateConditionalForwarder for more information on using the UpdateConditionalForwarder
5652// API call, and error handling.
5653//
5654// This method is useful when you want to inject custom logic or configuration
5655// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5656//
5657//
5658//    // Example sending a request using the UpdateConditionalForwarderRequest method.
5659//    req, resp := client.UpdateConditionalForwarderRequest(params)
5660//
5661//    err := req.Send()
5662//    if err == nil { // resp is now filled
5663//        fmt.Println(resp)
5664//    }
5665//
5666// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UpdateConditionalForwarder
5667func (c *DirectoryService) UpdateConditionalForwarderRequest(input *UpdateConditionalForwarderInput) (req *request.Request, output *UpdateConditionalForwarderOutput) {
5668	op := &request.Operation{
5669		Name:       opUpdateConditionalForwarder,
5670		HTTPMethod: "POST",
5671		HTTPPath:   "/",
5672	}
5673
5674	if input == nil {
5675		input = &UpdateConditionalForwarderInput{}
5676	}
5677
5678	output = &UpdateConditionalForwarderOutput{}
5679	req = c.newRequest(op, input, output)
5680	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5681	return
5682}
5683
5684// UpdateConditionalForwarder API operation for AWS Directory Service.
5685//
5686// Updates a conditional forwarder that has been set up for your Amazon Web
5687// Services directory.
5688//
5689// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5690// with awserr.Error's Code and Message methods to get detailed information about
5691// the error.
5692//
5693// See the AWS API reference guide for AWS Directory Service's
5694// API operation UpdateConditionalForwarder for usage and error information.
5695//
5696// Returned Error Types:
5697//   * EntityDoesNotExistException
5698//   The specified entity could not be found.
5699//
5700//   * DirectoryUnavailableException
5701//   The specified directory is unavailable or could not be found.
5702//
5703//   * InvalidParameterException
5704//   One or more parameters are not valid.
5705//
5706//   * UnsupportedOperationException
5707//   The operation is not supported.
5708//
5709//   * ClientException
5710//   A client exception has occurred.
5711//
5712//   * ServiceException
5713//   An exception has occurred in Directory Service.
5714//
5715// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UpdateConditionalForwarder
5716func (c *DirectoryService) UpdateConditionalForwarder(input *UpdateConditionalForwarderInput) (*UpdateConditionalForwarderOutput, error) {
5717	req, out := c.UpdateConditionalForwarderRequest(input)
5718	return out, req.Send()
5719}
5720
5721// UpdateConditionalForwarderWithContext is the same as UpdateConditionalForwarder with the addition of
5722// the ability to pass a context and additional request options.
5723//
5724// See UpdateConditionalForwarder for details on how to use this API operation.
5725//
5726// The context must be non-nil and will be used for request cancellation. If
5727// the context is nil a panic will occur. In the future the SDK may create
5728// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5729// for more information on using Contexts.
5730func (c *DirectoryService) UpdateConditionalForwarderWithContext(ctx aws.Context, input *UpdateConditionalForwarderInput, opts ...request.Option) (*UpdateConditionalForwarderOutput, error) {
5731	req, out := c.UpdateConditionalForwarderRequest(input)
5732	req.SetContext(ctx)
5733	req.ApplyOptions(opts...)
5734	return out, req.Send()
5735}
5736
5737const opUpdateNumberOfDomainControllers = "UpdateNumberOfDomainControllers"
5738
5739// UpdateNumberOfDomainControllersRequest generates a "aws/request.Request" representing the
5740// client's request for the UpdateNumberOfDomainControllers operation. The "output" return
5741// value will be populated with the request's response once the request completes
5742// successfully.
5743//
5744// Use "Send" method on the returned Request to send the API call to the service.
5745// the "output" return value is not valid until after Send returns without error.
5746//
5747// See UpdateNumberOfDomainControllers for more information on using the UpdateNumberOfDomainControllers
5748// API call, and error handling.
5749//
5750// This method is useful when you want to inject custom logic or configuration
5751// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5752//
5753//
5754//    // Example sending a request using the UpdateNumberOfDomainControllersRequest method.
5755//    req, resp := client.UpdateNumberOfDomainControllersRequest(params)
5756//
5757//    err := req.Send()
5758//    if err == nil { // resp is now filled
5759//        fmt.Println(resp)
5760//    }
5761//
5762// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UpdateNumberOfDomainControllers
5763func (c *DirectoryService) UpdateNumberOfDomainControllersRequest(input *UpdateNumberOfDomainControllersInput) (req *request.Request, output *UpdateNumberOfDomainControllersOutput) {
5764	op := &request.Operation{
5765		Name:       opUpdateNumberOfDomainControllers,
5766		HTTPMethod: "POST",
5767		HTTPPath:   "/",
5768	}
5769
5770	if input == nil {
5771		input = &UpdateNumberOfDomainControllersInput{}
5772	}
5773
5774	output = &UpdateNumberOfDomainControllersOutput{}
5775	req = c.newRequest(op, input, output)
5776	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5777	return
5778}
5779
5780// UpdateNumberOfDomainControllers API operation for AWS Directory Service.
5781//
5782// Adds or removes domain controllers to or from the directory. Based on the
5783// difference between current value and new value (provided through this API
5784// call), domain controllers will be added or removed. It may take up to 45
5785// minutes for any new domain controllers to become fully active once the requested
5786// number of domain controllers is updated. During this time, you cannot make
5787// another update request.
5788//
5789// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5790// with awserr.Error's Code and Message methods to get detailed information about
5791// the error.
5792//
5793// See the AWS API reference guide for AWS Directory Service's
5794// API operation UpdateNumberOfDomainControllers for usage and error information.
5795//
5796// Returned Error Types:
5797//   * EntityDoesNotExistException
5798//   The specified entity could not be found.
5799//
5800//   * DirectoryUnavailableException
5801//   The specified directory is unavailable or could not be found.
5802//
5803//   * DomainControllerLimitExceededException
5804//   The maximum allowed number of domain controllers per directory was exceeded.
5805//   The default limit per directory is 20 domain controllers.
5806//
5807//   * InvalidParameterException
5808//   One or more parameters are not valid.
5809//
5810//   * UnsupportedOperationException
5811//   The operation is not supported.
5812//
5813//   * ClientException
5814//   A client exception has occurred.
5815//
5816//   * ServiceException
5817//   An exception has occurred in Directory Service.
5818//
5819// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UpdateNumberOfDomainControllers
5820func (c *DirectoryService) UpdateNumberOfDomainControllers(input *UpdateNumberOfDomainControllersInput) (*UpdateNumberOfDomainControllersOutput, error) {
5821	req, out := c.UpdateNumberOfDomainControllersRequest(input)
5822	return out, req.Send()
5823}
5824
5825// UpdateNumberOfDomainControllersWithContext is the same as UpdateNumberOfDomainControllers with the addition of
5826// the ability to pass a context and additional request options.
5827//
5828// See UpdateNumberOfDomainControllers for details on how to use this API operation.
5829//
5830// The context must be non-nil and will be used for request cancellation. If
5831// the context is nil a panic will occur. In the future the SDK may create
5832// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5833// for more information on using Contexts.
5834func (c *DirectoryService) UpdateNumberOfDomainControllersWithContext(ctx aws.Context, input *UpdateNumberOfDomainControllersInput, opts ...request.Option) (*UpdateNumberOfDomainControllersOutput, error) {
5835	req, out := c.UpdateNumberOfDomainControllersRequest(input)
5836	req.SetContext(ctx)
5837	req.ApplyOptions(opts...)
5838	return out, req.Send()
5839}
5840
5841const opUpdateRadius = "UpdateRadius"
5842
5843// UpdateRadiusRequest generates a "aws/request.Request" representing the
5844// client's request for the UpdateRadius operation. The "output" return
5845// value will be populated with the request's response once the request completes
5846// successfully.
5847//
5848// Use "Send" method on the returned Request to send the API call to the service.
5849// the "output" return value is not valid until after Send returns without error.
5850//
5851// See UpdateRadius for more information on using the UpdateRadius
5852// API call, and error handling.
5853//
5854// This method is useful when you want to inject custom logic or configuration
5855// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5856//
5857//
5858//    // Example sending a request using the UpdateRadiusRequest method.
5859//    req, resp := client.UpdateRadiusRequest(params)
5860//
5861//    err := req.Send()
5862//    if err == nil { // resp is now filled
5863//        fmt.Println(resp)
5864//    }
5865//
5866// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UpdateRadius
5867func (c *DirectoryService) UpdateRadiusRequest(input *UpdateRadiusInput) (req *request.Request, output *UpdateRadiusOutput) {
5868	op := &request.Operation{
5869		Name:       opUpdateRadius,
5870		HTTPMethod: "POST",
5871		HTTPPath:   "/",
5872	}
5873
5874	if input == nil {
5875		input = &UpdateRadiusInput{}
5876	}
5877
5878	output = &UpdateRadiusOutput{}
5879	req = c.newRequest(op, input, output)
5880	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5881	return
5882}
5883
5884// UpdateRadius API operation for AWS Directory Service.
5885//
5886// Updates the Remote Authentication Dial In User Service (RADIUS) server information
5887// for an AD Connector or Microsoft AD directory.
5888//
5889// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5890// with awserr.Error's Code and Message methods to get detailed information about
5891// the error.
5892//
5893// See the AWS API reference guide for AWS Directory Service's
5894// API operation UpdateRadius for usage and error information.
5895//
5896// Returned Error Types:
5897//   * InvalidParameterException
5898//   One or more parameters are not valid.
5899//
5900//   * EntityDoesNotExistException
5901//   The specified entity could not be found.
5902//
5903//   * ClientException
5904//   A client exception has occurred.
5905//
5906//   * ServiceException
5907//   An exception has occurred in Directory Service.
5908//
5909// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UpdateRadius
5910func (c *DirectoryService) UpdateRadius(input *UpdateRadiusInput) (*UpdateRadiusOutput, error) {
5911	req, out := c.UpdateRadiusRequest(input)
5912	return out, req.Send()
5913}
5914
5915// UpdateRadiusWithContext is the same as UpdateRadius with the addition of
5916// the ability to pass a context and additional request options.
5917//
5918// See UpdateRadius for details on how to use this API operation.
5919//
5920// The context must be non-nil and will be used for request cancellation. If
5921// the context is nil a panic will occur. In the future the SDK may create
5922// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5923// for more information on using Contexts.
5924func (c *DirectoryService) UpdateRadiusWithContext(ctx aws.Context, input *UpdateRadiusInput, opts ...request.Option) (*UpdateRadiusOutput, error) {
5925	req, out := c.UpdateRadiusRequest(input)
5926	req.SetContext(ctx)
5927	req.ApplyOptions(opts...)
5928	return out, req.Send()
5929}
5930
5931const opUpdateTrust = "UpdateTrust"
5932
5933// UpdateTrustRequest generates a "aws/request.Request" representing the
5934// client's request for the UpdateTrust operation. The "output" return
5935// value will be populated with the request's response once the request completes
5936// successfully.
5937//
5938// Use "Send" method on the returned Request to send the API call to the service.
5939// the "output" return value is not valid until after Send returns without error.
5940//
5941// See UpdateTrust for more information on using the UpdateTrust
5942// API call, and error handling.
5943//
5944// This method is useful when you want to inject custom logic or configuration
5945// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5946//
5947//
5948//    // Example sending a request using the UpdateTrustRequest method.
5949//    req, resp := client.UpdateTrustRequest(params)
5950//
5951//    err := req.Send()
5952//    if err == nil { // resp is now filled
5953//        fmt.Println(resp)
5954//    }
5955//
5956// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UpdateTrust
5957func (c *DirectoryService) UpdateTrustRequest(input *UpdateTrustInput) (req *request.Request, output *UpdateTrustOutput) {
5958	op := &request.Operation{
5959		Name:       opUpdateTrust,
5960		HTTPMethod: "POST",
5961		HTTPPath:   "/",
5962	}
5963
5964	if input == nil {
5965		input = &UpdateTrustInput{}
5966	}
5967
5968	output = &UpdateTrustOutput{}
5969	req = c.newRequest(op, input, output)
5970	return
5971}
5972
5973// UpdateTrust API operation for AWS Directory Service.
5974//
5975// Updates the trust that has been set up between your Managed Microsoft AD
5976// directory and an self-managed Active Directory.
5977//
5978// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5979// with awserr.Error's Code and Message methods to get detailed information about
5980// the error.
5981//
5982// See the AWS API reference guide for AWS Directory Service's
5983// API operation UpdateTrust for usage and error information.
5984//
5985// Returned Error Types:
5986//   * EntityDoesNotExistException
5987//   The specified entity could not be found.
5988//
5989//   * InvalidParameterException
5990//   One or more parameters are not valid.
5991//
5992//   * ClientException
5993//   A client exception has occurred.
5994//
5995//   * ServiceException
5996//   An exception has occurred in Directory Service.
5997//
5998// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/UpdateTrust
5999func (c *DirectoryService) UpdateTrust(input *UpdateTrustInput) (*UpdateTrustOutput, error) {
6000	req, out := c.UpdateTrustRequest(input)
6001	return out, req.Send()
6002}
6003
6004// UpdateTrustWithContext is the same as UpdateTrust with the addition of
6005// the ability to pass a context and additional request options.
6006//
6007// See UpdateTrust for details on how to use this API operation.
6008//
6009// The context must be non-nil and will be used for request cancellation. If
6010// the context is nil a panic will occur. In the future the SDK may create
6011// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6012// for more information on using Contexts.
6013func (c *DirectoryService) UpdateTrustWithContext(ctx aws.Context, input *UpdateTrustInput, opts ...request.Option) (*UpdateTrustOutput, error) {
6014	req, out := c.UpdateTrustRequest(input)
6015	req.SetContext(ctx)
6016	req.ApplyOptions(opts...)
6017	return out, req.Send()
6018}
6019
6020const opVerifyTrust = "VerifyTrust"
6021
6022// VerifyTrustRequest generates a "aws/request.Request" representing the
6023// client's request for the VerifyTrust operation. The "output" return
6024// value will be populated with the request's response once the request completes
6025// successfully.
6026//
6027// Use "Send" method on the returned Request to send the API call to the service.
6028// the "output" return value is not valid until after Send returns without error.
6029//
6030// See VerifyTrust for more information on using the VerifyTrust
6031// API call, and error handling.
6032//
6033// This method is useful when you want to inject custom logic or configuration
6034// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6035//
6036//
6037//    // Example sending a request using the VerifyTrustRequest method.
6038//    req, resp := client.VerifyTrustRequest(params)
6039//
6040//    err := req.Send()
6041//    if err == nil { // resp is now filled
6042//        fmt.Println(resp)
6043//    }
6044//
6045// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/VerifyTrust
6046func (c *DirectoryService) VerifyTrustRequest(input *VerifyTrustInput) (req *request.Request, output *VerifyTrustOutput) {
6047	op := &request.Operation{
6048		Name:       opVerifyTrust,
6049		HTTPMethod: "POST",
6050		HTTPPath:   "/",
6051	}
6052
6053	if input == nil {
6054		input = &VerifyTrustInput{}
6055	}
6056
6057	output = &VerifyTrustOutput{}
6058	req = c.newRequest(op, input, output)
6059	return
6060}
6061
6062// VerifyTrust API operation for AWS Directory Service.
6063//
6064// Directory Service for Microsoft Active Directory allows you to configure
6065// and verify trust relationships.
6066//
6067// This action verifies a trust relationship between your Managed Microsoft
6068// AD directory and an external domain.
6069//
6070// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6071// with awserr.Error's Code and Message methods to get detailed information about
6072// the error.
6073//
6074// See the AWS API reference guide for AWS Directory Service's
6075// API operation VerifyTrust for usage and error information.
6076//
6077// Returned Error Types:
6078//   * EntityDoesNotExistException
6079//   The specified entity could not be found.
6080//
6081//   * InvalidParameterException
6082//   One or more parameters are not valid.
6083//
6084//   * ClientException
6085//   A client exception has occurred.
6086//
6087//   * ServiceException
6088//   An exception has occurred in Directory Service.
6089//
6090//   * UnsupportedOperationException
6091//   The operation is not supported.
6092//
6093// See also, https://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/VerifyTrust
6094func (c *DirectoryService) VerifyTrust(input *VerifyTrustInput) (*VerifyTrustOutput, error) {
6095	req, out := c.VerifyTrustRequest(input)
6096	return out, req.Send()
6097}
6098
6099// VerifyTrustWithContext is the same as VerifyTrust with the addition of
6100// the ability to pass a context and additional request options.
6101//
6102// See VerifyTrust for details on how to use this API operation.
6103//
6104// The context must be non-nil and will be used for request cancellation. If
6105// the context is nil a panic will occur. In the future the SDK may create
6106// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6107// for more information on using Contexts.
6108func (c *DirectoryService) VerifyTrustWithContext(ctx aws.Context, input *VerifyTrustInput, opts ...request.Option) (*VerifyTrustOutput, error) {
6109	req, out := c.VerifyTrustRequest(input)
6110	req.SetContext(ctx)
6111	req.ApplyOptions(opts...)
6112	return out, req.Send()
6113}
6114
6115type AcceptSharedDirectoryInput struct {
6116	_ struct{} `type:"structure"`
6117
6118	// Identifier of the shared directory in the directory consumer account. This
6119	// identifier is different for each directory owner account.
6120	//
6121	// SharedDirectoryId is a required field
6122	SharedDirectoryId *string `type:"string" required:"true"`
6123}
6124
6125// String returns the string representation
6126func (s AcceptSharedDirectoryInput) String() string {
6127	return awsutil.Prettify(s)
6128}
6129
6130// GoString returns the string representation
6131func (s AcceptSharedDirectoryInput) GoString() string {
6132	return s.String()
6133}
6134
6135// Validate inspects the fields of the type to determine if they are valid.
6136func (s *AcceptSharedDirectoryInput) Validate() error {
6137	invalidParams := request.ErrInvalidParams{Context: "AcceptSharedDirectoryInput"}
6138	if s.SharedDirectoryId == nil {
6139		invalidParams.Add(request.NewErrParamRequired("SharedDirectoryId"))
6140	}
6141
6142	if invalidParams.Len() > 0 {
6143		return invalidParams
6144	}
6145	return nil
6146}
6147
6148// SetSharedDirectoryId sets the SharedDirectoryId field's value.
6149func (s *AcceptSharedDirectoryInput) SetSharedDirectoryId(v string) *AcceptSharedDirectoryInput {
6150	s.SharedDirectoryId = &v
6151	return s
6152}
6153
6154type AcceptSharedDirectoryOutput struct {
6155	_ struct{} `type:"structure"`
6156
6157	// The shared directory in the directory consumer account.
6158	SharedDirectory *SharedDirectory `type:"structure"`
6159}
6160
6161// String returns the string representation
6162func (s AcceptSharedDirectoryOutput) String() string {
6163	return awsutil.Prettify(s)
6164}
6165
6166// GoString returns the string representation
6167func (s AcceptSharedDirectoryOutput) GoString() string {
6168	return s.String()
6169}
6170
6171// SetSharedDirectory sets the SharedDirectory field's value.
6172func (s *AcceptSharedDirectoryOutput) SetSharedDirectory(v *SharedDirectory) *AcceptSharedDirectoryOutput {
6173	s.SharedDirectory = v
6174	return s
6175}
6176
6177// Client authentication is not available in this region at this time.
6178type AccessDeniedException struct {
6179	_            struct{}                  `type:"structure"`
6180	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6181
6182	// The descriptive message for the exception.
6183	Message_ *string `locationName:"Message" type:"string"`
6184
6185	// The Amazon Web Services request identifier.
6186	RequestId *string `type:"string"`
6187}
6188
6189// String returns the string representation
6190func (s AccessDeniedException) String() string {
6191	return awsutil.Prettify(s)
6192}
6193
6194// GoString returns the string representation
6195func (s AccessDeniedException) GoString() string {
6196	return s.String()
6197}
6198
6199func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
6200	return &AccessDeniedException{
6201		RespMetadata: v,
6202	}
6203}
6204
6205// Code returns the exception type name.
6206func (s *AccessDeniedException) Code() string {
6207	return "AccessDeniedException"
6208}
6209
6210// Message returns the exception's message.
6211func (s *AccessDeniedException) Message() string {
6212	if s.Message_ != nil {
6213		return *s.Message_
6214	}
6215	return ""
6216}
6217
6218// OrigErr always returns nil, satisfies awserr.Error interface.
6219func (s *AccessDeniedException) OrigErr() error {
6220	return nil
6221}
6222
6223func (s *AccessDeniedException) Error() string {
6224	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6225}
6226
6227// Status code returns the HTTP status code for the request's response error.
6228func (s *AccessDeniedException) StatusCode() int {
6229	return s.RespMetadata.StatusCode
6230}
6231
6232// RequestID returns the service's response RequestID for request.
6233func (s *AccessDeniedException) RequestID() string {
6234	return s.RespMetadata.RequestID
6235}
6236
6237type AddIpRoutesInput struct {
6238	_ struct{} `type:"structure"`
6239
6240	// Identifier (ID) of the directory to which to add the address block.
6241	//
6242	// DirectoryId is a required field
6243	DirectoryId *string `type:"string" required:"true"`
6244
6245	// IP address blocks, using CIDR format, of the traffic to route. This is often
6246	// the IP address block of the DNS server used for your self-managed domain.
6247	//
6248	// IpRoutes is a required field
6249	IpRoutes []*IpRoute `type:"list" required:"true"`
6250
6251	// If set to true, updates the inbound and outbound rules of the security group
6252	// that has the description: "Amazon Web Services created security group for
6253	// directory ID directory controllers." Following are the new rules:
6254	//
6255	// Inbound:
6256	//
6257	//    * Type: Custom UDP Rule, Protocol: UDP, Range: 88, Source: 0.0.0.0/0
6258	//
6259	//    * Type: Custom UDP Rule, Protocol: UDP, Range: 123, Source: 0.0.0.0/0
6260	//
6261	//    * Type: Custom UDP Rule, Protocol: UDP, Range: 138, Source: 0.0.0.0/0
6262	//
6263	//    * Type: Custom UDP Rule, Protocol: UDP, Range: 389, Source: 0.0.0.0/0
6264	//
6265	//    * Type: Custom UDP Rule, Protocol: UDP, Range: 464, Source: 0.0.0.0/0
6266	//
6267	//    * Type: Custom UDP Rule, Protocol: UDP, Range: 445, Source: 0.0.0.0/0
6268	//
6269	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 88, Source: 0.0.0.0/0
6270	//
6271	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 135, Source: 0.0.0.0/0
6272	//
6273	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 445, Source: 0.0.0.0/0
6274	//
6275	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 464, Source: 0.0.0.0/0
6276	//
6277	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0/0
6278	//
6279	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: 0.0.0.0/0
6280	//
6281	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: 0.0.0.0/0
6282	//
6283	//    * Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0
6284	//
6285	//    * Type: DNS (TCP), Protocol: TCP, Range: 53, Source: 0.0.0.0/0
6286	//
6287	//    * Type: LDAP, Protocol: TCP, Range: 389, Source: 0.0.0.0/0
6288	//
6289	//    * Type: All ICMP, Protocol: All, Range: N/A, Source: 0.0.0.0/0
6290	//
6291	// Outbound:
6292	//
6293	//    * Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0
6294	//
6295	// These security rules impact an internal network interface that is not exposed
6296	// publicly.
6297	UpdateSecurityGroupForDirectoryControllers *bool `type:"boolean"`
6298}
6299
6300// String returns the string representation
6301func (s AddIpRoutesInput) String() string {
6302	return awsutil.Prettify(s)
6303}
6304
6305// GoString returns the string representation
6306func (s AddIpRoutesInput) GoString() string {
6307	return s.String()
6308}
6309
6310// Validate inspects the fields of the type to determine if they are valid.
6311func (s *AddIpRoutesInput) Validate() error {
6312	invalidParams := request.ErrInvalidParams{Context: "AddIpRoutesInput"}
6313	if s.DirectoryId == nil {
6314		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
6315	}
6316	if s.IpRoutes == nil {
6317		invalidParams.Add(request.NewErrParamRequired("IpRoutes"))
6318	}
6319
6320	if invalidParams.Len() > 0 {
6321		return invalidParams
6322	}
6323	return nil
6324}
6325
6326// SetDirectoryId sets the DirectoryId field's value.
6327func (s *AddIpRoutesInput) SetDirectoryId(v string) *AddIpRoutesInput {
6328	s.DirectoryId = &v
6329	return s
6330}
6331
6332// SetIpRoutes sets the IpRoutes field's value.
6333func (s *AddIpRoutesInput) SetIpRoutes(v []*IpRoute) *AddIpRoutesInput {
6334	s.IpRoutes = v
6335	return s
6336}
6337
6338// SetUpdateSecurityGroupForDirectoryControllers sets the UpdateSecurityGroupForDirectoryControllers field's value.
6339func (s *AddIpRoutesInput) SetUpdateSecurityGroupForDirectoryControllers(v bool) *AddIpRoutesInput {
6340	s.UpdateSecurityGroupForDirectoryControllers = &v
6341	return s
6342}
6343
6344type AddIpRoutesOutput struct {
6345	_ struct{} `type:"structure"`
6346}
6347
6348// String returns the string representation
6349func (s AddIpRoutesOutput) String() string {
6350	return awsutil.Prettify(s)
6351}
6352
6353// GoString returns the string representation
6354func (s AddIpRoutesOutput) GoString() string {
6355	return s.String()
6356}
6357
6358type AddRegionInput struct {
6359	_ struct{} `type:"structure"`
6360
6361	// The identifier of the directory to which you want to add Region replication.
6362	//
6363	// DirectoryId is a required field
6364	DirectoryId *string `type:"string" required:"true"`
6365
6366	// The name of the Region where you want to add domain controllers for replication.
6367	// For example, us-east-1.
6368	//
6369	// RegionName is a required field
6370	RegionName *string `min:"8" type:"string" required:"true"`
6371
6372	// Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.
6373	//
6374	// VPCSettings is a required field
6375	VPCSettings *DirectoryVpcSettings `type:"structure" required:"true"`
6376}
6377
6378// String returns the string representation
6379func (s AddRegionInput) String() string {
6380	return awsutil.Prettify(s)
6381}
6382
6383// GoString returns the string representation
6384func (s AddRegionInput) GoString() string {
6385	return s.String()
6386}
6387
6388// Validate inspects the fields of the type to determine if they are valid.
6389func (s *AddRegionInput) Validate() error {
6390	invalidParams := request.ErrInvalidParams{Context: "AddRegionInput"}
6391	if s.DirectoryId == nil {
6392		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
6393	}
6394	if s.RegionName == nil {
6395		invalidParams.Add(request.NewErrParamRequired("RegionName"))
6396	}
6397	if s.RegionName != nil && len(*s.RegionName) < 8 {
6398		invalidParams.Add(request.NewErrParamMinLen("RegionName", 8))
6399	}
6400	if s.VPCSettings == nil {
6401		invalidParams.Add(request.NewErrParamRequired("VPCSettings"))
6402	}
6403	if s.VPCSettings != nil {
6404		if err := s.VPCSettings.Validate(); err != nil {
6405			invalidParams.AddNested("VPCSettings", err.(request.ErrInvalidParams))
6406		}
6407	}
6408
6409	if invalidParams.Len() > 0 {
6410		return invalidParams
6411	}
6412	return nil
6413}
6414
6415// SetDirectoryId sets the DirectoryId field's value.
6416func (s *AddRegionInput) SetDirectoryId(v string) *AddRegionInput {
6417	s.DirectoryId = &v
6418	return s
6419}
6420
6421// SetRegionName sets the RegionName field's value.
6422func (s *AddRegionInput) SetRegionName(v string) *AddRegionInput {
6423	s.RegionName = &v
6424	return s
6425}
6426
6427// SetVPCSettings sets the VPCSettings field's value.
6428func (s *AddRegionInput) SetVPCSettings(v *DirectoryVpcSettings) *AddRegionInput {
6429	s.VPCSettings = v
6430	return s
6431}
6432
6433type AddRegionOutput struct {
6434	_ struct{} `type:"structure"`
6435}
6436
6437// String returns the string representation
6438func (s AddRegionOutput) String() string {
6439	return awsutil.Prettify(s)
6440}
6441
6442// GoString returns the string representation
6443func (s AddRegionOutput) GoString() string {
6444	return s.String()
6445}
6446
6447type AddTagsToResourceInput struct {
6448	_ struct{} `type:"structure"`
6449
6450	// Identifier (ID) for the directory to which to add the tag.
6451	//
6452	// ResourceId is a required field
6453	ResourceId *string `type:"string" required:"true"`
6454
6455	// The tags to be assigned to the directory.
6456	//
6457	// Tags is a required field
6458	Tags []*Tag `type:"list" required:"true"`
6459}
6460
6461// String returns the string representation
6462func (s AddTagsToResourceInput) String() string {
6463	return awsutil.Prettify(s)
6464}
6465
6466// GoString returns the string representation
6467func (s AddTagsToResourceInput) GoString() string {
6468	return s.String()
6469}
6470
6471// Validate inspects the fields of the type to determine if they are valid.
6472func (s *AddTagsToResourceInput) Validate() error {
6473	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
6474	if s.ResourceId == nil {
6475		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
6476	}
6477	if s.Tags == nil {
6478		invalidParams.Add(request.NewErrParamRequired("Tags"))
6479	}
6480	if s.Tags != nil {
6481		for i, v := range s.Tags {
6482			if v == nil {
6483				continue
6484			}
6485			if err := v.Validate(); err != nil {
6486				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6487			}
6488		}
6489	}
6490
6491	if invalidParams.Len() > 0 {
6492		return invalidParams
6493	}
6494	return nil
6495}
6496
6497// SetResourceId sets the ResourceId field's value.
6498func (s *AddTagsToResourceInput) SetResourceId(v string) *AddTagsToResourceInput {
6499	s.ResourceId = &v
6500	return s
6501}
6502
6503// SetTags sets the Tags field's value.
6504func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
6505	s.Tags = v
6506	return s
6507}
6508
6509type AddTagsToResourceOutput struct {
6510	_ struct{} `type:"structure"`
6511}
6512
6513// String returns the string representation
6514func (s AddTagsToResourceOutput) String() string {
6515	return awsutil.Prettify(s)
6516}
6517
6518// GoString returns the string representation
6519func (s AddTagsToResourceOutput) GoString() string {
6520	return s.String()
6521}
6522
6523// Represents a named directory attribute.
6524type Attribute struct {
6525	_ struct{} `type:"structure"`
6526
6527	// The name of the attribute.
6528	Name *string `min:"1" type:"string"`
6529
6530	// The value of the attribute.
6531	Value *string `type:"string"`
6532}
6533
6534// String returns the string representation
6535func (s Attribute) String() string {
6536	return awsutil.Prettify(s)
6537}
6538
6539// GoString returns the string representation
6540func (s Attribute) GoString() string {
6541	return s.String()
6542}
6543
6544// Validate inspects the fields of the type to determine if they are valid.
6545func (s *Attribute) Validate() error {
6546	invalidParams := request.ErrInvalidParams{Context: "Attribute"}
6547	if s.Name != nil && len(*s.Name) < 1 {
6548		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6549	}
6550
6551	if invalidParams.Len() > 0 {
6552		return invalidParams
6553	}
6554	return nil
6555}
6556
6557// SetName sets the Name field's value.
6558func (s *Attribute) SetName(v string) *Attribute {
6559	s.Name = &v
6560	return s
6561}
6562
6563// SetValue sets the Value field's value.
6564func (s *Attribute) SetValue(v string) *Attribute {
6565	s.Value = &v
6566	return s
6567}
6568
6569// An authentication error occurred.
6570type AuthenticationFailedException struct {
6571	_            struct{}                  `type:"structure"`
6572	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6573
6574	// The textual message for the exception.
6575	Message_ *string `locationName:"Message" type:"string"`
6576
6577	// The identifier of the request that caused the exception.
6578	RequestId *string `type:"string"`
6579}
6580
6581// String returns the string representation
6582func (s AuthenticationFailedException) String() string {
6583	return awsutil.Prettify(s)
6584}
6585
6586// GoString returns the string representation
6587func (s AuthenticationFailedException) GoString() string {
6588	return s.String()
6589}
6590
6591func newErrorAuthenticationFailedException(v protocol.ResponseMetadata) error {
6592	return &AuthenticationFailedException{
6593		RespMetadata: v,
6594	}
6595}
6596
6597// Code returns the exception type name.
6598func (s *AuthenticationFailedException) Code() string {
6599	return "AuthenticationFailedException"
6600}
6601
6602// Message returns the exception's message.
6603func (s *AuthenticationFailedException) Message() string {
6604	if s.Message_ != nil {
6605		return *s.Message_
6606	}
6607	return ""
6608}
6609
6610// OrigErr always returns nil, satisfies awserr.Error interface.
6611func (s *AuthenticationFailedException) OrigErr() error {
6612	return nil
6613}
6614
6615func (s *AuthenticationFailedException) Error() string {
6616	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6617}
6618
6619// Status code returns the HTTP status code for the request's response error.
6620func (s *AuthenticationFailedException) StatusCode() int {
6621	return s.RespMetadata.StatusCode
6622}
6623
6624// RequestID returns the service's response RequestID for request.
6625func (s *AuthenticationFailedException) RequestID() string {
6626	return s.RespMetadata.RequestID
6627}
6628
6629type CancelSchemaExtensionInput struct {
6630	_ struct{} `type:"structure"`
6631
6632	// The identifier of the directory whose schema extension will be canceled.
6633	//
6634	// DirectoryId is a required field
6635	DirectoryId *string `type:"string" required:"true"`
6636
6637	// The identifier of the schema extension that will be canceled.
6638	//
6639	// SchemaExtensionId is a required field
6640	SchemaExtensionId *string `type:"string" required:"true"`
6641}
6642
6643// String returns the string representation
6644func (s CancelSchemaExtensionInput) String() string {
6645	return awsutil.Prettify(s)
6646}
6647
6648// GoString returns the string representation
6649func (s CancelSchemaExtensionInput) GoString() string {
6650	return s.String()
6651}
6652
6653// Validate inspects the fields of the type to determine if they are valid.
6654func (s *CancelSchemaExtensionInput) Validate() error {
6655	invalidParams := request.ErrInvalidParams{Context: "CancelSchemaExtensionInput"}
6656	if s.DirectoryId == nil {
6657		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
6658	}
6659	if s.SchemaExtensionId == nil {
6660		invalidParams.Add(request.NewErrParamRequired("SchemaExtensionId"))
6661	}
6662
6663	if invalidParams.Len() > 0 {
6664		return invalidParams
6665	}
6666	return nil
6667}
6668
6669// SetDirectoryId sets the DirectoryId field's value.
6670func (s *CancelSchemaExtensionInput) SetDirectoryId(v string) *CancelSchemaExtensionInput {
6671	s.DirectoryId = &v
6672	return s
6673}
6674
6675// SetSchemaExtensionId sets the SchemaExtensionId field's value.
6676func (s *CancelSchemaExtensionInput) SetSchemaExtensionId(v string) *CancelSchemaExtensionInput {
6677	s.SchemaExtensionId = &v
6678	return s
6679}
6680
6681type CancelSchemaExtensionOutput struct {
6682	_ struct{} `type:"structure"`
6683}
6684
6685// String returns the string representation
6686func (s CancelSchemaExtensionOutput) String() string {
6687	return awsutil.Prettify(s)
6688}
6689
6690// GoString returns the string representation
6691func (s CancelSchemaExtensionOutput) GoString() string {
6692	return s.String()
6693}
6694
6695// Information about the certificate.
6696type Certificate struct {
6697	_ struct{} `type:"structure"`
6698
6699	// The identifier of the certificate.
6700	CertificateId *string `type:"string"`
6701
6702	// A ClientCertAuthSettings object that contains client certificate authentication
6703	// settings.
6704	ClientCertAuthSettings *ClientCertAuthSettings `type:"structure"`
6705
6706	// The common name for the certificate.
6707	CommonName *string `type:"string"`
6708
6709	// The date and time when the certificate will expire.
6710	ExpiryDateTime *time.Time `type:"timestamp"`
6711
6712	// The date and time that the certificate was registered.
6713	RegisteredDateTime *time.Time `type:"timestamp"`
6714
6715	// The state of the certificate.
6716	State *string `type:"string" enum:"CertificateState"`
6717
6718	// Describes a state change for the certificate.
6719	StateReason *string `type:"string"`
6720
6721	// The function that the registered certificate performs. Valid values include
6722	// ClientLDAPS or ClientCertAuth. The default value is ClientLDAPS.
6723	Type *string `type:"string" enum:"CertificateType"`
6724}
6725
6726// String returns the string representation
6727func (s Certificate) String() string {
6728	return awsutil.Prettify(s)
6729}
6730
6731// GoString returns the string representation
6732func (s Certificate) GoString() string {
6733	return s.String()
6734}
6735
6736// SetCertificateId sets the CertificateId field's value.
6737func (s *Certificate) SetCertificateId(v string) *Certificate {
6738	s.CertificateId = &v
6739	return s
6740}
6741
6742// SetClientCertAuthSettings sets the ClientCertAuthSettings field's value.
6743func (s *Certificate) SetClientCertAuthSettings(v *ClientCertAuthSettings) *Certificate {
6744	s.ClientCertAuthSettings = v
6745	return s
6746}
6747
6748// SetCommonName sets the CommonName field's value.
6749func (s *Certificate) SetCommonName(v string) *Certificate {
6750	s.CommonName = &v
6751	return s
6752}
6753
6754// SetExpiryDateTime sets the ExpiryDateTime field's value.
6755func (s *Certificate) SetExpiryDateTime(v time.Time) *Certificate {
6756	s.ExpiryDateTime = &v
6757	return s
6758}
6759
6760// SetRegisteredDateTime sets the RegisteredDateTime field's value.
6761func (s *Certificate) SetRegisteredDateTime(v time.Time) *Certificate {
6762	s.RegisteredDateTime = &v
6763	return s
6764}
6765
6766// SetState sets the State field's value.
6767func (s *Certificate) SetState(v string) *Certificate {
6768	s.State = &v
6769	return s
6770}
6771
6772// SetStateReason sets the StateReason field's value.
6773func (s *Certificate) SetStateReason(v string) *Certificate {
6774	s.StateReason = &v
6775	return s
6776}
6777
6778// SetType sets the Type field's value.
6779func (s *Certificate) SetType(v string) *Certificate {
6780	s.Type = &v
6781	return s
6782}
6783
6784// The certificate has already been registered into the system.
6785type CertificateAlreadyExistsException struct {
6786	_            struct{}                  `type:"structure"`
6787	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6788
6789	// The descriptive message for the exception.
6790	Message_ *string `locationName:"Message" type:"string"`
6791
6792	// The Amazon Web Services request identifier.
6793	RequestId *string `type:"string"`
6794}
6795
6796// String returns the string representation
6797func (s CertificateAlreadyExistsException) String() string {
6798	return awsutil.Prettify(s)
6799}
6800
6801// GoString returns the string representation
6802func (s CertificateAlreadyExistsException) GoString() string {
6803	return s.String()
6804}
6805
6806func newErrorCertificateAlreadyExistsException(v protocol.ResponseMetadata) error {
6807	return &CertificateAlreadyExistsException{
6808		RespMetadata: v,
6809	}
6810}
6811
6812// Code returns the exception type name.
6813func (s *CertificateAlreadyExistsException) Code() string {
6814	return "CertificateAlreadyExistsException"
6815}
6816
6817// Message returns the exception's message.
6818func (s *CertificateAlreadyExistsException) Message() string {
6819	if s.Message_ != nil {
6820		return *s.Message_
6821	}
6822	return ""
6823}
6824
6825// OrigErr always returns nil, satisfies awserr.Error interface.
6826func (s *CertificateAlreadyExistsException) OrigErr() error {
6827	return nil
6828}
6829
6830func (s *CertificateAlreadyExistsException) Error() string {
6831	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6832}
6833
6834// Status code returns the HTTP status code for the request's response error.
6835func (s *CertificateAlreadyExistsException) StatusCode() int {
6836	return s.RespMetadata.StatusCode
6837}
6838
6839// RequestID returns the service's response RequestID for request.
6840func (s *CertificateAlreadyExistsException) RequestID() string {
6841	return s.RespMetadata.RequestID
6842}
6843
6844// The certificate is not present in the system for describe or deregister activities.
6845type CertificateDoesNotExistException struct {
6846	_            struct{}                  `type:"structure"`
6847	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6848
6849	// The descriptive message for the exception.
6850	Message_ *string `locationName:"Message" type:"string"`
6851
6852	// The Amazon Web Services request identifier.
6853	RequestId *string `type:"string"`
6854}
6855
6856// String returns the string representation
6857func (s CertificateDoesNotExistException) String() string {
6858	return awsutil.Prettify(s)
6859}
6860
6861// GoString returns the string representation
6862func (s CertificateDoesNotExistException) GoString() string {
6863	return s.String()
6864}
6865
6866func newErrorCertificateDoesNotExistException(v protocol.ResponseMetadata) error {
6867	return &CertificateDoesNotExistException{
6868		RespMetadata: v,
6869	}
6870}
6871
6872// Code returns the exception type name.
6873func (s *CertificateDoesNotExistException) Code() string {
6874	return "CertificateDoesNotExistException"
6875}
6876
6877// Message returns the exception's message.
6878func (s *CertificateDoesNotExistException) Message() string {
6879	if s.Message_ != nil {
6880		return *s.Message_
6881	}
6882	return ""
6883}
6884
6885// OrigErr always returns nil, satisfies awserr.Error interface.
6886func (s *CertificateDoesNotExistException) OrigErr() error {
6887	return nil
6888}
6889
6890func (s *CertificateDoesNotExistException) Error() string {
6891	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6892}
6893
6894// Status code returns the HTTP status code for the request's response error.
6895func (s *CertificateDoesNotExistException) StatusCode() int {
6896	return s.RespMetadata.StatusCode
6897}
6898
6899// RequestID returns the service's response RequestID for request.
6900func (s *CertificateDoesNotExistException) RequestID() string {
6901	return s.RespMetadata.RequestID
6902}
6903
6904// The certificate is being used for the LDAP security connection and cannot
6905// be removed without disabling LDAP security.
6906type CertificateInUseException struct {
6907	_            struct{}                  `type:"structure"`
6908	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6909
6910	// The descriptive message for the exception.
6911	Message_ *string `locationName:"Message" type:"string"`
6912
6913	// The Amazon Web Services request identifier.
6914	RequestId *string `type:"string"`
6915}
6916
6917// String returns the string representation
6918func (s CertificateInUseException) String() string {
6919	return awsutil.Prettify(s)
6920}
6921
6922// GoString returns the string representation
6923func (s CertificateInUseException) GoString() string {
6924	return s.String()
6925}
6926
6927func newErrorCertificateInUseException(v protocol.ResponseMetadata) error {
6928	return &CertificateInUseException{
6929		RespMetadata: v,
6930	}
6931}
6932
6933// Code returns the exception type name.
6934func (s *CertificateInUseException) Code() string {
6935	return "CertificateInUseException"
6936}
6937
6938// Message returns the exception's message.
6939func (s *CertificateInUseException) Message() string {
6940	if s.Message_ != nil {
6941		return *s.Message_
6942	}
6943	return ""
6944}
6945
6946// OrigErr always returns nil, satisfies awserr.Error interface.
6947func (s *CertificateInUseException) OrigErr() error {
6948	return nil
6949}
6950
6951func (s *CertificateInUseException) Error() string {
6952	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6953}
6954
6955// Status code returns the HTTP status code for the request's response error.
6956func (s *CertificateInUseException) StatusCode() int {
6957	return s.RespMetadata.StatusCode
6958}
6959
6960// RequestID returns the service's response RequestID for request.
6961func (s *CertificateInUseException) RequestID() string {
6962	return s.RespMetadata.RequestID
6963}
6964
6965// Contains general information about a certificate.
6966type CertificateInfo struct {
6967	_ struct{} `type:"structure"`
6968
6969	// The identifier of the certificate.
6970	CertificateId *string `type:"string"`
6971
6972	// The common name for the certificate.
6973	CommonName *string `type:"string"`
6974
6975	// The date and time when the certificate will expire.
6976	ExpiryDateTime *time.Time `type:"timestamp"`
6977
6978	// The state of the certificate.
6979	State *string `type:"string" enum:"CertificateState"`
6980
6981	// The function that the registered certificate performs. Valid values include
6982	// ClientLDAPS or ClientCertAuth. The default value is ClientLDAPS.
6983	Type *string `type:"string" enum:"CertificateType"`
6984}
6985
6986// String returns the string representation
6987func (s CertificateInfo) String() string {
6988	return awsutil.Prettify(s)
6989}
6990
6991// GoString returns the string representation
6992func (s CertificateInfo) GoString() string {
6993	return s.String()
6994}
6995
6996// SetCertificateId sets the CertificateId field's value.
6997func (s *CertificateInfo) SetCertificateId(v string) *CertificateInfo {
6998	s.CertificateId = &v
6999	return s
7000}
7001
7002// SetCommonName sets the CommonName field's value.
7003func (s *CertificateInfo) SetCommonName(v string) *CertificateInfo {
7004	s.CommonName = &v
7005	return s
7006}
7007
7008// SetExpiryDateTime sets the ExpiryDateTime field's value.
7009func (s *CertificateInfo) SetExpiryDateTime(v time.Time) *CertificateInfo {
7010	s.ExpiryDateTime = &v
7011	return s
7012}
7013
7014// SetState sets the State field's value.
7015func (s *CertificateInfo) SetState(v string) *CertificateInfo {
7016	s.State = &v
7017	return s
7018}
7019
7020// SetType sets the Type field's value.
7021func (s *CertificateInfo) SetType(v string) *CertificateInfo {
7022	s.Type = &v
7023	return s
7024}
7025
7026// The certificate could not be added because the certificate limit has been
7027// reached.
7028type CertificateLimitExceededException struct {
7029	_            struct{}                  `type:"structure"`
7030	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7031
7032	// The descriptive message for the exception.
7033	Message_ *string `locationName:"Message" type:"string"`
7034
7035	// The Amazon Web Services request identifier.
7036	RequestId *string `type:"string"`
7037}
7038
7039// String returns the string representation
7040func (s CertificateLimitExceededException) String() string {
7041	return awsutil.Prettify(s)
7042}
7043
7044// GoString returns the string representation
7045func (s CertificateLimitExceededException) GoString() string {
7046	return s.String()
7047}
7048
7049func newErrorCertificateLimitExceededException(v protocol.ResponseMetadata) error {
7050	return &CertificateLimitExceededException{
7051		RespMetadata: v,
7052	}
7053}
7054
7055// Code returns the exception type name.
7056func (s *CertificateLimitExceededException) Code() string {
7057	return "CertificateLimitExceededException"
7058}
7059
7060// Message returns the exception's message.
7061func (s *CertificateLimitExceededException) Message() string {
7062	if s.Message_ != nil {
7063		return *s.Message_
7064	}
7065	return ""
7066}
7067
7068// OrigErr always returns nil, satisfies awserr.Error interface.
7069func (s *CertificateLimitExceededException) OrigErr() error {
7070	return nil
7071}
7072
7073func (s *CertificateLimitExceededException) Error() string {
7074	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7075}
7076
7077// Status code returns the HTTP status code for the request's response error.
7078func (s *CertificateLimitExceededException) StatusCode() int {
7079	return s.RespMetadata.StatusCode
7080}
7081
7082// RequestID returns the service's response RequestID for request.
7083func (s *CertificateLimitExceededException) RequestID() string {
7084	return s.RespMetadata.RequestID
7085}
7086
7087// Contains information about a client authentication method for a directory.
7088type ClientAuthenticationSettingInfo struct {
7089	_ struct{} `type:"structure"`
7090
7091	// The date and time when the status of the client authentication type was last
7092	// updated.
7093	LastUpdatedDateTime *time.Time `type:"timestamp"`
7094
7095	// Whether the client authentication type is enabled or disabled for the specified
7096	// directory.
7097	Status *string `type:"string" enum:"ClientAuthenticationStatus"`
7098
7099	// The type of client authentication for the specified directory. If no type
7100	// is specified, a list of all client authentication types that are supported
7101	// for the directory is retrieved.
7102	Type *string `type:"string" enum:"ClientAuthenticationType"`
7103}
7104
7105// String returns the string representation
7106func (s ClientAuthenticationSettingInfo) String() string {
7107	return awsutil.Prettify(s)
7108}
7109
7110// GoString returns the string representation
7111func (s ClientAuthenticationSettingInfo) GoString() string {
7112	return s.String()
7113}
7114
7115// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
7116func (s *ClientAuthenticationSettingInfo) SetLastUpdatedDateTime(v time.Time) *ClientAuthenticationSettingInfo {
7117	s.LastUpdatedDateTime = &v
7118	return s
7119}
7120
7121// SetStatus sets the Status field's value.
7122func (s *ClientAuthenticationSettingInfo) SetStatus(v string) *ClientAuthenticationSettingInfo {
7123	s.Status = &v
7124	return s
7125}
7126
7127// SetType sets the Type field's value.
7128func (s *ClientAuthenticationSettingInfo) SetType(v string) *ClientAuthenticationSettingInfo {
7129	s.Type = &v
7130	return s
7131}
7132
7133// Contains information about the client certificate authentication settings
7134// for the RegisterCertificate and DescribeCertificate operations.
7135type ClientCertAuthSettings struct {
7136	_ struct{} `type:"structure"`
7137
7138	// Specifies the URL of the default OCSP server used to check for revocation
7139	// status. A secondary value to any OCSP address found in the AIA extension
7140	// of the user certificate.
7141	OCSPUrl *string `min:"1" type:"string"`
7142}
7143
7144// String returns the string representation
7145func (s ClientCertAuthSettings) String() string {
7146	return awsutil.Prettify(s)
7147}
7148
7149// GoString returns the string representation
7150func (s ClientCertAuthSettings) GoString() string {
7151	return s.String()
7152}
7153
7154// Validate inspects the fields of the type to determine if they are valid.
7155func (s *ClientCertAuthSettings) Validate() error {
7156	invalidParams := request.ErrInvalidParams{Context: "ClientCertAuthSettings"}
7157	if s.OCSPUrl != nil && len(*s.OCSPUrl) < 1 {
7158		invalidParams.Add(request.NewErrParamMinLen("OCSPUrl", 1))
7159	}
7160
7161	if invalidParams.Len() > 0 {
7162		return invalidParams
7163	}
7164	return nil
7165}
7166
7167// SetOCSPUrl sets the OCSPUrl field's value.
7168func (s *ClientCertAuthSettings) SetOCSPUrl(v string) *ClientCertAuthSettings {
7169	s.OCSPUrl = &v
7170	return s
7171}
7172
7173// A client exception has occurred.
7174type ClientException struct {
7175	_            struct{}                  `type:"structure"`
7176	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7177
7178	// The descriptive message for the exception.
7179	Message_ *string `locationName:"Message" type:"string"`
7180
7181	// The Amazon Web Services request identifier.
7182	RequestId *string `type:"string"`
7183}
7184
7185// String returns the string representation
7186func (s ClientException) String() string {
7187	return awsutil.Prettify(s)
7188}
7189
7190// GoString returns the string representation
7191func (s ClientException) GoString() string {
7192	return s.String()
7193}
7194
7195func newErrorClientException(v protocol.ResponseMetadata) error {
7196	return &ClientException{
7197		RespMetadata: v,
7198	}
7199}
7200
7201// Code returns the exception type name.
7202func (s *ClientException) Code() string {
7203	return "ClientException"
7204}
7205
7206// Message returns the exception's message.
7207func (s *ClientException) Message() string {
7208	if s.Message_ != nil {
7209		return *s.Message_
7210	}
7211	return ""
7212}
7213
7214// OrigErr always returns nil, satisfies awserr.Error interface.
7215func (s *ClientException) OrigErr() error {
7216	return nil
7217}
7218
7219func (s *ClientException) Error() string {
7220	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7221}
7222
7223// Status code returns the HTTP status code for the request's response error.
7224func (s *ClientException) StatusCode() int {
7225	return s.RespMetadata.StatusCode
7226}
7227
7228// RequestID returns the service's response RequestID for request.
7229func (s *ClientException) RequestID() string {
7230	return s.RespMetadata.RequestID
7231}
7232
7233// Contains information about a computer account in a directory.
7234type Computer struct {
7235	_ struct{} `type:"structure"`
7236
7237	// An array of Attribute objects containing the LDAP attributes that belong
7238	// to the computer account.
7239	ComputerAttributes []*Attribute `type:"list"`
7240
7241	// The identifier of the computer.
7242	ComputerId *string `min:"1" type:"string"`
7243
7244	// The computer name.
7245	ComputerName *string `min:"1" type:"string"`
7246}
7247
7248// String returns the string representation
7249func (s Computer) String() string {
7250	return awsutil.Prettify(s)
7251}
7252
7253// GoString returns the string representation
7254func (s Computer) GoString() string {
7255	return s.String()
7256}
7257
7258// SetComputerAttributes sets the ComputerAttributes field's value.
7259func (s *Computer) SetComputerAttributes(v []*Attribute) *Computer {
7260	s.ComputerAttributes = v
7261	return s
7262}
7263
7264// SetComputerId sets the ComputerId field's value.
7265func (s *Computer) SetComputerId(v string) *Computer {
7266	s.ComputerId = &v
7267	return s
7268}
7269
7270// SetComputerName sets the ComputerName field's value.
7271func (s *Computer) SetComputerName(v string) *Computer {
7272	s.ComputerName = &v
7273	return s
7274}
7275
7276// Points to a remote domain with which you are setting up a trust relationship.
7277// Conditional forwarders are required in order to set up a trust relationship
7278// with another domain.
7279type ConditionalForwarder struct {
7280	_ struct{} `type:"structure"`
7281
7282	// The IP addresses of the remote DNS server associated with RemoteDomainName.
7283	// This is the IP address of the DNS server that your conditional forwarder
7284	// points to.
7285	DnsIpAddrs []*string `type:"list"`
7286
7287	// The fully qualified domain name (FQDN) of the remote domains pointed to by
7288	// the conditional forwarder.
7289	RemoteDomainName *string `type:"string"`
7290
7291	// The replication scope of the conditional forwarder. The only allowed value
7292	// is Domain, which will replicate the conditional forwarder to all of the domain
7293	// controllers for your Amazon Web Services directory.
7294	ReplicationScope *string `type:"string" enum:"ReplicationScope"`
7295}
7296
7297// String returns the string representation
7298func (s ConditionalForwarder) String() string {
7299	return awsutil.Prettify(s)
7300}
7301
7302// GoString returns the string representation
7303func (s ConditionalForwarder) GoString() string {
7304	return s.String()
7305}
7306
7307// SetDnsIpAddrs sets the DnsIpAddrs field's value.
7308func (s *ConditionalForwarder) SetDnsIpAddrs(v []*string) *ConditionalForwarder {
7309	s.DnsIpAddrs = v
7310	return s
7311}
7312
7313// SetRemoteDomainName sets the RemoteDomainName field's value.
7314func (s *ConditionalForwarder) SetRemoteDomainName(v string) *ConditionalForwarder {
7315	s.RemoteDomainName = &v
7316	return s
7317}
7318
7319// SetReplicationScope sets the ReplicationScope field's value.
7320func (s *ConditionalForwarder) SetReplicationScope(v string) *ConditionalForwarder {
7321	s.ReplicationScope = &v
7322	return s
7323}
7324
7325// Contains the inputs for the ConnectDirectory operation.
7326type ConnectDirectoryInput struct {
7327	_ struct{} `type:"structure"`
7328
7329	// A DirectoryConnectSettings object that contains additional information for
7330	// the operation.
7331	//
7332	// ConnectSettings is a required field
7333	ConnectSettings *DirectoryConnectSettings `type:"structure" required:"true"`
7334
7335	// A description for the directory.
7336	Description *string `type:"string"`
7337
7338	// The fully qualified name of your self-managed directory, such as corp.example.com.
7339	//
7340	// Name is a required field
7341	Name *string `type:"string" required:"true"`
7342
7343	// The password for your self-managed user account.
7344	//
7345	// Password is a required field
7346	Password *string `min:"1" type:"string" required:"true" sensitive:"true"`
7347
7348	// The NetBIOS name of your self-managed directory, such as CORP.
7349	ShortName *string `type:"string"`
7350
7351	// The size of the directory.
7352	//
7353	// Size is a required field
7354	Size *string `type:"string" required:"true" enum:"DirectorySize"`
7355
7356	// The tags to be assigned to AD Connector.
7357	Tags []*Tag `type:"list"`
7358}
7359
7360// String returns the string representation
7361func (s ConnectDirectoryInput) String() string {
7362	return awsutil.Prettify(s)
7363}
7364
7365// GoString returns the string representation
7366func (s ConnectDirectoryInput) GoString() string {
7367	return s.String()
7368}
7369
7370// Validate inspects the fields of the type to determine if they are valid.
7371func (s *ConnectDirectoryInput) Validate() error {
7372	invalidParams := request.ErrInvalidParams{Context: "ConnectDirectoryInput"}
7373	if s.ConnectSettings == nil {
7374		invalidParams.Add(request.NewErrParamRequired("ConnectSettings"))
7375	}
7376	if s.Name == nil {
7377		invalidParams.Add(request.NewErrParamRequired("Name"))
7378	}
7379	if s.Password == nil {
7380		invalidParams.Add(request.NewErrParamRequired("Password"))
7381	}
7382	if s.Password != nil && len(*s.Password) < 1 {
7383		invalidParams.Add(request.NewErrParamMinLen("Password", 1))
7384	}
7385	if s.Size == nil {
7386		invalidParams.Add(request.NewErrParamRequired("Size"))
7387	}
7388	if s.ConnectSettings != nil {
7389		if err := s.ConnectSettings.Validate(); err != nil {
7390			invalidParams.AddNested("ConnectSettings", err.(request.ErrInvalidParams))
7391		}
7392	}
7393	if s.Tags != nil {
7394		for i, v := range s.Tags {
7395			if v == nil {
7396				continue
7397			}
7398			if err := v.Validate(); err != nil {
7399				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
7400			}
7401		}
7402	}
7403
7404	if invalidParams.Len() > 0 {
7405		return invalidParams
7406	}
7407	return nil
7408}
7409
7410// SetConnectSettings sets the ConnectSettings field's value.
7411func (s *ConnectDirectoryInput) SetConnectSettings(v *DirectoryConnectSettings) *ConnectDirectoryInput {
7412	s.ConnectSettings = v
7413	return s
7414}
7415
7416// SetDescription sets the Description field's value.
7417func (s *ConnectDirectoryInput) SetDescription(v string) *ConnectDirectoryInput {
7418	s.Description = &v
7419	return s
7420}
7421
7422// SetName sets the Name field's value.
7423func (s *ConnectDirectoryInput) SetName(v string) *ConnectDirectoryInput {
7424	s.Name = &v
7425	return s
7426}
7427
7428// SetPassword sets the Password field's value.
7429func (s *ConnectDirectoryInput) SetPassword(v string) *ConnectDirectoryInput {
7430	s.Password = &v
7431	return s
7432}
7433
7434// SetShortName sets the ShortName field's value.
7435func (s *ConnectDirectoryInput) SetShortName(v string) *ConnectDirectoryInput {
7436	s.ShortName = &v
7437	return s
7438}
7439
7440// SetSize sets the Size field's value.
7441func (s *ConnectDirectoryInput) SetSize(v string) *ConnectDirectoryInput {
7442	s.Size = &v
7443	return s
7444}
7445
7446// SetTags sets the Tags field's value.
7447func (s *ConnectDirectoryInput) SetTags(v []*Tag) *ConnectDirectoryInput {
7448	s.Tags = v
7449	return s
7450}
7451
7452// Contains the results of the ConnectDirectory operation.
7453type ConnectDirectoryOutput struct {
7454	_ struct{} `type:"structure"`
7455
7456	// The identifier of the new directory.
7457	DirectoryId *string `type:"string"`
7458}
7459
7460// String returns the string representation
7461func (s ConnectDirectoryOutput) String() string {
7462	return awsutil.Prettify(s)
7463}
7464
7465// GoString returns the string representation
7466func (s ConnectDirectoryOutput) GoString() string {
7467	return s.String()
7468}
7469
7470// SetDirectoryId sets the DirectoryId field's value.
7471func (s *ConnectDirectoryOutput) SetDirectoryId(v string) *ConnectDirectoryOutput {
7472	s.DirectoryId = &v
7473	return s
7474}
7475
7476// Contains the inputs for the CreateAlias operation.
7477type CreateAliasInput struct {
7478	_ struct{} `type:"structure"`
7479
7480	// The requested alias.
7481	//
7482	// The alias must be unique amongst all aliases in Amazon Web Services. This
7483	// operation throws an EntityAlreadyExistsException error if the alias already
7484	// exists.
7485	//
7486	// Alias is a required field
7487	Alias *string `min:"1" type:"string" required:"true"`
7488
7489	// The identifier of the directory for which to create the alias.
7490	//
7491	// DirectoryId is a required field
7492	DirectoryId *string `type:"string" required:"true"`
7493}
7494
7495// String returns the string representation
7496func (s CreateAliasInput) String() string {
7497	return awsutil.Prettify(s)
7498}
7499
7500// GoString returns the string representation
7501func (s CreateAliasInput) GoString() string {
7502	return s.String()
7503}
7504
7505// Validate inspects the fields of the type to determine if they are valid.
7506func (s *CreateAliasInput) Validate() error {
7507	invalidParams := request.ErrInvalidParams{Context: "CreateAliasInput"}
7508	if s.Alias == nil {
7509		invalidParams.Add(request.NewErrParamRequired("Alias"))
7510	}
7511	if s.Alias != nil && len(*s.Alias) < 1 {
7512		invalidParams.Add(request.NewErrParamMinLen("Alias", 1))
7513	}
7514	if s.DirectoryId == nil {
7515		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
7516	}
7517
7518	if invalidParams.Len() > 0 {
7519		return invalidParams
7520	}
7521	return nil
7522}
7523
7524// SetAlias sets the Alias field's value.
7525func (s *CreateAliasInput) SetAlias(v string) *CreateAliasInput {
7526	s.Alias = &v
7527	return s
7528}
7529
7530// SetDirectoryId sets the DirectoryId field's value.
7531func (s *CreateAliasInput) SetDirectoryId(v string) *CreateAliasInput {
7532	s.DirectoryId = &v
7533	return s
7534}
7535
7536// Contains the results of the CreateAlias operation.
7537type CreateAliasOutput struct {
7538	_ struct{} `type:"structure"`
7539
7540	// The alias for the directory.
7541	Alias *string `min:"1" type:"string"`
7542
7543	// The identifier of the directory.
7544	DirectoryId *string `type:"string"`
7545}
7546
7547// String returns the string representation
7548func (s CreateAliasOutput) String() string {
7549	return awsutil.Prettify(s)
7550}
7551
7552// GoString returns the string representation
7553func (s CreateAliasOutput) GoString() string {
7554	return s.String()
7555}
7556
7557// SetAlias sets the Alias field's value.
7558func (s *CreateAliasOutput) SetAlias(v string) *CreateAliasOutput {
7559	s.Alias = &v
7560	return s
7561}
7562
7563// SetDirectoryId sets the DirectoryId field's value.
7564func (s *CreateAliasOutput) SetDirectoryId(v string) *CreateAliasOutput {
7565	s.DirectoryId = &v
7566	return s
7567}
7568
7569// Contains the inputs for the CreateComputer operation.
7570type CreateComputerInput struct {
7571	_ struct{} `type:"structure"`
7572
7573	// An array of Attribute objects that contain any LDAP attributes to apply to
7574	// the computer account.
7575	ComputerAttributes []*Attribute `type:"list"`
7576
7577	// The name of the computer account.
7578	//
7579	// ComputerName is a required field
7580	ComputerName *string `min:"1" type:"string" required:"true"`
7581
7582	// The identifier of the directory in which to create the computer account.
7583	//
7584	// DirectoryId is a required field
7585	DirectoryId *string `type:"string" required:"true"`
7586
7587	// The fully-qualified distinguished name of the organizational unit to place
7588	// the computer account in.
7589	OrganizationalUnitDistinguishedName *string `min:"1" type:"string"`
7590
7591	// A one-time password that is used to join the computer to the directory. You
7592	// should generate a random, strong password to use for this parameter.
7593	//
7594	// Password is a required field
7595	Password *string `min:"8" type:"string" required:"true" sensitive:"true"`
7596}
7597
7598// String returns the string representation
7599func (s CreateComputerInput) String() string {
7600	return awsutil.Prettify(s)
7601}
7602
7603// GoString returns the string representation
7604func (s CreateComputerInput) GoString() string {
7605	return s.String()
7606}
7607
7608// Validate inspects the fields of the type to determine if they are valid.
7609func (s *CreateComputerInput) Validate() error {
7610	invalidParams := request.ErrInvalidParams{Context: "CreateComputerInput"}
7611	if s.ComputerName == nil {
7612		invalidParams.Add(request.NewErrParamRequired("ComputerName"))
7613	}
7614	if s.ComputerName != nil && len(*s.ComputerName) < 1 {
7615		invalidParams.Add(request.NewErrParamMinLen("ComputerName", 1))
7616	}
7617	if s.DirectoryId == nil {
7618		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
7619	}
7620	if s.OrganizationalUnitDistinguishedName != nil && len(*s.OrganizationalUnitDistinguishedName) < 1 {
7621		invalidParams.Add(request.NewErrParamMinLen("OrganizationalUnitDistinguishedName", 1))
7622	}
7623	if s.Password == nil {
7624		invalidParams.Add(request.NewErrParamRequired("Password"))
7625	}
7626	if s.Password != nil && len(*s.Password) < 8 {
7627		invalidParams.Add(request.NewErrParamMinLen("Password", 8))
7628	}
7629	if s.ComputerAttributes != nil {
7630		for i, v := range s.ComputerAttributes {
7631			if v == nil {
7632				continue
7633			}
7634			if err := v.Validate(); err != nil {
7635				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComputerAttributes", i), err.(request.ErrInvalidParams))
7636			}
7637		}
7638	}
7639
7640	if invalidParams.Len() > 0 {
7641		return invalidParams
7642	}
7643	return nil
7644}
7645
7646// SetComputerAttributes sets the ComputerAttributes field's value.
7647func (s *CreateComputerInput) SetComputerAttributes(v []*Attribute) *CreateComputerInput {
7648	s.ComputerAttributes = v
7649	return s
7650}
7651
7652// SetComputerName sets the ComputerName field's value.
7653func (s *CreateComputerInput) SetComputerName(v string) *CreateComputerInput {
7654	s.ComputerName = &v
7655	return s
7656}
7657
7658// SetDirectoryId sets the DirectoryId field's value.
7659func (s *CreateComputerInput) SetDirectoryId(v string) *CreateComputerInput {
7660	s.DirectoryId = &v
7661	return s
7662}
7663
7664// SetOrganizationalUnitDistinguishedName sets the OrganizationalUnitDistinguishedName field's value.
7665func (s *CreateComputerInput) SetOrganizationalUnitDistinguishedName(v string) *CreateComputerInput {
7666	s.OrganizationalUnitDistinguishedName = &v
7667	return s
7668}
7669
7670// SetPassword sets the Password field's value.
7671func (s *CreateComputerInput) SetPassword(v string) *CreateComputerInput {
7672	s.Password = &v
7673	return s
7674}
7675
7676// Contains the results for the CreateComputer operation.
7677type CreateComputerOutput struct {
7678	_ struct{} `type:"structure"`
7679
7680	// A Computer object that represents the computer account.
7681	Computer *Computer `type:"structure"`
7682}
7683
7684// String returns the string representation
7685func (s CreateComputerOutput) String() string {
7686	return awsutil.Prettify(s)
7687}
7688
7689// GoString returns the string representation
7690func (s CreateComputerOutput) GoString() string {
7691	return s.String()
7692}
7693
7694// SetComputer sets the Computer field's value.
7695func (s *CreateComputerOutput) SetComputer(v *Computer) *CreateComputerOutput {
7696	s.Computer = v
7697	return s
7698}
7699
7700// Initiates the creation of a conditional forwarder for your Directory Service
7701// for Microsoft Active Directory. Conditional forwarders are required in order
7702// to set up a trust relationship with another domain.
7703type CreateConditionalForwarderInput struct {
7704	_ struct{} `type:"structure"`
7705
7706	// The directory ID of the Amazon Web Services directory for which you are creating
7707	// the conditional forwarder.
7708	//
7709	// DirectoryId is a required field
7710	DirectoryId *string `type:"string" required:"true"`
7711
7712	// The IP addresses of the remote DNS server associated with RemoteDomainName.
7713	//
7714	// DnsIpAddrs is a required field
7715	DnsIpAddrs []*string `type:"list" required:"true"`
7716
7717	// The fully qualified domain name (FQDN) of the remote domain with which you
7718	// will set up a trust relationship.
7719	//
7720	// RemoteDomainName is a required field
7721	RemoteDomainName *string `type:"string" required:"true"`
7722}
7723
7724// String returns the string representation
7725func (s CreateConditionalForwarderInput) String() string {
7726	return awsutil.Prettify(s)
7727}
7728
7729// GoString returns the string representation
7730func (s CreateConditionalForwarderInput) GoString() string {
7731	return s.String()
7732}
7733
7734// Validate inspects the fields of the type to determine if they are valid.
7735func (s *CreateConditionalForwarderInput) Validate() error {
7736	invalidParams := request.ErrInvalidParams{Context: "CreateConditionalForwarderInput"}
7737	if s.DirectoryId == nil {
7738		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
7739	}
7740	if s.DnsIpAddrs == nil {
7741		invalidParams.Add(request.NewErrParamRequired("DnsIpAddrs"))
7742	}
7743	if s.RemoteDomainName == nil {
7744		invalidParams.Add(request.NewErrParamRequired("RemoteDomainName"))
7745	}
7746
7747	if invalidParams.Len() > 0 {
7748		return invalidParams
7749	}
7750	return nil
7751}
7752
7753// SetDirectoryId sets the DirectoryId field's value.
7754func (s *CreateConditionalForwarderInput) SetDirectoryId(v string) *CreateConditionalForwarderInput {
7755	s.DirectoryId = &v
7756	return s
7757}
7758
7759// SetDnsIpAddrs sets the DnsIpAddrs field's value.
7760func (s *CreateConditionalForwarderInput) SetDnsIpAddrs(v []*string) *CreateConditionalForwarderInput {
7761	s.DnsIpAddrs = v
7762	return s
7763}
7764
7765// SetRemoteDomainName sets the RemoteDomainName field's value.
7766func (s *CreateConditionalForwarderInput) SetRemoteDomainName(v string) *CreateConditionalForwarderInput {
7767	s.RemoteDomainName = &v
7768	return s
7769}
7770
7771// The result of a CreateConditinalForwarder request.
7772type CreateConditionalForwarderOutput struct {
7773	_ struct{} `type:"structure"`
7774}
7775
7776// String returns the string representation
7777func (s CreateConditionalForwarderOutput) String() string {
7778	return awsutil.Prettify(s)
7779}
7780
7781// GoString returns the string representation
7782func (s CreateConditionalForwarderOutput) GoString() string {
7783	return s.String()
7784}
7785
7786// Contains the inputs for the CreateDirectory operation.
7787type CreateDirectoryInput struct {
7788	_ struct{} `type:"structure"`
7789
7790	// A description for the directory.
7791	Description *string `type:"string"`
7792
7793	// The fully qualified name for the directory, such as corp.example.com.
7794	//
7795	// Name is a required field
7796	Name *string `type:"string" required:"true"`
7797
7798	// The password for the directory administrator. The directory creation process
7799	// creates a directory administrator account with the user name Administrator
7800	// and this password.
7801	//
7802	// If you need to change the password for the administrator account, you can
7803	// use the ResetUserPassword API call.
7804	//
7805	// The regex pattern for this string is made up of the following conditions:
7806	//
7807	//    * Length (?=^.{8,64}$) – Must be between 8 and 64 characters
7808	//
7809	// AND any 3 of the following password complexity rules required by Active Directory:
7810	//
7811	//    * Numbers and upper case and lowercase (?=.*\d)(?=.*[A-Z])(?=.*[a-z])
7812	//
7813	//    * Numbers and special characters and lower case (?=.*\d)(?=.*[^A-Za-z0-9\s])(?=.*[a-z])
7814	//
7815	//    * Special characters and upper case and lower case (?=.*[^A-Za-z0-9\s])(?=.*[A-Z])(?=.*[a-z])
7816	//
7817	//    * Numbers and upper case and special characters (?=.*\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9\s])
7818	//
7819	// For additional information about how Active Directory passwords are enforced,
7820	// see Password must meet complexity requirements (https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/password-must-meet-complexity-requirements)
7821	// on the Microsoft website.
7822	//
7823	// Password is a required field
7824	Password *string `type:"string" required:"true" sensitive:"true"`
7825
7826	// The NetBIOS name of the directory, such as CORP.
7827	ShortName *string `type:"string"`
7828
7829	// The size of the directory.
7830	//
7831	// Size is a required field
7832	Size *string `type:"string" required:"true" enum:"DirectorySize"`
7833
7834	// The tags to be assigned to the Simple AD directory.
7835	Tags []*Tag `type:"list"`
7836
7837	// A DirectoryVpcSettings object that contains additional information for the
7838	// operation.
7839	VpcSettings *DirectoryVpcSettings `type:"structure"`
7840}
7841
7842// String returns the string representation
7843func (s CreateDirectoryInput) String() string {
7844	return awsutil.Prettify(s)
7845}
7846
7847// GoString returns the string representation
7848func (s CreateDirectoryInput) GoString() string {
7849	return s.String()
7850}
7851
7852// Validate inspects the fields of the type to determine if they are valid.
7853func (s *CreateDirectoryInput) Validate() error {
7854	invalidParams := request.ErrInvalidParams{Context: "CreateDirectoryInput"}
7855	if s.Name == nil {
7856		invalidParams.Add(request.NewErrParamRequired("Name"))
7857	}
7858	if s.Password == nil {
7859		invalidParams.Add(request.NewErrParamRequired("Password"))
7860	}
7861	if s.Size == nil {
7862		invalidParams.Add(request.NewErrParamRequired("Size"))
7863	}
7864	if s.Tags != nil {
7865		for i, v := range s.Tags {
7866			if v == nil {
7867				continue
7868			}
7869			if err := v.Validate(); err != nil {
7870				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
7871			}
7872		}
7873	}
7874	if s.VpcSettings != nil {
7875		if err := s.VpcSettings.Validate(); err != nil {
7876			invalidParams.AddNested("VpcSettings", err.(request.ErrInvalidParams))
7877		}
7878	}
7879
7880	if invalidParams.Len() > 0 {
7881		return invalidParams
7882	}
7883	return nil
7884}
7885
7886// SetDescription sets the Description field's value.
7887func (s *CreateDirectoryInput) SetDescription(v string) *CreateDirectoryInput {
7888	s.Description = &v
7889	return s
7890}
7891
7892// SetName sets the Name field's value.
7893func (s *CreateDirectoryInput) SetName(v string) *CreateDirectoryInput {
7894	s.Name = &v
7895	return s
7896}
7897
7898// SetPassword sets the Password field's value.
7899func (s *CreateDirectoryInput) SetPassword(v string) *CreateDirectoryInput {
7900	s.Password = &v
7901	return s
7902}
7903
7904// SetShortName sets the ShortName field's value.
7905func (s *CreateDirectoryInput) SetShortName(v string) *CreateDirectoryInput {
7906	s.ShortName = &v
7907	return s
7908}
7909
7910// SetSize sets the Size field's value.
7911func (s *CreateDirectoryInput) SetSize(v string) *CreateDirectoryInput {
7912	s.Size = &v
7913	return s
7914}
7915
7916// SetTags sets the Tags field's value.
7917func (s *CreateDirectoryInput) SetTags(v []*Tag) *CreateDirectoryInput {
7918	s.Tags = v
7919	return s
7920}
7921
7922// SetVpcSettings sets the VpcSettings field's value.
7923func (s *CreateDirectoryInput) SetVpcSettings(v *DirectoryVpcSettings) *CreateDirectoryInput {
7924	s.VpcSettings = v
7925	return s
7926}
7927
7928// Contains the results of the CreateDirectory operation.
7929type CreateDirectoryOutput struct {
7930	_ struct{} `type:"structure"`
7931
7932	// The identifier of the directory that was created.
7933	DirectoryId *string `type:"string"`
7934}
7935
7936// String returns the string representation
7937func (s CreateDirectoryOutput) String() string {
7938	return awsutil.Prettify(s)
7939}
7940
7941// GoString returns the string representation
7942func (s CreateDirectoryOutput) GoString() string {
7943	return s.String()
7944}
7945
7946// SetDirectoryId sets the DirectoryId field's value.
7947func (s *CreateDirectoryOutput) SetDirectoryId(v string) *CreateDirectoryOutput {
7948	s.DirectoryId = &v
7949	return s
7950}
7951
7952type CreateLogSubscriptionInput struct {
7953	_ struct{} `type:"structure"`
7954
7955	// Identifier of the directory to which you want to subscribe and receive real-time
7956	// logs to your specified CloudWatch log group.
7957	//
7958	// DirectoryId is a required field
7959	DirectoryId *string `type:"string" required:"true"`
7960
7961	// The name of the CloudWatch log group where the real-time domain controller
7962	// logs are forwarded.
7963	//
7964	// LogGroupName is a required field
7965	LogGroupName *string `min:"1" type:"string" required:"true"`
7966}
7967
7968// String returns the string representation
7969func (s CreateLogSubscriptionInput) String() string {
7970	return awsutil.Prettify(s)
7971}
7972
7973// GoString returns the string representation
7974func (s CreateLogSubscriptionInput) GoString() string {
7975	return s.String()
7976}
7977
7978// Validate inspects the fields of the type to determine if they are valid.
7979func (s *CreateLogSubscriptionInput) Validate() error {
7980	invalidParams := request.ErrInvalidParams{Context: "CreateLogSubscriptionInput"}
7981	if s.DirectoryId == nil {
7982		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
7983	}
7984	if s.LogGroupName == nil {
7985		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
7986	}
7987	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
7988		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
7989	}
7990
7991	if invalidParams.Len() > 0 {
7992		return invalidParams
7993	}
7994	return nil
7995}
7996
7997// SetDirectoryId sets the DirectoryId field's value.
7998func (s *CreateLogSubscriptionInput) SetDirectoryId(v string) *CreateLogSubscriptionInput {
7999	s.DirectoryId = &v
8000	return s
8001}
8002
8003// SetLogGroupName sets the LogGroupName field's value.
8004func (s *CreateLogSubscriptionInput) SetLogGroupName(v string) *CreateLogSubscriptionInput {
8005	s.LogGroupName = &v
8006	return s
8007}
8008
8009type CreateLogSubscriptionOutput struct {
8010	_ struct{} `type:"structure"`
8011}
8012
8013// String returns the string representation
8014func (s CreateLogSubscriptionOutput) String() string {
8015	return awsutil.Prettify(s)
8016}
8017
8018// GoString returns the string representation
8019func (s CreateLogSubscriptionOutput) GoString() string {
8020	return s.String()
8021}
8022
8023// Creates an Managed Microsoft AD directory.
8024type CreateMicrosoftADInput struct {
8025	_ struct{} `type:"structure"`
8026
8027	// A description for the directory. This label will appear on the Amazon Web
8028	// Services console Directory Details page after the directory is created.
8029	Description *string `type:"string"`
8030
8031	// Managed Microsoft AD is available in two editions: Standard and Enterprise.
8032	// Enterprise is the default.
8033	Edition *string `type:"string" enum:"DirectoryEdition"`
8034
8035	// The fully qualified domain name for the Managed Microsoft AD directory, such
8036	// as corp.example.com. This name will resolve inside your VPC only. It does
8037	// not need to be publicly resolvable.
8038	//
8039	// Name is a required field
8040	Name *string `type:"string" required:"true"`
8041
8042	// The password for the default administrative user named Admin.
8043	//
8044	// If you need to change the password for the administrator account, you can
8045	// use the ResetUserPassword API call.
8046	//
8047	// Password is a required field
8048	Password *string `type:"string" required:"true" sensitive:"true"`
8049
8050	// The NetBIOS name for your domain, such as CORP. If you don't specify a NetBIOS
8051	// name, it will default to the first part of your directory DNS. For example,
8052	// CORP for the directory DNS corp.example.com.
8053	ShortName *string `type:"string"`
8054
8055	// The tags to be assigned to the Managed Microsoft AD directory.
8056	Tags []*Tag `type:"list"`
8057
8058	// Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.
8059	//
8060	// VpcSettings is a required field
8061	VpcSettings *DirectoryVpcSettings `type:"structure" required:"true"`
8062}
8063
8064// String returns the string representation
8065func (s CreateMicrosoftADInput) String() string {
8066	return awsutil.Prettify(s)
8067}
8068
8069// GoString returns the string representation
8070func (s CreateMicrosoftADInput) GoString() string {
8071	return s.String()
8072}
8073
8074// Validate inspects the fields of the type to determine if they are valid.
8075func (s *CreateMicrosoftADInput) Validate() error {
8076	invalidParams := request.ErrInvalidParams{Context: "CreateMicrosoftADInput"}
8077	if s.Name == nil {
8078		invalidParams.Add(request.NewErrParamRequired("Name"))
8079	}
8080	if s.Password == nil {
8081		invalidParams.Add(request.NewErrParamRequired("Password"))
8082	}
8083	if s.VpcSettings == nil {
8084		invalidParams.Add(request.NewErrParamRequired("VpcSettings"))
8085	}
8086	if s.Tags != nil {
8087		for i, v := range s.Tags {
8088			if v == nil {
8089				continue
8090			}
8091			if err := v.Validate(); err != nil {
8092				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
8093			}
8094		}
8095	}
8096	if s.VpcSettings != nil {
8097		if err := s.VpcSettings.Validate(); err != nil {
8098			invalidParams.AddNested("VpcSettings", err.(request.ErrInvalidParams))
8099		}
8100	}
8101
8102	if invalidParams.Len() > 0 {
8103		return invalidParams
8104	}
8105	return nil
8106}
8107
8108// SetDescription sets the Description field's value.
8109func (s *CreateMicrosoftADInput) SetDescription(v string) *CreateMicrosoftADInput {
8110	s.Description = &v
8111	return s
8112}
8113
8114// SetEdition sets the Edition field's value.
8115func (s *CreateMicrosoftADInput) SetEdition(v string) *CreateMicrosoftADInput {
8116	s.Edition = &v
8117	return s
8118}
8119
8120// SetName sets the Name field's value.
8121func (s *CreateMicrosoftADInput) SetName(v string) *CreateMicrosoftADInput {
8122	s.Name = &v
8123	return s
8124}
8125
8126// SetPassword sets the Password field's value.
8127func (s *CreateMicrosoftADInput) SetPassword(v string) *CreateMicrosoftADInput {
8128	s.Password = &v
8129	return s
8130}
8131
8132// SetShortName sets the ShortName field's value.
8133func (s *CreateMicrosoftADInput) SetShortName(v string) *CreateMicrosoftADInput {
8134	s.ShortName = &v
8135	return s
8136}
8137
8138// SetTags sets the Tags field's value.
8139func (s *CreateMicrosoftADInput) SetTags(v []*Tag) *CreateMicrosoftADInput {
8140	s.Tags = v
8141	return s
8142}
8143
8144// SetVpcSettings sets the VpcSettings field's value.
8145func (s *CreateMicrosoftADInput) SetVpcSettings(v *DirectoryVpcSettings) *CreateMicrosoftADInput {
8146	s.VpcSettings = v
8147	return s
8148}
8149
8150// Result of a CreateMicrosoftAD request.
8151type CreateMicrosoftADOutput struct {
8152	_ struct{} `type:"structure"`
8153
8154	// The identifier of the directory that was created.
8155	DirectoryId *string `type:"string"`
8156}
8157
8158// String returns the string representation
8159func (s CreateMicrosoftADOutput) String() string {
8160	return awsutil.Prettify(s)
8161}
8162
8163// GoString returns the string representation
8164func (s CreateMicrosoftADOutput) GoString() string {
8165	return s.String()
8166}
8167
8168// SetDirectoryId sets the DirectoryId field's value.
8169func (s *CreateMicrosoftADOutput) SetDirectoryId(v string) *CreateMicrosoftADOutput {
8170	s.DirectoryId = &v
8171	return s
8172}
8173
8174// Contains the inputs for the CreateSnapshot operation.
8175type CreateSnapshotInput struct {
8176	_ struct{} `type:"structure"`
8177
8178	// The identifier of the directory of which to take a snapshot.
8179	//
8180	// DirectoryId is a required field
8181	DirectoryId *string `type:"string" required:"true"`
8182
8183	// The descriptive name to apply to the snapshot.
8184	Name *string `type:"string"`
8185}
8186
8187// String returns the string representation
8188func (s CreateSnapshotInput) String() string {
8189	return awsutil.Prettify(s)
8190}
8191
8192// GoString returns the string representation
8193func (s CreateSnapshotInput) GoString() string {
8194	return s.String()
8195}
8196
8197// Validate inspects the fields of the type to determine if they are valid.
8198func (s *CreateSnapshotInput) Validate() error {
8199	invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
8200	if s.DirectoryId == nil {
8201		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
8202	}
8203
8204	if invalidParams.Len() > 0 {
8205		return invalidParams
8206	}
8207	return nil
8208}
8209
8210// SetDirectoryId sets the DirectoryId field's value.
8211func (s *CreateSnapshotInput) SetDirectoryId(v string) *CreateSnapshotInput {
8212	s.DirectoryId = &v
8213	return s
8214}
8215
8216// SetName sets the Name field's value.
8217func (s *CreateSnapshotInput) SetName(v string) *CreateSnapshotInput {
8218	s.Name = &v
8219	return s
8220}
8221
8222// Contains the results of the CreateSnapshot operation.
8223type CreateSnapshotOutput struct {
8224	_ struct{} `type:"structure"`
8225
8226	// The identifier of the snapshot that was created.
8227	SnapshotId *string `type:"string"`
8228}
8229
8230// String returns the string representation
8231func (s CreateSnapshotOutput) String() string {
8232	return awsutil.Prettify(s)
8233}
8234
8235// GoString returns the string representation
8236func (s CreateSnapshotOutput) GoString() string {
8237	return s.String()
8238}
8239
8240// SetSnapshotId sets the SnapshotId field's value.
8241func (s *CreateSnapshotOutput) SetSnapshotId(v string) *CreateSnapshotOutput {
8242	s.SnapshotId = &v
8243	return s
8244}
8245
8246// Directory Service for Microsoft Active Directory allows you to configure
8247// trust relationships. For example, you can establish a trust between your
8248// Managed Microsoft AD directory, and your existing self-managed Microsoft
8249// Active Directory. This would allow you to provide users and groups access
8250// to resources in either domain, with a single set of credentials.
8251//
8252// This action initiates the creation of the Amazon Web Services side of a trust
8253// relationship between an Managed Microsoft AD directory and an external domain.
8254type CreateTrustInput struct {
8255	_ struct{} `type:"structure"`
8256
8257	// The IP addresses of the remote DNS server associated with RemoteDomainName.
8258	ConditionalForwarderIpAddrs []*string `type:"list"`
8259
8260	// The Directory ID of the Managed Microsoft AD directory for which to establish
8261	// the trust relationship.
8262	//
8263	// DirectoryId is a required field
8264	DirectoryId *string `type:"string" required:"true"`
8265
8266	// The Fully Qualified Domain Name (FQDN) of the external domain for which to
8267	// create the trust relationship.
8268	//
8269	// RemoteDomainName is a required field
8270	RemoteDomainName *string `type:"string" required:"true"`
8271
8272	// Optional parameter to enable selective authentication for the trust.
8273	SelectiveAuth *string `type:"string" enum:"SelectiveAuth"`
8274
8275	// The direction of the trust relationship.
8276	//
8277	// TrustDirection is a required field
8278	TrustDirection *string `type:"string" required:"true" enum:"TrustDirection"`
8279
8280	// The trust password. The must be the same password that was used when creating
8281	// the trust relationship on the external domain.
8282	//
8283	// TrustPassword is a required field
8284	TrustPassword *string `min:"1" type:"string" required:"true" sensitive:"true"`
8285
8286	// The trust relationship type. Forest is the default.
8287	TrustType *string `type:"string" enum:"TrustType"`
8288}
8289
8290// String returns the string representation
8291func (s CreateTrustInput) String() string {
8292	return awsutil.Prettify(s)
8293}
8294
8295// GoString returns the string representation
8296func (s CreateTrustInput) GoString() string {
8297	return s.String()
8298}
8299
8300// Validate inspects the fields of the type to determine if they are valid.
8301func (s *CreateTrustInput) Validate() error {
8302	invalidParams := request.ErrInvalidParams{Context: "CreateTrustInput"}
8303	if s.DirectoryId == nil {
8304		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
8305	}
8306	if s.RemoteDomainName == nil {
8307		invalidParams.Add(request.NewErrParamRequired("RemoteDomainName"))
8308	}
8309	if s.TrustDirection == nil {
8310		invalidParams.Add(request.NewErrParamRequired("TrustDirection"))
8311	}
8312	if s.TrustPassword == nil {
8313		invalidParams.Add(request.NewErrParamRequired("TrustPassword"))
8314	}
8315	if s.TrustPassword != nil && len(*s.TrustPassword) < 1 {
8316		invalidParams.Add(request.NewErrParamMinLen("TrustPassword", 1))
8317	}
8318
8319	if invalidParams.Len() > 0 {
8320		return invalidParams
8321	}
8322	return nil
8323}
8324
8325// SetConditionalForwarderIpAddrs sets the ConditionalForwarderIpAddrs field's value.
8326func (s *CreateTrustInput) SetConditionalForwarderIpAddrs(v []*string) *CreateTrustInput {
8327	s.ConditionalForwarderIpAddrs = v
8328	return s
8329}
8330
8331// SetDirectoryId sets the DirectoryId field's value.
8332func (s *CreateTrustInput) SetDirectoryId(v string) *CreateTrustInput {
8333	s.DirectoryId = &v
8334	return s
8335}
8336
8337// SetRemoteDomainName sets the RemoteDomainName field's value.
8338func (s *CreateTrustInput) SetRemoteDomainName(v string) *CreateTrustInput {
8339	s.RemoteDomainName = &v
8340	return s
8341}
8342
8343// SetSelectiveAuth sets the SelectiveAuth field's value.
8344func (s *CreateTrustInput) SetSelectiveAuth(v string) *CreateTrustInput {
8345	s.SelectiveAuth = &v
8346	return s
8347}
8348
8349// SetTrustDirection sets the TrustDirection field's value.
8350func (s *CreateTrustInput) SetTrustDirection(v string) *CreateTrustInput {
8351	s.TrustDirection = &v
8352	return s
8353}
8354
8355// SetTrustPassword sets the TrustPassword field's value.
8356func (s *CreateTrustInput) SetTrustPassword(v string) *CreateTrustInput {
8357	s.TrustPassword = &v
8358	return s
8359}
8360
8361// SetTrustType sets the TrustType field's value.
8362func (s *CreateTrustInput) SetTrustType(v string) *CreateTrustInput {
8363	s.TrustType = &v
8364	return s
8365}
8366
8367// The result of a CreateTrust request.
8368type CreateTrustOutput struct {
8369	_ struct{} `type:"structure"`
8370
8371	// A unique identifier for the trust relationship that was created.
8372	TrustId *string `type:"string"`
8373}
8374
8375// String returns the string representation
8376func (s CreateTrustOutput) String() string {
8377	return awsutil.Prettify(s)
8378}
8379
8380// GoString returns the string representation
8381func (s CreateTrustOutput) GoString() string {
8382	return s.String()
8383}
8384
8385// SetTrustId sets the TrustId field's value.
8386func (s *CreateTrustOutput) SetTrustId(v string) *CreateTrustOutput {
8387	s.TrustId = &v
8388	return s
8389}
8390
8391// Deletes a conditional forwarder.
8392type DeleteConditionalForwarderInput struct {
8393	_ struct{} `type:"structure"`
8394
8395	// The directory ID for which you are deleting the conditional forwarder.
8396	//
8397	// DirectoryId is a required field
8398	DirectoryId *string `type:"string" required:"true"`
8399
8400	// The fully qualified domain name (FQDN) of the remote domain with which you
8401	// are deleting the conditional forwarder.
8402	//
8403	// RemoteDomainName is a required field
8404	RemoteDomainName *string `type:"string" required:"true"`
8405}
8406
8407// String returns the string representation
8408func (s DeleteConditionalForwarderInput) String() string {
8409	return awsutil.Prettify(s)
8410}
8411
8412// GoString returns the string representation
8413func (s DeleteConditionalForwarderInput) GoString() string {
8414	return s.String()
8415}
8416
8417// Validate inspects the fields of the type to determine if they are valid.
8418func (s *DeleteConditionalForwarderInput) Validate() error {
8419	invalidParams := request.ErrInvalidParams{Context: "DeleteConditionalForwarderInput"}
8420	if s.DirectoryId == nil {
8421		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
8422	}
8423	if s.RemoteDomainName == nil {
8424		invalidParams.Add(request.NewErrParamRequired("RemoteDomainName"))
8425	}
8426
8427	if invalidParams.Len() > 0 {
8428		return invalidParams
8429	}
8430	return nil
8431}
8432
8433// SetDirectoryId sets the DirectoryId field's value.
8434func (s *DeleteConditionalForwarderInput) SetDirectoryId(v string) *DeleteConditionalForwarderInput {
8435	s.DirectoryId = &v
8436	return s
8437}
8438
8439// SetRemoteDomainName sets the RemoteDomainName field's value.
8440func (s *DeleteConditionalForwarderInput) SetRemoteDomainName(v string) *DeleteConditionalForwarderInput {
8441	s.RemoteDomainName = &v
8442	return s
8443}
8444
8445// The result of a DeleteConditionalForwarder request.
8446type DeleteConditionalForwarderOutput struct {
8447	_ struct{} `type:"structure"`
8448}
8449
8450// String returns the string representation
8451func (s DeleteConditionalForwarderOutput) String() string {
8452	return awsutil.Prettify(s)
8453}
8454
8455// GoString returns the string representation
8456func (s DeleteConditionalForwarderOutput) GoString() string {
8457	return s.String()
8458}
8459
8460// Contains the inputs for the DeleteDirectory operation.
8461type DeleteDirectoryInput struct {
8462	_ struct{} `type:"structure"`
8463
8464	// The identifier of the directory to delete.
8465	//
8466	// DirectoryId is a required field
8467	DirectoryId *string `type:"string" required:"true"`
8468}
8469
8470// String returns the string representation
8471func (s DeleteDirectoryInput) String() string {
8472	return awsutil.Prettify(s)
8473}
8474
8475// GoString returns the string representation
8476func (s DeleteDirectoryInput) GoString() string {
8477	return s.String()
8478}
8479
8480// Validate inspects the fields of the type to determine if they are valid.
8481func (s *DeleteDirectoryInput) Validate() error {
8482	invalidParams := request.ErrInvalidParams{Context: "DeleteDirectoryInput"}
8483	if s.DirectoryId == nil {
8484		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
8485	}
8486
8487	if invalidParams.Len() > 0 {
8488		return invalidParams
8489	}
8490	return nil
8491}
8492
8493// SetDirectoryId sets the DirectoryId field's value.
8494func (s *DeleteDirectoryInput) SetDirectoryId(v string) *DeleteDirectoryInput {
8495	s.DirectoryId = &v
8496	return s
8497}
8498
8499// Contains the results of the DeleteDirectory operation.
8500type DeleteDirectoryOutput struct {
8501	_ struct{} `type:"structure"`
8502
8503	// The directory identifier.
8504	DirectoryId *string `type:"string"`
8505}
8506
8507// String returns the string representation
8508func (s DeleteDirectoryOutput) String() string {
8509	return awsutil.Prettify(s)
8510}
8511
8512// GoString returns the string representation
8513func (s DeleteDirectoryOutput) GoString() string {
8514	return s.String()
8515}
8516
8517// SetDirectoryId sets the DirectoryId field's value.
8518func (s *DeleteDirectoryOutput) SetDirectoryId(v string) *DeleteDirectoryOutput {
8519	s.DirectoryId = &v
8520	return s
8521}
8522
8523type DeleteLogSubscriptionInput struct {
8524	_ struct{} `type:"structure"`
8525
8526	// Identifier of the directory whose log subscription you want to delete.
8527	//
8528	// DirectoryId is a required field
8529	DirectoryId *string `type:"string" required:"true"`
8530}
8531
8532// String returns the string representation
8533func (s DeleteLogSubscriptionInput) String() string {
8534	return awsutil.Prettify(s)
8535}
8536
8537// GoString returns the string representation
8538func (s DeleteLogSubscriptionInput) GoString() string {
8539	return s.String()
8540}
8541
8542// Validate inspects the fields of the type to determine if they are valid.
8543func (s *DeleteLogSubscriptionInput) Validate() error {
8544	invalidParams := request.ErrInvalidParams{Context: "DeleteLogSubscriptionInput"}
8545	if s.DirectoryId == nil {
8546		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
8547	}
8548
8549	if invalidParams.Len() > 0 {
8550		return invalidParams
8551	}
8552	return nil
8553}
8554
8555// SetDirectoryId sets the DirectoryId field's value.
8556func (s *DeleteLogSubscriptionInput) SetDirectoryId(v string) *DeleteLogSubscriptionInput {
8557	s.DirectoryId = &v
8558	return s
8559}
8560
8561type DeleteLogSubscriptionOutput struct {
8562	_ struct{} `type:"structure"`
8563}
8564
8565// String returns the string representation
8566func (s DeleteLogSubscriptionOutput) String() string {
8567	return awsutil.Prettify(s)
8568}
8569
8570// GoString returns the string representation
8571func (s DeleteLogSubscriptionOutput) GoString() string {
8572	return s.String()
8573}
8574
8575// Contains the inputs for the DeleteSnapshot operation.
8576type DeleteSnapshotInput struct {
8577	_ struct{} `type:"structure"`
8578
8579	// The identifier of the directory snapshot to be deleted.
8580	//
8581	// SnapshotId is a required field
8582	SnapshotId *string `type:"string" required:"true"`
8583}
8584
8585// String returns the string representation
8586func (s DeleteSnapshotInput) String() string {
8587	return awsutil.Prettify(s)
8588}
8589
8590// GoString returns the string representation
8591func (s DeleteSnapshotInput) GoString() string {
8592	return s.String()
8593}
8594
8595// Validate inspects the fields of the type to determine if they are valid.
8596func (s *DeleteSnapshotInput) Validate() error {
8597	invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
8598	if s.SnapshotId == nil {
8599		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
8600	}
8601
8602	if invalidParams.Len() > 0 {
8603		return invalidParams
8604	}
8605	return nil
8606}
8607
8608// SetSnapshotId sets the SnapshotId field's value.
8609func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput {
8610	s.SnapshotId = &v
8611	return s
8612}
8613
8614// Contains the results of the DeleteSnapshot operation.
8615type DeleteSnapshotOutput struct {
8616	_ struct{} `type:"structure"`
8617
8618	// The identifier of the directory snapshot that was deleted.
8619	SnapshotId *string `type:"string"`
8620}
8621
8622// String returns the string representation
8623func (s DeleteSnapshotOutput) String() string {
8624	return awsutil.Prettify(s)
8625}
8626
8627// GoString returns the string representation
8628func (s DeleteSnapshotOutput) GoString() string {
8629	return s.String()
8630}
8631
8632// SetSnapshotId sets the SnapshotId field's value.
8633func (s *DeleteSnapshotOutput) SetSnapshotId(v string) *DeleteSnapshotOutput {
8634	s.SnapshotId = &v
8635	return s
8636}
8637
8638// Deletes the local side of an existing trust relationship between the Managed
8639// Microsoft AD directory and the external domain.
8640type DeleteTrustInput struct {
8641	_ struct{} `type:"structure"`
8642
8643	// Delete a conditional forwarder as part of a DeleteTrustRequest.
8644	DeleteAssociatedConditionalForwarder *bool `type:"boolean"`
8645
8646	// The Trust ID of the trust relationship to be deleted.
8647	//
8648	// TrustId is a required field
8649	TrustId *string `type:"string" required:"true"`
8650}
8651
8652// String returns the string representation
8653func (s DeleteTrustInput) String() string {
8654	return awsutil.Prettify(s)
8655}
8656
8657// GoString returns the string representation
8658func (s DeleteTrustInput) GoString() string {
8659	return s.String()
8660}
8661
8662// Validate inspects the fields of the type to determine if they are valid.
8663func (s *DeleteTrustInput) Validate() error {
8664	invalidParams := request.ErrInvalidParams{Context: "DeleteTrustInput"}
8665	if s.TrustId == nil {
8666		invalidParams.Add(request.NewErrParamRequired("TrustId"))
8667	}
8668
8669	if invalidParams.Len() > 0 {
8670		return invalidParams
8671	}
8672	return nil
8673}
8674
8675// SetDeleteAssociatedConditionalForwarder sets the DeleteAssociatedConditionalForwarder field's value.
8676func (s *DeleteTrustInput) SetDeleteAssociatedConditionalForwarder(v bool) *DeleteTrustInput {
8677	s.DeleteAssociatedConditionalForwarder = &v
8678	return s
8679}
8680
8681// SetTrustId sets the TrustId field's value.
8682func (s *DeleteTrustInput) SetTrustId(v string) *DeleteTrustInput {
8683	s.TrustId = &v
8684	return s
8685}
8686
8687// The result of a DeleteTrust request.
8688type DeleteTrustOutput struct {
8689	_ struct{} `type:"structure"`
8690
8691	// The Trust ID of the trust relationship that was deleted.
8692	TrustId *string `type:"string"`
8693}
8694
8695// String returns the string representation
8696func (s DeleteTrustOutput) String() string {
8697	return awsutil.Prettify(s)
8698}
8699
8700// GoString returns the string representation
8701func (s DeleteTrustOutput) GoString() string {
8702	return s.String()
8703}
8704
8705// SetTrustId sets the TrustId field's value.
8706func (s *DeleteTrustOutput) SetTrustId(v string) *DeleteTrustOutput {
8707	s.TrustId = &v
8708	return s
8709}
8710
8711type DeregisterCertificateInput struct {
8712	_ struct{} `type:"structure"`
8713
8714	// The identifier of the certificate.
8715	//
8716	// CertificateId is a required field
8717	CertificateId *string `type:"string" required:"true"`
8718
8719	// The identifier of the directory.
8720	//
8721	// DirectoryId is a required field
8722	DirectoryId *string `type:"string" required:"true"`
8723}
8724
8725// String returns the string representation
8726func (s DeregisterCertificateInput) String() string {
8727	return awsutil.Prettify(s)
8728}
8729
8730// GoString returns the string representation
8731func (s DeregisterCertificateInput) GoString() string {
8732	return s.String()
8733}
8734
8735// Validate inspects the fields of the type to determine if they are valid.
8736func (s *DeregisterCertificateInput) Validate() error {
8737	invalidParams := request.ErrInvalidParams{Context: "DeregisterCertificateInput"}
8738	if s.CertificateId == nil {
8739		invalidParams.Add(request.NewErrParamRequired("CertificateId"))
8740	}
8741	if s.DirectoryId == nil {
8742		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
8743	}
8744
8745	if invalidParams.Len() > 0 {
8746		return invalidParams
8747	}
8748	return nil
8749}
8750
8751// SetCertificateId sets the CertificateId field's value.
8752func (s *DeregisterCertificateInput) SetCertificateId(v string) *DeregisterCertificateInput {
8753	s.CertificateId = &v
8754	return s
8755}
8756
8757// SetDirectoryId sets the DirectoryId field's value.
8758func (s *DeregisterCertificateInput) SetDirectoryId(v string) *DeregisterCertificateInput {
8759	s.DirectoryId = &v
8760	return s
8761}
8762
8763type DeregisterCertificateOutput struct {
8764	_ struct{} `type:"structure"`
8765}
8766
8767// String returns the string representation
8768func (s DeregisterCertificateOutput) String() string {
8769	return awsutil.Prettify(s)
8770}
8771
8772// GoString returns the string representation
8773func (s DeregisterCertificateOutput) GoString() string {
8774	return s.String()
8775}
8776
8777// Removes the specified directory as a publisher to the specified Amazon SNS
8778// topic.
8779type DeregisterEventTopicInput struct {
8780	_ struct{} `type:"structure"`
8781
8782	// The Directory ID to remove as a publisher. This directory will no longer
8783	// send messages to the specified Amazon SNS topic.
8784	//
8785	// DirectoryId is a required field
8786	DirectoryId *string `type:"string" required:"true"`
8787
8788	// The name of the Amazon SNS topic from which to remove the directory as a
8789	// publisher.
8790	//
8791	// TopicName is a required field
8792	TopicName *string `min:"1" type:"string" required:"true"`
8793}
8794
8795// String returns the string representation
8796func (s DeregisterEventTopicInput) String() string {
8797	return awsutil.Prettify(s)
8798}
8799
8800// GoString returns the string representation
8801func (s DeregisterEventTopicInput) GoString() string {
8802	return s.String()
8803}
8804
8805// Validate inspects the fields of the type to determine if they are valid.
8806func (s *DeregisterEventTopicInput) Validate() error {
8807	invalidParams := request.ErrInvalidParams{Context: "DeregisterEventTopicInput"}
8808	if s.DirectoryId == nil {
8809		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
8810	}
8811	if s.TopicName == nil {
8812		invalidParams.Add(request.NewErrParamRequired("TopicName"))
8813	}
8814	if s.TopicName != nil && len(*s.TopicName) < 1 {
8815		invalidParams.Add(request.NewErrParamMinLen("TopicName", 1))
8816	}
8817
8818	if invalidParams.Len() > 0 {
8819		return invalidParams
8820	}
8821	return nil
8822}
8823
8824// SetDirectoryId sets the DirectoryId field's value.
8825func (s *DeregisterEventTopicInput) SetDirectoryId(v string) *DeregisterEventTopicInput {
8826	s.DirectoryId = &v
8827	return s
8828}
8829
8830// SetTopicName sets the TopicName field's value.
8831func (s *DeregisterEventTopicInput) SetTopicName(v string) *DeregisterEventTopicInput {
8832	s.TopicName = &v
8833	return s
8834}
8835
8836// The result of a DeregisterEventTopic request.
8837type DeregisterEventTopicOutput struct {
8838	_ struct{} `type:"structure"`
8839}
8840
8841// String returns the string representation
8842func (s DeregisterEventTopicOutput) String() string {
8843	return awsutil.Prettify(s)
8844}
8845
8846// GoString returns the string representation
8847func (s DeregisterEventTopicOutput) GoString() string {
8848	return s.String()
8849}
8850
8851type DescribeCertificateInput struct {
8852	_ struct{} `type:"structure"`
8853
8854	// The identifier of the certificate.
8855	//
8856	// CertificateId is a required field
8857	CertificateId *string `type:"string" required:"true"`
8858
8859	// The identifier of the directory.
8860	//
8861	// DirectoryId is a required field
8862	DirectoryId *string `type:"string" required:"true"`
8863}
8864
8865// String returns the string representation
8866func (s DescribeCertificateInput) String() string {
8867	return awsutil.Prettify(s)
8868}
8869
8870// GoString returns the string representation
8871func (s DescribeCertificateInput) GoString() string {
8872	return s.String()
8873}
8874
8875// Validate inspects the fields of the type to determine if they are valid.
8876func (s *DescribeCertificateInput) Validate() error {
8877	invalidParams := request.ErrInvalidParams{Context: "DescribeCertificateInput"}
8878	if s.CertificateId == nil {
8879		invalidParams.Add(request.NewErrParamRequired("CertificateId"))
8880	}
8881	if s.DirectoryId == nil {
8882		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
8883	}
8884
8885	if invalidParams.Len() > 0 {
8886		return invalidParams
8887	}
8888	return nil
8889}
8890
8891// SetCertificateId sets the CertificateId field's value.
8892func (s *DescribeCertificateInput) SetCertificateId(v string) *DescribeCertificateInput {
8893	s.CertificateId = &v
8894	return s
8895}
8896
8897// SetDirectoryId sets the DirectoryId field's value.
8898func (s *DescribeCertificateInput) SetDirectoryId(v string) *DescribeCertificateInput {
8899	s.DirectoryId = &v
8900	return s
8901}
8902
8903type DescribeCertificateOutput struct {
8904	_ struct{} `type:"structure"`
8905
8906	// Information about the certificate, including registered date time, certificate
8907	// state, the reason for the state, expiration date time, and certificate common
8908	// name.
8909	Certificate *Certificate `type:"structure"`
8910}
8911
8912// String returns the string representation
8913func (s DescribeCertificateOutput) String() string {
8914	return awsutil.Prettify(s)
8915}
8916
8917// GoString returns the string representation
8918func (s DescribeCertificateOutput) GoString() string {
8919	return s.String()
8920}
8921
8922// SetCertificate sets the Certificate field's value.
8923func (s *DescribeCertificateOutput) SetCertificate(v *Certificate) *DescribeCertificateOutput {
8924	s.Certificate = v
8925	return s
8926}
8927
8928type DescribeClientAuthenticationSettingsInput struct {
8929	_ struct{} `type:"structure"`
8930
8931	// The identifier of the directory for which to retrieve information.
8932	//
8933	// DirectoryId is a required field
8934	DirectoryId *string `type:"string" required:"true"`
8935
8936	// The maximum number of items to return. If this value is zero, the maximum
8937	// number of items is specified by the limitations of the operation.
8938	Limit *int64 `min:"1" type:"integer"`
8939
8940	// The DescribeClientAuthenticationSettingsResult.NextToken value from a previous
8941	// call to DescribeClientAuthenticationSettings. Pass null if this is the first
8942	// call.
8943	NextToken *string `type:"string"`
8944
8945	// The type of client authentication for which to retrieve information. If no
8946	// type is specified, a list of all client authentication types that are supported
8947	// for the specified directory is retrieved.
8948	Type *string `type:"string" enum:"ClientAuthenticationType"`
8949}
8950
8951// String returns the string representation
8952func (s DescribeClientAuthenticationSettingsInput) String() string {
8953	return awsutil.Prettify(s)
8954}
8955
8956// GoString returns the string representation
8957func (s DescribeClientAuthenticationSettingsInput) GoString() string {
8958	return s.String()
8959}
8960
8961// Validate inspects the fields of the type to determine if they are valid.
8962func (s *DescribeClientAuthenticationSettingsInput) Validate() error {
8963	invalidParams := request.ErrInvalidParams{Context: "DescribeClientAuthenticationSettingsInput"}
8964	if s.DirectoryId == nil {
8965		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
8966	}
8967	if s.Limit != nil && *s.Limit < 1 {
8968		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
8969	}
8970
8971	if invalidParams.Len() > 0 {
8972		return invalidParams
8973	}
8974	return nil
8975}
8976
8977// SetDirectoryId sets the DirectoryId field's value.
8978func (s *DescribeClientAuthenticationSettingsInput) SetDirectoryId(v string) *DescribeClientAuthenticationSettingsInput {
8979	s.DirectoryId = &v
8980	return s
8981}
8982
8983// SetLimit sets the Limit field's value.
8984func (s *DescribeClientAuthenticationSettingsInput) SetLimit(v int64) *DescribeClientAuthenticationSettingsInput {
8985	s.Limit = &v
8986	return s
8987}
8988
8989// SetNextToken sets the NextToken field's value.
8990func (s *DescribeClientAuthenticationSettingsInput) SetNextToken(v string) *DescribeClientAuthenticationSettingsInput {
8991	s.NextToken = &v
8992	return s
8993}
8994
8995// SetType sets the Type field's value.
8996func (s *DescribeClientAuthenticationSettingsInput) SetType(v string) *DescribeClientAuthenticationSettingsInput {
8997	s.Type = &v
8998	return s
8999}
9000
9001type DescribeClientAuthenticationSettingsOutput struct {
9002	_ struct{} `type:"structure"`
9003
9004	// Information about the type of client authentication for the specified directory.
9005	// The following information is retrieved: The date and time when the status
9006	// of the client authentication type was last updated, whether the client authentication
9007	// type is enabled or disabled, and the type of client authentication.
9008	ClientAuthenticationSettingsInfo []*ClientAuthenticationSettingInfo `type:"list"`
9009
9010	// The next token used to retrieve the client authentication settings if the
9011	// number of setting types exceeds page limit and there is another page.
9012	NextToken *string `type:"string"`
9013}
9014
9015// String returns the string representation
9016func (s DescribeClientAuthenticationSettingsOutput) String() string {
9017	return awsutil.Prettify(s)
9018}
9019
9020// GoString returns the string representation
9021func (s DescribeClientAuthenticationSettingsOutput) GoString() string {
9022	return s.String()
9023}
9024
9025// SetClientAuthenticationSettingsInfo sets the ClientAuthenticationSettingsInfo field's value.
9026func (s *DescribeClientAuthenticationSettingsOutput) SetClientAuthenticationSettingsInfo(v []*ClientAuthenticationSettingInfo) *DescribeClientAuthenticationSettingsOutput {
9027	s.ClientAuthenticationSettingsInfo = v
9028	return s
9029}
9030
9031// SetNextToken sets the NextToken field's value.
9032func (s *DescribeClientAuthenticationSettingsOutput) SetNextToken(v string) *DescribeClientAuthenticationSettingsOutput {
9033	s.NextToken = &v
9034	return s
9035}
9036
9037// Describes a conditional forwarder.
9038type DescribeConditionalForwardersInput struct {
9039	_ struct{} `type:"structure"`
9040
9041	// The directory ID for which to get the list of associated conditional forwarders.
9042	//
9043	// DirectoryId is a required field
9044	DirectoryId *string `type:"string" required:"true"`
9045
9046	// The fully qualified domain names (FQDN) of the remote domains for which to
9047	// get the list of associated conditional forwarders. If this member is null,
9048	// all conditional forwarders are returned.
9049	RemoteDomainNames []*string `type:"list"`
9050}
9051
9052// String returns the string representation
9053func (s DescribeConditionalForwardersInput) String() string {
9054	return awsutil.Prettify(s)
9055}
9056
9057// GoString returns the string representation
9058func (s DescribeConditionalForwardersInput) GoString() string {
9059	return s.String()
9060}
9061
9062// Validate inspects the fields of the type to determine if they are valid.
9063func (s *DescribeConditionalForwardersInput) Validate() error {
9064	invalidParams := request.ErrInvalidParams{Context: "DescribeConditionalForwardersInput"}
9065	if s.DirectoryId == nil {
9066		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
9067	}
9068
9069	if invalidParams.Len() > 0 {
9070		return invalidParams
9071	}
9072	return nil
9073}
9074
9075// SetDirectoryId sets the DirectoryId field's value.
9076func (s *DescribeConditionalForwardersInput) SetDirectoryId(v string) *DescribeConditionalForwardersInput {
9077	s.DirectoryId = &v
9078	return s
9079}
9080
9081// SetRemoteDomainNames sets the RemoteDomainNames field's value.
9082func (s *DescribeConditionalForwardersInput) SetRemoteDomainNames(v []*string) *DescribeConditionalForwardersInput {
9083	s.RemoteDomainNames = v
9084	return s
9085}
9086
9087// The result of a DescribeConditionalForwarder request.
9088type DescribeConditionalForwardersOutput struct {
9089	_ struct{} `type:"structure"`
9090
9091	// The list of conditional forwarders that have been created.
9092	ConditionalForwarders []*ConditionalForwarder `type:"list"`
9093}
9094
9095// String returns the string representation
9096func (s DescribeConditionalForwardersOutput) String() string {
9097	return awsutil.Prettify(s)
9098}
9099
9100// GoString returns the string representation
9101func (s DescribeConditionalForwardersOutput) GoString() string {
9102	return s.String()
9103}
9104
9105// SetConditionalForwarders sets the ConditionalForwarders field's value.
9106func (s *DescribeConditionalForwardersOutput) SetConditionalForwarders(v []*ConditionalForwarder) *DescribeConditionalForwardersOutput {
9107	s.ConditionalForwarders = v
9108	return s
9109}
9110
9111// Contains the inputs for the DescribeDirectories operation.
9112type DescribeDirectoriesInput struct {
9113	_ struct{} `type:"structure"`
9114
9115	// A list of identifiers of the directories for which to obtain the information.
9116	// If this member is null, all directories that belong to the current account
9117	// are returned.
9118	//
9119	// An empty list results in an InvalidParameterException being thrown.
9120	DirectoryIds []*string `type:"list"`
9121
9122	// The maximum number of items to return. If this value is zero, the maximum
9123	// number of items is specified by the limitations of the operation.
9124	Limit *int64 `type:"integer"`
9125
9126	// The DescribeDirectoriesResult.NextToken value from a previous call to DescribeDirectories.
9127	// Pass null if this is the first call.
9128	NextToken *string `type:"string"`
9129}
9130
9131// String returns the string representation
9132func (s DescribeDirectoriesInput) String() string {
9133	return awsutil.Prettify(s)
9134}
9135
9136// GoString returns the string representation
9137func (s DescribeDirectoriesInput) GoString() string {
9138	return s.String()
9139}
9140
9141// SetDirectoryIds sets the DirectoryIds field's value.
9142func (s *DescribeDirectoriesInput) SetDirectoryIds(v []*string) *DescribeDirectoriesInput {
9143	s.DirectoryIds = v
9144	return s
9145}
9146
9147// SetLimit sets the Limit field's value.
9148func (s *DescribeDirectoriesInput) SetLimit(v int64) *DescribeDirectoriesInput {
9149	s.Limit = &v
9150	return s
9151}
9152
9153// SetNextToken sets the NextToken field's value.
9154func (s *DescribeDirectoriesInput) SetNextToken(v string) *DescribeDirectoriesInput {
9155	s.NextToken = &v
9156	return s
9157}
9158
9159// Contains the results of the DescribeDirectories operation.
9160type DescribeDirectoriesOutput struct {
9161	_ struct{} `type:"structure"`
9162
9163	// The list of DirectoryDescription objects that were retrieved.
9164	//
9165	// It is possible that this list contains less than the number of items specified
9166	// in the Limit member of the request. This occurs if there are less than the
9167	// requested number of items left to retrieve, or if the limitations of the
9168	// operation have been exceeded.
9169	DirectoryDescriptions []*DirectoryDescription `type:"list"`
9170
9171	// If not null, more results are available. Pass this value for the NextToken
9172	// parameter in a subsequent call to DescribeDirectories to retrieve the next
9173	// set of items.
9174	NextToken *string `type:"string"`
9175}
9176
9177// String returns the string representation
9178func (s DescribeDirectoriesOutput) String() string {
9179	return awsutil.Prettify(s)
9180}
9181
9182// GoString returns the string representation
9183func (s DescribeDirectoriesOutput) GoString() string {
9184	return s.String()
9185}
9186
9187// SetDirectoryDescriptions sets the DirectoryDescriptions field's value.
9188func (s *DescribeDirectoriesOutput) SetDirectoryDescriptions(v []*DirectoryDescription) *DescribeDirectoriesOutput {
9189	s.DirectoryDescriptions = v
9190	return s
9191}
9192
9193// SetNextToken sets the NextToken field's value.
9194func (s *DescribeDirectoriesOutput) SetNextToken(v string) *DescribeDirectoriesOutput {
9195	s.NextToken = &v
9196	return s
9197}
9198
9199type DescribeDomainControllersInput struct {
9200	_ struct{} `type:"structure"`
9201
9202	// Identifier of the directory for which to retrieve the domain controller information.
9203	//
9204	// DirectoryId is a required field
9205	DirectoryId *string `type:"string" required:"true"`
9206
9207	// A list of identifiers for the domain controllers whose information will be
9208	// provided.
9209	DomainControllerIds []*string `type:"list"`
9210
9211	// The maximum number of items to return.
9212	Limit *int64 `type:"integer"`
9213
9214	// The DescribeDomainControllers.NextToken value from a previous call to DescribeDomainControllers.
9215	// Pass null if this is the first call.
9216	NextToken *string `type:"string"`
9217}
9218
9219// String returns the string representation
9220func (s DescribeDomainControllersInput) String() string {
9221	return awsutil.Prettify(s)
9222}
9223
9224// GoString returns the string representation
9225func (s DescribeDomainControllersInput) GoString() string {
9226	return s.String()
9227}
9228
9229// Validate inspects the fields of the type to determine if they are valid.
9230func (s *DescribeDomainControllersInput) Validate() error {
9231	invalidParams := request.ErrInvalidParams{Context: "DescribeDomainControllersInput"}
9232	if s.DirectoryId == nil {
9233		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
9234	}
9235
9236	if invalidParams.Len() > 0 {
9237		return invalidParams
9238	}
9239	return nil
9240}
9241
9242// SetDirectoryId sets the DirectoryId field's value.
9243func (s *DescribeDomainControllersInput) SetDirectoryId(v string) *DescribeDomainControllersInput {
9244	s.DirectoryId = &v
9245	return s
9246}
9247
9248// SetDomainControllerIds sets the DomainControllerIds field's value.
9249func (s *DescribeDomainControllersInput) SetDomainControllerIds(v []*string) *DescribeDomainControllersInput {
9250	s.DomainControllerIds = v
9251	return s
9252}
9253
9254// SetLimit sets the Limit field's value.
9255func (s *DescribeDomainControllersInput) SetLimit(v int64) *DescribeDomainControllersInput {
9256	s.Limit = &v
9257	return s
9258}
9259
9260// SetNextToken sets the NextToken field's value.
9261func (s *DescribeDomainControllersInput) SetNextToken(v string) *DescribeDomainControllersInput {
9262	s.NextToken = &v
9263	return s
9264}
9265
9266type DescribeDomainControllersOutput struct {
9267	_ struct{} `type:"structure"`
9268
9269	// List of the DomainController objects that were retrieved.
9270	DomainControllers []*DomainController `type:"list"`
9271
9272	// If not null, more results are available. Pass this value for the NextToken
9273	// parameter in a subsequent call to DescribeDomainControllers retrieve the
9274	// next set of items.
9275	NextToken *string `type:"string"`
9276}
9277
9278// String returns the string representation
9279func (s DescribeDomainControllersOutput) String() string {
9280	return awsutil.Prettify(s)
9281}
9282
9283// GoString returns the string representation
9284func (s DescribeDomainControllersOutput) GoString() string {
9285	return s.String()
9286}
9287
9288// SetDomainControllers sets the DomainControllers field's value.
9289func (s *DescribeDomainControllersOutput) SetDomainControllers(v []*DomainController) *DescribeDomainControllersOutput {
9290	s.DomainControllers = v
9291	return s
9292}
9293
9294// SetNextToken sets the NextToken field's value.
9295func (s *DescribeDomainControllersOutput) SetNextToken(v string) *DescribeDomainControllersOutput {
9296	s.NextToken = &v
9297	return s
9298}
9299
9300// Describes event topics.
9301type DescribeEventTopicsInput struct {
9302	_ struct{} `type:"structure"`
9303
9304	// The Directory ID for which to get the list of associated Amazon SNS topics.
9305	// If this member is null, associations for all Directory IDs are returned.
9306	DirectoryId *string `type:"string"`
9307
9308	// A list of Amazon SNS topic names for which to obtain the information. If
9309	// this member is null, all associations for the specified Directory ID are
9310	// returned.
9311	//
9312	// An empty list results in an InvalidParameterException being thrown.
9313	TopicNames []*string `type:"list"`
9314}
9315
9316// String returns the string representation
9317func (s DescribeEventTopicsInput) String() string {
9318	return awsutil.Prettify(s)
9319}
9320
9321// GoString returns the string representation
9322func (s DescribeEventTopicsInput) GoString() string {
9323	return s.String()
9324}
9325
9326// SetDirectoryId sets the DirectoryId field's value.
9327func (s *DescribeEventTopicsInput) SetDirectoryId(v string) *DescribeEventTopicsInput {
9328	s.DirectoryId = &v
9329	return s
9330}
9331
9332// SetTopicNames sets the TopicNames field's value.
9333func (s *DescribeEventTopicsInput) SetTopicNames(v []*string) *DescribeEventTopicsInput {
9334	s.TopicNames = v
9335	return s
9336}
9337
9338// The result of a DescribeEventTopic request.
9339type DescribeEventTopicsOutput struct {
9340	_ struct{} `type:"structure"`
9341
9342	// A list of Amazon SNS topic names that receive status messages from the specified
9343	// Directory ID.
9344	EventTopics []*EventTopic `type:"list"`
9345}
9346
9347// String returns the string representation
9348func (s DescribeEventTopicsOutput) String() string {
9349	return awsutil.Prettify(s)
9350}
9351
9352// GoString returns the string representation
9353func (s DescribeEventTopicsOutput) GoString() string {
9354	return s.String()
9355}
9356
9357// SetEventTopics sets the EventTopics field's value.
9358func (s *DescribeEventTopicsOutput) SetEventTopics(v []*EventTopic) *DescribeEventTopicsOutput {
9359	s.EventTopics = v
9360	return s
9361}
9362
9363type DescribeLDAPSSettingsInput struct {
9364	_ struct{} `type:"structure"`
9365
9366	// The identifier of the directory.
9367	//
9368	// DirectoryId is a required field
9369	DirectoryId *string `type:"string" required:"true"`
9370
9371	// Specifies the number of items that should be displayed on one page.
9372	Limit *int64 `min:"1" type:"integer"`
9373
9374	// The type of next token used for pagination.
9375	NextToken *string `type:"string"`
9376
9377	// The type of LDAP security to enable. Currently only the value Client is supported.
9378	Type *string `type:"string" enum:"LDAPSType"`
9379}
9380
9381// String returns the string representation
9382func (s DescribeLDAPSSettingsInput) String() string {
9383	return awsutil.Prettify(s)
9384}
9385
9386// GoString returns the string representation
9387func (s DescribeLDAPSSettingsInput) GoString() string {
9388	return s.String()
9389}
9390
9391// Validate inspects the fields of the type to determine if they are valid.
9392func (s *DescribeLDAPSSettingsInput) Validate() error {
9393	invalidParams := request.ErrInvalidParams{Context: "DescribeLDAPSSettingsInput"}
9394	if s.DirectoryId == nil {
9395		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
9396	}
9397	if s.Limit != nil && *s.Limit < 1 {
9398		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
9399	}
9400
9401	if invalidParams.Len() > 0 {
9402		return invalidParams
9403	}
9404	return nil
9405}
9406
9407// SetDirectoryId sets the DirectoryId field's value.
9408func (s *DescribeLDAPSSettingsInput) SetDirectoryId(v string) *DescribeLDAPSSettingsInput {
9409	s.DirectoryId = &v
9410	return s
9411}
9412
9413// SetLimit sets the Limit field's value.
9414func (s *DescribeLDAPSSettingsInput) SetLimit(v int64) *DescribeLDAPSSettingsInput {
9415	s.Limit = &v
9416	return s
9417}
9418
9419// SetNextToken sets the NextToken field's value.
9420func (s *DescribeLDAPSSettingsInput) SetNextToken(v string) *DescribeLDAPSSettingsInput {
9421	s.NextToken = &v
9422	return s
9423}
9424
9425// SetType sets the Type field's value.
9426func (s *DescribeLDAPSSettingsInput) SetType(v string) *DescribeLDAPSSettingsInput {
9427	s.Type = &v
9428	return s
9429}
9430
9431type DescribeLDAPSSettingsOutput struct {
9432	_ struct{} `type:"structure"`
9433
9434	// Information about LDAP security for the specified directory, including status
9435	// of enablement, state last updated date time, and the reason for the state.
9436	LDAPSSettingsInfo []*LDAPSSettingInfo `type:"list"`
9437
9438	// The next token used to retrieve the LDAPS settings if the number of setting
9439	// types exceeds page limit and there is another page.
9440	NextToken *string `type:"string"`
9441}
9442
9443// String returns the string representation
9444func (s DescribeLDAPSSettingsOutput) String() string {
9445	return awsutil.Prettify(s)
9446}
9447
9448// GoString returns the string representation
9449func (s DescribeLDAPSSettingsOutput) GoString() string {
9450	return s.String()
9451}
9452
9453// SetLDAPSSettingsInfo sets the LDAPSSettingsInfo field's value.
9454func (s *DescribeLDAPSSettingsOutput) SetLDAPSSettingsInfo(v []*LDAPSSettingInfo) *DescribeLDAPSSettingsOutput {
9455	s.LDAPSSettingsInfo = v
9456	return s
9457}
9458
9459// SetNextToken sets the NextToken field's value.
9460func (s *DescribeLDAPSSettingsOutput) SetNextToken(v string) *DescribeLDAPSSettingsOutput {
9461	s.NextToken = &v
9462	return s
9463}
9464
9465type DescribeRegionsInput struct {
9466	_ struct{} `type:"structure"`
9467
9468	// The identifier of the directory.
9469	//
9470	// DirectoryId is a required field
9471	DirectoryId *string `type:"string" required:"true"`
9472
9473	// The DescribeRegionsResult.NextToken value from a previous call to DescribeRegions.
9474	// Pass null if this is the first call.
9475	NextToken *string `type:"string"`
9476
9477	// The name of the Region. For example, us-east-1.
9478	RegionName *string `min:"8" type:"string"`
9479}
9480
9481// String returns the string representation
9482func (s DescribeRegionsInput) String() string {
9483	return awsutil.Prettify(s)
9484}
9485
9486// GoString returns the string representation
9487func (s DescribeRegionsInput) GoString() string {
9488	return s.String()
9489}
9490
9491// Validate inspects the fields of the type to determine if they are valid.
9492func (s *DescribeRegionsInput) Validate() error {
9493	invalidParams := request.ErrInvalidParams{Context: "DescribeRegionsInput"}
9494	if s.DirectoryId == nil {
9495		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
9496	}
9497	if s.RegionName != nil && len(*s.RegionName) < 8 {
9498		invalidParams.Add(request.NewErrParamMinLen("RegionName", 8))
9499	}
9500
9501	if invalidParams.Len() > 0 {
9502		return invalidParams
9503	}
9504	return nil
9505}
9506
9507// SetDirectoryId sets the DirectoryId field's value.
9508func (s *DescribeRegionsInput) SetDirectoryId(v string) *DescribeRegionsInput {
9509	s.DirectoryId = &v
9510	return s
9511}
9512
9513// SetNextToken sets the NextToken field's value.
9514func (s *DescribeRegionsInput) SetNextToken(v string) *DescribeRegionsInput {
9515	s.NextToken = &v
9516	return s
9517}
9518
9519// SetRegionName sets the RegionName field's value.
9520func (s *DescribeRegionsInput) SetRegionName(v string) *DescribeRegionsInput {
9521	s.RegionName = &v
9522	return s
9523}
9524
9525type DescribeRegionsOutput struct {
9526	_ struct{} `type:"structure"`
9527
9528	// If not null, more results are available. Pass this value for the NextToken
9529	// parameter in a subsequent call to DescribeRegions to retrieve the next set
9530	// of items.
9531	NextToken *string `type:"string"`
9532
9533	// List of Region information related to the directory for each replicated Region.
9534	RegionsDescription []*RegionDescription `type:"list"`
9535}
9536
9537// String returns the string representation
9538func (s DescribeRegionsOutput) String() string {
9539	return awsutil.Prettify(s)
9540}
9541
9542// GoString returns the string representation
9543func (s DescribeRegionsOutput) GoString() string {
9544	return s.String()
9545}
9546
9547// SetNextToken sets the NextToken field's value.
9548func (s *DescribeRegionsOutput) SetNextToken(v string) *DescribeRegionsOutput {
9549	s.NextToken = &v
9550	return s
9551}
9552
9553// SetRegionsDescription sets the RegionsDescription field's value.
9554func (s *DescribeRegionsOutput) SetRegionsDescription(v []*RegionDescription) *DescribeRegionsOutput {
9555	s.RegionsDescription = v
9556	return s
9557}
9558
9559type DescribeSharedDirectoriesInput struct {
9560	_ struct{} `type:"structure"`
9561
9562	// The number of shared directories to return in the response object.
9563	Limit *int64 `type:"integer"`
9564
9565	// The DescribeSharedDirectoriesResult.NextToken value from a previous call
9566	// to DescribeSharedDirectories. Pass null if this is the first call.
9567	NextToken *string `type:"string"`
9568
9569	// Returns the identifier of the directory in the directory owner account.
9570	//
9571	// OwnerDirectoryId is a required field
9572	OwnerDirectoryId *string `type:"string" required:"true"`
9573
9574	// A list of identifiers of all shared directories in your account.
9575	SharedDirectoryIds []*string `type:"list"`
9576}
9577
9578// String returns the string representation
9579func (s DescribeSharedDirectoriesInput) String() string {
9580	return awsutil.Prettify(s)
9581}
9582
9583// GoString returns the string representation
9584func (s DescribeSharedDirectoriesInput) GoString() string {
9585	return s.String()
9586}
9587
9588// Validate inspects the fields of the type to determine if they are valid.
9589func (s *DescribeSharedDirectoriesInput) Validate() error {
9590	invalidParams := request.ErrInvalidParams{Context: "DescribeSharedDirectoriesInput"}
9591	if s.OwnerDirectoryId == nil {
9592		invalidParams.Add(request.NewErrParamRequired("OwnerDirectoryId"))
9593	}
9594
9595	if invalidParams.Len() > 0 {
9596		return invalidParams
9597	}
9598	return nil
9599}
9600
9601// SetLimit sets the Limit field's value.
9602func (s *DescribeSharedDirectoriesInput) SetLimit(v int64) *DescribeSharedDirectoriesInput {
9603	s.Limit = &v
9604	return s
9605}
9606
9607// SetNextToken sets the NextToken field's value.
9608func (s *DescribeSharedDirectoriesInput) SetNextToken(v string) *DescribeSharedDirectoriesInput {
9609	s.NextToken = &v
9610	return s
9611}
9612
9613// SetOwnerDirectoryId sets the OwnerDirectoryId field's value.
9614func (s *DescribeSharedDirectoriesInput) SetOwnerDirectoryId(v string) *DescribeSharedDirectoriesInput {
9615	s.OwnerDirectoryId = &v
9616	return s
9617}
9618
9619// SetSharedDirectoryIds sets the SharedDirectoryIds field's value.
9620func (s *DescribeSharedDirectoriesInput) SetSharedDirectoryIds(v []*string) *DescribeSharedDirectoriesInput {
9621	s.SharedDirectoryIds = v
9622	return s
9623}
9624
9625type DescribeSharedDirectoriesOutput struct {
9626	_ struct{} `type:"structure"`
9627
9628	// If not null, token that indicates that more results are available. Pass this
9629	// value for the NextToken parameter in a subsequent call to DescribeSharedDirectories
9630	// to retrieve the next set of items.
9631	NextToken *string `type:"string"`
9632
9633	// A list of all shared directories in your account.
9634	SharedDirectories []*SharedDirectory `type:"list"`
9635}
9636
9637// String returns the string representation
9638func (s DescribeSharedDirectoriesOutput) String() string {
9639	return awsutil.Prettify(s)
9640}
9641
9642// GoString returns the string representation
9643func (s DescribeSharedDirectoriesOutput) GoString() string {
9644	return s.String()
9645}
9646
9647// SetNextToken sets the NextToken field's value.
9648func (s *DescribeSharedDirectoriesOutput) SetNextToken(v string) *DescribeSharedDirectoriesOutput {
9649	s.NextToken = &v
9650	return s
9651}
9652
9653// SetSharedDirectories sets the SharedDirectories field's value.
9654func (s *DescribeSharedDirectoriesOutput) SetSharedDirectories(v []*SharedDirectory) *DescribeSharedDirectoriesOutput {
9655	s.SharedDirectories = v
9656	return s
9657}
9658
9659// Contains the inputs for the DescribeSnapshots operation.
9660type DescribeSnapshotsInput struct {
9661	_ struct{} `type:"structure"`
9662
9663	// The identifier of the directory for which to retrieve snapshot information.
9664	DirectoryId *string `type:"string"`
9665
9666	// The maximum number of objects to return.
9667	Limit *int64 `type:"integer"`
9668
9669	// The DescribeSnapshotsResult.NextToken value from a previous call to DescribeSnapshots.
9670	// Pass null if this is the first call.
9671	NextToken *string `type:"string"`
9672
9673	// A list of identifiers of the snapshots to obtain the information for. If
9674	// this member is null or empty, all snapshots are returned using the Limit
9675	// and NextToken members.
9676	SnapshotIds []*string `type:"list"`
9677}
9678
9679// String returns the string representation
9680func (s DescribeSnapshotsInput) String() string {
9681	return awsutil.Prettify(s)
9682}
9683
9684// GoString returns the string representation
9685func (s DescribeSnapshotsInput) GoString() string {
9686	return s.String()
9687}
9688
9689// SetDirectoryId sets the DirectoryId field's value.
9690func (s *DescribeSnapshotsInput) SetDirectoryId(v string) *DescribeSnapshotsInput {
9691	s.DirectoryId = &v
9692	return s
9693}
9694
9695// SetLimit sets the Limit field's value.
9696func (s *DescribeSnapshotsInput) SetLimit(v int64) *DescribeSnapshotsInput {
9697	s.Limit = &v
9698	return s
9699}
9700
9701// SetNextToken sets the NextToken field's value.
9702func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput {
9703	s.NextToken = &v
9704	return s
9705}
9706
9707// SetSnapshotIds sets the SnapshotIds field's value.
9708func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput {
9709	s.SnapshotIds = v
9710	return s
9711}
9712
9713// Contains the results of the DescribeSnapshots operation.
9714type DescribeSnapshotsOutput struct {
9715	_ struct{} `type:"structure"`
9716
9717	// If not null, more results are available. Pass this value in the NextToken
9718	// member of a subsequent call to DescribeSnapshots.
9719	NextToken *string `type:"string"`
9720
9721	// The list of Snapshot objects that were retrieved.
9722	//
9723	// It is possible that this list contains less than the number of items specified
9724	// in the Limit member of the request. This occurs if there are less than the
9725	// requested number of items left to retrieve, or if the limitations of the
9726	// operation have been exceeded.
9727	Snapshots []*Snapshot `type:"list"`
9728}
9729
9730// String returns the string representation
9731func (s DescribeSnapshotsOutput) String() string {
9732	return awsutil.Prettify(s)
9733}
9734
9735// GoString returns the string representation
9736func (s DescribeSnapshotsOutput) GoString() string {
9737	return s.String()
9738}
9739
9740// SetNextToken sets the NextToken field's value.
9741func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput {
9742	s.NextToken = &v
9743	return s
9744}
9745
9746// SetSnapshots sets the Snapshots field's value.
9747func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput {
9748	s.Snapshots = v
9749	return s
9750}
9751
9752// Describes the trust relationships for a particular Managed Microsoft AD directory.
9753// If no input parameters are provided, such as directory ID or trust ID, this
9754// request describes all the trust relationships.
9755type DescribeTrustsInput struct {
9756	_ struct{} `type:"structure"`
9757
9758	// The Directory ID of the Amazon Web Services directory that is a part of the
9759	// requested trust relationship.
9760	DirectoryId *string `type:"string"`
9761
9762	// The maximum number of objects to return.
9763	Limit *int64 `type:"integer"`
9764
9765	// The DescribeTrustsResult.NextToken value from a previous call to DescribeTrusts.
9766	// Pass null if this is the first call.
9767	NextToken *string `type:"string"`
9768
9769	// A list of identifiers of the trust relationships for which to obtain the
9770	// information. If this member is null, all trust relationships that belong
9771	// to the current account are returned.
9772	//
9773	// An empty list results in an InvalidParameterException being thrown.
9774	TrustIds []*string `type:"list"`
9775}
9776
9777// String returns the string representation
9778func (s DescribeTrustsInput) String() string {
9779	return awsutil.Prettify(s)
9780}
9781
9782// GoString returns the string representation
9783func (s DescribeTrustsInput) GoString() string {
9784	return s.String()
9785}
9786
9787// SetDirectoryId sets the DirectoryId field's value.
9788func (s *DescribeTrustsInput) SetDirectoryId(v string) *DescribeTrustsInput {
9789	s.DirectoryId = &v
9790	return s
9791}
9792
9793// SetLimit sets the Limit field's value.
9794func (s *DescribeTrustsInput) SetLimit(v int64) *DescribeTrustsInput {
9795	s.Limit = &v
9796	return s
9797}
9798
9799// SetNextToken sets the NextToken field's value.
9800func (s *DescribeTrustsInput) SetNextToken(v string) *DescribeTrustsInput {
9801	s.NextToken = &v
9802	return s
9803}
9804
9805// SetTrustIds sets the TrustIds field's value.
9806func (s *DescribeTrustsInput) SetTrustIds(v []*string) *DescribeTrustsInput {
9807	s.TrustIds = v
9808	return s
9809}
9810
9811// The result of a DescribeTrust request.
9812type DescribeTrustsOutput struct {
9813	_ struct{} `type:"structure"`
9814
9815	// If not null, more results are available. Pass this value for the NextToken
9816	// parameter in a subsequent call to DescribeTrusts to retrieve the next set
9817	// of items.
9818	NextToken *string `type:"string"`
9819
9820	// The list of Trust objects that were retrieved.
9821	//
9822	// It is possible that this list contains less than the number of items specified
9823	// in the Limit member of the request. This occurs if there are less than the
9824	// requested number of items left to retrieve, or if the limitations of the
9825	// operation have been exceeded.
9826	Trusts []*Trust `type:"list"`
9827}
9828
9829// String returns the string representation
9830func (s DescribeTrustsOutput) String() string {
9831	return awsutil.Prettify(s)
9832}
9833
9834// GoString returns the string representation
9835func (s DescribeTrustsOutput) GoString() string {
9836	return s.String()
9837}
9838
9839// SetNextToken sets the NextToken field's value.
9840func (s *DescribeTrustsOutput) SetNextToken(v string) *DescribeTrustsOutput {
9841	s.NextToken = &v
9842	return s
9843}
9844
9845// SetTrusts sets the Trusts field's value.
9846func (s *DescribeTrustsOutput) SetTrusts(v []*Trust) *DescribeTrustsOutput {
9847	s.Trusts = v
9848	return s
9849}
9850
9851// The Region you specified is the same Region where the Managed Microsoft AD
9852// directory was created. Specify a different Region and try again.
9853type DirectoryAlreadyInRegionException struct {
9854	_            struct{}                  `type:"structure"`
9855	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9856
9857	// The descriptive message for the exception.
9858	Message_ *string `locationName:"Message" type:"string"`
9859
9860	// The Amazon Web Services request identifier.
9861	RequestId *string `type:"string"`
9862}
9863
9864// String returns the string representation
9865func (s DirectoryAlreadyInRegionException) String() string {
9866	return awsutil.Prettify(s)
9867}
9868
9869// GoString returns the string representation
9870func (s DirectoryAlreadyInRegionException) GoString() string {
9871	return s.String()
9872}
9873
9874func newErrorDirectoryAlreadyInRegionException(v protocol.ResponseMetadata) error {
9875	return &DirectoryAlreadyInRegionException{
9876		RespMetadata: v,
9877	}
9878}
9879
9880// Code returns the exception type name.
9881func (s *DirectoryAlreadyInRegionException) Code() string {
9882	return "DirectoryAlreadyInRegionException"
9883}
9884
9885// Message returns the exception's message.
9886func (s *DirectoryAlreadyInRegionException) Message() string {
9887	if s.Message_ != nil {
9888		return *s.Message_
9889	}
9890	return ""
9891}
9892
9893// OrigErr always returns nil, satisfies awserr.Error interface.
9894func (s *DirectoryAlreadyInRegionException) OrigErr() error {
9895	return nil
9896}
9897
9898func (s *DirectoryAlreadyInRegionException) Error() string {
9899	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9900}
9901
9902// Status code returns the HTTP status code for the request's response error.
9903func (s *DirectoryAlreadyInRegionException) StatusCode() int {
9904	return s.RespMetadata.StatusCode
9905}
9906
9907// RequestID returns the service's response RequestID for request.
9908func (s *DirectoryAlreadyInRegionException) RequestID() string {
9909	return s.RespMetadata.RequestID
9910}
9911
9912// The specified directory has already been shared with this Amazon Web Services
9913// account.
9914type DirectoryAlreadySharedException struct {
9915	_            struct{}                  `type:"structure"`
9916	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9917
9918	// The descriptive message for the exception.
9919	Message_ *string `locationName:"Message" type:"string"`
9920
9921	// The Amazon Web Services request identifier.
9922	RequestId *string `type:"string"`
9923}
9924
9925// String returns the string representation
9926func (s DirectoryAlreadySharedException) String() string {
9927	return awsutil.Prettify(s)
9928}
9929
9930// GoString returns the string representation
9931func (s DirectoryAlreadySharedException) GoString() string {
9932	return s.String()
9933}
9934
9935func newErrorDirectoryAlreadySharedException(v protocol.ResponseMetadata) error {
9936	return &DirectoryAlreadySharedException{
9937		RespMetadata: v,
9938	}
9939}
9940
9941// Code returns the exception type name.
9942func (s *DirectoryAlreadySharedException) Code() string {
9943	return "DirectoryAlreadySharedException"
9944}
9945
9946// Message returns the exception's message.
9947func (s *DirectoryAlreadySharedException) Message() string {
9948	if s.Message_ != nil {
9949		return *s.Message_
9950	}
9951	return ""
9952}
9953
9954// OrigErr always returns nil, satisfies awserr.Error interface.
9955func (s *DirectoryAlreadySharedException) OrigErr() error {
9956	return nil
9957}
9958
9959func (s *DirectoryAlreadySharedException) Error() string {
9960	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9961}
9962
9963// Status code returns the HTTP status code for the request's response error.
9964func (s *DirectoryAlreadySharedException) StatusCode() int {
9965	return s.RespMetadata.StatusCode
9966}
9967
9968// RequestID returns the service's response RequestID for request.
9969func (s *DirectoryAlreadySharedException) RequestID() string {
9970	return s.RespMetadata.RequestID
9971}
9972
9973// Contains information for the ConnectDirectory operation when an AD Connector
9974// directory is being created.
9975type DirectoryConnectSettings struct {
9976	_ struct{} `type:"structure"`
9977
9978	// A list of one or more IP addresses of DNS servers or domain controllers in
9979	// your self-managed directory.
9980	//
9981	// CustomerDnsIps is a required field
9982	CustomerDnsIps []*string `type:"list" required:"true"`
9983
9984	// The user name of an account in your self-managed directory that is used to
9985	// connect to the directory. This account must have the following permissions:
9986	//
9987	//    * Read users and groups
9988	//
9989	//    * Create computer objects
9990	//
9991	//    * Join computers to the domain
9992	//
9993	// CustomerUserName is a required field
9994	CustomerUserName *string `min:"1" type:"string" required:"true"`
9995
9996	// A list of subnet identifiers in the VPC in which the AD Connector is created.
9997	//
9998	// SubnetIds is a required field
9999	SubnetIds []*string `type:"list" required:"true"`
10000
10001	// The identifier of the VPC in which the AD Connector is created.
10002	//
10003	// VpcId is a required field
10004	VpcId *string `type:"string" required:"true"`
10005}
10006
10007// String returns the string representation
10008func (s DirectoryConnectSettings) String() string {
10009	return awsutil.Prettify(s)
10010}
10011
10012// GoString returns the string representation
10013func (s DirectoryConnectSettings) GoString() string {
10014	return s.String()
10015}
10016
10017// Validate inspects the fields of the type to determine if they are valid.
10018func (s *DirectoryConnectSettings) Validate() error {
10019	invalidParams := request.ErrInvalidParams{Context: "DirectoryConnectSettings"}
10020	if s.CustomerDnsIps == nil {
10021		invalidParams.Add(request.NewErrParamRequired("CustomerDnsIps"))
10022	}
10023	if s.CustomerUserName == nil {
10024		invalidParams.Add(request.NewErrParamRequired("CustomerUserName"))
10025	}
10026	if s.CustomerUserName != nil && len(*s.CustomerUserName) < 1 {
10027		invalidParams.Add(request.NewErrParamMinLen("CustomerUserName", 1))
10028	}
10029	if s.SubnetIds == nil {
10030		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
10031	}
10032	if s.VpcId == nil {
10033		invalidParams.Add(request.NewErrParamRequired("VpcId"))
10034	}
10035
10036	if invalidParams.Len() > 0 {
10037		return invalidParams
10038	}
10039	return nil
10040}
10041
10042// SetCustomerDnsIps sets the CustomerDnsIps field's value.
10043func (s *DirectoryConnectSettings) SetCustomerDnsIps(v []*string) *DirectoryConnectSettings {
10044	s.CustomerDnsIps = v
10045	return s
10046}
10047
10048// SetCustomerUserName sets the CustomerUserName field's value.
10049func (s *DirectoryConnectSettings) SetCustomerUserName(v string) *DirectoryConnectSettings {
10050	s.CustomerUserName = &v
10051	return s
10052}
10053
10054// SetSubnetIds sets the SubnetIds field's value.
10055func (s *DirectoryConnectSettings) SetSubnetIds(v []*string) *DirectoryConnectSettings {
10056	s.SubnetIds = v
10057	return s
10058}
10059
10060// SetVpcId sets the VpcId field's value.
10061func (s *DirectoryConnectSettings) SetVpcId(v string) *DirectoryConnectSettings {
10062	s.VpcId = &v
10063	return s
10064}
10065
10066// Contains information about an AD Connector directory.
10067type DirectoryConnectSettingsDescription struct {
10068	_ struct{} `type:"structure"`
10069
10070	// A list of the Availability Zones that the directory is in.
10071	AvailabilityZones []*string `type:"list"`
10072
10073	// The IP addresses of the AD Connector servers.
10074	ConnectIps []*string `type:"list"`
10075
10076	// The user name of the service account in your self-managed directory.
10077	CustomerUserName *string `min:"1" type:"string"`
10078
10079	// The security group identifier for the AD Connector directory.
10080	SecurityGroupId *string `type:"string"`
10081
10082	// A list of subnet identifiers in the VPC that the AD Connector is in.
10083	SubnetIds []*string `type:"list"`
10084
10085	// The identifier of the VPC that the AD Connector is in.
10086	VpcId *string `type:"string"`
10087}
10088
10089// String returns the string representation
10090func (s DirectoryConnectSettingsDescription) String() string {
10091	return awsutil.Prettify(s)
10092}
10093
10094// GoString returns the string representation
10095func (s DirectoryConnectSettingsDescription) GoString() string {
10096	return s.String()
10097}
10098
10099// SetAvailabilityZones sets the AvailabilityZones field's value.
10100func (s *DirectoryConnectSettingsDescription) SetAvailabilityZones(v []*string) *DirectoryConnectSettingsDescription {
10101	s.AvailabilityZones = v
10102	return s
10103}
10104
10105// SetConnectIps sets the ConnectIps field's value.
10106func (s *DirectoryConnectSettingsDescription) SetConnectIps(v []*string) *DirectoryConnectSettingsDescription {
10107	s.ConnectIps = v
10108	return s
10109}
10110
10111// SetCustomerUserName sets the CustomerUserName field's value.
10112func (s *DirectoryConnectSettingsDescription) SetCustomerUserName(v string) *DirectoryConnectSettingsDescription {
10113	s.CustomerUserName = &v
10114	return s
10115}
10116
10117// SetSecurityGroupId sets the SecurityGroupId field's value.
10118func (s *DirectoryConnectSettingsDescription) SetSecurityGroupId(v string) *DirectoryConnectSettingsDescription {
10119	s.SecurityGroupId = &v
10120	return s
10121}
10122
10123// SetSubnetIds sets the SubnetIds field's value.
10124func (s *DirectoryConnectSettingsDescription) SetSubnetIds(v []*string) *DirectoryConnectSettingsDescription {
10125	s.SubnetIds = v
10126	return s
10127}
10128
10129// SetVpcId sets the VpcId field's value.
10130func (s *DirectoryConnectSettingsDescription) SetVpcId(v string) *DirectoryConnectSettingsDescription {
10131	s.VpcId = &v
10132	return s
10133}
10134
10135// Contains information about an Directory Service directory.
10136type DirectoryDescription struct {
10137	_ struct{} `type:"structure"`
10138
10139	// The access URL for the directory, such as http://<alias>.awsapps.com. If
10140	// no alias has been created for the directory, <alias> is the directory identifier,
10141	// such as d-XXXXXXXXXX.
10142	AccessUrl *string `min:"1" type:"string"`
10143
10144	// The alias for the directory. If no alias has been created for the directory,
10145	// the alias is the directory identifier, such as d-XXXXXXXXXX.
10146	Alias *string `min:"1" type:"string"`
10147
10148	// A DirectoryConnectSettingsDescription object that contains additional information
10149	// about an AD Connector directory. This member is only present if the directory
10150	// is an AD Connector directory.
10151	ConnectSettings *DirectoryConnectSettingsDescription `type:"structure"`
10152
10153	// The description for the directory.
10154	Description *string `type:"string"`
10155
10156	// The desired number of domain controllers in the directory if the directory
10157	// is Microsoft AD.
10158	DesiredNumberOfDomainControllers *int64 `min:"2" type:"integer"`
10159
10160	// The directory identifier.
10161	DirectoryId *string `type:"string"`
10162
10163	// The IP addresses of the DNS servers for the directory. For a Simple AD or
10164	// Microsoft AD directory, these are the IP addresses of the Simple AD or Microsoft
10165	// AD directory servers. For an AD Connector directory, these are the IP addresses
10166	// of the DNS servers or domain controllers in your self-managed directory to
10167	// which the AD Connector is connected.
10168	DnsIpAddrs []*string `type:"list"`
10169
10170	// The edition associated with this directory.
10171	Edition *string `type:"string" enum:"DirectoryEdition"`
10172
10173	// Specifies when the directory was created.
10174	LaunchTime *time.Time `type:"timestamp"`
10175
10176	// The fully qualified name of the directory.
10177	Name *string `type:"string"`
10178
10179	// Describes the Managed Microsoft AD directory in the directory owner account.
10180	OwnerDirectoryDescription *OwnerDirectoryDescription `type:"structure"`
10181
10182	// A RadiusSettings object that contains information about the RADIUS server
10183	// configured for this directory.
10184	RadiusSettings *RadiusSettings `type:"structure"`
10185
10186	// The status of the RADIUS MFA server connection.
10187	RadiusStatus *string `type:"string" enum:"RadiusStatus"`
10188
10189	// Lists the Regions where the directory has replicated.
10190	RegionsInfo *RegionsInfo `type:"structure"`
10191
10192	// The method used when sharing a directory to determine whether the directory
10193	// should be shared within your Amazon Web Services organization (ORGANIZATIONS)
10194	// or with any Amazon Web Services account by sending a shared directory request
10195	// (HANDSHAKE).
10196	ShareMethod *string `type:"string" enum:"ShareMethod"`
10197
10198	// A directory share request that is sent by the directory owner to the directory
10199	// consumer. The request includes a typed message to help the directory consumer
10200	// administrator determine whether to approve or reject the share invitation.
10201	ShareNotes *string `type:"string" sensitive:"true"`
10202
10203	// Current directory status of the shared Managed Microsoft AD directory.
10204	ShareStatus *string `type:"string" enum:"ShareStatus"`
10205
10206	// The short name of the directory.
10207	ShortName *string `type:"string"`
10208
10209	// The directory size.
10210	Size *string `type:"string" enum:"DirectorySize"`
10211
10212	// Indicates if single sign-on is enabled for the directory. For more information,
10213	// see EnableSso and DisableSso.
10214	SsoEnabled *bool `type:"boolean"`
10215
10216	// The current stage of the directory.
10217	Stage *string `type:"string" enum:"DirectoryStage"`
10218
10219	// The date and time that the stage was last updated.
10220	StageLastUpdatedDateTime *time.Time `type:"timestamp"`
10221
10222	// Additional information about the directory stage.
10223	StageReason *string `type:"string"`
10224
10225	// The directory size.
10226	Type *string `type:"string" enum:"DirectoryType"`
10227
10228	// A DirectoryVpcSettingsDescription object that contains additional information
10229	// about a directory. This member is only present if the directory is a Simple
10230	// AD or Managed Microsoft AD directory.
10231	VpcSettings *DirectoryVpcSettingsDescription `type:"structure"`
10232}
10233
10234// String returns the string representation
10235func (s DirectoryDescription) String() string {
10236	return awsutil.Prettify(s)
10237}
10238
10239// GoString returns the string representation
10240func (s DirectoryDescription) GoString() string {
10241	return s.String()
10242}
10243
10244// SetAccessUrl sets the AccessUrl field's value.
10245func (s *DirectoryDescription) SetAccessUrl(v string) *DirectoryDescription {
10246	s.AccessUrl = &v
10247	return s
10248}
10249
10250// SetAlias sets the Alias field's value.
10251func (s *DirectoryDescription) SetAlias(v string) *DirectoryDescription {
10252	s.Alias = &v
10253	return s
10254}
10255
10256// SetConnectSettings sets the ConnectSettings field's value.
10257func (s *DirectoryDescription) SetConnectSettings(v *DirectoryConnectSettingsDescription) *DirectoryDescription {
10258	s.ConnectSettings = v
10259	return s
10260}
10261
10262// SetDescription sets the Description field's value.
10263func (s *DirectoryDescription) SetDescription(v string) *DirectoryDescription {
10264	s.Description = &v
10265	return s
10266}
10267
10268// SetDesiredNumberOfDomainControllers sets the DesiredNumberOfDomainControllers field's value.
10269func (s *DirectoryDescription) SetDesiredNumberOfDomainControllers(v int64) *DirectoryDescription {
10270	s.DesiredNumberOfDomainControllers = &v
10271	return s
10272}
10273
10274// SetDirectoryId sets the DirectoryId field's value.
10275func (s *DirectoryDescription) SetDirectoryId(v string) *DirectoryDescription {
10276	s.DirectoryId = &v
10277	return s
10278}
10279
10280// SetDnsIpAddrs sets the DnsIpAddrs field's value.
10281func (s *DirectoryDescription) SetDnsIpAddrs(v []*string) *DirectoryDescription {
10282	s.DnsIpAddrs = v
10283	return s
10284}
10285
10286// SetEdition sets the Edition field's value.
10287func (s *DirectoryDescription) SetEdition(v string) *DirectoryDescription {
10288	s.Edition = &v
10289	return s
10290}
10291
10292// SetLaunchTime sets the LaunchTime field's value.
10293func (s *DirectoryDescription) SetLaunchTime(v time.Time) *DirectoryDescription {
10294	s.LaunchTime = &v
10295	return s
10296}
10297
10298// SetName sets the Name field's value.
10299func (s *DirectoryDescription) SetName(v string) *DirectoryDescription {
10300	s.Name = &v
10301	return s
10302}
10303
10304// SetOwnerDirectoryDescription sets the OwnerDirectoryDescription field's value.
10305func (s *DirectoryDescription) SetOwnerDirectoryDescription(v *OwnerDirectoryDescription) *DirectoryDescription {
10306	s.OwnerDirectoryDescription = v
10307	return s
10308}
10309
10310// SetRadiusSettings sets the RadiusSettings field's value.
10311func (s *DirectoryDescription) SetRadiusSettings(v *RadiusSettings) *DirectoryDescription {
10312	s.RadiusSettings = v
10313	return s
10314}
10315
10316// SetRadiusStatus sets the RadiusStatus field's value.
10317func (s *DirectoryDescription) SetRadiusStatus(v string) *DirectoryDescription {
10318	s.RadiusStatus = &v
10319	return s
10320}
10321
10322// SetRegionsInfo sets the RegionsInfo field's value.
10323func (s *DirectoryDescription) SetRegionsInfo(v *RegionsInfo) *DirectoryDescription {
10324	s.RegionsInfo = v
10325	return s
10326}
10327
10328// SetShareMethod sets the ShareMethod field's value.
10329func (s *DirectoryDescription) SetShareMethod(v string) *DirectoryDescription {
10330	s.ShareMethod = &v
10331	return s
10332}
10333
10334// SetShareNotes sets the ShareNotes field's value.
10335func (s *DirectoryDescription) SetShareNotes(v string) *DirectoryDescription {
10336	s.ShareNotes = &v
10337	return s
10338}
10339
10340// SetShareStatus sets the ShareStatus field's value.
10341func (s *DirectoryDescription) SetShareStatus(v string) *DirectoryDescription {
10342	s.ShareStatus = &v
10343	return s
10344}
10345
10346// SetShortName sets the ShortName field's value.
10347func (s *DirectoryDescription) SetShortName(v string) *DirectoryDescription {
10348	s.ShortName = &v
10349	return s
10350}
10351
10352// SetSize sets the Size field's value.
10353func (s *DirectoryDescription) SetSize(v string) *DirectoryDescription {
10354	s.Size = &v
10355	return s
10356}
10357
10358// SetSsoEnabled sets the SsoEnabled field's value.
10359func (s *DirectoryDescription) SetSsoEnabled(v bool) *DirectoryDescription {
10360	s.SsoEnabled = &v
10361	return s
10362}
10363
10364// SetStage sets the Stage field's value.
10365func (s *DirectoryDescription) SetStage(v string) *DirectoryDescription {
10366	s.Stage = &v
10367	return s
10368}
10369
10370// SetStageLastUpdatedDateTime sets the StageLastUpdatedDateTime field's value.
10371func (s *DirectoryDescription) SetStageLastUpdatedDateTime(v time.Time) *DirectoryDescription {
10372	s.StageLastUpdatedDateTime = &v
10373	return s
10374}
10375
10376// SetStageReason sets the StageReason field's value.
10377func (s *DirectoryDescription) SetStageReason(v string) *DirectoryDescription {
10378	s.StageReason = &v
10379	return s
10380}
10381
10382// SetType sets the Type field's value.
10383func (s *DirectoryDescription) SetType(v string) *DirectoryDescription {
10384	s.Type = &v
10385	return s
10386}
10387
10388// SetVpcSettings sets the VpcSettings field's value.
10389func (s *DirectoryDescription) SetVpcSettings(v *DirectoryVpcSettingsDescription) *DirectoryDescription {
10390	s.VpcSettings = v
10391	return s
10392}
10393
10394// The specified directory does not exist in the system.
10395type DirectoryDoesNotExistException struct {
10396	_            struct{}                  `type:"structure"`
10397	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10398
10399	// The descriptive message for the exception.
10400	Message_ *string `locationName:"Message" type:"string"`
10401
10402	// The Amazon Web Services request identifier.
10403	RequestId *string `type:"string"`
10404}
10405
10406// String returns the string representation
10407func (s DirectoryDoesNotExistException) String() string {
10408	return awsutil.Prettify(s)
10409}
10410
10411// GoString returns the string representation
10412func (s DirectoryDoesNotExistException) GoString() string {
10413	return s.String()
10414}
10415
10416func newErrorDirectoryDoesNotExistException(v protocol.ResponseMetadata) error {
10417	return &DirectoryDoesNotExistException{
10418		RespMetadata: v,
10419	}
10420}
10421
10422// Code returns the exception type name.
10423func (s *DirectoryDoesNotExistException) Code() string {
10424	return "DirectoryDoesNotExistException"
10425}
10426
10427// Message returns the exception's message.
10428func (s *DirectoryDoesNotExistException) Message() string {
10429	if s.Message_ != nil {
10430		return *s.Message_
10431	}
10432	return ""
10433}
10434
10435// OrigErr always returns nil, satisfies awserr.Error interface.
10436func (s *DirectoryDoesNotExistException) OrigErr() error {
10437	return nil
10438}
10439
10440func (s *DirectoryDoesNotExistException) Error() string {
10441	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10442}
10443
10444// Status code returns the HTTP status code for the request's response error.
10445func (s *DirectoryDoesNotExistException) StatusCode() int {
10446	return s.RespMetadata.StatusCode
10447}
10448
10449// RequestID returns the service's response RequestID for request.
10450func (s *DirectoryDoesNotExistException) RequestID() string {
10451	return s.RespMetadata.RequestID
10452}
10453
10454// The maximum number of directories in the region has been reached. You can
10455// use the GetDirectoryLimits operation to determine your directory limits in
10456// the region.
10457type DirectoryLimitExceededException struct {
10458	_            struct{}                  `type:"structure"`
10459	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10460
10461	// The descriptive message for the exception.
10462	Message_ *string `locationName:"Message" type:"string"`
10463
10464	// The Amazon Web Services request identifier.
10465	RequestId *string `type:"string"`
10466}
10467
10468// String returns the string representation
10469func (s DirectoryLimitExceededException) String() string {
10470	return awsutil.Prettify(s)
10471}
10472
10473// GoString returns the string representation
10474func (s DirectoryLimitExceededException) GoString() string {
10475	return s.String()
10476}
10477
10478func newErrorDirectoryLimitExceededException(v protocol.ResponseMetadata) error {
10479	return &DirectoryLimitExceededException{
10480		RespMetadata: v,
10481	}
10482}
10483
10484// Code returns the exception type name.
10485func (s *DirectoryLimitExceededException) Code() string {
10486	return "DirectoryLimitExceededException"
10487}
10488
10489// Message returns the exception's message.
10490func (s *DirectoryLimitExceededException) Message() string {
10491	if s.Message_ != nil {
10492		return *s.Message_
10493	}
10494	return ""
10495}
10496
10497// OrigErr always returns nil, satisfies awserr.Error interface.
10498func (s *DirectoryLimitExceededException) OrigErr() error {
10499	return nil
10500}
10501
10502func (s *DirectoryLimitExceededException) Error() string {
10503	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10504}
10505
10506// Status code returns the HTTP status code for the request's response error.
10507func (s *DirectoryLimitExceededException) StatusCode() int {
10508	return s.RespMetadata.StatusCode
10509}
10510
10511// RequestID returns the service's response RequestID for request.
10512func (s *DirectoryLimitExceededException) RequestID() string {
10513	return s.RespMetadata.RequestID
10514}
10515
10516// Contains directory limit information for a Region.
10517type DirectoryLimits struct {
10518	_ struct{} `type:"structure"`
10519
10520	// The current number of cloud directories in the Region.
10521	CloudOnlyDirectoriesCurrentCount *int64 `type:"integer"`
10522
10523	// The maximum number of cloud directories allowed in the Region.
10524	CloudOnlyDirectoriesLimit *int64 `type:"integer"`
10525
10526	// Indicates if the cloud directory limit has been reached.
10527	CloudOnlyDirectoriesLimitReached *bool `type:"boolean"`
10528
10529	// The current number of Managed Microsoft AD directories in the region.
10530	CloudOnlyMicrosoftADCurrentCount *int64 `type:"integer"`
10531
10532	// The maximum number of Managed Microsoft AD directories allowed in the region.
10533	CloudOnlyMicrosoftADLimit *int64 `type:"integer"`
10534
10535	// Indicates if the Managed Microsoft AD directory limit has been reached.
10536	CloudOnlyMicrosoftADLimitReached *bool `type:"boolean"`
10537
10538	// The current number of connected directories in the Region.
10539	ConnectedDirectoriesCurrentCount *int64 `type:"integer"`
10540
10541	// The maximum number of connected directories allowed in the Region.
10542	ConnectedDirectoriesLimit *int64 `type:"integer"`
10543
10544	// Indicates if the connected directory limit has been reached.
10545	ConnectedDirectoriesLimitReached *bool `type:"boolean"`
10546}
10547
10548// String returns the string representation
10549func (s DirectoryLimits) String() string {
10550	return awsutil.Prettify(s)
10551}
10552
10553// GoString returns the string representation
10554func (s DirectoryLimits) GoString() string {
10555	return s.String()
10556}
10557
10558// SetCloudOnlyDirectoriesCurrentCount sets the CloudOnlyDirectoriesCurrentCount field's value.
10559func (s *DirectoryLimits) SetCloudOnlyDirectoriesCurrentCount(v int64) *DirectoryLimits {
10560	s.CloudOnlyDirectoriesCurrentCount = &v
10561	return s
10562}
10563
10564// SetCloudOnlyDirectoriesLimit sets the CloudOnlyDirectoriesLimit field's value.
10565func (s *DirectoryLimits) SetCloudOnlyDirectoriesLimit(v int64) *DirectoryLimits {
10566	s.CloudOnlyDirectoriesLimit = &v
10567	return s
10568}
10569
10570// SetCloudOnlyDirectoriesLimitReached sets the CloudOnlyDirectoriesLimitReached field's value.
10571func (s *DirectoryLimits) SetCloudOnlyDirectoriesLimitReached(v bool) *DirectoryLimits {
10572	s.CloudOnlyDirectoriesLimitReached = &v
10573	return s
10574}
10575
10576// SetCloudOnlyMicrosoftADCurrentCount sets the CloudOnlyMicrosoftADCurrentCount field's value.
10577func (s *DirectoryLimits) SetCloudOnlyMicrosoftADCurrentCount(v int64) *DirectoryLimits {
10578	s.CloudOnlyMicrosoftADCurrentCount = &v
10579	return s
10580}
10581
10582// SetCloudOnlyMicrosoftADLimit sets the CloudOnlyMicrosoftADLimit field's value.
10583func (s *DirectoryLimits) SetCloudOnlyMicrosoftADLimit(v int64) *DirectoryLimits {
10584	s.CloudOnlyMicrosoftADLimit = &v
10585	return s
10586}
10587
10588// SetCloudOnlyMicrosoftADLimitReached sets the CloudOnlyMicrosoftADLimitReached field's value.
10589func (s *DirectoryLimits) SetCloudOnlyMicrosoftADLimitReached(v bool) *DirectoryLimits {
10590	s.CloudOnlyMicrosoftADLimitReached = &v
10591	return s
10592}
10593
10594// SetConnectedDirectoriesCurrentCount sets the ConnectedDirectoriesCurrentCount field's value.
10595func (s *DirectoryLimits) SetConnectedDirectoriesCurrentCount(v int64) *DirectoryLimits {
10596	s.ConnectedDirectoriesCurrentCount = &v
10597	return s
10598}
10599
10600// SetConnectedDirectoriesLimit sets the ConnectedDirectoriesLimit field's value.
10601func (s *DirectoryLimits) SetConnectedDirectoriesLimit(v int64) *DirectoryLimits {
10602	s.ConnectedDirectoriesLimit = &v
10603	return s
10604}
10605
10606// SetConnectedDirectoriesLimitReached sets the ConnectedDirectoriesLimitReached field's value.
10607func (s *DirectoryLimits) SetConnectedDirectoriesLimitReached(v bool) *DirectoryLimits {
10608	s.ConnectedDirectoriesLimitReached = &v
10609	return s
10610}
10611
10612// The specified directory has not been shared with this Amazon Web Services
10613// account.
10614type DirectoryNotSharedException struct {
10615	_            struct{}                  `type:"structure"`
10616	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10617
10618	// The descriptive message for the exception.
10619	Message_ *string `locationName:"Message" type:"string"`
10620
10621	// The Amazon Web Services request identifier.
10622	RequestId *string `type:"string"`
10623}
10624
10625// String returns the string representation
10626func (s DirectoryNotSharedException) String() string {
10627	return awsutil.Prettify(s)
10628}
10629
10630// GoString returns the string representation
10631func (s DirectoryNotSharedException) GoString() string {
10632	return s.String()
10633}
10634
10635func newErrorDirectoryNotSharedException(v protocol.ResponseMetadata) error {
10636	return &DirectoryNotSharedException{
10637		RespMetadata: v,
10638	}
10639}
10640
10641// Code returns the exception type name.
10642func (s *DirectoryNotSharedException) Code() string {
10643	return "DirectoryNotSharedException"
10644}
10645
10646// Message returns the exception's message.
10647func (s *DirectoryNotSharedException) Message() string {
10648	if s.Message_ != nil {
10649		return *s.Message_
10650	}
10651	return ""
10652}
10653
10654// OrigErr always returns nil, satisfies awserr.Error interface.
10655func (s *DirectoryNotSharedException) OrigErr() error {
10656	return nil
10657}
10658
10659func (s *DirectoryNotSharedException) Error() string {
10660	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10661}
10662
10663// Status code returns the HTTP status code for the request's response error.
10664func (s *DirectoryNotSharedException) StatusCode() int {
10665	return s.RespMetadata.StatusCode
10666}
10667
10668// RequestID returns the service's response RequestID for request.
10669func (s *DirectoryNotSharedException) RequestID() string {
10670	return s.RespMetadata.RequestID
10671}
10672
10673// The specified directory is unavailable or could not be found.
10674type DirectoryUnavailableException struct {
10675	_            struct{}                  `type:"structure"`
10676	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10677
10678	// The descriptive message for the exception.
10679	Message_ *string `locationName:"Message" type:"string"`
10680
10681	// The Amazon Web Services request identifier.
10682	RequestId *string `type:"string"`
10683}
10684
10685// String returns the string representation
10686func (s DirectoryUnavailableException) String() string {
10687	return awsutil.Prettify(s)
10688}
10689
10690// GoString returns the string representation
10691func (s DirectoryUnavailableException) GoString() string {
10692	return s.String()
10693}
10694
10695func newErrorDirectoryUnavailableException(v protocol.ResponseMetadata) error {
10696	return &DirectoryUnavailableException{
10697		RespMetadata: v,
10698	}
10699}
10700
10701// Code returns the exception type name.
10702func (s *DirectoryUnavailableException) Code() string {
10703	return "DirectoryUnavailableException"
10704}
10705
10706// Message returns the exception's message.
10707func (s *DirectoryUnavailableException) Message() string {
10708	if s.Message_ != nil {
10709		return *s.Message_
10710	}
10711	return ""
10712}
10713
10714// OrigErr always returns nil, satisfies awserr.Error interface.
10715func (s *DirectoryUnavailableException) OrigErr() error {
10716	return nil
10717}
10718
10719func (s *DirectoryUnavailableException) Error() string {
10720	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10721}
10722
10723// Status code returns the HTTP status code for the request's response error.
10724func (s *DirectoryUnavailableException) StatusCode() int {
10725	return s.RespMetadata.StatusCode
10726}
10727
10728// RequestID returns the service's response RequestID for request.
10729func (s *DirectoryUnavailableException) RequestID() string {
10730	return s.RespMetadata.RequestID
10731}
10732
10733// Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.
10734type DirectoryVpcSettings struct {
10735	_ struct{} `type:"structure"`
10736
10737	// The identifiers of the subnets for the directory servers. The two subnets
10738	// must be in different Availability Zones. Directory Service creates a directory
10739	// server and a DNS server in each of these subnets.
10740	//
10741	// SubnetIds is a required field
10742	SubnetIds []*string `type:"list" required:"true"`
10743
10744	// The identifier of the VPC in which to create the directory.
10745	//
10746	// VpcId is a required field
10747	VpcId *string `type:"string" required:"true"`
10748}
10749
10750// String returns the string representation
10751func (s DirectoryVpcSettings) String() string {
10752	return awsutil.Prettify(s)
10753}
10754
10755// GoString returns the string representation
10756func (s DirectoryVpcSettings) GoString() string {
10757	return s.String()
10758}
10759
10760// Validate inspects the fields of the type to determine if they are valid.
10761func (s *DirectoryVpcSettings) Validate() error {
10762	invalidParams := request.ErrInvalidParams{Context: "DirectoryVpcSettings"}
10763	if s.SubnetIds == nil {
10764		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
10765	}
10766	if s.VpcId == nil {
10767		invalidParams.Add(request.NewErrParamRequired("VpcId"))
10768	}
10769
10770	if invalidParams.Len() > 0 {
10771		return invalidParams
10772	}
10773	return nil
10774}
10775
10776// SetSubnetIds sets the SubnetIds field's value.
10777func (s *DirectoryVpcSettings) SetSubnetIds(v []*string) *DirectoryVpcSettings {
10778	s.SubnetIds = v
10779	return s
10780}
10781
10782// SetVpcId sets the VpcId field's value.
10783func (s *DirectoryVpcSettings) SetVpcId(v string) *DirectoryVpcSettings {
10784	s.VpcId = &v
10785	return s
10786}
10787
10788// Contains information about the directory.
10789type DirectoryVpcSettingsDescription struct {
10790	_ struct{} `type:"structure"`
10791
10792	// The list of Availability Zones that the directory is in.
10793	AvailabilityZones []*string `type:"list"`
10794
10795	// The domain controller security group identifier for the directory.
10796	SecurityGroupId *string `type:"string"`
10797
10798	// The identifiers of the subnets for the directory servers.
10799	SubnetIds []*string `type:"list"`
10800
10801	// The identifier of the VPC that the directory is in.
10802	VpcId *string `type:"string"`
10803}
10804
10805// String returns the string representation
10806func (s DirectoryVpcSettingsDescription) String() string {
10807	return awsutil.Prettify(s)
10808}
10809
10810// GoString returns the string representation
10811func (s DirectoryVpcSettingsDescription) GoString() string {
10812	return s.String()
10813}
10814
10815// SetAvailabilityZones sets the AvailabilityZones field's value.
10816func (s *DirectoryVpcSettingsDescription) SetAvailabilityZones(v []*string) *DirectoryVpcSettingsDescription {
10817	s.AvailabilityZones = v
10818	return s
10819}
10820
10821// SetSecurityGroupId sets the SecurityGroupId field's value.
10822func (s *DirectoryVpcSettingsDescription) SetSecurityGroupId(v string) *DirectoryVpcSettingsDescription {
10823	s.SecurityGroupId = &v
10824	return s
10825}
10826
10827// SetSubnetIds sets the SubnetIds field's value.
10828func (s *DirectoryVpcSettingsDescription) SetSubnetIds(v []*string) *DirectoryVpcSettingsDescription {
10829	s.SubnetIds = v
10830	return s
10831}
10832
10833// SetVpcId sets the VpcId field's value.
10834func (s *DirectoryVpcSettingsDescription) SetVpcId(v string) *DirectoryVpcSettingsDescription {
10835	s.VpcId = &v
10836	return s
10837}
10838
10839type DisableClientAuthenticationInput struct {
10840	_ struct{} `type:"structure"`
10841
10842	// The identifier of the directory
10843	//
10844	// DirectoryId is a required field
10845	DirectoryId *string `type:"string" required:"true"`
10846
10847	// The type of client authentication to disable. Currently, only the parameter,
10848	// SmartCard is supported.
10849	//
10850	// Type is a required field
10851	Type *string `type:"string" required:"true" enum:"ClientAuthenticationType"`
10852}
10853
10854// String returns the string representation
10855func (s DisableClientAuthenticationInput) String() string {
10856	return awsutil.Prettify(s)
10857}
10858
10859// GoString returns the string representation
10860func (s DisableClientAuthenticationInput) GoString() string {
10861	return s.String()
10862}
10863
10864// Validate inspects the fields of the type to determine if they are valid.
10865func (s *DisableClientAuthenticationInput) Validate() error {
10866	invalidParams := request.ErrInvalidParams{Context: "DisableClientAuthenticationInput"}
10867	if s.DirectoryId == nil {
10868		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
10869	}
10870	if s.Type == nil {
10871		invalidParams.Add(request.NewErrParamRequired("Type"))
10872	}
10873
10874	if invalidParams.Len() > 0 {
10875		return invalidParams
10876	}
10877	return nil
10878}
10879
10880// SetDirectoryId sets the DirectoryId field's value.
10881func (s *DisableClientAuthenticationInput) SetDirectoryId(v string) *DisableClientAuthenticationInput {
10882	s.DirectoryId = &v
10883	return s
10884}
10885
10886// SetType sets the Type field's value.
10887func (s *DisableClientAuthenticationInput) SetType(v string) *DisableClientAuthenticationInput {
10888	s.Type = &v
10889	return s
10890}
10891
10892type DisableClientAuthenticationOutput struct {
10893	_ struct{} `type:"structure"`
10894}
10895
10896// String returns the string representation
10897func (s DisableClientAuthenticationOutput) String() string {
10898	return awsutil.Prettify(s)
10899}
10900
10901// GoString returns the string representation
10902func (s DisableClientAuthenticationOutput) GoString() string {
10903	return s.String()
10904}
10905
10906type DisableLDAPSInput struct {
10907	_ struct{} `type:"structure"`
10908
10909	// The identifier of the directory.
10910	//
10911	// DirectoryId is a required field
10912	DirectoryId *string `type:"string" required:"true"`
10913
10914	// The type of LDAP security to enable. Currently only the value Client is supported.
10915	//
10916	// Type is a required field
10917	Type *string `type:"string" required:"true" enum:"LDAPSType"`
10918}
10919
10920// String returns the string representation
10921func (s DisableLDAPSInput) String() string {
10922	return awsutil.Prettify(s)
10923}
10924
10925// GoString returns the string representation
10926func (s DisableLDAPSInput) GoString() string {
10927	return s.String()
10928}
10929
10930// Validate inspects the fields of the type to determine if they are valid.
10931func (s *DisableLDAPSInput) Validate() error {
10932	invalidParams := request.ErrInvalidParams{Context: "DisableLDAPSInput"}
10933	if s.DirectoryId == nil {
10934		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
10935	}
10936	if s.Type == nil {
10937		invalidParams.Add(request.NewErrParamRequired("Type"))
10938	}
10939
10940	if invalidParams.Len() > 0 {
10941		return invalidParams
10942	}
10943	return nil
10944}
10945
10946// SetDirectoryId sets the DirectoryId field's value.
10947func (s *DisableLDAPSInput) SetDirectoryId(v string) *DisableLDAPSInput {
10948	s.DirectoryId = &v
10949	return s
10950}
10951
10952// SetType sets the Type field's value.
10953func (s *DisableLDAPSInput) SetType(v string) *DisableLDAPSInput {
10954	s.Type = &v
10955	return s
10956}
10957
10958type DisableLDAPSOutput struct {
10959	_ struct{} `type:"structure"`
10960}
10961
10962// String returns the string representation
10963func (s DisableLDAPSOutput) String() string {
10964	return awsutil.Prettify(s)
10965}
10966
10967// GoString returns the string representation
10968func (s DisableLDAPSOutput) GoString() string {
10969	return s.String()
10970}
10971
10972// Contains the inputs for the DisableRadius operation.
10973type DisableRadiusInput struct {
10974	_ struct{} `type:"structure"`
10975
10976	// The identifier of the directory for which to disable MFA.
10977	//
10978	// DirectoryId is a required field
10979	DirectoryId *string `type:"string" required:"true"`
10980}
10981
10982// String returns the string representation
10983func (s DisableRadiusInput) String() string {
10984	return awsutil.Prettify(s)
10985}
10986
10987// GoString returns the string representation
10988func (s DisableRadiusInput) GoString() string {
10989	return s.String()
10990}
10991
10992// Validate inspects the fields of the type to determine if they are valid.
10993func (s *DisableRadiusInput) Validate() error {
10994	invalidParams := request.ErrInvalidParams{Context: "DisableRadiusInput"}
10995	if s.DirectoryId == nil {
10996		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
10997	}
10998
10999	if invalidParams.Len() > 0 {
11000		return invalidParams
11001	}
11002	return nil
11003}
11004
11005// SetDirectoryId sets the DirectoryId field's value.
11006func (s *DisableRadiusInput) SetDirectoryId(v string) *DisableRadiusInput {
11007	s.DirectoryId = &v
11008	return s
11009}
11010
11011// Contains the results of the DisableRadius operation.
11012type DisableRadiusOutput struct {
11013	_ struct{} `type:"structure"`
11014}
11015
11016// String returns the string representation
11017func (s DisableRadiusOutput) String() string {
11018	return awsutil.Prettify(s)
11019}
11020
11021// GoString returns the string representation
11022func (s DisableRadiusOutput) GoString() string {
11023	return s.String()
11024}
11025
11026// Contains the inputs for the DisableSso operation.
11027type DisableSsoInput struct {
11028	_ struct{} `type:"structure"`
11029
11030	// The identifier of the directory for which to disable single-sign on.
11031	//
11032	// DirectoryId is a required field
11033	DirectoryId *string `type:"string" required:"true"`
11034
11035	// The password of an alternate account to use to disable single-sign on. This
11036	// is only used for AD Connector directories. For more information, see the
11037	// UserName parameter.
11038	Password *string `min:"1" type:"string" sensitive:"true"`
11039
11040	// The username of an alternate account to use to disable single-sign on. This
11041	// is only used for AD Connector directories. This account must have privileges
11042	// to remove a service principal name.
11043	//
11044	// If the AD Connector service account does not have privileges to remove a
11045	// service principal name, you can specify an alternate account with the UserName
11046	// and Password parameters. These credentials are only used to disable single
11047	// sign-on and are not stored by the service. The AD Connector service account
11048	// is not changed.
11049	UserName *string `min:"1" type:"string"`
11050}
11051
11052// String returns the string representation
11053func (s DisableSsoInput) String() string {
11054	return awsutil.Prettify(s)
11055}
11056
11057// GoString returns the string representation
11058func (s DisableSsoInput) GoString() string {
11059	return s.String()
11060}
11061
11062// Validate inspects the fields of the type to determine if they are valid.
11063func (s *DisableSsoInput) Validate() error {
11064	invalidParams := request.ErrInvalidParams{Context: "DisableSsoInput"}
11065	if s.DirectoryId == nil {
11066		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
11067	}
11068	if s.Password != nil && len(*s.Password) < 1 {
11069		invalidParams.Add(request.NewErrParamMinLen("Password", 1))
11070	}
11071	if s.UserName != nil && len(*s.UserName) < 1 {
11072		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
11073	}
11074
11075	if invalidParams.Len() > 0 {
11076		return invalidParams
11077	}
11078	return nil
11079}
11080
11081// SetDirectoryId sets the DirectoryId field's value.
11082func (s *DisableSsoInput) SetDirectoryId(v string) *DisableSsoInput {
11083	s.DirectoryId = &v
11084	return s
11085}
11086
11087// SetPassword sets the Password field's value.
11088func (s *DisableSsoInput) SetPassword(v string) *DisableSsoInput {
11089	s.Password = &v
11090	return s
11091}
11092
11093// SetUserName sets the UserName field's value.
11094func (s *DisableSsoInput) SetUserName(v string) *DisableSsoInput {
11095	s.UserName = &v
11096	return s
11097}
11098
11099// Contains the results of the DisableSso operation.
11100type DisableSsoOutput struct {
11101	_ struct{} `type:"structure"`
11102}
11103
11104// String returns the string representation
11105func (s DisableSsoOutput) String() string {
11106	return awsutil.Prettify(s)
11107}
11108
11109// GoString returns the string representation
11110func (s DisableSsoOutput) GoString() string {
11111	return s.String()
11112}
11113
11114// Contains information about the domain controllers for a specified directory.
11115type DomainController struct {
11116	_ struct{} `type:"structure"`
11117
11118	// The Availability Zone where the domain controller is located.
11119	AvailabilityZone *string `type:"string"`
11120
11121	// Identifier of the directory where the domain controller resides.
11122	DirectoryId *string `type:"string"`
11123
11124	// The IP address of the domain controller.
11125	DnsIpAddr *string `type:"string"`
11126
11127	// Identifies a specific domain controller in the directory.
11128	DomainControllerId *string `type:"string"`
11129
11130	// Specifies when the domain controller was created.
11131	LaunchTime *time.Time `type:"timestamp"`
11132
11133	// The status of the domain controller.
11134	Status *string `type:"string" enum:"DomainControllerStatus"`
11135
11136	// The date and time that the status was last updated.
11137	StatusLastUpdatedDateTime *time.Time `type:"timestamp"`
11138
11139	// A description of the domain controller state.
11140	StatusReason *string `type:"string"`
11141
11142	// Identifier of the subnet in the VPC that contains the domain controller.
11143	SubnetId *string `type:"string"`
11144
11145	// The identifier of the VPC that contains the domain controller.
11146	VpcId *string `type:"string"`
11147}
11148
11149// String returns the string representation
11150func (s DomainController) String() string {
11151	return awsutil.Prettify(s)
11152}
11153
11154// GoString returns the string representation
11155func (s DomainController) GoString() string {
11156	return s.String()
11157}
11158
11159// SetAvailabilityZone sets the AvailabilityZone field's value.
11160func (s *DomainController) SetAvailabilityZone(v string) *DomainController {
11161	s.AvailabilityZone = &v
11162	return s
11163}
11164
11165// SetDirectoryId sets the DirectoryId field's value.
11166func (s *DomainController) SetDirectoryId(v string) *DomainController {
11167	s.DirectoryId = &v
11168	return s
11169}
11170
11171// SetDnsIpAddr sets the DnsIpAddr field's value.
11172func (s *DomainController) SetDnsIpAddr(v string) *DomainController {
11173	s.DnsIpAddr = &v
11174	return s
11175}
11176
11177// SetDomainControllerId sets the DomainControllerId field's value.
11178func (s *DomainController) SetDomainControllerId(v string) *DomainController {
11179	s.DomainControllerId = &v
11180	return s
11181}
11182
11183// SetLaunchTime sets the LaunchTime field's value.
11184func (s *DomainController) SetLaunchTime(v time.Time) *DomainController {
11185	s.LaunchTime = &v
11186	return s
11187}
11188
11189// SetStatus sets the Status field's value.
11190func (s *DomainController) SetStatus(v string) *DomainController {
11191	s.Status = &v
11192	return s
11193}
11194
11195// SetStatusLastUpdatedDateTime sets the StatusLastUpdatedDateTime field's value.
11196func (s *DomainController) SetStatusLastUpdatedDateTime(v time.Time) *DomainController {
11197	s.StatusLastUpdatedDateTime = &v
11198	return s
11199}
11200
11201// SetStatusReason sets the StatusReason field's value.
11202func (s *DomainController) SetStatusReason(v string) *DomainController {
11203	s.StatusReason = &v
11204	return s
11205}
11206
11207// SetSubnetId sets the SubnetId field's value.
11208func (s *DomainController) SetSubnetId(v string) *DomainController {
11209	s.SubnetId = &v
11210	return s
11211}
11212
11213// SetVpcId sets the VpcId field's value.
11214func (s *DomainController) SetVpcId(v string) *DomainController {
11215	s.VpcId = &v
11216	return s
11217}
11218
11219// The maximum allowed number of domain controllers per directory was exceeded.
11220// The default limit per directory is 20 domain controllers.
11221type DomainControllerLimitExceededException struct {
11222	_            struct{}                  `type:"structure"`
11223	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11224
11225	// The descriptive message for the exception.
11226	Message_ *string `locationName:"Message" type:"string"`
11227
11228	// The Amazon Web Services request identifier.
11229	RequestId *string `type:"string"`
11230}
11231
11232// String returns the string representation
11233func (s DomainControllerLimitExceededException) String() string {
11234	return awsutil.Prettify(s)
11235}
11236
11237// GoString returns the string representation
11238func (s DomainControllerLimitExceededException) GoString() string {
11239	return s.String()
11240}
11241
11242func newErrorDomainControllerLimitExceededException(v protocol.ResponseMetadata) error {
11243	return &DomainControllerLimitExceededException{
11244		RespMetadata: v,
11245	}
11246}
11247
11248// Code returns the exception type name.
11249func (s *DomainControllerLimitExceededException) Code() string {
11250	return "DomainControllerLimitExceededException"
11251}
11252
11253// Message returns the exception's message.
11254func (s *DomainControllerLimitExceededException) Message() string {
11255	if s.Message_ != nil {
11256		return *s.Message_
11257	}
11258	return ""
11259}
11260
11261// OrigErr always returns nil, satisfies awserr.Error interface.
11262func (s *DomainControllerLimitExceededException) OrigErr() error {
11263	return nil
11264}
11265
11266func (s *DomainControllerLimitExceededException) Error() string {
11267	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11268}
11269
11270// Status code returns the HTTP status code for the request's response error.
11271func (s *DomainControllerLimitExceededException) StatusCode() int {
11272	return s.RespMetadata.StatusCode
11273}
11274
11275// RequestID returns the service's response RequestID for request.
11276func (s *DomainControllerLimitExceededException) RequestID() string {
11277	return s.RespMetadata.RequestID
11278}
11279
11280type EnableClientAuthenticationInput struct {
11281	_ struct{} `type:"structure"`
11282
11283	// The identifier of the specified directory.
11284	//
11285	// DirectoryId is a required field
11286	DirectoryId *string `type:"string" required:"true"`
11287
11288	// The type of client authentication to enable. Currently only the value SmartCard
11289	// is supported. Smart card authentication in AD Connector requires that you
11290	// enable Kerberos Constrained Delegation for the Service User to the LDAP service
11291	// in your self-managed AD.
11292	//
11293	// Type is a required field
11294	Type *string `type:"string" required:"true" enum:"ClientAuthenticationType"`
11295}
11296
11297// String returns the string representation
11298func (s EnableClientAuthenticationInput) String() string {
11299	return awsutil.Prettify(s)
11300}
11301
11302// GoString returns the string representation
11303func (s EnableClientAuthenticationInput) GoString() string {
11304	return s.String()
11305}
11306
11307// Validate inspects the fields of the type to determine if they are valid.
11308func (s *EnableClientAuthenticationInput) Validate() error {
11309	invalidParams := request.ErrInvalidParams{Context: "EnableClientAuthenticationInput"}
11310	if s.DirectoryId == nil {
11311		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
11312	}
11313	if s.Type == nil {
11314		invalidParams.Add(request.NewErrParamRequired("Type"))
11315	}
11316
11317	if invalidParams.Len() > 0 {
11318		return invalidParams
11319	}
11320	return nil
11321}
11322
11323// SetDirectoryId sets the DirectoryId field's value.
11324func (s *EnableClientAuthenticationInput) SetDirectoryId(v string) *EnableClientAuthenticationInput {
11325	s.DirectoryId = &v
11326	return s
11327}
11328
11329// SetType sets the Type field's value.
11330func (s *EnableClientAuthenticationInput) SetType(v string) *EnableClientAuthenticationInput {
11331	s.Type = &v
11332	return s
11333}
11334
11335type EnableClientAuthenticationOutput struct {
11336	_ struct{} `type:"structure"`
11337}
11338
11339// String returns the string representation
11340func (s EnableClientAuthenticationOutput) String() string {
11341	return awsutil.Prettify(s)
11342}
11343
11344// GoString returns the string representation
11345func (s EnableClientAuthenticationOutput) GoString() string {
11346	return s.String()
11347}
11348
11349type EnableLDAPSInput struct {
11350	_ struct{} `type:"structure"`
11351
11352	// The identifier of the directory.
11353	//
11354	// DirectoryId is a required field
11355	DirectoryId *string `type:"string" required:"true"`
11356
11357	// The type of LDAP security to enable. Currently only the value Client is supported.
11358	//
11359	// Type is a required field
11360	Type *string `type:"string" required:"true" enum:"LDAPSType"`
11361}
11362
11363// String returns the string representation
11364func (s EnableLDAPSInput) String() string {
11365	return awsutil.Prettify(s)
11366}
11367
11368// GoString returns the string representation
11369func (s EnableLDAPSInput) GoString() string {
11370	return s.String()
11371}
11372
11373// Validate inspects the fields of the type to determine if they are valid.
11374func (s *EnableLDAPSInput) Validate() error {
11375	invalidParams := request.ErrInvalidParams{Context: "EnableLDAPSInput"}
11376	if s.DirectoryId == nil {
11377		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
11378	}
11379	if s.Type == nil {
11380		invalidParams.Add(request.NewErrParamRequired("Type"))
11381	}
11382
11383	if invalidParams.Len() > 0 {
11384		return invalidParams
11385	}
11386	return nil
11387}
11388
11389// SetDirectoryId sets the DirectoryId field's value.
11390func (s *EnableLDAPSInput) SetDirectoryId(v string) *EnableLDAPSInput {
11391	s.DirectoryId = &v
11392	return s
11393}
11394
11395// SetType sets the Type field's value.
11396func (s *EnableLDAPSInput) SetType(v string) *EnableLDAPSInput {
11397	s.Type = &v
11398	return s
11399}
11400
11401type EnableLDAPSOutput struct {
11402	_ struct{} `type:"structure"`
11403}
11404
11405// String returns the string representation
11406func (s EnableLDAPSOutput) String() string {
11407	return awsutil.Prettify(s)
11408}
11409
11410// GoString returns the string representation
11411func (s EnableLDAPSOutput) GoString() string {
11412	return s.String()
11413}
11414
11415// Contains the inputs for the EnableRadius operation.
11416type EnableRadiusInput struct {
11417	_ struct{} `type:"structure"`
11418
11419	// The identifier of the directory for which to enable MFA.
11420	//
11421	// DirectoryId is a required field
11422	DirectoryId *string `type:"string" required:"true"`
11423
11424	// A RadiusSettings object that contains information about the RADIUS server.
11425	//
11426	// RadiusSettings is a required field
11427	RadiusSettings *RadiusSettings `type:"structure" required:"true"`
11428}
11429
11430// String returns the string representation
11431func (s EnableRadiusInput) String() string {
11432	return awsutil.Prettify(s)
11433}
11434
11435// GoString returns the string representation
11436func (s EnableRadiusInput) GoString() string {
11437	return s.String()
11438}
11439
11440// Validate inspects the fields of the type to determine if they are valid.
11441func (s *EnableRadiusInput) Validate() error {
11442	invalidParams := request.ErrInvalidParams{Context: "EnableRadiusInput"}
11443	if s.DirectoryId == nil {
11444		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
11445	}
11446	if s.RadiusSettings == nil {
11447		invalidParams.Add(request.NewErrParamRequired("RadiusSettings"))
11448	}
11449	if s.RadiusSettings != nil {
11450		if err := s.RadiusSettings.Validate(); err != nil {
11451			invalidParams.AddNested("RadiusSettings", err.(request.ErrInvalidParams))
11452		}
11453	}
11454
11455	if invalidParams.Len() > 0 {
11456		return invalidParams
11457	}
11458	return nil
11459}
11460
11461// SetDirectoryId sets the DirectoryId field's value.
11462func (s *EnableRadiusInput) SetDirectoryId(v string) *EnableRadiusInput {
11463	s.DirectoryId = &v
11464	return s
11465}
11466
11467// SetRadiusSettings sets the RadiusSettings field's value.
11468func (s *EnableRadiusInput) SetRadiusSettings(v *RadiusSettings) *EnableRadiusInput {
11469	s.RadiusSettings = v
11470	return s
11471}
11472
11473// Contains the results of the EnableRadius operation.
11474type EnableRadiusOutput struct {
11475	_ struct{} `type:"structure"`
11476}
11477
11478// String returns the string representation
11479func (s EnableRadiusOutput) String() string {
11480	return awsutil.Prettify(s)
11481}
11482
11483// GoString returns the string representation
11484func (s EnableRadiusOutput) GoString() string {
11485	return s.String()
11486}
11487
11488// Contains the inputs for the EnableSso operation.
11489type EnableSsoInput struct {
11490	_ struct{} `type:"structure"`
11491
11492	// The identifier of the directory for which to enable single-sign on.
11493	//
11494	// DirectoryId is a required field
11495	DirectoryId *string `type:"string" required:"true"`
11496
11497	// The password of an alternate account to use to enable single-sign on. This
11498	// is only used for AD Connector directories. For more information, see the
11499	// UserName parameter.
11500	Password *string `min:"1" type:"string" sensitive:"true"`
11501
11502	// The username of an alternate account to use to enable single-sign on. This
11503	// is only used for AD Connector directories. This account must have privileges
11504	// to add a service principal name.
11505	//
11506	// If the AD Connector service account does not have privileges to add a service
11507	// principal name, you can specify an alternate account with the UserName and
11508	// Password parameters. These credentials are only used to enable single sign-on
11509	// and are not stored by the service. The AD Connector service account is not
11510	// changed.
11511	UserName *string `min:"1" type:"string"`
11512}
11513
11514// String returns the string representation
11515func (s EnableSsoInput) String() string {
11516	return awsutil.Prettify(s)
11517}
11518
11519// GoString returns the string representation
11520func (s EnableSsoInput) GoString() string {
11521	return s.String()
11522}
11523
11524// Validate inspects the fields of the type to determine if they are valid.
11525func (s *EnableSsoInput) Validate() error {
11526	invalidParams := request.ErrInvalidParams{Context: "EnableSsoInput"}
11527	if s.DirectoryId == nil {
11528		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
11529	}
11530	if s.Password != nil && len(*s.Password) < 1 {
11531		invalidParams.Add(request.NewErrParamMinLen("Password", 1))
11532	}
11533	if s.UserName != nil && len(*s.UserName) < 1 {
11534		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
11535	}
11536
11537	if invalidParams.Len() > 0 {
11538		return invalidParams
11539	}
11540	return nil
11541}
11542
11543// SetDirectoryId sets the DirectoryId field's value.
11544func (s *EnableSsoInput) SetDirectoryId(v string) *EnableSsoInput {
11545	s.DirectoryId = &v
11546	return s
11547}
11548
11549// SetPassword sets the Password field's value.
11550func (s *EnableSsoInput) SetPassword(v string) *EnableSsoInput {
11551	s.Password = &v
11552	return s
11553}
11554
11555// SetUserName sets the UserName field's value.
11556func (s *EnableSsoInput) SetUserName(v string) *EnableSsoInput {
11557	s.UserName = &v
11558	return s
11559}
11560
11561// Contains the results of the EnableSso operation.
11562type EnableSsoOutput struct {
11563	_ struct{} `type:"structure"`
11564}
11565
11566// String returns the string representation
11567func (s EnableSsoOutput) String() string {
11568	return awsutil.Prettify(s)
11569}
11570
11571// GoString returns the string representation
11572func (s EnableSsoOutput) GoString() string {
11573	return s.String()
11574}
11575
11576// The specified entity already exists.
11577type EntityAlreadyExistsException struct {
11578	_            struct{}                  `type:"structure"`
11579	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11580
11581	// The descriptive message for the exception.
11582	Message_ *string `locationName:"Message" type:"string"`
11583
11584	// The Amazon Web Services request identifier.
11585	RequestId *string `type:"string"`
11586}
11587
11588// String returns the string representation
11589func (s EntityAlreadyExistsException) String() string {
11590	return awsutil.Prettify(s)
11591}
11592
11593// GoString returns the string representation
11594func (s EntityAlreadyExistsException) GoString() string {
11595	return s.String()
11596}
11597
11598func newErrorEntityAlreadyExistsException(v protocol.ResponseMetadata) error {
11599	return &EntityAlreadyExistsException{
11600		RespMetadata: v,
11601	}
11602}
11603
11604// Code returns the exception type name.
11605func (s *EntityAlreadyExistsException) Code() string {
11606	return "EntityAlreadyExistsException"
11607}
11608
11609// Message returns the exception's message.
11610func (s *EntityAlreadyExistsException) Message() string {
11611	if s.Message_ != nil {
11612		return *s.Message_
11613	}
11614	return ""
11615}
11616
11617// OrigErr always returns nil, satisfies awserr.Error interface.
11618func (s *EntityAlreadyExistsException) OrigErr() error {
11619	return nil
11620}
11621
11622func (s *EntityAlreadyExistsException) Error() string {
11623	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11624}
11625
11626// Status code returns the HTTP status code for the request's response error.
11627func (s *EntityAlreadyExistsException) StatusCode() int {
11628	return s.RespMetadata.StatusCode
11629}
11630
11631// RequestID returns the service's response RequestID for request.
11632func (s *EntityAlreadyExistsException) RequestID() string {
11633	return s.RespMetadata.RequestID
11634}
11635
11636// The specified entity could not be found.
11637type EntityDoesNotExistException struct {
11638	_            struct{}                  `type:"structure"`
11639	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11640
11641	// The descriptive message for the exception.
11642	Message_ *string `locationName:"Message" type:"string"`
11643
11644	// The Amazon Web Services request identifier.
11645	RequestId *string `type:"string"`
11646}
11647
11648// String returns the string representation
11649func (s EntityDoesNotExistException) String() string {
11650	return awsutil.Prettify(s)
11651}
11652
11653// GoString returns the string representation
11654func (s EntityDoesNotExistException) GoString() string {
11655	return s.String()
11656}
11657
11658func newErrorEntityDoesNotExistException(v protocol.ResponseMetadata) error {
11659	return &EntityDoesNotExistException{
11660		RespMetadata: v,
11661	}
11662}
11663
11664// Code returns the exception type name.
11665func (s *EntityDoesNotExistException) Code() string {
11666	return "EntityDoesNotExistException"
11667}
11668
11669// Message returns the exception's message.
11670func (s *EntityDoesNotExistException) Message() string {
11671	if s.Message_ != nil {
11672		return *s.Message_
11673	}
11674	return ""
11675}
11676
11677// OrigErr always returns nil, satisfies awserr.Error interface.
11678func (s *EntityDoesNotExistException) OrigErr() error {
11679	return nil
11680}
11681
11682func (s *EntityDoesNotExistException) Error() string {
11683	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11684}
11685
11686// Status code returns the HTTP status code for the request's response error.
11687func (s *EntityDoesNotExistException) StatusCode() int {
11688	return s.RespMetadata.StatusCode
11689}
11690
11691// RequestID returns the service's response RequestID for request.
11692func (s *EntityDoesNotExistException) RequestID() string {
11693	return s.RespMetadata.RequestID
11694}
11695
11696// Information about Amazon SNS topic and Directory Service directory associations.
11697type EventTopic struct {
11698	_ struct{} `type:"structure"`
11699
11700	// The date and time of when you associated your directory with the Amazon SNS
11701	// topic.
11702	CreatedDateTime *time.Time `type:"timestamp"`
11703
11704	// The Directory ID of an Directory Service directory that will publish status
11705	// messages to an Amazon SNS topic.
11706	DirectoryId *string `type:"string"`
11707
11708	// The topic registration status.
11709	Status *string `type:"string" enum:"TopicStatus"`
11710
11711	// The Amazon SNS topic ARN (Amazon Resource Name).
11712	TopicArn *string `type:"string"`
11713
11714	// The name of an Amazon SNS topic the receives status messages from the directory.
11715	TopicName *string `min:"1" type:"string"`
11716}
11717
11718// String returns the string representation
11719func (s EventTopic) String() string {
11720	return awsutil.Prettify(s)
11721}
11722
11723// GoString returns the string representation
11724func (s EventTopic) GoString() string {
11725	return s.String()
11726}
11727
11728// SetCreatedDateTime sets the CreatedDateTime field's value.
11729func (s *EventTopic) SetCreatedDateTime(v time.Time) *EventTopic {
11730	s.CreatedDateTime = &v
11731	return s
11732}
11733
11734// SetDirectoryId sets the DirectoryId field's value.
11735func (s *EventTopic) SetDirectoryId(v string) *EventTopic {
11736	s.DirectoryId = &v
11737	return s
11738}
11739
11740// SetStatus sets the Status field's value.
11741func (s *EventTopic) SetStatus(v string) *EventTopic {
11742	s.Status = &v
11743	return s
11744}
11745
11746// SetTopicArn sets the TopicArn field's value.
11747func (s *EventTopic) SetTopicArn(v string) *EventTopic {
11748	s.TopicArn = &v
11749	return s
11750}
11751
11752// SetTopicName sets the TopicName field's value.
11753func (s *EventTopic) SetTopicName(v string) *EventTopic {
11754	s.TopicName = &v
11755	return s
11756}
11757
11758// Contains the inputs for the GetDirectoryLimits operation.
11759type GetDirectoryLimitsInput struct {
11760	_ struct{} `type:"structure"`
11761}
11762
11763// String returns the string representation
11764func (s GetDirectoryLimitsInput) String() string {
11765	return awsutil.Prettify(s)
11766}
11767
11768// GoString returns the string representation
11769func (s GetDirectoryLimitsInput) GoString() string {
11770	return s.String()
11771}
11772
11773// Contains the results of the GetDirectoryLimits operation.
11774type GetDirectoryLimitsOutput struct {
11775	_ struct{} `type:"structure"`
11776
11777	// A DirectoryLimits object that contains the directory limits for the current
11778	// Region.
11779	DirectoryLimits *DirectoryLimits `type:"structure"`
11780}
11781
11782// String returns the string representation
11783func (s GetDirectoryLimitsOutput) String() string {
11784	return awsutil.Prettify(s)
11785}
11786
11787// GoString returns the string representation
11788func (s GetDirectoryLimitsOutput) GoString() string {
11789	return s.String()
11790}
11791
11792// SetDirectoryLimits sets the DirectoryLimits field's value.
11793func (s *GetDirectoryLimitsOutput) SetDirectoryLimits(v *DirectoryLimits) *GetDirectoryLimitsOutput {
11794	s.DirectoryLimits = v
11795	return s
11796}
11797
11798// Contains the inputs for the GetSnapshotLimits operation.
11799type GetSnapshotLimitsInput struct {
11800	_ struct{} `type:"structure"`
11801
11802	// Contains the identifier of the directory to obtain the limits for.
11803	//
11804	// DirectoryId is a required field
11805	DirectoryId *string `type:"string" required:"true"`
11806}
11807
11808// String returns the string representation
11809func (s GetSnapshotLimitsInput) String() string {
11810	return awsutil.Prettify(s)
11811}
11812
11813// GoString returns the string representation
11814func (s GetSnapshotLimitsInput) GoString() string {
11815	return s.String()
11816}
11817
11818// Validate inspects the fields of the type to determine if they are valid.
11819func (s *GetSnapshotLimitsInput) Validate() error {
11820	invalidParams := request.ErrInvalidParams{Context: "GetSnapshotLimitsInput"}
11821	if s.DirectoryId == nil {
11822		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
11823	}
11824
11825	if invalidParams.Len() > 0 {
11826		return invalidParams
11827	}
11828	return nil
11829}
11830
11831// SetDirectoryId sets the DirectoryId field's value.
11832func (s *GetSnapshotLimitsInput) SetDirectoryId(v string) *GetSnapshotLimitsInput {
11833	s.DirectoryId = &v
11834	return s
11835}
11836
11837// Contains the results of the GetSnapshotLimits operation.
11838type GetSnapshotLimitsOutput struct {
11839	_ struct{} `type:"structure"`
11840
11841	// A SnapshotLimits object that contains the manual snapshot limits for the
11842	// specified directory.
11843	SnapshotLimits *SnapshotLimits `type:"structure"`
11844}
11845
11846// String returns the string representation
11847func (s GetSnapshotLimitsOutput) String() string {
11848	return awsutil.Prettify(s)
11849}
11850
11851// GoString returns the string representation
11852func (s GetSnapshotLimitsOutput) GoString() string {
11853	return s.String()
11854}
11855
11856// SetSnapshotLimits sets the SnapshotLimits field's value.
11857func (s *GetSnapshotLimitsOutput) SetSnapshotLimits(v *SnapshotLimits) *GetSnapshotLimitsOutput {
11858	s.SnapshotLimits = v
11859	return s
11860}
11861
11862// The account does not have sufficient permission to perform the operation.
11863type InsufficientPermissionsException struct {
11864	_            struct{}                  `type:"structure"`
11865	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11866
11867	// The descriptive message for the exception.
11868	Message_ *string `locationName:"Message" type:"string"`
11869
11870	// The Amazon Web Services request identifier.
11871	RequestId *string `type:"string"`
11872}
11873
11874// String returns the string representation
11875func (s InsufficientPermissionsException) String() string {
11876	return awsutil.Prettify(s)
11877}
11878
11879// GoString returns the string representation
11880func (s InsufficientPermissionsException) GoString() string {
11881	return s.String()
11882}
11883
11884func newErrorInsufficientPermissionsException(v protocol.ResponseMetadata) error {
11885	return &InsufficientPermissionsException{
11886		RespMetadata: v,
11887	}
11888}
11889
11890// Code returns the exception type name.
11891func (s *InsufficientPermissionsException) Code() string {
11892	return "InsufficientPermissionsException"
11893}
11894
11895// Message returns the exception's message.
11896func (s *InsufficientPermissionsException) Message() string {
11897	if s.Message_ != nil {
11898		return *s.Message_
11899	}
11900	return ""
11901}
11902
11903// OrigErr always returns nil, satisfies awserr.Error interface.
11904func (s *InsufficientPermissionsException) OrigErr() error {
11905	return nil
11906}
11907
11908func (s *InsufficientPermissionsException) Error() string {
11909	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11910}
11911
11912// Status code returns the HTTP status code for the request's response error.
11913func (s *InsufficientPermissionsException) StatusCode() int {
11914	return s.RespMetadata.StatusCode
11915}
11916
11917// RequestID returns the service's response RequestID for request.
11918func (s *InsufficientPermissionsException) RequestID() string {
11919	return s.RespMetadata.RequestID
11920}
11921
11922// The certificate PEM that was provided has incorrect encoding.
11923type InvalidCertificateException struct {
11924	_            struct{}                  `type:"structure"`
11925	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11926
11927	// The descriptive message for the exception.
11928	Message_ *string `locationName:"Message" type:"string"`
11929
11930	// The Amazon Web Services request identifier.
11931	RequestId *string `type:"string"`
11932}
11933
11934// String returns the string representation
11935func (s InvalidCertificateException) String() string {
11936	return awsutil.Prettify(s)
11937}
11938
11939// GoString returns the string representation
11940func (s InvalidCertificateException) GoString() string {
11941	return s.String()
11942}
11943
11944func newErrorInvalidCertificateException(v protocol.ResponseMetadata) error {
11945	return &InvalidCertificateException{
11946		RespMetadata: v,
11947	}
11948}
11949
11950// Code returns the exception type name.
11951func (s *InvalidCertificateException) Code() string {
11952	return "InvalidCertificateException"
11953}
11954
11955// Message returns the exception's message.
11956func (s *InvalidCertificateException) Message() string {
11957	if s.Message_ != nil {
11958		return *s.Message_
11959	}
11960	return ""
11961}
11962
11963// OrigErr always returns nil, satisfies awserr.Error interface.
11964func (s *InvalidCertificateException) OrigErr() error {
11965	return nil
11966}
11967
11968func (s *InvalidCertificateException) Error() string {
11969	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11970}
11971
11972// Status code returns the HTTP status code for the request's response error.
11973func (s *InvalidCertificateException) StatusCode() int {
11974	return s.RespMetadata.StatusCode
11975}
11976
11977// RequestID returns the service's response RequestID for request.
11978func (s *InvalidCertificateException) RequestID() string {
11979	return s.RespMetadata.RequestID
11980}
11981
11982// Client authentication is already enabled.
11983type InvalidClientAuthStatusException struct {
11984	_            struct{}                  `type:"structure"`
11985	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11986
11987	// The descriptive message for the exception.
11988	Message_ *string `locationName:"Message" type:"string"`
11989
11990	// The Amazon Web Services request identifier.
11991	RequestId *string `type:"string"`
11992}
11993
11994// String returns the string representation
11995func (s InvalidClientAuthStatusException) String() string {
11996	return awsutil.Prettify(s)
11997}
11998
11999// GoString returns the string representation
12000func (s InvalidClientAuthStatusException) GoString() string {
12001	return s.String()
12002}
12003
12004func newErrorInvalidClientAuthStatusException(v protocol.ResponseMetadata) error {
12005	return &InvalidClientAuthStatusException{
12006		RespMetadata: v,
12007	}
12008}
12009
12010// Code returns the exception type name.
12011func (s *InvalidClientAuthStatusException) Code() string {
12012	return "InvalidClientAuthStatusException"
12013}
12014
12015// Message returns the exception's message.
12016func (s *InvalidClientAuthStatusException) Message() string {
12017	if s.Message_ != nil {
12018		return *s.Message_
12019	}
12020	return ""
12021}
12022
12023// OrigErr always returns nil, satisfies awserr.Error interface.
12024func (s *InvalidClientAuthStatusException) OrigErr() error {
12025	return nil
12026}
12027
12028func (s *InvalidClientAuthStatusException) Error() string {
12029	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12030}
12031
12032// Status code returns the HTTP status code for the request's response error.
12033func (s *InvalidClientAuthStatusException) StatusCode() int {
12034	return s.RespMetadata.StatusCode
12035}
12036
12037// RequestID returns the service's response RequestID for request.
12038func (s *InvalidClientAuthStatusException) RequestID() string {
12039	return s.RespMetadata.RequestID
12040}
12041
12042// The LDAP activities could not be performed because they are limited by the
12043// LDAPS status.
12044type InvalidLDAPSStatusException struct {
12045	_            struct{}                  `type:"structure"`
12046	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12047
12048	// The descriptive message for the exception.
12049	Message_ *string `locationName:"Message" type:"string"`
12050
12051	// The Amazon Web Services request identifier.
12052	RequestId *string `type:"string"`
12053}
12054
12055// String returns the string representation
12056func (s InvalidLDAPSStatusException) String() string {
12057	return awsutil.Prettify(s)
12058}
12059
12060// GoString returns the string representation
12061func (s InvalidLDAPSStatusException) GoString() string {
12062	return s.String()
12063}
12064
12065func newErrorInvalidLDAPSStatusException(v protocol.ResponseMetadata) error {
12066	return &InvalidLDAPSStatusException{
12067		RespMetadata: v,
12068	}
12069}
12070
12071// Code returns the exception type name.
12072func (s *InvalidLDAPSStatusException) Code() string {
12073	return "InvalidLDAPSStatusException"
12074}
12075
12076// Message returns the exception's message.
12077func (s *InvalidLDAPSStatusException) Message() string {
12078	if s.Message_ != nil {
12079		return *s.Message_
12080	}
12081	return ""
12082}
12083
12084// OrigErr always returns nil, satisfies awserr.Error interface.
12085func (s *InvalidLDAPSStatusException) OrigErr() error {
12086	return nil
12087}
12088
12089func (s *InvalidLDAPSStatusException) Error() string {
12090	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12091}
12092
12093// Status code returns the HTTP status code for the request's response error.
12094func (s *InvalidLDAPSStatusException) StatusCode() int {
12095	return s.RespMetadata.StatusCode
12096}
12097
12098// RequestID returns the service's response RequestID for request.
12099func (s *InvalidLDAPSStatusException) RequestID() string {
12100	return s.RespMetadata.RequestID
12101}
12102
12103// The NextToken value is not valid.
12104type InvalidNextTokenException struct {
12105	_            struct{}                  `type:"structure"`
12106	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12107
12108	// The descriptive message for the exception.
12109	Message_ *string `locationName:"Message" type:"string"`
12110
12111	// The Amazon Web Services request identifier.
12112	RequestId *string `type:"string"`
12113}
12114
12115// String returns the string representation
12116func (s InvalidNextTokenException) String() string {
12117	return awsutil.Prettify(s)
12118}
12119
12120// GoString returns the string representation
12121func (s InvalidNextTokenException) GoString() string {
12122	return s.String()
12123}
12124
12125func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error {
12126	return &InvalidNextTokenException{
12127		RespMetadata: v,
12128	}
12129}
12130
12131// Code returns the exception type name.
12132func (s *InvalidNextTokenException) Code() string {
12133	return "InvalidNextTokenException"
12134}
12135
12136// Message returns the exception's message.
12137func (s *InvalidNextTokenException) Message() string {
12138	if s.Message_ != nil {
12139		return *s.Message_
12140	}
12141	return ""
12142}
12143
12144// OrigErr always returns nil, satisfies awserr.Error interface.
12145func (s *InvalidNextTokenException) OrigErr() error {
12146	return nil
12147}
12148
12149func (s *InvalidNextTokenException) Error() string {
12150	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12151}
12152
12153// Status code returns the HTTP status code for the request's response error.
12154func (s *InvalidNextTokenException) StatusCode() int {
12155	return s.RespMetadata.StatusCode
12156}
12157
12158// RequestID returns the service's response RequestID for request.
12159func (s *InvalidNextTokenException) RequestID() string {
12160	return s.RespMetadata.RequestID
12161}
12162
12163// One or more parameters are not valid.
12164type InvalidParameterException struct {
12165	_            struct{}                  `type:"structure"`
12166	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12167
12168	// The descriptive message for the exception.
12169	Message_ *string `locationName:"Message" type:"string"`
12170
12171	// The Amazon Web Services request identifier.
12172	RequestId *string `type:"string"`
12173}
12174
12175// String returns the string representation
12176func (s InvalidParameterException) String() string {
12177	return awsutil.Prettify(s)
12178}
12179
12180// GoString returns the string representation
12181func (s InvalidParameterException) GoString() string {
12182	return s.String()
12183}
12184
12185func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
12186	return &InvalidParameterException{
12187		RespMetadata: v,
12188	}
12189}
12190
12191// Code returns the exception type name.
12192func (s *InvalidParameterException) Code() string {
12193	return "InvalidParameterException"
12194}
12195
12196// Message returns the exception's message.
12197func (s *InvalidParameterException) Message() string {
12198	if s.Message_ != nil {
12199		return *s.Message_
12200	}
12201	return ""
12202}
12203
12204// OrigErr always returns nil, satisfies awserr.Error interface.
12205func (s *InvalidParameterException) OrigErr() error {
12206	return nil
12207}
12208
12209func (s *InvalidParameterException) Error() string {
12210	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12211}
12212
12213// Status code returns the HTTP status code for the request's response error.
12214func (s *InvalidParameterException) StatusCode() int {
12215	return s.RespMetadata.StatusCode
12216}
12217
12218// RequestID returns the service's response RequestID for request.
12219func (s *InvalidParameterException) RequestID() string {
12220	return s.RespMetadata.RequestID
12221}
12222
12223// The new password provided by the user does not meet the password complexity
12224// requirements defined in your directory.
12225type InvalidPasswordException struct {
12226	_            struct{}                  `type:"structure"`
12227	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12228
12229	// The descriptive message for the exception.
12230	Message_ *string `locationName:"Message" type:"string"`
12231
12232	// The Amazon Web Services request identifier.
12233	RequestId *string `type:"string"`
12234}
12235
12236// String returns the string representation
12237func (s InvalidPasswordException) String() string {
12238	return awsutil.Prettify(s)
12239}
12240
12241// GoString returns the string representation
12242func (s InvalidPasswordException) GoString() string {
12243	return s.String()
12244}
12245
12246func newErrorInvalidPasswordException(v protocol.ResponseMetadata) error {
12247	return &InvalidPasswordException{
12248		RespMetadata: v,
12249	}
12250}
12251
12252// Code returns the exception type name.
12253func (s *InvalidPasswordException) Code() string {
12254	return "InvalidPasswordException"
12255}
12256
12257// Message returns the exception's message.
12258func (s *InvalidPasswordException) Message() string {
12259	if s.Message_ != nil {
12260		return *s.Message_
12261	}
12262	return ""
12263}
12264
12265// OrigErr always returns nil, satisfies awserr.Error interface.
12266func (s *InvalidPasswordException) OrigErr() error {
12267	return nil
12268}
12269
12270func (s *InvalidPasswordException) Error() string {
12271	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12272}
12273
12274// Status code returns the HTTP status code for the request's response error.
12275func (s *InvalidPasswordException) StatusCode() int {
12276	return s.RespMetadata.StatusCode
12277}
12278
12279// RequestID returns the service's response RequestID for request.
12280func (s *InvalidPasswordException) RequestID() string {
12281	return s.RespMetadata.RequestID
12282}
12283
12284// The specified shared target is not valid.
12285type InvalidTargetException struct {
12286	_            struct{}                  `type:"structure"`
12287	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12288
12289	// The descriptive message for the exception.
12290	Message_ *string `locationName:"Message" type:"string"`
12291
12292	// The Amazon Web Services request identifier.
12293	RequestId *string `type:"string"`
12294}
12295
12296// String returns the string representation
12297func (s InvalidTargetException) String() string {
12298	return awsutil.Prettify(s)
12299}
12300
12301// GoString returns the string representation
12302func (s InvalidTargetException) GoString() string {
12303	return s.String()
12304}
12305
12306func newErrorInvalidTargetException(v protocol.ResponseMetadata) error {
12307	return &InvalidTargetException{
12308		RespMetadata: v,
12309	}
12310}
12311
12312// Code returns the exception type name.
12313func (s *InvalidTargetException) Code() string {
12314	return "InvalidTargetException"
12315}
12316
12317// Message returns the exception's message.
12318func (s *InvalidTargetException) Message() string {
12319	if s.Message_ != nil {
12320		return *s.Message_
12321	}
12322	return ""
12323}
12324
12325// OrigErr always returns nil, satisfies awserr.Error interface.
12326func (s *InvalidTargetException) OrigErr() error {
12327	return nil
12328}
12329
12330func (s *InvalidTargetException) Error() string {
12331	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12332}
12333
12334// Status code returns the HTTP status code for the request's response error.
12335func (s *InvalidTargetException) StatusCode() int {
12336	return s.RespMetadata.StatusCode
12337}
12338
12339// RequestID returns the service's response RequestID for request.
12340func (s *InvalidTargetException) RequestID() string {
12341	return s.RespMetadata.RequestID
12342}
12343
12344// IP address block. This is often the address block of the DNS server used
12345// for your self-managed domain.
12346type IpRoute struct {
12347	_ struct{} `type:"structure"`
12348
12349	// IP address block using CIDR format, for example 10.0.0.0/24. This is often
12350	// the address block of the DNS server used for your self-managed domain. For
12351	// a single IP address use a CIDR address block with /32. For example 10.0.0.0/32.
12352	CidrIp *string `type:"string"`
12353
12354	// Description of the address block.
12355	Description *string `type:"string"`
12356}
12357
12358// String returns the string representation
12359func (s IpRoute) String() string {
12360	return awsutil.Prettify(s)
12361}
12362
12363// GoString returns the string representation
12364func (s IpRoute) GoString() string {
12365	return s.String()
12366}
12367
12368// SetCidrIp sets the CidrIp field's value.
12369func (s *IpRoute) SetCidrIp(v string) *IpRoute {
12370	s.CidrIp = &v
12371	return s
12372}
12373
12374// SetDescription sets the Description field's value.
12375func (s *IpRoute) SetDescription(v string) *IpRoute {
12376	s.Description = &v
12377	return s
12378}
12379
12380// Information about one or more IP address blocks.
12381type IpRouteInfo struct {
12382	_ struct{} `type:"structure"`
12383
12384	// The date and time the address block was added to the directory.
12385	AddedDateTime *time.Time `type:"timestamp"`
12386
12387	// IP address block in the IpRoute.
12388	CidrIp *string `type:"string"`
12389
12390	// Description of the IpRouteInfo.
12391	Description *string `type:"string"`
12392
12393	// Identifier (ID) of the directory associated with the IP addresses.
12394	DirectoryId *string `type:"string"`
12395
12396	// The status of the IP address block.
12397	IpRouteStatusMsg *string `type:"string" enum:"IpRouteStatusMsg"`
12398
12399	// The reason for the IpRouteStatusMsg.
12400	IpRouteStatusReason *string `type:"string"`
12401}
12402
12403// String returns the string representation
12404func (s IpRouteInfo) String() string {
12405	return awsutil.Prettify(s)
12406}
12407
12408// GoString returns the string representation
12409func (s IpRouteInfo) GoString() string {
12410	return s.String()
12411}
12412
12413// SetAddedDateTime sets the AddedDateTime field's value.
12414func (s *IpRouteInfo) SetAddedDateTime(v time.Time) *IpRouteInfo {
12415	s.AddedDateTime = &v
12416	return s
12417}
12418
12419// SetCidrIp sets the CidrIp field's value.
12420func (s *IpRouteInfo) SetCidrIp(v string) *IpRouteInfo {
12421	s.CidrIp = &v
12422	return s
12423}
12424
12425// SetDescription sets the Description field's value.
12426func (s *IpRouteInfo) SetDescription(v string) *IpRouteInfo {
12427	s.Description = &v
12428	return s
12429}
12430
12431// SetDirectoryId sets the DirectoryId field's value.
12432func (s *IpRouteInfo) SetDirectoryId(v string) *IpRouteInfo {
12433	s.DirectoryId = &v
12434	return s
12435}
12436
12437// SetIpRouteStatusMsg sets the IpRouteStatusMsg field's value.
12438func (s *IpRouteInfo) SetIpRouteStatusMsg(v string) *IpRouteInfo {
12439	s.IpRouteStatusMsg = &v
12440	return s
12441}
12442
12443// SetIpRouteStatusReason sets the IpRouteStatusReason field's value.
12444func (s *IpRouteInfo) SetIpRouteStatusReason(v string) *IpRouteInfo {
12445	s.IpRouteStatusReason = &v
12446	return s
12447}
12448
12449// The maximum allowed number of IP addresses was exceeded. The default limit
12450// is 100 IP address blocks.
12451type IpRouteLimitExceededException struct {
12452	_            struct{}                  `type:"structure"`
12453	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12454
12455	// The descriptive message for the exception.
12456	Message_ *string `locationName:"Message" type:"string"`
12457
12458	// The Amazon Web Services request identifier.
12459	RequestId *string `type:"string"`
12460}
12461
12462// String returns the string representation
12463func (s IpRouteLimitExceededException) String() string {
12464	return awsutil.Prettify(s)
12465}
12466
12467// GoString returns the string representation
12468func (s IpRouteLimitExceededException) GoString() string {
12469	return s.String()
12470}
12471
12472func newErrorIpRouteLimitExceededException(v protocol.ResponseMetadata) error {
12473	return &IpRouteLimitExceededException{
12474		RespMetadata: v,
12475	}
12476}
12477
12478// Code returns the exception type name.
12479func (s *IpRouteLimitExceededException) Code() string {
12480	return "IpRouteLimitExceededException"
12481}
12482
12483// Message returns the exception's message.
12484func (s *IpRouteLimitExceededException) Message() string {
12485	if s.Message_ != nil {
12486		return *s.Message_
12487	}
12488	return ""
12489}
12490
12491// OrigErr always returns nil, satisfies awserr.Error interface.
12492func (s *IpRouteLimitExceededException) OrigErr() error {
12493	return nil
12494}
12495
12496func (s *IpRouteLimitExceededException) Error() string {
12497	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12498}
12499
12500// Status code returns the HTTP status code for the request's response error.
12501func (s *IpRouteLimitExceededException) StatusCode() int {
12502	return s.RespMetadata.StatusCode
12503}
12504
12505// RequestID returns the service's response RequestID for request.
12506func (s *IpRouteLimitExceededException) RequestID() string {
12507	return s.RespMetadata.RequestID
12508}
12509
12510// Contains general information about the LDAPS settings.
12511type LDAPSSettingInfo struct {
12512	_ struct{} `type:"structure"`
12513
12514	// The state of the LDAPS settings.
12515	LDAPSStatus *string `type:"string" enum:"LDAPSStatus"`
12516
12517	// Describes a state change for LDAPS.
12518	LDAPSStatusReason *string `type:"string"`
12519
12520	// The date and time when the LDAPS settings were last updated.
12521	LastUpdatedDateTime *time.Time `type:"timestamp"`
12522}
12523
12524// String returns the string representation
12525func (s LDAPSSettingInfo) String() string {
12526	return awsutil.Prettify(s)
12527}
12528
12529// GoString returns the string representation
12530func (s LDAPSSettingInfo) GoString() string {
12531	return s.String()
12532}
12533
12534// SetLDAPSStatus sets the LDAPSStatus field's value.
12535func (s *LDAPSSettingInfo) SetLDAPSStatus(v string) *LDAPSSettingInfo {
12536	s.LDAPSStatus = &v
12537	return s
12538}
12539
12540// SetLDAPSStatusReason sets the LDAPSStatusReason field's value.
12541func (s *LDAPSSettingInfo) SetLDAPSStatusReason(v string) *LDAPSSettingInfo {
12542	s.LDAPSStatusReason = &v
12543	return s
12544}
12545
12546// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
12547func (s *LDAPSSettingInfo) SetLastUpdatedDateTime(v time.Time) *LDAPSSettingInfo {
12548	s.LastUpdatedDateTime = &v
12549	return s
12550}
12551
12552type ListCertificatesInput struct {
12553	_ struct{} `type:"structure"`
12554
12555	// The identifier of the directory.
12556	//
12557	// DirectoryId is a required field
12558	DirectoryId *string `type:"string" required:"true"`
12559
12560	// The number of items that should show up on one page
12561	Limit *int64 `min:"1" type:"integer"`
12562
12563	// A token for requesting another page of certificates if the NextToken response
12564	// element indicates that more certificates are available. Use the value of
12565	// the returned NextToken element in your request until the token comes back
12566	// as null. Pass null if this is the first call.
12567	NextToken *string `type:"string"`
12568}
12569
12570// String returns the string representation
12571func (s ListCertificatesInput) String() string {
12572	return awsutil.Prettify(s)
12573}
12574
12575// GoString returns the string representation
12576func (s ListCertificatesInput) GoString() string {
12577	return s.String()
12578}
12579
12580// Validate inspects the fields of the type to determine if they are valid.
12581func (s *ListCertificatesInput) Validate() error {
12582	invalidParams := request.ErrInvalidParams{Context: "ListCertificatesInput"}
12583	if s.DirectoryId == nil {
12584		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
12585	}
12586	if s.Limit != nil && *s.Limit < 1 {
12587		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
12588	}
12589
12590	if invalidParams.Len() > 0 {
12591		return invalidParams
12592	}
12593	return nil
12594}
12595
12596// SetDirectoryId sets the DirectoryId field's value.
12597func (s *ListCertificatesInput) SetDirectoryId(v string) *ListCertificatesInput {
12598	s.DirectoryId = &v
12599	return s
12600}
12601
12602// SetLimit sets the Limit field's value.
12603func (s *ListCertificatesInput) SetLimit(v int64) *ListCertificatesInput {
12604	s.Limit = &v
12605	return s
12606}
12607
12608// SetNextToken sets the NextToken field's value.
12609func (s *ListCertificatesInput) SetNextToken(v string) *ListCertificatesInput {
12610	s.NextToken = &v
12611	return s
12612}
12613
12614type ListCertificatesOutput struct {
12615	_ struct{} `type:"structure"`
12616
12617	// A list of certificates with basic details including certificate ID, certificate
12618	// common name, certificate state.
12619	CertificatesInfo []*CertificateInfo `type:"list"`
12620
12621	// Indicates whether another page of certificates is available when the number
12622	// of available certificates exceeds the page limit.
12623	NextToken *string `type:"string"`
12624}
12625
12626// String returns the string representation
12627func (s ListCertificatesOutput) String() string {
12628	return awsutil.Prettify(s)
12629}
12630
12631// GoString returns the string representation
12632func (s ListCertificatesOutput) GoString() string {
12633	return s.String()
12634}
12635
12636// SetCertificatesInfo sets the CertificatesInfo field's value.
12637func (s *ListCertificatesOutput) SetCertificatesInfo(v []*CertificateInfo) *ListCertificatesOutput {
12638	s.CertificatesInfo = v
12639	return s
12640}
12641
12642// SetNextToken sets the NextToken field's value.
12643func (s *ListCertificatesOutput) SetNextToken(v string) *ListCertificatesOutput {
12644	s.NextToken = &v
12645	return s
12646}
12647
12648type ListIpRoutesInput struct {
12649	_ struct{} `type:"structure"`
12650
12651	// Identifier (ID) of the directory for which you want to retrieve the IP addresses.
12652	//
12653	// DirectoryId is a required field
12654	DirectoryId *string `type:"string" required:"true"`
12655
12656	// Maximum number of items to return. If this value is zero, the maximum number
12657	// of items is specified by the limitations of the operation.
12658	Limit *int64 `type:"integer"`
12659
12660	// The ListIpRoutes.NextToken value from a previous call to ListIpRoutes. Pass
12661	// null if this is the first call.
12662	NextToken *string `type:"string"`
12663}
12664
12665// String returns the string representation
12666func (s ListIpRoutesInput) String() string {
12667	return awsutil.Prettify(s)
12668}
12669
12670// GoString returns the string representation
12671func (s ListIpRoutesInput) GoString() string {
12672	return s.String()
12673}
12674
12675// Validate inspects the fields of the type to determine if they are valid.
12676func (s *ListIpRoutesInput) Validate() error {
12677	invalidParams := request.ErrInvalidParams{Context: "ListIpRoutesInput"}
12678	if s.DirectoryId == nil {
12679		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
12680	}
12681
12682	if invalidParams.Len() > 0 {
12683		return invalidParams
12684	}
12685	return nil
12686}
12687
12688// SetDirectoryId sets the DirectoryId field's value.
12689func (s *ListIpRoutesInput) SetDirectoryId(v string) *ListIpRoutesInput {
12690	s.DirectoryId = &v
12691	return s
12692}
12693
12694// SetLimit sets the Limit field's value.
12695func (s *ListIpRoutesInput) SetLimit(v int64) *ListIpRoutesInput {
12696	s.Limit = &v
12697	return s
12698}
12699
12700// SetNextToken sets the NextToken field's value.
12701func (s *ListIpRoutesInput) SetNextToken(v string) *ListIpRoutesInput {
12702	s.NextToken = &v
12703	return s
12704}
12705
12706type ListIpRoutesOutput struct {
12707	_ struct{} `type:"structure"`
12708
12709	// A list of IpRoutes.
12710	IpRoutesInfo []*IpRouteInfo `type:"list"`
12711
12712	// If not null, more results are available. Pass this value for the NextToken
12713	// parameter in a subsequent call to ListIpRoutes to retrieve the next set of
12714	// items.
12715	NextToken *string `type:"string"`
12716}
12717
12718// String returns the string representation
12719func (s ListIpRoutesOutput) String() string {
12720	return awsutil.Prettify(s)
12721}
12722
12723// GoString returns the string representation
12724func (s ListIpRoutesOutput) GoString() string {
12725	return s.String()
12726}
12727
12728// SetIpRoutesInfo sets the IpRoutesInfo field's value.
12729func (s *ListIpRoutesOutput) SetIpRoutesInfo(v []*IpRouteInfo) *ListIpRoutesOutput {
12730	s.IpRoutesInfo = v
12731	return s
12732}
12733
12734// SetNextToken sets the NextToken field's value.
12735func (s *ListIpRoutesOutput) SetNextToken(v string) *ListIpRoutesOutput {
12736	s.NextToken = &v
12737	return s
12738}
12739
12740type ListLogSubscriptionsInput struct {
12741	_ struct{} `type:"structure"`
12742
12743	// If a DirectoryID is provided, lists only the log subscription associated
12744	// with that directory. If no DirectoryId is provided, lists all log subscriptions
12745	// associated with your Amazon Web Services account. If there are no log subscriptions
12746	// for the Amazon Web Services account or the directory, an empty list will
12747	// be returned.
12748	DirectoryId *string `type:"string"`
12749
12750	// The maximum number of items returned.
12751	Limit *int64 `type:"integer"`
12752
12753	// The token for the next set of items to return.
12754	NextToken *string `type:"string"`
12755}
12756
12757// String returns the string representation
12758func (s ListLogSubscriptionsInput) String() string {
12759	return awsutil.Prettify(s)
12760}
12761
12762// GoString returns the string representation
12763func (s ListLogSubscriptionsInput) GoString() string {
12764	return s.String()
12765}
12766
12767// SetDirectoryId sets the DirectoryId field's value.
12768func (s *ListLogSubscriptionsInput) SetDirectoryId(v string) *ListLogSubscriptionsInput {
12769	s.DirectoryId = &v
12770	return s
12771}
12772
12773// SetLimit sets the Limit field's value.
12774func (s *ListLogSubscriptionsInput) SetLimit(v int64) *ListLogSubscriptionsInput {
12775	s.Limit = &v
12776	return s
12777}
12778
12779// SetNextToken sets the NextToken field's value.
12780func (s *ListLogSubscriptionsInput) SetNextToken(v string) *ListLogSubscriptionsInput {
12781	s.NextToken = &v
12782	return s
12783}
12784
12785type ListLogSubscriptionsOutput struct {
12786	_ struct{} `type:"structure"`
12787
12788	// A list of active LogSubscription objects for calling the Amazon Web Services
12789	// account.
12790	LogSubscriptions []*LogSubscription `type:"list"`
12791
12792	// The token for the next set of items to return.
12793	NextToken *string `type:"string"`
12794}
12795
12796// String returns the string representation
12797func (s ListLogSubscriptionsOutput) String() string {
12798	return awsutil.Prettify(s)
12799}
12800
12801// GoString returns the string representation
12802func (s ListLogSubscriptionsOutput) GoString() string {
12803	return s.String()
12804}
12805
12806// SetLogSubscriptions sets the LogSubscriptions field's value.
12807func (s *ListLogSubscriptionsOutput) SetLogSubscriptions(v []*LogSubscription) *ListLogSubscriptionsOutput {
12808	s.LogSubscriptions = v
12809	return s
12810}
12811
12812// SetNextToken sets the NextToken field's value.
12813func (s *ListLogSubscriptionsOutput) SetNextToken(v string) *ListLogSubscriptionsOutput {
12814	s.NextToken = &v
12815	return s
12816}
12817
12818type ListSchemaExtensionsInput struct {
12819	_ struct{} `type:"structure"`
12820
12821	// The identifier of the directory from which to retrieve the schema extension
12822	// information.
12823	//
12824	// DirectoryId is a required field
12825	DirectoryId *string `type:"string" required:"true"`
12826
12827	// The maximum number of items to return.
12828	Limit *int64 `type:"integer"`
12829
12830	// The ListSchemaExtensions.NextToken value from a previous call to ListSchemaExtensions.
12831	// Pass null if this is the first call.
12832	NextToken *string `type:"string"`
12833}
12834
12835// String returns the string representation
12836func (s ListSchemaExtensionsInput) String() string {
12837	return awsutil.Prettify(s)
12838}
12839
12840// GoString returns the string representation
12841func (s ListSchemaExtensionsInput) GoString() string {
12842	return s.String()
12843}
12844
12845// Validate inspects the fields of the type to determine if they are valid.
12846func (s *ListSchemaExtensionsInput) Validate() error {
12847	invalidParams := request.ErrInvalidParams{Context: "ListSchemaExtensionsInput"}
12848	if s.DirectoryId == nil {
12849		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
12850	}
12851
12852	if invalidParams.Len() > 0 {
12853		return invalidParams
12854	}
12855	return nil
12856}
12857
12858// SetDirectoryId sets the DirectoryId field's value.
12859func (s *ListSchemaExtensionsInput) SetDirectoryId(v string) *ListSchemaExtensionsInput {
12860	s.DirectoryId = &v
12861	return s
12862}
12863
12864// SetLimit sets the Limit field's value.
12865func (s *ListSchemaExtensionsInput) SetLimit(v int64) *ListSchemaExtensionsInput {
12866	s.Limit = &v
12867	return s
12868}
12869
12870// SetNextToken sets the NextToken field's value.
12871func (s *ListSchemaExtensionsInput) SetNextToken(v string) *ListSchemaExtensionsInput {
12872	s.NextToken = &v
12873	return s
12874}
12875
12876type ListSchemaExtensionsOutput struct {
12877	_ struct{} `type:"structure"`
12878
12879	// If not null, more results are available. Pass this value for the NextToken
12880	// parameter in a subsequent call to ListSchemaExtensions to retrieve the next
12881	// set of items.
12882	NextToken *string `type:"string"`
12883
12884	// Information about the schema extensions applied to the directory.
12885	SchemaExtensionsInfo []*SchemaExtensionInfo `type:"list"`
12886}
12887
12888// String returns the string representation
12889func (s ListSchemaExtensionsOutput) String() string {
12890	return awsutil.Prettify(s)
12891}
12892
12893// GoString returns the string representation
12894func (s ListSchemaExtensionsOutput) GoString() string {
12895	return s.String()
12896}
12897
12898// SetNextToken sets the NextToken field's value.
12899func (s *ListSchemaExtensionsOutput) SetNextToken(v string) *ListSchemaExtensionsOutput {
12900	s.NextToken = &v
12901	return s
12902}
12903
12904// SetSchemaExtensionsInfo sets the SchemaExtensionsInfo field's value.
12905func (s *ListSchemaExtensionsOutput) SetSchemaExtensionsInfo(v []*SchemaExtensionInfo) *ListSchemaExtensionsOutput {
12906	s.SchemaExtensionsInfo = v
12907	return s
12908}
12909
12910type ListTagsForResourceInput struct {
12911	_ struct{} `type:"structure"`
12912
12913	// Reserved for future use.
12914	Limit *int64 `type:"integer"`
12915
12916	// Reserved for future use.
12917	NextToken *string `type:"string"`
12918
12919	// Identifier (ID) of the directory for which you want to retrieve tags.
12920	//
12921	// ResourceId is a required field
12922	ResourceId *string `type:"string" required:"true"`
12923}
12924
12925// String returns the string representation
12926func (s ListTagsForResourceInput) String() string {
12927	return awsutil.Prettify(s)
12928}
12929
12930// GoString returns the string representation
12931func (s ListTagsForResourceInput) GoString() string {
12932	return s.String()
12933}
12934
12935// Validate inspects the fields of the type to determine if they are valid.
12936func (s *ListTagsForResourceInput) Validate() error {
12937	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
12938	if s.ResourceId == nil {
12939		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
12940	}
12941
12942	if invalidParams.Len() > 0 {
12943		return invalidParams
12944	}
12945	return nil
12946}
12947
12948// SetLimit sets the Limit field's value.
12949func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput {
12950	s.Limit = &v
12951	return s
12952}
12953
12954// SetNextToken sets the NextToken field's value.
12955func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
12956	s.NextToken = &v
12957	return s
12958}
12959
12960// SetResourceId sets the ResourceId field's value.
12961func (s *ListTagsForResourceInput) SetResourceId(v string) *ListTagsForResourceInput {
12962	s.ResourceId = &v
12963	return s
12964}
12965
12966type ListTagsForResourceOutput struct {
12967	_ struct{} `type:"structure"`
12968
12969	// Reserved for future use.
12970	NextToken *string `type:"string"`
12971
12972	// List of tags returned by the ListTagsForResource operation.
12973	Tags []*Tag `type:"list"`
12974}
12975
12976// String returns the string representation
12977func (s ListTagsForResourceOutput) String() string {
12978	return awsutil.Prettify(s)
12979}
12980
12981// GoString returns the string representation
12982func (s ListTagsForResourceOutput) GoString() string {
12983	return s.String()
12984}
12985
12986// SetNextToken sets the NextToken field's value.
12987func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
12988	s.NextToken = &v
12989	return s
12990}
12991
12992// SetTags sets the Tags field's value.
12993func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
12994	s.Tags = v
12995	return s
12996}
12997
12998// Represents a log subscription, which tracks real-time data from a chosen
12999// log group to a specified destination.
13000type LogSubscription struct {
13001	_ struct{} `type:"structure"`
13002
13003	// Identifier (ID) of the directory that you want to associate with the log
13004	// subscription.
13005	DirectoryId *string `type:"string"`
13006
13007	// The name of the log group.
13008	LogGroupName *string `min:"1" type:"string"`
13009
13010	// The date and time that the log subscription was created.
13011	SubscriptionCreatedDateTime *time.Time `type:"timestamp"`
13012}
13013
13014// String returns the string representation
13015func (s LogSubscription) String() string {
13016	return awsutil.Prettify(s)
13017}
13018
13019// GoString returns the string representation
13020func (s LogSubscription) GoString() string {
13021	return s.String()
13022}
13023
13024// SetDirectoryId sets the DirectoryId field's value.
13025func (s *LogSubscription) SetDirectoryId(v string) *LogSubscription {
13026	s.DirectoryId = &v
13027	return s
13028}
13029
13030// SetLogGroupName sets the LogGroupName field's value.
13031func (s *LogSubscription) SetLogGroupName(v string) *LogSubscription {
13032	s.LogGroupName = &v
13033	return s
13034}
13035
13036// SetSubscriptionCreatedDateTime sets the SubscriptionCreatedDateTime field's value.
13037func (s *LogSubscription) SetSubscriptionCreatedDateTime(v time.Time) *LogSubscription {
13038	s.SubscriptionCreatedDateTime = &v
13039	return s
13040}
13041
13042// Client authentication setup could not be completed because at least one valid
13043// certificate must be registered in the system.
13044type NoAvailableCertificateException struct {
13045	_            struct{}                  `type:"structure"`
13046	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13047
13048	// The descriptive message for the exception.
13049	Message_ *string `locationName:"Message" type:"string"`
13050
13051	// The Amazon Web Services request identifier.
13052	RequestId *string `type:"string"`
13053}
13054
13055// String returns the string representation
13056func (s NoAvailableCertificateException) String() string {
13057	return awsutil.Prettify(s)
13058}
13059
13060// GoString returns the string representation
13061func (s NoAvailableCertificateException) GoString() string {
13062	return s.String()
13063}
13064
13065func newErrorNoAvailableCertificateException(v protocol.ResponseMetadata) error {
13066	return &NoAvailableCertificateException{
13067		RespMetadata: v,
13068	}
13069}
13070
13071// Code returns the exception type name.
13072func (s *NoAvailableCertificateException) Code() string {
13073	return "NoAvailableCertificateException"
13074}
13075
13076// Message returns the exception's message.
13077func (s *NoAvailableCertificateException) Message() string {
13078	if s.Message_ != nil {
13079		return *s.Message_
13080	}
13081	return ""
13082}
13083
13084// OrigErr always returns nil, satisfies awserr.Error interface.
13085func (s *NoAvailableCertificateException) OrigErr() error {
13086	return nil
13087}
13088
13089func (s *NoAvailableCertificateException) Error() string {
13090	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13091}
13092
13093// Status code returns the HTTP status code for the request's response error.
13094func (s *NoAvailableCertificateException) StatusCode() int {
13095	return s.RespMetadata.StatusCode
13096}
13097
13098// RequestID returns the service's response RequestID for request.
13099func (s *NoAvailableCertificateException) RequestID() string {
13100	return s.RespMetadata.RequestID
13101}
13102
13103// Exception encountered while trying to access your Amazon Web Services organization.
13104type OrganizationsException struct {
13105	_            struct{}                  `type:"structure"`
13106	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13107
13108	// The descriptive message for the exception.
13109	Message_ *string `locationName:"Message" type:"string"`
13110
13111	// The Amazon Web Services request identifier.
13112	RequestId *string `type:"string"`
13113}
13114
13115// String returns the string representation
13116func (s OrganizationsException) String() string {
13117	return awsutil.Prettify(s)
13118}
13119
13120// GoString returns the string representation
13121func (s OrganizationsException) GoString() string {
13122	return s.String()
13123}
13124
13125func newErrorOrganizationsException(v protocol.ResponseMetadata) error {
13126	return &OrganizationsException{
13127		RespMetadata: v,
13128	}
13129}
13130
13131// Code returns the exception type name.
13132func (s *OrganizationsException) Code() string {
13133	return "OrganizationsException"
13134}
13135
13136// Message returns the exception's message.
13137func (s *OrganizationsException) Message() string {
13138	if s.Message_ != nil {
13139		return *s.Message_
13140	}
13141	return ""
13142}
13143
13144// OrigErr always returns nil, satisfies awserr.Error interface.
13145func (s *OrganizationsException) OrigErr() error {
13146	return nil
13147}
13148
13149func (s *OrganizationsException) Error() string {
13150	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13151}
13152
13153// Status code returns the HTTP status code for the request's response error.
13154func (s *OrganizationsException) StatusCode() int {
13155	return s.RespMetadata.StatusCode
13156}
13157
13158// RequestID returns the service's response RequestID for request.
13159func (s *OrganizationsException) RequestID() string {
13160	return s.RespMetadata.RequestID
13161}
13162
13163// Describes the directory owner account details that have been shared to the
13164// directory consumer account.
13165type OwnerDirectoryDescription struct {
13166	_ struct{} `type:"structure"`
13167
13168	// Identifier of the directory owner account.
13169	AccountId *string `type:"string"`
13170
13171	// Identifier of the Managed Microsoft AD directory in the directory owner account.
13172	DirectoryId *string `type:"string"`
13173
13174	// IP address of the directory’s domain controllers.
13175	DnsIpAddrs []*string `type:"list"`
13176
13177	// A RadiusSettings object that contains information about the RADIUS server.
13178	RadiusSettings *RadiusSettings `type:"structure"`
13179
13180	// Information about the status of the RADIUS server.
13181	RadiusStatus *string `type:"string" enum:"RadiusStatus"`
13182
13183	// Information about the VPC settings for the directory.
13184	VpcSettings *DirectoryVpcSettingsDescription `type:"structure"`
13185}
13186
13187// String returns the string representation
13188func (s OwnerDirectoryDescription) String() string {
13189	return awsutil.Prettify(s)
13190}
13191
13192// GoString returns the string representation
13193func (s OwnerDirectoryDescription) GoString() string {
13194	return s.String()
13195}
13196
13197// SetAccountId sets the AccountId field's value.
13198func (s *OwnerDirectoryDescription) SetAccountId(v string) *OwnerDirectoryDescription {
13199	s.AccountId = &v
13200	return s
13201}
13202
13203// SetDirectoryId sets the DirectoryId field's value.
13204func (s *OwnerDirectoryDescription) SetDirectoryId(v string) *OwnerDirectoryDescription {
13205	s.DirectoryId = &v
13206	return s
13207}
13208
13209// SetDnsIpAddrs sets the DnsIpAddrs field's value.
13210func (s *OwnerDirectoryDescription) SetDnsIpAddrs(v []*string) *OwnerDirectoryDescription {
13211	s.DnsIpAddrs = v
13212	return s
13213}
13214
13215// SetRadiusSettings sets the RadiusSettings field's value.
13216func (s *OwnerDirectoryDescription) SetRadiusSettings(v *RadiusSettings) *OwnerDirectoryDescription {
13217	s.RadiusSettings = v
13218	return s
13219}
13220
13221// SetRadiusStatus sets the RadiusStatus field's value.
13222func (s *OwnerDirectoryDescription) SetRadiusStatus(v string) *OwnerDirectoryDescription {
13223	s.RadiusStatus = &v
13224	return s
13225}
13226
13227// SetVpcSettings sets the VpcSettings field's value.
13228func (s *OwnerDirectoryDescription) SetVpcSettings(v *DirectoryVpcSettingsDescription) *OwnerDirectoryDescription {
13229	s.VpcSettings = v
13230	return s
13231}
13232
13233// Contains information about a Remote Authentication Dial In User Service (RADIUS)
13234// server.
13235type RadiusSettings struct {
13236	_ struct{} `type:"structure"`
13237
13238	// The protocol specified for your RADIUS endpoints.
13239	AuthenticationProtocol *string `type:"string" enum:"RadiusAuthenticationProtocol"`
13240
13241	// Not currently used.
13242	DisplayLabel *string `min:"1" type:"string"`
13243
13244	// The port that your RADIUS server is using for communications. Your self-managed
13245	// network must allow inbound traffic over this port from the Directory Service
13246	// servers.
13247	RadiusPort *int64 `min:"1025" type:"integer"`
13248
13249	// The maximum number of times that communication with the RADIUS server is
13250	// attempted.
13251	RadiusRetries *int64 `type:"integer"`
13252
13253	// An array of strings that contains the fully qualified domain name (FQDN)
13254	// or IP addresses of the RADIUS server endpoints, or the FQDN or IP addresses
13255	// of your RADIUS server load balancer.
13256	RadiusServers []*string `type:"list"`
13257
13258	// The amount of time, in seconds, to wait for the RADIUS server to respond.
13259	RadiusTimeout *int64 `min:"1" type:"integer"`
13260
13261	// Required for enabling RADIUS on the directory.
13262	SharedSecret *string `min:"8" type:"string" sensitive:"true"`
13263
13264	// Not currently used.
13265	UseSameUsername *bool `type:"boolean"`
13266}
13267
13268// String returns the string representation
13269func (s RadiusSettings) String() string {
13270	return awsutil.Prettify(s)
13271}
13272
13273// GoString returns the string representation
13274func (s RadiusSettings) GoString() string {
13275	return s.String()
13276}
13277
13278// Validate inspects the fields of the type to determine if they are valid.
13279func (s *RadiusSettings) Validate() error {
13280	invalidParams := request.ErrInvalidParams{Context: "RadiusSettings"}
13281	if s.DisplayLabel != nil && len(*s.DisplayLabel) < 1 {
13282		invalidParams.Add(request.NewErrParamMinLen("DisplayLabel", 1))
13283	}
13284	if s.RadiusPort != nil && *s.RadiusPort < 1025 {
13285		invalidParams.Add(request.NewErrParamMinValue("RadiusPort", 1025))
13286	}
13287	if s.RadiusTimeout != nil && *s.RadiusTimeout < 1 {
13288		invalidParams.Add(request.NewErrParamMinValue("RadiusTimeout", 1))
13289	}
13290	if s.SharedSecret != nil && len(*s.SharedSecret) < 8 {
13291		invalidParams.Add(request.NewErrParamMinLen("SharedSecret", 8))
13292	}
13293
13294	if invalidParams.Len() > 0 {
13295		return invalidParams
13296	}
13297	return nil
13298}
13299
13300// SetAuthenticationProtocol sets the AuthenticationProtocol field's value.
13301func (s *RadiusSettings) SetAuthenticationProtocol(v string) *RadiusSettings {
13302	s.AuthenticationProtocol = &v
13303	return s
13304}
13305
13306// SetDisplayLabel sets the DisplayLabel field's value.
13307func (s *RadiusSettings) SetDisplayLabel(v string) *RadiusSettings {
13308	s.DisplayLabel = &v
13309	return s
13310}
13311
13312// SetRadiusPort sets the RadiusPort field's value.
13313func (s *RadiusSettings) SetRadiusPort(v int64) *RadiusSettings {
13314	s.RadiusPort = &v
13315	return s
13316}
13317
13318// SetRadiusRetries sets the RadiusRetries field's value.
13319func (s *RadiusSettings) SetRadiusRetries(v int64) *RadiusSettings {
13320	s.RadiusRetries = &v
13321	return s
13322}
13323
13324// SetRadiusServers sets the RadiusServers field's value.
13325func (s *RadiusSettings) SetRadiusServers(v []*string) *RadiusSettings {
13326	s.RadiusServers = v
13327	return s
13328}
13329
13330// SetRadiusTimeout sets the RadiusTimeout field's value.
13331func (s *RadiusSettings) SetRadiusTimeout(v int64) *RadiusSettings {
13332	s.RadiusTimeout = &v
13333	return s
13334}
13335
13336// SetSharedSecret sets the SharedSecret field's value.
13337func (s *RadiusSettings) SetSharedSecret(v string) *RadiusSettings {
13338	s.SharedSecret = &v
13339	return s
13340}
13341
13342// SetUseSameUsername sets the UseSameUsername field's value.
13343func (s *RadiusSettings) SetUseSameUsername(v bool) *RadiusSettings {
13344	s.UseSameUsername = &v
13345	return s
13346}
13347
13348// The replicated Region information for a directory.
13349type RegionDescription struct {
13350	_ struct{} `type:"structure"`
13351
13352	// The desired number of domain controllers in the specified Region for the
13353	// specified directory.
13354	DesiredNumberOfDomainControllers *int64 `min:"2" type:"integer"`
13355
13356	// The identifier of the directory.
13357	DirectoryId *string `type:"string"`
13358
13359	// The date and time that the Region description was last updated.
13360	LastUpdatedDateTime *time.Time `type:"timestamp"`
13361
13362	// Specifies when the Region replication began.
13363	LaunchTime *time.Time `type:"timestamp"`
13364
13365	// The name of the Region. For example, us-east-1.
13366	RegionName *string `min:"8" type:"string"`
13367
13368	// Specifies whether the Region is the primary Region or an additional Region.
13369	RegionType *string `type:"string" enum:"RegionType"`
13370
13371	// The status of the replication process for the specified Region.
13372	Status *string `type:"string" enum:"DirectoryStage"`
13373
13374	// The date and time that the Region status was last updated.
13375	StatusLastUpdatedDateTime *time.Time `type:"timestamp"`
13376
13377	// Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.
13378	VpcSettings *DirectoryVpcSettings `type:"structure"`
13379}
13380
13381// String returns the string representation
13382func (s RegionDescription) String() string {
13383	return awsutil.Prettify(s)
13384}
13385
13386// GoString returns the string representation
13387func (s RegionDescription) GoString() string {
13388	return s.String()
13389}
13390
13391// SetDesiredNumberOfDomainControllers sets the DesiredNumberOfDomainControllers field's value.
13392func (s *RegionDescription) SetDesiredNumberOfDomainControllers(v int64) *RegionDescription {
13393	s.DesiredNumberOfDomainControllers = &v
13394	return s
13395}
13396
13397// SetDirectoryId sets the DirectoryId field's value.
13398func (s *RegionDescription) SetDirectoryId(v string) *RegionDescription {
13399	s.DirectoryId = &v
13400	return s
13401}
13402
13403// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
13404func (s *RegionDescription) SetLastUpdatedDateTime(v time.Time) *RegionDescription {
13405	s.LastUpdatedDateTime = &v
13406	return s
13407}
13408
13409// SetLaunchTime sets the LaunchTime field's value.
13410func (s *RegionDescription) SetLaunchTime(v time.Time) *RegionDescription {
13411	s.LaunchTime = &v
13412	return s
13413}
13414
13415// SetRegionName sets the RegionName field's value.
13416func (s *RegionDescription) SetRegionName(v string) *RegionDescription {
13417	s.RegionName = &v
13418	return s
13419}
13420
13421// SetRegionType sets the RegionType field's value.
13422func (s *RegionDescription) SetRegionType(v string) *RegionDescription {
13423	s.RegionType = &v
13424	return s
13425}
13426
13427// SetStatus sets the Status field's value.
13428func (s *RegionDescription) SetStatus(v string) *RegionDescription {
13429	s.Status = &v
13430	return s
13431}
13432
13433// SetStatusLastUpdatedDateTime sets the StatusLastUpdatedDateTime field's value.
13434func (s *RegionDescription) SetStatusLastUpdatedDateTime(v time.Time) *RegionDescription {
13435	s.StatusLastUpdatedDateTime = &v
13436	return s
13437}
13438
13439// SetVpcSettings sets the VpcSettings field's value.
13440func (s *RegionDescription) SetVpcSettings(v *DirectoryVpcSettings) *RegionDescription {
13441	s.VpcSettings = v
13442	return s
13443}
13444
13445// You have reached the limit for maximum number of simultaneous Region replications
13446// per directory.
13447type RegionLimitExceededException struct {
13448	_            struct{}                  `type:"structure"`
13449	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13450
13451	// The descriptive message for the exception.
13452	Message_ *string `locationName:"Message" type:"string"`
13453
13454	// The Amazon Web Services request identifier.
13455	RequestId *string `type:"string"`
13456}
13457
13458// String returns the string representation
13459func (s RegionLimitExceededException) String() string {
13460	return awsutil.Prettify(s)
13461}
13462
13463// GoString returns the string representation
13464func (s RegionLimitExceededException) GoString() string {
13465	return s.String()
13466}
13467
13468func newErrorRegionLimitExceededException(v protocol.ResponseMetadata) error {
13469	return &RegionLimitExceededException{
13470		RespMetadata: v,
13471	}
13472}
13473
13474// Code returns the exception type name.
13475func (s *RegionLimitExceededException) Code() string {
13476	return "RegionLimitExceededException"
13477}
13478
13479// Message returns the exception's message.
13480func (s *RegionLimitExceededException) Message() string {
13481	if s.Message_ != nil {
13482		return *s.Message_
13483	}
13484	return ""
13485}
13486
13487// OrigErr always returns nil, satisfies awserr.Error interface.
13488func (s *RegionLimitExceededException) OrigErr() error {
13489	return nil
13490}
13491
13492func (s *RegionLimitExceededException) Error() string {
13493	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13494}
13495
13496// Status code returns the HTTP status code for the request's response error.
13497func (s *RegionLimitExceededException) StatusCode() int {
13498	return s.RespMetadata.StatusCode
13499}
13500
13501// RequestID returns the service's response RequestID for request.
13502func (s *RegionLimitExceededException) RequestID() string {
13503	return s.RespMetadata.RequestID
13504}
13505
13506// Provides information about the Regions that are configured for multi-Region
13507// replication.
13508type RegionsInfo struct {
13509	_ struct{} `type:"structure"`
13510
13511	// Lists the Regions where the directory has been replicated, excluding the
13512	// primary Region.
13513	AdditionalRegions []*string `type:"list"`
13514
13515	// The Region where the Managed Microsoft AD directory was originally created.
13516	PrimaryRegion *string `min:"8" type:"string"`
13517}
13518
13519// String returns the string representation
13520func (s RegionsInfo) String() string {
13521	return awsutil.Prettify(s)
13522}
13523
13524// GoString returns the string representation
13525func (s RegionsInfo) GoString() string {
13526	return s.String()
13527}
13528
13529// SetAdditionalRegions sets the AdditionalRegions field's value.
13530func (s *RegionsInfo) SetAdditionalRegions(v []*string) *RegionsInfo {
13531	s.AdditionalRegions = v
13532	return s
13533}
13534
13535// SetPrimaryRegion sets the PrimaryRegion field's value.
13536func (s *RegionsInfo) SetPrimaryRegion(v string) *RegionsInfo {
13537	s.PrimaryRegion = &v
13538	return s
13539}
13540
13541type RegisterCertificateInput struct {
13542	_ struct{} `type:"structure"`
13543
13544	// The certificate PEM string that needs to be registered.
13545	//
13546	// CertificateData is a required field
13547	CertificateData *string `min:"1" type:"string" required:"true"`
13548
13549	// A ClientCertAuthSettings object that contains client certificate authentication
13550	// settings.
13551	ClientCertAuthSettings *ClientCertAuthSettings `type:"structure"`
13552
13553	// The identifier of the directory.
13554	//
13555	// DirectoryId is a required field
13556	DirectoryId *string `type:"string" required:"true"`
13557
13558	// The function that the registered certificate performs. Valid values include
13559	// ClientLDAPS or ClientCertAuth. The default value is ClientLDAPS.
13560	Type *string `type:"string" enum:"CertificateType"`
13561}
13562
13563// String returns the string representation
13564func (s RegisterCertificateInput) String() string {
13565	return awsutil.Prettify(s)
13566}
13567
13568// GoString returns the string representation
13569func (s RegisterCertificateInput) GoString() string {
13570	return s.String()
13571}
13572
13573// Validate inspects the fields of the type to determine if they are valid.
13574func (s *RegisterCertificateInput) Validate() error {
13575	invalidParams := request.ErrInvalidParams{Context: "RegisterCertificateInput"}
13576	if s.CertificateData == nil {
13577		invalidParams.Add(request.NewErrParamRequired("CertificateData"))
13578	}
13579	if s.CertificateData != nil && len(*s.CertificateData) < 1 {
13580		invalidParams.Add(request.NewErrParamMinLen("CertificateData", 1))
13581	}
13582	if s.DirectoryId == nil {
13583		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
13584	}
13585	if s.ClientCertAuthSettings != nil {
13586		if err := s.ClientCertAuthSettings.Validate(); err != nil {
13587			invalidParams.AddNested("ClientCertAuthSettings", err.(request.ErrInvalidParams))
13588		}
13589	}
13590
13591	if invalidParams.Len() > 0 {
13592		return invalidParams
13593	}
13594	return nil
13595}
13596
13597// SetCertificateData sets the CertificateData field's value.
13598func (s *RegisterCertificateInput) SetCertificateData(v string) *RegisterCertificateInput {
13599	s.CertificateData = &v
13600	return s
13601}
13602
13603// SetClientCertAuthSettings sets the ClientCertAuthSettings field's value.
13604func (s *RegisterCertificateInput) SetClientCertAuthSettings(v *ClientCertAuthSettings) *RegisterCertificateInput {
13605	s.ClientCertAuthSettings = v
13606	return s
13607}
13608
13609// SetDirectoryId sets the DirectoryId field's value.
13610func (s *RegisterCertificateInput) SetDirectoryId(v string) *RegisterCertificateInput {
13611	s.DirectoryId = &v
13612	return s
13613}
13614
13615// SetType sets the Type field's value.
13616func (s *RegisterCertificateInput) SetType(v string) *RegisterCertificateInput {
13617	s.Type = &v
13618	return s
13619}
13620
13621type RegisterCertificateOutput struct {
13622	_ struct{} `type:"structure"`
13623
13624	// The identifier of the certificate.
13625	CertificateId *string `type:"string"`
13626}
13627
13628// String returns the string representation
13629func (s RegisterCertificateOutput) String() string {
13630	return awsutil.Prettify(s)
13631}
13632
13633// GoString returns the string representation
13634func (s RegisterCertificateOutput) GoString() string {
13635	return s.String()
13636}
13637
13638// SetCertificateId sets the CertificateId field's value.
13639func (s *RegisterCertificateOutput) SetCertificateId(v string) *RegisterCertificateOutput {
13640	s.CertificateId = &v
13641	return s
13642}
13643
13644// Registers a new event topic.
13645type RegisterEventTopicInput struct {
13646	_ struct{} `type:"structure"`
13647
13648	// The Directory ID that will publish status messages to the Amazon SNS topic.
13649	//
13650	// DirectoryId is a required field
13651	DirectoryId *string `type:"string" required:"true"`
13652
13653	// The Amazon SNS topic name to which the directory will publish status messages.
13654	// This Amazon SNS topic must be in the same region as the specified Directory
13655	// ID.
13656	//
13657	// TopicName is a required field
13658	TopicName *string `min:"1" type:"string" required:"true"`
13659}
13660
13661// String returns the string representation
13662func (s RegisterEventTopicInput) String() string {
13663	return awsutil.Prettify(s)
13664}
13665
13666// GoString returns the string representation
13667func (s RegisterEventTopicInput) GoString() string {
13668	return s.String()
13669}
13670
13671// Validate inspects the fields of the type to determine if they are valid.
13672func (s *RegisterEventTopicInput) Validate() error {
13673	invalidParams := request.ErrInvalidParams{Context: "RegisterEventTopicInput"}
13674	if s.DirectoryId == nil {
13675		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
13676	}
13677	if s.TopicName == nil {
13678		invalidParams.Add(request.NewErrParamRequired("TopicName"))
13679	}
13680	if s.TopicName != nil && len(*s.TopicName) < 1 {
13681		invalidParams.Add(request.NewErrParamMinLen("TopicName", 1))
13682	}
13683
13684	if invalidParams.Len() > 0 {
13685		return invalidParams
13686	}
13687	return nil
13688}
13689
13690// SetDirectoryId sets the DirectoryId field's value.
13691func (s *RegisterEventTopicInput) SetDirectoryId(v string) *RegisterEventTopicInput {
13692	s.DirectoryId = &v
13693	return s
13694}
13695
13696// SetTopicName sets the TopicName field's value.
13697func (s *RegisterEventTopicInput) SetTopicName(v string) *RegisterEventTopicInput {
13698	s.TopicName = &v
13699	return s
13700}
13701
13702// The result of a RegisterEventTopic request.
13703type RegisterEventTopicOutput struct {
13704	_ struct{} `type:"structure"`
13705}
13706
13707// String returns the string representation
13708func (s RegisterEventTopicOutput) String() string {
13709	return awsutil.Prettify(s)
13710}
13711
13712// GoString returns the string representation
13713func (s RegisterEventTopicOutput) GoString() string {
13714	return s.String()
13715}
13716
13717type RejectSharedDirectoryInput struct {
13718	_ struct{} `type:"structure"`
13719
13720	// Identifier of the shared directory in the directory consumer account. This
13721	// identifier is different for each directory owner account.
13722	//
13723	// SharedDirectoryId is a required field
13724	SharedDirectoryId *string `type:"string" required:"true"`
13725}
13726
13727// String returns the string representation
13728func (s RejectSharedDirectoryInput) String() string {
13729	return awsutil.Prettify(s)
13730}
13731
13732// GoString returns the string representation
13733func (s RejectSharedDirectoryInput) GoString() string {
13734	return s.String()
13735}
13736
13737// Validate inspects the fields of the type to determine if they are valid.
13738func (s *RejectSharedDirectoryInput) Validate() error {
13739	invalidParams := request.ErrInvalidParams{Context: "RejectSharedDirectoryInput"}
13740	if s.SharedDirectoryId == nil {
13741		invalidParams.Add(request.NewErrParamRequired("SharedDirectoryId"))
13742	}
13743
13744	if invalidParams.Len() > 0 {
13745		return invalidParams
13746	}
13747	return nil
13748}
13749
13750// SetSharedDirectoryId sets the SharedDirectoryId field's value.
13751func (s *RejectSharedDirectoryInput) SetSharedDirectoryId(v string) *RejectSharedDirectoryInput {
13752	s.SharedDirectoryId = &v
13753	return s
13754}
13755
13756type RejectSharedDirectoryOutput struct {
13757	_ struct{} `type:"structure"`
13758
13759	// Identifier of the shared directory in the directory consumer account.
13760	SharedDirectoryId *string `type:"string"`
13761}
13762
13763// String returns the string representation
13764func (s RejectSharedDirectoryOutput) String() string {
13765	return awsutil.Prettify(s)
13766}
13767
13768// GoString returns the string representation
13769func (s RejectSharedDirectoryOutput) GoString() string {
13770	return s.String()
13771}
13772
13773// SetSharedDirectoryId sets the SharedDirectoryId field's value.
13774func (s *RejectSharedDirectoryOutput) SetSharedDirectoryId(v string) *RejectSharedDirectoryOutput {
13775	s.SharedDirectoryId = &v
13776	return s
13777}
13778
13779type RemoveIpRoutesInput struct {
13780	_ struct{} `type:"structure"`
13781
13782	// IP address blocks that you want to remove.
13783	//
13784	// CidrIps is a required field
13785	CidrIps []*string `type:"list" required:"true"`
13786
13787	// Identifier (ID) of the directory from which you want to remove the IP addresses.
13788	//
13789	// DirectoryId is a required field
13790	DirectoryId *string `type:"string" required:"true"`
13791}
13792
13793// String returns the string representation
13794func (s RemoveIpRoutesInput) String() string {
13795	return awsutil.Prettify(s)
13796}
13797
13798// GoString returns the string representation
13799func (s RemoveIpRoutesInput) GoString() string {
13800	return s.String()
13801}
13802
13803// Validate inspects the fields of the type to determine if they are valid.
13804func (s *RemoveIpRoutesInput) Validate() error {
13805	invalidParams := request.ErrInvalidParams{Context: "RemoveIpRoutesInput"}
13806	if s.CidrIps == nil {
13807		invalidParams.Add(request.NewErrParamRequired("CidrIps"))
13808	}
13809	if s.DirectoryId == nil {
13810		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
13811	}
13812
13813	if invalidParams.Len() > 0 {
13814		return invalidParams
13815	}
13816	return nil
13817}
13818
13819// SetCidrIps sets the CidrIps field's value.
13820func (s *RemoveIpRoutesInput) SetCidrIps(v []*string) *RemoveIpRoutesInput {
13821	s.CidrIps = v
13822	return s
13823}
13824
13825// SetDirectoryId sets the DirectoryId field's value.
13826func (s *RemoveIpRoutesInput) SetDirectoryId(v string) *RemoveIpRoutesInput {
13827	s.DirectoryId = &v
13828	return s
13829}
13830
13831type RemoveIpRoutesOutput struct {
13832	_ struct{} `type:"structure"`
13833}
13834
13835// String returns the string representation
13836func (s RemoveIpRoutesOutput) String() string {
13837	return awsutil.Prettify(s)
13838}
13839
13840// GoString returns the string representation
13841func (s RemoveIpRoutesOutput) GoString() string {
13842	return s.String()
13843}
13844
13845type RemoveRegionInput struct {
13846	_ struct{} `type:"structure"`
13847
13848	// The identifier of the directory for which you want to remove Region replication.
13849	//
13850	// DirectoryId is a required field
13851	DirectoryId *string `type:"string" required:"true"`
13852}
13853
13854// String returns the string representation
13855func (s RemoveRegionInput) String() string {
13856	return awsutil.Prettify(s)
13857}
13858
13859// GoString returns the string representation
13860func (s RemoveRegionInput) GoString() string {
13861	return s.String()
13862}
13863
13864// Validate inspects the fields of the type to determine if they are valid.
13865func (s *RemoveRegionInput) Validate() error {
13866	invalidParams := request.ErrInvalidParams{Context: "RemoveRegionInput"}
13867	if s.DirectoryId == nil {
13868		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
13869	}
13870
13871	if invalidParams.Len() > 0 {
13872		return invalidParams
13873	}
13874	return nil
13875}
13876
13877// SetDirectoryId sets the DirectoryId field's value.
13878func (s *RemoveRegionInput) SetDirectoryId(v string) *RemoveRegionInput {
13879	s.DirectoryId = &v
13880	return s
13881}
13882
13883type RemoveRegionOutput struct {
13884	_ struct{} `type:"structure"`
13885}
13886
13887// String returns the string representation
13888func (s RemoveRegionOutput) String() string {
13889	return awsutil.Prettify(s)
13890}
13891
13892// GoString returns the string representation
13893func (s RemoveRegionOutput) GoString() string {
13894	return s.String()
13895}
13896
13897type RemoveTagsFromResourceInput struct {
13898	_ struct{} `type:"structure"`
13899
13900	// Identifier (ID) of the directory from which to remove the tag.
13901	//
13902	// ResourceId is a required field
13903	ResourceId *string `type:"string" required:"true"`
13904
13905	// The tag key (name) of the tag to be removed.
13906	//
13907	// TagKeys is a required field
13908	TagKeys []*string `type:"list" required:"true"`
13909}
13910
13911// String returns the string representation
13912func (s RemoveTagsFromResourceInput) String() string {
13913	return awsutil.Prettify(s)
13914}
13915
13916// GoString returns the string representation
13917func (s RemoveTagsFromResourceInput) GoString() string {
13918	return s.String()
13919}
13920
13921// Validate inspects the fields of the type to determine if they are valid.
13922func (s *RemoveTagsFromResourceInput) Validate() error {
13923	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
13924	if s.ResourceId == nil {
13925		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
13926	}
13927	if s.TagKeys == nil {
13928		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
13929	}
13930
13931	if invalidParams.Len() > 0 {
13932		return invalidParams
13933	}
13934	return nil
13935}
13936
13937// SetResourceId sets the ResourceId field's value.
13938func (s *RemoveTagsFromResourceInput) SetResourceId(v string) *RemoveTagsFromResourceInput {
13939	s.ResourceId = &v
13940	return s
13941}
13942
13943// SetTagKeys sets the TagKeys field's value.
13944func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
13945	s.TagKeys = v
13946	return s
13947}
13948
13949type RemoveTagsFromResourceOutput struct {
13950	_ struct{} `type:"structure"`
13951}
13952
13953// String returns the string representation
13954func (s RemoveTagsFromResourceOutput) String() string {
13955	return awsutil.Prettify(s)
13956}
13957
13958// GoString returns the string representation
13959func (s RemoveTagsFromResourceOutput) GoString() string {
13960	return s.String()
13961}
13962
13963type ResetUserPasswordInput struct {
13964	_ struct{} `type:"structure"`
13965
13966	// Identifier of the Managed Microsoft AD or Simple AD directory in which the
13967	// user resides.
13968	//
13969	// DirectoryId is a required field
13970	DirectoryId *string `type:"string" required:"true"`
13971
13972	// The new password that will be reset.
13973	//
13974	// NewPassword is a required field
13975	NewPassword *string `min:"1" type:"string" required:"true" sensitive:"true"`
13976
13977	// The user name of the user whose password will be reset.
13978	//
13979	// UserName is a required field
13980	UserName *string `min:"1" type:"string" required:"true"`
13981}
13982
13983// String returns the string representation
13984func (s ResetUserPasswordInput) String() string {
13985	return awsutil.Prettify(s)
13986}
13987
13988// GoString returns the string representation
13989func (s ResetUserPasswordInput) GoString() string {
13990	return s.String()
13991}
13992
13993// Validate inspects the fields of the type to determine if they are valid.
13994func (s *ResetUserPasswordInput) Validate() error {
13995	invalidParams := request.ErrInvalidParams{Context: "ResetUserPasswordInput"}
13996	if s.DirectoryId == nil {
13997		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
13998	}
13999	if s.NewPassword == nil {
14000		invalidParams.Add(request.NewErrParamRequired("NewPassword"))
14001	}
14002	if s.NewPassword != nil && len(*s.NewPassword) < 1 {
14003		invalidParams.Add(request.NewErrParamMinLen("NewPassword", 1))
14004	}
14005	if s.UserName == nil {
14006		invalidParams.Add(request.NewErrParamRequired("UserName"))
14007	}
14008	if s.UserName != nil && len(*s.UserName) < 1 {
14009		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
14010	}
14011
14012	if invalidParams.Len() > 0 {
14013		return invalidParams
14014	}
14015	return nil
14016}
14017
14018// SetDirectoryId sets the DirectoryId field's value.
14019func (s *ResetUserPasswordInput) SetDirectoryId(v string) *ResetUserPasswordInput {
14020	s.DirectoryId = &v
14021	return s
14022}
14023
14024// SetNewPassword sets the NewPassword field's value.
14025func (s *ResetUserPasswordInput) SetNewPassword(v string) *ResetUserPasswordInput {
14026	s.NewPassword = &v
14027	return s
14028}
14029
14030// SetUserName sets the UserName field's value.
14031func (s *ResetUserPasswordInput) SetUserName(v string) *ResetUserPasswordInput {
14032	s.UserName = &v
14033	return s
14034}
14035
14036type ResetUserPasswordOutput struct {
14037	_ struct{} `type:"structure"`
14038}
14039
14040// String returns the string representation
14041func (s ResetUserPasswordOutput) String() string {
14042	return awsutil.Prettify(s)
14043}
14044
14045// GoString returns the string representation
14046func (s ResetUserPasswordOutput) GoString() string {
14047	return s.String()
14048}
14049
14050// An object representing the inputs for the RestoreFromSnapshot operation.
14051type RestoreFromSnapshotInput struct {
14052	_ struct{} `type:"structure"`
14053
14054	// The identifier of the snapshot to restore from.
14055	//
14056	// SnapshotId is a required field
14057	SnapshotId *string `type:"string" required:"true"`
14058}
14059
14060// String returns the string representation
14061func (s RestoreFromSnapshotInput) String() string {
14062	return awsutil.Prettify(s)
14063}
14064
14065// GoString returns the string representation
14066func (s RestoreFromSnapshotInput) GoString() string {
14067	return s.String()
14068}
14069
14070// Validate inspects the fields of the type to determine if they are valid.
14071func (s *RestoreFromSnapshotInput) Validate() error {
14072	invalidParams := request.ErrInvalidParams{Context: "RestoreFromSnapshotInput"}
14073	if s.SnapshotId == nil {
14074		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
14075	}
14076
14077	if invalidParams.Len() > 0 {
14078		return invalidParams
14079	}
14080	return nil
14081}
14082
14083// SetSnapshotId sets the SnapshotId field's value.
14084func (s *RestoreFromSnapshotInput) SetSnapshotId(v string) *RestoreFromSnapshotInput {
14085	s.SnapshotId = &v
14086	return s
14087}
14088
14089// Contains the results of the RestoreFromSnapshot operation.
14090type RestoreFromSnapshotOutput struct {
14091	_ struct{} `type:"structure"`
14092}
14093
14094// String returns the string representation
14095func (s RestoreFromSnapshotOutput) String() string {
14096	return awsutil.Prettify(s)
14097}
14098
14099// GoString returns the string representation
14100func (s RestoreFromSnapshotOutput) GoString() string {
14101	return s.String()
14102}
14103
14104// Information about a schema extension.
14105type SchemaExtensionInfo struct {
14106	_ struct{} `type:"structure"`
14107
14108	// A description of the schema extension.
14109	Description *string `type:"string"`
14110
14111	// The identifier of the directory to which the schema extension is applied.
14112	DirectoryId *string `type:"string"`
14113
14114	// The date and time that the schema extension was completed.
14115	EndDateTime *time.Time `type:"timestamp"`
14116
14117	// The identifier of the schema extension.
14118	SchemaExtensionId *string `type:"string"`
14119
14120	// The current status of the schema extension.
14121	SchemaExtensionStatus *string `type:"string" enum:"SchemaExtensionStatus"`
14122
14123	// The reason for the SchemaExtensionStatus.
14124	SchemaExtensionStatusReason *string `type:"string"`
14125
14126	// The date and time that the schema extension started being applied to the
14127	// directory.
14128	StartDateTime *time.Time `type:"timestamp"`
14129}
14130
14131// String returns the string representation
14132func (s SchemaExtensionInfo) String() string {
14133	return awsutil.Prettify(s)
14134}
14135
14136// GoString returns the string representation
14137func (s SchemaExtensionInfo) GoString() string {
14138	return s.String()
14139}
14140
14141// SetDescription sets the Description field's value.
14142func (s *SchemaExtensionInfo) SetDescription(v string) *SchemaExtensionInfo {
14143	s.Description = &v
14144	return s
14145}
14146
14147// SetDirectoryId sets the DirectoryId field's value.
14148func (s *SchemaExtensionInfo) SetDirectoryId(v string) *SchemaExtensionInfo {
14149	s.DirectoryId = &v
14150	return s
14151}
14152
14153// SetEndDateTime sets the EndDateTime field's value.
14154func (s *SchemaExtensionInfo) SetEndDateTime(v time.Time) *SchemaExtensionInfo {
14155	s.EndDateTime = &v
14156	return s
14157}
14158
14159// SetSchemaExtensionId sets the SchemaExtensionId field's value.
14160func (s *SchemaExtensionInfo) SetSchemaExtensionId(v string) *SchemaExtensionInfo {
14161	s.SchemaExtensionId = &v
14162	return s
14163}
14164
14165// SetSchemaExtensionStatus sets the SchemaExtensionStatus field's value.
14166func (s *SchemaExtensionInfo) SetSchemaExtensionStatus(v string) *SchemaExtensionInfo {
14167	s.SchemaExtensionStatus = &v
14168	return s
14169}
14170
14171// SetSchemaExtensionStatusReason sets the SchemaExtensionStatusReason field's value.
14172func (s *SchemaExtensionInfo) SetSchemaExtensionStatusReason(v string) *SchemaExtensionInfo {
14173	s.SchemaExtensionStatusReason = &v
14174	return s
14175}
14176
14177// SetStartDateTime sets the StartDateTime field's value.
14178func (s *SchemaExtensionInfo) SetStartDateTime(v time.Time) *SchemaExtensionInfo {
14179	s.StartDateTime = &v
14180	return s
14181}
14182
14183// An exception has occurred in Directory Service.
14184type ServiceException struct {
14185	_            struct{}                  `type:"structure"`
14186	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14187
14188	// The descriptive message for the exception.
14189	Message_ *string `locationName:"Message" type:"string"`
14190
14191	// The Amazon Web Services request identifier.
14192	RequestId *string `type:"string"`
14193}
14194
14195// String returns the string representation
14196func (s ServiceException) String() string {
14197	return awsutil.Prettify(s)
14198}
14199
14200// GoString returns the string representation
14201func (s ServiceException) GoString() string {
14202	return s.String()
14203}
14204
14205func newErrorServiceException(v protocol.ResponseMetadata) error {
14206	return &ServiceException{
14207		RespMetadata: v,
14208	}
14209}
14210
14211// Code returns the exception type name.
14212func (s *ServiceException) Code() string {
14213	return "ServiceException"
14214}
14215
14216// Message returns the exception's message.
14217func (s *ServiceException) Message() string {
14218	if s.Message_ != nil {
14219		return *s.Message_
14220	}
14221	return ""
14222}
14223
14224// OrigErr always returns nil, satisfies awserr.Error interface.
14225func (s *ServiceException) OrigErr() error {
14226	return nil
14227}
14228
14229func (s *ServiceException) Error() string {
14230	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
14231}
14232
14233// Status code returns the HTTP status code for the request's response error.
14234func (s *ServiceException) StatusCode() int {
14235	return s.RespMetadata.StatusCode
14236}
14237
14238// RequestID returns the service's response RequestID for request.
14239func (s *ServiceException) RequestID() string {
14240	return s.RespMetadata.RequestID
14241}
14242
14243type ShareDirectoryInput struct {
14244	_ struct{} `type:"structure"`
14245
14246	// Identifier of the Managed Microsoft AD directory that you want to share with
14247	// other Amazon Web Services accounts.
14248	//
14249	// DirectoryId is a required field
14250	DirectoryId *string `type:"string" required:"true"`
14251
14252	// The method used when sharing a directory to determine whether the directory
14253	// should be shared within your Amazon Web Services organization (ORGANIZATIONS)
14254	// or with any Amazon Web Services account by sending a directory sharing request
14255	// (HANDSHAKE).
14256	//
14257	// ShareMethod is a required field
14258	ShareMethod *string `type:"string" required:"true" enum:"ShareMethod"`
14259
14260	// A directory share request that is sent by the directory owner to the directory
14261	// consumer. The request includes a typed message to help the directory consumer
14262	// administrator determine whether to approve or reject the share invitation.
14263	ShareNotes *string `type:"string" sensitive:"true"`
14264
14265	// Identifier for the directory consumer account with whom the directory is
14266	// to be shared.
14267	//
14268	// ShareTarget is a required field
14269	ShareTarget *ShareTarget `type:"structure" required:"true"`
14270}
14271
14272// String returns the string representation
14273func (s ShareDirectoryInput) String() string {
14274	return awsutil.Prettify(s)
14275}
14276
14277// GoString returns the string representation
14278func (s ShareDirectoryInput) GoString() string {
14279	return s.String()
14280}
14281
14282// Validate inspects the fields of the type to determine if they are valid.
14283func (s *ShareDirectoryInput) Validate() error {
14284	invalidParams := request.ErrInvalidParams{Context: "ShareDirectoryInput"}
14285	if s.DirectoryId == nil {
14286		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
14287	}
14288	if s.ShareMethod == nil {
14289		invalidParams.Add(request.NewErrParamRequired("ShareMethod"))
14290	}
14291	if s.ShareTarget == nil {
14292		invalidParams.Add(request.NewErrParamRequired("ShareTarget"))
14293	}
14294	if s.ShareTarget != nil {
14295		if err := s.ShareTarget.Validate(); err != nil {
14296			invalidParams.AddNested("ShareTarget", err.(request.ErrInvalidParams))
14297		}
14298	}
14299
14300	if invalidParams.Len() > 0 {
14301		return invalidParams
14302	}
14303	return nil
14304}
14305
14306// SetDirectoryId sets the DirectoryId field's value.
14307func (s *ShareDirectoryInput) SetDirectoryId(v string) *ShareDirectoryInput {
14308	s.DirectoryId = &v
14309	return s
14310}
14311
14312// SetShareMethod sets the ShareMethod field's value.
14313func (s *ShareDirectoryInput) SetShareMethod(v string) *ShareDirectoryInput {
14314	s.ShareMethod = &v
14315	return s
14316}
14317
14318// SetShareNotes sets the ShareNotes field's value.
14319func (s *ShareDirectoryInput) SetShareNotes(v string) *ShareDirectoryInput {
14320	s.ShareNotes = &v
14321	return s
14322}
14323
14324// SetShareTarget sets the ShareTarget field's value.
14325func (s *ShareDirectoryInput) SetShareTarget(v *ShareTarget) *ShareDirectoryInput {
14326	s.ShareTarget = v
14327	return s
14328}
14329
14330type ShareDirectoryOutput struct {
14331	_ struct{} `type:"structure"`
14332
14333	// Identifier of the directory that is stored in the directory consumer account
14334	// that is shared from the specified directory (DirectoryId).
14335	SharedDirectoryId *string `type:"string"`
14336}
14337
14338// String returns the string representation
14339func (s ShareDirectoryOutput) String() string {
14340	return awsutil.Prettify(s)
14341}
14342
14343// GoString returns the string representation
14344func (s ShareDirectoryOutput) GoString() string {
14345	return s.String()
14346}
14347
14348// SetSharedDirectoryId sets the SharedDirectoryId field's value.
14349func (s *ShareDirectoryOutput) SetSharedDirectoryId(v string) *ShareDirectoryOutput {
14350	s.SharedDirectoryId = &v
14351	return s
14352}
14353
14354// The maximum number of Amazon Web Services accounts that you can share with
14355// this directory has been reached.
14356type ShareLimitExceededException struct {
14357	_            struct{}                  `type:"structure"`
14358	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14359
14360	// The descriptive message for the exception.
14361	Message_ *string `locationName:"Message" type:"string"`
14362
14363	// The Amazon Web Services request identifier.
14364	RequestId *string `type:"string"`
14365}
14366
14367// String returns the string representation
14368func (s ShareLimitExceededException) String() string {
14369	return awsutil.Prettify(s)
14370}
14371
14372// GoString returns the string representation
14373func (s ShareLimitExceededException) GoString() string {
14374	return s.String()
14375}
14376
14377func newErrorShareLimitExceededException(v protocol.ResponseMetadata) error {
14378	return &ShareLimitExceededException{
14379		RespMetadata: v,
14380	}
14381}
14382
14383// Code returns the exception type name.
14384func (s *ShareLimitExceededException) Code() string {
14385	return "ShareLimitExceededException"
14386}
14387
14388// Message returns the exception's message.
14389func (s *ShareLimitExceededException) Message() string {
14390	if s.Message_ != nil {
14391		return *s.Message_
14392	}
14393	return ""
14394}
14395
14396// OrigErr always returns nil, satisfies awserr.Error interface.
14397func (s *ShareLimitExceededException) OrigErr() error {
14398	return nil
14399}
14400
14401func (s *ShareLimitExceededException) Error() string {
14402	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
14403}
14404
14405// Status code returns the HTTP status code for the request's response error.
14406func (s *ShareLimitExceededException) StatusCode() int {
14407	return s.RespMetadata.StatusCode
14408}
14409
14410// RequestID returns the service's response RequestID for request.
14411func (s *ShareLimitExceededException) RequestID() string {
14412	return s.RespMetadata.RequestID
14413}
14414
14415// Identifier that contains details about the directory consumer account.
14416type ShareTarget struct {
14417	_ struct{} `type:"structure"`
14418
14419	// Identifier of the directory consumer account.
14420	//
14421	// Id is a required field
14422	Id *string `min:"1" type:"string" required:"true"`
14423
14424	// Type of identifier to be used in the Id field.
14425	//
14426	// Type is a required field
14427	Type *string `type:"string" required:"true" enum:"TargetType"`
14428}
14429
14430// String returns the string representation
14431func (s ShareTarget) String() string {
14432	return awsutil.Prettify(s)
14433}
14434
14435// GoString returns the string representation
14436func (s ShareTarget) GoString() string {
14437	return s.String()
14438}
14439
14440// Validate inspects the fields of the type to determine if they are valid.
14441func (s *ShareTarget) Validate() error {
14442	invalidParams := request.ErrInvalidParams{Context: "ShareTarget"}
14443	if s.Id == nil {
14444		invalidParams.Add(request.NewErrParamRequired("Id"))
14445	}
14446	if s.Id != nil && len(*s.Id) < 1 {
14447		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
14448	}
14449	if s.Type == nil {
14450		invalidParams.Add(request.NewErrParamRequired("Type"))
14451	}
14452
14453	if invalidParams.Len() > 0 {
14454		return invalidParams
14455	}
14456	return nil
14457}
14458
14459// SetId sets the Id field's value.
14460func (s *ShareTarget) SetId(v string) *ShareTarget {
14461	s.Id = &v
14462	return s
14463}
14464
14465// SetType sets the Type field's value.
14466func (s *ShareTarget) SetType(v string) *ShareTarget {
14467	s.Type = &v
14468	return s
14469}
14470
14471// Details about the shared directory in the directory owner account for which
14472// the share request in the directory consumer account has been accepted.
14473type SharedDirectory struct {
14474	_ struct{} `type:"structure"`
14475
14476	// The date and time that the shared directory was created.
14477	CreatedDateTime *time.Time `type:"timestamp"`
14478
14479	// The date and time that the shared directory was last updated.
14480	LastUpdatedDateTime *time.Time `type:"timestamp"`
14481
14482	// Identifier of the directory owner account, which contains the directory that
14483	// has been shared to the consumer account.
14484	OwnerAccountId *string `type:"string"`
14485
14486	// Identifier of the directory in the directory owner account.
14487	OwnerDirectoryId *string `type:"string"`
14488
14489	// The method used when sharing a directory to determine whether the directory
14490	// should be shared within your Amazon Web Services organization (ORGANIZATIONS)
14491	// or with any Amazon Web Services account by sending a shared directory request
14492	// (HANDSHAKE).
14493	ShareMethod *string `type:"string" enum:"ShareMethod"`
14494
14495	// A directory share request that is sent by the directory owner to the directory
14496	// consumer. The request includes a typed message to help the directory consumer
14497	// administrator determine whether to approve or reject the share invitation.
14498	ShareNotes *string `type:"string" sensitive:"true"`
14499
14500	// Current directory status of the shared Managed Microsoft AD directory.
14501	ShareStatus *string `type:"string" enum:"ShareStatus"`
14502
14503	// Identifier of the directory consumer account that has access to the shared
14504	// directory (OwnerDirectoryId) in the directory owner account.
14505	SharedAccountId *string `type:"string"`
14506
14507	// Identifier of the shared directory in the directory consumer account. This
14508	// identifier is different for each directory owner account.
14509	SharedDirectoryId *string `type:"string"`
14510}
14511
14512// String returns the string representation
14513func (s SharedDirectory) String() string {
14514	return awsutil.Prettify(s)
14515}
14516
14517// GoString returns the string representation
14518func (s SharedDirectory) GoString() string {
14519	return s.String()
14520}
14521
14522// SetCreatedDateTime sets the CreatedDateTime field's value.
14523func (s *SharedDirectory) SetCreatedDateTime(v time.Time) *SharedDirectory {
14524	s.CreatedDateTime = &v
14525	return s
14526}
14527
14528// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
14529func (s *SharedDirectory) SetLastUpdatedDateTime(v time.Time) *SharedDirectory {
14530	s.LastUpdatedDateTime = &v
14531	return s
14532}
14533
14534// SetOwnerAccountId sets the OwnerAccountId field's value.
14535func (s *SharedDirectory) SetOwnerAccountId(v string) *SharedDirectory {
14536	s.OwnerAccountId = &v
14537	return s
14538}
14539
14540// SetOwnerDirectoryId sets the OwnerDirectoryId field's value.
14541func (s *SharedDirectory) SetOwnerDirectoryId(v string) *SharedDirectory {
14542	s.OwnerDirectoryId = &v
14543	return s
14544}
14545
14546// SetShareMethod sets the ShareMethod field's value.
14547func (s *SharedDirectory) SetShareMethod(v string) *SharedDirectory {
14548	s.ShareMethod = &v
14549	return s
14550}
14551
14552// SetShareNotes sets the ShareNotes field's value.
14553func (s *SharedDirectory) SetShareNotes(v string) *SharedDirectory {
14554	s.ShareNotes = &v
14555	return s
14556}
14557
14558// SetShareStatus sets the ShareStatus field's value.
14559func (s *SharedDirectory) SetShareStatus(v string) *SharedDirectory {
14560	s.ShareStatus = &v
14561	return s
14562}
14563
14564// SetSharedAccountId sets the SharedAccountId field's value.
14565func (s *SharedDirectory) SetSharedAccountId(v string) *SharedDirectory {
14566	s.SharedAccountId = &v
14567	return s
14568}
14569
14570// SetSharedDirectoryId sets the SharedDirectoryId field's value.
14571func (s *SharedDirectory) SetSharedDirectoryId(v string) *SharedDirectory {
14572	s.SharedDirectoryId = &v
14573	return s
14574}
14575
14576// Describes a directory snapshot.
14577type Snapshot struct {
14578	_ struct{} `type:"structure"`
14579
14580	// The directory identifier.
14581	DirectoryId *string `type:"string"`
14582
14583	// The descriptive name of the snapshot.
14584	Name *string `type:"string"`
14585
14586	// The snapshot identifier.
14587	SnapshotId *string `type:"string"`
14588
14589	// The date and time that the snapshot was taken.
14590	StartTime *time.Time `type:"timestamp"`
14591
14592	// The snapshot status.
14593	Status *string `type:"string" enum:"SnapshotStatus"`
14594
14595	// The snapshot type.
14596	Type *string `type:"string" enum:"SnapshotType"`
14597}
14598
14599// String returns the string representation
14600func (s Snapshot) String() string {
14601	return awsutil.Prettify(s)
14602}
14603
14604// GoString returns the string representation
14605func (s Snapshot) GoString() string {
14606	return s.String()
14607}
14608
14609// SetDirectoryId sets the DirectoryId field's value.
14610func (s *Snapshot) SetDirectoryId(v string) *Snapshot {
14611	s.DirectoryId = &v
14612	return s
14613}
14614
14615// SetName sets the Name field's value.
14616func (s *Snapshot) SetName(v string) *Snapshot {
14617	s.Name = &v
14618	return s
14619}
14620
14621// SetSnapshotId sets the SnapshotId field's value.
14622func (s *Snapshot) SetSnapshotId(v string) *Snapshot {
14623	s.SnapshotId = &v
14624	return s
14625}
14626
14627// SetStartTime sets the StartTime field's value.
14628func (s *Snapshot) SetStartTime(v time.Time) *Snapshot {
14629	s.StartTime = &v
14630	return s
14631}
14632
14633// SetStatus sets the Status field's value.
14634func (s *Snapshot) SetStatus(v string) *Snapshot {
14635	s.Status = &v
14636	return s
14637}
14638
14639// SetType sets the Type field's value.
14640func (s *Snapshot) SetType(v string) *Snapshot {
14641	s.Type = &v
14642	return s
14643}
14644
14645// The maximum number of manual snapshots for the directory has been reached.
14646// You can use the GetSnapshotLimits operation to determine the snapshot limits
14647// for a directory.
14648type SnapshotLimitExceededException struct {
14649	_            struct{}                  `type:"structure"`
14650	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14651
14652	// The descriptive message for the exception.
14653	Message_ *string `locationName:"Message" type:"string"`
14654
14655	// The Amazon Web Services request identifier.
14656	RequestId *string `type:"string"`
14657}
14658
14659// String returns the string representation
14660func (s SnapshotLimitExceededException) String() string {
14661	return awsutil.Prettify(s)
14662}
14663
14664// GoString returns the string representation
14665func (s SnapshotLimitExceededException) GoString() string {
14666	return s.String()
14667}
14668
14669func newErrorSnapshotLimitExceededException(v protocol.ResponseMetadata) error {
14670	return &SnapshotLimitExceededException{
14671		RespMetadata: v,
14672	}
14673}
14674
14675// Code returns the exception type name.
14676func (s *SnapshotLimitExceededException) Code() string {
14677	return "SnapshotLimitExceededException"
14678}
14679
14680// Message returns the exception's message.
14681func (s *SnapshotLimitExceededException) Message() string {
14682	if s.Message_ != nil {
14683		return *s.Message_
14684	}
14685	return ""
14686}
14687
14688// OrigErr always returns nil, satisfies awserr.Error interface.
14689func (s *SnapshotLimitExceededException) OrigErr() error {
14690	return nil
14691}
14692
14693func (s *SnapshotLimitExceededException) Error() string {
14694	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
14695}
14696
14697// Status code returns the HTTP status code for the request's response error.
14698func (s *SnapshotLimitExceededException) StatusCode() int {
14699	return s.RespMetadata.StatusCode
14700}
14701
14702// RequestID returns the service's response RequestID for request.
14703func (s *SnapshotLimitExceededException) RequestID() string {
14704	return s.RespMetadata.RequestID
14705}
14706
14707// Contains manual snapshot limit information for a directory.
14708type SnapshotLimits struct {
14709	_ struct{} `type:"structure"`
14710
14711	// The current number of manual snapshots of the directory.
14712	ManualSnapshotsCurrentCount *int64 `type:"integer"`
14713
14714	// The maximum number of manual snapshots allowed.
14715	ManualSnapshotsLimit *int64 `type:"integer"`
14716
14717	// Indicates if the manual snapshot limit has been reached.
14718	ManualSnapshotsLimitReached *bool `type:"boolean"`
14719}
14720
14721// String returns the string representation
14722func (s SnapshotLimits) String() string {
14723	return awsutil.Prettify(s)
14724}
14725
14726// GoString returns the string representation
14727func (s SnapshotLimits) GoString() string {
14728	return s.String()
14729}
14730
14731// SetManualSnapshotsCurrentCount sets the ManualSnapshotsCurrentCount field's value.
14732func (s *SnapshotLimits) SetManualSnapshotsCurrentCount(v int64) *SnapshotLimits {
14733	s.ManualSnapshotsCurrentCount = &v
14734	return s
14735}
14736
14737// SetManualSnapshotsLimit sets the ManualSnapshotsLimit field's value.
14738func (s *SnapshotLimits) SetManualSnapshotsLimit(v int64) *SnapshotLimits {
14739	s.ManualSnapshotsLimit = &v
14740	return s
14741}
14742
14743// SetManualSnapshotsLimitReached sets the ManualSnapshotsLimitReached field's value.
14744func (s *SnapshotLimits) SetManualSnapshotsLimitReached(v bool) *SnapshotLimits {
14745	s.ManualSnapshotsLimitReached = &v
14746	return s
14747}
14748
14749type StartSchemaExtensionInput struct {
14750	_ struct{} `type:"structure"`
14751
14752	// If true, creates a snapshot of the directory before applying the schema extension.
14753	//
14754	// CreateSnapshotBeforeSchemaExtension is a required field
14755	CreateSnapshotBeforeSchemaExtension *bool `type:"boolean" required:"true"`
14756
14757	// A description of the schema extension.
14758	//
14759	// Description is a required field
14760	Description *string `type:"string" required:"true"`
14761
14762	// The identifier of the directory for which the schema extension will be applied
14763	// to.
14764	//
14765	// DirectoryId is a required field
14766	DirectoryId *string `type:"string" required:"true"`
14767
14768	// The LDIF file represented as a string. To construct the LdifContent string,
14769	// precede each line as it would be formatted in an ldif file with \n. See the
14770	// example request below for more details. The file size can be no larger than
14771	// 1MB.
14772	//
14773	// LdifContent is a required field
14774	LdifContent *string `min:"1" type:"string" required:"true"`
14775}
14776
14777// String returns the string representation
14778func (s StartSchemaExtensionInput) String() string {
14779	return awsutil.Prettify(s)
14780}
14781
14782// GoString returns the string representation
14783func (s StartSchemaExtensionInput) GoString() string {
14784	return s.String()
14785}
14786
14787// Validate inspects the fields of the type to determine if they are valid.
14788func (s *StartSchemaExtensionInput) Validate() error {
14789	invalidParams := request.ErrInvalidParams{Context: "StartSchemaExtensionInput"}
14790	if s.CreateSnapshotBeforeSchemaExtension == nil {
14791		invalidParams.Add(request.NewErrParamRequired("CreateSnapshotBeforeSchemaExtension"))
14792	}
14793	if s.Description == nil {
14794		invalidParams.Add(request.NewErrParamRequired("Description"))
14795	}
14796	if s.DirectoryId == nil {
14797		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
14798	}
14799	if s.LdifContent == nil {
14800		invalidParams.Add(request.NewErrParamRequired("LdifContent"))
14801	}
14802	if s.LdifContent != nil && len(*s.LdifContent) < 1 {
14803		invalidParams.Add(request.NewErrParamMinLen("LdifContent", 1))
14804	}
14805
14806	if invalidParams.Len() > 0 {
14807		return invalidParams
14808	}
14809	return nil
14810}
14811
14812// SetCreateSnapshotBeforeSchemaExtension sets the CreateSnapshotBeforeSchemaExtension field's value.
14813func (s *StartSchemaExtensionInput) SetCreateSnapshotBeforeSchemaExtension(v bool) *StartSchemaExtensionInput {
14814	s.CreateSnapshotBeforeSchemaExtension = &v
14815	return s
14816}
14817
14818// SetDescription sets the Description field's value.
14819func (s *StartSchemaExtensionInput) SetDescription(v string) *StartSchemaExtensionInput {
14820	s.Description = &v
14821	return s
14822}
14823
14824// SetDirectoryId sets the DirectoryId field's value.
14825func (s *StartSchemaExtensionInput) SetDirectoryId(v string) *StartSchemaExtensionInput {
14826	s.DirectoryId = &v
14827	return s
14828}
14829
14830// SetLdifContent sets the LdifContent field's value.
14831func (s *StartSchemaExtensionInput) SetLdifContent(v string) *StartSchemaExtensionInput {
14832	s.LdifContent = &v
14833	return s
14834}
14835
14836type StartSchemaExtensionOutput struct {
14837	_ struct{} `type:"structure"`
14838
14839	// The identifier of the schema extension that will be applied.
14840	SchemaExtensionId *string `type:"string"`
14841}
14842
14843// String returns the string representation
14844func (s StartSchemaExtensionOutput) String() string {
14845	return awsutil.Prettify(s)
14846}
14847
14848// GoString returns the string representation
14849func (s StartSchemaExtensionOutput) GoString() string {
14850	return s.String()
14851}
14852
14853// SetSchemaExtensionId sets the SchemaExtensionId field's value.
14854func (s *StartSchemaExtensionOutput) SetSchemaExtensionId(v string) *StartSchemaExtensionOutput {
14855	s.SchemaExtensionId = &v
14856	return s
14857}
14858
14859// Metadata assigned to a directory consisting of a key-value pair.
14860type Tag struct {
14861	_ struct{} `type:"structure"`
14862
14863	// Required name of the tag. The string value can be Unicode characters and
14864	// cannot be prefixed with "aws:". The string can contain only the set of Unicode
14865	// letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
14866	//
14867	// Key is a required field
14868	Key *string `min:"1" type:"string" required:"true"`
14869
14870	// The optional value of the tag. The string value can be Unicode characters.
14871	// The string can contain only the set of Unicode letters, digits, white-space,
14872	// '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
14873	//
14874	// Value is a required field
14875	Value *string `type:"string" required:"true"`
14876}
14877
14878// String returns the string representation
14879func (s Tag) String() string {
14880	return awsutil.Prettify(s)
14881}
14882
14883// GoString returns the string representation
14884func (s Tag) GoString() string {
14885	return s.String()
14886}
14887
14888// Validate inspects the fields of the type to determine if they are valid.
14889func (s *Tag) Validate() error {
14890	invalidParams := request.ErrInvalidParams{Context: "Tag"}
14891	if s.Key == nil {
14892		invalidParams.Add(request.NewErrParamRequired("Key"))
14893	}
14894	if s.Key != nil && len(*s.Key) < 1 {
14895		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
14896	}
14897	if s.Value == nil {
14898		invalidParams.Add(request.NewErrParamRequired("Value"))
14899	}
14900
14901	if invalidParams.Len() > 0 {
14902		return invalidParams
14903	}
14904	return nil
14905}
14906
14907// SetKey sets the Key field's value.
14908func (s *Tag) SetKey(v string) *Tag {
14909	s.Key = &v
14910	return s
14911}
14912
14913// SetValue sets the Value field's value.
14914func (s *Tag) SetValue(v string) *Tag {
14915	s.Value = &v
14916	return s
14917}
14918
14919// The maximum allowed number of tags was exceeded.
14920type TagLimitExceededException struct {
14921	_            struct{}                  `type:"structure"`
14922	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14923
14924	// The descriptive message for the exception.
14925	Message_ *string `locationName:"Message" type:"string"`
14926
14927	// The Amazon Web Services request identifier.
14928	RequestId *string `type:"string"`
14929}
14930
14931// String returns the string representation
14932func (s TagLimitExceededException) String() string {
14933	return awsutil.Prettify(s)
14934}
14935
14936// GoString returns the string representation
14937func (s TagLimitExceededException) GoString() string {
14938	return s.String()
14939}
14940
14941func newErrorTagLimitExceededException(v protocol.ResponseMetadata) error {
14942	return &TagLimitExceededException{
14943		RespMetadata: v,
14944	}
14945}
14946
14947// Code returns the exception type name.
14948func (s *TagLimitExceededException) Code() string {
14949	return "TagLimitExceededException"
14950}
14951
14952// Message returns the exception's message.
14953func (s *TagLimitExceededException) Message() string {
14954	if s.Message_ != nil {
14955		return *s.Message_
14956	}
14957	return ""
14958}
14959
14960// OrigErr always returns nil, satisfies awserr.Error interface.
14961func (s *TagLimitExceededException) OrigErr() error {
14962	return nil
14963}
14964
14965func (s *TagLimitExceededException) Error() string {
14966	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
14967}
14968
14969// Status code returns the HTTP status code for the request's response error.
14970func (s *TagLimitExceededException) StatusCode() int {
14971	return s.RespMetadata.StatusCode
14972}
14973
14974// RequestID returns the service's response RequestID for request.
14975func (s *TagLimitExceededException) RequestID() string {
14976	return s.RespMetadata.RequestID
14977}
14978
14979// Describes a trust relationship between an Managed Microsoft AD directory
14980// and an external domain.
14981type Trust struct {
14982	_ struct{} `type:"structure"`
14983
14984	// The date and time that the trust relationship was created.
14985	CreatedDateTime *time.Time `type:"timestamp"`
14986
14987	// The Directory ID of the Amazon Web Services directory involved in the trust
14988	// relationship.
14989	DirectoryId *string `type:"string"`
14990
14991	// The date and time that the trust relationship was last updated.
14992	LastUpdatedDateTime *time.Time `type:"timestamp"`
14993
14994	// The Fully Qualified Domain Name (FQDN) of the external domain involved in
14995	// the trust relationship.
14996	RemoteDomainName *string `type:"string"`
14997
14998	// Current state of selective authentication for the trust.
14999	SelectiveAuth *string `type:"string" enum:"SelectiveAuth"`
15000
15001	// The date and time that the TrustState was last updated.
15002	StateLastUpdatedDateTime *time.Time `type:"timestamp"`
15003
15004	// The trust relationship direction.
15005	TrustDirection *string `type:"string" enum:"TrustDirection"`
15006
15007	// The unique ID of the trust relationship.
15008	TrustId *string `type:"string"`
15009
15010	// The trust relationship state.
15011	TrustState *string `type:"string" enum:"TrustState"`
15012
15013	// The reason for the TrustState.
15014	TrustStateReason *string `type:"string"`
15015
15016	// The trust relationship type. Forest is the default.
15017	TrustType *string `type:"string" enum:"TrustType"`
15018}
15019
15020// String returns the string representation
15021func (s Trust) String() string {
15022	return awsutil.Prettify(s)
15023}
15024
15025// GoString returns the string representation
15026func (s Trust) GoString() string {
15027	return s.String()
15028}
15029
15030// SetCreatedDateTime sets the CreatedDateTime field's value.
15031func (s *Trust) SetCreatedDateTime(v time.Time) *Trust {
15032	s.CreatedDateTime = &v
15033	return s
15034}
15035
15036// SetDirectoryId sets the DirectoryId field's value.
15037func (s *Trust) SetDirectoryId(v string) *Trust {
15038	s.DirectoryId = &v
15039	return s
15040}
15041
15042// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
15043func (s *Trust) SetLastUpdatedDateTime(v time.Time) *Trust {
15044	s.LastUpdatedDateTime = &v
15045	return s
15046}
15047
15048// SetRemoteDomainName sets the RemoteDomainName field's value.
15049func (s *Trust) SetRemoteDomainName(v string) *Trust {
15050	s.RemoteDomainName = &v
15051	return s
15052}
15053
15054// SetSelectiveAuth sets the SelectiveAuth field's value.
15055func (s *Trust) SetSelectiveAuth(v string) *Trust {
15056	s.SelectiveAuth = &v
15057	return s
15058}
15059
15060// SetStateLastUpdatedDateTime sets the StateLastUpdatedDateTime field's value.
15061func (s *Trust) SetStateLastUpdatedDateTime(v time.Time) *Trust {
15062	s.StateLastUpdatedDateTime = &v
15063	return s
15064}
15065
15066// SetTrustDirection sets the TrustDirection field's value.
15067func (s *Trust) SetTrustDirection(v string) *Trust {
15068	s.TrustDirection = &v
15069	return s
15070}
15071
15072// SetTrustId sets the TrustId field's value.
15073func (s *Trust) SetTrustId(v string) *Trust {
15074	s.TrustId = &v
15075	return s
15076}
15077
15078// SetTrustState sets the TrustState field's value.
15079func (s *Trust) SetTrustState(v string) *Trust {
15080	s.TrustState = &v
15081	return s
15082}
15083
15084// SetTrustStateReason sets the TrustStateReason field's value.
15085func (s *Trust) SetTrustStateReason(v string) *Trust {
15086	s.TrustStateReason = &v
15087	return s
15088}
15089
15090// SetTrustType sets the TrustType field's value.
15091func (s *Trust) SetTrustType(v string) *Trust {
15092	s.TrustType = &v
15093	return s
15094}
15095
15096type UnshareDirectoryInput struct {
15097	_ struct{} `type:"structure"`
15098
15099	// The identifier of the Managed Microsoft AD directory that you want to stop
15100	// sharing.
15101	//
15102	// DirectoryId is a required field
15103	DirectoryId *string `type:"string" required:"true"`
15104
15105	// Identifier for the directory consumer account with whom the directory has
15106	// to be unshared.
15107	//
15108	// UnshareTarget is a required field
15109	UnshareTarget *UnshareTarget `type:"structure" required:"true"`
15110}
15111
15112// String returns the string representation
15113func (s UnshareDirectoryInput) String() string {
15114	return awsutil.Prettify(s)
15115}
15116
15117// GoString returns the string representation
15118func (s UnshareDirectoryInput) GoString() string {
15119	return s.String()
15120}
15121
15122// Validate inspects the fields of the type to determine if they are valid.
15123func (s *UnshareDirectoryInput) Validate() error {
15124	invalidParams := request.ErrInvalidParams{Context: "UnshareDirectoryInput"}
15125	if s.DirectoryId == nil {
15126		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
15127	}
15128	if s.UnshareTarget == nil {
15129		invalidParams.Add(request.NewErrParamRequired("UnshareTarget"))
15130	}
15131	if s.UnshareTarget != nil {
15132		if err := s.UnshareTarget.Validate(); err != nil {
15133			invalidParams.AddNested("UnshareTarget", err.(request.ErrInvalidParams))
15134		}
15135	}
15136
15137	if invalidParams.Len() > 0 {
15138		return invalidParams
15139	}
15140	return nil
15141}
15142
15143// SetDirectoryId sets the DirectoryId field's value.
15144func (s *UnshareDirectoryInput) SetDirectoryId(v string) *UnshareDirectoryInput {
15145	s.DirectoryId = &v
15146	return s
15147}
15148
15149// SetUnshareTarget sets the UnshareTarget field's value.
15150func (s *UnshareDirectoryInput) SetUnshareTarget(v *UnshareTarget) *UnshareDirectoryInput {
15151	s.UnshareTarget = v
15152	return s
15153}
15154
15155type UnshareDirectoryOutput struct {
15156	_ struct{} `type:"structure"`
15157
15158	// Identifier of the directory stored in the directory consumer account that
15159	// is to be unshared from the specified directory (DirectoryId).
15160	SharedDirectoryId *string `type:"string"`
15161}
15162
15163// String returns the string representation
15164func (s UnshareDirectoryOutput) String() string {
15165	return awsutil.Prettify(s)
15166}
15167
15168// GoString returns the string representation
15169func (s UnshareDirectoryOutput) GoString() string {
15170	return s.String()
15171}
15172
15173// SetSharedDirectoryId sets the SharedDirectoryId field's value.
15174func (s *UnshareDirectoryOutput) SetSharedDirectoryId(v string) *UnshareDirectoryOutput {
15175	s.SharedDirectoryId = &v
15176	return s
15177}
15178
15179// Identifier that contains details about the directory consumer account with
15180// whom the directory is being unshared.
15181type UnshareTarget struct {
15182	_ struct{} `type:"structure"`
15183
15184	// Identifier of the directory consumer account.
15185	//
15186	// Id is a required field
15187	Id *string `min:"1" type:"string" required:"true"`
15188
15189	// Type of identifier to be used in the Id field.
15190	//
15191	// Type is a required field
15192	Type *string `type:"string" required:"true" enum:"TargetType"`
15193}
15194
15195// String returns the string representation
15196func (s UnshareTarget) String() string {
15197	return awsutil.Prettify(s)
15198}
15199
15200// GoString returns the string representation
15201func (s UnshareTarget) GoString() string {
15202	return s.String()
15203}
15204
15205// Validate inspects the fields of the type to determine if they are valid.
15206func (s *UnshareTarget) Validate() error {
15207	invalidParams := request.ErrInvalidParams{Context: "UnshareTarget"}
15208	if s.Id == nil {
15209		invalidParams.Add(request.NewErrParamRequired("Id"))
15210	}
15211	if s.Id != nil && len(*s.Id) < 1 {
15212		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
15213	}
15214	if s.Type == nil {
15215		invalidParams.Add(request.NewErrParamRequired("Type"))
15216	}
15217
15218	if invalidParams.Len() > 0 {
15219		return invalidParams
15220	}
15221	return nil
15222}
15223
15224// SetId sets the Id field's value.
15225func (s *UnshareTarget) SetId(v string) *UnshareTarget {
15226	s.Id = &v
15227	return s
15228}
15229
15230// SetType sets the Type field's value.
15231func (s *UnshareTarget) SetType(v string) *UnshareTarget {
15232	s.Type = &v
15233	return s
15234}
15235
15236// The operation is not supported.
15237type UnsupportedOperationException struct {
15238	_            struct{}                  `type:"structure"`
15239	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15240
15241	// The descriptive message for the exception.
15242	Message_ *string `locationName:"Message" type:"string"`
15243
15244	// The Amazon Web Services request identifier.
15245	RequestId *string `type:"string"`
15246}
15247
15248// String returns the string representation
15249func (s UnsupportedOperationException) String() string {
15250	return awsutil.Prettify(s)
15251}
15252
15253// GoString returns the string representation
15254func (s UnsupportedOperationException) GoString() string {
15255	return s.String()
15256}
15257
15258func newErrorUnsupportedOperationException(v protocol.ResponseMetadata) error {
15259	return &UnsupportedOperationException{
15260		RespMetadata: v,
15261	}
15262}
15263
15264// Code returns the exception type name.
15265func (s *UnsupportedOperationException) Code() string {
15266	return "UnsupportedOperationException"
15267}
15268
15269// Message returns the exception's message.
15270func (s *UnsupportedOperationException) Message() string {
15271	if s.Message_ != nil {
15272		return *s.Message_
15273	}
15274	return ""
15275}
15276
15277// OrigErr always returns nil, satisfies awserr.Error interface.
15278func (s *UnsupportedOperationException) OrigErr() error {
15279	return nil
15280}
15281
15282func (s *UnsupportedOperationException) Error() string {
15283	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
15284}
15285
15286// Status code returns the HTTP status code for the request's response error.
15287func (s *UnsupportedOperationException) StatusCode() int {
15288	return s.RespMetadata.StatusCode
15289}
15290
15291// RequestID returns the service's response RequestID for request.
15292func (s *UnsupportedOperationException) RequestID() string {
15293	return s.RespMetadata.RequestID
15294}
15295
15296// Updates a conditional forwarder.
15297type UpdateConditionalForwarderInput struct {
15298	_ struct{} `type:"structure"`
15299
15300	// The directory ID of the Amazon Web Services directory for which to update
15301	// the conditional forwarder.
15302	//
15303	// DirectoryId is a required field
15304	DirectoryId *string `type:"string" required:"true"`
15305
15306	// The updated IP addresses of the remote DNS server associated with the conditional
15307	// forwarder.
15308	//
15309	// DnsIpAddrs is a required field
15310	DnsIpAddrs []*string `type:"list" required:"true"`
15311
15312	// The fully qualified domain name (FQDN) of the remote domain with which you
15313	// will set up a trust relationship.
15314	//
15315	// RemoteDomainName is a required field
15316	RemoteDomainName *string `type:"string" required:"true"`
15317}
15318
15319// String returns the string representation
15320func (s UpdateConditionalForwarderInput) String() string {
15321	return awsutil.Prettify(s)
15322}
15323
15324// GoString returns the string representation
15325func (s UpdateConditionalForwarderInput) GoString() string {
15326	return s.String()
15327}
15328
15329// Validate inspects the fields of the type to determine if they are valid.
15330func (s *UpdateConditionalForwarderInput) Validate() error {
15331	invalidParams := request.ErrInvalidParams{Context: "UpdateConditionalForwarderInput"}
15332	if s.DirectoryId == nil {
15333		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
15334	}
15335	if s.DnsIpAddrs == nil {
15336		invalidParams.Add(request.NewErrParamRequired("DnsIpAddrs"))
15337	}
15338	if s.RemoteDomainName == nil {
15339		invalidParams.Add(request.NewErrParamRequired("RemoteDomainName"))
15340	}
15341
15342	if invalidParams.Len() > 0 {
15343		return invalidParams
15344	}
15345	return nil
15346}
15347
15348// SetDirectoryId sets the DirectoryId field's value.
15349func (s *UpdateConditionalForwarderInput) SetDirectoryId(v string) *UpdateConditionalForwarderInput {
15350	s.DirectoryId = &v
15351	return s
15352}
15353
15354// SetDnsIpAddrs sets the DnsIpAddrs field's value.
15355func (s *UpdateConditionalForwarderInput) SetDnsIpAddrs(v []*string) *UpdateConditionalForwarderInput {
15356	s.DnsIpAddrs = v
15357	return s
15358}
15359
15360// SetRemoteDomainName sets the RemoteDomainName field's value.
15361func (s *UpdateConditionalForwarderInput) SetRemoteDomainName(v string) *UpdateConditionalForwarderInput {
15362	s.RemoteDomainName = &v
15363	return s
15364}
15365
15366// The result of an UpdateConditionalForwarder request.
15367type UpdateConditionalForwarderOutput struct {
15368	_ struct{} `type:"structure"`
15369}
15370
15371// String returns the string representation
15372func (s UpdateConditionalForwarderOutput) String() string {
15373	return awsutil.Prettify(s)
15374}
15375
15376// GoString returns the string representation
15377func (s UpdateConditionalForwarderOutput) GoString() string {
15378	return s.String()
15379}
15380
15381type UpdateNumberOfDomainControllersInput struct {
15382	_ struct{} `type:"structure"`
15383
15384	// The number of domain controllers desired in the directory.
15385	//
15386	// DesiredNumber is a required field
15387	DesiredNumber *int64 `min:"2" type:"integer" required:"true"`
15388
15389	// Identifier of the directory to which the domain controllers will be added
15390	// or removed.
15391	//
15392	// DirectoryId is a required field
15393	DirectoryId *string `type:"string" required:"true"`
15394}
15395
15396// String returns the string representation
15397func (s UpdateNumberOfDomainControllersInput) String() string {
15398	return awsutil.Prettify(s)
15399}
15400
15401// GoString returns the string representation
15402func (s UpdateNumberOfDomainControllersInput) GoString() string {
15403	return s.String()
15404}
15405
15406// Validate inspects the fields of the type to determine if they are valid.
15407func (s *UpdateNumberOfDomainControllersInput) Validate() error {
15408	invalidParams := request.ErrInvalidParams{Context: "UpdateNumberOfDomainControllersInput"}
15409	if s.DesiredNumber == nil {
15410		invalidParams.Add(request.NewErrParamRequired("DesiredNumber"))
15411	}
15412	if s.DesiredNumber != nil && *s.DesiredNumber < 2 {
15413		invalidParams.Add(request.NewErrParamMinValue("DesiredNumber", 2))
15414	}
15415	if s.DirectoryId == nil {
15416		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
15417	}
15418
15419	if invalidParams.Len() > 0 {
15420		return invalidParams
15421	}
15422	return nil
15423}
15424
15425// SetDesiredNumber sets the DesiredNumber field's value.
15426func (s *UpdateNumberOfDomainControllersInput) SetDesiredNumber(v int64) *UpdateNumberOfDomainControllersInput {
15427	s.DesiredNumber = &v
15428	return s
15429}
15430
15431// SetDirectoryId sets the DirectoryId field's value.
15432func (s *UpdateNumberOfDomainControllersInput) SetDirectoryId(v string) *UpdateNumberOfDomainControllersInput {
15433	s.DirectoryId = &v
15434	return s
15435}
15436
15437type UpdateNumberOfDomainControllersOutput struct {
15438	_ struct{} `type:"structure"`
15439}
15440
15441// String returns the string representation
15442func (s UpdateNumberOfDomainControllersOutput) String() string {
15443	return awsutil.Prettify(s)
15444}
15445
15446// GoString returns the string representation
15447func (s UpdateNumberOfDomainControllersOutput) GoString() string {
15448	return s.String()
15449}
15450
15451// Contains the inputs for the UpdateRadius operation.
15452type UpdateRadiusInput struct {
15453	_ struct{} `type:"structure"`
15454
15455	// The identifier of the directory for which to update the RADIUS server information.
15456	//
15457	// DirectoryId is a required field
15458	DirectoryId *string `type:"string" required:"true"`
15459
15460	// A RadiusSettings object that contains information about the RADIUS server.
15461	//
15462	// RadiusSettings is a required field
15463	RadiusSettings *RadiusSettings `type:"structure" required:"true"`
15464}
15465
15466// String returns the string representation
15467func (s UpdateRadiusInput) String() string {
15468	return awsutil.Prettify(s)
15469}
15470
15471// GoString returns the string representation
15472func (s UpdateRadiusInput) GoString() string {
15473	return s.String()
15474}
15475
15476// Validate inspects the fields of the type to determine if they are valid.
15477func (s *UpdateRadiusInput) Validate() error {
15478	invalidParams := request.ErrInvalidParams{Context: "UpdateRadiusInput"}
15479	if s.DirectoryId == nil {
15480		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
15481	}
15482	if s.RadiusSettings == nil {
15483		invalidParams.Add(request.NewErrParamRequired("RadiusSettings"))
15484	}
15485	if s.RadiusSettings != nil {
15486		if err := s.RadiusSettings.Validate(); err != nil {
15487			invalidParams.AddNested("RadiusSettings", err.(request.ErrInvalidParams))
15488		}
15489	}
15490
15491	if invalidParams.Len() > 0 {
15492		return invalidParams
15493	}
15494	return nil
15495}
15496
15497// SetDirectoryId sets the DirectoryId field's value.
15498func (s *UpdateRadiusInput) SetDirectoryId(v string) *UpdateRadiusInput {
15499	s.DirectoryId = &v
15500	return s
15501}
15502
15503// SetRadiusSettings sets the RadiusSettings field's value.
15504func (s *UpdateRadiusInput) SetRadiusSettings(v *RadiusSettings) *UpdateRadiusInput {
15505	s.RadiusSettings = v
15506	return s
15507}
15508
15509// Contains the results of the UpdateRadius operation.
15510type UpdateRadiusOutput struct {
15511	_ struct{} `type:"structure"`
15512}
15513
15514// String returns the string representation
15515func (s UpdateRadiusOutput) String() string {
15516	return awsutil.Prettify(s)
15517}
15518
15519// GoString returns the string representation
15520func (s UpdateRadiusOutput) GoString() string {
15521	return s.String()
15522}
15523
15524type UpdateTrustInput struct {
15525	_ struct{} `type:"structure"`
15526
15527	// Updates selective authentication for the trust.
15528	SelectiveAuth *string `type:"string" enum:"SelectiveAuth"`
15529
15530	// Identifier of the trust relationship.
15531	//
15532	// TrustId is a required field
15533	TrustId *string `type:"string" required:"true"`
15534}
15535
15536// String returns the string representation
15537func (s UpdateTrustInput) String() string {
15538	return awsutil.Prettify(s)
15539}
15540
15541// GoString returns the string representation
15542func (s UpdateTrustInput) GoString() string {
15543	return s.String()
15544}
15545
15546// Validate inspects the fields of the type to determine if they are valid.
15547func (s *UpdateTrustInput) Validate() error {
15548	invalidParams := request.ErrInvalidParams{Context: "UpdateTrustInput"}
15549	if s.TrustId == nil {
15550		invalidParams.Add(request.NewErrParamRequired("TrustId"))
15551	}
15552
15553	if invalidParams.Len() > 0 {
15554		return invalidParams
15555	}
15556	return nil
15557}
15558
15559// SetSelectiveAuth sets the SelectiveAuth field's value.
15560func (s *UpdateTrustInput) SetSelectiveAuth(v string) *UpdateTrustInput {
15561	s.SelectiveAuth = &v
15562	return s
15563}
15564
15565// SetTrustId sets the TrustId field's value.
15566func (s *UpdateTrustInput) SetTrustId(v string) *UpdateTrustInput {
15567	s.TrustId = &v
15568	return s
15569}
15570
15571type UpdateTrustOutput struct {
15572	_ struct{} `type:"structure"`
15573
15574	// The Amazon Web Services request identifier.
15575	RequestId *string `type:"string"`
15576
15577	// Identifier of the trust relationship.
15578	TrustId *string `type:"string"`
15579}
15580
15581// String returns the string representation
15582func (s UpdateTrustOutput) String() string {
15583	return awsutil.Prettify(s)
15584}
15585
15586// GoString returns the string representation
15587func (s UpdateTrustOutput) GoString() string {
15588	return s.String()
15589}
15590
15591// SetRequestId sets the RequestId field's value.
15592func (s *UpdateTrustOutput) SetRequestId(v string) *UpdateTrustOutput {
15593	s.RequestId = &v
15594	return s
15595}
15596
15597// SetTrustId sets the TrustId field's value.
15598func (s *UpdateTrustOutput) SetTrustId(v string) *UpdateTrustOutput {
15599	s.TrustId = &v
15600	return s
15601}
15602
15603// The user provided a username that does not exist in your directory.
15604type UserDoesNotExistException struct {
15605	_            struct{}                  `type:"structure"`
15606	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15607
15608	// The descriptive message for the exception.
15609	Message_ *string `locationName:"Message" type:"string"`
15610
15611	// The Amazon Web Services request identifier.
15612	RequestId *string `type:"string"`
15613}
15614
15615// String returns the string representation
15616func (s UserDoesNotExistException) String() string {
15617	return awsutil.Prettify(s)
15618}
15619
15620// GoString returns the string representation
15621func (s UserDoesNotExistException) GoString() string {
15622	return s.String()
15623}
15624
15625func newErrorUserDoesNotExistException(v protocol.ResponseMetadata) error {
15626	return &UserDoesNotExistException{
15627		RespMetadata: v,
15628	}
15629}
15630
15631// Code returns the exception type name.
15632func (s *UserDoesNotExistException) Code() string {
15633	return "UserDoesNotExistException"
15634}
15635
15636// Message returns the exception's message.
15637func (s *UserDoesNotExistException) Message() string {
15638	if s.Message_ != nil {
15639		return *s.Message_
15640	}
15641	return ""
15642}
15643
15644// OrigErr always returns nil, satisfies awserr.Error interface.
15645func (s *UserDoesNotExistException) OrigErr() error {
15646	return nil
15647}
15648
15649func (s *UserDoesNotExistException) Error() string {
15650	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
15651}
15652
15653// Status code returns the HTTP status code for the request's response error.
15654func (s *UserDoesNotExistException) StatusCode() int {
15655	return s.RespMetadata.StatusCode
15656}
15657
15658// RequestID returns the service's response RequestID for request.
15659func (s *UserDoesNotExistException) RequestID() string {
15660	return s.RespMetadata.RequestID
15661}
15662
15663// Initiates the verification of an existing trust relationship between an Managed
15664// Microsoft AD directory and an external domain.
15665type VerifyTrustInput struct {
15666	_ struct{} `type:"structure"`
15667
15668	// The unique Trust ID of the trust relationship to verify.
15669	//
15670	// TrustId is a required field
15671	TrustId *string `type:"string" required:"true"`
15672}
15673
15674// String returns the string representation
15675func (s VerifyTrustInput) String() string {
15676	return awsutil.Prettify(s)
15677}
15678
15679// GoString returns the string representation
15680func (s VerifyTrustInput) GoString() string {
15681	return s.String()
15682}
15683
15684// Validate inspects the fields of the type to determine if they are valid.
15685func (s *VerifyTrustInput) Validate() error {
15686	invalidParams := request.ErrInvalidParams{Context: "VerifyTrustInput"}
15687	if s.TrustId == nil {
15688		invalidParams.Add(request.NewErrParamRequired("TrustId"))
15689	}
15690
15691	if invalidParams.Len() > 0 {
15692		return invalidParams
15693	}
15694	return nil
15695}
15696
15697// SetTrustId sets the TrustId field's value.
15698func (s *VerifyTrustInput) SetTrustId(v string) *VerifyTrustInput {
15699	s.TrustId = &v
15700	return s
15701}
15702
15703// Result of a VerifyTrust request.
15704type VerifyTrustOutput struct {
15705	_ struct{} `type:"structure"`
15706
15707	// The unique Trust ID of the trust relationship that was verified.
15708	TrustId *string `type:"string"`
15709}
15710
15711// String returns the string representation
15712func (s VerifyTrustOutput) String() string {
15713	return awsutil.Prettify(s)
15714}
15715
15716// GoString returns the string representation
15717func (s VerifyTrustOutput) GoString() string {
15718	return s.String()
15719}
15720
15721// SetTrustId sets the TrustId field's value.
15722func (s *VerifyTrustOutput) SetTrustId(v string) *VerifyTrustOutput {
15723	s.TrustId = &v
15724	return s
15725}
15726
15727const (
15728	// CertificateStateRegistering is a CertificateState enum value
15729	CertificateStateRegistering = "Registering"
15730
15731	// CertificateStateRegistered is a CertificateState enum value
15732	CertificateStateRegistered = "Registered"
15733
15734	// CertificateStateRegisterFailed is a CertificateState enum value
15735	CertificateStateRegisterFailed = "RegisterFailed"
15736
15737	// CertificateStateDeregistering is a CertificateState enum value
15738	CertificateStateDeregistering = "Deregistering"
15739
15740	// CertificateStateDeregistered is a CertificateState enum value
15741	CertificateStateDeregistered = "Deregistered"
15742
15743	// CertificateStateDeregisterFailed is a CertificateState enum value
15744	CertificateStateDeregisterFailed = "DeregisterFailed"
15745)
15746
15747// CertificateState_Values returns all elements of the CertificateState enum
15748func CertificateState_Values() []string {
15749	return []string{
15750		CertificateStateRegistering,
15751		CertificateStateRegistered,
15752		CertificateStateRegisterFailed,
15753		CertificateStateDeregistering,
15754		CertificateStateDeregistered,
15755		CertificateStateDeregisterFailed,
15756	}
15757}
15758
15759const (
15760	// CertificateTypeClientCertAuth is a CertificateType enum value
15761	CertificateTypeClientCertAuth = "ClientCertAuth"
15762
15763	// CertificateTypeClientLdaps is a CertificateType enum value
15764	CertificateTypeClientLdaps = "ClientLDAPS"
15765)
15766
15767// CertificateType_Values returns all elements of the CertificateType enum
15768func CertificateType_Values() []string {
15769	return []string{
15770		CertificateTypeClientCertAuth,
15771		CertificateTypeClientLdaps,
15772	}
15773}
15774
15775const (
15776	// ClientAuthenticationStatusEnabled is a ClientAuthenticationStatus enum value
15777	ClientAuthenticationStatusEnabled = "Enabled"
15778
15779	// ClientAuthenticationStatusDisabled is a ClientAuthenticationStatus enum value
15780	ClientAuthenticationStatusDisabled = "Disabled"
15781)
15782
15783// ClientAuthenticationStatus_Values returns all elements of the ClientAuthenticationStatus enum
15784func ClientAuthenticationStatus_Values() []string {
15785	return []string{
15786		ClientAuthenticationStatusEnabled,
15787		ClientAuthenticationStatusDisabled,
15788	}
15789}
15790
15791const (
15792	// ClientAuthenticationTypeSmartCard is a ClientAuthenticationType enum value
15793	ClientAuthenticationTypeSmartCard = "SmartCard"
15794)
15795
15796// ClientAuthenticationType_Values returns all elements of the ClientAuthenticationType enum
15797func ClientAuthenticationType_Values() []string {
15798	return []string{
15799		ClientAuthenticationTypeSmartCard,
15800	}
15801}
15802
15803const (
15804	// DirectoryEditionEnterprise is a DirectoryEdition enum value
15805	DirectoryEditionEnterprise = "Enterprise"
15806
15807	// DirectoryEditionStandard is a DirectoryEdition enum value
15808	DirectoryEditionStandard = "Standard"
15809)
15810
15811// DirectoryEdition_Values returns all elements of the DirectoryEdition enum
15812func DirectoryEdition_Values() []string {
15813	return []string{
15814		DirectoryEditionEnterprise,
15815		DirectoryEditionStandard,
15816	}
15817}
15818
15819const (
15820	// DirectorySizeSmall is a DirectorySize enum value
15821	DirectorySizeSmall = "Small"
15822
15823	// DirectorySizeLarge is a DirectorySize enum value
15824	DirectorySizeLarge = "Large"
15825)
15826
15827// DirectorySize_Values returns all elements of the DirectorySize enum
15828func DirectorySize_Values() []string {
15829	return []string{
15830		DirectorySizeSmall,
15831		DirectorySizeLarge,
15832	}
15833}
15834
15835const (
15836	// DirectoryStageRequested is a DirectoryStage enum value
15837	DirectoryStageRequested = "Requested"
15838
15839	// DirectoryStageCreating is a DirectoryStage enum value
15840	DirectoryStageCreating = "Creating"
15841
15842	// DirectoryStageCreated is a DirectoryStage enum value
15843	DirectoryStageCreated = "Created"
15844
15845	// DirectoryStageActive is a DirectoryStage enum value
15846	DirectoryStageActive = "Active"
15847
15848	// DirectoryStageInoperable is a DirectoryStage enum value
15849	DirectoryStageInoperable = "Inoperable"
15850
15851	// DirectoryStageImpaired is a DirectoryStage enum value
15852	DirectoryStageImpaired = "Impaired"
15853
15854	// DirectoryStageRestoring is a DirectoryStage enum value
15855	DirectoryStageRestoring = "Restoring"
15856
15857	// DirectoryStageRestoreFailed is a DirectoryStage enum value
15858	DirectoryStageRestoreFailed = "RestoreFailed"
15859
15860	// DirectoryStageDeleting is a DirectoryStage enum value
15861	DirectoryStageDeleting = "Deleting"
15862
15863	// DirectoryStageDeleted is a DirectoryStage enum value
15864	DirectoryStageDeleted = "Deleted"
15865
15866	// DirectoryStageFailed is a DirectoryStage enum value
15867	DirectoryStageFailed = "Failed"
15868)
15869
15870// DirectoryStage_Values returns all elements of the DirectoryStage enum
15871func DirectoryStage_Values() []string {
15872	return []string{
15873		DirectoryStageRequested,
15874		DirectoryStageCreating,
15875		DirectoryStageCreated,
15876		DirectoryStageActive,
15877		DirectoryStageInoperable,
15878		DirectoryStageImpaired,
15879		DirectoryStageRestoring,
15880		DirectoryStageRestoreFailed,
15881		DirectoryStageDeleting,
15882		DirectoryStageDeleted,
15883		DirectoryStageFailed,
15884	}
15885}
15886
15887const (
15888	// DirectoryTypeSimpleAd is a DirectoryType enum value
15889	DirectoryTypeSimpleAd = "SimpleAD"
15890
15891	// DirectoryTypeAdconnector is a DirectoryType enum value
15892	DirectoryTypeAdconnector = "ADConnector"
15893
15894	// DirectoryTypeMicrosoftAd is a DirectoryType enum value
15895	DirectoryTypeMicrosoftAd = "MicrosoftAD"
15896
15897	// DirectoryTypeSharedMicrosoftAd is a DirectoryType enum value
15898	DirectoryTypeSharedMicrosoftAd = "SharedMicrosoftAD"
15899)
15900
15901// DirectoryType_Values returns all elements of the DirectoryType enum
15902func DirectoryType_Values() []string {
15903	return []string{
15904		DirectoryTypeSimpleAd,
15905		DirectoryTypeAdconnector,
15906		DirectoryTypeMicrosoftAd,
15907		DirectoryTypeSharedMicrosoftAd,
15908	}
15909}
15910
15911const (
15912	// DomainControllerStatusCreating is a DomainControllerStatus enum value
15913	DomainControllerStatusCreating = "Creating"
15914
15915	// DomainControllerStatusActive is a DomainControllerStatus enum value
15916	DomainControllerStatusActive = "Active"
15917
15918	// DomainControllerStatusImpaired is a DomainControllerStatus enum value
15919	DomainControllerStatusImpaired = "Impaired"
15920
15921	// DomainControllerStatusRestoring is a DomainControllerStatus enum value
15922	DomainControllerStatusRestoring = "Restoring"
15923
15924	// DomainControllerStatusDeleting is a DomainControllerStatus enum value
15925	DomainControllerStatusDeleting = "Deleting"
15926
15927	// DomainControllerStatusDeleted is a DomainControllerStatus enum value
15928	DomainControllerStatusDeleted = "Deleted"
15929
15930	// DomainControllerStatusFailed is a DomainControllerStatus enum value
15931	DomainControllerStatusFailed = "Failed"
15932)
15933
15934// DomainControllerStatus_Values returns all elements of the DomainControllerStatus enum
15935func DomainControllerStatus_Values() []string {
15936	return []string{
15937		DomainControllerStatusCreating,
15938		DomainControllerStatusActive,
15939		DomainControllerStatusImpaired,
15940		DomainControllerStatusRestoring,
15941		DomainControllerStatusDeleting,
15942		DomainControllerStatusDeleted,
15943		DomainControllerStatusFailed,
15944	}
15945}
15946
15947const (
15948	// IpRouteStatusMsgAdding is a IpRouteStatusMsg enum value
15949	IpRouteStatusMsgAdding = "Adding"
15950
15951	// IpRouteStatusMsgAdded is a IpRouteStatusMsg enum value
15952	IpRouteStatusMsgAdded = "Added"
15953
15954	// IpRouteStatusMsgRemoving is a IpRouteStatusMsg enum value
15955	IpRouteStatusMsgRemoving = "Removing"
15956
15957	// IpRouteStatusMsgRemoved is a IpRouteStatusMsg enum value
15958	IpRouteStatusMsgRemoved = "Removed"
15959
15960	// IpRouteStatusMsgAddFailed is a IpRouteStatusMsg enum value
15961	IpRouteStatusMsgAddFailed = "AddFailed"
15962
15963	// IpRouteStatusMsgRemoveFailed is a IpRouteStatusMsg enum value
15964	IpRouteStatusMsgRemoveFailed = "RemoveFailed"
15965)
15966
15967// IpRouteStatusMsg_Values returns all elements of the IpRouteStatusMsg enum
15968func IpRouteStatusMsg_Values() []string {
15969	return []string{
15970		IpRouteStatusMsgAdding,
15971		IpRouteStatusMsgAdded,
15972		IpRouteStatusMsgRemoving,
15973		IpRouteStatusMsgRemoved,
15974		IpRouteStatusMsgAddFailed,
15975		IpRouteStatusMsgRemoveFailed,
15976	}
15977}
15978
15979const (
15980	// LDAPSStatusEnabling is a LDAPSStatus enum value
15981	LDAPSStatusEnabling = "Enabling"
15982
15983	// LDAPSStatusEnabled is a LDAPSStatus enum value
15984	LDAPSStatusEnabled = "Enabled"
15985
15986	// LDAPSStatusEnableFailed is a LDAPSStatus enum value
15987	LDAPSStatusEnableFailed = "EnableFailed"
15988
15989	// LDAPSStatusDisabled is a LDAPSStatus enum value
15990	LDAPSStatusDisabled = "Disabled"
15991)
15992
15993// LDAPSStatus_Values returns all elements of the LDAPSStatus enum
15994func LDAPSStatus_Values() []string {
15995	return []string{
15996		LDAPSStatusEnabling,
15997		LDAPSStatusEnabled,
15998		LDAPSStatusEnableFailed,
15999		LDAPSStatusDisabled,
16000	}
16001}
16002
16003const (
16004	// LDAPSTypeClient is a LDAPSType enum value
16005	LDAPSTypeClient = "Client"
16006)
16007
16008// LDAPSType_Values returns all elements of the LDAPSType enum
16009func LDAPSType_Values() []string {
16010	return []string{
16011		LDAPSTypeClient,
16012	}
16013}
16014
16015const (
16016	// RadiusAuthenticationProtocolPap is a RadiusAuthenticationProtocol enum value
16017	RadiusAuthenticationProtocolPap = "PAP"
16018
16019	// RadiusAuthenticationProtocolChap is a RadiusAuthenticationProtocol enum value
16020	RadiusAuthenticationProtocolChap = "CHAP"
16021
16022	// RadiusAuthenticationProtocolMsChapv1 is a RadiusAuthenticationProtocol enum value
16023	RadiusAuthenticationProtocolMsChapv1 = "MS-CHAPv1"
16024
16025	// RadiusAuthenticationProtocolMsChapv2 is a RadiusAuthenticationProtocol enum value
16026	RadiusAuthenticationProtocolMsChapv2 = "MS-CHAPv2"
16027)
16028
16029// RadiusAuthenticationProtocol_Values returns all elements of the RadiusAuthenticationProtocol enum
16030func RadiusAuthenticationProtocol_Values() []string {
16031	return []string{
16032		RadiusAuthenticationProtocolPap,
16033		RadiusAuthenticationProtocolChap,
16034		RadiusAuthenticationProtocolMsChapv1,
16035		RadiusAuthenticationProtocolMsChapv2,
16036	}
16037}
16038
16039const (
16040	// RadiusStatusCreating is a RadiusStatus enum value
16041	RadiusStatusCreating = "Creating"
16042
16043	// RadiusStatusCompleted is a RadiusStatus enum value
16044	RadiusStatusCompleted = "Completed"
16045
16046	// RadiusStatusFailed is a RadiusStatus enum value
16047	RadiusStatusFailed = "Failed"
16048)
16049
16050// RadiusStatus_Values returns all elements of the RadiusStatus enum
16051func RadiusStatus_Values() []string {
16052	return []string{
16053		RadiusStatusCreating,
16054		RadiusStatusCompleted,
16055		RadiusStatusFailed,
16056	}
16057}
16058
16059const (
16060	// RegionTypePrimary is a RegionType enum value
16061	RegionTypePrimary = "Primary"
16062
16063	// RegionTypeAdditional is a RegionType enum value
16064	RegionTypeAdditional = "Additional"
16065)
16066
16067// RegionType_Values returns all elements of the RegionType enum
16068func RegionType_Values() []string {
16069	return []string{
16070		RegionTypePrimary,
16071		RegionTypeAdditional,
16072	}
16073}
16074
16075const (
16076	// ReplicationScopeDomain is a ReplicationScope enum value
16077	ReplicationScopeDomain = "Domain"
16078)
16079
16080// ReplicationScope_Values returns all elements of the ReplicationScope enum
16081func ReplicationScope_Values() []string {
16082	return []string{
16083		ReplicationScopeDomain,
16084	}
16085}
16086
16087const (
16088	// SchemaExtensionStatusInitializing is a SchemaExtensionStatus enum value
16089	SchemaExtensionStatusInitializing = "Initializing"
16090
16091	// SchemaExtensionStatusCreatingSnapshot is a SchemaExtensionStatus enum value
16092	SchemaExtensionStatusCreatingSnapshot = "CreatingSnapshot"
16093
16094	// SchemaExtensionStatusUpdatingSchema is a SchemaExtensionStatus enum value
16095	SchemaExtensionStatusUpdatingSchema = "UpdatingSchema"
16096
16097	// SchemaExtensionStatusReplicating is a SchemaExtensionStatus enum value
16098	SchemaExtensionStatusReplicating = "Replicating"
16099
16100	// SchemaExtensionStatusCancelInProgress is a SchemaExtensionStatus enum value
16101	SchemaExtensionStatusCancelInProgress = "CancelInProgress"
16102
16103	// SchemaExtensionStatusRollbackInProgress is a SchemaExtensionStatus enum value
16104	SchemaExtensionStatusRollbackInProgress = "RollbackInProgress"
16105
16106	// SchemaExtensionStatusCancelled is a SchemaExtensionStatus enum value
16107	SchemaExtensionStatusCancelled = "Cancelled"
16108
16109	// SchemaExtensionStatusFailed is a SchemaExtensionStatus enum value
16110	SchemaExtensionStatusFailed = "Failed"
16111
16112	// SchemaExtensionStatusCompleted is a SchemaExtensionStatus enum value
16113	SchemaExtensionStatusCompleted = "Completed"
16114)
16115
16116// SchemaExtensionStatus_Values returns all elements of the SchemaExtensionStatus enum
16117func SchemaExtensionStatus_Values() []string {
16118	return []string{
16119		SchemaExtensionStatusInitializing,
16120		SchemaExtensionStatusCreatingSnapshot,
16121		SchemaExtensionStatusUpdatingSchema,
16122		SchemaExtensionStatusReplicating,
16123		SchemaExtensionStatusCancelInProgress,
16124		SchemaExtensionStatusRollbackInProgress,
16125		SchemaExtensionStatusCancelled,
16126		SchemaExtensionStatusFailed,
16127		SchemaExtensionStatusCompleted,
16128	}
16129}
16130
16131const (
16132	// SelectiveAuthEnabled is a SelectiveAuth enum value
16133	SelectiveAuthEnabled = "Enabled"
16134
16135	// SelectiveAuthDisabled is a SelectiveAuth enum value
16136	SelectiveAuthDisabled = "Disabled"
16137)
16138
16139// SelectiveAuth_Values returns all elements of the SelectiveAuth enum
16140func SelectiveAuth_Values() []string {
16141	return []string{
16142		SelectiveAuthEnabled,
16143		SelectiveAuthDisabled,
16144	}
16145}
16146
16147const (
16148	// ShareMethodOrganizations is a ShareMethod enum value
16149	ShareMethodOrganizations = "ORGANIZATIONS"
16150
16151	// ShareMethodHandshake is a ShareMethod enum value
16152	ShareMethodHandshake = "HANDSHAKE"
16153)
16154
16155// ShareMethod_Values returns all elements of the ShareMethod enum
16156func ShareMethod_Values() []string {
16157	return []string{
16158		ShareMethodOrganizations,
16159		ShareMethodHandshake,
16160	}
16161}
16162
16163const (
16164	// ShareStatusShared is a ShareStatus enum value
16165	ShareStatusShared = "Shared"
16166
16167	// ShareStatusPendingAcceptance is a ShareStatus enum value
16168	ShareStatusPendingAcceptance = "PendingAcceptance"
16169
16170	// ShareStatusRejected is a ShareStatus enum value
16171	ShareStatusRejected = "Rejected"
16172
16173	// ShareStatusRejecting is a ShareStatus enum value
16174	ShareStatusRejecting = "Rejecting"
16175
16176	// ShareStatusRejectFailed is a ShareStatus enum value
16177	ShareStatusRejectFailed = "RejectFailed"
16178
16179	// ShareStatusSharing is a ShareStatus enum value
16180	ShareStatusSharing = "Sharing"
16181
16182	// ShareStatusShareFailed is a ShareStatus enum value
16183	ShareStatusShareFailed = "ShareFailed"
16184
16185	// ShareStatusDeleted is a ShareStatus enum value
16186	ShareStatusDeleted = "Deleted"
16187
16188	// ShareStatusDeleting is a ShareStatus enum value
16189	ShareStatusDeleting = "Deleting"
16190)
16191
16192// ShareStatus_Values returns all elements of the ShareStatus enum
16193func ShareStatus_Values() []string {
16194	return []string{
16195		ShareStatusShared,
16196		ShareStatusPendingAcceptance,
16197		ShareStatusRejected,
16198		ShareStatusRejecting,
16199		ShareStatusRejectFailed,
16200		ShareStatusSharing,
16201		ShareStatusShareFailed,
16202		ShareStatusDeleted,
16203		ShareStatusDeleting,
16204	}
16205}
16206
16207const (
16208	// SnapshotStatusCreating is a SnapshotStatus enum value
16209	SnapshotStatusCreating = "Creating"
16210
16211	// SnapshotStatusCompleted is a SnapshotStatus enum value
16212	SnapshotStatusCompleted = "Completed"
16213
16214	// SnapshotStatusFailed is a SnapshotStatus enum value
16215	SnapshotStatusFailed = "Failed"
16216)
16217
16218// SnapshotStatus_Values returns all elements of the SnapshotStatus enum
16219func SnapshotStatus_Values() []string {
16220	return []string{
16221		SnapshotStatusCreating,
16222		SnapshotStatusCompleted,
16223		SnapshotStatusFailed,
16224	}
16225}
16226
16227const (
16228	// SnapshotTypeAuto is a SnapshotType enum value
16229	SnapshotTypeAuto = "Auto"
16230
16231	// SnapshotTypeManual is a SnapshotType enum value
16232	SnapshotTypeManual = "Manual"
16233)
16234
16235// SnapshotType_Values returns all elements of the SnapshotType enum
16236func SnapshotType_Values() []string {
16237	return []string{
16238		SnapshotTypeAuto,
16239		SnapshotTypeManual,
16240	}
16241}
16242
16243const (
16244	// TargetTypeAccount is a TargetType enum value
16245	TargetTypeAccount = "ACCOUNT"
16246)
16247
16248// TargetType_Values returns all elements of the TargetType enum
16249func TargetType_Values() []string {
16250	return []string{
16251		TargetTypeAccount,
16252	}
16253}
16254
16255const (
16256	// TopicStatusRegistered is a TopicStatus enum value
16257	TopicStatusRegistered = "Registered"
16258
16259	// TopicStatusTopicnotfound is a TopicStatus enum value
16260	TopicStatusTopicnotfound = "Topic not found"
16261
16262	// TopicStatusFailed is a TopicStatus enum value
16263	TopicStatusFailed = "Failed"
16264
16265	// TopicStatusDeleted is a TopicStatus enum value
16266	TopicStatusDeleted = "Deleted"
16267)
16268
16269// TopicStatus_Values returns all elements of the TopicStatus enum
16270func TopicStatus_Values() []string {
16271	return []string{
16272		TopicStatusRegistered,
16273		TopicStatusTopicnotfound,
16274		TopicStatusFailed,
16275		TopicStatusDeleted,
16276	}
16277}
16278
16279const (
16280	// TrustDirectionOneWayOutgoing is a TrustDirection enum value
16281	TrustDirectionOneWayOutgoing = "One-Way: Outgoing"
16282
16283	// TrustDirectionOneWayIncoming is a TrustDirection enum value
16284	TrustDirectionOneWayIncoming = "One-Way: Incoming"
16285
16286	// TrustDirectionTwoWay is a TrustDirection enum value
16287	TrustDirectionTwoWay = "Two-Way"
16288)
16289
16290// TrustDirection_Values returns all elements of the TrustDirection enum
16291func TrustDirection_Values() []string {
16292	return []string{
16293		TrustDirectionOneWayOutgoing,
16294		TrustDirectionOneWayIncoming,
16295		TrustDirectionTwoWay,
16296	}
16297}
16298
16299const (
16300	// TrustStateCreating is a TrustState enum value
16301	TrustStateCreating = "Creating"
16302
16303	// TrustStateCreated is a TrustState enum value
16304	TrustStateCreated = "Created"
16305
16306	// TrustStateVerifying is a TrustState enum value
16307	TrustStateVerifying = "Verifying"
16308
16309	// TrustStateVerifyFailed is a TrustState enum value
16310	TrustStateVerifyFailed = "VerifyFailed"
16311
16312	// TrustStateVerified is a TrustState enum value
16313	TrustStateVerified = "Verified"
16314
16315	// TrustStateUpdating is a TrustState enum value
16316	TrustStateUpdating = "Updating"
16317
16318	// TrustStateUpdateFailed is a TrustState enum value
16319	TrustStateUpdateFailed = "UpdateFailed"
16320
16321	// TrustStateUpdated is a TrustState enum value
16322	TrustStateUpdated = "Updated"
16323
16324	// TrustStateDeleting is a TrustState enum value
16325	TrustStateDeleting = "Deleting"
16326
16327	// TrustStateDeleted is a TrustState enum value
16328	TrustStateDeleted = "Deleted"
16329
16330	// TrustStateFailed is a TrustState enum value
16331	TrustStateFailed = "Failed"
16332)
16333
16334// TrustState_Values returns all elements of the TrustState enum
16335func TrustState_Values() []string {
16336	return []string{
16337		TrustStateCreating,
16338		TrustStateCreated,
16339		TrustStateVerifying,
16340		TrustStateVerifyFailed,
16341		TrustStateVerified,
16342		TrustStateUpdating,
16343		TrustStateUpdateFailed,
16344		TrustStateUpdated,
16345		TrustStateDeleting,
16346		TrustStateDeleted,
16347		TrustStateFailed,
16348	}
16349}
16350
16351const (
16352	// TrustTypeForest is a TrustType enum value
16353	TrustTypeForest = "Forest"
16354
16355	// TrustTypeExternal is a TrustType enum value
16356	TrustTypeExternal = "External"
16357)
16358
16359// TrustType_Values returns all elements of the TrustType enum
16360func TrustType_Values() []string {
16361	return []string{
16362		TrustTypeForest,
16363		TrustTypeExternal,
16364	}
16365}
16366