github.com/aavshr/aws-sdk-go@v1.41.3/service/directoryservice/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package directoryservice
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    14  )
    15  
    16  const 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
    42  func (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
    88  func (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.
   102  func (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  
   109  const 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
   135  func (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
   197  func (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.
   211  func (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  
   218  const 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
   244  func (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
   306  func (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.
   320  func (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  
   327  const 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
   353  func (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
   400  func (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.
   414  func (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  
   421  const 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
   447  func (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
   489  func (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.
   503  func (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  
   510  const 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
   536  func (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
   584  func (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.
   598  func (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  
   605  const 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
   631  func (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
   680  func (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.
   694  func (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  
   701  const 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
   727  func (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
   780  func (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.
   794  func (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  
   801  const 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
   827  func (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
   881  func (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.
   895  func (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  
   902  const 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
   928  func (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
   978  func (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.
   992  func (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  
   999  const 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
  1025  func (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
  1075  func (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.
  1089  func (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  
  1096  const 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
  1122  func (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
  1175  func (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.
  1189  func (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  
  1196  const 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
  1222  func (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
  1271  func (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.
  1285  func (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  
  1292  const 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
  1318  func (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
  1373  func (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.
  1387  func (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  
  1394  const 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
  1420  func (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
  1469  func (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.
  1483  func (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  
  1490  const 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
  1516  func (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
  1559  func (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.
  1573  func (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  
  1580  const 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
  1606  func (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
  1648  func (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.
  1662  func (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  
  1669  const 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
  1695  func (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
  1736  func (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.
  1750  func (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  
  1757  const 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
  1783  func (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
  1828  func (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.
  1842  func (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  
  1849  const 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
  1875  func (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
  1931  func (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.
  1945  func (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  
  1952  const 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
  1978  func (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
  2021  func (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.
  2035  func (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  
  2042  const 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
  2068  func (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
  2116  func (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.
  2130  func (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  
  2137  const 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
  2163  func (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
  2213  func (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.
  2227  func (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  
  2234  const 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
  2260  func (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
  2310  func (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.
  2324  func (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  
  2331  const 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
  2357  func (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
  2412  func (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.
  2426  func (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  
  2433  const 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
  2459  func (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
  2512  func (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.
  2526  func (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  //
  2550  func (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.
  2561  func (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  
  2585  const 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
  2611  func (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
  2656  func (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.
  2670  func (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  
  2677  const 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
  2703  func (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
  2750  func (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.
  2764  func (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  
  2771  const 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
  2797  func (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
  2848  func (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.
  2862  func (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  
  2869  const 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
  2895  func (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
  2942  func (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.
  2956  func (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  
  2963  const 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
  2989  func (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
  3040  func (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.
  3054  func (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  
  3061  const 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
  3087  func (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
  3137  func (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.
  3151  func (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  
  3158  const 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
  3184  func (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
  3232  func (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.
  3246  func (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  
  3253  const 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
  3279  func (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
  3331  func (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.
  3345  func (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  
  3352  const 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
  3378  func (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
  3419  func (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.
  3433  func (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  
  3440  const 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
  3466  func (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
  3511  func (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.
  3525  func (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  
  3532  const 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
  3558  func (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
  3610  func (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.
  3624  func (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  
  3631  const 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
  3657  func (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
  3714  func (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.
  3728  func (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  
  3735  const 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
  3761  func (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
  3808  func (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.
  3822  func (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  
  3829  const 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
  3855  func (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
  3902  func (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.
  3916  func (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  
  3923  const 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
  3949  func (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
  3987  func (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.
  4001  func (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  
  4008  const 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
  4034  func (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
  4072  func (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.
  4086  func (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  
  4093  const 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
  4119  func (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
  4167  func (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.
  4181  func (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  
  4188  const 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
  4214  func (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
  4258  func (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.
  4272  func (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  
  4279  const 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
  4305  func (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
  4346  func (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.
  4360  func (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  
  4367  const 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
  4393  func (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
  4434  func (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.
  4448  func (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  
  4455  const 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
  4481  func (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
  4525  func (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.
  4539  func (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  
  4546  const 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
  4572  func (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
  4629  func (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.
  4643  func (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  
  4650  const 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
  4676  func (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
  4723  func (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.
  4737  func (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  
  4744  const 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
  4770  func (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
  4816  func (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.
  4830  func (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  
  4837  const 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
  4863  func (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
  4908  func (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.
  4922  func (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  
  4929  const 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
  4955  func (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
  5005  func (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.
  5019  func (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  
  5026  const 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
  5052  func (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
  5094  func (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.
  5108  func (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  
  5115  const 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
  5141  func (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
  5209  func (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.
  5223  func (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  
  5230  const 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
  5256  func (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
  5306  func (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.
  5320  func (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  
  5327  const 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
  5353  func (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
  5432  func (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.
  5446  func (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  
  5453  const 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
  5479  func (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
  5528  func (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.
  5542  func (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  
  5549  const 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
  5575  func (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
  5620  func (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.
  5634  func (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  
  5641  const 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
  5667  func (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
  5716  func (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.
  5730  func (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  
  5737  const 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
  5763  func (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
  5820  func (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.
  5834  func (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  
  5841  const 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
  5867  func (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
  5910  func (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.
  5924  func (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  
  5931  const 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
  5957  func (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
  5999  func (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.
  6013  func (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  
  6020  const 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
  6046  func (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
  6094  func (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.
  6108  func (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  
  6115  type 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.
  6126  //
  6127  // API parameter values that are decorated as "sensitive" in the API will not
  6128  // be included in the string output. The member name will be present, but the
  6129  // value will be replaced with "sensitive".
  6130  func (s AcceptSharedDirectoryInput) String() string {
  6131  	return awsutil.Prettify(s)
  6132  }
  6133  
  6134  // GoString returns the string representation.
  6135  //
  6136  // API parameter values that are decorated as "sensitive" in the API will not
  6137  // be included in the string output. The member name will be present, but the
  6138  // value will be replaced with "sensitive".
  6139  func (s AcceptSharedDirectoryInput) GoString() string {
  6140  	return s.String()
  6141  }
  6142  
  6143  // Validate inspects the fields of the type to determine if they are valid.
  6144  func (s *AcceptSharedDirectoryInput) Validate() error {
  6145  	invalidParams := request.ErrInvalidParams{Context: "AcceptSharedDirectoryInput"}
  6146  	if s.SharedDirectoryId == nil {
  6147  		invalidParams.Add(request.NewErrParamRequired("SharedDirectoryId"))
  6148  	}
  6149  
  6150  	if invalidParams.Len() > 0 {
  6151  		return invalidParams
  6152  	}
  6153  	return nil
  6154  }
  6155  
  6156  // SetSharedDirectoryId sets the SharedDirectoryId field's value.
  6157  func (s *AcceptSharedDirectoryInput) SetSharedDirectoryId(v string) *AcceptSharedDirectoryInput {
  6158  	s.SharedDirectoryId = &v
  6159  	return s
  6160  }
  6161  
  6162  type AcceptSharedDirectoryOutput struct {
  6163  	_ struct{} `type:"structure"`
  6164  
  6165  	// The shared directory in the directory consumer account.
  6166  	SharedDirectory *SharedDirectory `type:"structure"`
  6167  }
  6168  
  6169  // String returns the string representation.
  6170  //
  6171  // API parameter values that are decorated as "sensitive" in the API will not
  6172  // be included in the string output. The member name will be present, but the
  6173  // value will be replaced with "sensitive".
  6174  func (s AcceptSharedDirectoryOutput) String() string {
  6175  	return awsutil.Prettify(s)
  6176  }
  6177  
  6178  // GoString returns the string representation.
  6179  //
  6180  // API parameter values that are decorated as "sensitive" in the API will not
  6181  // be included in the string output. The member name will be present, but the
  6182  // value will be replaced with "sensitive".
  6183  func (s AcceptSharedDirectoryOutput) GoString() string {
  6184  	return s.String()
  6185  }
  6186  
  6187  // SetSharedDirectory sets the SharedDirectory field's value.
  6188  func (s *AcceptSharedDirectoryOutput) SetSharedDirectory(v *SharedDirectory) *AcceptSharedDirectoryOutput {
  6189  	s.SharedDirectory = v
  6190  	return s
  6191  }
  6192  
  6193  // Client authentication is not available in this region at this time.
  6194  type AccessDeniedException struct {
  6195  	_            struct{}                  `type:"structure"`
  6196  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6197  
  6198  	// The descriptive message for the exception.
  6199  	Message_ *string `locationName:"Message" type:"string"`
  6200  
  6201  	// The Amazon Web Services request identifier.
  6202  	RequestId *string `type:"string"`
  6203  }
  6204  
  6205  // String returns the string representation.
  6206  //
  6207  // API parameter values that are decorated as "sensitive" in the API will not
  6208  // be included in the string output. The member name will be present, but the
  6209  // value will be replaced with "sensitive".
  6210  func (s AccessDeniedException) String() string {
  6211  	return awsutil.Prettify(s)
  6212  }
  6213  
  6214  // GoString returns the string representation.
  6215  //
  6216  // API parameter values that are decorated as "sensitive" in the API will not
  6217  // be included in the string output. The member name will be present, but the
  6218  // value will be replaced with "sensitive".
  6219  func (s AccessDeniedException) GoString() string {
  6220  	return s.String()
  6221  }
  6222  
  6223  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  6224  	return &AccessDeniedException{
  6225  		RespMetadata: v,
  6226  	}
  6227  }
  6228  
  6229  // Code returns the exception type name.
  6230  func (s *AccessDeniedException) Code() string {
  6231  	return "AccessDeniedException"
  6232  }
  6233  
  6234  // Message returns the exception's message.
  6235  func (s *AccessDeniedException) Message() string {
  6236  	if s.Message_ != nil {
  6237  		return *s.Message_
  6238  	}
  6239  	return ""
  6240  }
  6241  
  6242  // OrigErr always returns nil, satisfies awserr.Error interface.
  6243  func (s *AccessDeniedException) OrigErr() error {
  6244  	return nil
  6245  }
  6246  
  6247  func (s *AccessDeniedException) Error() string {
  6248  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6249  }
  6250  
  6251  // Status code returns the HTTP status code for the request's response error.
  6252  func (s *AccessDeniedException) StatusCode() int {
  6253  	return s.RespMetadata.StatusCode
  6254  }
  6255  
  6256  // RequestID returns the service's response RequestID for request.
  6257  func (s *AccessDeniedException) RequestID() string {
  6258  	return s.RespMetadata.RequestID
  6259  }
  6260  
  6261  type AddIpRoutesInput struct {
  6262  	_ struct{} `type:"structure"`
  6263  
  6264  	// Identifier (ID) of the directory to which to add the address block.
  6265  	//
  6266  	// DirectoryId is a required field
  6267  	DirectoryId *string `type:"string" required:"true"`
  6268  
  6269  	// IP address blocks, using CIDR format, of the traffic to route. This is often
  6270  	// the IP address block of the DNS server used for your self-managed domain.
  6271  	//
  6272  	// IpRoutes is a required field
  6273  	IpRoutes []*IpRoute `type:"list" required:"true"`
  6274  
  6275  	// If set to true, updates the inbound and outbound rules of the security group
  6276  	// that has the description: "Amazon Web Services created security group for
  6277  	// directory ID directory controllers." Following are the new rules:
  6278  	//
  6279  	// Inbound:
  6280  	//
  6281  	//    * Type: Custom UDP Rule, Protocol: UDP, Range: 88, Source: 0.0.0.0/0
  6282  	//
  6283  	//    * Type: Custom UDP Rule, Protocol: UDP, Range: 123, Source: 0.0.0.0/0
  6284  	//
  6285  	//    * Type: Custom UDP Rule, Protocol: UDP, Range: 138, Source: 0.0.0.0/0
  6286  	//
  6287  	//    * Type: Custom UDP Rule, Protocol: UDP, Range: 389, Source: 0.0.0.0/0
  6288  	//
  6289  	//    * Type: Custom UDP Rule, Protocol: UDP, Range: 464, Source: 0.0.0.0/0
  6290  	//
  6291  	//    * Type: Custom UDP Rule, Protocol: UDP, Range: 445, Source: 0.0.0.0/0
  6292  	//
  6293  	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 88, Source: 0.0.0.0/0
  6294  	//
  6295  	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 135, Source: 0.0.0.0/0
  6296  	//
  6297  	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 445, Source: 0.0.0.0/0
  6298  	//
  6299  	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 464, Source: 0.0.0.0/0
  6300  	//
  6301  	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0/0
  6302  	//
  6303  	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: 0.0.0.0/0
  6304  	//
  6305  	//    * Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: 0.0.0.0/0
  6306  	//
  6307  	//    * Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0
  6308  	//
  6309  	//    * Type: DNS (TCP), Protocol: TCP, Range: 53, Source: 0.0.0.0/0
  6310  	//
  6311  	//    * Type: LDAP, Protocol: TCP, Range: 389, Source: 0.0.0.0/0
  6312  	//
  6313  	//    * Type: All ICMP, Protocol: All, Range: N/A, Source: 0.0.0.0/0
  6314  	//
  6315  	// Outbound:
  6316  	//
  6317  	//    * Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0
  6318  	//
  6319  	// These security rules impact an internal network interface that is not exposed
  6320  	// publicly.
  6321  	UpdateSecurityGroupForDirectoryControllers *bool `type:"boolean"`
  6322  }
  6323  
  6324  // String returns the string representation.
  6325  //
  6326  // API parameter values that are decorated as "sensitive" in the API will not
  6327  // be included in the string output. The member name will be present, but the
  6328  // value will be replaced with "sensitive".
  6329  func (s AddIpRoutesInput) String() string {
  6330  	return awsutil.Prettify(s)
  6331  }
  6332  
  6333  // GoString returns the string representation.
  6334  //
  6335  // API parameter values that are decorated as "sensitive" in the API will not
  6336  // be included in the string output. The member name will be present, but the
  6337  // value will be replaced with "sensitive".
  6338  func (s AddIpRoutesInput) GoString() string {
  6339  	return s.String()
  6340  }
  6341  
  6342  // Validate inspects the fields of the type to determine if they are valid.
  6343  func (s *AddIpRoutesInput) Validate() error {
  6344  	invalidParams := request.ErrInvalidParams{Context: "AddIpRoutesInput"}
  6345  	if s.DirectoryId == nil {
  6346  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  6347  	}
  6348  	if s.IpRoutes == nil {
  6349  		invalidParams.Add(request.NewErrParamRequired("IpRoutes"))
  6350  	}
  6351  
  6352  	if invalidParams.Len() > 0 {
  6353  		return invalidParams
  6354  	}
  6355  	return nil
  6356  }
  6357  
  6358  // SetDirectoryId sets the DirectoryId field's value.
  6359  func (s *AddIpRoutesInput) SetDirectoryId(v string) *AddIpRoutesInput {
  6360  	s.DirectoryId = &v
  6361  	return s
  6362  }
  6363  
  6364  // SetIpRoutes sets the IpRoutes field's value.
  6365  func (s *AddIpRoutesInput) SetIpRoutes(v []*IpRoute) *AddIpRoutesInput {
  6366  	s.IpRoutes = v
  6367  	return s
  6368  }
  6369  
  6370  // SetUpdateSecurityGroupForDirectoryControllers sets the UpdateSecurityGroupForDirectoryControllers field's value.
  6371  func (s *AddIpRoutesInput) SetUpdateSecurityGroupForDirectoryControllers(v bool) *AddIpRoutesInput {
  6372  	s.UpdateSecurityGroupForDirectoryControllers = &v
  6373  	return s
  6374  }
  6375  
  6376  type AddIpRoutesOutput struct {
  6377  	_ struct{} `type:"structure"`
  6378  }
  6379  
  6380  // String returns the string representation.
  6381  //
  6382  // API parameter values that are decorated as "sensitive" in the API will not
  6383  // be included in the string output. The member name will be present, but the
  6384  // value will be replaced with "sensitive".
  6385  func (s AddIpRoutesOutput) String() string {
  6386  	return awsutil.Prettify(s)
  6387  }
  6388  
  6389  // GoString returns the string representation.
  6390  //
  6391  // API parameter values that are decorated as "sensitive" in the API will not
  6392  // be included in the string output. The member name will be present, but the
  6393  // value will be replaced with "sensitive".
  6394  func (s AddIpRoutesOutput) GoString() string {
  6395  	return s.String()
  6396  }
  6397  
  6398  type AddRegionInput struct {
  6399  	_ struct{} `type:"structure"`
  6400  
  6401  	// The identifier of the directory to which you want to add Region replication.
  6402  	//
  6403  	// DirectoryId is a required field
  6404  	DirectoryId *string `type:"string" required:"true"`
  6405  
  6406  	// The name of the Region where you want to add domain controllers for replication.
  6407  	// For example, us-east-1.
  6408  	//
  6409  	// RegionName is a required field
  6410  	RegionName *string `min:"8" type:"string" required:"true"`
  6411  
  6412  	// Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.
  6413  	//
  6414  	// VPCSettings is a required field
  6415  	VPCSettings *DirectoryVpcSettings `type:"structure" required:"true"`
  6416  }
  6417  
  6418  // String returns the string representation.
  6419  //
  6420  // API parameter values that are decorated as "sensitive" in the API will not
  6421  // be included in the string output. The member name will be present, but the
  6422  // value will be replaced with "sensitive".
  6423  func (s AddRegionInput) String() string {
  6424  	return awsutil.Prettify(s)
  6425  }
  6426  
  6427  // GoString returns the string representation.
  6428  //
  6429  // API parameter values that are decorated as "sensitive" in the API will not
  6430  // be included in the string output. The member name will be present, but the
  6431  // value will be replaced with "sensitive".
  6432  func (s AddRegionInput) GoString() string {
  6433  	return s.String()
  6434  }
  6435  
  6436  // Validate inspects the fields of the type to determine if they are valid.
  6437  func (s *AddRegionInput) Validate() error {
  6438  	invalidParams := request.ErrInvalidParams{Context: "AddRegionInput"}
  6439  	if s.DirectoryId == nil {
  6440  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  6441  	}
  6442  	if s.RegionName == nil {
  6443  		invalidParams.Add(request.NewErrParamRequired("RegionName"))
  6444  	}
  6445  	if s.RegionName != nil && len(*s.RegionName) < 8 {
  6446  		invalidParams.Add(request.NewErrParamMinLen("RegionName", 8))
  6447  	}
  6448  	if s.VPCSettings == nil {
  6449  		invalidParams.Add(request.NewErrParamRequired("VPCSettings"))
  6450  	}
  6451  	if s.VPCSettings != nil {
  6452  		if err := s.VPCSettings.Validate(); err != nil {
  6453  			invalidParams.AddNested("VPCSettings", err.(request.ErrInvalidParams))
  6454  		}
  6455  	}
  6456  
  6457  	if invalidParams.Len() > 0 {
  6458  		return invalidParams
  6459  	}
  6460  	return nil
  6461  }
  6462  
  6463  // SetDirectoryId sets the DirectoryId field's value.
  6464  func (s *AddRegionInput) SetDirectoryId(v string) *AddRegionInput {
  6465  	s.DirectoryId = &v
  6466  	return s
  6467  }
  6468  
  6469  // SetRegionName sets the RegionName field's value.
  6470  func (s *AddRegionInput) SetRegionName(v string) *AddRegionInput {
  6471  	s.RegionName = &v
  6472  	return s
  6473  }
  6474  
  6475  // SetVPCSettings sets the VPCSettings field's value.
  6476  func (s *AddRegionInput) SetVPCSettings(v *DirectoryVpcSettings) *AddRegionInput {
  6477  	s.VPCSettings = v
  6478  	return s
  6479  }
  6480  
  6481  type AddRegionOutput struct {
  6482  	_ struct{} `type:"structure"`
  6483  }
  6484  
  6485  // String returns the string representation.
  6486  //
  6487  // API parameter values that are decorated as "sensitive" in the API will not
  6488  // be included in the string output. The member name will be present, but the
  6489  // value will be replaced with "sensitive".
  6490  func (s AddRegionOutput) String() string {
  6491  	return awsutil.Prettify(s)
  6492  }
  6493  
  6494  // GoString returns the string representation.
  6495  //
  6496  // API parameter values that are decorated as "sensitive" in the API will not
  6497  // be included in the string output. The member name will be present, but the
  6498  // value will be replaced with "sensitive".
  6499  func (s AddRegionOutput) GoString() string {
  6500  	return s.String()
  6501  }
  6502  
  6503  type AddTagsToResourceInput struct {
  6504  	_ struct{} `type:"structure"`
  6505  
  6506  	// Identifier (ID) for the directory to which to add the tag.
  6507  	//
  6508  	// ResourceId is a required field
  6509  	ResourceId *string `type:"string" required:"true"`
  6510  
  6511  	// The tags to be assigned to the directory.
  6512  	//
  6513  	// Tags is a required field
  6514  	Tags []*Tag `type:"list" required:"true"`
  6515  }
  6516  
  6517  // String returns the string representation.
  6518  //
  6519  // API parameter values that are decorated as "sensitive" in the API will not
  6520  // be included in the string output. The member name will be present, but the
  6521  // value will be replaced with "sensitive".
  6522  func (s AddTagsToResourceInput) String() string {
  6523  	return awsutil.Prettify(s)
  6524  }
  6525  
  6526  // GoString returns the string representation.
  6527  //
  6528  // API parameter values that are decorated as "sensitive" in the API will not
  6529  // be included in the string output. The member name will be present, but the
  6530  // value will be replaced with "sensitive".
  6531  func (s AddTagsToResourceInput) GoString() string {
  6532  	return s.String()
  6533  }
  6534  
  6535  // Validate inspects the fields of the type to determine if they are valid.
  6536  func (s *AddTagsToResourceInput) Validate() error {
  6537  	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
  6538  	if s.ResourceId == nil {
  6539  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  6540  	}
  6541  	if s.Tags == nil {
  6542  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  6543  	}
  6544  	if s.Tags != nil {
  6545  		for i, v := range s.Tags {
  6546  			if v == nil {
  6547  				continue
  6548  			}
  6549  			if err := v.Validate(); err != nil {
  6550  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  6551  			}
  6552  		}
  6553  	}
  6554  
  6555  	if invalidParams.Len() > 0 {
  6556  		return invalidParams
  6557  	}
  6558  	return nil
  6559  }
  6560  
  6561  // SetResourceId sets the ResourceId field's value.
  6562  func (s *AddTagsToResourceInput) SetResourceId(v string) *AddTagsToResourceInput {
  6563  	s.ResourceId = &v
  6564  	return s
  6565  }
  6566  
  6567  // SetTags sets the Tags field's value.
  6568  func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
  6569  	s.Tags = v
  6570  	return s
  6571  }
  6572  
  6573  type AddTagsToResourceOutput struct {
  6574  	_ struct{} `type:"structure"`
  6575  }
  6576  
  6577  // String returns the string representation.
  6578  //
  6579  // API parameter values that are decorated as "sensitive" in the API will not
  6580  // be included in the string output. The member name will be present, but the
  6581  // value will be replaced with "sensitive".
  6582  func (s AddTagsToResourceOutput) String() string {
  6583  	return awsutil.Prettify(s)
  6584  }
  6585  
  6586  // GoString returns the string representation.
  6587  //
  6588  // API parameter values that are decorated as "sensitive" in the API will not
  6589  // be included in the string output. The member name will be present, but the
  6590  // value will be replaced with "sensitive".
  6591  func (s AddTagsToResourceOutput) GoString() string {
  6592  	return s.String()
  6593  }
  6594  
  6595  // Represents a named directory attribute.
  6596  type Attribute struct {
  6597  	_ struct{} `type:"structure"`
  6598  
  6599  	// The name of the attribute.
  6600  	Name *string `min:"1" type:"string"`
  6601  
  6602  	// The value of the attribute.
  6603  	Value *string `type:"string"`
  6604  }
  6605  
  6606  // String returns the string representation.
  6607  //
  6608  // API parameter values that are decorated as "sensitive" in the API will not
  6609  // be included in the string output. The member name will be present, but the
  6610  // value will be replaced with "sensitive".
  6611  func (s Attribute) String() string {
  6612  	return awsutil.Prettify(s)
  6613  }
  6614  
  6615  // GoString returns the string representation.
  6616  //
  6617  // API parameter values that are decorated as "sensitive" in the API will not
  6618  // be included in the string output. The member name will be present, but the
  6619  // value will be replaced with "sensitive".
  6620  func (s Attribute) GoString() string {
  6621  	return s.String()
  6622  }
  6623  
  6624  // Validate inspects the fields of the type to determine if they are valid.
  6625  func (s *Attribute) Validate() error {
  6626  	invalidParams := request.ErrInvalidParams{Context: "Attribute"}
  6627  	if s.Name != nil && len(*s.Name) < 1 {
  6628  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6629  	}
  6630  
  6631  	if invalidParams.Len() > 0 {
  6632  		return invalidParams
  6633  	}
  6634  	return nil
  6635  }
  6636  
  6637  // SetName sets the Name field's value.
  6638  func (s *Attribute) SetName(v string) *Attribute {
  6639  	s.Name = &v
  6640  	return s
  6641  }
  6642  
  6643  // SetValue sets the Value field's value.
  6644  func (s *Attribute) SetValue(v string) *Attribute {
  6645  	s.Value = &v
  6646  	return s
  6647  }
  6648  
  6649  // An authentication error occurred.
  6650  type AuthenticationFailedException struct {
  6651  	_            struct{}                  `type:"structure"`
  6652  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6653  
  6654  	// The textual message for the exception.
  6655  	Message_ *string `locationName:"Message" type:"string"`
  6656  
  6657  	// The identifier of the request that caused the exception.
  6658  	RequestId *string `type:"string"`
  6659  }
  6660  
  6661  // String returns the string representation.
  6662  //
  6663  // API parameter values that are decorated as "sensitive" in the API will not
  6664  // be included in the string output. The member name will be present, but the
  6665  // value will be replaced with "sensitive".
  6666  func (s AuthenticationFailedException) String() string {
  6667  	return awsutil.Prettify(s)
  6668  }
  6669  
  6670  // GoString returns the string representation.
  6671  //
  6672  // API parameter values that are decorated as "sensitive" in the API will not
  6673  // be included in the string output. The member name will be present, but the
  6674  // value will be replaced with "sensitive".
  6675  func (s AuthenticationFailedException) GoString() string {
  6676  	return s.String()
  6677  }
  6678  
  6679  func newErrorAuthenticationFailedException(v protocol.ResponseMetadata) error {
  6680  	return &AuthenticationFailedException{
  6681  		RespMetadata: v,
  6682  	}
  6683  }
  6684  
  6685  // Code returns the exception type name.
  6686  func (s *AuthenticationFailedException) Code() string {
  6687  	return "AuthenticationFailedException"
  6688  }
  6689  
  6690  // Message returns the exception's message.
  6691  func (s *AuthenticationFailedException) Message() string {
  6692  	if s.Message_ != nil {
  6693  		return *s.Message_
  6694  	}
  6695  	return ""
  6696  }
  6697  
  6698  // OrigErr always returns nil, satisfies awserr.Error interface.
  6699  func (s *AuthenticationFailedException) OrigErr() error {
  6700  	return nil
  6701  }
  6702  
  6703  func (s *AuthenticationFailedException) Error() string {
  6704  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6705  }
  6706  
  6707  // Status code returns the HTTP status code for the request's response error.
  6708  func (s *AuthenticationFailedException) StatusCode() int {
  6709  	return s.RespMetadata.StatusCode
  6710  }
  6711  
  6712  // RequestID returns the service's response RequestID for request.
  6713  func (s *AuthenticationFailedException) RequestID() string {
  6714  	return s.RespMetadata.RequestID
  6715  }
  6716  
  6717  type CancelSchemaExtensionInput struct {
  6718  	_ struct{} `type:"structure"`
  6719  
  6720  	// The identifier of the directory whose schema extension will be canceled.
  6721  	//
  6722  	// DirectoryId is a required field
  6723  	DirectoryId *string `type:"string" required:"true"`
  6724  
  6725  	// The identifier of the schema extension that will be canceled.
  6726  	//
  6727  	// SchemaExtensionId is a required field
  6728  	SchemaExtensionId *string `type:"string" required:"true"`
  6729  }
  6730  
  6731  // String returns the string representation.
  6732  //
  6733  // API parameter values that are decorated as "sensitive" in the API will not
  6734  // be included in the string output. The member name will be present, but the
  6735  // value will be replaced with "sensitive".
  6736  func (s CancelSchemaExtensionInput) String() string {
  6737  	return awsutil.Prettify(s)
  6738  }
  6739  
  6740  // GoString returns the string representation.
  6741  //
  6742  // API parameter values that are decorated as "sensitive" in the API will not
  6743  // be included in the string output. The member name will be present, but the
  6744  // value will be replaced with "sensitive".
  6745  func (s CancelSchemaExtensionInput) GoString() string {
  6746  	return s.String()
  6747  }
  6748  
  6749  // Validate inspects the fields of the type to determine if they are valid.
  6750  func (s *CancelSchemaExtensionInput) Validate() error {
  6751  	invalidParams := request.ErrInvalidParams{Context: "CancelSchemaExtensionInput"}
  6752  	if s.DirectoryId == nil {
  6753  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  6754  	}
  6755  	if s.SchemaExtensionId == nil {
  6756  		invalidParams.Add(request.NewErrParamRequired("SchemaExtensionId"))
  6757  	}
  6758  
  6759  	if invalidParams.Len() > 0 {
  6760  		return invalidParams
  6761  	}
  6762  	return nil
  6763  }
  6764  
  6765  // SetDirectoryId sets the DirectoryId field's value.
  6766  func (s *CancelSchemaExtensionInput) SetDirectoryId(v string) *CancelSchemaExtensionInput {
  6767  	s.DirectoryId = &v
  6768  	return s
  6769  }
  6770  
  6771  // SetSchemaExtensionId sets the SchemaExtensionId field's value.
  6772  func (s *CancelSchemaExtensionInput) SetSchemaExtensionId(v string) *CancelSchemaExtensionInput {
  6773  	s.SchemaExtensionId = &v
  6774  	return s
  6775  }
  6776  
  6777  type CancelSchemaExtensionOutput struct {
  6778  	_ struct{} `type:"structure"`
  6779  }
  6780  
  6781  // String returns the string representation.
  6782  //
  6783  // API parameter values that are decorated as "sensitive" in the API will not
  6784  // be included in the string output. The member name will be present, but the
  6785  // value will be replaced with "sensitive".
  6786  func (s CancelSchemaExtensionOutput) String() string {
  6787  	return awsutil.Prettify(s)
  6788  }
  6789  
  6790  // GoString returns the string representation.
  6791  //
  6792  // API parameter values that are decorated as "sensitive" in the API will not
  6793  // be included in the string output. The member name will be present, but the
  6794  // value will be replaced with "sensitive".
  6795  func (s CancelSchemaExtensionOutput) GoString() string {
  6796  	return s.String()
  6797  }
  6798  
  6799  // Information about the certificate.
  6800  type Certificate struct {
  6801  	_ struct{} `type:"structure"`
  6802  
  6803  	// The identifier of the certificate.
  6804  	CertificateId *string `type:"string"`
  6805  
  6806  	// A ClientCertAuthSettings object that contains client certificate authentication
  6807  	// settings.
  6808  	ClientCertAuthSettings *ClientCertAuthSettings `type:"structure"`
  6809  
  6810  	// The common name for the certificate.
  6811  	CommonName *string `type:"string"`
  6812  
  6813  	// The date and time when the certificate will expire.
  6814  	ExpiryDateTime *time.Time `type:"timestamp"`
  6815  
  6816  	// The date and time that the certificate was registered.
  6817  	RegisteredDateTime *time.Time `type:"timestamp"`
  6818  
  6819  	// The state of the certificate.
  6820  	State *string `type:"string" enum:"CertificateState"`
  6821  
  6822  	// Describes a state change for the certificate.
  6823  	StateReason *string `type:"string"`
  6824  
  6825  	// The function that the registered certificate performs. Valid values include
  6826  	// ClientLDAPS or ClientCertAuth. The default value is ClientLDAPS.
  6827  	Type *string `type:"string" enum:"CertificateType"`
  6828  }
  6829  
  6830  // String returns the string representation.
  6831  //
  6832  // API parameter values that are decorated as "sensitive" in the API will not
  6833  // be included in the string output. The member name will be present, but the
  6834  // value will be replaced with "sensitive".
  6835  func (s Certificate) String() string {
  6836  	return awsutil.Prettify(s)
  6837  }
  6838  
  6839  // GoString returns the string representation.
  6840  //
  6841  // API parameter values that are decorated as "sensitive" in the API will not
  6842  // be included in the string output. The member name will be present, but the
  6843  // value will be replaced with "sensitive".
  6844  func (s Certificate) GoString() string {
  6845  	return s.String()
  6846  }
  6847  
  6848  // SetCertificateId sets the CertificateId field's value.
  6849  func (s *Certificate) SetCertificateId(v string) *Certificate {
  6850  	s.CertificateId = &v
  6851  	return s
  6852  }
  6853  
  6854  // SetClientCertAuthSettings sets the ClientCertAuthSettings field's value.
  6855  func (s *Certificate) SetClientCertAuthSettings(v *ClientCertAuthSettings) *Certificate {
  6856  	s.ClientCertAuthSettings = v
  6857  	return s
  6858  }
  6859  
  6860  // SetCommonName sets the CommonName field's value.
  6861  func (s *Certificate) SetCommonName(v string) *Certificate {
  6862  	s.CommonName = &v
  6863  	return s
  6864  }
  6865  
  6866  // SetExpiryDateTime sets the ExpiryDateTime field's value.
  6867  func (s *Certificate) SetExpiryDateTime(v time.Time) *Certificate {
  6868  	s.ExpiryDateTime = &v
  6869  	return s
  6870  }
  6871  
  6872  // SetRegisteredDateTime sets the RegisteredDateTime field's value.
  6873  func (s *Certificate) SetRegisteredDateTime(v time.Time) *Certificate {
  6874  	s.RegisteredDateTime = &v
  6875  	return s
  6876  }
  6877  
  6878  // SetState sets the State field's value.
  6879  func (s *Certificate) SetState(v string) *Certificate {
  6880  	s.State = &v
  6881  	return s
  6882  }
  6883  
  6884  // SetStateReason sets the StateReason field's value.
  6885  func (s *Certificate) SetStateReason(v string) *Certificate {
  6886  	s.StateReason = &v
  6887  	return s
  6888  }
  6889  
  6890  // SetType sets the Type field's value.
  6891  func (s *Certificate) SetType(v string) *Certificate {
  6892  	s.Type = &v
  6893  	return s
  6894  }
  6895  
  6896  // The certificate has already been registered into the system.
  6897  type CertificateAlreadyExistsException struct {
  6898  	_            struct{}                  `type:"structure"`
  6899  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6900  
  6901  	// The descriptive message for the exception.
  6902  	Message_ *string `locationName:"Message" type:"string"`
  6903  
  6904  	// The Amazon Web Services request identifier.
  6905  	RequestId *string `type:"string"`
  6906  }
  6907  
  6908  // String returns the string representation.
  6909  //
  6910  // API parameter values that are decorated as "sensitive" in the API will not
  6911  // be included in the string output. The member name will be present, but the
  6912  // value will be replaced with "sensitive".
  6913  func (s CertificateAlreadyExistsException) String() string {
  6914  	return awsutil.Prettify(s)
  6915  }
  6916  
  6917  // GoString returns the string representation.
  6918  //
  6919  // API parameter values that are decorated as "sensitive" in the API will not
  6920  // be included in the string output. The member name will be present, but the
  6921  // value will be replaced with "sensitive".
  6922  func (s CertificateAlreadyExistsException) GoString() string {
  6923  	return s.String()
  6924  }
  6925  
  6926  func newErrorCertificateAlreadyExistsException(v protocol.ResponseMetadata) error {
  6927  	return &CertificateAlreadyExistsException{
  6928  		RespMetadata: v,
  6929  	}
  6930  }
  6931  
  6932  // Code returns the exception type name.
  6933  func (s *CertificateAlreadyExistsException) Code() string {
  6934  	return "CertificateAlreadyExistsException"
  6935  }
  6936  
  6937  // Message returns the exception's message.
  6938  func (s *CertificateAlreadyExistsException) Message() string {
  6939  	if s.Message_ != nil {
  6940  		return *s.Message_
  6941  	}
  6942  	return ""
  6943  }
  6944  
  6945  // OrigErr always returns nil, satisfies awserr.Error interface.
  6946  func (s *CertificateAlreadyExistsException) OrigErr() error {
  6947  	return nil
  6948  }
  6949  
  6950  func (s *CertificateAlreadyExistsException) Error() string {
  6951  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6952  }
  6953  
  6954  // Status code returns the HTTP status code for the request's response error.
  6955  func (s *CertificateAlreadyExistsException) StatusCode() int {
  6956  	return s.RespMetadata.StatusCode
  6957  }
  6958  
  6959  // RequestID returns the service's response RequestID for request.
  6960  func (s *CertificateAlreadyExistsException) RequestID() string {
  6961  	return s.RespMetadata.RequestID
  6962  }
  6963  
  6964  // The certificate is not present in the system for describe or deregister activities.
  6965  type CertificateDoesNotExistException struct {
  6966  	_            struct{}                  `type:"structure"`
  6967  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6968  
  6969  	// The descriptive message for the exception.
  6970  	Message_ *string `locationName:"Message" type:"string"`
  6971  
  6972  	// The Amazon Web Services request identifier.
  6973  	RequestId *string `type:"string"`
  6974  }
  6975  
  6976  // String returns the string representation.
  6977  //
  6978  // API parameter values that are decorated as "sensitive" in the API will not
  6979  // be included in the string output. The member name will be present, but the
  6980  // value will be replaced with "sensitive".
  6981  func (s CertificateDoesNotExistException) String() string {
  6982  	return awsutil.Prettify(s)
  6983  }
  6984  
  6985  // GoString returns the string representation.
  6986  //
  6987  // API parameter values that are decorated as "sensitive" in the API will not
  6988  // be included in the string output. The member name will be present, but the
  6989  // value will be replaced with "sensitive".
  6990  func (s CertificateDoesNotExistException) GoString() string {
  6991  	return s.String()
  6992  }
  6993  
  6994  func newErrorCertificateDoesNotExistException(v protocol.ResponseMetadata) error {
  6995  	return &CertificateDoesNotExistException{
  6996  		RespMetadata: v,
  6997  	}
  6998  }
  6999  
  7000  // Code returns the exception type name.
  7001  func (s *CertificateDoesNotExistException) Code() string {
  7002  	return "CertificateDoesNotExistException"
  7003  }
  7004  
  7005  // Message returns the exception's message.
  7006  func (s *CertificateDoesNotExistException) Message() string {
  7007  	if s.Message_ != nil {
  7008  		return *s.Message_
  7009  	}
  7010  	return ""
  7011  }
  7012  
  7013  // OrigErr always returns nil, satisfies awserr.Error interface.
  7014  func (s *CertificateDoesNotExistException) OrigErr() error {
  7015  	return nil
  7016  }
  7017  
  7018  func (s *CertificateDoesNotExistException) Error() string {
  7019  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7020  }
  7021  
  7022  // Status code returns the HTTP status code for the request's response error.
  7023  func (s *CertificateDoesNotExistException) StatusCode() int {
  7024  	return s.RespMetadata.StatusCode
  7025  }
  7026  
  7027  // RequestID returns the service's response RequestID for request.
  7028  func (s *CertificateDoesNotExistException) RequestID() string {
  7029  	return s.RespMetadata.RequestID
  7030  }
  7031  
  7032  // The certificate is being used for the LDAP security connection and cannot
  7033  // be removed without disabling LDAP security.
  7034  type CertificateInUseException struct {
  7035  	_            struct{}                  `type:"structure"`
  7036  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7037  
  7038  	// The descriptive message for the exception.
  7039  	Message_ *string `locationName:"Message" type:"string"`
  7040  
  7041  	// The Amazon Web Services request identifier.
  7042  	RequestId *string `type:"string"`
  7043  }
  7044  
  7045  // String returns the string representation.
  7046  //
  7047  // API parameter values that are decorated as "sensitive" in the API will not
  7048  // be included in the string output. The member name will be present, but the
  7049  // value will be replaced with "sensitive".
  7050  func (s CertificateInUseException) String() string {
  7051  	return awsutil.Prettify(s)
  7052  }
  7053  
  7054  // GoString returns the string representation.
  7055  //
  7056  // API parameter values that are decorated as "sensitive" in the API will not
  7057  // be included in the string output. The member name will be present, but the
  7058  // value will be replaced with "sensitive".
  7059  func (s CertificateInUseException) GoString() string {
  7060  	return s.String()
  7061  }
  7062  
  7063  func newErrorCertificateInUseException(v protocol.ResponseMetadata) error {
  7064  	return &CertificateInUseException{
  7065  		RespMetadata: v,
  7066  	}
  7067  }
  7068  
  7069  // Code returns the exception type name.
  7070  func (s *CertificateInUseException) Code() string {
  7071  	return "CertificateInUseException"
  7072  }
  7073  
  7074  // Message returns the exception's message.
  7075  func (s *CertificateInUseException) Message() string {
  7076  	if s.Message_ != nil {
  7077  		return *s.Message_
  7078  	}
  7079  	return ""
  7080  }
  7081  
  7082  // OrigErr always returns nil, satisfies awserr.Error interface.
  7083  func (s *CertificateInUseException) OrigErr() error {
  7084  	return nil
  7085  }
  7086  
  7087  func (s *CertificateInUseException) Error() string {
  7088  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7089  }
  7090  
  7091  // Status code returns the HTTP status code for the request's response error.
  7092  func (s *CertificateInUseException) StatusCode() int {
  7093  	return s.RespMetadata.StatusCode
  7094  }
  7095  
  7096  // RequestID returns the service's response RequestID for request.
  7097  func (s *CertificateInUseException) RequestID() string {
  7098  	return s.RespMetadata.RequestID
  7099  }
  7100  
  7101  // Contains general information about a certificate.
  7102  type CertificateInfo struct {
  7103  	_ struct{} `type:"structure"`
  7104  
  7105  	// The identifier of the certificate.
  7106  	CertificateId *string `type:"string"`
  7107  
  7108  	// The common name for the certificate.
  7109  	CommonName *string `type:"string"`
  7110  
  7111  	// The date and time when the certificate will expire.
  7112  	ExpiryDateTime *time.Time `type:"timestamp"`
  7113  
  7114  	// The state of the certificate.
  7115  	State *string `type:"string" enum:"CertificateState"`
  7116  
  7117  	// The function that the registered certificate performs. Valid values include
  7118  	// ClientLDAPS or ClientCertAuth. The default value is ClientLDAPS.
  7119  	Type *string `type:"string" enum:"CertificateType"`
  7120  }
  7121  
  7122  // String returns the string representation.
  7123  //
  7124  // API parameter values that are decorated as "sensitive" in the API will not
  7125  // be included in the string output. The member name will be present, but the
  7126  // value will be replaced with "sensitive".
  7127  func (s CertificateInfo) String() string {
  7128  	return awsutil.Prettify(s)
  7129  }
  7130  
  7131  // GoString returns the string representation.
  7132  //
  7133  // API parameter values that are decorated as "sensitive" in the API will not
  7134  // be included in the string output. The member name will be present, but the
  7135  // value will be replaced with "sensitive".
  7136  func (s CertificateInfo) GoString() string {
  7137  	return s.String()
  7138  }
  7139  
  7140  // SetCertificateId sets the CertificateId field's value.
  7141  func (s *CertificateInfo) SetCertificateId(v string) *CertificateInfo {
  7142  	s.CertificateId = &v
  7143  	return s
  7144  }
  7145  
  7146  // SetCommonName sets the CommonName field's value.
  7147  func (s *CertificateInfo) SetCommonName(v string) *CertificateInfo {
  7148  	s.CommonName = &v
  7149  	return s
  7150  }
  7151  
  7152  // SetExpiryDateTime sets the ExpiryDateTime field's value.
  7153  func (s *CertificateInfo) SetExpiryDateTime(v time.Time) *CertificateInfo {
  7154  	s.ExpiryDateTime = &v
  7155  	return s
  7156  }
  7157  
  7158  // SetState sets the State field's value.
  7159  func (s *CertificateInfo) SetState(v string) *CertificateInfo {
  7160  	s.State = &v
  7161  	return s
  7162  }
  7163  
  7164  // SetType sets the Type field's value.
  7165  func (s *CertificateInfo) SetType(v string) *CertificateInfo {
  7166  	s.Type = &v
  7167  	return s
  7168  }
  7169  
  7170  // The certificate could not be added because the certificate limit has been
  7171  // reached.
  7172  type CertificateLimitExceededException struct {
  7173  	_            struct{}                  `type:"structure"`
  7174  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7175  
  7176  	// The descriptive message for the exception.
  7177  	Message_ *string `locationName:"Message" type:"string"`
  7178  
  7179  	// The Amazon Web Services request identifier.
  7180  	RequestId *string `type:"string"`
  7181  }
  7182  
  7183  // String returns the string representation.
  7184  //
  7185  // API parameter values that are decorated as "sensitive" in the API will not
  7186  // be included in the string output. The member name will be present, but the
  7187  // value will be replaced with "sensitive".
  7188  func (s CertificateLimitExceededException) String() string {
  7189  	return awsutil.Prettify(s)
  7190  }
  7191  
  7192  // GoString returns the string representation.
  7193  //
  7194  // API parameter values that are decorated as "sensitive" in the API will not
  7195  // be included in the string output. The member name will be present, but the
  7196  // value will be replaced with "sensitive".
  7197  func (s CertificateLimitExceededException) GoString() string {
  7198  	return s.String()
  7199  }
  7200  
  7201  func newErrorCertificateLimitExceededException(v protocol.ResponseMetadata) error {
  7202  	return &CertificateLimitExceededException{
  7203  		RespMetadata: v,
  7204  	}
  7205  }
  7206  
  7207  // Code returns the exception type name.
  7208  func (s *CertificateLimitExceededException) Code() string {
  7209  	return "CertificateLimitExceededException"
  7210  }
  7211  
  7212  // Message returns the exception's message.
  7213  func (s *CertificateLimitExceededException) Message() string {
  7214  	if s.Message_ != nil {
  7215  		return *s.Message_
  7216  	}
  7217  	return ""
  7218  }
  7219  
  7220  // OrigErr always returns nil, satisfies awserr.Error interface.
  7221  func (s *CertificateLimitExceededException) OrigErr() error {
  7222  	return nil
  7223  }
  7224  
  7225  func (s *CertificateLimitExceededException) Error() string {
  7226  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7227  }
  7228  
  7229  // Status code returns the HTTP status code for the request's response error.
  7230  func (s *CertificateLimitExceededException) StatusCode() int {
  7231  	return s.RespMetadata.StatusCode
  7232  }
  7233  
  7234  // RequestID returns the service's response RequestID for request.
  7235  func (s *CertificateLimitExceededException) RequestID() string {
  7236  	return s.RespMetadata.RequestID
  7237  }
  7238  
  7239  // Contains information about a client authentication method for a directory.
  7240  type ClientAuthenticationSettingInfo struct {
  7241  	_ struct{} `type:"structure"`
  7242  
  7243  	// The date and time when the status of the client authentication type was last
  7244  	// updated.
  7245  	LastUpdatedDateTime *time.Time `type:"timestamp"`
  7246  
  7247  	// Whether the client authentication type is enabled or disabled for the specified
  7248  	// directory.
  7249  	Status *string `type:"string" enum:"ClientAuthenticationStatus"`
  7250  
  7251  	// The type of client authentication for the specified directory. If no type
  7252  	// is specified, a list of all client authentication types that are supported
  7253  	// for the directory is retrieved.
  7254  	Type *string `type:"string" enum:"ClientAuthenticationType"`
  7255  }
  7256  
  7257  // String returns the string representation.
  7258  //
  7259  // API parameter values that are decorated as "sensitive" in the API will not
  7260  // be included in the string output. The member name will be present, but the
  7261  // value will be replaced with "sensitive".
  7262  func (s ClientAuthenticationSettingInfo) String() string {
  7263  	return awsutil.Prettify(s)
  7264  }
  7265  
  7266  // GoString returns the string representation.
  7267  //
  7268  // API parameter values that are decorated as "sensitive" in the API will not
  7269  // be included in the string output. The member name will be present, but the
  7270  // value will be replaced with "sensitive".
  7271  func (s ClientAuthenticationSettingInfo) GoString() string {
  7272  	return s.String()
  7273  }
  7274  
  7275  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
  7276  func (s *ClientAuthenticationSettingInfo) SetLastUpdatedDateTime(v time.Time) *ClientAuthenticationSettingInfo {
  7277  	s.LastUpdatedDateTime = &v
  7278  	return s
  7279  }
  7280  
  7281  // SetStatus sets the Status field's value.
  7282  func (s *ClientAuthenticationSettingInfo) SetStatus(v string) *ClientAuthenticationSettingInfo {
  7283  	s.Status = &v
  7284  	return s
  7285  }
  7286  
  7287  // SetType sets the Type field's value.
  7288  func (s *ClientAuthenticationSettingInfo) SetType(v string) *ClientAuthenticationSettingInfo {
  7289  	s.Type = &v
  7290  	return s
  7291  }
  7292  
  7293  // Contains information about the client certificate authentication settings
  7294  // for the RegisterCertificate and DescribeCertificate operations.
  7295  type ClientCertAuthSettings struct {
  7296  	_ struct{} `type:"structure"`
  7297  
  7298  	// Specifies the URL of the default OCSP server used to check for revocation
  7299  	// status. A secondary value to any OCSP address found in the AIA extension
  7300  	// of the user certificate.
  7301  	OCSPUrl *string `min:"1" type:"string"`
  7302  }
  7303  
  7304  // String returns the string representation.
  7305  //
  7306  // API parameter values that are decorated as "sensitive" in the API will not
  7307  // be included in the string output. The member name will be present, but the
  7308  // value will be replaced with "sensitive".
  7309  func (s ClientCertAuthSettings) String() string {
  7310  	return awsutil.Prettify(s)
  7311  }
  7312  
  7313  // GoString returns the string representation.
  7314  //
  7315  // API parameter values that are decorated as "sensitive" in the API will not
  7316  // be included in the string output. The member name will be present, but the
  7317  // value will be replaced with "sensitive".
  7318  func (s ClientCertAuthSettings) GoString() string {
  7319  	return s.String()
  7320  }
  7321  
  7322  // Validate inspects the fields of the type to determine if they are valid.
  7323  func (s *ClientCertAuthSettings) Validate() error {
  7324  	invalidParams := request.ErrInvalidParams{Context: "ClientCertAuthSettings"}
  7325  	if s.OCSPUrl != nil && len(*s.OCSPUrl) < 1 {
  7326  		invalidParams.Add(request.NewErrParamMinLen("OCSPUrl", 1))
  7327  	}
  7328  
  7329  	if invalidParams.Len() > 0 {
  7330  		return invalidParams
  7331  	}
  7332  	return nil
  7333  }
  7334  
  7335  // SetOCSPUrl sets the OCSPUrl field's value.
  7336  func (s *ClientCertAuthSettings) SetOCSPUrl(v string) *ClientCertAuthSettings {
  7337  	s.OCSPUrl = &v
  7338  	return s
  7339  }
  7340  
  7341  // A client exception has occurred.
  7342  type ClientException struct {
  7343  	_            struct{}                  `type:"structure"`
  7344  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7345  
  7346  	// The descriptive message for the exception.
  7347  	Message_ *string `locationName:"Message" type:"string"`
  7348  
  7349  	// The Amazon Web Services request identifier.
  7350  	RequestId *string `type:"string"`
  7351  }
  7352  
  7353  // String returns the string representation.
  7354  //
  7355  // API parameter values that are decorated as "sensitive" in the API will not
  7356  // be included in the string output. The member name will be present, but the
  7357  // value will be replaced with "sensitive".
  7358  func (s ClientException) String() string {
  7359  	return awsutil.Prettify(s)
  7360  }
  7361  
  7362  // GoString returns the string representation.
  7363  //
  7364  // API parameter values that are decorated as "sensitive" in the API will not
  7365  // be included in the string output. The member name will be present, but the
  7366  // value will be replaced with "sensitive".
  7367  func (s ClientException) GoString() string {
  7368  	return s.String()
  7369  }
  7370  
  7371  func newErrorClientException(v protocol.ResponseMetadata) error {
  7372  	return &ClientException{
  7373  		RespMetadata: v,
  7374  	}
  7375  }
  7376  
  7377  // Code returns the exception type name.
  7378  func (s *ClientException) Code() string {
  7379  	return "ClientException"
  7380  }
  7381  
  7382  // Message returns the exception's message.
  7383  func (s *ClientException) Message() string {
  7384  	if s.Message_ != nil {
  7385  		return *s.Message_
  7386  	}
  7387  	return ""
  7388  }
  7389  
  7390  // OrigErr always returns nil, satisfies awserr.Error interface.
  7391  func (s *ClientException) OrigErr() error {
  7392  	return nil
  7393  }
  7394  
  7395  func (s *ClientException) Error() string {
  7396  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7397  }
  7398  
  7399  // Status code returns the HTTP status code for the request's response error.
  7400  func (s *ClientException) StatusCode() int {
  7401  	return s.RespMetadata.StatusCode
  7402  }
  7403  
  7404  // RequestID returns the service's response RequestID for request.
  7405  func (s *ClientException) RequestID() string {
  7406  	return s.RespMetadata.RequestID
  7407  }
  7408  
  7409  // Contains information about a computer account in a directory.
  7410  type Computer struct {
  7411  	_ struct{} `type:"structure"`
  7412  
  7413  	// An array of Attribute objects containing the LDAP attributes that belong
  7414  	// to the computer account.
  7415  	ComputerAttributes []*Attribute `type:"list"`
  7416  
  7417  	// The identifier of the computer.
  7418  	ComputerId *string `min:"1" type:"string"`
  7419  
  7420  	// The computer name.
  7421  	ComputerName *string `min:"1" type:"string"`
  7422  }
  7423  
  7424  // String returns the string representation.
  7425  //
  7426  // API parameter values that are decorated as "sensitive" in the API will not
  7427  // be included in the string output. The member name will be present, but the
  7428  // value will be replaced with "sensitive".
  7429  func (s Computer) String() string {
  7430  	return awsutil.Prettify(s)
  7431  }
  7432  
  7433  // GoString returns the string representation.
  7434  //
  7435  // API parameter values that are decorated as "sensitive" in the API will not
  7436  // be included in the string output. The member name will be present, but the
  7437  // value will be replaced with "sensitive".
  7438  func (s Computer) GoString() string {
  7439  	return s.String()
  7440  }
  7441  
  7442  // SetComputerAttributes sets the ComputerAttributes field's value.
  7443  func (s *Computer) SetComputerAttributes(v []*Attribute) *Computer {
  7444  	s.ComputerAttributes = v
  7445  	return s
  7446  }
  7447  
  7448  // SetComputerId sets the ComputerId field's value.
  7449  func (s *Computer) SetComputerId(v string) *Computer {
  7450  	s.ComputerId = &v
  7451  	return s
  7452  }
  7453  
  7454  // SetComputerName sets the ComputerName field's value.
  7455  func (s *Computer) SetComputerName(v string) *Computer {
  7456  	s.ComputerName = &v
  7457  	return s
  7458  }
  7459  
  7460  // Points to a remote domain with which you are setting up a trust relationship.
  7461  // Conditional forwarders are required in order to set up a trust relationship
  7462  // with another domain.
  7463  type ConditionalForwarder struct {
  7464  	_ struct{} `type:"structure"`
  7465  
  7466  	// The IP addresses of the remote DNS server associated with RemoteDomainName.
  7467  	// This is the IP address of the DNS server that your conditional forwarder
  7468  	// points to.
  7469  	DnsIpAddrs []*string `type:"list"`
  7470  
  7471  	// The fully qualified domain name (FQDN) of the remote domains pointed to by
  7472  	// the conditional forwarder.
  7473  	RemoteDomainName *string `type:"string"`
  7474  
  7475  	// The replication scope of the conditional forwarder. The only allowed value
  7476  	// is Domain, which will replicate the conditional forwarder to all of the domain
  7477  	// controllers for your Amazon Web Services directory.
  7478  	ReplicationScope *string `type:"string" enum:"ReplicationScope"`
  7479  }
  7480  
  7481  // String returns the string representation.
  7482  //
  7483  // API parameter values that are decorated as "sensitive" in the API will not
  7484  // be included in the string output. The member name will be present, but the
  7485  // value will be replaced with "sensitive".
  7486  func (s ConditionalForwarder) String() string {
  7487  	return awsutil.Prettify(s)
  7488  }
  7489  
  7490  // GoString returns the string representation.
  7491  //
  7492  // API parameter values that are decorated as "sensitive" in the API will not
  7493  // be included in the string output. The member name will be present, but the
  7494  // value will be replaced with "sensitive".
  7495  func (s ConditionalForwarder) GoString() string {
  7496  	return s.String()
  7497  }
  7498  
  7499  // SetDnsIpAddrs sets the DnsIpAddrs field's value.
  7500  func (s *ConditionalForwarder) SetDnsIpAddrs(v []*string) *ConditionalForwarder {
  7501  	s.DnsIpAddrs = v
  7502  	return s
  7503  }
  7504  
  7505  // SetRemoteDomainName sets the RemoteDomainName field's value.
  7506  func (s *ConditionalForwarder) SetRemoteDomainName(v string) *ConditionalForwarder {
  7507  	s.RemoteDomainName = &v
  7508  	return s
  7509  }
  7510  
  7511  // SetReplicationScope sets the ReplicationScope field's value.
  7512  func (s *ConditionalForwarder) SetReplicationScope(v string) *ConditionalForwarder {
  7513  	s.ReplicationScope = &v
  7514  	return s
  7515  }
  7516  
  7517  // Contains the inputs for the ConnectDirectory operation.
  7518  type ConnectDirectoryInput struct {
  7519  	_ struct{} `type:"structure"`
  7520  
  7521  	// A DirectoryConnectSettings object that contains additional information for
  7522  	// the operation.
  7523  	//
  7524  	// ConnectSettings is a required field
  7525  	ConnectSettings *DirectoryConnectSettings `type:"structure" required:"true"`
  7526  
  7527  	// A description for the directory.
  7528  	Description *string `type:"string"`
  7529  
  7530  	// The fully qualified name of your self-managed directory, such as corp.example.com.
  7531  	//
  7532  	// Name is a required field
  7533  	Name *string `type:"string" required:"true"`
  7534  
  7535  	// The password for your self-managed user account.
  7536  	//
  7537  	// Password is a sensitive parameter and its value will be
  7538  	// replaced with "sensitive" in string returned by ConnectDirectoryInput's
  7539  	// String and GoString methods.
  7540  	//
  7541  	// Password is a required field
  7542  	Password *string `min:"1" type:"string" required:"true" sensitive:"true"`
  7543  
  7544  	// The NetBIOS name of your self-managed directory, such as CORP.
  7545  	ShortName *string `type:"string"`
  7546  
  7547  	// The size of the directory.
  7548  	//
  7549  	// Size is a required field
  7550  	Size *string `type:"string" required:"true" enum:"DirectorySize"`
  7551  
  7552  	// The tags to be assigned to AD Connector.
  7553  	Tags []*Tag `type:"list"`
  7554  }
  7555  
  7556  // String returns the string representation.
  7557  //
  7558  // API parameter values that are decorated as "sensitive" in the API will not
  7559  // be included in the string output. The member name will be present, but the
  7560  // value will be replaced with "sensitive".
  7561  func (s ConnectDirectoryInput) String() string {
  7562  	return awsutil.Prettify(s)
  7563  }
  7564  
  7565  // GoString returns the string representation.
  7566  //
  7567  // API parameter values that are decorated as "sensitive" in the API will not
  7568  // be included in the string output. The member name will be present, but the
  7569  // value will be replaced with "sensitive".
  7570  func (s ConnectDirectoryInput) GoString() string {
  7571  	return s.String()
  7572  }
  7573  
  7574  // Validate inspects the fields of the type to determine if they are valid.
  7575  func (s *ConnectDirectoryInput) Validate() error {
  7576  	invalidParams := request.ErrInvalidParams{Context: "ConnectDirectoryInput"}
  7577  	if s.ConnectSettings == nil {
  7578  		invalidParams.Add(request.NewErrParamRequired("ConnectSettings"))
  7579  	}
  7580  	if s.Name == nil {
  7581  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7582  	}
  7583  	if s.Password == nil {
  7584  		invalidParams.Add(request.NewErrParamRequired("Password"))
  7585  	}
  7586  	if s.Password != nil && len(*s.Password) < 1 {
  7587  		invalidParams.Add(request.NewErrParamMinLen("Password", 1))
  7588  	}
  7589  	if s.Size == nil {
  7590  		invalidParams.Add(request.NewErrParamRequired("Size"))
  7591  	}
  7592  	if s.ConnectSettings != nil {
  7593  		if err := s.ConnectSettings.Validate(); err != nil {
  7594  			invalidParams.AddNested("ConnectSettings", err.(request.ErrInvalidParams))
  7595  		}
  7596  	}
  7597  	if s.Tags != nil {
  7598  		for i, v := range s.Tags {
  7599  			if v == nil {
  7600  				continue
  7601  			}
  7602  			if err := v.Validate(); err != nil {
  7603  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  7604  			}
  7605  		}
  7606  	}
  7607  
  7608  	if invalidParams.Len() > 0 {
  7609  		return invalidParams
  7610  	}
  7611  	return nil
  7612  }
  7613  
  7614  // SetConnectSettings sets the ConnectSettings field's value.
  7615  func (s *ConnectDirectoryInput) SetConnectSettings(v *DirectoryConnectSettings) *ConnectDirectoryInput {
  7616  	s.ConnectSettings = v
  7617  	return s
  7618  }
  7619  
  7620  // SetDescription sets the Description field's value.
  7621  func (s *ConnectDirectoryInput) SetDescription(v string) *ConnectDirectoryInput {
  7622  	s.Description = &v
  7623  	return s
  7624  }
  7625  
  7626  // SetName sets the Name field's value.
  7627  func (s *ConnectDirectoryInput) SetName(v string) *ConnectDirectoryInput {
  7628  	s.Name = &v
  7629  	return s
  7630  }
  7631  
  7632  // SetPassword sets the Password field's value.
  7633  func (s *ConnectDirectoryInput) SetPassword(v string) *ConnectDirectoryInput {
  7634  	s.Password = &v
  7635  	return s
  7636  }
  7637  
  7638  // SetShortName sets the ShortName field's value.
  7639  func (s *ConnectDirectoryInput) SetShortName(v string) *ConnectDirectoryInput {
  7640  	s.ShortName = &v
  7641  	return s
  7642  }
  7643  
  7644  // SetSize sets the Size field's value.
  7645  func (s *ConnectDirectoryInput) SetSize(v string) *ConnectDirectoryInput {
  7646  	s.Size = &v
  7647  	return s
  7648  }
  7649  
  7650  // SetTags sets the Tags field's value.
  7651  func (s *ConnectDirectoryInput) SetTags(v []*Tag) *ConnectDirectoryInput {
  7652  	s.Tags = v
  7653  	return s
  7654  }
  7655  
  7656  // Contains the results of the ConnectDirectory operation.
  7657  type ConnectDirectoryOutput struct {
  7658  	_ struct{} `type:"structure"`
  7659  
  7660  	// The identifier of the new directory.
  7661  	DirectoryId *string `type:"string"`
  7662  }
  7663  
  7664  // String returns the string representation.
  7665  //
  7666  // API parameter values that are decorated as "sensitive" in the API will not
  7667  // be included in the string output. The member name will be present, but the
  7668  // value will be replaced with "sensitive".
  7669  func (s ConnectDirectoryOutput) String() string {
  7670  	return awsutil.Prettify(s)
  7671  }
  7672  
  7673  // GoString returns the string representation.
  7674  //
  7675  // API parameter values that are decorated as "sensitive" in the API will not
  7676  // be included in the string output. The member name will be present, but the
  7677  // value will be replaced with "sensitive".
  7678  func (s ConnectDirectoryOutput) GoString() string {
  7679  	return s.String()
  7680  }
  7681  
  7682  // SetDirectoryId sets the DirectoryId field's value.
  7683  func (s *ConnectDirectoryOutput) SetDirectoryId(v string) *ConnectDirectoryOutput {
  7684  	s.DirectoryId = &v
  7685  	return s
  7686  }
  7687  
  7688  // Contains the inputs for the CreateAlias operation.
  7689  type CreateAliasInput struct {
  7690  	_ struct{} `type:"structure"`
  7691  
  7692  	// The requested alias.
  7693  	//
  7694  	// The alias must be unique amongst all aliases in Amazon Web Services. This
  7695  	// operation throws an EntityAlreadyExistsException error if the alias already
  7696  	// exists.
  7697  	//
  7698  	// Alias is a required field
  7699  	Alias *string `min:"1" type:"string" required:"true"`
  7700  
  7701  	// The identifier of the directory for which to create the alias.
  7702  	//
  7703  	// DirectoryId is a required field
  7704  	DirectoryId *string `type:"string" required:"true"`
  7705  }
  7706  
  7707  // String returns the string representation.
  7708  //
  7709  // API parameter values that are decorated as "sensitive" in the API will not
  7710  // be included in the string output. The member name will be present, but the
  7711  // value will be replaced with "sensitive".
  7712  func (s CreateAliasInput) String() string {
  7713  	return awsutil.Prettify(s)
  7714  }
  7715  
  7716  // GoString returns the string representation.
  7717  //
  7718  // API parameter values that are decorated as "sensitive" in the API will not
  7719  // be included in the string output. The member name will be present, but the
  7720  // value will be replaced with "sensitive".
  7721  func (s CreateAliasInput) GoString() string {
  7722  	return s.String()
  7723  }
  7724  
  7725  // Validate inspects the fields of the type to determine if they are valid.
  7726  func (s *CreateAliasInput) Validate() error {
  7727  	invalidParams := request.ErrInvalidParams{Context: "CreateAliasInput"}
  7728  	if s.Alias == nil {
  7729  		invalidParams.Add(request.NewErrParamRequired("Alias"))
  7730  	}
  7731  	if s.Alias != nil && len(*s.Alias) < 1 {
  7732  		invalidParams.Add(request.NewErrParamMinLen("Alias", 1))
  7733  	}
  7734  	if s.DirectoryId == nil {
  7735  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  7736  	}
  7737  
  7738  	if invalidParams.Len() > 0 {
  7739  		return invalidParams
  7740  	}
  7741  	return nil
  7742  }
  7743  
  7744  // SetAlias sets the Alias field's value.
  7745  func (s *CreateAliasInput) SetAlias(v string) *CreateAliasInput {
  7746  	s.Alias = &v
  7747  	return s
  7748  }
  7749  
  7750  // SetDirectoryId sets the DirectoryId field's value.
  7751  func (s *CreateAliasInput) SetDirectoryId(v string) *CreateAliasInput {
  7752  	s.DirectoryId = &v
  7753  	return s
  7754  }
  7755  
  7756  // Contains the results of the CreateAlias operation.
  7757  type CreateAliasOutput struct {
  7758  	_ struct{} `type:"structure"`
  7759  
  7760  	// The alias for the directory.
  7761  	Alias *string `min:"1" type:"string"`
  7762  
  7763  	// The identifier of the directory.
  7764  	DirectoryId *string `type:"string"`
  7765  }
  7766  
  7767  // String returns the string representation.
  7768  //
  7769  // API parameter values that are decorated as "sensitive" in the API will not
  7770  // be included in the string output. The member name will be present, but the
  7771  // value will be replaced with "sensitive".
  7772  func (s CreateAliasOutput) String() string {
  7773  	return awsutil.Prettify(s)
  7774  }
  7775  
  7776  // GoString returns the string representation.
  7777  //
  7778  // API parameter values that are decorated as "sensitive" in the API will not
  7779  // be included in the string output. The member name will be present, but the
  7780  // value will be replaced with "sensitive".
  7781  func (s CreateAliasOutput) GoString() string {
  7782  	return s.String()
  7783  }
  7784  
  7785  // SetAlias sets the Alias field's value.
  7786  func (s *CreateAliasOutput) SetAlias(v string) *CreateAliasOutput {
  7787  	s.Alias = &v
  7788  	return s
  7789  }
  7790  
  7791  // SetDirectoryId sets the DirectoryId field's value.
  7792  func (s *CreateAliasOutput) SetDirectoryId(v string) *CreateAliasOutput {
  7793  	s.DirectoryId = &v
  7794  	return s
  7795  }
  7796  
  7797  // Contains the inputs for the CreateComputer operation.
  7798  type CreateComputerInput struct {
  7799  	_ struct{} `type:"structure"`
  7800  
  7801  	// An array of Attribute objects that contain any LDAP attributes to apply to
  7802  	// the computer account.
  7803  	ComputerAttributes []*Attribute `type:"list"`
  7804  
  7805  	// The name of the computer account.
  7806  	//
  7807  	// ComputerName is a required field
  7808  	ComputerName *string `min:"1" type:"string" required:"true"`
  7809  
  7810  	// The identifier of the directory in which to create the computer account.
  7811  	//
  7812  	// DirectoryId is a required field
  7813  	DirectoryId *string `type:"string" required:"true"`
  7814  
  7815  	// The fully-qualified distinguished name of the organizational unit to place
  7816  	// the computer account in.
  7817  	OrganizationalUnitDistinguishedName *string `min:"1" type:"string"`
  7818  
  7819  	// A one-time password that is used to join the computer to the directory. You
  7820  	// should generate a random, strong password to use for this parameter.
  7821  	//
  7822  	// Password is a sensitive parameter and its value will be
  7823  	// replaced with "sensitive" in string returned by CreateComputerInput's
  7824  	// String and GoString methods.
  7825  	//
  7826  	// Password is a required field
  7827  	Password *string `min:"8" type:"string" required:"true" sensitive:"true"`
  7828  }
  7829  
  7830  // String returns the string representation.
  7831  //
  7832  // API parameter values that are decorated as "sensitive" in the API will not
  7833  // be included in the string output. The member name will be present, but the
  7834  // value will be replaced with "sensitive".
  7835  func (s CreateComputerInput) String() string {
  7836  	return awsutil.Prettify(s)
  7837  }
  7838  
  7839  // GoString returns the string representation.
  7840  //
  7841  // API parameter values that are decorated as "sensitive" in the API will not
  7842  // be included in the string output. The member name will be present, but the
  7843  // value will be replaced with "sensitive".
  7844  func (s CreateComputerInput) GoString() string {
  7845  	return s.String()
  7846  }
  7847  
  7848  // Validate inspects the fields of the type to determine if they are valid.
  7849  func (s *CreateComputerInput) Validate() error {
  7850  	invalidParams := request.ErrInvalidParams{Context: "CreateComputerInput"}
  7851  	if s.ComputerName == nil {
  7852  		invalidParams.Add(request.NewErrParamRequired("ComputerName"))
  7853  	}
  7854  	if s.ComputerName != nil && len(*s.ComputerName) < 1 {
  7855  		invalidParams.Add(request.NewErrParamMinLen("ComputerName", 1))
  7856  	}
  7857  	if s.DirectoryId == nil {
  7858  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  7859  	}
  7860  	if s.OrganizationalUnitDistinguishedName != nil && len(*s.OrganizationalUnitDistinguishedName) < 1 {
  7861  		invalidParams.Add(request.NewErrParamMinLen("OrganizationalUnitDistinguishedName", 1))
  7862  	}
  7863  	if s.Password == nil {
  7864  		invalidParams.Add(request.NewErrParamRequired("Password"))
  7865  	}
  7866  	if s.Password != nil && len(*s.Password) < 8 {
  7867  		invalidParams.Add(request.NewErrParamMinLen("Password", 8))
  7868  	}
  7869  	if s.ComputerAttributes != nil {
  7870  		for i, v := range s.ComputerAttributes {
  7871  			if v == nil {
  7872  				continue
  7873  			}
  7874  			if err := v.Validate(); err != nil {
  7875  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComputerAttributes", i), err.(request.ErrInvalidParams))
  7876  			}
  7877  		}
  7878  	}
  7879  
  7880  	if invalidParams.Len() > 0 {
  7881  		return invalidParams
  7882  	}
  7883  	return nil
  7884  }
  7885  
  7886  // SetComputerAttributes sets the ComputerAttributes field's value.
  7887  func (s *CreateComputerInput) SetComputerAttributes(v []*Attribute) *CreateComputerInput {
  7888  	s.ComputerAttributes = v
  7889  	return s
  7890  }
  7891  
  7892  // SetComputerName sets the ComputerName field's value.
  7893  func (s *CreateComputerInput) SetComputerName(v string) *CreateComputerInput {
  7894  	s.ComputerName = &v
  7895  	return s
  7896  }
  7897  
  7898  // SetDirectoryId sets the DirectoryId field's value.
  7899  func (s *CreateComputerInput) SetDirectoryId(v string) *CreateComputerInput {
  7900  	s.DirectoryId = &v
  7901  	return s
  7902  }
  7903  
  7904  // SetOrganizationalUnitDistinguishedName sets the OrganizationalUnitDistinguishedName field's value.
  7905  func (s *CreateComputerInput) SetOrganizationalUnitDistinguishedName(v string) *CreateComputerInput {
  7906  	s.OrganizationalUnitDistinguishedName = &v
  7907  	return s
  7908  }
  7909  
  7910  // SetPassword sets the Password field's value.
  7911  func (s *CreateComputerInput) SetPassword(v string) *CreateComputerInput {
  7912  	s.Password = &v
  7913  	return s
  7914  }
  7915  
  7916  // Contains the results for the CreateComputer operation.
  7917  type CreateComputerOutput struct {
  7918  	_ struct{} `type:"structure"`
  7919  
  7920  	// A Computer object that represents the computer account.
  7921  	Computer *Computer `type:"structure"`
  7922  }
  7923  
  7924  // String returns the string representation.
  7925  //
  7926  // API parameter values that are decorated as "sensitive" in the API will not
  7927  // be included in the string output. The member name will be present, but the
  7928  // value will be replaced with "sensitive".
  7929  func (s CreateComputerOutput) String() string {
  7930  	return awsutil.Prettify(s)
  7931  }
  7932  
  7933  // GoString returns the string representation.
  7934  //
  7935  // API parameter values that are decorated as "sensitive" in the API will not
  7936  // be included in the string output. The member name will be present, but the
  7937  // value will be replaced with "sensitive".
  7938  func (s CreateComputerOutput) GoString() string {
  7939  	return s.String()
  7940  }
  7941  
  7942  // SetComputer sets the Computer field's value.
  7943  func (s *CreateComputerOutput) SetComputer(v *Computer) *CreateComputerOutput {
  7944  	s.Computer = v
  7945  	return s
  7946  }
  7947  
  7948  // Initiates the creation of a conditional forwarder for your Directory Service
  7949  // for Microsoft Active Directory. Conditional forwarders are required in order
  7950  // to set up a trust relationship with another domain.
  7951  type CreateConditionalForwarderInput struct {
  7952  	_ struct{} `type:"structure"`
  7953  
  7954  	// The directory ID of the Amazon Web Services directory for which you are creating
  7955  	// the conditional forwarder.
  7956  	//
  7957  	// DirectoryId is a required field
  7958  	DirectoryId *string `type:"string" required:"true"`
  7959  
  7960  	// The IP addresses of the remote DNS server associated with RemoteDomainName.
  7961  	//
  7962  	// DnsIpAddrs is a required field
  7963  	DnsIpAddrs []*string `type:"list" required:"true"`
  7964  
  7965  	// The fully qualified domain name (FQDN) of the remote domain with which you
  7966  	// will set up a trust relationship.
  7967  	//
  7968  	// RemoteDomainName is a required field
  7969  	RemoteDomainName *string `type:"string" required:"true"`
  7970  }
  7971  
  7972  // String returns the string representation.
  7973  //
  7974  // API parameter values that are decorated as "sensitive" in the API will not
  7975  // be included in the string output. The member name will be present, but the
  7976  // value will be replaced with "sensitive".
  7977  func (s CreateConditionalForwarderInput) String() string {
  7978  	return awsutil.Prettify(s)
  7979  }
  7980  
  7981  // GoString returns the string representation.
  7982  //
  7983  // API parameter values that are decorated as "sensitive" in the API will not
  7984  // be included in the string output. The member name will be present, but the
  7985  // value will be replaced with "sensitive".
  7986  func (s CreateConditionalForwarderInput) GoString() string {
  7987  	return s.String()
  7988  }
  7989  
  7990  // Validate inspects the fields of the type to determine if they are valid.
  7991  func (s *CreateConditionalForwarderInput) Validate() error {
  7992  	invalidParams := request.ErrInvalidParams{Context: "CreateConditionalForwarderInput"}
  7993  	if s.DirectoryId == nil {
  7994  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  7995  	}
  7996  	if s.DnsIpAddrs == nil {
  7997  		invalidParams.Add(request.NewErrParamRequired("DnsIpAddrs"))
  7998  	}
  7999  	if s.RemoteDomainName == nil {
  8000  		invalidParams.Add(request.NewErrParamRequired("RemoteDomainName"))
  8001  	}
  8002  
  8003  	if invalidParams.Len() > 0 {
  8004  		return invalidParams
  8005  	}
  8006  	return nil
  8007  }
  8008  
  8009  // SetDirectoryId sets the DirectoryId field's value.
  8010  func (s *CreateConditionalForwarderInput) SetDirectoryId(v string) *CreateConditionalForwarderInput {
  8011  	s.DirectoryId = &v
  8012  	return s
  8013  }
  8014  
  8015  // SetDnsIpAddrs sets the DnsIpAddrs field's value.
  8016  func (s *CreateConditionalForwarderInput) SetDnsIpAddrs(v []*string) *CreateConditionalForwarderInput {
  8017  	s.DnsIpAddrs = v
  8018  	return s
  8019  }
  8020  
  8021  // SetRemoteDomainName sets the RemoteDomainName field's value.
  8022  func (s *CreateConditionalForwarderInput) SetRemoteDomainName(v string) *CreateConditionalForwarderInput {
  8023  	s.RemoteDomainName = &v
  8024  	return s
  8025  }
  8026  
  8027  // The result of a CreateConditinalForwarder request.
  8028  type CreateConditionalForwarderOutput struct {
  8029  	_ struct{} `type:"structure"`
  8030  }
  8031  
  8032  // String returns the string representation.
  8033  //
  8034  // API parameter values that are decorated as "sensitive" in the API will not
  8035  // be included in the string output. The member name will be present, but the
  8036  // value will be replaced with "sensitive".
  8037  func (s CreateConditionalForwarderOutput) String() string {
  8038  	return awsutil.Prettify(s)
  8039  }
  8040  
  8041  // GoString returns the string representation.
  8042  //
  8043  // API parameter values that are decorated as "sensitive" in the API will not
  8044  // be included in the string output. The member name will be present, but the
  8045  // value will be replaced with "sensitive".
  8046  func (s CreateConditionalForwarderOutput) GoString() string {
  8047  	return s.String()
  8048  }
  8049  
  8050  // Contains the inputs for the CreateDirectory operation.
  8051  type CreateDirectoryInput struct {
  8052  	_ struct{} `type:"structure"`
  8053  
  8054  	// A description for the directory.
  8055  	Description *string `type:"string"`
  8056  
  8057  	// The fully qualified name for the directory, such as corp.example.com.
  8058  	//
  8059  	// Name is a required field
  8060  	Name *string `type:"string" required:"true"`
  8061  
  8062  	// The password for the directory administrator. The directory creation process
  8063  	// creates a directory administrator account with the user name Administrator
  8064  	// and this password.
  8065  	//
  8066  	// If you need to change the password for the administrator account, you can
  8067  	// use the ResetUserPassword API call.
  8068  	//
  8069  	// The regex pattern for this string is made up of the following conditions:
  8070  	//
  8071  	//    * Length (?=^.{8,64}$) – Must be between 8 and 64 characters
  8072  	//
  8073  	// AND any 3 of the following password complexity rules required by Active Directory:
  8074  	//
  8075  	//    * Numbers and upper case and lowercase (?=.*\d)(?=.*[A-Z])(?=.*[a-z])
  8076  	//
  8077  	//    * Numbers and special characters and lower case (?=.*\d)(?=.*[^A-Za-z0-9\s])(?=.*[a-z])
  8078  	//
  8079  	//    * Special characters and upper case and lower case (?=.*[^A-Za-z0-9\s])(?=.*[A-Z])(?=.*[a-z])
  8080  	//
  8081  	//    * Numbers and upper case and special characters (?=.*\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9\s])
  8082  	//
  8083  	// For additional information about how Active Directory passwords are enforced,
  8084  	// see Password must meet complexity requirements (https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/password-must-meet-complexity-requirements)
  8085  	// on the Microsoft website.
  8086  	//
  8087  	// Password is a sensitive parameter and its value will be
  8088  	// replaced with "sensitive" in string returned by CreateDirectoryInput's
  8089  	// String and GoString methods.
  8090  	//
  8091  	// Password is a required field
  8092  	Password *string `type:"string" required:"true" sensitive:"true"`
  8093  
  8094  	// The NetBIOS name of the directory, such as CORP.
  8095  	ShortName *string `type:"string"`
  8096  
  8097  	// The size of the directory.
  8098  	//
  8099  	// Size is a required field
  8100  	Size *string `type:"string" required:"true" enum:"DirectorySize"`
  8101  
  8102  	// The tags to be assigned to the Simple AD directory.
  8103  	Tags []*Tag `type:"list"`
  8104  
  8105  	// A DirectoryVpcSettings object that contains additional information for the
  8106  	// operation.
  8107  	VpcSettings *DirectoryVpcSettings `type:"structure"`
  8108  }
  8109  
  8110  // String returns the string representation.
  8111  //
  8112  // API parameter values that are decorated as "sensitive" in the API will not
  8113  // be included in the string output. The member name will be present, but the
  8114  // value will be replaced with "sensitive".
  8115  func (s CreateDirectoryInput) String() string {
  8116  	return awsutil.Prettify(s)
  8117  }
  8118  
  8119  // GoString returns the string representation.
  8120  //
  8121  // API parameter values that are decorated as "sensitive" in the API will not
  8122  // be included in the string output. The member name will be present, but the
  8123  // value will be replaced with "sensitive".
  8124  func (s CreateDirectoryInput) GoString() string {
  8125  	return s.String()
  8126  }
  8127  
  8128  // Validate inspects the fields of the type to determine if they are valid.
  8129  func (s *CreateDirectoryInput) Validate() error {
  8130  	invalidParams := request.ErrInvalidParams{Context: "CreateDirectoryInput"}
  8131  	if s.Name == nil {
  8132  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8133  	}
  8134  	if s.Password == nil {
  8135  		invalidParams.Add(request.NewErrParamRequired("Password"))
  8136  	}
  8137  	if s.Size == nil {
  8138  		invalidParams.Add(request.NewErrParamRequired("Size"))
  8139  	}
  8140  	if s.Tags != nil {
  8141  		for i, v := range s.Tags {
  8142  			if v == nil {
  8143  				continue
  8144  			}
  8145  			if err := v.Validate(); err != nil {
  8146  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  8147  			}
  8148  		}
  8149  	}
  8150  	if s.VpcSettings != nil {
  8151  		if err := s.VpcSettings.Validate(); err != nil {
  8152  			invalidParams.AddNested("VpcSettings", err.(request.ErrInvalidParams))
  8153  		}
  8154  	}
  8155  
  8156  	if invalidParams.Len() > 0 {
  8157  		return invalidParams
  8158  	}
  8159  	return nil
  8160  }
  8161  
  8162  // SetDescription sets the Description field's value.
  8163  func (s *CreateDirectoryInput) SetDescription(v string) *CreateDirectoryInput {
  8164  	s.Description = &v
  8165  	return s
  8166  }
  8167  
  8168  // SetName sets the Name field's value.
  8169  func (s *CreateDirectoryInput) SetName(v string) *CreateDirectoryInput {
  8170  	s.Name = &v
  8171  	return s
  8172  }
  8173  
  8174  // SetPassword sets the Password field's value.
  8175  func (s *CreateDirectoryInput) SetPassword(v string) *CreateDirectoryInput {
  8176  	s.Password = &v
  8177  	return s
  8178  }
  8179  
  8180  // SetShortName sets the ShortName field's value.
  8181  func (s *CreateDirectoryInput) SetShortName(v string) *CreateDirectoryInput {
  8182  	s.ShortName = &v
  8183  	return s
  8184  }
  8185  
  8186  // SetSize sets the Size field's value.
  8187  func (s *CreateDirectoryInput) SetSize(v string) *CreateDirectoryInput {
  8188  	s.Size = &v
  8189  	return s
  8190  }
  8191  
  8192  // SetTags sets the Tags field's value.
  8193  func (s *CreateDirectoryInput) SetTags(v []*Tag) *CreateDirectoryInput {
  8194  	s.Tags = v
  8195  	return s
  8196  }
  8197  
  8198  // SetVpcSettings sets the VpcSettings field's value.
  8199  func (s *CreateDirectoryInput) SetVpcSettings(v *DirectoryVpcSettings) *CreateDirectoryInput {
  8200  	s.VpcSettings = v
  8201  	return s
  8202  }
  8203  
  8204  // Contains the results of the CreateDirectory operation.
  8205  type CreateDirectoryOutput struct {
  8206  	_ struct{} `type:"structure"`
  8207  
  8208  	// The identifier of the directory that was created.
  8209  	DirectoryId *string `type:"string"`
  8210  }
  8211  
  8212  // String returns the string representation.
  8213  //
  8214  // API parameter values that are decorated as "sensitive" in the API will not
  8215  // be included in the string output. The member name will be present, but the
  8216  // value will be replaced with "sensitive".
  8217  func (s CreateDirectoryOutput) String() string {
  8218  	return awsutil.Prettify(s)
  8219  }
  8220  
  8221  // GoString returns the string representation.
  8222  //
  8223  // API parameter values that are decorated as "sensitive" in the API will not
  8224  // be included in the string output. The member name will be present, but the
  8225  // value will be replaced with "sensitive".
  8226  func (s CreateDirectoryOutput) GoString() string {
  8227  	return s.String()
  8228  }
  8229  
  8230  // SetDirectoryId sets the DirectoryId field's value.
  8231  func (s *CreateDirectoryOutput) SetDirectoryId(v string) *CreateDirectoryOutput {
  8232  	s.DirectoryId = &v
  8233  	return s
  8234  }
  8235  
  8236  type CreateLogSubscriptionInput struct {
  8237  	_ struct{} `type:"structure"`
  8238  
  8239  	// Identifier of the directory to which you want to subscribe and receive real-time
  8240  	// logs to your specified CloudWatch log group.
  8241  	//
  8242  	// DirectoryId is a required field
  8243  	DirectoryId *string `type:"string" required:"true"`
  8244  
  8245  	// The name of the CloudWatch log group where the real-time domain controller
  8246  	// logs are forwarded.
  8247  	//
  8248  	// LogGroupName is a required field
  8249  	LogGroupName *string `min:"1" type:"string" required:"true"`
  8250  }
  8251  
  8252  // String returns the string representation.
  8253  //
  8254  // API parameter values that are decorated as "sensitive" in the API will not
  8255  // be included in the string output. The member name will be present, but the
  8256  // value will be replaced with "sensitive".
  8257  func (s CreateLogSubscriptionInput) String() string {
  8258  	return awsutil.Prettify(s)
  8259  }
  8260  
  8261  // GoString returns the string representation.
  8262  //
  8263  // API parameter values that are decorated as "sensitive" in the API will not
  8264  // be included in the string output. The member name will be present, but the
  8265  // value will be replaced with "sensitive".
  8266  func (s CreateLogSubscriptionInput) GoString() string {
  8267  	return s.String()
  8268  }
  8269  
  8270  // Validate inspects the fields of the type to determine if they are valid.
  8271  func (s *CreateLogSubscriptionInput) Validate() error {
  8272  	invalidParams := request.ErrInvalidParams{Context: "CreateLogSubscriptionInput"}
  8273  	if s.DirectoryId == nil {
  8274  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  8275  	}
  8276  	if s.LogGroupName == nil {
  8277  		invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
  8278  	}
  8279  	if s.LogGroupName != nil && len(*s.LogGroupName) < 1 {
  8280  		invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1))
  8281  	}
  8282  
  8283  	if invalidParams.Len() > 0 {
  8284  		return invalidParams
  8285  	}
  8286  	return nil
  8287  }
  8288  
  8289  // SetDirectoryId sets the DirectoryId field's value.
  8290  func (s *CreateLogSubscriptionInput) SetDirectoryId(v string) *CreateLogSubscriptionInput {
  8291  	s.DirectoryId = &v
  8292  	return s
  8293  }
  8294  
  8295  // SetLogGroupName sets the LogGroupName field's value.
  8296  func (s *CreateLogSubscriptionInput) SetLogGroupName(v string) *CreateLogSubscriptionInput {
  8297  	s.LogGroupName = &v
  8298  	return s
  8299  }
  8300  
  8301  type CreateLogSubscriptionOutput struct {
  8302  	_ struct{} `type:"structure"`
  8303  }
  8304  
  8305  // String returns the string representation.
  8306  //
  8307  // API parameter values that are decorated as "sensitive" in the API will not
  8308  // be included in the string output. The member name will be present, but the
  8309  // value will be replaced with "sensitive".
  8310  func (s CreateLogSubscriptionOutput) String() string {
  8311  	return awsutil.Prettify(s)
  8312  }
  8313  
  8314  // GoString returns the string representation.
  8315  //
  8316  // API parameter values that are decorated as "sensitive" in the API will not
  8317  // be included in the string output. The member name will be present, but the
  8318  // value will be replaced with "sensitive".
  8319  func (s CreateLogSubscriptionOutput) GoString() string {
  8320  	return s.String()
  8321  }
  8322  
  8323  // Creates an Managed Microsoft AD directory.
  8324  type CreateMicrosoftADInput struct {
  8325  	_ struct{} `type:"structure"`
  8326  
  8327  	// A description for the directory. This label will appear on the Amazon Web
  8328  	// Services console Directory Details page after the directory is created.
  8329  	Description *string `type:"string"`
  8330  
  8331  	// Managed Microsoft AD is available in two editions: Standard and Enterprise.
  8332  	// Enterprise is the default.
  8333  	Edition *string `type:"string" enum:"DirectoryEdition"`
  8334  
  8335  	// The fully qualified domain name for the Managed Microsoft AD directory, such
  8336  	// as corp.example.com. This name will resolve inside your VPC only. It does
  8337  	// not need to be publicly resolvable.
  8338  	//
  8339  	// Name is a required field
  8340  	Name *string `type:"string" required:"true"`
  8341  
  8342  	// The password for the default administrative user named Admin.
  8343  	//
  8344  	// If you need to change the password for the administrator account, you can
  8345  	// use the ResetUserPassword API call.
  8346  	//
  8347  	// Password is a sensitive parameter and its value will be
  8348  	// replaced with "sensitive" in string returned by CreateMicrosoftADInput's
  8349  	// String and GoString methods.
  8350  	//
  8351  	// Password is a required field
  8352  	Password *string `type:"string" required:"true" sensitive:"true"`
  8353  
  8354  	// The NetBIOS name for your domain, such as CORP. If you don't specify a NetBIOS
  8355  	// name, it will default to the first part of your directory DNS. For example,
  8356  	// CORP for the directory DNS corp.example.com.
  8357  	ShortName *string `type:"string"`
  8358  
  8359  	// The tags to be assigned to the Managed Microsoft AD directory.
  8360  	Tags []*Tag `type:"list"`
  8361  
  8362  	// Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.
  8363  	//
  8364  	// VpcSettings is a required field
  8365  	VpcSettings *DirectoryVpcSettings `type:"structure" required:"true"`
  8366  }
  8367  
  8368  // String returns the string representation.
  8369  //
  8370  // API parameter values that are decorated as "sensitive" in the API will not
  8371  // be included in the string output. The member name will be present, but the
  8372  // value will be replaced with "sensitive".
  8373  func (s CreateMicrosoftADInput) String() string {
  8374  	return awsutil.Prettify(s)
  8375  }
  8376  
  8377  // GoString returns the string representation.
  8378  //
  8379  // API parameter values that are decorated as "sensitive" in the API will not
  8380  // be included in the string output. The member name will be present, but the
  8381  // value will be replaced with "sensitive".
  8382  func (s CreateMicrosoftADInput) GoString() string {
  8383  	return s.String()
  8384  }
  8385  
  8386  // Validate inspects the fields of the type to determine if they are valid.
  8387  func (s *CreateMicrosoftADInput) Validate() error {
  8388  	invalidParams := request.ErrInvalidParams{Context: "CreateMicrosoftADInput"}
  8389  	if s.Name == nil {
  8390  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8391  	}
  8392  	if s.Password == nil {
  8393  		invalidParams.Add(request.NewErrParamRequired("Password"))
  8394  	}
  8395  	if s.VpcSettings == nil {
  8396  		invalidParams.Add(request.NewErrParamRequired("VpcSettings"))
  8397  	}
  8398  	if s.Tags != nil {
  8399  		for i, v := range s.Tags {
  8400  			if v == nil {
  8401  				continue
  8402  			}
  8403  			if err := v.Validate(); err != nil {
  8404  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  8405  			}
  8406  		}
  8407  	}
  8408  	if s.VpcSettings != nil {
  8409  		if err := s.VpcSettings.Validate(); err != nil {
  8410  			invalidParams.AddNested("VpcSettings", err.(request.ErrInvalidParams))
  8411  		}
  8412  	}
  8413  
  8414  	if invalidParams.Len() > 0 {
  8415  		return invalidParams
  8416  	}
  8417  	return nil
  8418  }
  8419  
  8420  // SetDescription sets the Description field's value.
  8421  func (s *CreateMicrosoftADInput) SetDescription(v string) *CreateMicrosoftADInput {
  8422  	s.Description = &v
  8423  	return s
  8424  }
  8425  
  8426  // SetEdition sets the Edition field's value.
  8427  func (s *CreateMicrosoftADInput) SetEdition(v string) *CreateMicrosoftADInput {
  8428  	s.Edition = &v
  8429  	return s
  8430  }
  8431  
  8432  // SetName sets the Name field's value.
  8433  func (s *CreateMicrosoftADInput) SetName(v string) *CreateMicrosoftADInput {
  8434  	s.Name = &v
  8435  	return s
  8436  }
  8437  
  8438  // SetPassword sets the Password field's value.
  8439  func (s *CreateMicrosoftADInput) SetPassword(v string) *CreateMicrosoftADInput {
  8440  	s.Password = &v
  8441  	return s
  8442  }
  8443  
  8444  // SetShortName sets the ShortName field's value.
  8445  func (s *CreateMicrosoftADInput) SetShortName(v string) *CreateMicrosoftADInput {
  8446  	s.ShortName = &v
  8447  	return s
  8448  }
  8449  
  8450  // SetTags sets the Tags field's value.
  8451  func (s *CreateMicrosoftADInput) SetTags(v []*Tag) *CreateMicrosoftADInput {
  8452  	s.Tags = v
  8453  	return s
  8454  }
  8455  
  8456  // SetVpcSettings sets the VpcSettings field's value.
  8457  func (s *CreateMicrosoftADInput) SetVpcSettings(v *DirectoryVpcSettings) *CreateMicrosoftADInput {
  8458  	s.VpcSettings = v
  8459  	return s
  8460  }
  8461  
  8462  // Result of a CreateMicrosoftAD request.
  8463  type CreateMicrosoftADOutput struct {
  8464  	_ struct{} `type:"structure"`
  8465  
  8466  	// The identifier of the directory that was created.
  8467  	DirectoryId *string `type:"string"`
  8468  }
  8469  
  8470  // String returns the string representation.
  8471  //
  8472  // API parameter values that are decorated as "sensitive" in the API will not
  8473  // be included in the string output. The member name will be present, but the
  8474  // value will be replaced with "sensitive".
  8475  func (s CreateMicrosoftADOutput) String() string {
  8476  	return awsutil.Prettify(s)
  8477  }
  8478  
  8479  // GoString returns the string representation.
  8480  //
  8481  // API parameter values that are decorated as "sensitive" in the API will not
  8482  // be included in the string output. The member name will be present, but the
  8483  // value will be replaced with "sensitive".
  8484  func (s CreateMicrosoftADOutput) GoString() string {
  8485  	return s.String()
  8486  }
  8487  
  8488  // SetDirectoryId sets the DirectoryId field's value.
  8489  func (s *CreateMicrosoftADOutput) SetDirectoryId(v string) *CreateMicrosoftADOutput {
  8490  	s.DirectoryId = &v
  8491  	return s
  8492  }
  8493  
  8494  // Contains the inputs for the CreateSnapshot operation.
  8495  type CreateSnapshotInput struct {
  8496  	_ struct{} `type:"structure"`
  8497  
  8498  	// The identifier of the directory of which to take a snapshot.
  8499  	//
  8500  	// DirectoryId is a required field
  8501  	DirectoryId *string `type:"string" required:"true"`
  8502  
  8503  	// The descriptive name to apply to the snapshot.
  8504  	Name *string `type:"string"`
  8505  }
  8506  
  8507  // String returns the string representation.
  8508  //
  8509  // API parameter values that are decorated as "sensitive" in the API will not
  8510  // be included in the string output. The member name will be present, but the
  8511  // value will be replaced with "sensitive".
  8512  func (s CreateSnapshotInput) String() string {
  8513  	return awsutil.Prettify(s)
  8514  }
  8515  
  8516  // GoString returns the string representation.
  8517  //
  8518  // API parameter values that are decorated as "sensitive" in the API will not
  8519  // be included in the string output. The member name will be present, but the
  8520  // value will be replaced with "sensitive".
  8521  func (s CreateSnapshotInput) GoString() string {
  8522  	return s.String()
  8523  }
  8524  
  8525  // Validate inspects the fields of the type to determine if they are valid.
  8526  func (s *CreateSnapshotInput) Validate() error {
  8527  	invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
  8528  	if s.DirectoryId == nil {
  8529  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  8530  	}
  8531  
  8532  	if invalidParams.Len() > 0 {
  8533  		return invalidParams
  8534  	}
  8535  	return nil
  8536  }
  8537  
  8538  // SetDirectoryId sets the DirectoryId field's value.
  8539  func (s *CreateSnapshotInput) SetDirectoryId(v string) *CreateSnapshotInput {
  8540  	s.DirectoryId = &v
  8541  	return s
  8542  }
  8543  
  8544  // SetName sets the Name field's value.
  8545  func (s *CreateSnapshotInput) SetName(v string) *CreateSnapshotInput {
  8546  	s.Name = &v
  8547  	return s
  8548  }
  8549  
  8550  // Contains the results of the CreateSnapshot operation.
  8551  type CreateSnapshotOutput struct {
  8552  	_ struct{} `type:"structure"`
  8553  
  8554  	// The identifier of the snapshot that was created.
  8555  	SnapshotId *string `type:"string"`
  8556  }
  8557  
  8558  // String returns the string representation.
  8559  //
  8560  // API parameter values that are decorated as "sensitive" in the API will not
  8561  // be included in the string output. The member name will be present, but the
  8562  // value will be replaced with "sensitive".
  8563  func (s CreateSnapshotOutput) String() string {
  8564  	return awsutil.Prettify(s)
  8565  }
  8566  
  8567  // GoString returns the string representation.
  8568  //
  8569  // API parameter values that are decorated as "sensitive" in the API will not
  8570  // be included in the string output. The member name will be present, but the
  8571  // value will be replaced with "sensitive".
  8572  func (s CreateSnapshotOutput) GoString() string {
  8573  	return s.String()
  8574  }
  8575  
  8576  // SetSnapshotId sets the SnapshotId field's value.
  8577  func (s *CreateSnapshotOutput) SetSnapshotId(v string) *CreateSnapshotOutput {
  8578  	s.SnapshotId = &v
  8579  	return s
  8580  }
  8581  
  8582  // Directory Service for Microsoft Active Directory allows you to configure
  8583  // trust relationships. For example, you can establish a trust between your
  8584  // Managed Microsoft AD directory, and your existing self-managed Microsoft
  8585  // Active Directory. This would allow you to provide users and groups access
  8586  // to resources in either domain, with a single set of credentials.
  8587  //
  8588  // This action initiates the creation of the Amazon Web Services side of a trust
  8589  // relationship between an Managed Microsoft AD directory and an external domain.
  8590  type CreateTrustInput struct {
  8591  	_ struct{} `type:"structure"`
  8592  
  8593  	// The IP addresses of the remote DNS server associated with RemoteDomainName.
  8594  	ConditionalForwarderIpAddrs []*string `type:"list"`
  8595  
  8596  	// The Directory ID of the Managed Microsoft AD directory for which to establish
  8597  	// the trust relationship.
  8598  	//
  8599  	// DirectoryId is a required field
  8600  	DirectoryId *string `type:"string" required:"true"`
  8601  
  8602  	// The Fully Qualified Domain Name (FQDN) of the external domain for which to
  8603  	// create the trust relationship.
  8604  	//
  8605  	// RemoteDomainName is a required field
  8606  	RemoteDomainName *string `type:"string" required:"true"`
  8607  
  8608  	// Optional parameter to enable selective authentication for the trust.
  8609  	SelectiveAuth *string `type:"string" enum:"SelectiveAuth"`
  8610  
  8611  	// The direction of the trust relationship.
  8612  	//
  8613  	// TrustDirection is a required field
  8614  	TrustDirection *string `type:"string" required:"true" enum:"TrustDirection"`
  8615  
  8616  	// The trust password. The must be the same password that was used when creating
  8617  	// the trust relationship on the external domain.
  8618  	//
  8619  	// TrustPassword is a sensitive parameter and its value will be
  8620  	// replaced with "sensitive" in string returned by CreateTrustInput's
  8621  	// String and GoString methods.
  8622  	//
  8623  	// TrustPassword is a required field
  8624  	TrustPassword *string `min:"1" type:"string" required:"true" sensitive:"true"`
  8625  
  8626  	// The trust relationship type. Forest is the default.
  8627  	TrustType *string `type:"string" enum:"TrustType"`
  8628  }
  8629  
  8630  // String returns the string representation.
  8631  //
  8632  // API parameter values that are decorated as "sensitive" in the API will not
  8633  // be included in the string output. The member name will be present, but the
  8634  // value will be replaced with "sensitive".
  8635  func (s CreateTrustInput) String() string {
  8636  	return awsutil.Prettify(s)
  8637  }
  8638  
  8639  // GoString returns the string representation.
  8640  //
  8641  // API parameter values that are decorated as "sensitive" in the API will not
  8642  // be included in the string output. The member name will be present, but the
  8643  // value will be replaced with "sensitive".
  8644  func (s CreateTrustInput) GoString() string {
  8645  	return s.String()
  8646  }
  8647  
  8648  // Validate inspects the fields of the type to determine if they are valid.
  8649  func (s *CreateTrustInput) Validate() error {
  8650  	invalidParams := request.ErrInvalidParams{Context: "CreateTrustInput"}
  8651  	if s.DirectoryId == nil {
  8652  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  8653  	}
  8654  	if s.RemoteDomainName == nil {
  8655  		invalidParams.Add(request.NewErrParamRequired("RemoteDomainName"))
  8656  	}
  8657  	if s.TrustDirection == nil {
  8658  		invalidParams.Add(request.NewErrParamRequired("TrustDirection"))
  8659  	}
  8660  	if s.TrustPassword == nil {
  8661  		invalidParams.Add(request.NewErrParamRequired("TrustPassword"))
  8662  	}
  8663  	if s.TrustPassword != nil && len(*s.TrustPassword) < 1 {
  8664  		invalidParams.Add(request.NewErrParamMinLen("TrustPassword", 1))
  8665  	}
  8666  
  8667  	if invalidParams.Len() > 0 {
  8668  		return invalidParams
  8669  	}
  8670  	return nil
  8671  }
  8672  
  8673  // SetConditionalForwarderIpAddrs sets the ConditionalForwarderIpAddrs field's value.
  8674  func (s *CreateTrustInput) SetConditionalForwarderIpAddrs(v []*string) *CreateTrustInput {
  8675  	s.ConditionalForwarderIpAddrs = v
  8676  	return s
  8677  }
  8678  
  8679  // SetDirectoryId sets the DirectoryId field's value.
  8680  func (s *CreateTrustInput) SetDirectoryId(v string) *CreateTrustInput {
  8681  	s.DirectoryId = &v
  8682  	return s
  8683  }
  8684  
  8685  // SetRemoteDomainName sets the RemoteDomainName field's value.
  8686  func (s *CreateTrustInput) SetRemoteDomainName(v string) *CreateTrustInput {
  8687  	s.RemoteDomainName = &v
  8688  	return s
  8689  }
  8690  
  8691  // SetSelectiveAuth sets the SelectiveAuth field's value.
  8692  func (s *CreateTrustInput) SetSelectiveAuth(v string) *CreateTrustInput {
  8693  	s.SelectiveAuth = &v
  8694  	return s
  8695  }
  8696  
  8697  // SetTrustDirection sets the TrustDirection field's value.
  8698  func (s *CreateTrustInput) SetTrustDirection(v string) *CreateTrustInput {
  8699  	s.TrustDirection = &v
  8700  	return s
  8701  }
  8702  
  8703  // SetTrustPassword sets the TrustPassword field's value.
  8704  func (s *CreateTrustInput) SetTrustPassword(v string) *CreateTrustInput {
  8705  	s.TrustPassword = &v
  8706  	return s
  8707  }
  8708  
  8709  // SetTrustType sets the TrustType field's value.
  8710  func (s *CreateTrustInput) SetTrustType(v string) *CreateTrustInput {
  8711  	s.TrustType = &v
  8712  	return s
  8713  }
  8714  
  8715  // The result of a CreateTrust request.
  8716  type CreateTrustOutput struct {
  8717  	_ struct{} `type:"structure"`
  8718  
  8719  	// A unique identifier for the trust relationship that was created.
  8720  	TrustId *string `type:"string"`
  8721  }
  8722  
  8723  // String returns the string representation.
  8724  //
  8725  // API parameter values that are decorated as "sensitive" in the API will not
  8726  // be included in the string output. The member name will be present, but the
  8727  // value will be replaced with "sensitive".
  8728  func (s CreateTrustOutput) String() string {
  8729  	return awsutil.Prettify(s)
  8730  }
  8731  
  8732  // GoString returns the string representation.
  8733  //
  8734  // API parameter values that are decorated as "sensitive" in the API will not
  8735  // be included in the string output. The member name will be present, but the
  8736  // value will be replaced with "sensitive".
  8737  func (s CreateTrustOutput) GoString() string {
  8738  	return s.String()
  8739  }
  8740  
  8741  // SetTrustId sets the TrustId field's value.
  8742  func (s *CreateTrustOutput) SetTrustId(v string) *CreateTrustOutput {
  8743  	s.TrustId = &v
  8744  	return s
  8745  }
  8746  
  8747  // Deletes a conditional forwarder.
  8748  type DeleteConditionalForwarderInput struct {
  8749  	_ struct{} `type:"structure"`
  8750  
  8751  	// The directory ID for which you are deleting the conditional forwarder.
  8752  	//
  8753  	// DirectoryId is a required field
  8754  	DirectoryId *string `type:"string" required:"true"`
  8755  
  8756  	// The fully qualified domain name (FQDN) of the remote domain with which you
  8757  	// are deleting the conditional forwarder.
  8758  	//
  8759  	// RemoteDomainName is a required field
  8760  	RemoteDomainName *string `type:"string" required:"true"`
  8761  }
  8762  
  8763  // String returns the string representation.
  8764  //
  8765  // API parameter values that are decorated as "sensitive" in the API will not
  8766  // be included in the string output. The member name will be present, but the
  8767  // value will be replaced with "sensitive".
  8768  func (s DeleteConditionalForwarderInput) String() string {
  8769  	return awsutil.Prettify(s)
  8770  }
  8771  
  8772  // GoString returns the string representation.
  8773  //
  8774  // API parameter values that are decorated as "sensitive" in the API will not
  8775  // be included in the string output. The member name will be present, but the
  8776  // value will be replaced with "sensitive".
  8777  func (s DeleteConditionalForwarderInput) GoString() string {
  8778  	return s.String()
  8779  }
  8780  
  8781  // Validate inspects the fields of the type to determine if they are valid.
  8782  func (s *DeleteConditionalForwarderInput) Validate() error {
  8783  	invalidParams := request.ErrInvalidParams{Context: "DeleteConditionalForwarderInput"}
  8784  	if s.DirectoryId == nil {
  8785  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  8786  	}
  8787  	if s.RemoteDomainName == nil {
  8788  		invalidParams.Add(request.NewErrParamRequired("RemoteDomainName"))
  8789  	}
  8790  
  8791  	if invalidParams.Len() > 0 {
  8792  		return invalidParams
  8793  	}
  8794  	return nil
  8795  }
  8796  
  8797  // SetDirectoryId sets the DirectoryId field's value.
  8798  func (s *DeleteConditionalForwarderInput) SetDirectoryId(v string) *DeleteConditionalForwarderInput {
  8799  	s.DirectoryId = &v
  8800  	return s
  8801  }
  8802  
  8803  // SetRemoteDomainName sets the RemoteDomainName field's value.
  8804  func (s *DeleteConditionalForwarderInput) SetRemoteDomainName(v string) *DeleteConditionalForwarderInput {
  8805  	s.RemoteDomainName = &v
  8806  	return s
  8807  }
  8808  
  8809  // The result of a DeleteConditionalForwarder request.
  8810  type DeleteConditionalForwarderOutput struct {
  8811  	_ struct{} `type:"structure"`
  8812  }
  8813  
  8814  // String returns the string representation.
  8815  //
  8816  // API parameter values that are decorated as "sensitive" in the API will not
  8817  // be included in the string output. The member name will be present, but the
  8818  // value will be replaced with "sensitive".
  8819  func (s DeleteConditionalForwarderOutput) String() string {
  8820  	return awsutil.Prettify(s)
  8821  }
  8822  
  8823  // GoString returns the string representation.
  8824  //
  8825  // API parameter values that are decorated as "sensitive" in the API will not
  8826  // be included in the string output. The member name will be present, but the
  8827  // value will be replaced with "sensitive".
  8828  func (s DeleteConditionalForwarderOutput) GoString() string {
  8829  	return s.String()
  8830  }
  8831  
  8832  // Contains the inputs for the DeleteDirectory operation.
  8833  type DeleteDirectoryInput struct {
  8834  	_ struct{} `type:"structure"`
  8835  
  8836  	// The identifier of the directory to delete.
  8837  	//
  8838  	// DirectoryId is a required field
  8839  	DirectoryId *string `type:"string" required:"true"`
  8840  }
  8841  
  8842  // String returns the string representation.
  8843  //
  8844  // API parameter values that are decorated as "sensitive" in the API will not
  8845  // be included in the string output. The member name will be present, but the
  8846  // value will be replaced with "sensitive".
  8847  func (s DeleteDirectoryInput) String() string {
  8848  	return awsutil.Prettify(s)
  8849  }
  8850  
  8851  // GoString returns the string representation.
  8852  //
  8853  // API parameter values that are decorated as "sensitive" in the API will not
  8854  // be included in the string output. The member name will be present, but the
  8855  // value will be replaced with "sensitive".
  8856  func (s DeleteDirectoryInput) GoString() string {
  8857  	return s.String()
  8858  }
  8859  
  8860  // Validate inspects the fields of the type to determine if they are valid.
  8861  func (s *DeleteDirectoryInput) Validate() error {
  8862  	invalidParams := request.ErrInvalidParams{Context: "DeleteDirectoryInput"}
  8863  	if s.DirectoryId == nil {
  8864  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  8865  	}
  8866  
  8867  	if invalidParams.Len() > 0 {
  8868  		return invalidParams
  8869  	}
  8870  	return nil
  8871  }
  8872  
  8873  // SetDirectoryId sets the DirectoryId field's value.
  8874  func (s *DeleteDirectoryInput) SetDirectoryId(v string) *DeleteDirectoryInput {
  8875  	s.DirectoryId = &v
  8876  	return s
  8877  }
  8878  
  8879  // Contains the results of the DeleteDirectory operation.
  8880  type DeleteDirectoryOutput struct {
  8881  	_ struct{} `type:"structure"`
  8882  
  8883  	// The directory identifier.
  8884  	DirectoryId *string `type:"string"`
  8885  }
  8886  
  8887  // String returns the string representation.
  8888  //
  8889  // API parameter values that are decorated as "sensitive" in the API will not
  8890  // be included in the string output. The member name will be present, but the
  8891  // value will be replaced with "sensitive".
  8892  func (s DeleteDirectoryOutput) String() string {
  8893  	return awsutil.Prettify(s)
  8894  }
  8895  
  8896  // GoString returns the string representation.
  8897  //
  8898  // API parameter values that are decorated as "sensitive" in the API will not
  8899  // be included in the string output. The member name will be present, but the
  8900  // value will be replaced with "sensitive".
  8901  func (s DeleteDirectoryOutput) GoString() string {
  8902  	return s.String()
  8903  }
  8904  
  8905  // SetDirectoryId sets the DirectoryId field's value.
  8906  func (s *DeleteDirectoryOutput) SetDirectoryId(v string) *DeleteDirectoryOutput {
  8907  	s.DirectoryId = &v
  8908  	return s
  8909  }
  8910  
  8911  type DeleteLogSubscriptionInput struct {
  8912  	_ struct{} `type:"structure"`
  8913  
  8914  	// Identifier of the directory whose log subscription you want to delete.
  8915  	//
  8916  	// DirectoryId is a required field
  8917  	DirectoryId *string `type:"string" required:"true"`
  8918  }
  8919  
  8920  // String returns the string representation.
  8921  //
  8922  // API parameter values that are decorated as "sensitive" in the API will not
  8923  // be included in the string output. The member name will be present, but the
  8924  // value will be replaced with "sensitive".
  8925  func (s DeleteLogSubscriptionInput) String() string {
  8926  	return awsutil.Prettify(s)
  8927  }
  8928  
  8929  // GoString returns the string representation.
  8930  //
  8931  // API parameter values that are decorated as "sensitive" in the API will not
  8932  // be included in the string output. The member name will be present, but the
  8933  // value will be replaced with "sensitive".
  8934  func (s DeleteLogSubscriptionInput) GoString() string {
  8935  	return s.String()
  8936  }
  8937  
  8938  // Validate inspects the fields of the type to determine if they are valid.
  8939  func (s *DeleteLogSubscriptionInput) Validate() error {
  8940  	invalidParams := request.ErrInvalidParams{Context: "DeleteLogSubscriptionInput"}
  8941  	if s.DirectoryId == nil {
  8942  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  8943  	}
  8944  
  8945  	if invalidParams.Len() > 0 {
  8946  		return invalidParams
  8947  	}
  8948  	return nil
  8949  }
  8950  
  8951  // SetDirectoryId sets the DirectoryId field's value.
  8952  func (s *DeleteLogSubscriptionInput) SetDirectoryId(v string) *DeleteLogSubscriptionInput {
  8953  	s.DirectoryId = &v
  8954  	return s
  8955  }
  8956  
  8957  type DeleteLogSubscriptionOutput struct {
  8958  	_ struct{} `type:"structure"`
  8959  }
  8960  
  8961  // String returns the string representation.
  8962  //
  8963  // API parameter values that are decorated as "sensitive" in the API will not
  8964  // be included in the string output. The member name will be present, but the
  8965  // value will be replaced with "sensitive".
  8966  func (s DeleteLogSubscriptionOutput) String() string {
  8967  	return awsutil.Prettify(s)
  8968  }
  8969  
  8970  // GoString returns the string representation.
  8971  //
  8972  // API parameter values that are decorated as "sensitive" in the API will not
  8973  // be included in the string output. The member name will be present, but the
  8974  // value will be replaced with "sensitive".
  8975  func (s DeleteLogSubscriptionOutput) GoString() string {
  8976  	return s.String()
  8977  }
  8978  
  8979  // Contains the inputs for the DeleteSnapshot operation.
  8980  type DeleteSnapshotInput struct {
  8981  	_ struct{} `type:"structure"`
  8982  
  8983  	// The identifier of the directory snapshot to be deleted.
  8984  	//
  8985  	// SnapshotId is a required field
  8986  	SnapshotId *string `type:"string" required:"true"`
  8987  }
  8988  
  8989  // String returns the string representation.
  8990  //
  8991  // API parameter values that are decorated as "sensitive" in the API will not
  8992  // be included in the string output. The member name will be present, but the
  8993  // value will be replaced with "sensitive".
  8994  func (s DeleteSnapshotInput) String() string {
  8995  	return awsutil.Prettify(s)
  8996  }
  8997  
  8998  // GoString returns the string representation.
  8999  //
  9000  // API parameter values that are decorated as "sensitive" in the API will not
  9001  // be included in the string output. The member name will be present, but the
  9002  // value will be replaced with "sensitive".
  9003  func (s DeleteSnapshotInput) GoString() string {
  9004  	return s.String()
  9005  }
  9006  
  9007  // Validate inspects the fields of the type to determine if they are valid.
  9008  func (s *DeleteSnapshotInput) Validate() error {
  9009  	invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
  9010  	if s.SnapshotId == nil {
  9011  		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  9012  	}
  9013  
  9014  	if invalidParams.Len() > 0 {
  9015  		return invalidParams
  9016  	}
  9017  	return nil
  9018  }
  9019  
  9020  // SetSnapshotId sets the SnapshotId field's value.
  9021  func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput {
  9022  	s.SnapshotId = &v
  9023  	return s
  9024  }
  9025  
  9026  // Contains the results of the DeleteSnapshot operation.
  9027  type DeleteSnapshotOutput struct {
  9028  	_ struct{} `type:"structure"`
  9029  
  9030  	// The identifier of the directory snapshot that was deleted.
  9031  	SnapshotId *string `type:"string"`
  9032  }
  9033  
  9034  // String returns the string representation.
  9035  //
  9036  // API parameter values that are decorated as "sensitive" in the API will not
  9037  // be included in the string output. The member name will be present, but the
  9038  // value will be replaced with "sensitive".
  9039  func (s DeleteSnapshotOutput) String() string {
  9040  	return awsutil.Prettify(s)
  9041  }
  9042  
  9043  // GoString returns the string representation.
  9044  //
  9045  // API parameter values that are decorated as "sensitive" in the API will not
  9046  // be included in the string output. The member name will be present, but the
  9047  // value will be replaced with "sensitive".
  9048  func (s DeleteSnapshotOutput) GoString() string {
  9049  	return s.String()
  9050  }
  9051  
  9052  // SetSnapshotId sets the SnapshotId field's value.
  9053  func (s *DeleteSnapshotOutput) SetSnapshotId(v string) *DeleteSnapshotOutput {
  9054  	s.SnapshotId = &v
  9055  	return s
  9056  }
  9057  
  9058  // Deletes the local side of an existing trust relationship between the Managed
  9059  // Microsoft AD directory and the external domain.
  9060  type DeleteTrustInput struct {
  9061  	_ struct{} `type:"structure"`
  9062  
  9063  	// Delete a conditional forwarder as part of a DeleteTrustRequest.
  9064  	DeleteAssociatedConditionalForwarder *bool `type:"boolean"`
  9065  
  9066  	// The Trust ID of the trust relationship to be deleted.
  9067  	//
  9068  	// TrustId is a required field
  9069  	TrustId *string `type:"string" required:"true"`
  9070  }
  9071  
  9072  // String returns the string representation.
  9073  //
  9074  // API parameter values that are decorated as "sensitive" in the API will not
  9075  // be included in the string output. The member name will be present, but the
  9076  // value will be replaced with "sensitive".
  9077  func (s DeleteTrustInput) String() string {
  9078  	return awsutil.Prettify(s)
  9079  }
  9080  
  9081  // GoString returns the string representation.
  9082  //
  9083  // API parameter values that are decorated as "sensitive" in the API will not
  9084  // be included in the string output. The member name will be present, but the
  9085  // value will be replaced with "sensitive".
  9086  func (s DeleteTrustInput) GoString() string {
  9087  	return s.String()
  9088  }
  9089  
  9090  // Validate inspects the fields of the type to determine if they are valid.
  9091  func (s *DeleteTrustInput) Validate() error {
  9092  	invalidParams := request.ErrInvalidParams{Context: "DeleteTrustInput"}
  9093  	if s.TrustId == nil {
  9094  		invalidParams.Add(request.NewErrParamRequired("TrustId"))
  9095  	}
  9096  
  9097  	if invalidParams.Len() > 0 {
  9098  		return invalidParams
  9099  	}
  9100  	return nil
  9101  }
  9102  
  9103  // SetDeleteAssociatedConditionalForwarder sets the DeleteAssociatedConditionalForwarder field's value.
  9104  func (s *DeleteTrustInput) SetDeleteAssociatedConditionalForwarder(v bool) *DeleteTrustInput {
  9105  	s.DeleteAssociatedConditionalForwarder = &v
  9106  	return s
  9107  }
  9108  
  9109  // SetTrustId sets the TrustId field's value.
  9110  func (s *DeleteTrustInput) SetTrustId(v string) *DeleteTrustInput {
  9111  	s.TrustId = &v
  9112  	return s
  9113  }
  9114  
  9115  // The result of a DeleteTrust request.
  9116  type DeleteTrustOutput struct {
  9117  	_ struct{} `type:"structure"`
  9118  
  9119  	// The Trust ID of the trust relationship that was deleted.
  9120  	TrustId *string `type:"string"`
  9121  }
  9122  
  9123  // String returns the string representation.
  9124  //
  9125  // API parameter values that are decorated as "sensitive" in the API will not
  9126  // be included in the string output. The member name will be present, but the
  9127  // value will be replaced with "sensitive".
  9128  func (s DeleteTrustOutput) String() string {
  9129  	return awsutil.Prettify(s)
  9130  }
  9131  
  9132  // GoString returns the string representation.
  9133  //
  9134  // API parameter values that are decorated as "sensitive" in the API will not
  9135  // be included in the string output. The member name will be present, but the
  9136  // value will be replaced with "sensitive".
  9137  func (s DeleteTrustOutput) GoString() string {
  9138  	return s.String()
  9139  }
  9140  
  9141  // SetTrustId sets the TrustId field's value.
  9142  func (s *DeleteTrustOutput) SetTrustId(v string) *DeleteTrustOutput {
  9143  	s.TrustId = &v
  9144  	return s
  9145  }
  9146  
  9147  type DeregisterCertificateInput struct {
  9148  	_ struct{} `type:"structure"`
  9149  
  9150  	// The identifier of the certificate.
  9151  	//
  9152  	// CertificateId is a required field
  9153  	CertificateId *string `type:"string" required:"true"`
  9154  
  9155  	// The identifier of the directory.
  9156  	//
  9157  	// DirectoryId is a required field
  9158  	DirectoryId *string `type:"string" required:"true"`
  9159  }
  9160  
  9161  // String returns the string representation.
  9162  //
  9163  // API parameter values that are decorated as "sensitive" in the API will not
  9164  // be included in the string output. The member name will be present, but the
  9165  // value will be replaced with "sensitive".
  9166  func (s DeregisterCertificateInput) String() string {
  9167  	return awsutil.Prettify(s)
  9168  }
  9169  
  9170  // GoString returns the string representation.
  9171  //
  9172  // API parameter values that are decorated as "sensitive" in the API will not
  9173  // be included in the string output. The member name will be present, but the
  9174  // value will be replaced with "sensitive".
  9175  func (s DeregisterCertificateInput) GoString() string {
  9176  	return s.String()
  9177  }
  9178  
  9179  // Validate inspects the fields of the type to determine if they are valid.
  9180  func (s *DeregisterCertificateInput) Validate() error {
  9181  	invalidParams := request.ErrInvalidParams{Context: "DeregisterCertificateInput"}
  9182  	if s.CertificateId == nil {
  9183  		invalidParams.Add(request.NewErrParamRequired("CertificateId"))
  9184  	}
  9185  	if s.DirectoryId == nil {
  9186  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  9187  	}
  9188  
  9189  	if invalidParams.Len() > 0 {
  9190  		return invalidParams
  9191  	}
  9192  	return nil
  9193  }
  9194  
  9195  // SetCertificateId sets the CertificateId field's value.
  9196  func (s *DeregisterCertificateInput) SetCertificateId(v string) *DeregisterCertificateInput {
  9197  	s.CertificateId = &v
  9198  	return s
  9199  }
  9200  
  9201  // SetDirectoryId sets the DirectoryId field's value.
  9202  func (s *DeregisterCertificateInput) SetDirectoryId(v string) *DeregisterCertificateInput {
  9203  	s.DirectoryId = &v
  9204  	return s
  9205  }
  9206  
  9207  type DeregisterCertificateOutput struct {
  9208  	_ struct{} `type:"structure"`
  9209  }
  9210  
  9211  // String returns the string representation.
  9212  //
  9213  // API parameter values that are decorated as "sensitive" in the API will not
  9214  // be included in the string output. The member name will be present, but the
  9215  // value will be replaced with "sensitive".
  9216  func (s DeregisterCertificateOutput) String() string {
  9217  	return awsutil.Prettify(s)
  9218  }
  9219  
  9220  // GoString returns the string representation.
  9221  //
  9222  // API parameter values that are decorated as "sensitive" in the API will not
  9223  // be included in the string output. The member name will be present, but the
  9224  // value will be replaced with "sensitive".
  9225  func (s DeregisterCertificateOutput) GoString() string {
  9226  	return s.String()
  9227  }
  9228  
  9229  // Removes the specified directory as a publisher to the specified Amazon SNS
  9230  // topic.
  9231  type DeregisterEventTopicInput struct {
  9232  	_ struct{} `type:"structure"`
  9233  
  9234  	// The Directory ID to remove as a publisher. This directory will no longer
  9235  	// send messages to the specified Amazon SNS topic.
  9236  	//
  9237  	// DirectoryId is a required field
  9238  	DirectoryId *string `type:"string" required:"true"`
  9239  
  9240  	// The name of the Amazon SNS topic from which to remove the directory as a
  9241  	// publisher.
  9242  	//
  9243  	// TopicName is a required field
  9244  	TopicName *string `min:"1" type:"string" required:"true"`
  9245  }
  9246  
  9247  // String returns the string representation.
  9248  //
  9249  // API parameter values that are decorated as "sensitive" in the API will not
  9250  // be included in the string output. The member name will be present, but the
  9251  // value will be replaced with "sensitive".
  9252  func (s DeregisterEventTopicInput) String() string {
  9253  	return awsutil.Prettify(s)
  9254  }
  9255  
  9256  // GoString returns the string representation.
  9257  //
  9258  // API parameter values that are decorated as "sensitive" in the API will not
  9259  // be included in the string output. The member name will be present, but the
  9260  // value will be replaced with "sensitive".
  9261  func (s DeregisterEventTopicInput) GoString() string {
  9262  	return s.String()
  9263  }
  9264  
  9265  // Validate inspects the fields of the type to determine if they are valid.
  9266  func (s *DeregisterEventTopicInput) Validate() error {
  9267  	invalidParams := request.ErrInvalidParams{Context: "DeregisterEventTopicInput"}
  9268  	if s.DirectoryId == nil {
  9269  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  9270  	}
  9271  	if s.TopicName == nil {
  9272  		invalidParams.Add(request.NewErrParamRequired("TopicName"))
  9273  	}
  9274  	if s.TopicName != nil && len(*s.TopicName) < 1 {
  9275  		invalidParams.Add(request.NewErrParamMinLen("TopicName", 1))
  9276  	}
  9277  
  9278  	if invalidParams.Len() > 0 {
  9279  		return invalidParams
  9280  	}
  9281  	return nil
  9282  }
  9283  
  9284  // SetDirectoryId sets the DirectoryId field's value.
  9285  func (s *DeregisterEventTopicInput) SetDirectoryId(v string) *DeregisterEventTopicInput {
  9286  	s.DirectoryId = &v
  9287  	return s
  9288  }
  9289  
  9290  // SetTopicName sets the TopicName field's value.
  9291  func (s *DeregisterEventTopicInput) SetTopicName(v string) *DeregisterEventTopicInput {
  9292  	s.TopicName = &v
  9293  	return s
  9294  }
  9295  
  9296  // The result of a DeregisterEventTopic request.
  9297  type DeregisterEventTopicOutput struct {
  9298  	_ struct{} `type:"structure"`
  9299  }
  9300  
  9301  // String returns the string representation.
  9302  //
  9303  // API parameter values that are decorated as "sensitive" in the API will not
  9304  // be included in the string output. The member name will be present, but the
  9305  // value will be replaced with "sensitive".
  9306  func (s DeregisterEventTopicOutput) String() string {
  9307  	return awsutil.Prettify(s)
  9308  }
  9309  
  9310  // GoString returns the string representation.
  9311  //
  9312  // API parameter values that are decorated as "sensitive" in the API will not
  9313  // be included in the string output. The member name will be present, but the
  9314  // value will be replaced with "sensitive".
  9315  func (s DeregisterEventTopicOutput) GoString() string {
  9316  	return s.String()
  9317  }
  9318  
  9319  type DescribeCertificateInput struct {
  9320  	_ struct{} `type:"structure"`
  9321  
  9322  	// The identifier of the certificate.
  9323  	//
  9324  	// CertificateId is a required field
  9325  	CertificateId *string `type:"string" required:"true"`
  9326  
  9327  	// The identifier of the directory.
  9328  	//
  9329  	// DirectoryId is a required field
  9330  	DirectoryId *string `type:"string" required:"true"`
  9331  }
  9332  
  9333  // String returns the string representation.
  9334  //
  9335  // API parameter values that are decorated as "sensitive" in the API will not
  9336  // be included in the string output. The member name will be present, but the
  9337  // value will be replaced with "sensitive".
  9338  func (s DescribeCertificateInput) String() string {
  9339  	return awsutil.Prettify(s)
  9340  }
  9341  
  9342  // GoString returns the string representation.
  9343  //
  9344  // API parameter values that are decorated as "sensitive" in the API will not
  9345  // be included in the string output. The member name will be present, but the
  9346  // value will be replaced with "sensitive".
  9347  func (s DescribeCertificateInput) GoString() string {
  9348  	return s.String()
  9349  }
  9350  
  9351  // Validate inspects the fields of the type to determine if they are valid.
  9352  func (s *DescribeCertificateInput) Validate() error {
  9353  	invalidParams := request.ErrInvalidParams{Context: "DescribeCertificateInput"}
  9354  	if s.CertificateId == nil {
  9355  		invalidParams.Add(request.NewErrParamRequired("CertificateId"))
  9356  	}
  9357  	if s.DirectoryId == nil {
  9358  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  9359  	}
  9360  
  9361  	if invalidParams.Len() > 0 {
  9362  		return invalidParams
  9363  	}
  9364  	return nil
  9365  }
  9366  
  9367  // SetCertificateId sets the CertificateId field's value.
  9368  func (s *DescribeCertificateInput) SetCertificateId(v string) *DescribeCertificateInput {
  9369  	s.CertificateId = &v
  9370  	return s
  9371  }
  9372  
  9373  // SetDirectoryId sets the DirectoryId field's value.
  9374  func (s *DescribeCertificateInput) SetDirectoryId(v string) *DescribeCertificateInput {
  9375  	s.DirectoryId = &v
  9376  	return s
  9377  }
  9378  
  9379  type DescribeCertificateOutput struct {
  9380  	_ struct{} `type:"structure"`
  9381  
  9382  	// Information about the certificate, including registered date time, certificate
  9383  	// state, the reason for the state, expiration date time, and certificate common
  9384  	// name.
  9385  	Certificate *Certificate `type:"structure"`
  9386  }
  9387  
  9388  // String returns the string representation.
  9389  //
  9390  // API parameter values that are decorated as "sensitive" in the API will not
  9391  // be included in the string output. The member name will be present, but the
  9392  // value will be replaced with "sensitive".
  9393  func (s DescribeCertificateOutput) String() string {
  9394  	return awsutil.Prettify(s)
  9395  }
  9396  
  9397  // GoString returns the string representation.
  9398  //
  9399  // API parameter values that are decorated as "sensitive" in the API will not
  9400  // be included in the string output. The member name will be present, but the
  9401  // value will be replaced with "sensitive".
  9402  func (s DescribeCertificateOutput) GoString() string {
  9403  	return s.String()
  9404  }
  9405  
  9406  // SetCertificate sets the Certificate field's value.
  9407  func (s *DescribeCertificateOutput) SetCertificate(v *Certificate) *DescribeCertificateOutput {
  9408  	s.Certificate = v
  9409  	return s
  9410  }
  9411  
  9412  type DescribeClientAuthenticationSettingsInput struct {
  9413  	_ struct{} `type:"structure"`
  9414  
  9415  	// The identifier of the directory for which to retrieve information.
  9416  	//
  9417  	// DirectoryId is a required field
  9418  	DirectoryId *string `type:"string" required:"true"`
  9419  
  9420  	// The maximum number of items to return. If this value is zero, the maximum
  9421  	// number of items is specified by the limitations of the operation.
  9422  	Limit *int64 `min:"1" type:"integer"`
  9423  
  9424  	// The DescribeClientAuthenticationSettingsResult.NextToken value from a previous
  9425  	// call to DescribeClientAuthenticationSettings. Pass null if this is the first
  9426  	// call.
  9427  	NextToken *string `type:"string"`
  9428  
  9429  	// The type of client authentication for which to retrieve information. If no
  9430  	// type is specified, a list of all client authentication types that are supported
  9431  	// for the specified directory is retrieved.
  9432  	Type *string `type:"string" enum:"ClientAuthenticationType"`
  9433  }
  9434  
  9435  // String returns the string representation.
  9436  //
  9437  // API parameter values that are decorated as "sensitive" in the API will not
  9438  // be included in the string output. The member name will be present, but the
  9439  // value will be replaced with "sensitive".
  9440  func (s DescribeClientAuthenticationSettingsInput) String() string {
  9441  	return awsutil.Prettify(s)
  9442  }
  9443  
  9444  // GoString returns the string representation.
  9445  //
  9446  // API parameter values that are decorated as "sensitive" in the API will not
  9447  // be included in the string output. The member name will be present, but the
  9448  // value will be replaced with "sensitive".
  9449  func (s DescribeClientAuthenticationSettingsInput) GoString() string {
  9450  	return s.String()
  9451  }
  9452  
  9453  // Validate inspects the fields of the type to determine if they are valid.
  9454  func (s *DescribeClientAuthenticationSettingsInput) Validate() error {
  9455  	invalidParams := request.ErrInvalidParams{Context: "DescribeClientAuthenticationSettingsInput"}
  9456  	if s.DirectoryId == nil {
  9457  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  9458  	}
  9459  	if s.Limit != nil && *s.Limit < 1 {
  9460  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
  9461  	}
  9462  
  9463  	if invalidParams.Len() > 0 {
  9464  		return invalidParams
  9465  	}
  9466  	return nil
  9467  }
  9468  
  9469  // SetDirectoryId sets the DirectoryId field's value.
  9470  func (s *DescribeClientAuthenticationSettingsInput) SetDirectoryId(v string) *DescribeClientAuthenticationSettingsInput {
  9471  	s.DirectoryId = &v
  9472  	return s
  9473  }
  9474  
  9475  // SetLimit sets the Limit field's value.
  9476  func (s *DescribeClientAuthenticationSettingsInput) SetLimit(v int64) *DescribeClientAuthenticationSettingsInput {
  9477  	s.Limit = &v
  9478  	return s
  9479  }
  9480  
  9481  // SetNextToken sets the NextToken field's value.
  9482  func (s *DescribeClientAuthenticationSettingsInput) SetNextToken(v string) *DescribeClientAuthenticationSettingsInput {
  9483  	s.NextToken = &v
  9484  	return s
  9485  }
  9486  
  9487  // SetType sets the Type field's value.
  9488  func (s *DescribeClientAuthenticationSettingsInput) SetType(v string) *DescribeClientAuthenticationSettingsInput {
  9489  	s.Type = &v
  9490  	return s
  9491  }
  9492  
  9493  type DescribeClientAuthenticationSettingsOutput struct {
  9494  	_ struct{} `type:"structure"`
  9495  
  9496  	// Information about the type of client authentication for the specified directory.
  9497  	// The following information is retrieved: The date and time when the status
  9498  	// of the client authentication type was last updated, whether the client authentication
  9499  	// type is enabled or disabled, and the type of client authentication.
  9500  	ClientAuthenticationSettingsInfo []*ClientAuthenticationSettingInfo `type:"list"`
  9501  
  9502  	// The next token used to retrieve the client authentication settings if the
  9503  	// number of setting types exceeds page limit and there is another page.
  9504  	NextToken *string `type:"string"`
  9505  }
  9506  
  9507  // String returns the string representation.
  9508  //
  9509  // API parameter values that are decorated as "sensitive" in the API will not
  9510  // be included in the string output. The member name will be present, but the
  9511  // value will be replaced with "sensitive".
  9512  func (s DescribeClientAuthenticationSettingsOutput) String() string {
  9513  	return awsutil.Prettify(s)
  9514  }
  9515  
  9516  // GoString returns the string representation.
  9517  //
  9518  // API parameter values that are decorated as "sensitive" in the API will not
  9519  // be included in the string output. The member name will be present, but the
  9520  // value will be replaced with "sensitive".
  9521  func (s DescribeClientAuthenticationSettingsOutput) GoString() string {
  9522  	return s.String()
  9523  }
  9524  
  9525  // SetClientAuthenticationSettingsInfo sets the ClientAuthenticationSettingsInfo field's value.
  9526  func (s *DescribeClientAuthenticationSettingsOutput) SetClientAuthenticationSettingsInfo(v []*ClientAuthenticationSettingInfo) *DescribeClientAuthenticationSettingsOutput {
  9527  	s.ClientAuthenticationSettingsInfo = v
  9528  	return s
  9529  }
  9530  
  9531  // SetNextToken sets the NextToken field's value.
  9532  func (s *DescribeClientAuthenticationSettingsOutput) SetNextToken(v string) *DescribeClientAuthenticationSettingsOutput {
  9533  	s.NextToken = &v
  9534  	return s
  9535  }
  9536  
  9537  // Describes a conditional forwarder.
  9538  type DescribeConditionalForwardersInput struct {
  9539  	_ struct{} `type:"structure"`
  9540  
  9541  	// The directory ID for which to get the list of associated conditional forwarders.
  9542  	//
  9543  	// DirectoryId is a required field
  9544  	DirectoryId *string `type:"string" required:"true"`
  9545  
  9546  	// The fully qualified domain names (FQDN) of the remote domains for which to
  9547  	// get the list of associated conditional forwarders. If this member is null,
  9548  	// all conditional forwarders are returned.
  9549  	RemoteDomainNames []*string `type:"list"`
  9550  }
  9551  
  9552  // String returns the string representation.
  9553  //
  9554  // API parameter values that are decorated as "sensitive" in the API will not
  9555  // be included in the string output. The member name will be present, but the
  9556  // value will be replaced with "sensitive".
  9557  func (s DescribeConditionalForwardersInput) String() string {
  9558  	return awsutil.Prettify(s)
  9559  }
  9560  
  9561  // GoString returns the string representation.
  9562  //
  9563  // API parameter values that are decorated as "sensitive" in the API will not
  9564  // be included in the string output. The member name will be present, but the
  9565  // value will be replaced with "sensitive".
  9566  func (s DescribeConditionalForwardersInput) GoString() string {
  9567  	return s.String()
  9568  }
  9569  
  9570  // Validate inspects the fields of the type to determine if they are valid.
  9571  func (s *DescribeConditionalForwardersInput) Validate() error {
  9572  	invalidParams := request.ErrInvalidParams{Context: "DescribeConditionalForwardersInput"}
  9573  	if s.DirectoryId == nil {
  9574  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  9575  	}
  9576  
  9577  	if invalidParams.Len() > 0 {
  9578  		return invalidParams
  9579  	}
  9580  	return nil
  9581  }
  9582  
  9583  // SetDirectoryId sets the DirectoryId field's value.
  9584  func (s *DescribeConditionalForwardersInput) SetDirectoryId(v string) *DescribeConditionalForwardersInput {
  9585  	s.DirectoryId = &v
  9586  	return s
  9587  }
  9588  
  9589  // SetRemoteDomainNames sets the RemoteDomainNames field's value.
  9590  func (s *DescribeConditionalForwardersInput) SetRemoteDomainNames(v []*string) *DescribeConditionalForwardersInput {
  9591  	s.RemoteDomainNames = v
  9592  	return s
  9593  }
  9594  
  9595  // The result of a DescribeConditionalForwarder request.
  9596  type DescribeConditionalForwardersOutput struct {
  9597  	_ struct{} `type:"structure"`
  9598  
  9599  	// The list of conditional forwarders that have been created.
  9600  	ConditionalForwarders []*ConditionalForwarder `type:"list"`
  9601  }
  9602  
  9603  // String returns the string representation.
  9604  //
  9605  // API parameter values that are decorated as "sensitive" in the API will not
  9606  // be included in the string output. The member name will be present, but the
  9607  // value will be replaced with "sensitive".
  9608  func (s DescribeConditionalForwardersOutput) String() string {
  9609  	return awsutil.Prettify(s)
  9610  }
  9611  
  9612  // GoString returns the string representation.
  9613  //
  9614  // API parameter values that are decorated as "sensitive" in the API will not
  9615  // be included in the string output. The member name will be present, but the
  9616  // value will be replaced with "sensitive".
  9617  func (s DescribeConditionalForwardersOutput) GoString() string {
  9618  	return s.String()
  9619  }
  9620  
  9621  // SetConditionalForwarders sets the ConditionalForwarders field's value.
  9622  func (s *DescribeConditionalForwardersOutput) SetConditionalForwarders(v []*ConditionalForwarder) *DescribeConditionalForwardersOutput {
  9623  	s.ConditionalForwarders = v
  9624  	return s
  9625  }
  9626  
  9627  // Contains the inputs for the DescribeDirectories operation.
  9628  type DescribeDirectoriesInput struct {
  9629  	_ struct{} `type:"structure"`
  9630  
  9631  	// A list of identifiers of the directories for which to obtain the information.
  9632  	// If this member is null, all directories that belong to the current account
  9633  	// are returned.
  9634  	//
  9635  	// An empty list results in an InvalidParameterException being thrown.
  9636  	DirectoryIds []*string `type:"list"`
  9637  
  9638  	// The maximum number of items to return. If this value is zero, the maximum
  9639  	// number of items is specified by the limitations of the operation.
  9640  	Limit *int64 `type:"integer"`
  9641  
  9642  	// The DescribeDirectoriesResult.NextToken value from a previous call to DescribeDirectories.
  9643  	// Pass null if this is the first call.
  9644  	NextToken *string `type:"string"`
  9645  }
  9646  
  9647  // String returns the string representation.
  9648  //
  9649  // API parameter values that are decorated as "sensitive" in the API will not
  9650  // be included in the string output. The member name will be present, but the
  9651  // value will be replaced with "sensitive".
  9652  func (s DescribeDirectoriesInput) String() string {
  9653  	return awsutil.Prettify(s)
  9654  }
  9655  
  9656  // GoString returns the string representation.
  9657  //
  9658  // API parameter values that are decorated as "sensitive" in the API will not
  9659  // be included in the string output. The member name will be present, but the
  9660  // value will be replaced with "sensitive".
  9661  func (s DescribeDirectoriesInput) GoString() string {
  9662  	return s.String()
  9663  }
  9664  
  9665  // SetDirectoryIds sets the DirectoryIds field's value.
  9666  func (s *DescribeDirectoriesInput) SetDirectoryIds(v []*string) *DescribeDirectoriesInput {
  9667  	s.DirectoryIds = v
  9668  	return s
  9669  }
  9670  
  9671  // SetLimit sets the Limit field's value.
  9672  func (s *DescribeDirectoriesInput) SetLimit(v int64) *DescribeDirectoriesInput {
  9673  	s.Limit = &v
  9674  	return s
  9675  }
  9676  
  9677  // SetNextToken sets the NextToken field's value.
  9678  func (s *DescribeDirectoriesInput) SetNextToken(v string) *DescribeDirectoriesInput {
  9679  	s.NextToken = &v
  9680  	return s
  9681  }
  9682  
  9683  // Contains the results of the DescribeDirectories operation.
  9684  type DescribeDirectoriesOutput struct {
  9685  	_ struct{} `type:"structure"`
  9686  
  9687  	// The list of DirectoryDescription objects that were retrieved.
  9688  	//
  9689  	// It is possible that this list contains less than the number of items specified
  9690  	// in the Limit member of the request. This occurs if there are less than the
  9691  	// requested number of items left to retrieve, or if the limitations of the
  9692  	// operation have been exceeded.
  9693  	DirectoryDescriptions []*DirectoryDescription `type:"list"`
  9694  
  9695  	// If not null, more results are available. Pass this value for the NextToken
  9696  	// parameter in a subsequent call to DescribeDirectories to retrieve the next
  9697  	// set of items.
  9698  	NextToken *string `type:"string"`
  9699  }
  9700  
  9701  // String returns the string representation.
  9702  //
  9703  // API parameter values that are decorated as "sensitive" in the API will not
  9704  // be included in the string output. The member name will be present, but the
  9705  // value will be replaced with "sensitive".
  9706  func (s DescribeDirectoriesOutput) String() string {
  9707  	return awsutil.Prettify(s)
  9708  }
  9709  
  9710  // GoString returns the string representation.
  9711  //
  9712  // API parameter values that are decorated as "sensitive" in the API will not
  9713  // be included in the string output. The member name will be present, but the
  9714  // value will be replaced with "sensitive".
  9715  func (s DescribeDirectoriesOutput) GoString() string {
  9716  	return s.String()
  9717  }
  9718  
  9719  // SetDirectoryDescriptions sets the DirectoryDescriptions field's value.
  9720  func (s *DescribeDirectoriesOutput) SetDirectoryDescriptions(v []*DirectoryDescription) *DescribeDirectoriesOutput {
  9721  	s.DirectoryDescriptions = v
  9722  	return s
  9723  }
  9724  
  9725  // SetNextToken sets the NextToken field's value.
  9726  func (s *DescribeDirectoriesOutput) SetNextToken(v string) *DescribeDirectoriesOutput {
  9727  	s.NextToken = &v
  9728  	return s
  9729  }
  9730  
  9731  type DescribeDomainControllersInput struct {
  9732  	_ struct{} `type:"structure"`
  9733  
  9734  	// Identifier of the directory for which to retrieve the domain controller information.
  9735  	//
  9736  	// DirectoryId is a required field
  9737  	DirectoryId *string `type:"string" required:"true"`
  9738  
  9739  	// A list of identifiers for the domain controllers whose information will be
  9740  	// provided.
  9741  	DomainControllerIds []*string `type:"list"`
  9742  
  9743  	// The maximum number of items to return.
  9744  	Limit *int64 `type:"integer"`
  9745  
  9746  	// The DescribeDomainControllers.NextToken value from a previous call to DescribeDomainControllers.
  9747  	// Pass null if this is the first call.
  9748  	NextToken *string `type:"string"`
  9749  }
  9750  
  9751  // String returns the string representation.
  9752  //
  9753  // API parameter values that are decorated as "sensitive" in the API will not
  9754  // be included in the string output. The member name will be present, but the
  9755  // value will be replaced with "sensitive".
  9756  func (s DescribeDomainControllersInput) String() string {
  9757  	return awsutil.Prettify(s)
  9758  }
  9759  
  9760  // GoString returns the string representation.
  9761  //
  9762  // API parameter values that are decorated as "sensitive" in the API will not
  9763  // be included in the string output. The member name will be present, but the
  9764  // value will be replaced with "sensitive".
  9765  func (s DescribeDomainControllersInput) GoString() string {
  9766  	return s.String()
  9767  }
  9768  
  9769  // Validate inspects the fields of the type to determine if they are valid.
  9770  func (s *DescribeDomainControllersInput) Validate() error {
  9771  	invalidParams := request.ErrInvalidParams{Context: "DescribeDomainControllersInput"}
  9772  	if s.DirectoryId == nil {
  9773  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  9774  	}
  9775  
  9776  	if invalidParams.Len() > 0 {
  9777  		return invalidParams
  9778  	}
  9779  	return nil
  9780  }
  9781  
  9782  // SetDirectoryId sets the DirectoryId field's value.
  9783  func (s *DescribeDomainControllersInput) SetDirectoryId(v string) *DescribeDomainControllersInput {
  9784  	s.DirectoryId = &v
  9785  	return s
  9786  }
  9787  
  9788  // SetDomainControllerIds sets the DomainControllerIds field's value.
  9789  func (s *DescribeDomainControllersInput) SetDomainControllerIds(v []*string) *DescribeDomainControllersInput {
  9790  	s.DomainControllerIds = v
  9791  	return s
  9792  }
  9793  
  9794  // SetLimit sets the Limit field's value.
  9795  func (s *DescribeDomainControllersInput) SetLimit(v int64) *DescribeDomainControllersInput {
  9796  	s.Limit = &v
  9797  	return s
  9798  }
  9799  
  9800  // SetNextToken sets the NextToken field's value.
  9801  func (s *DescribeDomainControllersInput) SetNextToken(v string) *DescribeDomainControllersInput {
  9802  	s.NextToken = &v
  9803  	return s
  9804  }
  9805  
  9806  type DescribeDomainControllersOutput struct {
  9807  	_ struct{} `type:"structure"`
  9808  
  9809  	// List of the DomainController objects that were retrieved.
  9810  	DomainControllers []*DomainController `type:"list"`
  9811  
  9812  	// If not null, more results are available. Pass this value for the NextToken
  9813  	// parameter in a subsequent call to DescribeDomainControllers retrieve the
  9814  	// next set of items.
  9815  	NextToken *string `type:"string"`
  9816  }
  9817  
  9818  // String returns the string representation.
  9819  //
  9820  // API parameter values that are decorated as "sensitive" in the API will not
  9821  // be included in the string output. The member name will be present, but the
  9822  // value will be replaced with "sensitive".
  9823  func (s DescribeDomainControllersOutput) String() string {
  9824  	return awsutil.Prettify(s)
  9825  }
  9826  
  9827  // GoString returns the string representation.
  9828  //
  9829  // API parameter values that are decorated as "sensitive" in the API will not
  9830  // be included in the string output. The member name will be present, but the
  9831  // value will be replaced with "sensitive".
  9832  func (s DescribeDomainControllersOutput) GoString() string {
  9833  	return s.String()
  9834  }
  9835  
  9836  // SetDomainControllers sets the DomainControllers field's value.
  9837  func (s *DescribeDomainControllersOutput) SetDomainControllers(v []*DomainController) *DescribeDomainControllersOutput {
  9838  	s.DomainControllers = v
  9839  	return s
  9840  }
  9841  
  9842  // SetNextToken sets the NextToken field's value.
  9843  func (s *DescribeDomainControllersOutput) SetNextToken(v string) *DescribeDomainControllersOutput {
  9844  	s.NextToken = &v
  9845  	return s
  9846  }
  9847  
  9848  // Describes event topics.
  9849  type DescribeEventTopicsInput struct {
  9850  	_ struct{} `type:"structure"`
  9851  
  9852  	// The Directory ID for which to get the list of associated Amazon SNS topics.
  9853  	// If this member is null, associations for all Directory IDs are returned.
  9854  	DirectoryId *string `type:"string"`
  9855  
  9856  	// A list of Amazon SNS topic names for which to obtain the information. If
  9857  	// this member is null, all associations for the specified Directory ID are
  9858  	// returned.
  9859  	//
  9860  	// An empty list results in an InvalidParameterException being thrown.
  9861  	TopicNames []*string `type:"list"`
  9862  }
  9863  
  9864  // String returns the string representation.
  9865  //
  9866  // API parameter values that are decorated as "sensitive" in the API will not
  9867  // be included in the string output. The member name will be present, but the
  9868  // value will be replaced with "sensitive".
  9869  func (s DescribeEventTopicsInput) String() string {
  9870  	return awsutil.Prettify(s)
  9871  }
  9872  
  9873  // GoString returns the string representation.
  9874  //
  9875  // API parameter values that are decorated as "sensitive" in the API will not
  9876  // be included in the string output. The member name will be present, but the
  9877  // value will be replaced with "sensitive".
  9878  func (s DescribeEventTopicsInput) GoString() string {
  9879  	return s.String()
  9880  }
  9881  
  9882  // SetDirectoryId sets the DirectoryId field's value.
  9883  func (s *DescribeEventTopicsInput) SetDirectoryId(v string) *DescribeEventTopicsInput {
  9884  	s.DirectoryId = &v
  9885  	return s
  9886  }
  9887  
  9888  // SetTopicNames sets the TopicNames field's value.
  9889  func (s *DescribeEventTopicsInput) SetTopicNames(v []*string) *DescribeEventTopicsInput {
  9890  	s.TopicNames = v
  9891  	return s
  9892  }
  9893  
  9894  // The result of a DescribeEventTopic request.
  9895  type DescribeEventTopicsOutput struct {
  9896  	_ struct{} `type:"structure"`
  9897  
  9898  	// A list of Amazon SNS topic names that receive status messages from the specified
  9899  	// Directory ID.
  9900  	EventTopics []*EventTopic `type:"list"`
  9901  }
  9902  
  9903  // String returns the string representation.
  9904  //
  9905  // API parameter values that are decorated as "sensitive" in the API will not
  9906  // be included in the string output. The member name will be present, but the
  9907  // value will be replaced with "sensitive".
  9908  func (s DescribeEventTopicsOutput) String() string {
  9909  	return awsutil.Prettify(s)
  9910  }
  9911  
  9912  // GoString returns the string representation.
  9913  //
  9914  // API parameter values that are decorated as "sensitive" in the API will not
  9915  // be included in the string output. The member name will be present, but the
  9916  // value will be replaced with "sensitive".
  9917  func (s DescribeEventTopicsOutput) GoString() string {
  9918  	return s.String()
  9919  }
  9920  
  9921  // SetEventTopics sets the EventTopics field's value.
  9922  func (s *DescribeEventTopicsOutput) SetEventTopics(v []*EventTopic) *DescribeEventTopicsOutput {
  9923  	s.EventTopics = v
  9924  	return s
  9925  }
  9926  
  9927  type DescribeLDAPSSettingsInput struct {
  9928  	_ struct{} `type:"structure"`
  9929  
  9930  	// The identifier of the directory.
  9931  	//
  9932  	// DirectoryId is a required field
  9933  	DirectoryId *string `type:"string" required:"true"`
  9934  
  9935  	// Specifies the number of items that should be displayed on one page.
  9936  	Limit *int64 `min:"1" type:"integer"`
  9937  
  9938  	// The type of next token used for pagination.
  9939  	NextToken *string `type:"string"`
  9940  
  9941  	// The type of LDAP security to enable. Currently only the value Client is supported.
  9942  	Type *string `type:"string" enum:"LDAPSType"`
  9943  }
  9944  
  9945  // String returns the string representation.
  9946  //
  9947  // API parameter values that are decorated as "sensitive" in the API will not
  9948  // be included in the string output. The member name will be present, but the
  9949  // value will be replaced with "sensitive".
  9950  func (s DescribeLDAPSSettingsInput) String() string {
  9951  	return awsutil.Prettify(s)
  9952  }
  9953  
  9954  // GoString returns the string representation.
  9955  //
  9956  // API parameter values that are decorated as "sensitive" in the API will not
  9957  // be included in the string output. The member name will be present, but the
  9958  // value will be replaced with "sensitive".
  9959  func (s DescribeLDAPSSettingsInput) GoString() string {
  9960  	return s.String()
  9961  }
  9962  
  9963  // Validate inspects the fields of the type to determine if they are valid.
  9964  func (s *DescribeLDAPSSettingsInput) Validate() error {
  9965  	invalidParams := request.ErrInvalidParams{Context: "DescribeLDAPSSettingsInput"}
  9966  	if s.DirectoryId == nil {
  9967  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  9968  	}
  9969  	if s.Limit != nil && *s.Limit < 1 {
  9970  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
  9971  	}
  9972  
  9973  	if invalidParams.Len() > 0 {
  9974  		return invalidParams
  9975  	}
  9976  	return nil
  9977  }
  9978  
  9979  // SetDirectoryId sets the DirectoryId field's value.
  9980  func (s *DescribeLDAPSSettingsInput) SetDirectoryId(v string) *DescribeLDAPSSettingsInput {
  9981  	s.DirectoryId = &v
  9982  	return s
  9983  }
  9984  
  9985  // SetLimit sets the Limit field's value.
  9986  func (s *DescribeLDAPSSettingsInput) SetLimit(v int64) *DescribeLDAPSSettingsInput {
  9987  	s.Limit = &v
  9988  	return s
  9989  }
  9990  
  9991  // SetNextToken sets the NextToken field's value.
  9992  func (s *DescribeLDAPSSettingsInput) SetNextToken(v string) *DescribeLDAPSSettingsInput {
  9993  	s.NextToken = &v
  9994  	return s
  9995  }
  9996  
  9997  // SetType sets the Type field's value.
  9998  func (s *DescribeLDAPSSettingsInput) SetType(v string) *DescribeLDAPSSettingsInput {
  9999  	s.Type = &v
 10000  	return s
 10001  }
 10002  
 10003  type DescribeLDAPSSettingsOutput struct {
 10004  	_ struct{} `type:"structure"`
 10005  
 10006  	// Information about LDAP security for the specified directory, including status
 10007  	// of enablement, state last updated date time, and the reason for the state.
 10008  	LDAPSSettingsInfo []*LDAPSSettingInfo `type:"list"`
 10009  
 10010  	// The next token used to retrieve the LDAPS settings if the number of setting
 10011  	// types exceeds page limit and there is another page.
 10012  	NextToken *string `type:"string"`
 10013  }
 10014  
 10015  // String returns the string representation.
 10016  //
 10017  // API parameter values that are decorated as "sensitive" in the API will not
 10018  // be included in the string output. The member name will be present, but the
 10019  // value will be replaced with "sensitive".
 10020  func (s DescribeLDAPSSettingsOutput) String() string {
 10021  	return awsutil.Prettify(s)
 10022  }
 10023  
 10024  // GoString returns the string representation.
 10025  //
 10026  // API parameter values that are decorated as "sensitive" in the API will not
 10027  // be included in the string output. The member name will be present, but the
 10028  // value will be replaced with "sensitive".
 10029  func (s DescribeLDAPSSettingsOutput) GoString() string {
 10030  	return s.String()
 10031  }
 10032  
 10033  // SetLDAPSSettingsInfo sets the LDAPSSettingsInfo field's value.
 10034  func (s *DescribeLDAPSSettingsOutput) SetLDAPSSettingsInfo(v []*LDAPSSettingInfo) *DescribeLDAPSSettingsOutput {
 10035  	s.LDAPSSettingsInfo = v
 10036  	return s
 10037  }
 10038  
 10039  // SetNextToken sets the NextToken field's value.
 10040  func (s *DescribeLDAPSSettingsOutput) SetNextToken(v string) *DescribeLDAPSSettingsOutput {
 10041  	s.NextToken = &v
 10042  	return s
 10043  }
 10044  
 10045  type DescribeRegionsInput struct {
 10046  	_ struct{} `type:"structure"`
 10047  
 10048  	// The identifier of the directory.
 10049  	//
 10050  	// DirectoryId is a required field
 10051  	DirectoryId *string `type:"string" required:"true"`
 10052  
 10053  	// The DescribeRegionsResult.NextToken value from a previous call to DescribeRegions.
 10054  	// Pass null if this is the first call.
 10055  	NextToken *string `type:"string"`
 10056  
 10057  	// The name of the Region. For example, us-east-1.
 10058  	RegionName *string `min:"8" type:"string"`
 10059  }
 10060  
 10061  // String returns the string representation.
 10062  //
 10063  // API parameter values that are decorated as "sensitive" in the API will not
 10064  // be included in the string output. The member name will be present, but the
 10065  // value will be replaced with "sensitive".
 10066  func (s DescribeRegionsInput) String() string {
 10067  	return awsutil.Prettify(s)
 10068  }
 10069  
 10070  // GoString returns the string representation.
 10071  //
 10072  // API parameter values that are decorated as "sensitive" in the API will not
 10073  // be included in the string output. The member name will be present, but the
 10074  // value will be replaced with "sensitive".
 10075  func (s DescribeRegionsInput) GoString() string {
 10076  	return s.String()
 10077  }
 10078  
 10079  // Validate inspects the fields of the type to determine if they are valid.
 10080  func (s *DescribeRegionsInput) Validate() error {
 10081  	invalidParams := request.ErrInvalidParams{Context: "DescribeRegionsInput"}
 10082  	if s.DirectoryId == nil {
 10083  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 10084  	}
 10085  	if s.RegionName != nil && len(*s.RegionName) < 8 {
 10086  		invalidParams.Add(request.NewErrParamMinLen("RegionName", 8))
 10087  	}
 10088  
 10089  	if invalidParams.Len() > 0 {
 10090  		return invalidParams
 10091  	}
 10092  	return nil
 10093  }
 10094  
 10095  // SetDirectoryId sets the DirectoryId field's value.
 10096  func (s *DescribeRegionsInput) SetDirectoryId(v string) *DescribeRegionsInput {
 10097  	s.DirectoryId = &v
 10098  	return s
 10099  }
 10100  
 10101  // SetNextToken sets the NextToken field's value.
 10102  func (s *DescribeRegionsInput) SetNextToken(v string) *DescribeRegionsInput {
 10103  	s.NextToken = &v
 10104  	return s
 10105  }
 10106  
 10107  // SetRegionName sets the RegionName field's value.
 10108  func (s *DescribeRegionsInput) SetRegionName(v string) *DescribeRegionsInput {
 10109  	s.RegionName = &v
 10110  	return s
 10111  }
 10112  
 10113  type DescribeRegionsOutput struct {
 10114  	_ struct{} `type:"structure"`
 10115  
 10116  	// If not null, more results are available. Pass this value for the NextToken
 10117  	// parameter in a subsequent call to DescribeRegions to retrieve the next set
 10118  	// of items.
 10119  	NextToken *string `type:"string"`
 10120  
 10121  	// List of Region information related to the directory for each replicated Region.
 10122  	RegionsDescription []*RegionDescription `type:"list"`
 10123  }
 10124  
 10125  // String returns the string representation.
 10126  //
 10127  // API parameter values that are decorated as "sensitive" in the API will not
 10128  // be included in the string output. The member name will be present, but the
 10129  // value will be replaced with "sensitive".
 10130  func (s DescribeRegionsOutput) String() string {
 10131  	return awsutil.Prettify(s)
 10132  }
 10133  
 10134  // GoString returns the string representation.
 10135  //
 10136  // API parameter values that are decorated as "sensitive" in the API will not
 10137  // be included in the string output. The member name will be present, but the
 10138  // value will be replaced with "sensitive".
 10139  func (s DescribeRegionsOutput) GoString() string {
 10140  	return s.String()
 10141  }
 10142  
 10143  // SetNextToken sets the NextToken field's value.
 10144  func (s *DescribeRegionsOutput) SetNextToken(v string) *DescribeRegionsOutput {
 10145  	s.NextToken = &v
 10146  	return s
 10147  }
 10148  
 10149  // SetRegionsDescription sets the RegionsDescription field's value.
 10150  func (s *DescribeRegionsOutput) SetRegionsDescription(v []*RegionDescription) *DescribeRegionsOutput {
 10151  	s.RegionsDescription = v
 10152  	return s
 10153  }
 10154  
 10155  type DescribeSharedDirectoriesInput struct {
 10156  	_ struct{} `type:"structure"`
 10157  
 10158  	// The number of shared directories to return in the response object.
 10159  	Limit *int64 `type:"integer"`
 10160  
 10161  	// The DescribeSharedDirectoriesResult.NextToken value from a previous call
 10162  	// to DescribeSharedDirectories. Pass null if this is the first call.
 10163  	NextToken *string `type:"string"`
 10164  
 10165  	// Returns the identifier of the directory in the directory owner account.
 10166  	//
 10167  	// OwnerDirectoryId is a required field
 10168  	OwnerDirectoryId *string `type:"string" required:"true"`
 10169  
 10170  	// A list of identifiers of all shared directories in your account.
 10171  	SharedDirectoryIds []*string `type:"list"`
 10172  }
 10173  
 10174  // String returns the string representation.
 10175  //
 10176  // API parameter values that are decorated as "sensitive" in the API will not
 10177  // be included in the string output. The member name will be present, but the
 10178  // value will be replaced with "sensitive".
 10179  func (s DescribeSharedDirectoriesInput) String() string {
 10180  	return awsutil.Prettify(s)
 10181  }
 10182  
 10183  // GoString returns the string representation.
 10184  //
 10185  // API parameter values that are decorated as "sensitive" in the API will not
 10186  // be included in the string output. The member name will be present, but the
 10187  // value will be replaced with "sensitive".
 10188  func (s DescribeSharedDirectoriesInput) GoString() string {
 10189  	return s.String()
 10190  }
 10191  
 10192  // Validate inspects the fields of the type to determine if they are valid.
 10193  func (s *DescribeSharedDirectoriesInput) Validate() error {
 10194  	invalidParams := request.ErrInvalidParams{Context: "DescribeSharedDirectoriesInput"}
 10195  	if s.OwnerDirectoryId == nil {
 10196  		invalidParams.Add(request.NewErrParamRequired("OwnerDirectoryId"))
 10197  	}
 10198  
 10199  	if invalidParams.Len() > 0 {
 10200  		return invalidParams
 10201  	}
 10202  	return nil
 10203  }
 10204  
 10205  // SetLimit sets the Limit field's value.
 10206  func (s *DescribeSharedDirectoriesInput) SetLimit(v int64) *DescribeSharedDirectoriesInput {
 10207  	s.Limit = &v
 10208  	return s
 10209  }
 10210  
 10211  // SetNextToken sets the NextToken field's value.
 10212  func (s *DescribeSharedDirectoriesInput) SetNextToken(v string) *DescribeSharedDirectoriesInput {
 10213  	s.NextToken = &v
 10214  	return s
 10215  }
 10216  
 10217  // SetOwnerDirectoryId sets the OwnerDirectoryId field's value.
 10218  func (s *DescribeSharedDirectoriesInput) SetOwnerDirectoryId(v string) *DescribeSharedDirectoriesInput {
 10219  	s.OwnerDirectoryId = &v
 10220  	return s
 10221  }
 10222  
 10223  // SetSharedDirectoryIds sets the SharedDirectoryIds field's value.
 10224  func (s *DescribeSharedDirectoriesInput) SetSharedDirectoryIds(v []*string) *DescribeSharedDirectoriesInput {
 10225  	s.SharedDirectoryIds = v
 10226  	return s
 10227  }
 10228  
 10229  type DescribeSharedDirectoriesOutput struct {
 10230  	_ struct{} `type:"structure"`
 10231  
 10232  	// If not null, token that indicates that more results are available. Pass this
 10233  	// value for the NextToken parameter in a subsequent call to DescribeSharedDirectories
 10234  	// to retrieve the next set of items.
 10235  	NextToken *string `type:"string"`
 10236  
 10237  	// A list of all shared directories in your account.
 10238  	SharedDirectories []*SharedDirectory `type:"list"`
 10239  }
 10240  
 10241  // String returns the string representation.
 10242  //
 10243  // API parameter values that are decorated as "sensitive" in the API will not
 10244  // be included in the string output. The member name will be present, but the
 10245  // value will be replaced with "sensitive".
 10246  func (s DescribeSharedDirectoriesOutput) String() string {
 10247  	return awsutil.Prettify(s)
 10248  }
 10249  
 10250  // GoString returns the string representation.
 10251  //
 10252  // API parameter values that are decorated as "sensitive" in the API will not
 10253  // be included in the string output. The member name will be present, but the
 10254  // value will be replaced with "sensitive".
 10255  func (s DescribeSharedDirectoriesOutput) GoString() string {
 10256  	return s.String()
 10257  }
 10258  
 10259  // SetNextToken sets the NextToken field's value.
 10260  func (s *DescribeSharedDirectoriesOutput) SetNextToken(v string) *DescribeSharedDirectoriesOutput {
 10261  	s.NextToken = &v
 10262  	return s
 10263  }
 10264  
 10265  // SetSharedDirectories sets the SharedDirectories field's value.
 10266  func (s *DescribeSharedDirectoriesOutput) SetSharedDirectories(v []*SharedDirectory) *DescribeSharedDirectoriesOutput {
 10267  	s.SharedDirectories = v
 10268  	return s
 10269  }
 10270  
 10271  // Contains the inputs for the DescribeSnapshots operation.
 10272  type DescribeSnapshotsInput struct {
 10273  	_ struct{} `type:"structure"`
 10274  
 10275  	// The identifier of the directory for which to retrieve snapshot information.
 10276  	DirectoryId *string `type:"string"`
 10277  
 10278  	// The maximum number of objects to return.
 10279  	Limit *int64 `type:"integer"`
 10280  
 10281  	// The DescribeSnapshotsResult.NextToken value from a previous call to DescribeSnapshots.
 10282  	// Pass null if this is the first call.
 10283  	NextToken *string `type:"string"`
 10284  
 10285  	// A list of identifiers of the snapshots to obtain the information for. If
 10286  	// this member is null or empty, all snapshots are returned using the Limit
 10287  	// and NextToken members.
 10288  	SnapshotIds []*string `type:"list"`
 10289  }
 10290  
 10291  // String returns the string representation.
 10292  //
 10293  // API parameter values that are decorated as "sensitive" in the API will not
 10294  // be included in the string output. The member name will be present, but the
 10295  // value will be replaced with "sensitive".
 10296  func (s DescribeSnapshotsInput) String() string {
 10297  	return awsutil.Prettify(s)
 10298  }
 10299  
 10300  // GoString returns the string representation.
 10301  //
 10302  // API parameter values that are decorated as "sensitive" in the API will not
 10303  // be included in the string output. The member name will be present, but the
 10304  // value will be replaced with "sensitive".
 10305  func (s DescribeSnapshotsInput) GoString() string {
 10306  	return s.String()
 10307  }
 10308  
 10309  // SetDirectoryId sets the DirectoryId field's value.
 10310  func (s *DescribeSnapshotsInput) SetDirectoryId(v string) *DescribeSnapshotsInput {
 10311  	s.DirectoryId = &v
 10312  	return s
 10313  }
 10314  
 10315  // SetLimit sets the Limit field's value.
 10316  func (s *DescribeSnapshotsInput) SetLimit(v int64) *DescribeSnapshotsInput {
 10317  	s.Limit = &v
 10318  	return s
 10319  }
 10320  
 10321  // SetNextToken sets the NextToken field's value.
 10322  func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput {
 10323  	s.NextToken = &v
 10324  	return s
 10325  }
 10326  
 10327  // SetSnapshotIds sets the SnapshotIds field's value.
 10328  func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput {
 10329  	s.SnapshotIds = v
 10330  	return s
 10331  }
 10332  
 10333  // Contains the results of the DescribeSnapshots operation.
 10334  type DescribeSnapshotsOutput struct {
 10335  	_ struct{} `type:"structure"`
 10336  
 10337  	// If not null, more results are available. Pass this value in the NextToken
 10338  	// member of a subsequent call to DescribeSnapshots.
 10339  	NextToken *string `type:"string"`
 10340  
 10341  	// The list of Snapshot objects that were retrieved.
 10342  	//
 10343  	// It is possible that this list contains less than the number of items specified
 10344  	// in the Limit member of the request. This occurs if there are less than the
 10345  	// requested number of items left to retrieve, or if the limitations of the
 10346  	// operation have been exceeded.
 10347  	Snapshots []*Snapshot `type:"list"`
 10348  }
 10349  
 10350  // String returns the string representation.
 10351  //
 10352  // API parameter values that are decorated as "sensitive" in the API will not
 10353  // be included in the string output. The member name will be present, but the
 10354  // value will be replaced with "sensitive".
 10355  func (s DescribeSnapshotsOutput) String() string {
 10356  	return awsutil.Prettify(s)
 10357  }
 10358  
 10359  // GoString returns the string representation.
 10360  //
 10361  // API parameter values that are decorated as "sensitive" in the API will not
 10362  // be included in the string output. The member name will be present, but the
 10363  // value will be replaced with "sensitive".
 10364  func (s DescribeSnapshotsOutput) GoString() string {
 10365  	return s.String()
 10366  }
 10367  
 10368  // SetNextToken sets the NextToken field's value.
 10369  func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput {
 10370  	s.NextToken = &v
 10371  	return s
 10372  }
 10373  
 10374  // SetSnapshots sets the Snapshots field's value.
 10375  func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput {
 10376  	s.Snapshots = v
 10377  	return s
 10378  }
 10379  
 10380  // Describes the trust relationships for a particular Managed Microsoft AD directory.
 10381  // If no input parameters are provided, such as directory ID or trust ID, this
 10382  // request describes all the trust relationships.
 10383  type DescribeTrustsInput struct {
 10384  	_ struct{} `type:"structure"`
 10385  
 10386  	// The Directory ID of the Amazon Web Services directory that is a part of the
 10387  	// requested trust relationship.
 10388  	DirectoryId *string `type:"string"`
 10389  
 10390  	// The maximum number of objects to return.
 10391  	Limit *int64 `type:"integer"`
 10392  
 10393  	// The DescribeTrustsResult.NextToken value from a previous call to DescribeTrusts.
 10394  	// Pass null if this is the first call.
 10395  	NextToken *string `type:"string"`
 10396  
 10397  	// A list of identifiers of the trust relationships for which to obtain the
 10398  	// information. If this member is null, all trust relationships that belong
 10399  	// to the current account are returned.
 10400  	//
 10401  	// An empty list results in an InvalidParameterException being thrown.
 10402  	TrustIds []*string `type:"list"`
 10403  }
 10404  
 10405  // String returns the string representation.
 10406  //
 10407  // API parameter values that are decorated as "sensitive" in the API will not
 10408  // be included in the string output. The member name will be present, but the
 10409  // value will be replaced with "sensitive".
 10410  func (s DescribeTrustsInput) String() string {
 10411  	return awsutil.Prettify(s)
 10412  }
 10413  
 10414  // GoString returns the string representation.
 10415  //
 10416  // API parameter values that are decorated as "sensitive" in the API will not
 10417  // be included in the string output. The member name will be present, but the
 10418  // value will be replaced with "sensitive".
 10419  func (s DescribeTrustsInput) GoString() string {
 10420  	return s.String()
 10421  }
 10422  
 10423  // SetDirectoryId sets the DirectoryId field's value.
 10424  func (s *DescribeTrustsInput) SetDirectoryId(v string) *DescribeTrustsInput {
 10425  	s.DirectoryId = &v
 10426  	return s
 10427  }
 10428  
 10429  // SetLimit sets the Limit field's value.
 10430  func (s *DescribeTrustsInput) SetLimit(v int64) *DescribeTrustsInput {
 10431  	s.Limit = &v
 10432  	return s
 10433  }
 10434  
 10435  // SetNextToken sets the NextToken field's value.
 10436  func (s *DescribeTrustsInput) SetNextToken(v string) *DescribeTrustsInput {
 10437  	s.NextToken = &v
 10438  	return s
 10439  }
 10440  
 10441  // SetTrustIds sets the TrustIds field's value.
 10442  func (s *DescribeTrustsInput) SetTrustIds(v []*string) *DescribeTrustsInput {
 10443  	s.TrustIds = v
 10444  	return s
 10445  }
 10446  
 10447  // The result of a DescribeTrust request.
 10448  type DescribeTrustsOutput struct {
 10449  	_ struct{} `type:"structure"`
 10450  
 10451  	// If not null, more results are available. Pass this value for the NextToken
 10452  	// parameter in a subsequent call to DescribeTrusts to retrieve the next set
 10453  	// of items.
 10454  	NextToken *string `type:"string"`
 10455  
 10456  	// The list of Trust objects that were retrieved.
 10457  	//
 10458  	// It is possible that this list contains less than the number of items specified
 10459  	// in the Limit member of the request. This occurs if there are less than the
 10460  	// requested number of items left to retrieve, or if the limitations of the
 10461  	// operation have been exceeded.
 10462  	Trusts []*Trust `type:"list"`
 10463  }
 10464  
 10465  // String returns the string representation.
 10466  //
 10467  // API parameter values that are decorated as "sensitive" in the API will not
 10468  // be included in the string output. The member name will be present, but the
 10469  // value will be replaced with "sensitive".
 10470  func (s DescribeTrustsOutput) String() string {
 10471  	return awsutil.Prettify(s)
 10472  }
 10473  
 10474  // GoString returns the string representation.
 10475  //
 10476  // API parameter values that are decorated as "sensitive" in the API will not
 10477  // be included in the string output. The member name will be present, but the
 10478  // value will be replaced with "sensitive".
 10479  func (s DescribeTrustsOutput) GoString() string {
 10480  	return s.String()
 10481  }
 10482  
 10483  // SetNextToken sets the NextToken field's value.
 10484  func (s *DescribeTrustsOutput) SetNextToken(v string) *DescribeTrustsOutput {
 10485  	s.NextToken = &v
 10486  	return s
 10487  }
 10488  
 10489  // SetTrusts sets the Trusts field's value.
 10490  func (s *DescribeTrustsOutput) SetTrusts(v []*Trust) *DescribeTrustsOutput {
 10491  	s.Trusts = v
 10492  	return s
 10493  }
 10494  
 10495  // The Region you specified is the same Region where the Managed Microsoft AD
 10496  // directory was created. Specify a different Region and try again.
 10497  type DirectoryAlreadyInRegionException struct {
 10498  	_            struct{}                  `type:"structure"`
 10499  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10500  
 10501  	// The descriptive message for the exception.
 10502  	Message_ *string `locationName:"Message" type:"string"`
 10503  
 10504  	// The Amazon Web Services request identifier.
 10505  	RequestId *string `type:"string"`
 10506  }
 10507  
 10508  // String returns the string representation.
 10509  //
 10510  // API parameter values that are decorated as "sensitive" in the API will not
 10511  // be included in the string output. The member name will be present, but the
 10512  // value will be replaced with "sensitive".
 10513  func (s DirectoryAlreadyInRegionException) String() string {
 10514  	return awsutil.Prettify(s)
 10515  }
 10516  
 10517  // GoString returns the string representation.
 10518  //
 10519  // API parameter values that are decorated as "sensitive" in the API will not
 10520  // be included in the string output. The member name will be present, but the
 10521  // value will be replaced with "sensitive".
 10522  func (s DirectoryAlreadyInRegionException) GoString() string {
 10523  	return s.String()
 10524  }
 10525  
 10526  func newErrorDirectoryAlreadyInRegionException(v protocol.ResponseMetadata) error {
 10527  	return &DirectoryAlreadyInRegionException{
 10528  		RespMetadata: v,
 10529  	}
 10530  }
 10531  
 10532  // Code returns the exception type name.
 10533  func (s *DirectoryAlreadyInRegionException) Code() string {
 10534  	return "DirectoryAlreadyInRegionException"
 10535  }
 10536  
 10537  // Message returns the exception's message.
 10538  func (s *DirectoryAlreadyInRegionException) Message() string {
 10539  	if s.Message_ != nil {
 10540  		return *s.Message_
 10541  	}
 10542  	return ""
 10543  }
 10544  
 10545  // OrigErr always returns nil, satisfies awserr.Error interface.
 10546  func (s *DirectoryAlreadyInRegionException) OrigErr() error {
 10547  	return nil
 10548  }
 10549  
 10550  func (s *DirectoryAlreadyInRegionException) Error() string {
 10551  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 10552  }
 10553  
 10554  // Status code returns the HTTP status code for the request's response error.
 10555  func (s *DirectoryAlreadyInRegionException) StatusCode() int {
 10556  	return s.RespMetadata.StatusCode
 10557  }
 10558  
 10559  // RequestID returns the service's response RequestID for request.
 10560  func (s *DirectoryAlreadyInRegionException) RequestID() string {
 10561  	return s.RespMetadata.RequestID
 10562  }
 10563  
 10564  // The specified directory has already been shared with this Amazon Web Services
 10565  // account.
 10566  type DirectoryAlreadySharedException struct {
 10567  	_            struct{}                  `type:"structure"`
 10568  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10569  
 10570  	// The descriptive message for the exception.
 10571  	Message_ *string `locationName:"Message" type:"string"`
 10572  
 10573  	// The Amazon Web Services request identifier.
 10574  	RequestId *string `type:"string"`
 10575  }
 10576  
 10577  // String returns the string representation.
 10578  //
 10579  // API parameter values that are decorated as "sensitive" in the API will not
 10580  // be included in the string output. The member name will be present, but the
 10581  // value will be replaced with "sensitive".
 10582  func (s DirectoryAlreadySharedException) String() string {
 10583  	return awsutil.Prettify(s)
 10584  }
 10585  
 10586  // GoString returns the string representation.
 10587  //
 10588  // API parameter values that are decorated as "sensitive" in the API will not
 10589  // be included in the string output. The member name will be present, but the
 10590  // value will be replaced with "sensitive".
 10591  func (s DirectoryAlreadySharedException) GoString() string {
 10592  	return s.String()
 10593  }
 10594  
 10595  func newErrorDirectoryAlreadySharedException(v protocol.ResponseMetadata) error {
 10596  	return &DirectoryAlreadySharedException{
 10597  		RespMetadata: v,
 10598  	}
 10599  }
 10600  
 10601  // Code returns the exception type name.
 10602  func (s *DirectoryAlreadySharedException) Code() string {
 10603  	return "DirectoryAlreadySharedException"
 10604  }
 10605  
 10606  // Message returns the exception's message.
 10607  func (s *DirectoryAlreadySharedException) Message() string {
 10608  	if s.Message_ != nil {
 10609  		return *s.Message_
 10610  	}
 10611  	return ""
 10612  }
 10613  
 10614  // OrigErr always returns nil, satisfies awserr.Error interface.
 10615  func (s *DirectoryAlreadySharedException) OrigErr() error {
 10616  	return nil
 10617  }
 10618  
 10619  func (s *DirectoryAlreadySharedException) Error() string {
 10620  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 10621  }
 10622  
 10623  // Status code returns the HTTP status code for the request's response error.
 10624  func (s *DirectoryAlreadySharedException) StatusCode() int {
 10625  	return s.RespMetadata.StatusCode
 10626  }
 10627  
 10628  // RequestID returns the service's response RequestID for request.
 10629  func (s *DirectoryAlreadySharedException) RequestID() string {
 10630  	return s.RespMetadata.RequestID
 10631  }
 10632  
 10633  // Contains information for the ConnectDirectory operation when an AD Connector
 10634  // directory is being created.
 10635  type DirectoryConnectSettings struct {
 10636  	_ struct{} `type:"structure"`
 10637  
 10638  	// A list of one or more IP addresses of DNS servers or domain controllers in
 10639  	// your self-managed directory.
 10640  	//
 10641  	// CustomerDnsIps is a required field
 10642  	CustomerDnsIps []*string `type:"list" required:"true"`
 10643  
 10644  	// The user name of an account in your self-managed directory that is used to
 10645  	// connect to the directory. This account must have the following permissions:
 10646  	//
 10647  	//    * Read users and groups
 10648  	//
 10649  	//    * Create computer objects
 10650  	//
 10651  	//    * Join computers to the domain
 10652  	//
 10653  	// CustomerUserName is a required field
 10654  	CustomerUserName *string `min:"1" type:"string" required:"true"`
 10655  
 10656  	// A list of subnet identifiers in the VPC in which the AD Connector is created.
 10657  	//
 10658  	// SubnetIds is a required field
 10659  	SubnetIds []*string `type:"list" required:"true"`
 10660  
 10661  	// The identifier of the VPC in which the AD Connector is created.
 10662  	//
 10663  	// VpcId is a required field
 10664  	VpcId *string `type:"string" required:"true"`
 10665  }
 10666  
 10667  // String returns the string representation.
 10668  //
 10669  // API parameter values that are decorated as "sensitive" in the API will not
 10670  // be included in the string output. The member name will be present, but the
 10671  // value will be replaced with "sensitive".
 10672  func (s DirectoryConnectSettings) String() string {
 10673  	return awsutil.Prettify(s)
 10674  }
 10675  
 10676  // GoString returns the string representation.
 10677  //
 10678  // API parameter values that are decorated as "sensitive" in the API will not
 10679  // be included in the string output. The member name will be present, but the
 10680  // value will be replaced with "sensitive".
 10681  func (s DirectoryConnectSettings) GoString() string {
 10682  	return s.String()
 10683  }
 10684  
 10685  // Validate inspects the fields of the type to determine if they are valid.
 10686  func (s *DirectoryConnectSettings) Validate() error {
 10687  	invalidParams := request.ErrInvalidParams{Context: "DirectoryConnectSettings"}
 10688  	if s.CustomerDnsIps == nil {
 10689  		invalidParams.Add(request.NewErrParamRequired("CustomerDnsIps"))
 10690  	}
 10691  	if s.CustomerUserName == nil {
 10692  		invalidParams.Add(request.NewErrParamRequired("CustomerUserName"))
 10693  	}
 10694  	if s.CustomerUserName != nil && len(*s.CustomerUserName) < 1 {
 10695  		invalidParams.Add(request.NewErrParamMinLen("CustomerUserName", 1))
 10696  	}
 10697  	if s.SubnetIds == nil {
 10698  		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
 10699  	}
 10700  	if s.VpcId == nil {
 10701  		invalidParams.Add(request.NewErrParamRequired("VpcId"))
 10702  	}
 10703  
 10704  	if invalidParams.Len() > 0 {
 10705  		return invalidParams
 10706  	}
 10707  	return nil
 10708  }
 10709  
 10710  // SetCustomerDnsIps sets the CustomerDnsIps field's value.
 10711  func (s *DirectoryConnectSettings) SetCustomerDnsIps(v []*string) *DirectoryConnectSettings {
 10712  	s.CustomerDnsIps = v
 10713  	return s
 10714  }
 10715  
 10716  // SetCustomerUserName sets the CustomerUserName field's value.
 10717  func (s *DirectoryConnectSettings) SetCustomerUserName(v string) *DirectoryConnectSettings {
 10718  	s.CustomerUserName = &v
 10719  	return s
 10720  }
 10721  
 10722  // SetSubnetIds sets the SubnetIds field's value.
 10723  func (s *DirectoryConnectSettings) SetSubnetIds(v []*string) *DirectoryConnectSettings {
 10724  	s.SubnetIds = v
 10725  	return s
 10726  }
 10727  
 10728  // SetVpcId sets the VpcId field's value.
 10729  func (s *DirectoryConnectSettings) SetVpcId(v string) *DirectoryConnectSettings {
 10730  	s.VpcId = &v
 10731  	return s
 10732  }
 10733  
 10734  // Contains information about an AD Connector directory.
 10735  type DirectoryConnectSettingsDescription struct {
 10736  	_ struct{} `type:"structure"`
 10737  
 10738  	// A list of the Availability Zones that the directory is in.
 10739  	AvailabilityZones []*string `type:"list"`
 10740  
 10741  	// The IP addresses of the AD Connector servers.
 10742  	ConnectIps []*string `type:"list"`
 10743  
 10744  	// The user name of the service account in your self-managed directory.
 10745  	CustomerUserName *string `min:"1" type:"string"`
 10746  
 10747  	// The security group identifier for the AD Connector directory.
 10748  	SecurityGroupId *string `type:"string"`
 10749  
 10750  	// A list of subnet identifiers in the VPC that the AD Connector is in.
 10751  	SubnetIds []*string `type:"list"`
 10752  
 10753  	// The identifier of the VPC that the AD Connector is in.
 10754  	VpcId *string `type:"string"`
 10755  }
 10756  
 10757  // String returns the string representation.
 10758  //
 10759  // API parameter values that are decorated as "sensitive" in the API will not
 10760  // be included in the string output. The member name will be present, but the
 10761  // value will be replaced with "sensitive".
 10762  func (s DirectoryConnectSettingsDescription) String() string {
 10763  	return awsutil.Prettify(s)
 10764  }
 10765  
 10766  // GoString returns the string representation.
 10767  //
 10768  // API parameter values that are decorated as "sensitive" in the API will not
 10769  // be included in the string output. The member name will be present, but the
 10770  // value will be replaced with "sensitive".
 10771  func (s DirectoryConnectSettingsDescription) GoString() string {
 10772  	return s.String()
 10773  }
 10774  
 10775  // SetAvailabilityZones sets the AvailabilityZones field's value.
 10776  func (s *DirectoryConnectSettingsDescription) SetAvailabilityZones(v []*string) *DirectoryConnectSettingsDescription {
 10777  	s.AvailabilityZones = v
 10778  	return s
 10779  }
 10780  
 10781  // SetConnectIps sets the ConnectIps field's value.
 10782  func (s *DirectoryConnectSettingsDescription) SetConnectIps(v []*string) *DirectoryConnectSettingsDescription {
 10783  	s.ConnectIps = v
 10784  	return s
 10785  }
 10786  
 10787  // SetCustomerUserName sets the CustomerUserName field's value.
 10788  func (s *DirectoryConnectSettingsDescription) SetCustomerUserName(v string) *DirectoryConnectSettingsDescription {
 10789  	s.CustomerUserName = &v
 10790  	return s
 10791  }
 10792  
 10793  // SetSecurityGroupId sets the SecurityGroupId field's value.
 10794  func (s *DirectoryConnectSettingsDescription) SetSecurityGroupId(v string) *DirectoryConnectSettingsDescription {
 10795  	s.SecurityGroupId = &v
 10796  	return s
 10797  }
 10798  
 10799  // SetSubnetIds sets the SubnetIds field's value.
 10800  func (s *DirectoryConnectSettingsDescription) SetSubnetIds(v []*string) *DirectoryConnectSettingsDescription {
 10801  	s.SubnetIds = v
 10802  	return s
 10803  }
 10804  
 10805  // SetVpcId sets the VpcId field's value.
 10806  func (s *DirectoryConnectSettingsDescription) SetVpcId(v string) *DirectoryConnectSettingsDescription {
 10807  	s.VpcId = &v
 10808  	return s
 10809  }
 10810  
 10811  // Contains information about an Directory Service directory.
 10812  type DirectoryDescription struct {
 10813  	_ struct{} `type:"structure"`
 10814  
 10815  	// The access URL for the directory, such as http://<alias>.awsapps.com. If
 10816  	// no alias has been created for the directory, <alias> is the directory identifier,
 10817  	// such as d-XXXXXXXXXX.
 10818  	AccessUrl *string `min:"1" type:"string"`
 10819  
 10820  	// The alias for the directory. If no alias has been created for the directory,
 10821  	// the alias is the directory identifier, such as d-XXXXXXXXXX.
 10822  	Alias *string `min:"1" type:"string"`
 10823  
 10824  	// A DirectoryConnectSettingsDescription object that contains additional information
 10825  	// about an AD Connector directory. This member is only present if the directory
 10826  	// is an AD Connector directory.
 10827  	ConnectSettings *DirectoryConnectSettingsDescription `type:"structure"`
 10828  
 10829  	// The description for the directory.
 10830  	Description *string `type:"string"`
 10831  
 10832  	// The desired number of domain controllers in the directory if the directory
 10833  	// is Microsoft AD.
 10834  	DesiredNumberOfDomainControllers *int64 `min:"2" type:"integer"`
 10835  
 10836  	// The directory identifier.
 10837  	DirectoryId *string `type:"string"`
 10838  
 10839  	// The IP addresses of the DNS servers for the directory. For a Simple AD or
 10840  	// Microsoft AD directory, these are the IP addresses of the Simple AD or Microsoft
 10841  	// AD directory servers. For an AD Connector directory, these are the IP addresses
 10842  	// of the DNS servers or domain controllers in your self-managed directory to
 10843  	// which the AD Connector is connected.
 10844  	DnsIpAddrs []*string `type:"list"`
 10845  
 10846  	// The edition associated with this directory.
 10847  	Edition *string `type:"string" enum:"DirectoryEdition"`
 10848  
 10849  	// Specifies when the directory was created.
 10850  	LaunchTime *time.Time `type:"timestamp"`
 10851  
 10852  	// The fully qualified name of the directory.
 10853  	Name *string `type:"string"`
 10854  
 10855  	// Describes the Managed Microsoft AD directory in the directory owner account.
 10856  	OwnerDirectoryDescription *OwnerDirectoryDescription `type:"structure"`
 10857  
 10858  	// A RadiusSettings object that contains information about the RADIUS server
 10859  	// configured for this directory.
 10860  	RadiusSettings *RadiusSettings `type:"structure"`
 10861  
 10862  	// The status of the RADIUS MFA server connection.
 10863  	RadiusStatus *string `type:"string" enum:"RadiusStatus"`
 10864  
 10865  	// Lists the Regions where the directory has replicated.
 10866  	RegionsInfo *RegionsInfo `type:"structure"`
 10867  
 10868  	// The method used when sharing a directory to determine whether the directory
 10869  	// should be shared within your Amazon Web Services organization (ORGANIZATIONS)
 10870  	// or with any Amazon Web Services account by sending a shared directory request
 10871  	// (HANDSHAKE).
 10872  	ShareMethod *string `type:"string" enum:"ShareMethod"`
 10873  
 10874  	// A directory share request that is sent by the directory owner to the directory
 10875  	// consumer. The request includes a typed message to help the directory consumer
 10876  	// administrator determine whether to approve or reject the share invitation.
 10877  	//
 10878  	// ShareNotes is a sensitive parameter and its value will be
 10879  	// replaced with "sensitive" in string returned by DirectoryDescription's
 10880  	// String and GoString methods.
 10881  	ShareNotes *string `type:"string" sensitive:"true"`
 10882  
 10883  	// Current directory status of the shared Managed Microsoft AD directory.
 10884  	ShareStatus *string `type:"string" enum:"ShareStatus"`
 10885  
 10886  	// The short name of the directory.
 10887  	ShortName *string `type:"string"`
 10888  
 10889  	// The directory size.
 10890  	Size *string `type:"string" enum:"DirectorySize"`
 10891  
 10892  	// Indicates if single sign-on is enabled for the directory. For more information,
 10893  	// see EnableSso and DisableSso.
 10894  	SsoEnabled *bool `type:"boolean"`
 10895  
 10896  	// The current stage of the directory.
 10897  	Stage *string `type:"string" enum:"DirectoryStage"`
 10898  
 10899  	// The date and time that the stage was last updated.
 10900  	StageLastUpdatedDateTime *time.Time `type:"timestamp"`
 10901  
 10902  	// Additional information about the directory stage.
 10903  	StageReason *string `type:"string"`
 10904  
 10905  	// The directory size.
 10906  	Type *string `type:"string" enum:"DirectoryType"`
 10907  
 10908  	// A DirectoryVpcSettingsDescription object that contains additional information
 10909  	// about a directory. This member is only present if the directory is a Simple
 10910  	// AD or Managed Microsoft AD directory.
 10911  	VpcSettings *DirectoryVpcSettingsDescription `type:"structure"`
 10912  }
 10913  
 10914  // String returns the string representation.
 10915  //
 10916  // API parameter values that are decorated as "sensitive" in the API will not
 10917  // be included in the string output. The member name will be present, but the
 10918  // value will be replaced with "sensitive".
 10919  func (s DirectoryDescription) String() string {
 10920  	return awsutil.Prettify(s)
 10921  }
 10922  
 10923  // GoString returns the string representation.
 10924  //
 10925  // API parameter values that are decorated as "sensitive" in the API will not
 10926  // be included in the string output. The member name will be present, but the
 10927  // value will be replaced with "sensitive".
 10928  func (s DirectoryDescription) GoString() string {
 10929  	return s.String()
 10930  }
 10931  
 10932  // SetAccessUrl sets the AccessUrl field's value.
 10933  func (s *DirectoryDescription) SetAccessUrl(v string) *DirectoryDescription {
 10934  	s.AccessUrl = &v
 10935  	return s
 10936  }
 10937  
 10938  // SetAlias sets the Alias field's value.
 10939  func (s *DirectoryDescription) SetAlias(v string) *DirectoryDescription {
 10940  	s.Alias = &v
 10941  	return s
 10942  }
 10943  
 10944  // SetConnectSettings sets the ConnectSettings field's value.
 10945  func (s *DirectoryDescription) SetConnectSettings(v *DirectoryConnectSettingsDescription) *DirectoryDescription {
 10946  	s.ConnectSettings = v
 10947  	return s
 10948  }
 10949  
 10950  // SetDescription sets the Description field's value.
 10951  func (s *DirectoryDescription) SetDescription(v string) *DirectoryDescription {
 10952  	s.Description = &v
 10953  	return s
 10954  }
 10955  
 10956  // SetDesiredNumberOfDomainControllers sets the DesiredNumberOfDomainControllers field's value.
 10957  func (s *DirectoryDescription) SetDesiredNumberOfDomainControllers(v int64) *DirectoryDescription {
 10958  	s.DesiredNumberOfDomainControllers = &v
 10959  	return s
 10960  }
 10961  
 10962  // SetDirectoryId sets the DirectoryId field's value.
 10963  func (s *DirectoryDescription) SetDirectoryId(v string) *DirectoryDescription {
 10964  	s.DirectoryId = &v
 10965  	return s
 10966  }
 10967  
 10968  // SetDnsIpAddrs sets the DnsIpAddrs field's value.
 10969  func (s *DirectoryDescription) SetDnsIpAddrs(v []*string) *DirectoryDescription {
 10970  	s.DnsIpAddrs = v
 10971  	return s
 10972  }
 10973  
 10974  // SetEdition sets the Edition field's value.
 10975  func (s *DirectoryDescription) SetEdition(v string) *DirectoryDescription {
 10976  	s.Edition = &v
 10977  	return s
 10978  }
 10979  
 10980  // SetLaunchTime sets the LaunchTime field's value.
 10981  func (s *DirectoryDescription) SetLaunchTime(v time.Time) *DirectoryDescription {
 10982  	s.LaunchTime = &v
 10983  	return s
 10984  }
 10985  
 10986  // SetName sets the Name field's value.
 10987  func (s *DirectoryDescription) SetName(v string) *DirectoryDescription {
 10988  	s.Name = &v
 10989  	return s
 10990  }
 10991  
 10992  // SetOwnerDirectoryDescription sets the OwnerDirectoryDescription field's value.
 10993  func (s *DirectoryDescription) SetOwnerDirectoryDescription(v *OwnerDirectoryDescription) *DirectoryDescription {
 10994  	s.OwnerDirectoryDescription = v
 10995  	return s
 10996  }
 10997  
 10998  // SetRadiusSettings sets the RadiusSettings field's value.
 10999  func (s *DirectoryDescription) SetRadiusSettings(v *RadiusSettings) *DirectoryDescription {
 11000  	s.RadiusSettings = v
 11001  	return s
 11002  }
 11003  
 11004  // SetRadiusStatus sets the RadiusStatus field's value.
 11005  func (s *DirectoryDescription) SetRadiusStatus(v string) *DirectoryDescription {
 11006  	s.RadiusStatus = &v
 11007  	return s
 11008  }
 11009  
 11010  // SetRegionsInfo sets the RegionsInfo field's value.
 11011  func (s *DirectoryDescription) SetRegionsInfo(v *RegionsInfo) *DirectoryDescription {
 11012  	s.RegionsInfo = v
 11013  	return s
 11014  }
 11015  
 11016  // SetShareMethod sets the ShareMethod field's value.
 11017  func (s *DirectoryDescription) SetShareMethod(v string) *DirectoryDescription {
 11018  	s.ShareMethod = &v
 11019  	return s
 11020  }
 11021  
 11022  // SetShareNotes sets the ShareNotes field's value.
 11023  func (s *DirectoryDescription) SetShareNotes(v string) *DirectoryDescription {
 11024  	s.ShareNotes = &v
 11025  	return s
 11026  }
 11027  
 11028  // SetShareStatus sets the ShareStatus field's value.
 11029  func (s *DirectoryDescription) SetShareStatus(v string) *DirectoryDescription {
 11030  	s.ShareStatus = &v
 11031  	return s
 11032  }
 11033  
 11034  // SetShortName sets the ShortName field's value.
 11035  func (s *DirectoryDescription) SetShortName(v string) *DirectoryDescription {
 11036  	s.ShortName = &v
 11037  	return s
 11038  }
 11039  
 11040  // SetSize sets the Size field's value.
 11041  func (s *DirectoryDescription) SetSize(v string) *DirectoryDescription {
 11042  	s.Size = &v
 11043  	return s
 11044  }
 11045  
 11046  // SetSsoEnabled sets the SsoEnabled field's value.
 11047  func (s *DirectoryDescription) SetSsoEnabled(v bool) *DirectoryDescription {
 11048  	s.SsoEnabled = &v
 11049  	return s
 11050  }
 11051  
 11052  // SetStage sets the Stage field's value.
 11053  func (s *DirectoryDescription) SetStage(v string) *DirectoryDescription {
 11054  	s.Stage = &v
 11055  	return s
 11056  }
 11057  
 11058  // SetStageLastUpdatedDateTime sets the StageLastUpdatedDateTime field's value.
 11059  func (s *DirectoryDescription) SetStageLastUpdatedDateTime(v time.Time) *DirectoryDescription {
 11060  	s.StageLastUpdatedDateTime = &v
 11061  	return s
 11062  }
 11063  
 11064  // SetStageReason sets the StageReason field's value.
 11065  func (s *DirectoryDescription) SetStageReason(v string) *DirectoryDescription {
 11066  	s.StageReason = &v
 11067  	return s
 11068  }
 11069  
 11070  // SetType sets the Type field's value.
 11071  func (s *DirectoryDescription) SetType(v string) *DirectoryDescription {
 11072  	s.Type = &v
 11073  	return s
 11074  }
 11075  
 11076  // SetVpcSettings sets the VpcSettings field's value.
 11077  func (s *DirectoryDescription) SetVpcSettings(v *DirectoryVpcSettingsDescription) *DirectoryDescription {
 11078  	s.VpcSettings = v
 11079  	return s
 11080  }
 11081  
 11082  // The specified directory does not exist in the system.
 11083  type DirectoryDoesNotExistException struct {
 11084  	_            struct{}                  `type:"structure"`
 11085  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11086  
 11087  	// The descriptive message for the exception.
 11088  	Message_ *string `locationName:"Message" type:"string"`
 11089  
 11090  	// The Amazon Web Services request identifier.
 11091  	RequestId *string `type:"string"`
 11092  }
 11093  
 11094  // String returns the string representation.
 11095  //
 11096  // API parameter values that are decorated as "sensitive" in the API will not
 11097  // be included in the string output. The member name will be present, but the
 11098  // value will be replaced with "sensitive".
 11099  func (s DirectoryDoesNotExistException) String() string {
 11100  	return awsutil.Prettify(s)
 11101  }
 11102  
 11103  // GoString returns the string representation.
 11104  //
 11105  // API parameter values that are decorated as "sensitive" in the API will not
 11106  // be included in the string output. The member name will be present, but the
 11107  // value will be replaced with "sensitive".
 11108  func (s DirectoryDoesNotExistException) GoString() string {
 11109  	return s.String()
 11110  }
 11111  
 11112  func newErrorDirectoryDoesNotExistException(v protocol.ResponseMetadata) error {
 11113  	return &DirectoryDoesNotExistException{
 11114  		RespMetadata: v,
 11115  	}
 11116  }
 11117  
 11118  // Code returns the exception type name.
 11119  func (s *DirectoryDoesNotExistException) Code() string {
 11120  	return "DirectoryDoesNotExistException"
 11121  }
 11122  
 11123  // Message returns the exception's message.
 11124  func (s *DirectoryDoesNotExistException) Message() string {
 11125  	if s.Message_ != nil {
 11126  		return *s.Message_
 11127  	}
 11128  	return ""
 11129  }
 11130  
 11131  // OrigErr always returns nil, satisfies awserr.Error interface.
 11132  func (s *DirectoryDoesNotExistException) OrigErr() error {
 11133  	return nil
 11134  }
 11135  
 11136  func (s *DirectoryDoesNotExistException) Error() string {
 11137  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 11138  }
 11139  
 11140  // Status code returns the HTTP status code for the request's response error.
 11141  func (s *DirectoryDoesNotExistException) StatusCode() int {
 11142  	return s.RespMetadata.StatusCode
 11143  }
 11144  
 11145  // RequestID returns the service's response RequestID for request.
 11146  func (s *DirectoryDoesNotExistException) RequestID() string {
 11147  	return s.RespMetadata.RequestID
 11148  }
 11149  
 11150  // The maximum number of directories in the region has been reached. You can
 11151  // use the GetDirectoryLimits operation to determine your directory limits in
 11152  // the region.
 11153  type DirectoryLimitExceededException struct {
 11154  	_            struct{}                  `type:"structure"`
 11155  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11156  
 11157  	// The descriptive message for the exception.
 11158  	Message_ *string `locationName:"Message" type:"string"`
 11159  
 11160  	// The Amazon Web Services request identifier.
 11161  	RequestId *string `type:"string"`
 11162  }
 11163  
 11164  // String returns the string representation.
 11165  //
 11166  // API parameter values that are decorated as "sensitive" in the API will not
 11167  // be included in the string output. The member name will be present, but the
 11168  // value will be replaced with "sensitive".
 11169  func (s DirectoryLimitExceededException) String() string {
 11170  	return awsutil.Prettify(s)
 11171  }
 11172  
 11173  // GoString returns the string representation.
 11174  //
 11175  // API parameter values that are decorated as "sensitive" in the API will not
 11176  // be included in the string output. The member name will be present, but the
 11177  // value will be replaced with "sensitive".
 11178  func (s DirectoryLimitExceededException) GoString() string {
 11179  	return s.String()
 11180  }
 11181  
 11182  func newErrorDirectoryLimitExceededException(v protocol.ResponseMetadata) error {
 11183  	return &DirectoryLimitExceededException{
 11184  		RespMetadata: v,
 11185  	}
 11186  }
 11187  
 11188  // Code returns the exception type name.
 11189  func (s *DirectoryLimitExceededException) Code() string {
 11190  	return "DirectoryLimitExceededException"
 11191  }
 11192  
 11193  // Message returns the exception's message.
 11194  func (s *DirectoryLimitExceededException) Message() string {
 11195  	if s.Message_ != nil {
 11196  		return *s.Message_
 11197  	}
 11198  	return ""
 11199  }
 11200  
 11201  // OrigErr always returns nil, satisfies awserr.Error interface.
 11202  func (s *DirectoryLimitExceededException) OrigErr() error {
 11203  	return nil
 11204  }
 11205  
 11206  func (s *DirectoryLimitExceededException) Error() string {
 11207  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 11208  }
 11209  
 11210  // Status code returns the HTTP status code for the request's response error.
 11211  func (s *DirectoryLimitExceededException) StatusCode() int {
 11212  	return s.RespMetadata.StatusCode
 11213  }
 11214  
 11215  // RequestID returns the service's response RequestID for request.
 11216  func (s *DirectoryLimitExceededException) RequestID() string {
 11217  	return s.RespMetadata.RequestID
 11218  }
 11219  
 11220  // Contains directory limit information for a Region.
 11221  type DirectoryLimits struct {
 11222  	_ struct{} `type:"structure"`
 11223  
 11224  	// The current number of cloud directories in the Region.
 11225  	CloudOnlyDirectoriesCurrentCount *int64 `type:"integer"`
 11226  
 11227  	// The maximum number of cloud directories allowed in the Region.
 11228  	CloudOnlyDirectoriesLimit *int64 `type:"integer"`
 11229  
 11230  	// Indicates if the cloud directory limit has been reached.
 11231  	CloudOnlyDirectoriesLimitReached *bool `type:"boolean"`
 11232  
 11233  	// The current number of Managed Microsoft AD directories in the region.
 11234  	CloudOnlyMicrosoftADCurrentCount *int64 `type:"integer"`
 11235  
 11236  	// The maximum number of Managed Microsoft AD directories allowed in the region.
 11237  	CloudOnlyMicrosoftADLimit *int64 `type:"integer"`
 11238  
 11239  	// Indicates if the Managed Microsoft AD directory limit has been reached.
 11240  	CloudOnlyMicrosoftADLimitReached *bool `type:"boolean"`
 11241  
 11242  	// The current number of connected directories in the Region.
 11243  	ConnectedDirectoriesCurrentCount *int64 `type:"integer"`
 11244  
 11245  	// The maximum number of connected directories allowed in the Region.
 11246  	ConnectedDirectoriesLimit *int64 `type:"integer"`
 11247  
 11248  	// Indicates if the connected directory limit has been reached.
 11249  	ConnectedDirectoriesLimitReached *bool `type:"boolean"`
 11250  }
 11251  
 11252  // String returns the string representation.
 11253  //
 11254  // API parameter values that are decorated as "sensitive" in the API will not
 11255  // be included in the string output. The member name will be present, but the
 11256  // value will be replaced with "sensitive".
 11257  func (s DirectoryLimits) String() string {
 11258  	return awsutil.Prettify(s)
 11259  }
 11260  
 11261  // GoString returns the string representation.
 11262  //
 11263  // API parameter values that are decorated as "sensitive" in the API will not
 11264  // be included in the string output. The member name will be present, but the
 11265  // value will be replaced with "sensitive".
 11266  func (s DirectoryLimits) GoString() string {
 11267  	return s.String()
 11268  }
 11269  
 11270  // SetCloudOnlyDirectoriesCurrentCount sets the CloudOnlyDirectoriesCurrentCount field's value.
 11271  func (s *DirectoryLimits) SetCloudOnlyDirectoriesCurrentCount(v int64) *DirectoryLimits {
 11272  	s.CloudOnlyDirectoriesCurrentCount = &v
 11273  	return s
 11274  }
 11275  
 11276  // SetCloudOnlyDirectoriesLimit sets the CloudOnlyDirectoriesLimit field's value.
 11277  func (s *DirectoryLimits) SetCloudOnlyDirectoriesLimit(v int64) *DirectoryLimits {
 11278  	s.CloudOnlyDirectoriesLimit = &v
 11279  	return s
 11280  }
 11281  
 11282  // SetCloudOnlyDirectoriesLimitReached sets the CloudOnlyDirectoriesLimitReached field's value.
 11283  func (s *DirectoryLimits) SetCloudOnlyDirectoriesLimitReached(v bool) *DirectoryLimits {
 11284  	s.CloudOnlyDirectoriesLimitReached = &v
 11285  	return s
 11286  }
 11287  
 11288  // SetCloudOnlyMicrosoftADCurrentCount sets the CloudOnlyMicrosoftADCurrentCount field's value.
 11289  func (s *DirectoryLimits) SetCloudOnlyMicrosoftADCurrentCount(v int64) *DirectoryLimits {
 11290  	s.CloudOnlyMicrosoftADCurrentCount = &v
 11291  	return s
 11292  }
 11293  
 11294  // SetCloudOnlyMicrosoftADLimit sets the CloudOnlyMicrosoftADLimit field's value.
 11295  func (s *DirectoryLimits) SetCloudOnlyMicrosoftADLimit(v int64) *DirectoryLimits {
 11296  	s.CloudOnlyMicrosoftADLimit = &v
 11297  	return s
 11298  }
 11299  
 11300  // SetCloudOnlyMicrosoftADLimitReached sets the CloudOnlyMicrosoftADLimitReached field's value.
 11301  func (s *DirectoryLimits) SetCloudOnlyMicrosoftADLimitReached(v bool) *DirectoryLimits {
 11302  	s.CloudOnlyMicrosoftADLimitReached = &v
 11303  	return s
 11304  }
 11305  
 11306  // SetConnectedDirectoriesCurrentCount sets the ConnectedDirectoriesCurrentCount field's value.
 11307  func (s *DirectoryLimits) SetConnectedDirectoriesCurrentCount(v int64) *DirectoryLimits {
 11308  	s.ConnectedDirectoriesCurrentCount = &v
 11309  	return s
 11310  }
 11311  
 11312  // SetConnectedDirectoriesLimit sets the ConnectedDirectoriesLimit field's value.
 11313  func (s *DirectoryLimits) SetConnectedDirectoriesLimit(v int64) *DirectoryLimits {
 11314  	s.ConnectedDirectoriesLimit = &v
 11315  	return s
 11316  }
 11317  
 11318  // SetConnectedDirectoriesLimitReached sets the ConnectedDirectoriesLimitReached field's value.
 11319  func (s *DirectoryLimits) SetConnectedDirectoriesLimitReached(v bool) *DirectoryLimits {
 11320  	s.ConnectedDirectoriesLimitReached = &v
 11321  	return s
 11322  }
 11323  
 11324  // The specified directory has not been shared with this Amazon Web Services
 11325  // account.
 11326  type DirectoryNotSharedException struct {
 11327  	_            struct{}                  `type:"structure"`
 11328  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11329  
 11330  	// The descriptive message for the exception.
 11331  	Message_ *string `locationName:"Message" type:"string"`
 11332  
 11333  	// The Amazon Web Services request identifier.
 11334  	RequestId *string `type:"string"`
 11335  }
 11336  
 11337  // String returns the string representation.
 11338  //
 11339  // API parameter values that are decorated as "sensitive" in the API will not
 11340  // be included in the string output. The member name will be present, but the
 11341  // value will be replaced with "sensitive".
 11342  func (s DirectoryNotSharedException) String() string {
 11343  	return awsutil.Prettify(s)
 11344  }
 11345  
 11346  // GoString returns the string representation.
 11347  //
 11348  // API parameter values that are decorated as "sensitive" in the API will not
 11349  // be included in the string output. The member name will be present, but the
 11350  // value will be replaced with "sensitive".
 11351  func (s DirectoryNotSharedException) GoString() string {
 11352  	return s.String()
 11353  }
 11354  
 11355  func newErrorDirectoryNotSharedException(v protocol.ResponseMetadata) error {
 11356  	return &DirectoryNotSharedException{
 11357  		RespMetadata: v,
 11358  	}
 11359  }
 11360  
 11361  // Code returns the exception type name.
 11362  func (s *DirectoryNotSharedException) Code() string {
 11363  	return "DirectoryNotSharedException"
 11364  }
 11365  
 11366  // Message returns the exception's message.
 11367  func (s *DirectoryNotSharedException) Message() string {
 11368  	if s.Message_ != nil {
 11369  		return *s.Message_
 11370  	}
 11371  	return ""
 11372  }
 11373  
 11374  // OrigErr always returns nil, satisfies awserr.Error interface.
 11375  func (s *DirectoryNotSharedException) OrigErr() error {
 11376  	return nil
 11377  }
 11378  
 11379  func (s *DirectoryNotSharedException) Error() string {
 11380  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 11381  }
 11382  
 11383  // Status code returns the HTTP status code for the request's response error.
 11384  func (s *DirectoryNotSharedException) StatusCode() int {
 11385  	return s.RespMetadata.StatusCode
 11386  }
 11387  
 11388  // RequestID returns the service's response RequestID for request.
 11389  func (s *DirectoryNotSharedException) RequestID() string {
 11390  	return s.RespMetadata.RequestID
 11391  }
 11392  
 11393  // The specified directory is unavailable or could not be found.
 11394  type DirectoryUnavailableException struct {
 11395  	_            struct{}                  `type:"structure"`
 11396  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11397  
 11398  	// The descriptive message for the exception.
 11399  	Message_ *string `locationName:"Message" type:"string"`
 11400  
 11401  	// The Amazon Web Services request identifier.
 11402  	RequestId *string `type:"string"`
 11403  }
 11404  
 11405  // String returns the string representation.
 11406  //
 11407  // API parameter values that are decorated as "sensitive" in the API will not
 11408  // be included in the string output. The member name will be present, but the
 11409  // value will be replaced with "sensitive".
 11410  func (s DirectoryUnavailableException) String() string {
 11411  	return awsutil.Prettify(s)
 11412  }
 11413  
 11414  // GoString returns the string representation.
 11415  //
 11416  // API parameter values that are decorated as "sensitive" in the API will not
 11417  // be included in the string output. The member name will be present, but the
 11418  // value will be replaced with "sensitive".
 11419  func (s DirectoryUnavailableException) GoString() string {
 11420  	return s.String()
 11421  }
 11422  
 11423  func newErrorDirectoryUnavailableException(v protocol.ResponseMetadata) error {
 11424  	return &DirectoryUnavailableException{
 11425  		RespMetadata: v,
 11426  	}
 11427  }
 11428  
 11429  // Code returns the exception type name.
 11430  func (s *DirectoryUnavailableException) Code() string {
 11431  	return "DirectoryUnavailableException"
 11432  }
 11433  
 11434  // Message returns the exception's message.
 11435  func (s *DirectoryUnavailableException) Message() string {
 11436  	if s.Message_ != nil {
 11437  		return *s.Message_
 11438  	}
 11439  	return ""
 11440  }
 11441  
 11442  // OrigErr always returns nil, satisfies awserr.Error interface.
 11443  func (s *DirectoryUnavailableException) OrigErr() error {
 11444  	return nil
 11445  }
 11446  
 11447  func (s *DirectoryUnavailableException) Error() string {
 11448  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 11449  }
 11450  
 11451  // Status code returns the HTTP status code for the request's response error.
 11452  func (s *DirectoryUnavailableException) StatusCode() int {
 11453  	return s.RespMetadata.StatusCode
 11454  }
 11455  
 11456  // RequestID returns the service's response RequestID for request.
 11457  func (s *DirectoryUnavailableException) RequestID() string {
 11458  	return s.RespMetadata.RequestID
 11459  }
 11460  
 11461  // Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.
 11462  type DirectoryVpcSettings struct {
 11463  	_ struct{} `type:"structure"`
 11464  
 11465  	// The identifiers of the subnets for the directory servers. The two subnets
 11466  	// must be in different Availability Zones. Directory Service creates a directory
 11467  	// server and a DNS server in each of these subnets.
 11468  	//
 11469  	// SubnetIds is a required field
 11470  	SubnetIds []*string `type:"list" required:"true"`
 11471  
 11472  	// The identifier of the VPC in which to create the directory.
 11473  	//
 11474  	// VpcId is a required field
 11475  	VpcId *string `type:"string" required:"true"`
 11476  }
 11477  
 11478  // String returns the string representation.
 11479  //
 11480  // API parameter values that are decorated as "sensitive" in the API will not
 11481  // be included in the string output. The member name will be present, but the
 11482  // value will be replaced with "sensitive".
 11483  func (s DirectoryVpcSettings) String() string {
 11484  	return awsutil.Prettify(s)
 11485  }
 11486  
 11487  // GoString returns the string representation.
 11488  //
 11489  // API parameter values that are decorated as "sensitive" in the API will not
 11490  // be included in the string output. The member name will be present, but the
 11491  // value will be replaced with "sensitive".
 11492  func (s DirectoryVpcSettings) GoString() string {
 11493  	return s.String()
 11494  }
 11495  
 11496  // Validate inspects the fields of the type to determine if they are valid.
 11497  func (s *DirectoryVpcSettings) Validate() error {
 11498  	invalidParams := request.ErrInvalidParams{Context: "DirectoryVpcSettings"}
 11499  	if s.SubnetIds == nil {
 11500  		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
 11501  	}
 11502  	if s.VpcId == nil {
 11503  		invalidParams.Add(request.NewErrParamRequired("VpcId"))
 11504  	}
 11505  
 11506  	if invalidParams.Len() > 0 {
 11507  		return invalidParams
 11508  	}
 11509  	return nil
 11510  }
 11511  
 11512  // SetSubnetIds sets the SubnetIds field's value.
 11513  func (s *DirectoryVpcSettings) SetSubnetIds(v []*string) *DirectoryVpcSettings {
 11514  	s.SubnetIds = v
 11515  	return s
 11516  }
 11517  
 11518  // SetVpcId sets the VpcId field's value.
 11519  func (s *DirectoryVpcSettings) SetVpcId(v string) *DirectoryVpcSettings {
 11520  	s.VpcId = &v
 11521  	return s
 11522  }
 11523  
 11524  // Contains information about the directory.
 11525  type DirectoryVpcSettingsDescription struct {
 11526  	_ struct{} `type:"structure"`
 11527  
 11528  	// The list of Availability Zones that the directory is in.
 11529  	AvailabilityZones []*string `type:"list"`
 11530  
 11531  	// The domain controller security group identifier for the directory.
 11532  	SecurityGroupId *string `type:"string"`
 11533  
 11534  	// The identifiers of the subnets for the directory servers.
 11535  	SubnetIds []*string `type:"list"`
 11536  
 11537  	// The identifier of the VPC that the directory is in.
 11538  	VpcId *string `type:"string"`
 11539  }
 11540  
 11541  // String returns the string representation.
 11542  //
 11543  // API parameter values that are decorated as "sensitive" in the API will not
 11544  // be included in the string output. The member name will be present, but the
 11545  // value will be replaced with "sensitive".
 11546  func (s DirectoryVpcSettingsDescription) String() string {
 11547  	return awsutil.Prettify(s)
 11548  }
 11549  
 11550  // GoString returns the string representation.
 11551  //
 11552  // API parameter values that are decorated as "sensitive" in the API will not
 11553  // be included in the string output. The member name will be present, but the
 11554  // value will be replaced with "sensitive".
 11555  func (s DirectoryVpcSettingsDescription) GoString() string {
 11556  	return s.String()
 11557  }
 11558  
 11559  // SetAvailabilityZones sets the AvailabilityZones field's value.
 11560  func (s *DirectoryVpcSettingsDescription) SetAvailabilityZones(v []*string) *DirectoryVpcSettingsDescription {
 11561  	s.AvailabilityZones = v
 11562  	return s
 11563  }
 11564  
 11565  // SetSecurityGroupId sets the SecurityGroupId field's value.
 11566  func (s *DirectoryVpcSettingsDescription) SetSecurityGroupId(v string) *DirectoryVpcSettingsDescription {
 11567  	s.SecurityGroupId = &v
 11568  	return s
 11569  }
 11570  
 11571  // SetSubnetIds sets the SubnetIds field's value.
 11572  func (s *DirectoryVpcSettingsDescription) SetSubnetIds(v []*string) *DirectoryVpcSettingsDescription {
 11573  	s.SubnetIds = v
 11574  	return s
 11575  }
 11576  
 11577  // SetVpcId sets the VpcId field's value.
 11578  func (s *DirectoryVpcSettingsDescription) SetVpcId(v string) *DirectoryVpcSettingsDescription {
 11579  	s.VpcId = &v
 11580  	return s
 11581  }
 11582  
 11583  type DisableClientAuthenticationInput struct {
 11584  	_ struct{} `type:"structure"`
 11585  
 11586  	// The identifier of the directory
 11587  	//
 11588  	// DirectoryId is a required field
 11589  	DirectoryId *string `type:"string" required:"true"`
 11590  
 11591  	// The type of client authentication to disable. Currently, only the parameter,
 11592  	// SmartCard is supported.
 11593  	//
 11594  	// Type is a required field
 11595  	Type *string `type:"string" required:"true" enum:"ClientAuthenticationType"`
 11596  }
 11597  
 11598  // String returns the string representation.
 11599  //
 11600  // API parameter values that are decorated as "sensitive" in the API will not
 11601  // be included in the string output. The member name will be present, but the
 11602  // value will be replaced with "sensitive".
 11603  func (s DisableClientAuthenticationInput) String() string {
 11604  	return awsutil.Prettify(s)
 11605  }
 11606  
 11607  // GoString returns the string representation.
 11608  //
 11609  // API parameter values that are decorated as "sensitive" in the API will not
 11610  // be included in the string output. The member name will be present, but the
 11611  // value will be replaced with "sensitive".
 11612  func (s DisableClientAuthenticationInput) GoString() string {
 11613  	return s.String()
 11614  }
 11615  
 11616  // Validate inspects the fields of the type to determine if they are valid.
 11617  func (s *DisableClientAuthenticationInput) Validate() error {
 11618  	invalidParams := request.ErrInvalidParams{Context: "DisableClientAuthenticationInput"}
 11619  	if s.DirectoryId == nil {
 11620  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 11621  	}
 11622  	if s.Type == nil {
 11623  		invalidParams.Add(request.NewErrParamRequired("Type"))
 11624  	}
 11625  
 11626  	if invalidParams.Len() > 0 {
 11627  		return invalidParams
 11628  	}
 11629  	return nil
 11630  }
 11631  
 11632  // SetDirectoryId sets the DirectoryId field's value.
 11633  func (s *DisableClientAuthenticationInput) SetDirectoryId(v string) *DisableClientAuthenticationInput {
 11634  	s.DirectoryId = &v
 11635  	return s
 11636  }
 11637  
 11638  // SetType sets the Type field's value.
 11639  func (s *DisableClientAuthenticationInput) SetType(v string) *DisableClientAuthenticationInput {
 11640  	s.Type = &v
 11641  	return s
 11642  }
 11643  
 11644  type DisableClientAuthenticationOutput struct {
 11645  	_ struct{} `type:"structure"`
 11646  }
 11647  
 11648  // String returns the string representation.
 11649  //
 11650  // API parameter values that are decorated as "sensitive" in the API will not
 11651  // be included in the string output. The member name will be present, but the
 11652  // value will be replaced with "sensitive".
 11653  func (s DisableClientAuthenticationOutput) String() string {
 11654  	return awsutil.Prettify(s)
 11655  }
 11656  
 11657  // GoString returns the string representation.
 11658  //
 11659  // API parameter values that are decorated as "sensitive" in the API will not
 11660  // be included in the string output. The member name will be present, but the
 11661  // value will be replaced with "sensitive".
 11662  func (s DisableClientAuthenticationOutput) GoString() string {
 11663  	return s.String()
 11664  }
 11665  
 11666  type DisableLDAPSInput struct {
 11667  	_ struct{} `type:"structure"`
 11668  
 11669  	// The identifier of the directory.
 11670  	//
 11671  	// DirectoryId is a required field
 11672  	DirectoryId *string `type:"string" required:"true"`
 11673  
 11674  	// The type of LDAP security to enable. Currently only the value Client is supported.
 11675  	//
 11676  	// Type is a required field
 11677  	Type *string `type:"string" required:"true" enum:"LDAPSType"`
 11678  }
 11679  
 11680  // String returns the string representation.
 11681  //
 11682  // API parameter values that are decorated as "sensitive" in the API will not
 11683  // be included in the string output. The member name will be present, but the
 11684  // value will be replaced with "sensitive".
 11685  func (s DisableLDAPSInput) String() string {
 11686  	return awsutil.Prettify(s)
 11687  }
 11688  
 11689  // GoString returns the string representation.
 11690  //
 11691  // API parameter values that are decorated as "sensitive" in the API will not
 11692  // be included in the string output. The member name will be present, but the
 11693  // value will be replaced with "sensitive".
 11694  func (s DisableLDAPSInput) GoString() string {
 11695  	return s.String()
 11696  }
 11697  
 11698  // Validate inspects the fields of the type to determine if they are valid.
 11699  func (s *DisableLDAPSInput) Validate() error {
 11700  	invalidParams := request.ErrInvalidParams{Context: "DisableLDAPSInput"}
 11701  	if s.DirectoryId == nil {
 11702  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 11703  	}
 11704  	if s.Type == nil {
 11705  		invalidParams.Add(request.NewErrParamRequired("Type"))
 11706  	}
 11707  
 11708  	if invalidParams.Len() > 0 {
 11709  		return invalidParams
 11710  	}
 11711  	return nil
 11712  }
 11713  
 11714  // SetDirectoryId sets the DirectoryId field's value.
 11715  func (s *DisableLDAPSInput) SetDirectoryId(v string) *DisableLDAPSInput {
 11716  	s.DirectoryId = &v
 11717  	return s
 11718  }
 11719  
 11720  // SetType sets the Type field's value.
 11721  func (s *DisableLDAPSInput) SetType(v string) *DisableLDAPSInput {
 11722  	s.Type = &v
 11723  	return s
 11724  }
 11725  
 11726  type DisableLDAPSOutput struct {
 11727  	_ struct{} `type:"structure"`
 11728  }
 11729  
 11730  // String returns the string representation.
 11731  //
 11732  // API parameter values that are decorated as "sensitive" in the API will not
 11733  // be included in the string output. The member name will be present, but the
 11734  // value will be replaced with "sensitive".
 11735  func (s DisableLDAPSOutput) String() string {
 11736  	return awsutil.Prettify(s)
 11737  }
 11738  
 11739  // GoString returns the string representation.
 11740  //
 11741  // API parameter values that are decorated as "sensitive" in the API will not
 11742  // be included in the string output. The member name will be present, but the
 11743  // value will be replaced with "sensitive".
 11744  func (s DisableLDAPSOutput) GoString() string {
 11745  	return s.String()
 11746  }
 11747  
 11748  // Contains the inputs for the DisableRadius operation.
 11749  type DisableRadiusInput struct {
 11750  	_ struct{} `type:"structure"`
 11751  
 11752  	// The identifier of the directory for which to disable MFA.
 11753  	//
 11754  	// DirectoryId is a required field
 11755  	DirectoryId *string `type:"string" required:"true"`
 11756  }
 11757  
 11758  // String returns the string representation.
 11759  //
 11760  // API parameter values that are decorated as "sensitive" in the API will not
 11761  // be included in the string output. The member name will be present, but the
 11762  // value will be replaced with "sensitive".
 11763  func (s DisableRadiusInput) String() string {
 11764  	return awsutil.Prettify(s)
 11765  }
 11766  
 11767  // GoString returns the string representation.
 11768  //
 11769  // API parameter values that are decorated as "sensitive" in the API will not
 11770  // be included in the string output. The member name will be present, but the
 11771  // value will be replaced with "sensitive".
 11772  func (s DisableRadiusInput) GoString() string {
 11773  	return s.String()
 11774  }
 11775  
 11776  // Validate inspects the fields of the type to determine if they are valid.
 11777  func (s *DisableRadiusInput) Validate() error {
 11778  	invalidParams := request.ErrInvalidParams{Context: "DisableRadiusInput"}
 11779  	if s.DirectoryId == nil {
 11780  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 11781  	}
 11782  
 11783  	if invalidParams.Len() > 0 {
 11784  		return invalidParams
 11785  	}
 11786  	return nil
 11787  }
 11788  
 11789  // SetDirectoryId sets the DirectoryId field's value.
 11790  func (s *DisableRadiusInput) SetDirectoryId(v string) *DisableRadiusInput {
 11791  	s.DirectoryId = &v
 11792  	return s
 11793  }
 11794  
 11795  // Contains the results of the DisableRadius operation.
 11796  type DisableRadiusOutput struct {
 11797  	_ struct{} `type:"structure"`
 11798  }
 11799  
 11800  // String returns the string representation.
 11801  //
 11802  // API parameter values that are decorated as "sensitive" in the API will not
 11803  // be included in the string output. The member name will be present, but the
 11804  // value will be replaced with "sensitive".
 11805  func (s DisableRadiusOutput) String() string {
 11806  	return awsutil.Prettify(s)
 11807  }
 11808  
 11809  // GoString returns the string representation.
 11810  //
 11811  // API parameter values that are decorated as "sensitive" in the API will not
 11812  // be included in the string output. The member name will be present, but the
 11813  // value will be replaced with "sensitive".
 11814  func (s DisableRadiusOutput) GoString() string {
 11815  	return s.String()
 11816  }
 11817  
 11818  // Contains the inputs for the DisableSso operation.
 11819  type DisableSsoInput struct {
 11820  	_ struct{} `type:"structure"`
 11821  
 11822  	// The identifier of the directory for which to disable single-sign on.
 11823  	//
 11824  	// DirectoryId is a required field
 11825  	DirectoryId *string `type:"string" required:"true"`
 11826  
 11827  	// The password of an alternate account to use to disable single-sign on. This
 11828  	// is only used for AD Connector directories. For more information, see the
 11829  	// UserName parameter.
 11830  	//
 11831  	// Password is a sensitive parameter and its value will be
 11832  	// replaced with "sensitive" in string returned by DisableSsoInput's
 11833  	// String and GoString methods.
 11834  	Password *string `min:"1" type:"string" sensitive:"true"`
 11835  
 11836  	// The username of an alternate account to use to disable single-sign on. This
 11837  	// is only used for AD Connector directories. This account must have privileges
 11838  	// to remove a service principal name.
 11839  	//
 11840  	// If the AD Connector service account does not have privileges to remove a
 11841  	// service principal name, you can specify an alternate account with the UserName
 11842  	// and Password parameters. These credentials are only used to disable single
 11843  	// sign-on and are not stored by the service. The AD Connector service account
 11844  	// is not changed.
 11845  	UserName *string `min:"1" type:"string"`
 11846  }
 11847  
 11848  // String returns the string representation.
 11849  //
 11850  // API parameter values that are decorated as "sensitive" in the API will not
 11851  // be included in the string output. The member name will be present, but the
 11852  // value will be replaced with "sensitive".
 11853  func (s DisableSsoInput) String() string {
 11854  	return awsutil.Prettify(s)
 11855  }
 11856  
 11857  // GoString returns the string representation.
 11858  //
 11859  // API parameter values that are decorated as "sensitive" in the API will not
 11860  // be included in the string output. The member name will be present, but the
 11861  // value will be replaced with "sensitive".
 11862  func (s DisableSsoInput) GoString() string {
 11863  	return s.String()
 11864  }
 11865  
 11866  // Validate inspects the fields of the type to determine if they are valid.
 11867  func (s *DisableSsoInput) Validate() error {
 11868  	invalidParams := request.ErrInvalidParams{Context: "DisableSsoInput"}
 11869  	if s.DirectoryId == nil {
 11870  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 11871  	}
 11872  	if s.Password != nil && len(*s.Password) < 1 {
 11873  		invalidParams.Add(request.NewErrParamMinLen("Password", 1))
 11874  	}
 11875  	if s.UserName != nil && len(*s.UserName) < 1 {
 11876  		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
 11877  	}
 11878  
 11879  	if invalidParams.Len() > 0 {
 11880  		return invalidParams
 11881  	}
 11882  	return nil
 11883  }
 11884  
 11885  // SetDirectoryId sets the DirectoryId field's value.
 11886  func (s *DisableSsoInput) SetDirectoryId(v string) *DisableSsoInput {
 11887  	s.DirectoryId = &v
 11888  	return s
 11889  }
 11890  
 11891  // SetPassword sets the Password field's value.
 11892  func (s *DisableSsoInput) SetPassword(v string) *DisableSsoInput {
 11893  	s.Password = &v
 11894  	return s
 11895  }
 11896  
 11897  // SetUserName sets the UserName field's value.
 11898  func (s *DisableSsoInput) SetUserName(v string) *DisableSsoInput {
 11899  	s.UserName = &v
 11900  	return s
 11901  }
 11902  
 11903  // Contains the results of the DisableSso operation.
 11904  type DisableSsoOutput struct {
 11905  	_ struct{} `type:"structure"`
 11906  }
 11907  
 11908  // String returns the string representation.
 11909  //
 11910  // API parameter values that are decorated as "sensitive" in the API will not
 11911  // be included in the string output. The member name will be present, but the
 11912  // value will be replaced with "sensitive".
 11913  func (s DisableSsoOutput) String() string {
 11914  	return awsutil.Prettify(s)
 11915  }
 11916  
 11917  // GoString returns the string representation.
 11918  //
 11919  // API parameter values that are decorated as "sensitive" in the API will not
 11920  // be included in the string output. The member name will be present, but the
 11921  // value will be replaced with "sensitive".
 11922  func (s DisableSsoOutput) GoString() string {
 11923  	return s.String()
 11924  }
 11925  
 11926  // Contains information about the domain controllers for a specified directory.
 11927  type DomainController struct {
 11928  	_ struct{} `type:"structure"`
 11929  
 11930  	// The Availability Zone where the domain controller is located.
 11931  	AvailabilityZone *string `type:"string"`
 11932  
 11933  	// Identifier of the directory where the domain controller resides.
 11934  	DirectoryId *string `type:"string"`
 11935  
 11936  	// The IP address of the domain controller.
 11937  	DnsIpAddr *string `type:"string"`
 11938  
 11939  	// Identifies a specific domain controller in the directory.
 11940  	DomainControllerId *string `type:"string"`
 11941  
 11942  	// Specifies when the domain controller was created.
 11943  	LaunchTime *time.Time `type:"timestamp"`
 11944  
 11945  	// The status of the domain controller.
 11946  	Status *string `type:"string" enum:"DomainControllerStatus"`
 11947  
 11948  	// The date and time that the status was last updated.
 11949  	StatusLastUpdatedDateTime *time.Time `type:"timestamp"`
 11950  
 11951  	// A description of the domain controller state.
 11952  	StatusReason *string `type:"string"`
 11953  
 11954  	// Identifier of the subnet in the VPC that contains the domain controller.
 11955  	SubnetId *string `type:"string"`
 11956  
 11957  	// The identifier of the VPC that contains the domain controller.
 11958  	VpcId *string `type:"string"`
 11959  }
 11960  
 11961  // String returns the string representation.
 11962  //
 11963  // API parameter values that are decorated as "sensitive" in the API will not
 11964  // be included in the string output. The member name will be present, but the
 11965  // value will be replaced with "sensitive".
 11966  func (s DomainController) String() string {
 11967  	return awsutil.Prettify(s)
 11968  }
 11969  
 11970  // GoString returns the string representation.
 11971  //
 11972  // API parameter values that are decorated as "sensitive" in the API will not
 11973  // be included in the string output. The member name will be present, but the
 11974  // value will be replaced with "sensitive".
 11975  func (s DomainController) GoString() string {
 11976  	return s.String()
 11977  }
 11978  
 11979  // SetAvailabilityZone sets the AvailabilityZone field's value.
 11980  func (s *DomainController) SetAvailabilityZone(v string) *DomainController {
 11981  	s.AvailabilityZone = &v
 11982  	return s
 11983  }
 11984  
 11985  // SetDirectoryId sets the DirectoryId field's value.
 11986  func (s *DomainController) SetDirectoryId(v string) *DomainController {
 11987  	s.DirectoryId = &v
 11988  	return s
 11989  }
 11990  
 11991  // SetDnsIpAddr sets the DnsIpAddr field's value.
 11992  func (s *DomainController) SetDnsIpAddr(v string) *DomainController {
 11993  	s.DnsIpAddr = &v
 11994  	return s
 11995  }
 11996  
 11997  // SetDomainControllerId sets the DomainControllerId field's value.
 11998  func (s *DomainController) SetDomainControllerId(v string) *DomainController {
 11999  	s.DomainControllerId = &v
 12000  	return s
 12001  }
 12002  
 12003  // SetLaunchTime sets the LaunchTime field's value.
 12004  func (s *DomainController) SetLaunchTime(v time.Time) *DomainController {
 12005  	s.LaunchTime = &v
 12006  	return s
 12007  }
 12008  
 12009  // SetStatus sets the Status field's value.
 12010  func (s *DomainController) SetStatus(v string) *DomainController {
 12011  	s.Status = &v
 12012  	return s
 12013  }
 12014  
 12015  // SetStatusLastUpdatedDateTime sets the StatusLastUpdatedDateTime field's value.
 12016  func (s *DomainController) SetStatusLastUpdatedDateTime(v time.Time) *DomainController {
 12017  	s.StatusLastUpdatedDateTime = &v
 12018  	return s
 12019  }
 12020  
 12021  // SetStatusReason sets the StatusReason field's value.
 12022  func (s *DomainController) SetStatusReason(v string) *DomainController {
 12023  	s.StatusReason = &v
 12024  	return s
 12025  }
 12026  
 12027  // SetSubnetId sets the SubnetId field's value.
 12028  func (s *DomainController) SetSubnetId(v string) *DomainController {
 12029  	s.SubnetId = &v
 12030  	return s
 12031  }
 12032  
 12033  // SetVpcId sets the VpcId field's value.
 12034  func (s *DomainController) SetVpcId(v string) *DomainController {
 12035  	s.VpcId = &v
 12036  	return s
 12037  }
 12038  
 12039  // The maximum allowed number of domain controllers per directory was exceeded.
 12040  // The default limit per directory is 20 domain controllers.
 12041  type DomainControllerLimitExceededException struct {
 12042  	_            struct{}                  `type:"structure"`
 12043  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12044  
 12045  	// The descriptive message for the exception.
 12046  	Message_ *string `locationName:"Message" type:"string"`
 12047  
 12048  	// The Amazon Web Services request identifier.
 12049  	RequestId *string `type:"string"`
 12050  }
 12051  
 12052  // String returns the string representation.
 12053  //
 12054  // API parameter values that are decorated as "sensitive" in the API will not
 12055  // be included in the string output. The member name will be present, but the
 12056  // value will be replaced with "sensitive".
 12057  func (s DomainControllerLimitExceededException) String() string {
 12058  	return awsutil.Prettify(s)
 12059  }
 12060  
 12061  // GoString returns the string representation.
 12062  //
 12063  // API parameter values that are decorated as "sensitive" in the API will not
 12064  // be included in the string output. The member name will be present, but the
 12065  // value will be replaced with "sensitive".
 12066  func (s DomainControllerLimitExceededException) GoString() string {
 12067  	return s.String()
 12068  }
 12069  
 12070  func newErrorDomainControllerLimitExceededException(v protocol.ResponseMetadata) error {
 12071  	return &DomainControllerLimitExceededException{
 12072  		RespMetadata: v,
 12073  	}
 12074  }
 12075  
 12076  // Code returns the exception type name.
 12077  func (s *DomainControllerLimitExceededException) Code() string {
 12078  	return "DomainControllerLimitExceededException"
 12079  }
 12080  
 12081  // Message returns the exception's message.
 12082  func (s *DomainControllerLimitExceededException) Message() string {
 12083  	if s.Message_ != nil {
 12084  		return *s.Message_
 12085  	}
 12086  	return ""
 12087  }
 12088  
 12089  // OrigErr always returns nil, satisfies awserr.Error interface.
 12090  func (s *DomainControllerLimitExceededException) OrigErr() error {
 12091  	return nil
 12092  }
 12093  
 12094  func (s *DomainControllerLimitExceededException) Error() string {
 12095  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 12096  }
 12097  
 12098  // Status code returns the HTTP status code for the request's response error.
 12099  func (s *DomainControllerLimitExceededException) StatusCode() int {
 12100  	return s.RespMetadata.StatusCode
 12101  }
 12102  
 12103  // RequestID returns the service's response RequestID for request.
 12104  func (s *DomainControllerLimitExceededException) RequestID() string {
 12105  	return s.RespMetadata.RequestID
 12106  }
 12107  
 12108  type EnableClientAuthenticationInput struct {
 12109  	_ struct{} `type:"structure"`
 12110  
 12111  	// The identifier of the specified directory.
 12112  	//
 12113  	// DirectoryId is a required field
 12114  	DirectoryId *string `type:"string" required:"true"`
 12115  
 12116  	// The type of client authentication to enable. Currently only the value SmartCard
 12117  	// is supported. Smart card authentication in AD Connector requires that you
 12118  	// enable Kerberos Constrained Delegation for the Service User to the LDAP service
 12119  	// in your self-managed AD.
 12120  	//
 12121  	// Type is a required field
 12122  	Type *string `type:"string" required:"true" enum:"ClientAuthenticationType"`
 12123  }
 12124  
 12125  // String returns the string representation.
 12126  //
 12127  // API parameter values that are decorated as "sensitive" in the API will not
 12128  // be included in the string output. The member name will be present, but the
 12129  // value will be replaced with "sensitive".
 12130  func (s EnableClientAuthenticationInput) String() string {
 12131  	return awsutil.Prettify(s)
 12132  }
 12133  
 12134  // GoString returns the string representation.
 12135  //
 12136  // API parameter values that are decorated as "sensitive" in the API will not
 12137  // be included in the string output. The member name will be present, but the
 12138  // value will be replaced with "sensitive".
 12139  func (s EnableClientAuthenticationInput) GoString() string {
 12140  	return s.String()
 12141  }
 12142  
 12143  // Validate inspects the fields of the type to determine if they are valid.
 12144  func (s *EnableClientAuthenticationInput) Validate() error {
 12145  	invalidParams := request.ErrInvalidParams{Context: "EnableClientAuthenticationInput"}
 12146  	if s.DirectoryId == nil {
 12147  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 12148  	}
 12149  	if s.Type == nil {
 12150  		invalidParams.Add(request.NewErrParamRequired("Type"))
 12151  	}
 12152  
 12153  	if invalidParams.Len() > 0 {
 12154  		return invalidParams
 12155  	}
 12156  	return nil
 12157  }
 12158  
 12159  // SetDirectoryId sets the DirectoryId field's value.
 12160  func (s *EnableClientAuthenticationInput) SetDirectoryId(v string) *EnableClientAuthenticationInput {
 12161  	s.DirectoryId = &v
 12162  	return s
 12163  }
 12164  
 12165  // SetType sets the Type field's value.
 12166  func (s *EnableClientAuthenticationInput) SetType(v string) *EnableClientAuthenticationInput {
 12167  	s.Type = &v
 12168  	return s
 12169  }
 12170  
 12171  type EnableClientAuthenticationOutput struct {
 12172  	_ struct{} `type:"structure"`
 12173  }
 12174  
 12175  // String returns the string representation.
 12176  //
 12177  // API parameter values that are decorated as "sensitive" in the API will not
 12178  // be included in the string output. The member name will be present, but the
 12179  // value will be replaced with "sensitive".
 12180  func (s EnableClientAuthenticationOutput) String() string {
 12181  	return awsutil.Prettify(s)
 12182  }
 12183  
 12184  // GoString returns the string representation.
 12185  //
 12186  // API parameter values that are decorated as "sensitive" in the API will not
 12187  // be included in the string output. The member name will be present, but the
 12188  // value will be replaced with "sensitive".
 12189  func (s EnableClientAuthenticationOutput) GoString() string {
 12190  	return s.String()
 12191  }
 12192  
 12193  type EnableLDAPSInput struct {
 12194  	_ struct{} `type:"structure"`
 12195  
 12196  	// The identifier of the directory.
 12197  	//
 12198  	// DirectoryId is a required field
 12199  	DirectoryId *string `type:"string" required:"true"`
 12200  
 12201  	// The type of LDAP security to enable. Currently only the value Client is supported.
 12202  	//
 12203  	// Type is a required field
 12204  	Type *string `type:"string" required:"true" enum:"LDAPSType"`
 12205  }
 12206  
 12207  // String returns the string representation.
 12208  //
 12209  // API parameter values that are decorated as "sensitive" in the API will not
 12210  // be included in the string output. The member name will be present, but the
 12211  // value will be replaced with "sensitive".
 12212  func (s EnableLDAPSInput) String() string {
 12213  	return awsutil.Prettify(s)
 12214  }
 12215  
 12216  // GoString returns the string representation.
 12217  //
 12218  // API parameter values that are decorated as "sensitive" in the API will not
 12219  // be included in the string output. The member name will be present, but the
 12220  // value will be replaced with "sensitive".
 12221  func (s EnableLDAPSInput) GoString() string {
 12222  	return s.String()
 12223  }
 12224  
 12225  // Validate inspects the fields of the type to determine if they are valid.
 12226  func (s *EnableLDAPSInput) Validate() error {
 12227  	invalidParams := request.ErrInvalidParams{Context: "EnableLDAPSInput"}
 12228  	if s.DirectoryId == nil {
 12229  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 12230  	}
 12231  	if s.Type == nil {
 12232  		invalidParams.Add(request.NewErrParamRequired("Type"))
 12233  	}
 12234  
 12235  	if invalidParams.Len() > 0 {
 12236  		return invalidParams
 12237  	}
 12238  	return nil
 12239  }
 12240  
 12241  // SetDirectoryId sets the DirectoryId field's value.
 12242  func (s *EnableLDAPSInput) SetDirectoryId(v string) *EnableLDAPSInput {
 12243  	s.DirectoryId = &v
 12244  	return s
 12245  }
 12246  
 12247  // SetType sets the Type field's value.
 12248  func (s *EnableLDAPSInput) SetType(v string) *EnableLDAPSInput {
 12249  	s.Type = &v
 12250  	return s
 12251  }
 12252  
 12253  type EnableLDAPSOutput struct {
 12254  	_ struct{} `type:"structure"`
 12255  }
 12256  
 12257  // String returns the string representation.
 12258  //
 12259  // API parameter values that are decorated as "sensitive" in the API will not
 12260  // be included in the string output. The member name will be present, but the
 12261  // value will be replaced with "sensitive".
 12262  func (s EnableLDAPSOutput) String() string {
 12263  	return awsutil.Prettify(s)
 12264  }
 12265  
 12266  // GoString returns the string representation.
 12267  //
 12268  // API parameter values that are decorated as "sensitive" in the API will not
 12269  // be included in the string output. The member name will be present, but the
 12270  // value will be replaced with "sensitive".
 12271  func (s EnableLDAPSOutput) GoString() string {
 12272  	return s.String()
 12273  }
 12274  
 12275  // Contains the inputs for the EnableRadius operation.
 12276  type EnableRadiusInput struct {
 12277  	_ struct{} `type:"structure"`
 12278  
 12279  	// The identifier of the directory for which to enable MFA.
 12280  	//
 12281  	// DirectoryId is a required field
 12282  	DirectoryId *string `type:"string" required:"true"`
 12283  
 12284  	// A RadiusSettings object that contains information about the RADIUS server.
 12285  	//
 12286  	// RadiusSettings is a required field
 12287  	RadiusSettings *RadiusSettings `type:"structure" required:"true"`
 12288  }
 12289  
 12290  // String returns the string representation.
 12291  //
 12292  // API parameter values that are decorated as "sensitive" in the API will not
 12293  // be included in the string output. The member name will be present, but the
 12294  // value will be replaced with "sensitive".
 12295  func (s EnableRadiusInput) String() string {
 12296  	return awsutil.Prettify(s)
 12297  }
 12298  
 12299  // GoString returns the string representation.
 12300  //
 12301  // API parameter values that are decorated as "sensitive" in the API will not
 12302  // be included in the string output. The member name will be present, but the
 12303  // value will be replaced with "sensitive".
 12304  func (s EnableRadiusInput) GoString() string {
 12305  	return s.String()
 12306  }
 12307  
 12308  // Validate inspects the fields of the type to determine if they are valid.
 12309  func (s *EnableRadiusInput) Validate() error {
 12310  	invalidParams := request.ErrInvalidParams{Context: "EnableRadiusInput"}
 12311  	if s.DirectoryId == nil {
 12312  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 12313  	}
 12314  	if s.RadiusSettings == nil {
 12315  		invalidParams.Add(request.NewErrParamRequired("RadiusSettings"))
 12316  	}
 12317  	if s.RadiusSettings != nil {
 12318  		if err := s.RadiusSettings.Validate(); err != nil {
 12319  			invalidParams.AddNested("RadiusSettings", err.(request.ErrInvalidParams))
 12320  		}
 12321  	}
 12322  
 12323  	if invalidParams.Len() > 0 {
 12324  		return invalidParams
 12325  	}
 12326  	return nil
 12327  }
 12328  
 12329  // SetDirectoryId sets the DirectoryId field's value.
 12330  func (s *EnableRadiusInput) SetDirectoryId(v string) *EnableRadiusInput {
 12331  	s.DirectoryId = &v
 12332  	return s
 12333  }
 12334  
 12335  // SetRadiusSettings sets the RadiusSettings field's value.
 12336  func (s *EnableRadiusInput) SetRadiusSettings(v *RadiusSettings) *EnableRadiusInput {
 12337  	s.RadiusSettings = v
 12338  	return s
 12339  }
 12340  
 12341  // Contains the results of the EnableRadius operation.
 12342  type EnableRadiusOutput struct {
 12343  	_ struct{} `type:"structure"`
 12344  }
 12345  
 12346  // String returns the string representation.
 12347  //
 12348  // API parameter values that are decorated as "sensitive" in the API will not
 12349  // be included in the string output. The member name will be present, but the
 12350  // value will be replaced with "sensitive".
 12351  func (s EnableRadiusOutput) String() string {
 12352  	return awsutil.Prettify(s)
 12353  }
 12354  
 12355  // GoString returns the string representation.
 12356  //
 12357  // API parameter values that are decorated as "sensitive" in the API will not
 12358  // be included in the string output. The member name will be present, but the
 12359  // value will be replaced with "sensitive".
 12360  func (s EnableRadiusOutput) GoString() string {
 12361  	return s.String()
 12362  }
 12363  
 12364  // Contains the inputs for the EnableSso operation.
 12365  type EnableSsoInput struct {
 12366  	_ struct{} `type:"structure"`
 12367  
 12368  	// The identifier of the directory for which to enable single-sign on.
 12369  	//
 12370  	// DirectoryId is a required field
 12371  	DirectoryId *string `type:"string" required:"true"`
 12372  
 12373  	// The password of an alternate account to use to enable single-sign on. This
 12374  	// is only used for AD Connector directories. For more information, see the
 12375  	// UserName parameter.
 12376  	//
 12377  	// Password is a sensitive parameter and its value will be
 12378  	// replaced with "sensitive" in string returned by EnableSsoInput's
 12379  	// String and GoString methods.
 12380  	Password *string `min:"1" type:"string" sensitive:"true"`
 12381  
 12382  	// The username of an alternate account to use to enable single-sign on. This
 12383  	// is only used for AD Connector directories. This account must have privileges
 12384  	// to add a service principal name.
 12385  	//
 12386  	// If the AD Connector service account does not have privileges to add a service
 12387  	// principal name, you can specify an alternate account with the UserName and
 12388  	// Password parameters. These credentials are only used to enable single sign-on
 12389  	// and are not stored by the service. The AD Connector service account is not
 12390  	// changed.
 12391  	UserName *string `min:"1" type:"string"`
 12392  }
 12393  
 12394  // String returns the string representation.
 12395  //
 12396  // API parameter values that are decorated as "sensitive" in the API will not
 12397  // be included in the string output. The member name will be present, but the
 12398  // value will be replaced with "sensitive".
 12399  func (s EnableSsoInput) String() string {
 12400  	return awsutil.Prettify(s)
 12401  }
 12402  
 12403  // GoString returns the string representation.
 12404  //
 12405  // API parameter values that are decorated as "sensitive" in the API will not
 12406  // be included in the string output. The member name will be present, but the
 12407  // value will be replaced with "sensitive".
 12408  func (s EnableSsoInput) GoString() string {
 12409  	return s.String()
 12410  }
 12411  
 12412  // Validate inspects the fields of the type to determine if they are valid.
 12413  func (s *EnableSsoInput) Validate() error {
 12414  	invalidParams := request.ErrInvalidParams{Context: "EnableSsoInput"}
 12415  	if s.DirectoryId == nil {
 12416  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 12417  	}
 12418  	if s.Password != nil && len(*s.Password) < 1 {
 12419  		invalidParams.Add(request.NewErrParamMinLen("Password", 1))
 12420  	}
 12421  	if s.UserName != nil && len(*s.UserName) < 1 {
 12422  		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
 12423  	}
 12424  
 12425  	if invalidParams.Len() > 0 {
 12426  		return invalidParams
 12427  	}
 12428  	return nil
 12429  }
 12430  
 12431  // SetDirectoryId sets the DirectoryId field's value.
 12432  func (s *EnableSsoInput) SetDirectoryId(v string) *EnableSsoInput {
 12433  	s.DirectoryId = &v
 12434  	return s
 12435  }
 12436  
 12437  // SetPassword sets the Password field's value.
 12438  func (s *EnableSsoInput) SetPassword(v string) *EnableSsoInput {
 12439  	s.Password = &v
 12440  	return s
 12441  }
 12442  
 12443  // SetUserName sets the UserName field's value.
 12444  func (s *EnableSsoInput) SetUserName(v string) *EnableSsoInput {
 12445  	s.UserName = &v
 12446  	return s
 12447  }
 12448  
 12449  // Contains the results of the EnableSso operation.
 12450  type EnableSsoOutput struct {
 12451  	_ struct{} `type:"structure"`
 12452  }
 12453  
 12454  // String returns the string representation.
 12455  //
 12456  // API parameter values that are decorated as "sensitive" in the API will not
 12457  // be included in the string output. The member name will be present, but the
 12458  // value will be replaced with "sensitive".
 12459  func (s EnableSsoOutput) String() string {
 12460  	return awsutil.Prettify(s)
 12461  }
 12462  
 12463  // GoString returns the string representation.
 12464  //
 12465  // API parameter values that are decorated as "sensitive" in the API will not
 12466  // be included in the string output. The member name will be present, but the
 12467  // value will be replaced with "sensitive".
 12468  func (s EnableSsoOutput) GoString() string {
 12469  	return s.String()
 12470  }
 12471  
 12472  // The specified entity already exists.
 12473  type EntityAlreadyExistsException struct {
 12474  	_            struct{}                  `type:"structure"`
 12475  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12476  
 12477  	// The descriptive message for the exception.
 12478  	Message_ *string `locationName:"Message" type:"string"`
 12479  
 12480  	// The Amazon Web Services request identifier.
 12481  	RequestId *string `type:"string"`
 12482  }
 12483  
 12484  // String returns the string representation.
 12485  //
 12486  // API parameter values that are decorated as "sensitive" in the API will not
 12487  // be included in the string output. The member name will be present, but the
 12488  // value will be replaced with "sensitive".
 12489  func (s EntityAlreadyExistsException) String() string {
 12490  	return awsutil.Prettify(s)
 12491  }
 12492  
 12493  // GoString returns the string representation.
 12494  //
 12495  // API parameter values that are decorated as "sensitive" in the API will not
 12496  // be included in the string output. The member name will be present, but the
 12497  // value will be replaced with "sensitive".
 12498  func (s EntityAlreadyExistsException) GoString() string {
 12499  	return s.String()
 12500  }
 12501  
 12502  func newErrorEntityAlreadyExistsException(v protocol.ResponseMetadata) error {
 12503  	return &EntityAlreadyExistsException{
 12504  		RespMetadata: v,
 12505  	}
 12506  }
 12507  
 12508  // Code returns the exception type name.
 12509  func (s *EntityAlreadyExistsException) Code() string {
 12510  	return "EntityAlreadyExistsException"
 12511  }
 12512  
 12513  // Message returns the exception's message.
 12514  func (s *EntityAlreadyExistsException) Message() string {
 12515  	if s.Message_ != nil {
 12516  		return *s.Message_
 12517  	}
 12518  	return ""
 12519  }
 12520  
 12521  // OrigErr always returns nil, satisfies awserr.Error interface.
 12522  func (s *EntityAlreadyExistsException) OrigErr() error {
 12523  	return nil
 12524  }
 12525  
 12526  func (s *EntityAlreadyExistsException) Error() string {
 12527  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 12528  }
 12529  
 12530  // Status code returns the HTTP status code for the request's response error.
 12531  func (s *EntityAlreadyExistsException) StatusCode() int {
 12532  	return s.RespMetadata.StatusCode
 12533  }
 12534  
 12535  // RequestID returns the service's response RequestID for request.
 12536  func (s *EntityAlreadyExistsException) RequestID() string {
 12537  	return s.RespMetadata.RequestID
 12538  }
 12539  
 12540  // The specified entity could not be found.
 12541  type EntityDoesNotExistException struct {
 12542  	_            struct{}                  `type:"structure"`
 12543  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12544  
 12545  	// The descriptive message for the exception.
 12546  	Message_ *string `locationName:"Message" type:"string"`
 12547  
 12548  	// The Amazon Web Services request identifier.
 12549  	RequestId *string `type:"string"`
 12550  }
 12551  
 12552  // String returns the string representation.
 12553  //
 12554  // API parameter values that are decorated as "sensitive" in the API will not
 12555  // be included in the string output. The member name will be present, but the
 12556  // value will be replaced with "sensitive".
 12557  func (s EntityDoesNotExistException) String() string {
 12558  	return awsutil.Prettify(s)
 12559  }
 12560  
 12561  // GoString returns the string representation.
 12562  //
 12563  // API parameter values that are decorated as "sensitive" in the API will not
 12564  // be included in the string output. The member name will be present, but the
 12565  // value will be replaced with "sensitive".
 12566  func (s EntityDoesNotExistException) GoString() string {
 12567  	return s.String()
 12568  }
 12569  
 12570  func newErrorEntityDoesNotExistException(v protocol.ResponseMetadata) error {
 12571  	return &EntityDoesNotExistException{
 12572  		RespMetadata: v,
 12573  	}
 12574  }
 12575  
 12576  // Code returns the exception type name.
 12577  func (s *EntityDoesNotExistException) Code() string {
 12578  	return "EntityDoesNotExistException"
 12579  }
 12580  
 12581  // Message returns the exception's message.
 12582  func (s *EntityDoesNotExistException) Message() string {
 12583  	if s.Message_ != nil {
 12584  		return *s.Message_
 12585  	}
 12586  	return ""
 12587  }
 12588  
 12589  // OrigErr always returns nil, satisfies awserr.Error interface.
 12590  func (s *EntityDoesNotExistException) OrigErr() error {
 12591  	return nil
 12592  }
 12593  
 12594  func (s *EntityDoesNotExistException) Error() string {
 12595  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 12596  }
 12597  
 12598  // Status code returns the HTTP status code for the request's response error.
 12599  func (s *EntityDoesNotExistException) StatusCode() int {
 12600  	return s.RespMetadata.StatusCode
 12601  }
 12602  
 12603  // RequestID returns the service's response RequestID for request.
 12604  func (s *EntityDoesNotExistException) RequestID() string {
 12605  	return s.RespMetadata.RequestID
 12606  }
 12607  
 12608  // Information about Amazon SNS topic and Directory Service directory associations.
 12609  type EventTopic struct {
 12610  	_ struct{} `type:"structure"`
 12611  
 12612  	// The date and time of when you associated your directory with the Amazon SNS
 12613  	// topic.
 12614  	CreatedDateTime *time.Time `type:"timestamp"`
 12615  
 12616  	// The Directory ID of an Directory Service directory that will publish status
 12617  	// messages to an Amazon SNS topic.
 12618  	DirectoryId *string `type:"string"`
 12619  
 12620  	// The topic registration status.
 12621  	Status *string `type:"string" enum:"TopicStatus"`
 12622  
 12623  	// The Amazon SNS topic ARN (Amazon Resource Name).
 12624  	TopicArn *string `type:"string"`
 12625  
 12626  	// The name of an Amazon SNS topic the receives status messages from the directory.
 12627  	TopicName *string `min:"1" type:"string"`
 12628  }
 12629  
 12630  // String returns the string representation.
 12631  //
 12632  // API parameter values that are decorated as "sensitive" in the API will not
 12633  // be included in the string output. The member name will be present, but the
 12634  // value will be replaced with "sensitive".
 12635  func (s EventTopic) String() string {
 12636  	return awsutil.Prettify(s)
 12637  }
 12638  
 12639  // GoString returns the string representation.
 12640  //
 12641  // API parameter values that are decorated as "sensitive" in the API will not
 12642  // be included in the string output. The member name will be present, but the
 12643  // value will be replaced with "sensitive".
 12644  func (s EventTopic) GoString() string {
 12645  	return s.String()
 12646  }
 12647  
 12648  // SetCreatedDateTime sets the CreatedDateTime field's value.
 12649  func (s *EventTopic) SetCreatedDateTime(v time.Time) *EventTopic {
 12650  	s.CreatedDateTime = &v
 12651  	return s
 12652  }
 12653  
 12654  // SetDirectoryId sets the DirectoryId field's value.
 12655  func (s *EventTopic) SetDirectoryId(v string) *EventTopic {
 12656  	s.DirectoryId = &v
 12657  	return s
 12658  }
 12659  
 12660  // SetStatus sets the Status field's value.
 12661  func (s *EventTopic) SetStatus(v string) *EventTopic {
 12662  	s.Status = &v
 12663  	return s
 12664  }
 12665  
 12666  // SetTopicArn sets the TopicArn field's value.
 12667  func (s *EventTopic) SetTopicArn(v string) *EventTopic {
 12668  	s.TopicArn = &v
 12669  	return s
 12670  }
 12671  
 12672  // SetTopicName sets the TopicName field's value.
 12673  func (s *EventTopic) SetTopicName(v string) *EventTopic {
 12674  	s.TopicName = &v
 12675  	return s
 12676  }
 12677  
 12678  // Contains the inputs for the GetDirectoryLimits operation.
 12679  type GetDirectoryLimitsInput struct {
 12680  	_ struct{} `type:"structure"`
 12681  }
 12682  
 12683  // String returns the string representation.
 12684  //
 12685  // API parameter values that are decorated as "sensitive" in the API will not
 12686  // be included in the string output. The member name will be present, but the
 12687  // value will be replaced with "sensitive".
 12688  func (s GetDirectoryLimitsInput) String() string {
 12689  	return awsutil.Prettify(s)
 12690  }
 12691  
 12692  // GoString returns the string representation.
 12693  //
 12694  // API parameter values that are decorated as "sensitive" in the API will not
 12695  // be included in the string output. The member name will be present, but the
 12696  // value will be replaced with "sensitive".
 12697  func (s GetDirectoryLimitsInput) GoString() string {
 12698  	return s.String()
 12699  }
 12700  
 12701  // Contains the results of the GetDirectoryLimits operation.
 12702  type GetDirectoryLimitsOutput struct {
 12703  	_ struct{} `type:"structure"`
 12704  
 12705  	// A DirectoryLimits object that contains the directory limits for the current
 12706  	// Region.
 12707  	DirectoryLimits *DirectoryLimits `type:"structure"`
 12708  }
 12709  
 12710  // String returns the string representation.
 12711  //
 12712  // API parameter values that are decorated as "sensitive" in the API will not
 12713  // be included in the string output. The member name will be present, but the
 12714  // value will be replaced with "sensitive".
 12715  func (s GetDirectoryLimitsOutput) String() string {
 12716  	return awsutil.Prettify(s)
 12717  }
 12718  
 12719  // GoString returns the string representation.
 12720  //
 12721  // API parameter values that are decorated as "sensitive" in the API will not
 12722  // be included in the string output. The member name will be present, but the
 12723  // value will be replaced with "sensitive".
 12724  func (s GetDirectoryLimitsOutput) GoString() string {
 12725  	return s.String()
 12726  }
 12727  
 12728  // SetDirectoryLimits sets the DirectoryLimits field's value.
 12729  func (s *GetDirectoryLimitsOutput) SetDirectoryLimits(v *DirectoryLimits) *GetDirectoryLimitsOutput {
 12730  	s.DirectoryLimits = v
 12731  	return s
 12732  }
 12733  
 12734  // Contains the inputs for the GetSnapshotLimits operation.
 12735  type GetSnapshotLimitsInput struct {
 12736  	_ struct{} `type:"structure"`
 12737  
 12738  	// Contains the identifier of the directory to obtain the limits for.
 12739  	//
 12740  	// DirectoryId is a required field
 12741  	DirectoryId *string `type:"string" required:"true"`
 12742  }
 12743  
 12744  // String returns the string representation.
 12745  //
 12746  // API parameter values that are decorated as "sensitive" in the API will not
 12747  // be included in the string output. The member name will be present, but the
 12748  // value will be replaced with "sensitive".
 12749  func (s GetSnapshotLimitsInput) String() string {
 12750  	return awsutil.Prettify(s)
 12751  }
 12752  
 12753  // GoString returns the string representation.
 12754  //
 12755  // API parameter values that are decorated as "sensitive" in the API will not
 12756  // be included in the string output. The member name will be present, but the
 12757  // value will be replaced with "sensitive".
 12758  func (s GetSnapshotLimitsInput) GoString() string {
 12759  	return s.String()
 12760  }
 12761  
 12762  // Validate inspects the fields of the type to determine if they are valid.
 12763  func (s *GetSnapshotLimitsInput) Validate() error {
 12764  	invalidParams := request.ErrInvalidParams{Context: "GetSnapshotLimitsInput"}
 12765  	if s.DirectoryId == nil {
 12766  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 12767  	}
 12768  
 12769  	if invalidParams.Len() > 0 {
 12770  		return invalidParams
 12771  	}
 12772  	return nil
 12773  }
 12774  
 12775  // SetDirectoryId sets the DirectoryId field's value.
 12776  func (s *GetSnapshotLimitsInput) SetDirectoryId(v string) *GetSnapshotLimitsInput {
 12777  	s.DirectoryId = &v
 12778  	return s
 12779  }
 12780  
 12781  // Contains the results of the GetSnapshotLimits operation.
 12782  type GetSnapshotLimitsOutput struct {
 12783  	_ struct{} `type:"structure"`
 12784  
 12785  	// A SnapshotLimits object that contains the manual snapshot limits for the
 12786  	// specified directory.
 12787  	SnapshotLimits *SnapshotLimits `type:"structure"`
 12788  }
 12789  
 12790  // String returns the string representation.
 12791  //
 12792  // API parameter values that are decorated as "sensitive" in the API will not
 12793  // be included in the string output. The member name will be present, but the
 12794  // value will be replaced with "sensitive".
 12795  func (s GetSnapshotLimitsOutput) String() string {
 12796  	return awsutil.Prettify(s)
 12797  }
 12798  
 12799  // GoString returns the string representation.
 12800  //
 12801  // API parameter values that are decorated as "sensitive" in the API will not
 12802  // be included in the string output. The member name will be present, but the
 12803  // value will be replaced with "sensitive".
 12804  func (s GetSnapshotLimitsOutput) GoString() string {
 12805  	return s.String()
 12806  }
 12807  
 12808  // SetSnapshotLimits sets the SnapshotLimits field's value.
 12809  func (s *GetSnapshotLimitsOutput) SetSnapshotLimits(v *SnapshotLimits) *GetSnapshotLimitsOutput {
 12810  	s.SnapshotLimits = v
 12811  	return s
 12812  }
 12813  
 12814  // The account does not have sufficient permission to perform the operation.
 12815  type InsufficientPermissionsException struct {
 12816  	_            struct{}                  `type:"structure"`
 12817  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12818  
 12819  	// The descriptive message for the exception.
 12820  	Message_ *string `locationName:"Message" type:"string"`
 12821  
 12822  	// The Amazon Web Services request identifier.
 12823  	RequestId *string `type:"string"`
 12824  }
 12825  
 12826  // String returns the string representation.
 12827  //
 12828  // API parameter values that are decorated as "sensitive" in the API will not
 12829  // be included in the string output. The member name will be present, but the
 12830  // value will be replaced with "sensitive".
 12831  func (s InsufficientPermissionsException) String() string {
 12832  	return awsutil.Prettify(s)
 12833  }
 12834  
 12835  // GoString returns the string representation.
 12836  //
 12837  // API parameter values that are decorated as "sensitive" in the API will not
 12838  // be included in the string output. The member name will be present, but the
 12839  // value will be replaced with "sensitive".
 12840  func (s InsufficientPermissionsException) GoString() string {
 12841  	return s.String()
 12842  }
 12843  
 12844  func newErrorInsufficientPermissionsException(v protocol.ResponseMetadata) error {
 12845  	return &InsufficientPermissionsException{
 12846  		RespMetadata: v,
 12847  	}
 12848  }
 12849  
 12850  // Code returns the exception type name.
 12851  func (s *InsufficientPermissionsException) Code() string {
 12852  	return "InsufficientPermissionsException"
 12853  }
 12854  
 12855  // Message returns the exception's message.
 12856  func (s *InsufficientPermissionsException) Message() string {
 12857  	if s.Message_ != nil {
 12858  		return *s.Message_
 12859  	}
 12860  	return ""
 12861  }
 12862  
 12863  // OrigErr always returns nil, satisfies awserr.Error interface.
 12864  func (s *InsufficientPermissionsException) OrigErr() error {
 12865  	return nil
 12866  }
 12867  
 12868  func (s *InsufficientPermissionsException) Error() string {
 12869  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 12870  }
 12871  
 12872  // Status code returns the HTTP status code for the request's response error.
 12873  func (s *InsufficientPermissionsException) StatusCode() int {
 12874  	return s.RespMetadata.StatusCode
 12875  }
 12876  
 12877  // RequestID returns the service's response RequestID for request.
 12878  func (s *InsufficientPermissionsException) RequestID() string {
 12879  	return s.RespMetadata.RequestID
 12880  }
 12881  
 12882  // The certificate PEM that was provided has incorrect encoding.
 12883  type InvalidCertificateException struct {
 12884  	_            struct{}                  `type:"structure"`
 12885  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12886  
 12887  	// The descriptive message for the exception.
 12888  	Message_ *string `locationName:"Message" type:"string"`
 12889  
 12890  	// The Amazon Web Services request identifier.
 12891  	RequestId *string `type:"string"`
 12892  }
 12893  
 12894  // String returns the string representation.
 12895  //
 12896  // API parameter values that are decorated as "sensitive" in the API will not
 12897  // be included in the string output. The member name will be present, but the
 12898  // value will be replaced with "sensitive".
 12899  func (s InvalidCertificateException) String() string {
 12900  	return awsutil.Prettify(s)
 12901  }
 12902  
 12903  // GoString returns the string representation.
 12904  //
 12905  // API parameter values that are decorated as "sensitive" in the API will not
 12906  // be included in the string output. The member name will be present, but the
 12907  // value will be replaced with "sensitive".
 12908  func (s InvalidCertificateException) GoString() string {
 12909  	return s.String()
 12910  }
 12911  
 12912  func newErrorInvalidCertificateException(v protocol.ResponseMetadata) error {
 12913  	return &InvalidCertificateException{
 12914  		RespMetadata: v,
 12915  	}
 12916  }
 12917  
 12918  // Code returns the exception type name.
 12919  func (s *InvalidCertificateException) Code() string {
 12920  	return "InvalidCertificateException"
 12921  }
 12922  
 12923  // Message returns the exception's message.
 12924  func (s *InvalidCertificateException) Message() string {
 12925  	if s.Message_ != nil {
 12926  		return *s.Message_
 12927  	}
 12928  	return ""
 12929  }
 12930  
 12931  // OrigErr always returns nil, satisfies awserr.Error interface.
 12932  func (s *InvalidCertificateException) OrigErr() error {
 12933  	return nil
 12934  }
 12935  
 12936  func (s *InvalidCertificateException) Error() string {
 12937  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 12938  }
 12939  
 12940  // Status code returns the HTTP status code for the request's response error.
 12941  func (s *InvalidCertificateException) StatusCode() int {
 12942  	return s.RespMetadata.StatusCode
 12943  }
 12944  
 12945  // RequestID returns the service's response RequestID for request.
 12946  func (s *InvalidCertificateException) RequestID() string {
 12947  	return s.RespMetadata.RequestID
 12948  }
 12949  
 12950  // Client authentication is already enabled.
 12951  type InvalidClientAuthStatusException struct {
 12952  	_            struct{}                  `type:"structure"`
 12953  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12954  
 12955  	// The descriptive message for the exception.
 12956  	Message_ *string `locationName:"Message" type:"string"`
 12957  
 12958  	// The Amazon Web Services request identifier.
 12959  	RequestId *string `type:"string"`
 12960  }
 12961  
 12962  // String returns the string representation.
 12963  //
 12964  // API parameter values that are decorated as "sensitive" in the API will not
 12965  // be included in the string output. The member name will be present, but the
 12966  // value will be replaced with "sensitive".
 12967  func (s InvalidClientAuthStatusException) String() string {
 12968  	return awsutil.Prettify(s)
 12969  }
 12970  
 12971  // GoString returns the string representation.
 12972  //
 12973  // API parameter values that are decorated as "sensitive" in the API will not
 12974  // be included in the string output. The member name will be present, but the
 12975  // value will be replaced with "sensitive".
 12976  func (s InvalidClientAuthStatusException) GoString() string {
 12977  	return s.String()
 12978  }
 12979  
 12980  func newErrorInvalidClientAuthStatusException(v protocol.ResponseMetadata) error {
 12981  	return &InvalidClientAuthStatusException{
 12982  		RespMetadata: v,
 12983  	}
 12984  }
 12985  
 12986  // Code returns the exception type name.
 12987  func (s *InvalidClientAuthStatusException) Code() string {
 12988  	return "InvalidClientAuthStatusException"
 12989  }
 12990  
 12991  // Message returns the exception's message.
 12992  func (s *InvalidClientAuthStatusException) Message() string {
 12993  	if s.Message_ != nil {
 12994  		return *s.Message_
 12995  	}
 12996  	return ""
 12997  }
 12998  
 12999  // OrigErr always returns nil, satisfies awserr.Error interface.
 13000  func (s *InvalidClientAuthStatusException) OrigErr() error {
 13001  	return nil
 13002  }
 13003  
 13004  func (s *InvalidClientAuthStatusException) Error() string {
 13005  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 13006  }
 13007  
 13008  // Status code returns the HTTP status code for the request's response error.
 13009  func (s *InvalidClientAuthStatusException) StatusCode() int {
 13010  	return s.RespMetadata.StatusCode
 13011  }
 13012  
 13013  // RequestID returns the service's response RequestID for request.
 13014  func (s *InvalidClientAuthStatusException) RequestID() string {
 13015  	return s.RespMetadata.RequestID
 13016  }
 13017  
 13018  // The LDAP activities could not be performed because they are limited by the
 13019  // LDAPS status.
 13020  type InvalidLDAPSStatusException struct {
 13021  	_            struct{}                  `type:"structure"`
 13022  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13023  
 13024  	// The descriptive message for the exception.
 13025  	Message_ *string `locationName:"Message" type:"string"`
 13026  
 13027  	// The Amazon Web Services request identifier.
 13028  	RequestId *string `type:"string"`
 13029  }
 13030  
 13031  // String returns the string representation.
 13032  //
 13033  // API parameter values that are decorated as "sensitive" in the API will not
 13034  // be included in the string output. The member name will be present, but the
 13035  // value will be replaced with "sensitive".
 13036  func (s InvalidLDAPSStatusException) String() string {
 13037  	return awsutil.Prettify(s)
 13038  }
 13039  
 13040  // GoString returns the string representation.
 13041  //
 13042  // API parameter values that are decorated as "sensitive" in the API will not
 13043  // be included in the string output. The member name will be present, but the
 13044  // value will be replaced with "sensitive".
 13045  func (s InvalidLDAPSStatusException) GoString() string {
 13046  	return s.String()
 13047  }
 13048  
 13049  func newErrorInvalidLDAPSStatusException(v protocol.ResponseMetadata) error {
 13050  	return &InvalidLDAPSStatusException{
 13051  		RespMetadata: v,
 13052  	}
 13053  }
 13054  
 13055  // Code returns the exception type name.
 13056  func (s *InvalidLDAPSStatusException) Code() string {
 13057  	return "InvalidLDAPSStatusException"
 13058  }
 13059  
 13060  // Message returns the exception's message.
 13061  func (s *InvalidLDAPSStatusException) Message() string {
 13062  	if s.Message_ != nil {
 13063  		return *s.Message_
 13064  	}
 13065  	return ""
 13066  }
 13067  
 13068  // OrigErr always returns nil, satisfies awserr.Error interface.
 13069  func (s *InvalidLDAPSStatusException) OrigErr() error {
 13070  	return nil
 13071  }
 13072  
 13073  func (s *InvalidLDAPSStatusException) Error() string {
 13074  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 13075  }
 13076  
 13077  // Status code returns the HTTP status code for the request's response error.
 13078  func (s *InvalidLDAPSStatusException) StatusCode() int {
 13079  	return s.RespMetadata.StatusCode
 13080  }
 13081  
 13082  // RequestID returns the service's response RequestID for request.
 13083  func (s *InvalidLDAPSStatusException) RequestID() string {
 13084  	return s.RespMetadata.RequestID
 13085  }
 13086  
 13087  // The NextToken value is not valid.
 13088  type InvalidNextTokenException struct {
 13089  	_            struct{}                  `type:"structure"`
 13090  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13091  
 13092  	// The descriptive message for the exception.
 13093  	Message_ *string `locationName:"Message" type:"string"`
 13094  
 13095  	// The Amazon Web Services request identifier.
 13096  	RequestId *string `type:"string"`
 13097  }
 13098  
 13099  // String returns the string representation.
 13100  //
 13101  // API parameter values that are decorated as "sensitive" in the API will not
 13102  // be included in the string output. The member name will be present, but the
 13103  // value will be replaced with "sensitive".
 13104  func (s InvalidNextTokenException) String() string {
 13105  	return awsutil.Prettify(s)
 13106  }
 13107  
 13108  // GoString returns the string representation.
 13109  //
 13110  // API parameter values that are decorated as "sensitive" in the API will not
 13111  // be included in the string output. The member name will be present, but the
 13112  // value will be replaced with "sensitive".
 13113  func (s InvalidNextTokenException) GoString() string {
 13114  	return s.String()
 13115  }
 13116  
 13117  func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error {
 13118  	return &InvalidNextTokenException{
 13119  		RespMetadata: v,
 13120  	}
 13121  }
 13122  
 13123  // Code returns the exception type name.
 13124  func (s *InvalidNextTokenException) Code() string {
 13125  	return "InvalidNextTokenException"
 13126  }
 13127  
 13128  // Message returns the exception's message.
 13129  func (s *InvalidNextTokenException) Message() string {
 13130  	if s.Message_ != nil {
 13131  		return *s.Message_
 13132  	}
 13133  	return ""
 13134  }
 13135  
 13136  // OrigErr always returns nil, satisfies awserr.Error interface.
 13137  func (s *InvalidNextTokenException) OrigErr() error {
 13138  	return nil
 13139  }
 13140  
 13141  func (s *InvalidNextTokenException) Error() string {
 13142  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 13143  }
 13144  
 13145  // Status code returns the HTTP status code for the request's response error.
 13146  func (s *InvalidNextTokenException) StatusCode() int {
 13147  	return s.RespMetadata.StatusCode
 13148  }
 13149  
 13150  // RequestID returns the service's response RequestID for request.
 13151  func (s *InvalidNextTokenException) RequestID() string {
 13152  	return s.RespMetadata.RequestID
 13153  }
 13154  
 13155  // One or more parameters are not valid.
 13156  type InvalidParameterException struct {
 13157  	_            struct{}                  `type:"structure"`
 13158  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13159  
 13160  	// The descriptive message for the exception.
 13161  	Message_ *string `locationName:"Message" type:"string"`
 13162  
 13163  	// The Amazon Web Services request identifier.
 13164  	RequestId *string `type:"string"`
 13165  }
 13166  
 13167  // String returns the string representation.
 13168  //
 13169  // API parameter values that are decorated as "sensitive" in the API will not
 13170  // be included in the string output. The member name will be present, but the
 13171  // value will be replaced with "sensitive".
 13172  func (s InvalidParameterException) String() string {
 13173  	return awsutil.Prettify(s)
 13174  }
 13175  
 13176  // GoString returns the string representation.
 13177  //
 13178  // API parameter values that are decorated as "sensitive" in the API will not
 13179  // be included in the string output. The member name will be present, but the
 13180  // value will be replaced with "sensitive".
 13181  func (s InvalidParameterException) GoString() string {
 13182  	return s.String()
 13183  }
 13184  
 13185  func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
 13186  	return &InvalidParameterException{
 13187  		RespMetadata: v,
 13188  	}
 13189  }
 13190  
 13191  // Code returns the exception type name.
 13192  func (s *InvalidParameterException) Code() string {
 13193  	return "InvalidParameterException"
 13194  }
 13195  
 13196  // Message returns the exception's message.
 13197  func (s *InvalidParameterException) Message() string {
 13198  	if s.Message_ != nil {
 13199  		return *s.Message_
 13200  	}
 13201  	return ""
 13202  }
 13203  
 13204  // OrigErr always returns nil, satisfies awserr.Error interface.
 13205  func (s *InvalidParameterException) OrigErr() error {
 13206  	return nil
 13207  }
 13208  
 13209  func (s *InvalidParameterException) Error() string {
 13210  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 13211  }
 13212  
 13213  // Status code returns the HTTP status code for the request's response error.
 13214  func (s *InvalidParameterException) StatusCode() int {
 13215  	return s.RespMetadata.StatusCode
 13216  }
 13217  
 13218  // RequestID returns the service's response RequestID for request.
 13219  func (s *InvalidParameterException) RequestID() string {
 13220  	return s.RespMetadata.RequestID
 13221  }
 13222  
 13223  // The new password provided by the user does not meet the password complexity
 13224  // requirements defined in your directory.
 13225  type InvalidPasswordException struct {
 13226  	_            struct{}                  `type:"structure"`
 13227  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13228  
 13229  	// The descriptive message for the exception.
 13230  	Message_ *string `locationName:"Message" type:"string"`
 13231  
 13232  	// The Amazon Web Services request identifier.
 13233  	RequestId *string `type:"string"`
 13234  }
 13235  
 13236  // String returns the string representation.
 13237  //
 13238  // API parameter values that are decorated as "sensitive" in the API will not
 13239  // be included in the string output. The member name will be present, but the
 13240  // value will be replaced with "sensitive".
 13241  func (s InvalidPasswordException) String() string {
 13242  	return awsutil.Prettify(s)
 13243  }
 13244  
 13245  // GoString returns the string representation.
 13246  //
 13247  // API parameter values that are decorated as "sensitive" in the API will not
 13248  // be included in the string output. The member name will be present, but the
 13249  // value will be replaced with "sensitive".
 13250  func (s InvalidPasswordException) GoString() string {
 13251  	return s.String()
 13252  }
 13253  
 13254  func newErrorInvalidPasswordException(v protocol.ResponseMetadata) error {
 13255  	return &InvalidPasswordException{
 13256  		RespMetadata: v,
 13257  	}
 13258  }
 13259  
 13260  // Code returns the exception type name.
 13261  func (s *InvalidPasswordException) Code() string {
 13262  	return "InvalidPasswordException"
 13263  }
 13264  
 13265  // Message returns the exception's message.
 13266  func (s *InvalidPasswordException) Message() string {
 13267  	if s.Message_ != nil {
 13268  		return *s.Message_
 13269  	}
 13270  	return ""
 13271  }
 13272  
 13273  // OrigErr always returns nil, satisfies awserr.Error interface.
 13274  func (s *InvalidPasswordException) OrigErr() error {
 13275  	return nil
 13276  }
 13277  
 13278  func (s *InvalidPasswordException) Error() string {
 13279  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 13280  }
 13281  
 13282  // Status code returns the HTTP status code for the request's response error.
 13283  func (s *InvalidPasswordException) StatusCode() int {
 13284  	return s.RespMetadata.StatusCode
 13285  }
 13286  
 13287  // RequestID returns the service's response RequestID for request.
 13288  func (s *InvalidPasswordException) RequestID() string {
 13289  	return s.RespMetadata.RequestID
 13290  }
 13291  
 13292  // The specified shared target is not valid.
 13293  type InvalidTargetException struct {
 13294  	_            struct{}                  `type:"structure"`
 13295  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13296  
 13297  	// The descriptive message for the exception.
 13298  	Message_ *string `locationName:"Message" type:"string"`
 13299  
 13300  	// The Amazon Web Services request identifier.
 13301  	RequestId *string `type:"string"`
 13302  }
 13303  
 13304  // String returns the string representation.
 13305  //
 13306  // API parameter values that are decorated as "sensitive" in the API will not
 13307  // be included in the string output. The member name will be present, but the
 13308  // value will be replaced with "sensitive".
 13309  func (s InvalidTargetException) String() string {
 13310  	return awsutil.Prettify(s)
 13311  }
 13312  
 13313  // GoString returns the string representation.
 13314  //
 13315  // API parameter values that are decorated as "sensitive" in the API will not
 13316  // be included in the string output. The member name will be present, but the
 13317  // value will be replaced with "sensitive".
 13318  func (s InvalidTargetException) GoString() string {
 13319  	return s.String()
 13320  }
 13321  
 13322  func newErrorInvalidTargetException(v protocol.ResponseMetadata) error {
 13323  	return &InvalidTargetException{
 13324  		RespMetadata: v,
 13325  	}
 13326  }
 13327  
 13328  // Code returns the exception type name.
 13329  func (s *InvalidTargetException) Code() string {
 13330  	return "InvalidTargetException"
 13331  }
 13332  
 13333  // Message returns the exception's message.
 13334  func (s *InvalidTargetException) Message() string {
 13335  	if s.Message_ != nil {
 13336  		return *s.Message_
 13337  	}
 13338  	return ""
 13339  }
 13340  
 13341  // OrigErr always returns nil, satisfies awserr.Error interface.
 13342  func (s *InvalidTargetException) OrigErr() error {
 13343  	return nil
 13344  }
 13345  
 13346  func (s *InvalidTargetException) Error() string {
 13347  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 13348  }
 13349  
 13350  // Status code returns the HTTP status code for the request's response error.
 13351  func (s *InvalidTargetException) StatusCode() int {
 13352  	return s.RespMetadata.StatusCode
 13353  }
 13354  
 13355  // RequestID returns the service's response RequestID for request.
 13356  func (s *InvalidTargetException) RequestID() string {
 13357  	return s.RespMetadata.RequestID
 13358  }
 13359  
 13360  // IP address block. This is often the address block of the DNS server used
 13361  // for your self-managed domain.
 13362  type IpRoute struct {
 13363  	_ struct{} `type:"structure"`
 13364  
 13365  	// IP address block using CIDR format, for example 10.0.0.0/24. This is often
 13366  	// the address block of the DNS server used for your self-managed domain. For
 13367  	// a single IP address use a CIDR address block with /32. For example 10.0.0.0/32.
 13368  	CidrIp *string `type:"string"`
 13369  
 13370  	// Description of the address block.
 13371  	Description *string `type:"string"`
 13372  }
 13373  
 13374  // String returns the string representation.
 13375  //
 13376  // API parameter values that are decorated as "sensitive" in the API will not
 13377  // be included in the string output. The member name will be present, but the
 13378  // value will be replaced with "sensitive".
 13379  func (s IpRoute) String() string {
 13380  	return awsutil.Prettify(s)
 13381  }
 13382  
 13383  // GoString returns the string representation.
 13384  //
 13385  // API parameter values that are decorated as "sensitive" in the API will not
 13386  // be included in the string output. The member name will be present, but the
 13387  // value will be replaced with "sensitive".
 13388  func (s IpRoute) GoString() string {
 13389  	return s.String()
 13390  }
 13391  
 13392  // SetCidrIp sets the CidrIp field's value.
 13393  func (s *IpRoute) SetCidrIp(v string) *IpRoute {
 13394  	s.CidrIp = &v
 13395  	return s
 13396  }
 13397  
 13398  // SetDescription sets the Description field's value.
 13399  func (s *IpRoute) SetDescription(v string) *IpRoute {
 13400  	s.Description = &v
 13401  	return s
 13402  }
 13403  
 13404  // Information about one or more IP address blocks.
 13405  type IpRouteInfo struct {
 13406  	_ struct{} `type:"structure"`
 13407  
 13408  	// The date and time the address block was added to the directory.
 13409  	AddedDateTime *time.Time `type:"timestamp"`
 13410  
 13411  	// IP address block in the IpRoute.
 13412  	CidrIp *string `type:"string"`
 13413  
 13414  	// Description of the IpRouteInfo.
 13415  	Description *string `type:"string"`
 13416  
 13417  	// Identifier (ID) of the directory associated with the IP addresses.
 13418  	DirectoryId *string `type:"string"`
 13419  
 13420  	// The status of the IP address block.
 13421  	IpRouteStatusMsg *string `type:"string" enum:"IpRouteStatusMsg"`
 13422  
 13423  	// The reason for the IpRouteStatusMsg.
 13424  	IpRouteStatusReason *string `type:"string"`
 13425  }
 13426  
 13427  // String returns the string representation.
 13428  //
 13429  // API parameter values that are decorated as "sensitive" in the API will not
 13430  // be included in the string output. The member name will be present, but the
 13431  // value will be replaced with "sensitive".
 13432  func (s IpRouteInfo) String() string {
 13433  	return awsutil.Prettify(s)
 13434  }
 13435  
 13436  // GoString returns the string representation.
 13437  //
 13438  // API parameter values that are decorated as "sensitive" in the API will not
 13439  // be included in the string output. The member name will be present, but the
 13440  // value will be replaced with "sensitive".
 13441  func (s IpRouteInfo) GoString() string {
 13442  	return s.String()
 13443  }
 13444  
 13445  // SetAddedDateTime sets the AddedDateTime field's value.
 13446  func (s *IpRouteInfo) SetAddedDateTime(v time.Time) *IpRouteInfo {
 13447  	s.AddedDateTime = &v
 13448  	return s
 13449  }
 13450  
 13451  // SetCidrIp sets the CidrIp field's value.
 13452  func (s *IpRouteInfo) SetCidrIp(v string) *IpRouteInfo {
 13453  	s.CidrIp = &v
 13454  	return s
 13455  }
 13456  
 13457  // SetDescription sets the Description field's value.
 13458  func (s *IpRouteInfo) SetDescription(v string) *IpRouteInfo {
 13459  	s.Description = &v
 13460  	return s
 13461  }
 13462  
 13463  // SetDirectoryId sets the DirectoryId field's value.
 13464  func (s *IpRouteInfo) SetDirectoryId(v string) *IpRouteInfo {
 13465  	s.DirectoryId = &v
 13466  	return s
 13467  }
 13468  
 13469  // SetIpRouteStatusMsg sets the IpRouteStatusMsg field's value.
 13470  func (s *IpRouteInfo) SetIpRouteStatusMsg(v string) *IpRouteInfo {
 13471  	s.IpRouteStatusMsg = &v
 13472  	return s
 13473  }
 13474  
 13475  // SetIpRouteStatusReason sets the IpRouteStatusReason field's value.
 13476  func (s *IpRouteInfo) SetIpRouteStatusReason(v string) *IpRouteInfo {
 13477  	s.IpRouteStatusReason = &v
 13478  	return s
 13479  }
 13480  
 13481  // The maximum allowed number of IP addresses was exceeded. The default limit
 13482  // is 100 IP address blocks.
 13483  type IpRouteLimitExceededException struct {
 13484  	_            struct{}                  `type:"structure"`
 13485  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13486  
 13487  	// The descriptive message for the exception.
 13488  	Message_ *string `locationName:"Message" type:"string"`
 13489  
 13490  	// The Amazon Web Services request identifier.
 13491  	RequestId *string `type:"string"`
 13492  }
 13493  
 13494  // String returns the string representation.
 13495  //
 13496  // API parameter values that are decorated as "sensitive" in the API will not
 13497  // be included in the string output. The member name will be present, but the
 13498  // value will be replaced with "sensitive".
 13499  func (s IpRouteLimitExceededException) String() string {
 13500  	return awsutil.Prettify(s)
 13501  }
 13502  
 13503  // GoString returns the string representation.
 13504  //
 13505  // API parameter values that are decorated as "sensitive" in the API will not
 13506  // be included in the string output. The member name will be present, but the
 13507  // value will be replaced with "sensitive".
 13508  func (s IpRouteLimitExceededException) GoString() string {
 13509  	return s.String()
 13510  }
 13511  
 13512  func newErrorIpRouteLimitExceededException(v protocol.ResponseMetadata) error {
 13513  	return &IpRouteLimitExceededException{
 13514  		RespMetadata: v,
 13515  	}
 13516  }
 13517  
 13518  // Code returns the exception type name.
 13519  func (s *IpRouteLimitExceededException) Code() string {
 13520  	return "IpRouteLimitExceededException"
 13521  }
 13522  
 13523  // Message returns the exception's message.
 13524  func (s *IpRouteLimitExceededException) Message() string {
 13525  	if s.Message_ != nil {
 13526  		return *s.Message_
 13527  	}
 13528  	return ""
 13529  }
 13530  
 13531  // OrigErr always returns nil, satisfies awserr.Error interface.
 13532  func (s *IpRouteLimitExceededException) OrigErr() error {
 13533  	return nil
 13534  }
 13535  
 13536  func (s *IpRouteLimitExceededException) Error() string {
 13537  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 13538  }
 13539  
 13540  // Status code returns the HTTP status code for the request's response error.
 13541  func (s *IpRouteLimitExceededException) StatusCode() int {
 13542  	return s.RespMetadata.StatusCode
 13543  }
 13544  
 13545  // RequestID returns the service's response RequestID for request.
 13546  func (s *IpRouteLimitExceededException) RequestID() string {
 13547  	return s.RespMetadata.RequestID
 13548  }
 13549  
 13550  // Contains general information about the LDAPS settings.
 13551  type LDAPSSettingInfo struct {
 13552  	_ struct{} `type:"structure"`
 13553  
 13554  	// The state of the LDAPS settings.
 13555  	LDAPSStatus *string `type:"string" enum:"LDAPSStatus"`
 13556  
 13557  	// Describes a state change for LDAPS.
 13558  	LDAPSStatusReason *string `type:"string"`
 13559  
 13560  	// The date and time when the LDAPS settings were last updated.
 13561  	LastUpdatedDateTime *time.Time `type:"timestamp"`
 13562  }
 13563  
 13564  // String returns the string representation.
 13565  //
 13566  // API parameter values that are decorated as "sensitive" in the API will not
 13567  // be included in the string output. The member name will be present, but the
 13568  // value will be replaced with "sensitive".
 13569  func (s LDAPSSettingInfo) String() string {
 13570  	return awsutil.Prettify(s)
 13571  }
 13572  
 13573  // GoString returns the string representation.
 13574  //
 13575  // API parameter values that are decorated as "sensitive" in the API will not
 13576  // be included in the string output. The member name will be present, but the
 13577  // value will be replaced with "sensitive".
 13578  func (s LDAPSSettingInfo) GoString() string {
 13579  	return s.String()
 13580  }
 13581  
 13582  // SetLDAPSStatus sets the LDAPSStatus field's value.
 13583  func (s *LDAPSSettingInfo) SetLDAPSStatus(v string) *LDAPSSettingInfo {
 13584  	s.LDAPSStatus = &v
 13585  	return s
 13586  }
 13587  
 13588  // SetLDAPSStatusReason sets the LDAPSStatusReason field's value.
 13589  func (s *LDAPSSettingInfo) SetLDAPSStatusReason(v string) *LDAPSSettingInfo {
 13590  	s.LDAPSStatusReason = &v
 13591  	return s
 13592  }
 13593  
 13594  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 13595  func (s *LDAPSSettingInfo) SetLastUpdatedDateTime(v time.Time) *LDAPSSettingInfo {
 13596  	s.LastUpdatedDateTime = &v
 13597  	return s
 13598  }
 13599  
 13600  type ListCertificatesInput struct {
 13601  	_ struct{} `type:"structure"`
 13602  
 13603  	// The identifier of the directory.
 13604  	//
 13605  	// DirectoryId is a required field
 13606  	DirectoryId *string `type:"string" required:"true"`
 13607  
 13608  	// The number of items that should show up on one page
 13609  	Limit *int64 `min:"1" type:"integer"`
 13610  
 13611  	// A token for requesting another page of certificates if the NextToken response
 13612  	// element indicates that more certificates are available. Use the value of
 13613  	// the returned NextToken element in your request until the token comes back
 13614  	// as null. Pass null if this is the first call.
 13615  	NextToken *string `type:"string"`
 13616  }
 13617  
 13618  // String returns the string representation.
 13619  //
 13620  // API parameter values that are decorated as "sensitive" in the API will not
 13621  // be included in the string output. The member name will be present, but the
 13622  // value will be replaced with "sensitive".
 13623  func (s ListCertificatesInput) String() string {
 13624  	return awsutil.Prettify(s)
 13625  }
 13626  
 13627  // GoString returns the string representation.
 13628  //
 13629  // API parameter values that are decorated as "sensitive" in the API will not
 13630  // be included in the string output. The member name will be present, but the
 13631  // value will be replaced with "sensitive".
 13632  func (s ListCertificatesInput) GoString() string {
 13633  	return s.String()
 13634  }
 13635  
 13636  // Validate inspects the fields of the type to determine if they are valid.
 13637  func (s *ListCertificatesInput) Validate() error {
 13638  	invalidParams := request.ErrInvalidParams{Context: "ListCertificatesInput"}
 13639  	if s.DirectoryId == nil {
 13640  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 13641  	}
 13642  	if s.Limit != nil && *s.Limit < 1 {
 13643  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 13644  	}
 13645  
 13646  	if invalidParams.Len() > 0 {
 13647  		return invalidParams
 13648  	}
 13649  	return nil
 13650  }
 13651  
 13652  // SetDirectoryId sets the DirectoryId field's value.
 13653  func (s *ListCertificatesInput) SetDirectoryId(v string) *ListCertificatesInput {
 13654  	s.DirectoryId = &v
 13655  	return s
 13656  }
 13657  
 13658  // SetLimit sets the Limit field's value.
 13659  func (s *ListCertificatesInput) SetLimit(v int64) *ListCertificatesInput {
 13660  	s.Limit = &v
 13661  	return s
 13662  }
 13663  
 13664  // SetNextToken sets the NextToken field's value.
 13665  func (s *ListCertificatesInput) SetNextToken(v string) *ListCertificatesInput {
 13666  	s.NextToken = &v
 13667  	return s
 13668  }
 13669  
 13670  type ListCertificatesOutput struct {
 13671  	_ struct{} `type:"structure"`
 13672  
 13673  	// A list of certificates with basic details including certificate ID, certificate
 13674  	// common name, certificate state.
 13675  	CertificatesInfo []*CertificateInfo `type:"list"`
 13676  
 13677  	// Indicates whether another page of certificates is available when the number
 13678  	// of available certificates exceeds the page limit.
 13679  	NextToken *string `type:"string"`
 13680  }
 13681  
 13682  // String returns the string representation.
 13683  //
 13684  // API parameter values that are decorated as "sensitive" in the API will not
 13685  // be included in the string output. The member name will be present, but the
 13686  // value will be replaced with "sensitive".
 13687  func (s ListCertificatesOutput) String() string {
 13688  	return awsutil.Prettify(s)
 13689  }
 13690  
 13691  // GoString returns the string representation.
 13692  //
 13693  // API parameter values that are decorated as "sensitive" in the API will not
 13694  // be included in the string output. The member name will be present, but the
 13695  // value will be replaced with "sensitive".
 13696  func (s ListCertificatesOutput) GoString() string {
 13697  	return s.String()
 13698  }
 13699  
 13700  // SetCertificatesInfo sets the CertificatesInfo field's value.
 13701  func (s *ListCertificatesOutput) SetCertificatesInfo(v []*CertificateInfo) *ListCertificatesOutput {
 13702  	s.CertificatesInfo = v
 13703  	return s
 13704  }
 13705  
 13706  // SetNextToken sets the NextToken field's value.
 13707  func (s *ListCertificatesOutput) SetNextToken(v string) *ListCertificatesOutput {
 13708  	s.NextToken = &v
 13709  	return s
 13710  }
 13711  
 13712  type ListIpRoutesInput struct {
 13713  	_ struct{} `type:"structure"`
 13714  
 13715  	// Identifier (ID) of the directory for which you want to retrieve the IP addresses.
 13716  	//
 13717  	// DirectoryId is a required field
 13718  	DirectoryId *string `type:"string" required:"true"`
 13719  
 13720  	// Maximum number of items to return. If this value is zero, the maximum number
 13721  	// of items is specified by the limitations of the operation.
 13722  	Limit *int64 `type:"integer"`
 13723  
 13724  	// The ListIpRoutes.NextToken value from a previous call to ListIpRoutes. Pass
 13725  	// null if this is the first call.
 13726  	NextToken *string `type:"string"`
 13727  }
 13728  
 13729  // String returns the string representation.
 13730  //
 13731  // API parameter values that are decorated as "sensitive" in the API will not
 13732  // be included in the string output. The member name will be present, but the
 13733  // value will be replaced with "sensitive".
 13734  func (s ListIpRoutesInput) String() string {
 13735  	return awsutil.Prettify(s)
 13736  }
 13737  
 13738  // GoString returns the string representation.
 13739  //
 13740  // API parameter values that are decorated as "sensitive" in the API will not
 13741  // be included in the string output. The member name will be present, but the
 13742  // value will be replaced with "sensitive".
 13743  func (s ListIpRoutesInput) GoString() string {
 13744  	return s.String()
 13745  }
 13746  
 13747  // Validate inspects the fields of the type to determine if they are valid.
 13748  func (s *ListIpRoutesInput) Validate() error {
 13749  	invalidParams := request.ErrInvalidParams{Context: "ListIpRoutesInput"}
 13750  	if s.DirectoryId == nil {
 13751  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 13752  	}
 13753  
 13754  	if invalidParams.Len() > 0 {
 13755  		return invalidParams
 13756  	}
 13757  	return nil
 13758  }
 13759  
 13760  // SetDirectoryId sets the DirectoryId field's value.
 13761  func (s *ListIpRoutesInput) SetDirectoryId(v string) *ListIpRoutesInput {
 13762  	s.DirectoryId = &v
 13763  	return s
 13764  }
 13765  
 13766  // SetLimit sets the Limit field's value.
 13767  func (s *ListIpRoutesInput) SetLimit(v int64) *ListIpRoutesInput {
 13768  	s.Limit = &v
 13769  	return s
 13770  }
 13771  
 13772  // SetNextToken sets the NextToken field's value.
 13773  func (s *ListIpRoutesInput) SetNextToken(v string) *ListIpRoutesInput {
 13774  	s.NextToken = &v
 13775  	return s
 13776  }
 13777  
 13778  type ListIpRoutesOutput struct {
 13779  	_ struct{} `type:"structure"`
 13780  
 13781  	// A list of IpRoutes.
 13782  	IpRoutesInfo []*IpRouteInfo `type:"list"`
 13783  
 13784  	// If not null, more results are available. Pass this value for the NextToken
 13785  	// parameter in a subsequent call to ListIpRoutes to retrieve the next set of
 13786  	// items.
 13787  	NextToken *string `type:"string"`
 13788  }
 13789  
 13790  // String returns the string representation.
 13791  //
 13792  // API parameter values that are decorated as "sensitive" in the API will not
 13793  // be included in the string output. The member name will be present, but the
 13794  // value will be replaced with "sensitive".
 13795  func (s ListIpRoutesOutput) String() string {
 13796  	return awsutil.Prettify(s)
 13797  }
 13798  
 13799  // GoString returns the string representation.
 13800  //
 13801  // API parameter values that are decorated as "sensitive" in the API will not
 13802  // be included in the string output. The member name will be present, but the
 13803  // value will be replaced with "sensitive".
 13804  func (s ListIpRoutesOutput) GoString() string {
 13805  	return s.String()
 13806  }
 13807  
 13808  // SetIpRoutesInfo sets the IpRoutesInfo field's value.
 13809  func (s *ListIpRoutesOutput) SetIpRoutesInfo(v []*IpRouteInfo) *ListIpRoutesOutput {
 13810  	s.IpRoutesInfo = v
 13811  	return s
 13812  }
 13813  
 13814  // SetNextToken sets the NextToken field's value.
 13815  func (s *ListIpRoutesOutput) SetNextToken(v string) *ListIpRoutesOutput {
 13816  	s.NextToken = &v
 13817  	return s
 13818  }
 13819  
 13820  type ListLogSubscriptionsInput struct {
 13821  	_ struct{} `type:"structure"`
 13822  
 13823  	// If a DirectoryID is provided, lists only the log subscription associated
 13824  	// with that directory. If no DirectoryId is provided, lists all log subscriptions
 13825  	// associated with your Amazon Web Services account. If there are no log subscriptions
 13826  	// for the Amazon Web Services account or the directory, an empty list will
 13827  	// be returned.
 13828  	DirectoryId *string `type:"string"`
 13829  
 13830  	// The maximum number of items returned.
 13831  	Limit *int64 `type:"integer"`
 13832  
 13833  	// The token for the next set of items to return.
 13834  	NextToken *string `type:"string"`
 13835  }
 13836  
 13837  // String returns the string representation.
 13838  //
 13839  // API parameter values that are decorated as "sensitive" in the API will not
 13840  // be included in the string output. The member name will be present, but the
 13841  // value will be replaced with "sensitive".
 13842  func (s ListLogSubscriptionsInput) String() string {
 13843  	return awsutil.Prettify(s)
 13844  }
 13845  
 13846  // GoString returns the string representation.
 13847  //
 13848  // API parameter values that are decorated as "sensitive" in the API will not
 13849  // be included in the string output. The member name will be present, but the
 13850  // value will be replaced with "sensitive".
 13851  func (s ListLogSubscriptionsInput) GoString() string {
 13852  	return s.String()
 13853  }
 13854  
 13855  // SetDirectoryId sets the DirectoryId field's value.
 13856  func (s *ListLogSubscriptionsInput) SetDirectoryId(v string) *ListLogSubscriptionsInput {
 13857  	s.DirectoryId = &v
 13858  	return s
 13859  }
 13860  
 13861  // SetLimit sets the Limit field's value.
 13862  func (s *ListLogSubscriptionsInput) SetLimit(v int64) *ListLogSubscriptionsInput {
 13863  	s.Limit = &v
 13864  	return s
 13865  }
 13866  
 13867  // SetNextToken sets the NextToken field's value.
 13868  func (s *ListLogSubscriptionsInput) SetNextToken(v string) *ListLogSubscriptionsInput {
 13869  	s.NextToken = &v
 13870  	return s
 13871  }
 13872  
 13873  type ListLogSubscriptionsOutput struct {
 13874  	_ struct{} `type:"structure"`
 13875  
 13876  	// A list of active LogSubscription objects for calling the Amazon Web Services
 13877  	// account.
 13878  	LogSubscriptions []*LogSubscription `type:"list"`
 13879  
 13880  	// The token for the next set of items to return.
 13881  	NextToken *string `type:"string"`
 13882  }
 13883  
 13884  // String returns the string representation.
 13885  //
 13886  // API parameter values that are decorated as "sensitive" in the API will not
 13887  // be included in the string output. The member name will be present, but the
 13888  // value will be replaced with "sensitive".
 13889  func (s ListLogSubscriptionsOutput) String() string {
 13890  	return awsutil.Prettify(s)
 13891  }
 13892  
 13893  // GoString returns the string representation.
 13894  //
 13895  // API parameter values that are decorated as "sensitive" in the API will not
 13896  // be included in the string output. The member name will be present, but the
 13897  // value will be replaced with "sensitive".
 13898  func (s ListLogSubscriptionsOutput) GoString() string {
 13899  	return s.String()
 13900  }
 13901  
 13902  // SetLogSubscriptions sets the LogSubscriptions field's value.
 13903  func (s *ListLogSubscriptionsOutput) SetLogSubscriptions(v []*LogSubscription) *ListLogSubscriptionsOutput {
 13904  	s.LogSubscriptions = v
 13905  	return s
 13906  }
 13907  
 13908  // SetNextToken sets the NextToken field's value.
 13909  func (s *ListLogSubscriptionsOutput) SetNextToken(v string) *ListLogSubscriptionsOutput {
 13910  	s.NextToken = &v
 13911  	return s
 13912  }
 13913  
 13914  type ListSchemaExtensionsInput struct {
 13915  	_ struct{} `type:"structure"`
 13916  
 13917  	// The identifier of the directory from which to retrieve the schema extension
 13918  	// information.
 13919  	//
 13920  	// DirectoryId is a required field
 13921  	DirectoryId *string `type:"string" required:"true"`
 13922  
 13923  	// The maximum number of items to return.
 13924  	Limit *int64 `type:"integer"`
 13925  
 13926  	// The ListSchemaExtensions.NextToken value from a previous call to ListSchemaExtensions.
 13927  	// Pass null if this is the first call.
 13928  	NextToken *string `type:"string"`
 13929  }
 13930  
 13931  // String returns the string representation.
 13932  //
 13933  // API parameter values that are decorated as "sensitive" in the API will not
 13934  // be included in the string output. The member name will be present, but the
 13935  // value will be replaced with "sensitive".
 13936  func (s ListSchemaExtensionsInput) String() string {
 13937  	return awsutil.Prettify(s)
 13938  }
 13939  
 13940  // GoString returns the string representation.
 13941  //
 13942  // API parameter values that are decorated as "sensitive" in the API will not
 13943  // be included in the string output. The member name will be present, but the
 13944  // value will be replaced with "sensitive".
 13945  func (s ListSchemaExtensionsInput) GoString() string {
 13946  	return s.String()
 13947  }
 13948  
 13949  // Validate inspects the fields of the type to determine if they are valid.
 13950  func (s *ListSchemaExtensionsInput) Validate() error {
 13951  	invalidParams := request.ErrInvalidParams{Context: "ListSchemaExtensionsInput"}
 13952  	if s.DirectoryId == nil {
 13953  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 13954  	}
 13955  
 13956  	if invalidParams.Len() > 0 {
 13957  		return invalidParams
 13958  	}
 13959  	return nil
 13960  }
 13961  
 13962  // SetDirectoryId sets the DirectoryId field's value.
 13963  func (s *ListSchemaExtensionsInput) SetDirectoryId(v string) *ListSchemaExtensionsInput {
 13964  	s.DirectoryId = &v
 13965  	return s
 13966  }
 13967  
 13968  // SetLimit sets the Limit field's value.
 13969  func (s *ListSchemaExtensionsInput) SetLimit(v int64) *ListSchemaExtensionsInput {
 13970  	s.Limit = &v
 13971  	return s
 13972  }
 13973  
 13974  // SetNextToken sets the NextToken field's value.
 13975  func (s *ListSchemaExtensionsInput) SetNextToken(v string) *ListSchemaExtensionsInput {
 13976  	s.NextToken = &v
 13977  	return s
 13978  }
 13979  
 13980  type ListSchemaExtensionsOutput struct {
 13981  	_ struct{} `type:"structure"`
 13982  
 13983  	// If not null, more results are available. Pass this value for the NextToken
 13984  	// parameter in a subsequent call to ListSchemaExtensions to retrieve the next
 13985  	// set of items.
 13986  	NextToken *string `type:"string"`
 13987  
 13988  	// Information about the schema extensions applied to the directory.
 13989  	SchemaExtensionsInfo []*SchemaExtensionInfo `type:"list"`
 13990  }
 13991  
 13992  // String returns the string representation.
 13993  //
 13994  // API parameter values that are decorated as "sensitive" in the API will not
 13995  // be included in the string output. The member name will be present, but the
 13996  // value will be replaced with "sensitive".
 13997  func (s ListSchemaExtensionsOutput) String() string {
 13998  	return awsutil.Prettify(s)
 13999  }
 14000  
 14001  // GoString returns the string representation.
 14002  //
 14003  // API parameter values that are decorated as "sensitive" in the API will not
 14004  // be included in the string output. The member name will be present, but the
 14005  // value will be replaced with "sensitive".
 14006  func (s ListSchemaExtensionsOutput) GoString() string {
 14007  	return s.String()
 14008  }
 14009  
 14010  // SetNextToken sets the NextToken field's value.
 14011  func (s *ListSchemaExtensionsOutput) SetNextToken(v string) *ListSchemaExtensionsOutput {
 14012  	s.NextToken = &v
 14013  	return s
 14014  }
 14015  
 14016  // SetSchemaExtensionsInfo sets the SchemaExtensionsInfo field's value.
 14017  func (s *ListSchemaExtensionsOutput) SetSchemaExtensionsInfo(v []*SchemaExtensionInfo) *ListSchemaExtensionsOutput {
 14018  	s.SchemaExtensionsInfo = v
 14019  	return s
 14020  }
 14021  
 14022  type ListTagsForResourceInput struct {
 14023  	_ struct{} `type:"structure"`
 14024  
 14025  	// Reserved for future use.
 14026  	Limit *int64 `type:"integer"`
 14027  
 14028  	// Reserved for future use.
 14029  	NextToken *string `type:"string"`
 14030  
 14031  	// Identifier (ID) of the directory for which you want to retrieve tags.
 14032  	//
 14033  	// ResourceId is a required field
 14034  	ResourceId *string `type:"string" required:"true"`
 14035  }
 14036  
 14037  // String returns the string representation.
 14038  //
 14039  // API parameter values that are decorated as "sensitive" in the API will not
 14040  // be included in the string output. The member name will be present, but the
 14041  // value will be replaced with "sensitive".
 14042  func (s ListTagsForResourceInput) String() string {
 14043  	return awsutil.Prettify(s)
 14044  }
 14045  
 14046  // GoString returns the string representation.
 14047  //
 14048  // API parameter values that are decorated as "sensitive" in the API will not
 14049  // be included in the string output. The member name will be present, but the
 14050  // value will be replaced with "sensitive".
 14051  func (s ListTagsForResourceInput) GoString() string {
 14052  	return s.String()
 14053  }
 14054  
 14055  // Validate inspects the fields of the type to determine if they are valid.
 14056  func (s *ListTagsForResourceInput) Validate() error {
 14057  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 14058  	if s.ResourceId == nil {
 14059  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 14060  	}
 14061  
 14062  	if invalidParams.Len() > 0 {
 14063  		return invalidParams
 14064  	}
 14065  	return nil
 14066  }
 14067  
 14068  // SetLimit sets the Limit field's value.
 14069  func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput {
 14070  	s.Limit = &v
 14071  	return s
 14072  }
 14073  
 14074  // SetNextToken sets the NextToken field's value.
 14075  func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
 14076  	s.NextToken = &v
 14077  	return s
 14078  }
 14079  
 14080  // SetResourceId sets the ResourceId field's value.
 14081  func (s *ListTagsForResourceInput) SetResourceId(v string) *ListTagsForResourceInput {
 14082  	s.ResourceId = &v
 14083  	return s
 14084  }
 14085  
 14086  type ListTagsForResourceOutput struct {
 14087  	_ struct{} `type:"structure"`
 14088  
 14089  	// Reserved for future use.
 14090  	NextToken *string `type:"string"`
 14091  
 14092  	// List of tags returned by the ListTagsForResource operation.
 14093  	Tags []*Tag `type:"list"`
 14094  }
 14095  
 14096  // String returns the string representation.
 14097  //
 14098  // API parameter values that are decorated as "sensitive" in the API will not
 14099  // be included in the string output. The member name will be present, but the
 14100  // value will be replaced with "sensitive".
 14101  func (s ListTagsForResourceOutput) String() string {
 14102  	return awsutil.Prettify(s)
 14103  }
 14104  
 14105  // GoString returns the string representation.
 14106  //
 14107  // API parameter values that are decorated as "sensitive" in the API will not
 14108  // be included in the string output. The member name will be present, but the
 14109  // value will be replaced with "sensitive".
 14110  func (s ListTagsForResourceOutput) GoString() string {
 14111  	return s.String()
 14112  }
 14113  
 14114  // SetNextToken sets the NextToken field's value.
 14115  func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
 14116  	s.NextToken = &v
 14117  	return s
 14118  }
 14119  
 14120  // SetTags sets the Tags field's value.
 14121  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
 14122  	s.Tags = v
 14123  	return s
 14124  }
 14125  
 14126  // Represents a log subscription, which tracks real-time data from a chosen
 14127  // log group to a specified destination.
 14128  type LogSubscription struct {
 14129  	_ struct{} `type:"structure"`
 14130  
 14131  	// Identifier (ID) of the directory that you want to associate with the log
 14132  	// subscription.
 14133  	DirectoryId *string `type:"string"`
 14134  
 14135  	// The name of the log group.
 14136  	LogGroupName *string `min:"1" type:"string"`
 14137  
 14138  	// The date and time that the log subscription was created.
 14139  	SubscriptionCreatedDateTime *time.Time `type:"timestamp"`
 14140  }
 14141  
 14142  // String returns the string representation.
 14143  //
 14144  // API parameter values that are decorated as "sensitive" in the API will not
 14145  // be included in the string output. The member name will be present, but the
 14146  // value will be replaced with "sensitive".
 14147  func (s LogSubscription) String() string {
 14148  	return awsutil.Prettify(s)
 14149  }
 14150  
 14151  // GoString returns the string representation.
 14152  //
 14153  // API parameter values that are decorated as "sensitive" in the API will not
 14154  // be included in the string output. The member name will be present, but the
 14155  // value will be replaced with "sensitive".
 14156  func (s LogSubscription) GoString() string {
 14157  	return s.String()
 14158  }
 14159  
 14160  // SetDirectoryId sets the DirectoryId field's value.
 14161  func (s *LogSubscription) SetDirectoryId(v string) *LogSubscription {
 14162  	s.DirectoryId = &v
 14163  	return s
 14164  }
 14165  
 14166  // SetLogGroupName sets the LogGroupName field's value.
 14167  func (s *LogSubscription) SetLogGroupName(v string) *LogSubscription {
 14168  	s.LogGroupName = &v
 14169  	return s
 14170  }
 14171  
 14172  // SetSubscriptionCreatedDateTime sets the SubscriptionCreatedDateTime field's value.
 14173  func (s *LogSubscription) SetSubscriptionCreatedDateTime(v time.Time) *LogSubscription {
 14174  	s.SubscriptionCreatedDateTime = &v
 14175  	return s
 14176  }
 14177  
 14178  // Client authentication setup could not be completed because at least one valid
 14179  // certificate must be registered in the system.
 14180  type NoAvailableCertificateException struct {
 14181  	_            struct{}                  `type:"structure"`
 14182  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 14183  
 14184  	// The descriptive message for the exception.
 14185  	Message_ *string `locationName:"Message" type:"string"`
 14186  
 14187  	// The Amazon Web Services request identifier.
 14188  	RequestId *string `type:"string"`
 14189  }
 14190  
 14191  // String returns the string representation.
 14192  //
 14193  // API parameter values that are decorated as "sensitive" in the API will not
 14194  // be included in the string output. The member name will be present, but the
 14195  // value will be replaced with "sensitive".
 14196  func (s NoAvailableCertificateException) String() string {
 14197  	return awsutil.Prettify(s)
 14198  }
 14199  
 14200  // GoString returns the string representation.
 14201  //
 14202  // API parameter values that are decorated as "sensitive" in the API will not
 14203  // be included in the string output. The member name will be present, but the
 14204  // value will be replaced with "sensitive".
 14205  func (s NoAvailableCertificateException) GoString() string {
 14206  	return s.String()
 14207  }
 14208  
 14209  func newErrorNoAvailableCertificateException(v protocol.ResponseMetadata) error {
 14210  	return &NoAvailableCertificateException{
 14211  		RespMetadata: v,
 14212  	}
 14213  }
 14214  
 14215  // Code returns the exception type name.
 14216  func (s *NoAvailableCertificateException) Code() string {
 14217  	return "NoAvailableCertificateException"
 14218  }
 14219  
 14220  // Message returns the exception's message.
 14221  func (s *NoAvailableCertificateException) Message() string {
 14222  	if s.Message_ != nil {
 14223  		return *s.Message_
 14224  	}
 14225  	return ""
 14226  }
 14227  
 14228  // OrigErr always returns nil, satisfies awserr.Error interface.
 14229  func (s *NoAvailableCertificateException) OrigErr() error {
 14230  	return nil
 14231  }
 14232  
 14233  func (s *NoAvailableCertificateException) Error() string {
 14234  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 14235  }
 14236  
 14237  // Status code returns the HTTP status code for the request's response error.
 14238  func (s *NoAvailableCertificateException) StatusCode() int {
 14239  	return s.RespMetadata.StatusCode
 14240  }
 14241  
 14242  // RequestID returns the service's response RequestID for request.
 14243  func (s *NoAvailableCertificateException) RequestID() string {
 14244  	return s.RespMetadata.RequestID
 14245  }
 14246  
 14247  // Exception encountered while trying to access your Amazon Web Services organization.
 14248  type OrganizationsException struct {
 14249  	_            struct{}                  `type:"structure"`
 14250  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 14251  
 14252  	// The descriptive message for the exception.
 14253  	Message_ *string `locationName:"Message" type:"string"`
 14254  
 14255  	// The Amazon Web Services request identifier.
 14256  	RequestId *string `type:"string"`
 14257  }
 14258  
 14259  // String returns the string representation.
 14260  //
 14261  // API parameter values that are decorated as "sensitive" in the API will not
 14262  // be included in the string output. The member name will be present, but the
 14263  // value will be replaced with "sensitive".
 14264  func (s OrganizationsException) String() string {
 14265  	return awsutil.Prettify(s)
 14266  }
 14267  
 14268  // GoString returns the string representation.
 14269  //
 14270  // API parameter values that are decorated as "sensitive" in the API will not
 14271  // be included in the string output. The member name will be present, but the
 14272  // value will be replaced with "sensitive".
 14273  func (s OrganizationsException) GoString() string {
 14274  	return s.String()
 14275  }
 14276  
 14277  func newErrorOrganizationsException(v protocol.ResponseMetadata) error {
 14278  	return &OrganizationsException{
 14279  		RespMetadata: v,
 14280  	}
 14281  }
 14282  
 14283  // Code returns the exception type name.
 14284  func (s *OrganizationsException) Code() string {
 14285  	return "OrganizationsException"
 14286  }
 14287  
 14288  // Message returns the exception's message.
 14289  func (s *OrganizationsException) Message() string {
 14290  	if s.Message_ != nil {
 14291  		return *s.Message_
 14292  	}
 14293  	return ""
 14294  }
 14295  
 14296  // OrigErr always returns nil, satisfies awserr.Error interface.
 14297  func (s *OrganizationsException) OrigErr() error {
 14298  	return nil
 14299  }
 14300  
 14301  func (s *OrganizationsException) Error() string {
 14302  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 14303  }
 14304  
 14305  // Status code returns the HTTP status code for the request's response error.
 14306  func (s *OrganizationsException) StatusCode() int {
 14307  	return s.RespMetadata.StatusCode
 14308  }
 14309  
 14310  // RequestID returns the service's response RequestID for request.
 14311  func (s *OrganizationsException) RequestID() string {
 14312  	return s.RespMetadata.RequestID
 14313  }
 14314  
 14315  // Describes the directory owner account details that have been shared to the
 14316  // directory consumer account.
 14317  type OwnerDirectoryDescription struct {
 14318  	_ struct{} `type:"structure"`
 14319  
 14320  	// Identifier of the directory owner account.
 14321  	AccountId *string `type:"string"`
 14322  
 14323  	// Identifier of the Managed Microsoft AD directory in the directory owner account.
 14324  	DirectoryId *string `type:"string"`
 14325  
 14326  	// IP address of the directory’s domain controllers.
 14327  	DnsIpAddrs []*string `type:"list"`
 14328  
 14329  	// A RadiusSettings object that contains information about the RADIUS server.
 14330  	RadiusSettings *RadiusSettings `type:"structure"`
 14331  
 14332  	// Information about the status of the RADIUS server.
 14333  	RadiusStatus *string `type:"string" enum:"RadiusStatus"`
 14334  
 14335  	// Information about the VPC settings for the directory.
 14336  	VpcSettings *DirectoryVpcSettingsDescription `type:"structure"`
 14337  }
 14338  
 14339  // String returns the string representation.
 14340  //
 14341  // API parameter values that are decorated as "sensitive" in the API will not
 14342  // be included in the string output. The member name will be present, but the
 14343  // value will be replaced with "sensitive".
 14344  func (s OwnerDirectoryDescription) String() string {
 14345  	return awsutil.Prettify(s)
 14346  }
 14347  
 14348  // GoString returns the string representation.
 14349  //
 14350  // API parameter values that are decorated as "sensitive" in the API will not
 14351  // be included in the string output. The member name will be present, but the
 14352  // value will be replaced with "sensitive".
 14353  func (s OwnerDirectoryDescription) GoString() string {
 14354  	return s.String()
 14355  }
 14356  
 14357  // SetAccountId sets the AccountId field's value.
 14358  func (s *OwnerDirectoryDescription) SetAccountId(v string) *OwnerDirectoryDescription {
 14359  	s.AccountId = &v
 14360  	return s
 14361  }
 14362  
 14363  // SetDirectoryId sets the DirectoryId field's value.
 14364  func (s *OwnerDirectoryDescription) SetDirectoryId(v string) *OwnerDirectoryDescription {
 14365  	s.DirectoryId = &v
 14366  	return s
 14367  }
 14368  
 14369  // SetDnsIpAddrs sets the DnsIpAddrs field's value.
 14370  func (s *OwnerDirectoryDescription) SetDnsIpAddrs(v []*string) *OwnerDirectoryDescription {
 14371  	s.DnsIpAddrs = v
 14372  	return s
 14373  }
 14374  
 14375  // SetRadiusSettings sets the RadiusSettings field's value.
 14376  func (s *OwnerDirectoryDescription) SetRadiusSettings(v *RadiusSettings) *OwnerDirectoryDescription {
 14377  	s.RadiusSettings = v
 14378  	return s
 14379  }
 14380  
 14381  // SetRadiusStatus sets the RadiusStatus field's value.
 14382  func (s *OwnerDirectoryDescription) SetRadiusStatus(v string) *OwnerDirectoryDescription {
 14383  	s.RadiusStatus = &v
 14384  	return s
 14385  }
 14386  
 14387  // SetVpcSettings sets the VpcSettings field's value.
 14388  func (s *OwnerDirectoryDescription) SetVpcSettings(v *DirectoryVpcSettingsDescription) *OwnerDirectoryDescription {
 14389  	s.VpcSettings = v
 14390  	return s
 14391  }
 14392  
 14393  // Contains information about a Remote Authentication Dial In User Service (RADIUS)
 14394  // server.
 14395  type RadiusSettings struct {
 14396  	_ struct{} `type:"structure"`
 14397  
 14398  	// The protocol specified for your RADIUS endpoints.
 14399  	AuthenticationProtocol *string `type:"string" enum:"RadiusAuthenticationProtocol"`
 14400  
 14401  	// Not currently used.
 14402  	DisplayLabel *string `min:"1" type:"string"`
 14403  
 14404  	// The port that your RADIUS server is using for communications. Your self-managed
 14405  	// network must allow inbound traffic over this port from the Directory Service
 14406  	// servers.
 14407  	RadiusPort *int64 `min:"1025" type:"integer"`
 14408  
 14409  	// The maximum number of times that communication with the RADIUS server is
 14410  	// attempted.
 14411  	RadiusRetries *int64 `type:"integer"`
 14412  
 14413  	// An array of strings that contains the fully qualified domain name (FQDN)
 14414  	// or IP addresses of the RADIUS server endpoints, or the FQDN or IP addresses
 14415  	// of your RADIUS server load balancer.
 14416  	RadiusServers []*string `type:"list"`
 14417  
 14418  	// The amount of time, in seconds, to wait for the RADIUS server to respond.
 14419  	RadiusTimeout *int64 `min:"1" type:"integer"`
 14420  
 14421  	// Required for enabling RADIUS on the directory.
 14422  	//
 14423  	// SharedSecret is a sensitive parameter and its value will be
 14424  	// replaced with "sensitive" in string returned by RadiusSettings's
 14425  	// String and GoString methods.
 14426  	SharedSecret *string `min:"8" type:"string" sensitive:"true"`
 14427  
 14428  	// Not currently used.
 14429  	UseSameUsername *bool `type:"boolean"`
 14430  }
 14431  
 14432  // String returns the string representation.
 14433  //
 14434  // API parameter values that are decorated as "sensitive" in the API will not
 14435  // be included in the string output. The member name will be present, but the
 14436  // value will be replaced with "sensitive".
 14437  func (s RadiusSettings) String() string {
 14438  	return awsutil.Prettify(s)
 14439  }
 14440  
 14441  // GoString returns the string representation.
 14442  //
 14443  // API parameter values that are decorated as "sensitive" in the API will not
 14444  // be included in the string output. The member name will be present, but the
 14445  // value will be replaced with "sensitive".
 14446  func (s RadiusSettings) GoString() string {
 14447  	return s.String()
 14448  }
 14449  
 14450  // Validate inspects the fields of the type to determine if they are valid.
 14451  func (s *RadiusSettings) Validate() error {
 14452  	invalidParams := request.ErrInvalidParams{Context: "RadiusSettings"}
 14453  	if s.DisplayLabel != nil && len(*s.DisplayLabel) < 1 {
 14454  		invalidParams.Add(request.NewErrParamMinLen("DisplayLabel", 1))
 14455  	}
 14456  	if s.RadiusPort != nil && *s.RadiusPort < 1025 {
 14457  		invalidParams.Add(request.NewErrParamMinValue("RadiusPort", 1025))
 14458  	}
 14459  	if s.RadiusTimeout != nil && *s.RadiusTimeout < 1 {
 14460  		invalidParams.Add(request.NewErrParamMinValue("RadiusTimeout", 1))
 14461  	}
 14462  	if s.SharedSecret != nil && len(*s.SharedSecret) < 8 {
 14463  		invalidParams.Add(request.NewErrParamMinLen("SharedSecret", 8))
 14464  	}
 14465  
 14466  	if invalidParams.Len() > 0 {
 14467  		return invalidParams
 14468  	}
 14469  	return nil
 14470  }
 14471  
 14472  // SetAuthenticationProtocol sets the AuthenticationProtocol field's value.
 14473  func (s *RadiusSettings) SetAuthenticationProtocol(v string) *RadiusSettings {
 14474  	s.AuthenticationProtocol = &v
 14475  	return s
 14476  }
 14477  
 14478  // SetDisplayLabel sets the DisplayLabel field's value.
 14479  func (s *RadiusSettings) SetDisplayLabel(v string) *RadiusSettings {
 14480  	s.DisplayLabel = &v
 14481  	return s
 14482  }
 14483  
 14484  // SetRadiusPort sets the RadiusPort field's value.
 14485  func (s *RadiusSettings) SetRadiusPort(v int64) *RadiusSettings {
 14486  	s.RadiusPort = &v
 14487  	return s
 14488  }
 14489  
 14490  // SetRadiusRetries sets the RadiusRetries field's value.
 14491  func (s *RadiusSettings) SetRadiusRetries(v int64) *RadiusSettings {
 14492  	s.RadiusRetries = &v
 14493  	return s
 14494  }
 14495  
 14496  // SetRadiusServers sets the RadiusServers field's value.
 14497  func (s *RadiusSettings) SetRadiusServers(v []*string) *RadiusSettings {
 14498  	s.RadiusServers = v
 14499  	return s
 14500  }
 14501  
 14502  // SetRadiusTimeout sets the RadiusTimeout field's value.
 14503  func (s *RadiusSettings) SetRadiusTimeout(v int64) *RadiusSettings {
 14504  	s.RadiusTimeout = &v
 14505  	return s
 14506  }
 14507  
 14508  // SetSharedSecret sets the SharedSecret field's value.
 14509  func (s *RadiusSettings) SetSharedSecret(v string) *RadiusSettings {
 14510  	s.SharedSecret = &v
 14511  	return s
 14512  }
 14513  
 14514  // SetUseSameUsername sets the UseSameUsername field's value.
 14515  func (s *RadiusSettings) SetUseSameUsername(v bool) *RadiusSettings {
 14516  	s.UseSameUsername = &v
 14517  	return s
 14518  }
 14519  
 14520  // The replicated Region information for a directory.
 14521  type RegionDescription struct {
 14522  	_ struct{} `type:"structure"`
 14523  
 14524  	// The desired number of domain controllers in the specified Region for the
 14525  	// specified directory.
 14526  	DesiredNumberOfDomainControllers *int64 `min:"2" type:"integer"`
 14527  
 14528  	// The identifier of the directory.
 14529  	DirectoryId *string `type:"string"`
 14530  
 14531  	// The date and time that the Region description was last updated.
 14532  	LastUpdatedDateTime *time.Time `type:"timestamp"`
 14533  
 14534  	// Specifies when the Region replication began.
 14535  	LaunchTime *time.Time `type:"timestamp"`
 14536  
 14537  	// The name of the Region. For example, us-east-1.
 14538  	RegionName *string `min:"8" type:"string"`
 14539  
 14540  	// Specifies whether the Region is the primary Region or an additional Region.
 14541  	RegionType *string `type:"string" enum:"RegionType"`
 14542  
 14543  	// The status of the replication process for the specified Region.
 14544  	Status *string `type:"string" enum:"DirectoryStage"`
 14545  
 14546  	// The date and time that the Region status was last updated.
 14547  	StatusLastUpdatedDateTime *time.Time `type:"timestamp"`
 14548  
 14549  	// Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.
 14550  	VpcSettings *DirectoryVpcSettings `type:"structure"`
 14551  }
 14552  
 14553  // String returns the string representation.
 14554  //
 14555  // API parameter values that are decorated as "sensitive" in the API will not
 14556  // be included in the string output. The member name will be present, but the
 14557  // value will be replaced with "sensitive".
 14558  func (s RegionDescription) String() string {
 14559  	return awsutil.Prettify(s)
 14560  }
 14561  
 14562  // GoString returns the string representation.
 14563  //
 14564  // API parameter values that are decorated as "sensitive" in the API will not
 14565  // be included in the string output. The member name will be present, but the
 14566  // value will be replaced with "sensitive".
 14567  func (s RegionDescription) GoString() string {
 14568  	return s.String()
 14569  }
 14570  
 14571  // SetDesiredNumberOfDomainControllers sets the DesiredNumberOfDomainControllers field's value.
 14572  func (s *RegionDescription) SetDesiredNumberOfDomainControllers(v int64) *RegionDescription {
 14573  	s.DesiredNumberOfDomainControllers = &v
 14574  	return s
 14575  }
 14576  
 14577  // SetDirectoryId sets the DirectoryId field's value.
 14578  func (s *RegionDescription) SetDirectoryId(v string) *RegionDescription {
 14579  	s.DirectoryId = &v
 14580  	return s
 14581  }
 14582  
 14583  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 14584  func (s *RegionDescription) SetLastUpdatedDateTime(v time.Time) *RegionDescription {
 14585  	s.LastUpdatedDateTime = &v
 14586  	return s
 14587  }
 14588  
 14589  // SetLaunchTime sets the LaunchTime field's value.
 14590  func (s *RegionDescription) SetLaunchTime(v time.Time) *RegionDescription {
 14591  	s.LaunchTime = &v
 14592  	return s
 14593  }
 14594  
 14595  // SetRegionName sets the RegionName field's value.
 14596  func (s *RegionDescription) SetRegionName(v string) *RegionDescription {
 14597  	s.RegionName = &v
 14598  	return s
 14599  }
 14600  
 14601  // SetRegionType sets the RegionType field's value.
 14602  func (s *RegionDescription) SetRegionType(v string) *RegionDescription {
 14603  	s.RegionType = &v
 14604  	return s
 14605  }
 14606  
 14607  // SetStatus sets the Status field's value.
 14608  func (s *RegionDescription) SetStatus(v string) *RegionDescription {
 14609  	s.Status = &v
 14610  	return s
 14611  }
 14612  
 14613  // SetStatusLastUpdatedDateTime sets the StatusLastUpdatedDateTime field's value.
 14614  func (s *RegionDescription) SetStatusLastUpdatedDateTime(v time.Time) *RegionDescription {
 14615  	s.StatusLastUpdatedDateTime = &v
 14616  	return s
 14617  }
 14618  
 14619  // SetVpcSettings sets the VpcSettings field's value.
 14620  func (s *RegionDescription) SetVpcSettings(v *DirectoryVpcSettings) *RegionDescription {
 14621  	s.VpcSettings = v
 14622  	return s
 14623  }
 14624  
 14625  // You have reached the limit for maximum number of simultaneous Region replications
 14626  // per directory.
 14627  type RegionLimitExceededException struct {
 14628  	_            struct{}                  `type:"structure"`
 14629  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 14630  
 14631  	// The descriptive message for the exception.
 14632  	Message_ *string `locationName:"Message" type:"string"`
 14633  
 14634  	// The Amazon Web Services request identifier.
 14635  	RequestId *string `type:"string"`
 14636  }
 14637  
 14638  // String returns the string representation.
 14639  //
 14640  // API parameter values that are decorated as "sensitive" in the API will not
 14641  // be included in the string output. The member name will be present, but the
 14642  // value will be replaced with "sensitive".
 14643  func (s RegionLimitExceededException) String() string {
 14644  	return awsutil.Prettify(s)
 14645  }
 14646  
 14647  // GoString returns the string representation.
 14648  //
 14649  // API parameter values that are decorated as "sensitive" in the API will not
 14650  // be included in the string output. The member name will be present, but the
 14651  // value will be replaced with "sensitive".
 14652  func (s RegionLimitExceededException) GoString() string {
 14653  	return s.String()
 14654  }
 14655  
 14656  func newErrorRegionLimitExceededException(v protocol.ResponseMetadata) error {
 14657  	return &RegionLimitExceededException{
 14658  		RespMetadata: v,
 14659  	}
 14660  }
 14661  
 14662  // Code returns the exception type name.
 14663  func (s *RegionLimitExceededException) Code() string {
 14664  	return "RegionLimitExceededException"
 14665  }
 14666  
 14667  // Message returns the exception's message.
 14668  func (s *RegionLimitExceededException) Message() string {
 14669  	if s.Message_ != nil {
 14670  		return *s.Message_
 14671  	}
 14672  	return ""
 14673  }
 14674  
 14675  // OrigErr always returns nil, satisfies awserr.Error interface.
 14676  func (s *RegionLimitExceededException) OrigErr() error {
 14677  	return nil
 14678  }
 14679  
 14680  func (s *RegionLimitExceededException) Error() string {
 14681  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 14682  }
 14683  
 14684  // Status code returns the HTTP status code for the request's response error.
 14685  func (s *RegionLimitExceededException) StatusCode() int {
 14686  	return s.RespMetadata.StatusCode
 14687  }
 14688  
 14689  // RequestID returns the service's response RequestID for request.
 14690  func (s *RegionLimitExceededException) RequestID() string {
 14691  	return s.RespMetadata.RequestID
 14692  }
 14693  
 14694  // Provides information about the Regions that are configured for multi-Region
 14695  // replication.
 14696  type RegionsInfo struct {
 14697  	_ struct{} `type:"structure"`
 14698  
 14699  	// Lists the Regions where the directory has been replicated, excluding the
 14700  	// primary Region.
 14701  	AdditionalRegions []*string `type:"list"`
 14702  
 14703  	// The Region where the Managed Microsoft AD directory was originally created.
 14704  	PrimaryRegion *string `min:"8" type:"string"`
 14705  }
 14706  
 14707  // String returns the string representation.
 14708  //
 14709  // API parameter values that are decorated as "sensitive" in the API will not
 14710  // be included in the string output. The member name will be present, but the
 14711  // value will be replaced with "sensitive".
 14712  func (s RegionsInfo) String() string {
 14713  	return awsutil.Prettify(s)
 14714  }
 14715  
 14716  // GoString returns the string representation.
 14717  //
 14718  // API parameter values that are decorated as "sensitive" in the API will not
 14719  // be included in the string output. The member name will be present, but the
 14720  // value will be replaced with "sensitive".
 14721  func (s RegionsInfo) GoString() string {
 14722  	return s.String()
 14723  }
 14724  
 14725  // SetAdditionalRegions sets the AdditionalRegions field's value.
 14726  func (s *RegionsInfo) SetAdditionalRegions(v []*string) *RegionsInfo {
 14727  	s.AdditionalRegions = v
 14728  	return s
 14729  }
 14730  
 14731  // SetPrimaryRegion sets the PrimaryRegion field's value.
 14732  func (s *RegionsInfo) SetPrimaryRegion(v string) *RegionsInfo {
 14733  	s.PrimaryRegion = &v
 14734  	return s
 14735  }
 14736  
 14737  type RegisterCertificateInput struct {
 14738  	_ struct{} `type:"structure"`
 14739  
 14740  	// The certificate PEM string that needs to be registered.
 14741  	//
 14742  	// CertificateData is a required field
 14743  	CertificateData *string `min:"1" type:"string" required:"true"`
 14744  
 14745  	// A ClientCertAuthSettings object that contains client certificate authentication
 14746  	// settings.
 14747  	ClientCertAuthSettings *ClientCertAuthSettings `type:"structure"`
 14748  
 14749  	// The identifier of the directory.
 14750  	//
 14751  	// DirectoryId is a required field
 14752  	DirectoryId *string `type:"string" required:"true"`
 14753  
 14754  	// The function that the registered certificate performs. Valid values include
 14755  	// ClientLDAPS or ClientCertAuth. The default value is ClientLDAPS.
 14756  	Type *string `type:"string" enum:"CertificateType"`
 14757  }
 14758  
 14759  // String returns the string representation.
 14760  //
 14761  // API parameter values that are decorated as "sensitive" in the API will not
 14762  // be included in the string output. The member name will be present, but the
 14763  // value will be replaced with "sensitive".
 14764  func (s RegisterCertificateInput) String() string {
 14765  	return awsutil.Prettify(s)
 14766  }
 14767  
 14768  // GoString returns the string representation.
 14769  //
 14770  // API parameter values that are decorated as "sensitive" in the API will not
 14771  // be included in the string output. The member name will be present, but the
 14772  // value will be replaced with "sensitive".
 14773  func (s RegisterCertificateInput) GoString() string {
 14774  	return s.String()
 14775  }
 14776  
 14777  // Validate inspects the fields of the type to determine if they are valid.
 14778  func (s *RegisterCertificateInput) Validate() error {
 14779  	invalidParams := request.ErrInvalidParams{Context: "RegisterCertificateInput"}
 14780  	if s.CertificateData == nil {
 14781  		invalidParams.Add(request.NewErrParamRequired("CertificateData"))
 14782  	}
 14783  	if s.CertificateData != nil && len(*s.CertificateData) < 1 {
 14784  		invalidParams.Add(request.NewErrParamMinLen("CertificateData", 1))
 14785  	}
 14786  	if s.DirectoryId == nil {
 14787  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 14788  	}
 14789  	if s.ClientCertAuthSettings != nil {
 14790  		if err := s.ClientCertAuthSettings.Validate(); err != nil {
 14791  			invalidParams.AddNested("ClientCertAuthSettings", err.(request.ErrInvalidParams))
 14792  		}
 14793  	}
 14794  
 14795  	if invalidParams.Len() > 0 {
 14796  		return invalidParams
 14797  	}
 14798  	return nil
 14799  }
 14800  
 14801  // SetCertificateData sets the CertificateData field's value.
 14802  func (s *RegisterCertificateInput) SetCertificateData(v string) *RegisterCertificateInput {
 14803  	s.CertificateData = &v
 14804  	return s
 14805  }
 14806  
 14807  // SetClientCertAuthSettings sets the ClientCertAuthSettings field's value.
 14808  func (s *RegisterCertificateInput) SetClientCertAuthSettings(v *ClientCertAuthSettings) *RegisterCertificateInput {
 14809  	s.ClientCertAuthSettings = v
 14810  	return s
 14811  }
 14812  
 14813  // SetDirectoryId sets the DirectoryId field's value.
 14814  func (s *RegisterCertificateInput) SetDirectoryId(v string) *RegisterCertificateInput {
 14815  	s.DirectoryId = &v
 14816  	return s
 14817  }
 14818  
 14819  // SetType sets the Type field's value.
 14820  func (s *RegisterCertificateInput) SetType(v string) *RegisterCertificateInput {
 14821  	s.Type = &v
 14822  	return s
 14823  }
 14824  
 14825  type RegisterCertificateOutput struct {
 14826  	_ struct{} `type:"structure"`
 14827  
 14828  	// The identifier of the certificate.
 14829  	CertificateId *string `type:"string"`
 14830  }
 14831  
 14832  // String returns the string representation.
 14833  //
 14834  // API parameter values that are decorated as "sensitive" in the API will not
 14835  // be included in the string output. The member name will be present, but the
 14836  // value will be replaced with "sensitive".
 14837  func (s RegisterCertificateOutput) String() string {
 14838  	return awsutil.Prettify(s)
 14839  }
 14840  
 14841  // GoString returns the string representation.
 14842  //
 14843  // API parameter values that are decorated as "sensitive" in the API will not
 14844  // be included in the string output. The member name will be present, but the
 14845  // value will be replaced with "sensitive".
 14846  func (s RegisterCertificateOutput) GoString() string {
 14847  	return s.String()
 14848  }
 14849  
 14850  // SetCertificateId sets the CertificateId field's value.
 14851  func (s *RegisterCertificateOutput) SetCertificateId(v string) *RegisterCertificateOutput {
 14852  	s.CertificateId = &v
 14853  	return s
 14854  }
 14855  
 14856  // Registers a new event topic.
 14857  type RegisterEventTopicInput struct {
 14858  	_ struct{} `type:"structure"`
 14859  
 14860  	// The Directory ID that will publish status messages to the Amazon SNS topic.
 14861  	//
 14862  	// DirectoryId is a required field
 14863  	DirectoryId *string `type:"string" required:"true"`
 14864  
 14865  	// The Amazon SNS topic name to which the directory will publish status messages.
 14866  	// This Amazon SNS topic must be in the same region as the specified Directory
 14867  	// ID.
 14868  	//
 14869  	// TopicName is a required field
 14870  	TopicName *string `min:"1" type:"string" required:"true"`
 14871  }
 14872  
 14873  // String returns the string representation.
 14874  //
 14875  // API parameter values that are decorated as "sensitive" in the API will not
 14876  // be included in the string output. The member name will be present, but the
 14877  // value will be replaced with "sensitive".
 14878  func (s RegisterEventTopicInput) String() string {
 14879  	return awsutil.Prettify(s)
 14880  }
 14881  
 14882  // GoString returns the string representation.
 14883  //
 14884  // API parameter values that are decorated as "sensitive" in the API will not
 14885  // be included in the string output. The member name will be present, but the
 14886  // value will be replaced with "sensitive".
 14887  func (s RegisterEventTopicInput) GoString() string {
 14888  	return s.String()
 14889  }
 14890  
 14891  // Validate inspects the fields of the type to determine if they are valid.
 14892  func (s *RegisterEventTopicInput) Validate() error {
 14893  	invalidParams := request.ErrInvalidParams{Context: "RegisterEventTopicInput"}
 14894  	if s.DirectoryId == nil {
 14895  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 14896  	}
 14897  	if s.TopicName == nil {
 14898  		invalidParams.Add(request.NewErrParamRequired("TopicName"))
 14899  	}
 14900  	if s.TopicName != nil && len(*s.TopicName) < 1 {
 14901  		invalidParams.Add(request.NewErrParamMinLen("TopicName", 1))
 14902  	}
 14903  
 14904  	if invalidParams.Len() > 0 {
 14905  		return invalidParams
 14906  	}
 14907  	return nil
 14908  }
 14909  
 14910  // SetDirectoryId sets the DirectoryId field's value.
 14911  func (s *RegisterEventTopicInput) SetDirectoryId(v string) *RegisterEventTopicInput {
 14912  	s.DirectoryId = &v
 14913  	return s
 14914  }
 14915  
 14916  // SetTopicName sets the TopicName field's value.
 14917  func (s *RegisterEventTopicInput) SetTopicName(v string) *RegisterEventTopicInput {
 14918  	s.TopicName = &v
 14919  	return s
 14920  }
 14921  
 14922  // The result of a RegisterEventTopic request.
 14923  type RegisterEventTopicOutput struct {
 14924  	_ struct{} `type:"structure"`
 14925  }
 14926  
 14927  // String returns the string representation.
 14928  //
 14929  // API parameter values that are decorated as "sensitive" in the API will not
 14930  // be included in the string output. The member name will be present, but the
 14931  // value will be replaced with "sensitive".
 14932  func (s RegisterEventTopicOutput) String() string {
 14933  	return awsutil.Prettify(s)
 14934  }
 14935  
 14936  // GoString returns the string representation.
 14937  //
 14938  // API parameter values that are decorated as "sensitive" in the API will not
 14939  // be included in the string output. The member name will be present, but the
 14940  // value will be replaced with "sensitive".
 14941  func (s RegisterEventTopicOutput) GoString() string {
 14942  	return s.String()
 14943  }
 14944  
 14945  type RejectSharedDirectoryInput struct {
 14946  	_ struct{} `type:"structure"`
 14947  
 14948  	// Identifier of the shared directory in the directory consumer account. This
 14949  	// identifier is different for each directory owner account.
 14950  	//
 14951  	// SharedDirectoryId is a required field
 14952  	SharedDirectoryId *string `type:"string" required:"true"`
 14953  }
 14954  
 14955  // String returns the string representation.
 14956  //
 14957  // API parameter values that are decorated as "sensitive" in the API will not
 14958  // be included in the string output. The member name will be present, but the
 14959  // value will be replaced with "sensitive".
 14960  func (s RejectSharedDirectoryInput) String() string {
 14961  	return awsutil.Prettify(s)
 14962  }
 14963  
 14964  // GoString returns the string representation.
 14965  //
 14966  // API parameter values that are decorated as "sensitive" in the API will not
 14967  // be included in the string output. The member name will be present, but the
 14968  // value will be replaced with "sensitive".
 14969  func (s RejectSharedDirectoryInput) GoString() string {
 14970  	return s.String()
 14971  }
 14972  
 14973  // Validate inspects the fields of the type to determine if they are valid.
 14974  func (s *RejectSharedDirectoryInput) Validate() error {
 14975  	invalidParams := request.ErrInvalidParams{Context: "RejectSharedDirectoryInput"}
 14976  	if s.SharedDirectoryId == nil {
 14977  		invalidParams.Add(request.NewErrParamRequired("SharedDirectoryId"))
 14978  	}
 14979  
 14980  	if invalidParams.Len() > 0 {
 14981  		return invalidParams
 14982  	}
 14983  	return nil
 14984  }
 14985  
 14986  // SetSharedDirectoryId sets the SharedDirectoryId field's value.
 14987  func (s *RejectSharedDirectoryInput) SetSharedDirectoryId(v string) *RejectSharedDirectoryInput {
 14988  	s.SharedDirectoryId = &v
 14989  	return s
 14990  }
 14991  
 14992  type RejectSharedDirectoryOutput struct {
 14993  	_ struct{} `type:"structure"`
 14994  
 14995  	// Identifier of the shared directory in the directory consumer account.
 14996  	SharedDirectoryId *string `type:"string"`
 14997  }
 14998  
 14999  // String returns the string representation.
 15000  //
 15001  // API parameter values that are decorated as "sensitive" in the API will not
 15002  // be included in the string output. The member name will be present, but the
 15003  // value will be replaced with "sensitive".
 15004  func (s RejectSharedDirectoryOutput) String() string {
 15005  	return awsutil.Prettify(s)
 15006  }
 15007  
 15008  // GoString returns the string representation.
 15009  //
 15010  // API parameter values that are decorated as "sensitive" in the API will not
 15011  // be included in the string output. The member name will be present, but the
 15012  // value will be replaced with "sensitive".
 15013  func (s RejectSharedDirectoryOutput) GoString() string {
 15014  	return s.String()
 15015  }
 15016  
 15017  // SetSharedDirectoryId sets the SharedDirectoryId field's value.
 15018  func (s *RejectSharedDirectoryOutput) SetSharedDirectoryId(v string) *RejectSharedDirectoryOutput {
 15019  	s.SharedDirectoryId = &v
 15020  	return s
 15021  }
 15022  
 15023  type RemoveIpRoutesInput struct {
 15024  	_ struct{} `type:"structure"`
 15025  
 15026  	// IP address blocks that you want to remove.
 15027  	//
 15028  	// CidrIps is a required field
 15029  	CidrIps []*string `type:"list" required:"true"`
 15030  
 15031  	// Identifier (ID) of the directory from which you want to remove the IP addresses.
 15032  	//
 15033  	// DirectoryId is a required field
 15034  	DirectoryId *string `type:"string" required:"true"`
 15035  }
 15036  
 15037  // String returns the string representation.
 15038  //
 15039  // API parameter values that are decorated as "sensitive" in the API will not
 15040  // be included in the string output. The member name will be present, but the
 15041  // value will be replaced with "sensitive".
 15042  func (s RemoveIpRoutesInput) String() string {
 15043  	return awsutil.Prettify(s)
 15044  }
 15045  
 15046  // GoString returns the string representation.
 15047  //
 15048  // API parameter values that are decorated as "sensitive" in the API will not
 15049  // be included in the string output. The member name will be present, but the
 15050  // value will be replaced with "sensitive".
 15051  func (s RemoveIpRoutesInput) GoString() string {
 15052  	return s.String()
 15053  }
 15054  
 15055  // Validate inspects the fields of the type to determine if they are valid.
 15056  func (s *RemoveIpRoutesInput) Validate() error {
 15057  	invalidParams := request.ErrInvalidParams{Context: "RemoveIpRoutesInput"}
 15058  	if s.CidrIps == nil {
 15059  		invalidParams.Add(request.NewErrParamRequired("CidrIps"))
 15060  	}
 15061  	if s.DirectoryId == nil {
 15062  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 15063  	}
 15064  
 15065  	if invalidParams.Len() > 0 {
 15066  		return invalidParams
 15067  	}
 15068  	return nil
 15069  }
 15070  
 15071  // SetCidrIps sets the CidrIps field's value.
 15072  func (s *RemoveIpRoutesInput) SetCidrIps(v []*string) *RemoveIpRoutesInput {
 15073  	s.CidrIps = v
 15074  	return s
 15075  }
 15076  
 15077  // SetDirectoryId sets the DirectoryId field's value.
 15078  func (s *RemoveIpRoutesInput) SetDirectoryId(v string) *RemoveIpRoutesInput {
 15079  	s.DirectoryId = &v
 15080  	return s
 15081  }
 15082  
 15083  type RemoveIpRoutesOutput struct {
 15084  	_ struct{} `type:"structure"`
 15085  }
 15086  
 15087  // String returns the string representation.
 15088  //
 15089  // API parameter values that are decorated as "sensitive" in the API will not
 15090  // be included in the string output. The member name will be present, but the
 15091  // value will be replaced with "sensitive".
 15092  func (s RemoveIpRoutesOutput) String() string {
 15093  	return awsutil.Prettify(s)
 15094  }
 15095  
 15096  // GoString returns the string representation.
 15097  //
 15098  // API parameter values that are decorated as "sensitive" in the API will not
 15099  // be included in the string output. The member name will be present, but the
 15100  // value will be replaced with "sensitive".
 15101  func (s RemoveIpRoutesOutput) GoString() string {
 15102  	return s.String()
 15103  }
 15104  
 15105  type RemoveRegionInput struct {
 15106  	_ struct{} `type:"structure"`
 15107  
 15108  	// The identifier of the directory for which you want to remove Region replication.
 15109  	//
 15110  	// DirectoryId is a required field
 15111  	DirectoryId *string `type:"string" required:"true"`
 15112  }
 15113  
 15114  // String returns the string representation.
 15115  //
 15116  // API parameter values that are decorated as "sensitive" in the API will not
 15117  // be included in the string output. The member name will be present, but the
 15118  // value will be replaced with "sensitive".
 15119  func (s RemoveRegionInput) String() string {
 15120  	return awsutil.Prettify(s)
 15121  }
 15122  
 15123  // GoString returns the string representation.
 15124  //
 15125  // API parameter values that are decorated as "sensitive" in the API will not
 15126  // be included in the string output. The member name will be present, but the
 15127  // value will be replaced with "sensitive".
 15128  func (s RemoveRegionInput) GoString() string {
 15129  	return s.String()
 15130  }
 15131  
 15132  // Validate inspects the fields of the type to determine if they are valid.
 15133  func (s *RemoveRegionInput) Validate() error {
 15134  	invalidParams := request.ErrInvalidParams{Context: "RemoveRegionInput"}
 15135  	if s.DirectoryId == nil {
 15136  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 15137  	}
 15138  
 15139  	if invalidParams.Len() > 0 {
 15140  		return invalidParams
 15141  	}
 15142  	return nil
 15143  }
 15144  
 15145  // SetDirectoryId sets the DirectoryId field's value.
 15146  func (s *RemoveRegionInput) SetDirectoryId(v string) *RemoveRegionInput {
 15147  	s.DirectoryId = &v
 15148  	return s
 15149  }
 15150  
 15151  type RemoveRegionOutput struct {
 15152  	_ struct{} `type:"structure"`
 15153  }
 15154  
 15155  // String returns the string representation.
 15156  //
 15157  // API parameter values that are decorated as "sensitive" in the API will not
 15158  // be included in the string output. The member name will be present, but the
 15159  // value will be replaced with "sensitive".
 15160  func (s RemoveRegionOutput) String() string {
 15161  	return awsutil.Prettify(s)
 15162  }
 15163  
 15164  // GoString returns the string representation.
 15165  //
 15166  // API parameter values that are decorated as "sensitive" in the API will not
 15167  // be included in the string output. The member name will be present, but the
 15168  // value will be replaced with "sensitive".
 15169  func (s RemoveRegionOutput) GoString() string {
 15170  	return s.String()
 15171  }
 15172  
 15173  type RemoveTagsFromResourceInput struct {
 15174  	_ struct{} `type:"structure"`
 15175  
 15176  	// Identifier (ID) of the directory from which to remove the tag.
 15177  	//
 15178  	// ResourceId is a required field
 15179  	ResourceId *string `type:"string" required:"true"`
 15180  
 15181  	// The tag key (name) of the tag to be removed.
 15182  	//
 15183  	// TagKeys is a required field
 15184  	TagKeys []*string `type:"list" required:"true"`
 15185  }
 15186  
 15187  // String returns the string representation.
 15188  //
 15189  // API parameter values that are decorated as "sensitive" in the API will not
 15190  // be included in the string output. The member name will be present, but the
 15191  // value will be replaced with "sensitive".
 15192  func (s RemoveTagsFromResourceInput) String() string {
 15193  	return awsutil.Prettify(s)
 15194  }
 15195  
 15196  // GoString returns the string representation.
 15197  //
 15198  // API parameter values that are decorated as "sensitive" in the API will not
 15199  // be included in the string output. The member name will be present, but the
 15200  // value will be replaced with "sensitive".
 15201  func (s RemoveTagsFromResourceInput) GoString() string {
 15202  	return s.String()
 15203  }
 15204  
 15205  // Validate inspects the fields of the type to determine if they are valid.
 15206  func (s *RemoveTagsFromResourceInput) Validate() error {
 15207  	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
 15208  	if s.ResourceId == nil {
 15209  		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
 15210  	}
 15211  	if s.TagKeys == nil {
 15212  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 15213  	}
 15214  
 15215  	if invalidParams.Len() > 0 {
 15216  		return invalidParams
 15217  	}
 15218  	return nil
 15219  }
 15220  
 15221  // SetResourceId sets the ResourceId field's value.
 15222  func (s *RemoveTagsFromResourceInput) SetResourceId(v string) *RemoveTagsFromResourceInput {
 15223  	s.ResourceId = &v
 15224  	return s
 15225  }
 15226  
 15227  // SetTagKeys sets the TagKeys field's value.
 15228  func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
 15229  	s.TagKeys = v
 15230  	return s
 15231  }
 15232  
 15233  type RemoveTagsFromResourceOutput struct {
 15234  	_ struct{} `type:"structure"`
 15235  }
 15236  
 15237  // String returns the string representation.
 15238  //
 15239  // API parameter values that are decorated as "sensitive" in the API will not
 15240  // be included in the string output. The member name will be present, but the
 15241  // value will be replaced with "sensitive".
 15242  func (s RemoveTagsFromResourceOutput) String() string {
 15243  	return awsutil.Prettify(s)
 15244  }
 15245  
 15246  // GoString returns the string representation.
 15247  //
 15248  // API parameter values that are decorated as "sensitive" in the API will not
 15249  // be included in the string output. The member name will be present, but the
 15250  // value will be replaced with "sensitive".
 15251  func (s RemoveTagsFromResourceOutput) GoString() string {
 15252  	return s.String()
 15253  }
 15254  
 15255  type ResetUserPasswordInput struct {
 15256  	_ struct{} `type:"structure"`
 15257  
 15258  	// Identifier of the Managed Microsoft AD or Simple AD directory in which the
 15259  	// user resides.
 15260  	//
 15261  	// DirectoryId is a required field
 15262  	DirectoryId *string `type:"string" required:"true"`
 15263  
 15264  	// The new password that will be reset.
 15265  	//
 15266  	// NewPassword is a sensitive parameter and its value will be
 15267  	// replaced with "sensitive" in string returned by ResetUserPasswordInput's
 15268  	// String and GoString methods.
 15269  	//
 15270  	// NewPassword is a required field
 15271  	NewPassword *string `min:"1" type:"string" required:"true" sensitive:"true"`
 15272  
 15273  	// The user name of the user whose password will be reset.
 15274  	//
 15275  	// UserName is a required field
 15276  	UserName *string `min:"1" type:"string" required:"true"`
 15277  }
 15278  
 15279  // String returns the string representation.
 15280  //
 15281  // API parameter values that are decorated as "sensitive" in the API will not
 15282  // be included in the string output. The member name will be present, but the
 15283  // value will be replaced with "sensitive".
 15284  func (s ResetUserPasswordInput) String() string {
 15285  	return awsutil.Prettify(s)
 15286  }
 15287  
 15288  // GoString returns the string representation.
 15289  //
 15290  // API parameter values that are decorated as "sensitive" in the API will not
 15291  // be included in the string output. The member name will be present, but the
 15292  // value will be replaced with "sensitive".
 15293  func (s ResetUserPasswordInput) GoString() string {
 15294  	return s.String()
 15295  }
 15296  
 15297  // Validate inspects the fields of the type to determine if they are valid.
 15298  func (s *ResetUserPasswordInput) Validate() error {
 15299  	invalidParams := request.ErrInvalidParams{Context: "ResetUserPasswordInput"}
 15300  	if s.DirectoryId == nil {
 15301  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 15302  	}
 15303  	if s.NewPassword == nil {
 15304  		invalidParams.Add(request.NewErrParamRequired("NewPassword"))
 15305  	}
 15306  	if s.NewPassword != nil && len(*s.NewPassword) < 1 {
 15307  		invalidParams.Add(request.NewErrParamMinLen("NewPassword", 1))
 15308  	}
 15309  	if s.UserName == nil {
 15310  		invalidParams.Add(request.NewErrParamRequired("UserName"))
 15311  	}
 15312  	if s.UserName != nil && len(*s.UserName) < 1 {
 15313  		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
 15314  	}
 15315  
 15316  	if invalidParams.Len() > 0 {
 15317  		return invalidParams
 15318  	}
 15319  	return nil
 15320  }
 15321  
 15322  // SetDirectoryId sets the DirectoryId field's value.
 15323  func (s *ResetUserPasswordInput) SetDirectoryId(v string) *ResetUserPasswordInput {
 15324  	s.DirectoryId = &v
 15325  	return s
 15326  }
 15327  
 15328  // SetNewPassword sets the NewPassword field's value.
 15329  func (s *ResetUserPasswordInput) SetNewPassword(v string) *ResetUserPasswordInput {
 15330  	s.NewPassword = &v
 15331  	return s
 15332  }
 15333  
 15334  // SetUserName sets the UserName field's value.
 15335  func (s *ResetUserPasswordInput) SetUserName(v string) *ResetUserPasswordInput {
 15336  	s.UserName = &v
 15337  	return s
 15338  }
 15339  
 15340  type ResetUserPasswordOutput struct {
 15341  	_ struct{} `type:"structure"`
 15342  }
 15343  
 15344  // String returns the string representation.
 15345  //
 15346  // API parameter values that are decorated as "sensitive" in the API will not
 15347  // be included in the string output. The member name will be present, but the
 15348  // value will be replaced with "sensitive".
 15349  func (s ResetUserPasswordOutput) String() string {
 15350  	return awsutil.Prettify(s)
 15351  }
 15352  
 15353  // GoString returns the string representation.
 15354  //
 15355  // API parameter values that are decorated as "sensitive" in the API will not
 15356  // be included in the string output. The member name will be present, but the
 15357  // value will be replaced with "sensitive".
 15358  func (s ResetUserPasswordOutput) GoString() string {
 15359  	return s.String()
 15360  }
 15361  
 15362  // An object representing the inputs for the RestoreFromSnapshot operation.
 15363  type RestoreFromSnapshotInput struct {
 15364  	_ struct{} `type:"structure"`
 15365  
 15366  	// The identifier of the snapshot to restore from.
 15367  	//
 15368  	// SnapshotId is a required field
 15369  	SnapshotId *string `type:"string" required:"true"`
 15370  }
 15371  
 15372  // String returns the string representation.
 15373  //
 15374  // API parameter values that are decorated as "sensitive" in the API will not
 15375  // be included in the string output. The member name will be present, but the
 15376  // value will be replaced with "sensitive".
 15377  func (s RestoreFromSnapshotInput) String() string {
 15378  	return awsutil.Prettify(s)
 15379  }
 15380  
 15381  // GoString returns the string representation.
 15382  //
 15383  // API parameter values that are decorated as "sensitive" in the API will not
 15384  // be included in the string output. The member name will be present, but the
 15385  // value will be replaced with "sensitive".
 15386  func (s RestoreFromSnapshotInput) GoString() string {
 15387  	return s.String()
 15388  }
 15389  
 15390  // Validate inspects the fields of the type to determine if they are valid.
 15391  func (s *RestoreFromSnapshotInput) Validate() error {
 15392  	invalidParams := request.ErrInvalidParams{Context: "RestoreFromSnapshotInput"}
 15393  	if s.SnapshotId == nil {
 15394  		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
 15395  	}
 15396  
 15397  	if invalidParams.Len() > 0 {
 15398  		return invalidParams
 15399  	}
 15400  	return nil
 15401  }
 15402  
 15403  // SetSnapshotId sets the SnapshotId field's value.
 15404  func (s *RestoreFromSnapshotInput) SetSnapshotId(v string) *RestoreFromSnapshotInput {
 15405  	s.SnapshotId = &v
 15406  	return s
 15407  }
 15408  
 15409  // Contains the results of the RestoreFromSnapshot operation.
 15410  type RestoreFromSnapshotOutput struct {
 15411  	_ struct{} `type:"structure"`
 15412  }
 15413  
 15414  // String returns the string representation.
 15415  //
 15416  // API parameter values that are decorated as "sensitive" in the API will not
 15417  // be included in the string output. The member name will be present, but the
 15418  // value will be replaced with "sensitive".
 15419  func (s RestoreFromSnapshotOutput) String() string {
 15420  	return awsutil.Prettify(s)
 15421  }
 15422  
 15423  // GoString returns the string representation.
 15424  //
 15425  // API parameter values that are decorated as "sensitive" in the API will not
 15426  // be included in the string output. The member name will be present, but the
 15427  // value will be replaced with "sensitive".
 15428  func (s RestoreFromSnapshotOutput) GoString() string {
 15429  	return s.String()
 15430  }
 15431  
 15432  // Information about a schema extension.
 15433  type SchemaExtensionInfo struct {
 15434  	_ struct{} `type:"structure"`
 15435  
 15436  	// A description of the schema extension.
 15437  	Description *string `type:"string"`
 15438  
 15439  	// The identifier of the directory to which the schema extension is applied.
 15440  	DirectoryId *string `type:"string"`
 15441  
 15442  	// The date and time that the schema extension was completed.
 15443  	EndDateTime *time.Time `type:"timestamp"`
 15444  
 15445  	// The identifier of the schema extension.
 15446  	SchemaExtensionId *string `type:"string"`
 15447  
 15448  	// The current status of the schema extension.
 15449  	SchemaExtensionStatus *string `type:"string" enum:"SchemaExtensionStatus"`
 15450  
 15451  	// The reason for the SchemaExtensionStatus.
 15452  	SchemaExtensionStatusReason *string `type:"string"`
 15453  
 15454  	// The date and time that the schema extension started being applied to the
 15455  	// directory.
 15456  	StartDateTime *time.Time `type:"timestamp"`
 15457  }
 15458  
 15459  // String returns the string representation.
 15460  //
 15461  // API parameter values that are decorated as "sensitive" in the API will not
 15462  // be included in the string output. The member name will be present, but the
 15463  // value will be replaced with "sensitive".
 15464  func (s SchemaExtensionInfo) String() string {
 15465  	return awsutil.Prettify(s)
 15466  }
 15467  
 15468  // GoString returns the string representation.
 15469  //
 15470  // API parameter values that are decorated as "sensitive" in the API will not
 15471  // be included in the string output. The member name will be present, but the
 15472  // value will be replaced with "sensitive".
 15473  func (s SchemaExtensionInfo) GoString() string {
 15474  	return s.String()
 15475  }
 15476  
 15477  // SetDescription sets the Description field's value.
 15478  func (s *SchemaExtensionInfo) SetDescription(v string) *SchemaExtensionInfo {
 15479  	s.Description = &v
 15480  	return s
 15481  }
 15482  
 15483  // SetDirectoryId sets the DirectoryId field's value.
 15484  func (s *SchemaExtensionInfo) SetDirectoryId(v string) *SchemaExtensionInfo {
 15485  	s.DirectoryId = &v
 15486  	return s
 15487  }
 15488  
 15489  // SetEndDateTime sets the EndDateTime field's value.
 15490  func (s *SchemaExtensionInfo) SetEndDateTime(v time.Time) *SchemaExtensionInfo {
 15491  	s.EndDateTime = &v
 15492  	return s
 15493  }
 15494  
 15495  // SetSchemaExtensionId sets the SchemaExtensionId field's value.
 15496  func (s *SchemaExtensionInfo) SetSchemaExtensionId(v string) *SchemaExtensionInfo {
 15497  	s.SchemaExtensionId = &v
 15498  	return s
 15499  }
 15500  
 15501  // SetSchemaExtensionStatus sets the SchemaExtensionStatus field's value.
 15502  func (s *SchemaExtensionInfo) SetSchemaExtensionStatus(v string) *SchemaExtensionInfo {
 15503  	s.SchemaExtensionStatus = &v
 15504  	return s
 15505  }
 15506  
 15507  // SetSchemaExtensionStatusReason sets the SchemaExtensionStatusReason field's value.
 15508  func (s *SchemaExtensionInfo) SetSchemaExtensionStatusReason(v string) *SchemaExtensionInfo {
 15509  	s.SchemaExtensionStatusReason = &v
 15510  	return s
 15511  }
 15512  
 15513  // SetStartDateTime sets the StartDateTime field's value.
 15514  func (s *SchemaExtensionInfo) SetStartDateTime(v time.Time) *SchemaExtensionInfo {
 15515  	s.StartDateTime = &v
 15516  	return s
 15517  }
 15518  
 15519  // An exception has occurred in Directory Service.
 15520  type ServiceException struct {
 15521  	_            struct{}                  `type:"structure"`
 15522  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15523  
 15524  	// The descriptive message for the exception.
 15525  	Message_ *string `locationName:"Message" type:"string"`
 15526  
 15527  	// The Amazon Web Services request identifier.
 15528  	RequestId *string `type:"string"`
 15529  }
 15530  
 15531  // String returns the string representation.
 15532  //
 15533  // API parameter values that are decorated as "sensitive" in the API will not
 15534  // be included in the string output. The member name will be present, but the
 15535  // value will be replaced with "sensitive".
 15536  func (s ServiceException) String() string {
 15537  	return awsutil.Prettify(s)
 15538  }
 15539  
 15540  // GoString returns the string representation.
 15541  //
 15542  // API parameter values that are decorated as "sensitive" in the API will not
 15543  // be included in the string output. The member name will be present, but the
 15544  // value will be replaced with "sensitive".
 15545  func (s ServiceException) GoString() string {
 15546  	return s.String()
 15547  }
 15548  
 15549  func newErrorServiceException(v protocol.ResponseMetadata) error {
 15550  	return &ServiceException{
 15551  		RespMetadata: v,
 15552  	}
 15553  }
 15554  
 15555  // Code returns the exception type name.
 15556  func (s *ServiceException) Code() string {
 15557  	return "ServiceException"
 15558  }
 15559  
 15560  // Message returns the exception's message.
 15561  func (s *ServiceException) Message() string {
 15562  	if s.Message_ != nil {
 15563  		return *s.Message_
 15564  	}
 15565  	return ""
 15566  }
 15567  
 15568  // OrigErr always returns nil, satisfies awserr.Error interface.
 15569  func (s *ServiceException) OrigErr() error {
 15570  	return nil
 15571  }
 15572  
 15573  func (s *ServiceException) Error() string {
 15574  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 15575  }
 15576  
 15577  // Status code returns the HTTP status code for the request's response error.
 15578  func (s *ServiceException) StatusCode() int {
 15579  	return s.RespMetadata.StatusCode
 15580  }
 15581  
 15582  // RequestID returns the service's response RequestID for request.
 15583  func (s *ServiceException) RequestID() string {
 15584  	return s.RespMetadata.RequestID
 15585  }
 15586  
 15587  type ShareDirectoryInput struct {
 15588  	_ struct{} `type:"structure"`
 15589  
 15590  	// Identifier of the Managed Microsoft AD directory that you want to share with
 15591  	// other Amazon Web Services accounts.
 15592  	//
 15593  	// DirectoryId is a required field
 15594  	DirectoryId *string `type:"string" required:"true"`
 15595  
 15596  	// The method used when sharing a directory to determine whether the directory
 15597  	// should be shared within your Amazon Web Services organization (ORGANIZATIONS)
 15598  	// or with any Amazon Web Services account by sending a directory sharing request
 15599  	// (HANDSHAKE).
 15600  	//
 15601  	// ShareMethod is a required field
 15602  	ShareMethod *string `type:"string" required:"true" enum:"ShareMethod"`
 15603  
 15604  	// A directory share request that is sent by the directory owner to the directory
 15605  	// consumer. The request includes a typed message to help the directory consumer
 15606  	// administrator determine whether to approve or reject the share invitation.
 15607  	//
 15608  	// ShareNotes is a sensitive parameter and its value will be
 15609  	// replaced with "sensitive" in string returned by ShareDirectoryInput's
 15610  	// String and GoString methods.
 15611  	ShareNotes *string `type:"string" sensitive:"true"`
 15612  
 15613  	// Identifier for the directory consumer account with whom the directory is
 15614  	// to be shared.
 15615  	//
 15616  	// ShareTarget is a required field
 15617  	ShareTarget *ShareTarget `type:"structure" required:"true"`
 15618  }
 15619  
 15620  // String returns the string representation.
 15621  //
 15622  // API parameter values that are decorated as "sensitive" in the API will not
 15623  // be included in the string output. The member name will be present, but the
 15624  // value will be replaced with "sensitive".
 15625  func (s ShareDirectoryInput) String() string {
 15626  	return awsutil.Prettify(s)
 15627  }
 15628  
 15629  // GoString returns the string representation.
 15630  //
 15631  // API parameter values that are decorated as "sensitive" in the API will not
 15632  // be included in the string output. The member name will be present, but the
 15633  // value will be replaced with "sensitive".
 15634  func (s ShareDirectoryInput) GoString() string {
 15635  	return s.String()
 15636  }
 15637  
 15638  // Validate inspects the fields of the type to determine if they are valid.
 15639  func (s *ShareDirectoryInput) Validate() error {
 15640  	invalidParams := request.ErrInvalidParams{Context: "ShareDirectoryInput"}
 15641  	if s.DirectoryId == nil {
 15642  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 15643  	}
 15644  	if s.ShareMethod == nil {
 15645  		invalidParams.Add(request.NewErrParamRequired("ShareMethod"))
 15646  	}
 15647  	if s.ShareTarget == nil {
 15648  		invalidParams.Add(request.NewErrParamRequired("ShareTarget"))
 15649  	}
 15650  	if s.ShareTarget != nil {
 15651  		if err := s.ShareTarget.Validate(); err != nil {
 15652  			invalidParams.AddNested("ShareTarget", err.(request.ErrInvalidParams))
 15653  		}
 15654  	}
 15655  
 15656  	if invalidParams.Len() > 0 {
 15657  		return invalidParams
 15658  	}
 15659  	return nil
 15660  }
 15661  
 15662  // SetDirectoryId sets the DirectoryId field's value.
 15663  func (s *ShareDirectoryInput) SetDirectoryId(v string) *ShareDirectoryInput {
 15664  	s.DirectoryId = &v
 15665  	return s
 15666  }
 15667  
 15668  // SetShareMethod sets the ShareMethod field's value.
 15669  func (s *ShareDirectoryInput) SetShareMethod(v string) *ShareDirectoryInput {
 15670  	s.ShareMethod = &v
 15671  	return s
 15672  }
 15673  
 15674  // SetShareNotes sets the ShareNotes field's value.
 15675  func (s *ShareDirectoryInput) SetShareNotes(v string) *ShareDirectoryInput {
 15676  	s.ShareNotes = &v
 15677  	return s
 15678  }
 15679  
 15680  // SetShareTarget sets the ShareTarget field's value.
 15681  func (s *ShareDirectoryInput) SetShareTarget(v *ShareTarget) *ShareDirectoryInput {
 15682  	s.ShareTarget = v
 15683  	return s
 15684  }
 15685  
 15686  type ShareDirectoryOutput struct {
 15687  	_ struct{} `type:"structure"`
 15688  
 15689  	// Identifier of the directory that is stored in the directory consumer account
 15690  	// that is shared from the specified directory (DirectoryId).
 15691  	SharedDirectoryId *string `type:"string"`
 15692  }
 15693  
 15694  // String returns the string representation.
 15695  //
 15696  // API parameter values that are decorated as "sensitive" in the API will not
 15697  // be included in the string output. The member name will be present, but the
 15698  // value will be replaced with "sensitive".
 15699  func (s ShareDirectoryOutput) String() string {
 15700  	return awsutil.Prettify(s)
 15701  }
 15702  
 15703  // GoString returns the string representation.
 15704  //
 15705  // API parameter values that are decorated as "sensitive" in the API will not
 15706  // be included in the string output. The member name will be present, but the
 15707  // value will be replaced with "sensitive".
 15708  func (s ShareDirectoryOutput) GoString() string {
 15709  	return s.String()
 15710  }
 15711  
 15712  // SetSharedDirectoryId sets the SharedDirectoryId field's value.
 15713  func (s *ShareDirectoryOutput) SetSharedDirectoryId(v string) *ShareDirectoryOutput {
 15714  	s.SharedDirectoryId = &v
 15715  	return s
 15716  }
 15717  
 15718  // The maximum number of Amazon Web Services accounts that you can share with
 15719  // this directory has been reached.
 15720  type ShareLimitExceededException struct {
 15721  	_            struct{}                  `type:"structure"`
 15722  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15723  
 15724  	// The descriptive message for the exception.
 15725  	Message_ *string `locationName:"Message" type:"string"`
 15726  
 15727  	// The Amazon Web Services request identifier.
 15728  	RequestId *string `type:"string"`
 15729  }
 15730  
 15731  // String returns the string representation.
 15732  //
 15733  // API parameter values that are decorated as "sensitive" in the API will not
 15734  // be included in the string output. The member name will be present, but the
 15735  // value will be replaced with "sensitive".
 15736  func (s ShareLimitExceededException) String() string {
 15737  	return awsutil.Prettify(s)
 15738  }
 15739  
 15740  // GoString returns the string representation.
 15741  //
 15742  // API parameter values that are decorated as "sensitive" in the API will not
 15743  // be included in the string output. The member name will be present, but the
 15744  // value will be replaced with "sensitive".
 15745  func (s ShareLimitExceededException) GoString() string {
 15746  	return s.String()
 15747  }
 15748  
 15749  func newErrorShareLimitExceededException(v protocol.ResponseMetadata) error {
 15750  	return &ShareLimitExceededException{
 15751  		RespMetadata: v,
 15752  	}
 15753  }
 15754  
 15755  // Code returns the exception type name.
 15756  func (s *ShareLimitExceededException) Code() string {
 15757  	return "ShareLimitExceededException"
 15758  }
 15759  
 15760  // Message returns the exception's message.
 15761  func (s *ShareLimitExceededException) Message() string {
 15762  	if s.Message_ != nil {
 15763  		return *s.Message_
 15764  	}
 15765  	return ""
 15766  }
 15767  
 15768  // OrigErr always returns nil, satisfies awserr.Error interface.
 15769  func (s *ShareLimitExceededException) OrigErr() error {
 15770  	return nil
 15771  }
 15772  
 15773  func (s *ShareLimitExceededException) Error() string {
 15774  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 15775  }
 15776  
 15777  // Status code returns the HTTP status code for the request's response error.
 15778  func (s *ShareLimitExceededException) StatusCode() int {
 15779  	return s.RespMetadata.StatusCode
 15780  }
 15781  
 15782  // RequestID returns the service's response RequestID for request.
 15783  func (s *ShareLimitExceededException) RequestID() string {
 15784  	return s.RespMetadata.RequestID
 15785  }
 15786  
 15787  // Identifier that contains details about the directory consumer account.
 15788  type ShareTarget struct {
 15789  	_ struct{} `type:"structure"`
 15790  
 15791  	// Identifier of the directory consumer account.
 15792  	//
 15793  	// Id is a required field
 15794  	Id *string `min:"1" type:"string" required:"true"`
 15795  
 15796  	// Type of identifier to be used in the Id field.
 15797  	//
 15798  	// Type is a required field
 15799  	Type *string `type:"string" required:"true" enum:"TargetType"`
 15800  }
 15801  
 15802  // String returns the string representation.
 15803  //
 15804  // API parameter values that are decorated as "sensitive" in the API will not
 15805  // be included in the string output. The member name will be present, but the
 15806  // value will be replaced with "sensitive".
 15807  func (s ShareTarget) String() string {
 15808  	return awsutil.Prettify(s)
 15809  }
 15810  
 15811  // GoString returns the string representation.
 15812  //
 15813  // API parameter values that are decorated as "sensitive" in the API will not
 15814  // be included in the string output. The member name will be present, but the
 15815  // value will be replaced with "sensitive".
 15816  func (s ShareTarget) GoString() string {
 15817  	return s.String()
 15818  }
 15819  
 15820  // Validate inspects the fields of the type to determine if they are valid.
 15821  func (s *ShareTarget) Validate() error {
 15822  	invalidParams := request.ErrInvalidParams{Context: "ShareTarget"}
 15823  	if s.Id == nil {
 15824  		invalidParams.Add(request.NewErrParamRequired("Id"))
 15825  	}
 15826  	if s.Id != nil && len(*s.Id) < 1 {
 15827  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 15828  	}
 15829  	if s.Type == nil {
 15830  		invalidParams.Add(request.NewErrParamRequired("Type"))
 15831  	}
 15832  
 15833  	if invalidParams.Len() > 0 {
 15834  		return invalidParams
 15835  	}
 15836  	return nil
 15837  }
 15838  
 15839  // SetId sets the Id field's value.
 15840  func (s *ShareTarget) SetId(v string) *ShareTarget {
 15841  	s.Id = &v
 15842  	return s
 15843  }
 15844  
 15845  // SetType sets the Type field's value.
 15846  func (s *ShareTarget) SetType(v string) *ShareTarget {
 15847  	s.Type = &v
 15848  	return s
 15849  }
 15850  
 15851  // Details about the shared directory in the directory owner account for which
 15852  // the share request in the directory consumer account has been accepted.
 15853  type SharedDirectory struct {
 15854  	_ struct{} `type:"structure"`
 15855  
 15856  	// The date and time that the shared directory was created.
 15857  	CreatedDateTime *time.Time `type:"timestamp"`
 15858  
 15859  	// The date and time that the shared directory was last updated.
 15860  	LastUpdatedDateTime *time.Time `type:"timestamp"`
 15861  
 15862  	// Identifier of the directory owner account, which contains the directory that
 15863  	// has been shared to the consumer account.
 15864  	OwnerAccountId *string `type:"string"`
 15865  
 15866  	// Identifier of the directory in the directory owner account.
 15867  	OwnerDirectoryId *string `type:"string"`
 15868  
 15869  	// The method used when sharing a directory to determine whether the directory
 15870  	// should be shared within your Amazon Web Services organization (ORGANIZATIONS)
 15871  	// or with any Amazon Web Services account by sending a shared directory request
 15872  	// (HANDSHAKE).
 15873  	ShareMethod *string `type:"string" enum:"ShareMethod"`
 15874  
 15875  	// A directory share request that is sent by the directory owner to the directory
 15876  	// consumer. The request includes a typed message to help the directory consumer
 15877  	// administrator determine whether to approve or reject the share invitation.
 15878  	//
 15879  	// ShareNotes is a sensitive parameter and its value will be
 15880  	// replaced with "sensitive" in string returned by SharedDirectory's
 15881  	// String and GoString methods.
 15882  	ShareNotes *string `type:"string" sensitive:"true"`
 15883  
 15884  	// Current directory status of the shared Managed Microsoft AD directory.
 15885  	ShareStatus *string `type:"string" enum:"ShareStatus"`
 15886  
 15887  	// Identifier of the directory consumer account that has access to the shared
 15888  	// directory (OwnerDirectoryId) in the directory owner account.
 15889  	SharedAccountId *string `type:"string"`
 15890  
 15891  	// Identifier of the shared directory in the directory consumer account. This
 15892  	// identifier is different for each directory owner account.
 15893  	SharedDirectoryId *string `type:"string"`
 15894  }
 15895  
 15896  // String returns the string representation.
 15897  //
 15898  // API parameter values that are decorated as "sensitive" in the API will not
 15899  // be included in the string output. The member name will be present, but the
 15900  // value will be replaced with "sensitive".
 15901  func (s SharedDirectory) String() string {
 15902  	return awsutil.Prettify(s)
 15903  }
 15904  
 15905  // GoString returns the string representation.
 15906  //
 15907  // API parameter values that are decorated as "sensitive" in the API will not
 15908  // be included in the string output. The member name will be present, but the
 15909  // value will be replaced with "sensitive".
 15910  func (s SharedDirectory) GoString() string {
 15911  	return s.String()
 15912  }
 15913  
 15914  // SetCreatedDateTime sets the CreatedDateTime field's value.
 15915  func (s *SharedDirectory) SetCreatedDateTime(v time.Time) *SharedDirectory {
 15916  	s.CreatedDateTime = &v
 15917  	return s
 15918  }
 15919  
 15920  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 15921  func (s *SharedDirectory) SetLastUpdatedDateTime(v time.Time) *SharedDirectory {
 15922  	s.LastUpdatedDateTime = &v
 15923  	return s
 15924  }
 15925  
 15926  // SetOwnerAccountId sets the OwnerAccountId field's value.
 15927  func (s *SharedDirectory) SetOwnerAccountId(v string) *SharedDirectory {
 15928  	s.OwnerAccountId = &v
 15929  	return s
 15930  }
 15931  
 15932  // SetOwnerDirectoryId sets the OwnerDirectoryId field's value.
 15933  func (s *SharedDirectory) SetOwnerDirectoryId(v string) *SharedDirectory {
 15934  	s.OwnerDirectoryId = &v
 15935  	return s
 15936  }
 15937  
 15938  // SetShareMethod sets the ShareMethod field's value.
 15939  func (s *SharedDirectory) SetShareMethod(v string) *SharedDirectory {
 15940  	s.ShareMethod = &v
 15941  	return s
 15942  }
 15943  
 15944  // SetShareNotes sets the ShareNotes field's value.
 15945  func (s *SharedDirectory) SetShareNotes(v string) *SharedDirectory {
 15946  	s.ShareNotes = &v
 15947  	return s
 15948  }
 15949  
 15950  // SetShareStatus sets the ShareStatus field's value.
 15951  func (s *SharedDirectory) SetShareStatus(v string) *SharedDirectory {
 15952  	s.ShareStatus = &v
 15953  	return s
 15954  }
 15955  
 15956  // SetSharedAccountId sets the SharedAccountId field's value.
 15957  func (s *SharedDirectory) SetSharedAccountId(v string) *SharedDirectory {
 15958  	s.SharedAccountId = &v
 15959  	return s
 15960  }
 15961  
 15962  // SetSharedDirectoryId sets the SharedDirectoryId field's value.
 15963  func (s *SharedDirectory) SetSharedDirectoryId(v string) *SharedDirectory {
 15964  	s.SharedDirectoryId = &v
 15965  	return s
 15966  }
 15967  
 15968  // Describes a directory snapshot.
 15969  type Snapshot struct {
 15970  	_ struct{} `type:"structure"`
 15971  
 15972  	// The directory identifier.
 15973  	DirectoryId *string `type:"string"`
 15974  
 15975  	// The descriptive name of the snapshot.
 15976  	Name *string `type:"string"`
 15977  
 15978  	// The snapshot identifier.
 15979  	SnapshotId *string `type:"string"`
 15980  
 15981  	// The date and time that the snapshot was taken.
 15982  	StartTime *time.Time `type:"timestamp"`
 15983  
 15984  	// The snapshot status.
 15985  	Status *string `type:"string" enum:"SnapshotStatus"`
 15986  
 15987  	// The snapshot type.
 15988  	Type *string `type:"string" enum:"SnapshotType"`
 15989  }
 15990  
 15991  // String returns the string representation.
 15992  //
 15993  // API parameter values that are decorated as "sensitive" in the API will not
 15994  // be included in the string output. The member name will be present, but the
 15995  // value will be replaced with "sensitive".
 15996  func (s Snapshot) String() string {
 15997  	return awsutil.Prettify(s)
 15998  }
 15999  
 16000  // GoString returns the string representation.
 16001  //
 16002  // API parameter values that are decorated as "sensitive" in the API will not
 16003  // be included in the string output. The member name will be present, but the
 16004  // value will be replaced with "sensitive".
 16005  func (s Snapshot) GoString() string {
 16006  	return s.String()
 16007  }
 16008  
 16009  // SetDirectoryId sets the DirectoryId field's value.
 16010  func (s *Snapshot) SetDirectoryId(v string) *Snapshot {
 16011  	s.DirectoryId = &v
 16012  	return s
 16013  }
 16014  
 16015  // SetName sets the Name field's value.
 16016  func (s *Snapshot) SetName(v string) *Snapshot {
 16017  	s.Name = &v
 16018  	return s
 16019  }
 16020  
 16021  // SetSnapshotId sets the SnapshotId field's value.
 16022  func (s *Snapshot) SetSnapshotId(v string) *Snapshot {
 16023  	s.SnapshotId = &v
 16024  	return s
 16025  }
 16026  
 16027  // SetStartTime sets the StartTime field's value.
 16028  func (s *Snapshot) SetStartTime(v time.Time) *Snapshot {
 16029  	s.StartTime = &v
 16030  	return s
 16031  }
 16032  
 16033  // SetStatus sets the Status field's value.
 16034  func (s *Snapshot) SetStatus(v string) *Snapshot {
 16035  	s.Status = &v
 16036  	return s
 16037  }
 16038  
 16039  // SetType sets the Type field's value.
 16040  func (s *Snapshot) SetType(v string) *Snapshot {
 16041  	s.Type = &v
 16042  	return s
 16043  }
 16044  
 16045  // The maximum number of manual snapshots for the directory has been reached.
 16046  // You can use the GetSnapshotLimits operation to determine the snapshot limits
 16047  // for a directory.
 16048  type SnapshotLimitExceededException struct {
 16049  	_            struct{}                  `type:"structure"`
 16050  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16051  
 16052  	// The descriptive message for the exception.
 16053  	Message_ *string `locationName:"Message" type:"string"`
 16054  
 16055  	// The Amazon Web Services request identifier.
 16056  	RequestId *string `type:"string"`
 16057  }
 16058  
 16059  // String returns the string representation.
 16060  //
 16061  // API parameter values that are decorated as "sensitive" in the API will not
 16062  // be included in the string output. The member name will be present, but the
 16063  // value will be replaced with "sensitive".
 16064  func (s SnapshotLimitExceededException) String() string {
 16065  	return awsutil.Prettify(s)
 16066  }
 16067  
 16068  // GoString returns the string representation.
 16069  //
 16070  // API parameter values that are decorated as "sensitive" in the API will not
 16071  // be included in the string output. The member name will be present, but the
 16072  // value will be replaced with "sensitive".
 16073  func (s SnapshotLimitExceededException) GoString() string {
 16074  	return s.String()
 16075  }
 16076  
 16077  func newErrorSnapshotLimitExceededException(v protocol.ResponseMetadata) error {
 16078  	return &SnapshotLimitExceededException{
 16079  		RespMetadata: v,
 16080  	}
 16081  }
 16082  
 16083  // Code returns the exception type name.
 16084  func (s *SnapshotLimitExceededException) Code() string {
 16085  	return "SnapshotLimitExceededException"
 16086  }
 16087  
 16088  // Message returns the exception's message.
 16089  func (s *SnapshotLimitExceededException) Message() string {
 16090  	if s.Message_ != nil {
 16091  		return *s.Message_
 16092  	}
 16093  	return ""
 16094  }
 16095  
 16096  // OrigErr always returns nil, satisfies awserr.Error interface.
 16097  func (s *SnapshotLimitExceededException) OrigErr() error {
 16098  	return nil
 16099  }
 16100  
 16101  func (s *SnapshotLimitExceededException) Error() string {
 16102  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 16103  }
 16104  
 16105  // Status code returns the HTTP status code for the request's response error.
 16106  func (s *SnapshotLimitExceededException) StatusCode() int {
 16107  	return s.RespMetadata.StatusCode
 16108  }
 16109  
 16110  // RequestID returns the service's response RequestID for request.
 16111  func (s *SnapshotLimitExceededException) RequestID() string {
 16112  	return s.RespMetadata.RequestID
 16113  }
 16114  
 16115  // Contains manual snapshot limit information for a directory.
 16116  type SnapshotLimits struct {
 16117  	_ struct{} `type:"structure"`
 16118  
 16119  	// The current number of manual snapshots of the directory.
 16120  	ManualSnapshotsCurrentCount *int64 `type:"integer"`
 16121  
 16122  	// The maximum number of manual snapshots allowed.
 16123  	ManualSnapshotsLimit *int64 `type:"integer"`
 16124  
 16125  	// Indicates if the manual snapshot limit has been reached.
 16126  	ManualSnapshotsLimitReached *bool `type:"boolean"`
 16127  }
 16128  
 16129  // String returns the string representation.
 16130  //
 16131  // API parameter values that are decorated as "sensitive" in the API will not
 16132  // be included in the string output. The member name will be present, but the
 16133  // value will be replaced with "sensitive".
 16134  func (s SnapshotLimits) String() string {
 16135  	return awsutil.Prettify(s)
 16136  }
 16137  
 16138  // GoString returns the string representation.
 16139  //
 16140  // API parameter values that are decorated as "sensitive" in the API will not
 16141  // be included in the string output. The member name will be present, but the
 16142  // value will be replaced with "sensitive".
 16143  func (s SnapshotLimits) GoString() string {
 16144  	return s.String()
 16145  }
 16146  
 16147  // SetManualSnapshotsCurrentCount sets the ManualSnapshotsCurrentCount field's value.
 16148  func (s *SnapshotLimits) SetManualSnapshotsCurrentCount(v int64) *SnapshotLimits {
 16149  	s.ManualSnapshotsCurrentCount = &v
 16150  	return s
 16151  }
 16152  
 16153  // SetManualSnapshotsLimit sets the ManualSnapshotsLimit field's value.
 16154  func (s *SnapshotLimits) SetManualSnapshotsLimit(v int64) *SnapshotLimits {
 16155  	s.ManualSnapshotsLimit = &v
 16156  	return s
 16157  }
 16158  
 16159  // SetManualSnapshotsLimitReached sets the ManualSnapshotsLimitReached field's value.
 16160  func (s *SnapshotLimits) SetManualSnapshotsLimitReached(v bool) *SnapshotLimits {
 16161  	s.ManualSnapshotsLimitReached = &v
 16162  	return s
 16163  }
 16164  
 16165  type StartSchemaExtensionInput struct {
 16166  	_ struct{} `type:"structure"`
 16167  
 16168  	// If true, creates a snapshot of the directory before applying the schema extension.
 16169  	//
 16170  	// CreateSnapshotBeforeSchemaExtension is a required field
 16171  	CreateSnapshotBeforeSchemaExtension *bool `type:"boolean" required:"true"`
 16172  
 16173  	// A description of the schema extension.
 16174  	//
 16175  	// Description is a required field
 16176  	Description *string `type:"string" required:"true"`
 16177  
 16178  	// The identifier of the directory for which the schema extension will be applied
 16179  	// to.
 16180  	//
 16181  	// DirectoryId is a required field
 16182  	DirectoryId *string `type:"string" required:"true"`
 16183  
 16184  	// The LDIF file represented as a string. To construct the LdifContent string,
 16185  	// precede each line as it would be formatted in an ldif file with \n. See the
 16186  	// example request below for more details. The file size can be no larger than
 16187  	// 1MB.
 16188  	//
 16189  	// LdifContent is a required field
 16190  	LdifContent *string `min:"1" type:"string" required:"true"`
 16191  }
 16192  
 16193  // String returns the string representation.
 16194  //
 16195  // API parameter values that are decorated as "sensitive" in the API will not
 16196  // be included in the string output. The member name will be present, but the
 16197  // value will be replaced with "sensitive".
 16198  func (s StartSchemaExtensionInput) String() string {
 16199  	return awsutil.Prettify(s)
 16200  }
 16201  
 16202  // GoString returns the string representation.
 16203  //
 16204  // API parameter values that are decorated as "sensitive" in the API will not
 16205  // be included in the string output. The member name will be present, but the
 16206  // value will be replaced with "sensitive".
 16207  func (s StartSchemaExtensionInput) GoString() string {
 16208  	return s.String()
 16209  }
 16210  
 16211  // Validate inspects the fields of the type to determine if they are valid.
 16212  func (s *StartSchemaExtensionInput) Validate() error {
 16213  	invalidParams := request.ErrInvalidParams{Context: "StartSchemaExtensionInput"}
 16214  	if s.CreateSnapshotBeforeSchemaExtension == nil {
 16215  		invalidParams.Add(request.NewErrParamRequired("CreateSnapshotBeforeSchemaExtension"))
 16216  	}
 16217  	if s.Description == nil {
 16218  		invalidParams.Add(request.NewErrParamRequired("Description"))
 16219  	}
 16220  	if s.DirectoryId == nil {
 16221  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 16222  	}
 16223  	if s.LdifContent == nil {
 16224  		invalidParams.Add(request.NewErrParamRequired("LdifContent"))
 16225  	}
 16226  	if s.LdifContent != nil && len(*s.LdifContent) < 1 {
 16227  		invalidParams.Add(request.NewErrParamMinLen("LdifContent", 1))
 16228  	}
 16229  
 16230  	if invalidParams.Len() > 0 {
 16231  		return invalidParams
 16232  	}
 16233  	return nil
 16234  }
 16235  
 16236  // SetCreateSnapshotBeforeSchemaExtension sets the CreateSnapshotBeforeSchemaExtension field's value.
 16237  func (s *StartSchemaExtensionInput) SetCreateSnapshotBeforeSchemaExtension(v bool) *StartSchemaExtensionInput {
 16238  	s.CreateSnapshotBeforeSchemaExtension = &v
 16239  	return s
 16240  }
 16241  
 16242  // SetDescription sets the Description field's value.
 16243  func (s *StartSchemaExtensionInput) SetDescription(v string) *StartSchemaExtensionInput {
 16244  	s.Description = &v
 16245  	return s
 16246  }
 16247  
 16248  // SetDirectoryId sets the DirectoryId field's value.
 16249  func (s *StartSchemaExtensionInput) SetDirectoryId(v string) *StartSchemaExtensionInput {
 16250  	s.DirectoryId = &v
 16251  	return s
 16252  }
 16253  
 16254  // SetLdifContent sets the LdifContent field's value.
 16255  func (s *StartSchemaExtensionInput) SetLdifContent(v string) *StartSchemaExtensionInput {
 16256  	s.LdifContent = &v
 16257  	return s
 16258  }
 16259  
 16260  type StartSchemaExtensionOutput struct {
 16261  	_ struct{} `type:"structure"`
 16262  
 16263  	// The identifier of the schema extension that will be applied.
 16264  	SchemaExtensionId *string `type:"string"`
 16265  }
 16266  
 16267  // String returns the string representation.
 16268  //
 16269  // API parameter values that are decorated as "sensitive" in the API will not
 16270  // be included in the string output. The member name will be present, but the
 16271  // value will be replaced with "sensitive".
 16272  func (s StartSchemaExtensionOutput) String() string {
 16273  	return awsutil.Prettify(s)
 16274  }
 16275  
 16276  // GoString returns the string representation.
 16277  //
 16278  // API parameter values that are decorated as "sensitive" in the API will not
 16279  // be included in the string output. The member name will be present, but the
 16280  // value will be replaced with "sensitive".
 16281  func (s StartSchemaExtensionOutput) GoString() string {
 16282  	return s.String()
 16283  }
 16284  
 16285  // SetSchemaExtensionId sets the SchemaExtensionId field's value.
 16286  func (s *StartSchemaExtensionOutput) SetSchemaExtensionId(v string) *StartSchemaExtensionOutput {
 16287  	s.SchemaExtensionId = &v
 16288  	return s
 16289  }
 16290  
 16291  // Metadata assigned to a directory consisting of a key-value pair.
 16292  type Tag struct {
 16293  	_ struct{} `type:"structure"`
 16294  
 16295  	// Required name of the tag. The string value can be Unicode characters and
 16296  	// cannot be prefixed with "aws:". The string can contain only the set of Unicode
 16297  	// letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
 16298  	//
 16299  	// Key is a required field
 16300  	Key *string `min:"1" type:"string" required:"true"`
 16301  
 16302  	// The optional value of the tag. The string value can be Unicode characters.
 16303  	// The string can contain only the set of Unicode letters, digits, white-space,
 16304  	// '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
 16305  	//
 16306  	// Value is a required field
 16307  	Value *string `type:"string" required:"true"`
 16308  }
 16309  
 16310  // String returns the string representation.
 16311  //
 16312  // API parameter values that are decorated as "sensitive" in the API will not
 16313  // be included in the string output. The member name will be present, but the
 16314  // value will be replaced with "sensitive".
 16315  func (s Tag) String() string {
 16316  	return awsutil.Prettify(s)
 16317  }
 16318  
 16319  // GoString returns the string representation.
 16320  //
 16321  // API parameter values that are decorated as "sensitive" in the API will not
 16322  // be included in the string output. The member name will be present, but the
 16323  // value will be replaced with "sensitive".
 16324  func (s Tag) GoString() string {
 16325  	return s.String()
 16326  }
 16327  
 16328  // Validate inspects the fields of the type to determine if they are valid.
 16329  func (s *Tag) Validate() error {
 16330  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
 16331  	if s.Key == nil {
 16332  		invalidParams.Add(request.NewErrParamRequired("Key"))
 16333  	}
 16334  	if s.Key != nil && len(*s.Key) < 1 {
 16335  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 16336  	}
 16337  	if s.Value == nil {
 16338  		invalidParams.Add(request.NewErrParamRequired("Value"))
 16339  	}
 16340  
 16341  	if invalidParams.Len() > 0 {
 16342  		return invalidParams
 16343  	}
 16344  	return nil
 16345  }
 16346  
 16347  // SetKey sets the Key field's value.
 16348  func (s *Tag) SetKey(v string) *Tag {
 16349  	s.Key = &v
 16350  	return s
 16351  }
 16352  
 16353  // SetValue sets the Value field's value.
 16354  func (s *Tag) SetValue(v string) *Tag {
 16355  	s.Value = &v
 16356  	return s
 16357  }
 16358  
 16359  // The maximum allowed number of tags was exceeded.
 16360  type TagLimitExceededException struct {
 16361  	_            struct{}                  `type:"structure"`
 16362  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16363  
 16364  	// The descriptive message for the exception.
 16365  	Message_ *string `locationName:"Message" type:"string"`
 16366  
 16367  	// The Amazon Web Services request identifier.
 16368  	RequestId *string `type:"string"`
 16369  }
 16370  
 16371  // String returns the string representation.
 16372  //
 16373  // API parameter values that are decorated as "sensitive" in the API will not
 16374  // be included in the string output. The member name will be present, but the
 16375  // value will be replaced with "sensitive".
 16376  func (s TagLimitExceededException) String() string {
 16377  	return awsutil.Prettify(s)
 16378  }
 16379  
 16380  // GoString returns the string representation.
 16381  //
 16382  // API parameter values that are decorated as "sensitive" in the API will not
 16383  // be included in the string output. The member name will be present, but the
 16384  // value will be replaced with "sensitive".
 16385  func (s TagLimitExceededException) GoString() string {
 16386  	return s.String()
 16387  }
 16388  
 16389  func newErrorTagLimitExceededException(v protocol.ResponseMetadata) error {
 16390  	return &TagLimitExceededException{
 16391  		RespMetadata: v,
 16392  	}
 16393  }
 16394  
 16395  // Code returns the exception type name.
 16396  func (s *TagLimitExceededException) Code() string {
 16397  	return "TagLimitExceededException"
 16398  }
 16399  
 16400  // Message returns the exception's message.
 16401  func (s *TagLimitExceededException) Message() string {
 16402  	if s.Message_ != nil {
 16403  		return *s.Message_
 16404  	}
 16405  	return ""
 16406  }
 16407  
 16408  // OrigErr always returns nil, satisfies awserr.Error interface.
 16409  func (s *TagLimitExceededException) OrigErr() error {
 16410  	return nil
 16411  }
 16412  
 16413  func (s *TagLimitExceededException) Error() string {
 16414  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 16415  }
 16416  
 16417  // Status code returns the HTTP status code for the request's response error.
 16418  func (s *TagLimitExceededException) StatusCode() int {
 16419  	return s.RespMetadata.StatusCode
 16420  }
 16421  
 16422  // RequestID returns the service's response RequestID for request.
 16423  func (s *TagLimitExceededException) RequestID() string {
 16424  	return s.RespMetadata.RequestID
 16425  }
 16426  
 16427  // Describes a trust relationship between an Managed Microsoft AD directory
 16428  // and an external domain.
 16429  type Trust struct {
 16430  	_ struct{} `type:"structure"`
 16431  
 16432  	// The date and time that the trust relationship was created.
 16433  	CreatedDateTime *time.Time `type:"timestamp"`
 16434  
 16435  	// The Directory ID of the Amazon Web Services directory involved in the trust
 16436  	// relationship.
 16437  	DirectoryId *string `type:"string"`
 16438  
 16439  	// The date and time that the trust relationship was last updated.
 16440  	LastUpdatedDateTime *time.Time `type:"timestamp"`
 16441  
 16442  	// The Fully Qualified Domain Name (FQDN) of the external domain involved in
 16443  	// the trust relationship.
 16444  	RemoteDomainName *string `type:"string"`
 16445  
 16446  	// Current state of selective authentication for the trust.
 16447  	SelectiveAuth *string `type:"string" enum:"SelectiveAuth"`
 16448  
 16449  	// The date and time that the TrustState was last updated.
 16450  	StateLastUpdatedDateTime *time.Time `type:"timestamp"`
 16451  
 16452  	// The trust relationship direction.
 16453  	TrustDirection *string `type:"string" enum:"TrustDirection"`
 16454  
 16455  	// The unique ID of the trust relationship.
 16456  	TrustId *string `type:"string"`
 16457  
 16458  	// The trust relationship state.
 16459  	TrustState *string `type:"string" enum:"TrustState"`
 16460  
 16461  	// The reason for the TrustState.
 16462  	TrustStateReason *string `type:"string"`
 16463  
 16464  	// The trust relationship type. Forest is the default.
 16465  	TrustType *string `type:"string" enum:"TrustType"`
 16466  }
 16467  
 16468  // String returns the string representation.
 16469  //
 16470  // API parameter values that are decorated as "sensitive" in the API will not
 16471  // be included in the string output. The member name will be present, but the
 16472  // value will be replaced with "sensitive".
 16473  func (s Trust) String() string {
 16474  	return awsutil.Prettify(s)
 16475  }
 16476  
 16477  // GoString returns the string representation.
 16478  //
 16479  // API parameter values that are decorated as "sensitive" in the API will not
 16480  // be included in the string output. The member name will be present, but the
 16481  // value will be replaced with "sensitive".
 16482  func (s Trust) GoString() string {
 16483  	return s.String()
 16484  }
 16485  
 16486  // SetCreatedDateTime sets the CreatedDateTime field's value.
 16487  func (s *Trust) SetCreatedDateTime(v time.Time) *Trust {
 16488  	s.CreatedDateTime = &v
 16489  	return s
 16490  }
 16491  
 16492  // SetDirectoryId sets the DirectoryId field's value.
 16493  func (s *Trust) SetDirectoryId(v string) *Trust {
 16494  	s.DirectoryId = &v
 16495  	return s
 16496  }
 16497  
 16498  // SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
 16499  func (s *Trust) SetLastUpdatedDateTime(v time.Time) *Trust {
 16500  	s.LastUpdatedDateTime = &v
 16501  	return s
 16502  }
 16503  
 16504  // SetRemoteDomainName sets the RemoteDomainName field's value.
 16505  func (s *Trust) SetRemoteDomainName(v string) *Trust {
 16506  	s.RemoteDomainName = &v
 16507  	return s
 16508  }
 16509  
 16510  // SetSelectiveAuth sets the SelectiveAuth field's value.
 16511  func (s *Trust) SetSelectiveAuth(v string) *Trust {
 16512  	s.SelectiveAuth = &v
 16513  	return s
 16514  }
 16515  
 16516  // SetStateLastUpdatedDateTime sets the StateLastUpdatedDateTime field's value.
 16517  func (s *Trust) SetStateLastUpdatedDateTime(v time.Time) *Trust {
 16518  	s.StateLastUpdatedDateTime = &v
 16519  	return s
 16520  }
 16521  
 16522  // SetTrustDirection sets the TrustDirection field's value.
 16523  func (s *Trust) SetTrustDirection(v string) *Trust {
 16524  	s.TrustDirection = &v
 16525  	return s
 16526  }
 16527  
 16528  // SetTrustId sets the TrustId field's value.
 16529  func (s *Trust) SetTrustId(v string) *Trust {
 16530  	s.TrustId = &v
 16531  	return s
 16532  }
 16533  
 16534  // SetTrustState sets the TrustState field's value.
 16535  func (s *Trust) SetTrustState(v string) *Trust {
 16536  	s.TrustState = &v
 16537  	return s
 16538  }
 16539  
 16540  // SetTrustStateReason sets the TrustStateReason field's value.
 16541  func (s *Trust) SetTrustStateReason(v string) *Trust {
 16542  	s.TrustStateReason = &v
 16543  	return s
 16544  }
 16545  
 16546  // SetTrustType sets the TrustType field's value.
 16547  func (s *Trust) SetTrustType(v string) *Trust {
 16548  	s.TrustType = &v
 16549  	return s
 16550  }
 16551  
 16552  type UnshareDirectoryInput struct {
 16553  	_ struct{} `type:"structure"`
 16554  
 16555  	// The identifier of the Managed Microsoft AD directory that you want to stop
 16556  	// sharing.
 16557  	//
 16558  	// DirectoryId is a required field
 16559  	DirectoryId *string `type:"string" required:"true"`
 16560  
 16561  	// Identifier for the directory consumer account with whom the directory has
 16562  	// to be unshared.
 16563  	//
 16564  	// UnshareTarget is a required field
 16565  	UnshareTarget *UnshareTarget `type:"structure" required:"true"`
 16566  }
 16567  
 16568  // String returns the string representation.
 16569  //
 16570  // API parameter values that are decorated as "sensitive" in the API will not
 16571  // be included in the string output. The member name will be present, but the
 16572  // value will be replaced with "sensitive".
 16573  func (s UnshareDirectoryInput) String() string {
 16574  	return awsutil.Prettify(s)
 16575  }
 16576  
 16577  // GoString returns the string representation.
 16578  //
 16579  // API parameter values that are decorated as "sensitive" in the API will not
 16580  // be included in the string output. The member name will be present, but the
 16581  // value will be replaced with "sensitive".
 16582  func (s UnshareDirectoryInput) GoString() string {
 16583  	return s.String()
 16584  }
 16585  
 16586  // Validate inspects the fields of the type to determine if they are valid.
 16587  func (s *UnshareDirectoryInput) Validate() error {
 16588  	invalidParams := request.ErrInvalidParams{Context: "UnshareDirectoryInput"}
 16589  	if s.DirectoryId == nil {
 16590  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 16591  	}
 16592  	if s.UnshareTarget == nil {
 16593  		invalidParams.Add(request.NewErrParamRequired("UnshareTarget"))
 16594  	}
 16595  	if s.UnshareTarget != nil {
 16596  		if err := s.UnshareTarget.Validate(); err != nil {
 16597  			invalidParams.AddNested("UnshareTarget", err.(request.ErrInvalidParams))
 16598  		}
 16599  	}
 16600  
 16601  	if invalidParams.Len() > 0 {
 16602  		return invalidParams
 16603  	}
 16604  	return nil
 16605  }
 16606  
 16607  // SetDirectoryId sets the DirectoryId field's value.
 16608  func (s *UnshareDirectoryInput) SetDirectoryId(v string) *UnshareDirectoryInput {
 16609  	s.DirectoryId = &v
 16610  	return s
 16611  }
 16612  
 16613  // SetUnshareTarget sets the UnshareTarget field's value.
 16614  func (s *UnshareDirectoryInput) SetUnshareTarget(v *UnshareTarget) *UnshareDirectoryInput {
 16615  	s.UnshareTarget = v
 16616  	return s
 16617  }
 16618  
 16619  type UnshareDirectoryOutput struct {
 16620  	_ struct{} `type:"structure"`
 16621  
 16622  	// Identifier of the directory stored in the directory consumer account that
 16623  	// is to be unshared from the specified directory (DirectoryId).
 16624  	SharedDirectoryId *string `type:"string"`
 16625  }
 16626  
 16627  // String returns the string representation.
 16628  //
 16629  // API parameter values that are decorated as "sensitive" in the API will not
 16630  // be included in the string output. The member name will be present, but the
 16631  // value will be replaced with "sensitive".
 16632  func (s UnshareDirectoryOutput) String() string {
 16633  	return awsutil.Prettify(s)
 16634  }
 16635  
 16636  // GoString returns the string representation.
 16637  //
 16638  // API parameter values that are decorated as "sensitive" in the API will not
 16639  // be included in the string output. The member name will be present, but the
 16640  // value will be replaced with "sensitive".
 16641  func (s UnshareDirectoryOutput) GoString() string {
 16642  	return s.String()
 16643  }
 16644  
 16645  // SetSharedDirectoryId sets the SharedDirectoryId field's value.
 16646  func (s *UnshareDirectoryOutput) SetSharedDirectoryId(v string) *UnshareDirectoryOutput {
 16647  	s.SharedDirectoryId = &v
 16648  	return s
 16649  }
 16650  
 16651  // Identifier that contains details about the directory consumer account with
 16652  // whom the directory is being unshared.
 16653  type UnshareTarget struct {
 16654  	_ struct{} `type:"structure"`
 16655  
 16656  	// Identifier of the directory consumer account.
 16657  	//
 16658  	// Id is a required field
 16659  	Id *string `min:"1" type:"string" required:"true"`
 16660  
 16661  	// Type of identifier to be used in the Id field.
 16662  	//
 16663  	// Type is a required field
 16664  	Type *string `type:"string" required:"true" enum:"TargetType"`
 16665  }
 16666  
 16667  // String returns the string representation.
 16668  //
 16669  // API parameter values that are decorated as "sensitive" in the API will not
 16670  // be included in the string output. The member name will be present, but the
 16671  // value will be replaced with "sensitive".
 16672  func (s UnshareTarget) String() string {
 16673  	return awsutil.Prettify(s)
 16674  }
 16675  
 16676  // GoString returns the string representation.
 16677  //
 16678  // API parameter values that are decorated as "sensitive" in the API will not
 16679  // be included in the string output. The member name will be present, but the
 16680  // value will be replaced with "sensitive".
 16681  func (s UnshareTarget) GoString() string {
 16682  	return s.String()
 16683  }
 16684  
 16685  // Validate inspects the fields of the type to determine if they are valid.
 16686  func (s *UnshareTarget) Validate() error {
 16687  	invalidParams := request.ErrInvalidParams{Context: "UnshareTarget"}
 16688  	if s.Id == nil {
 16689  		invalidParams.Add(request.NewErrParamRequired("Id"))
 16690  	}
 16691  	if s.Id != nil && len(*s.Id) < 1 {
 16692  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 16693  	}
 16694  	if s.Type == nil {
 16695  		invalidParams.Add(request.NewErrParamRequired("Type"))
 16696  	}
 16697  
 16698  	if invalidParams.Len() > 0 {
 16699  		return invalidParams
 16700  	}
 16701  	return nil
 16702  }
 16703  
 16704  // SetId sets the Id field's value.
 16705  func (s *UnshareTarget) SetId(v string) *UnshareTarget {
 16706  	s.Id = &v
 16707  	return s
 16708  }
 16709  
 16710  // SetType sets the Type field's value.
 16711  func (s *UnshareTarget) SetType(v string) *UnshareTarget {
 16712  	s.Type = &v
 16713  	return s
 16714  }
 16715  
 16716  // The operation is not supported.
 16717  type UnsupportedOperationException struct {
 16718  	_            struct{}                  `type:"structure"`
 16719  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16720  
 16721  	// The descriptive message for the exception.
 16722  	Message_ *string `locationName:"Message" type:"string"`
 16723  
 16724  	// The Amazon Web Services request identifier.
 16725  	RequestId *string `type:"string"`
 16726  }
 16727  
 16728  // String returns the string representation.
 16729  //
 16730  // API parameter values that are decorated as "sensitive" in the API will not
 16731  // be included in the string output. The member name will be present, but the
 16732  // value will be replaced with "sensitive".
 16733  func (s UnsupportedOperationException) String() string {
 16734  	return awsutil.Prettify(s)
 16735  }
 16736  
 16737  // GoString returns the string representation.
 16738  //
 16739  // API parameter values that are decorated as "sensitive" in the API will not
 16740  // be included in the string output. The member name will be present, but the
 16741  // value will be replaced with "sensitive".
 16742  func (s UnsupportedOperationException) GoString() string {
 16743  	return s.String()
 16744  }
 16745  
 16746  func newErrorUnsupportedOperationException(v protocol.ResponseMetadata) error {
 16747  	return &UnsupportedOperationException{
 16748  		RespMetadata: v,
 16749  	}
 16750  }
 16751  
 16752  // Code returns the exception type name.
 16753  func (s *UnsupportedOperationException) Code() string {
 16754  	return "UnsupportedOperationException"
 16755  }
 16756  
 16757  // Message returns the exception's message.
 16758  func (s *UnsupportedOperationException) Message() string {
 16759  	if s.Message_ != nil {
 16760  		return *s.Message_
 16761  	}
 16762  	return ""
 16763  }
 16764  
 16765  // OrigErr always returns nil, satisfies awserr.Error interface.
 16766  func (s *UnsupportedOperationException) OrigErr() error {
 16767  	return nil
 16768  }
 16769  
 16770  func (s *UnsupportedOperationException) Error() string {
 16771  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 16772  }
 16773  
 16774  // Status code returns the HTTP status code for the request's response error.
 16775  func (s *UnsupportedOperationException) StatusCode() int {
 16776  	return s.RespMetadata.StatusCode
 16777  }
 16778  
 16779  // RequestID returns the service's response RequestID for request.
 16780  func (s *UnsupportedOperationException) RequestID() string {
 16781  	return s.RespMetadata.RequestID
 16782  }
 16783  
 16784  // Updates a conditional forwarder.
 16785  type UpdateConditionalForwarderInput struct {
 16786  	_ struct{} `type:"structure"`
 16787  
 16788  	// The directory ID of the Amazon Web Services directory for which to update
 16789  	// the conditional forwarder.
 16790  	//
 16791  	// DirectoryId is a required field
 16792  	DirectoryId *string `type:"string" required:"true"`
 16793  
 16794  	// The updated IP addresses of the remote DNS server associated with the conditional
 16795  	// forwarder.
 16796  	//
 16797  	// DnsIpAddrs is a required field
 16798  	DnsIpAddrs []*string `type:"list" required:"true"`
 16799  
 16800  	// The fully qualified domain name (FQDN) of the remote domain with which you
 16801  	// will set up a trust relationship.
 16802  	//
 16803  	// RemoteDomainName is a required field
 16804  	RemoteDomainName *string `type:"string" required:"true"`
 16805  }
 16806  
 16807  // String returns the string representation.
 16808  //
 16809  // API parameter values that are decorated as "sensitive" in the API will not
 16810  // be included in the string output. The member name will be present, but the
 16811  // value will be replaced with "sensitive".
 16812  func (s UpdateConditionalForwarderInput) String() string {
 16813  	return awsutil.Prettify(s)
 16814  }
 16815  
 16816  // GoString returns the string representation.
 16817  //
 16818  // API parameter values that are decorated as "sensitive" in the API will not
 16819  // be included in the string output. The member name will be present, but the
 16820  // value will be replaced with "sensitive".
 16821  func (s UpdateConditionalForwarderInput) GoString() string {
 16822  	return s.String()
 16823  }
 16824  
 16825  // Validate inspects the fields of the type to determine if they are valid.
 16826  func (s *UpdateConditionalForwarderInput) Validate() error {
 16827  	invalidParams := request.ErrInvalidParams{Context: "UpdateConditionalForwarderInput"}
 16828  	if s.DirectoryId == nil {
 16829  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 16830  	}
 16831  	if s.DnsIpAddrs == nil {
 16832  		invalidParams.Add(request.NewErrParamRequired("DnsIpAddrs"))
 16833  	}
 16834  	if s.RemoteDomainName == nil {
 16835  		invalidParams.Add(request.NewErrParamRequired("RemoteDomainName"))
 16836  	}
 16837  
 16838  	if invalidParams.Len() > 0 {
 16839  		return invalidParams
 16840  	}
 16841  	return nil
 16842  }
 16843  
 16844  // SetDirectoryId sets the DirectoryId field's value.
 16845  func (s *UpdateConditionalForwarderInput) SetDirectoryId(v string) *UpdateConditionalForwarderInput {
 16846  	s.DirectoryId = &v
 16847  	return s
 16848  }
 16849  
 16850  // SetDnsIpAddrs sets the DnsIpAddrs field's value.
 16851  func (s *UpdateConditionalForwarderInput) SetDnsIpAddrs(v []*string) *UpdateConditionalForwarderInput {
 16852  	s.DnsIpAddrs = v
 16853  	return s
 16854  }
 16855  
 16856  // SetRemoteDomainName sets the RemoteDomainName field's value.
 16857  func (s *UpdateConditionalForwarderInput) SetRemoteDomainName(v string) *UpdateConditionalForwarderInput {
 16858  	s.RemoteDomainName = &v
 16859  	return s
 16860  }
 16861  
 16862  // The result of an UpdateConditionalForwarder request.
 16863  type UpdateConditionalForwarderOutput struct {
 16864  	_ struct{} `type:"structure"`
 16865  }
 16866  
 16867  // String returns the string representation.
 16868  //
 16869  // API parameter values that are decorated as "sensitive" in the API will not
 16870  // be included in the string output. The member name will be present, but the
 16871  // value will be replaced with "sensitive".
 16872  func (s UpdateConditionalForwarderOutput) String() string {
 16873  	return awsutil.Prettify(s)
 16874  }
 16875  
 16876  // GoString returns the string representation.
 16877  //
 16878  // API parameter values that are decorated as "sensitive" in the API will not
 16879  // be included in the string output. The member name will be present, but the
 16880  // value will be replaced with "sensitive".
 16881  func (s UpdateConditionalForwarderOutput) GoString() string {
 16882  	return s.String()
 16883  }
 16884  
 16885  type UpdateNumberOfDomainControllersInput struct {
 16886  	_ struct{} `type:"structure"`
 16887  
 16888  	// The number of domain controllers desired in the directory.
 16889  	//
 16890  	// DesiredNumber is a required field
 16891  	DesiredNumber *int64 `min:"2" type:"integer" required:"true"`
 16892  
 16893  	// Identifier of the directory to which the domain controllers will be added
 16894  	// or removed.
 16895  	//
 16896  	// DirectoryId is a required field
 16897  	DirectoryId *string `type:"string" required:"true"`
 16898  }
 16899  
 16900  // String returns the string representation.
 16901  //
 16902  // API parameter values that are decorated as "sensitive" in the API will not
 16903  // be included in the string output. The member name will be present, but the
 16904  // value will be replaced with "sensitive".
 16905  func (s UpdateNumberOfDomainControllersInput) String() string {
 16906  	return awsutil.Prettify(s)
 16907  }
 16908  
 16909  // GoString returns the string representation.
 16910  //
 16911  // API parameter values that are decorated as "sensitive" in the API will not
 16912  // be included in the string output. The member name will be present, but the
 16913  // value will be replaced with "sensitive".
 16914  func (s UpdateNumberOfDomainControllersInput) GoString() string {
 16915  	return s.String()
 16916  }
 16917  
 16918  // Validate inspects the fields of the type to determine if they are valid.
 16919  func (s *UpdateNumberOfDomainControllersInput) Validate() error {
 16920  	invalidParams := request.ErrInvalidParams{Context: "UpdateNumberOfDomainControllersInput"}
 16921  	if s.DesiredNumber == nil {
 16922  		invalidParams.Add(request.NewErrParamRequired("DesiredNumber"))
 16923  	}
 16924  	if s.DesiredNumber != nil && *s.DesiredNumber < 2 {
 16925  		invalidParams.Add(request.NewErrParamMinValue("DesiredNumber", 2))
 16926  	}
 16927  	if s.DirectoryId == nil {
 16928  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 16929  	}
 16930  
 16931  	if invalidParams.Len() > 0 {
 16932  		return invalidParams
 16933  	}
 16934  	return nil
 16935  }
 16936  
 16937  // SetDesiredNumber sets the DesiredNumber field's value.
 16938  func (s *UpdateNumberOfDomainControllersInput) SetDesiredNumber(v int64) *UpdateNumberOfDomainControllersInput {
 16939  	s.DesiredNumber = &v
 16940  	return s
 16941  }
 16942  
 16943  // SetDirectoryId sets the DirectoryId field's value.
 16944  func (s *UpdateNumberOfDomainControllersInput) SetDirectoryId(v string) *UpdateNumberOfDomainControllersInput {
 16945  	s.DirectoryId = &v
 16946  	return s
 16947  }
 16948  
 16949  type UpdateNumberOfDomainControllersOutput struct {
 16950  	_ struct{} `type:"structure"`
 16951  }
 16952  
 16953  // String returns the string representation.
 16954  //
 16955  // API parameter values that are decorated as "sensitive" in the API will not
 16956  // be included in the string output. The member name will be present, but the
 16957  // value will be replaced with "sensitive".
 16958  func (s UpdateNumberOfDomainControllersOutput) String() string {
 16959  	return awsutil.Prettify(s)
 16960  }
 16961  
 16962  // GoString returns the string representation.
 16963  //
 16964  // API parameter values that are decorated as "sensitive" in the API will not
 16965  // be included in the string output. The member name will be present, but the
 16966  // value will be replaced with "sensitive".
 16967  func (s UpdateNumberOfDomainControllersOutput) GoString() string {
 16968  	return s.String()
 16969  }
 16970  
 16971  // Contains the inputs for the UpdateRadius operation.
 16972  type UpdateRadiusInput struct {
 16973  	_ struct{} `type:"structure"`
 16974  
 16975  	// The identifier of the directory for which to update the RADIUS server information.
 16976  	//
 16977  	// DirectoryId is a required field
 16978  	DirectoryId *string `type:"string" required:"true"`
 16979  
 16980  	// A RadiusSettings object that contains information about the RADIUS server.
 16981  	//
 16982  	// RadiusSettings is a required field
 16983  	RadiusSettings *RadiusSettings `type:"structure" required:"true"`
 16984  }
 16985  
 16986  // String returns the string representation.
 16987  //
 16988  // API parameter values that are decorated as "sensitive" in the API will not
 16989  // be included in the string output. The member name will be present, but the
 16990  // value will be replaced with "sensitive".
 16991  func (s UpdateRadiusInput) String() string {
 16992  	return awsutil.Prettify(s)
 16993  }
 16994  
 16995  // GoString returns the string representation.
 16996  //
 16997  // API parameter values that are decorated as "sensitive" in the API will not
 16998  // be included in the string output. The member name will be present, but the
 16999  // value will be replaced with "sensitive".
 17000  func (s UpdateRadiusInput) GoString() string {
 17001  	return s.String()
 17002  }
 17003  
 17004  // Validate inspects the fields of the type to determine if they are valid.
 17005  func (s *UpdateRadiusInput) Validate() error {
 17006  	invalidParams := request.ErrInvalidParams{Context: "UpdateRadiusInput"}
 17007  	if s.DirectoryId == nil {
 17008  		invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
 17009  	}
 17010  	if s.RadiusSettings == nil {
 17011  		invalidParams.Add(request.NewErrParamRequired("RadiusSettings"))
 17012  	}
 17013  	if s.RadiusSettings != nil {
 17014  		if err := s.RadiusSettings.Validate(); err != nil {
 17015  			invalidParams.AddNested("RadiusSettings", err.(request.ErrInvalidParams))
 17016  		}
 17017  	}
 17018  
 17019  	if invalidParams.Len() > 0 {
 17020  		return invalidParams
 17021  	}
 17022  	return nil
 17023  }
 17024  
 17025  // SetDirectoryId sets the DirectoryId field's value.
 17026  func (s *UpdateRadiusInput) SetDirectoryId(v string) *UpdateRadiusInput {
 17027  	s.DirectoryId = &v
 17028  	return s
 17029  }
 17030  
 17031  // SetRadiusSettings sets the RadiusSettings field's value.
 17032  func (s *UpdateRadiusInput) SetRadiusSettings(v *RadiusSettings) *UpdateRadiusInput {
 17033  	s.RadiusSettings = v
 17034  	return s
 17035  }
 17036  
 17037  // Contains the results of the UpdateRadius operation.
 17038  type UpdateRadiusOutput struct {
 17039  	_ struct{} `type:"structure"`
 17040  }
 17041  
 17042  // String returns the string representation.
 17043  //
 17044  // API parameter values that are decorated as "sensitive" in the API will not
 17045  // be included in the string output. The member name will be present, but the
 17046  // value will be replaced with "sensitive".
 17047  func (s UpdateRadiusOutput) String() string {
 17048  	return awsutil.Prettify(s)
 17049  }
 17050  
 17051  // GoString returns the string representation.
 17052  //
 17053  // API parameter values that are decorated as "sensitive" in the API will not
 17054  // be included in the string output. The member name will be present, but the
 17055  // value will be replaced with "sensitive".
 17056  func (s UpdateRadiusOutput) GoString() string {
 17057  	return s.String()
 17058  }
 17059  
 17060  type UpdateTrustInput struct {
 17061  	_ struct{} `type:"structure"`
 17062  
 17063  	// Updates selective authentication for the trust.
 17064  	SelectiveAuth *string `type:"string" enum:"SelectiveAuth"`
 17065  
 17066  	// Identifier of the trust relationship.
 17067  	//
 17068  	// TrustId is a required field
 17069  	TrustId *string `type:"string" required:"true"`
 17070  }
 17071  
 17072  // String returns the string representation.
 17073  //
 17074  // API parameter values that are decorated as "sensitive" in the API will not
 17075  // be included in the string output. The member name will be present, but the
 17076  // value will be replaced with "sensitive".
 17077  func (s UpdateTrustInput) String() string {
 17078  	return awsutil.Prettify(s)
 17079  }
 17080  
 17081  // GoString returns the string representation.
 17082  //
 17083  // API parameter values that are decorated as "sensitive" in the API will not
 17084  // be included in the string output. The member name will be present, but the
 17085  // value will be replaced with "sensitive".
 17086  func (s UpdateTrustInput) GoString() string {
 17087  	return s.String()
 17088  }
 17089  
 17090  // Validate inspects the fields of the type to determine if they are valid.
 17091  func (s *UpdateTrustInput) Validate() error {
 17092  	invalidParams := request.ErrInvalidParams{Context: "UpdateTrustInput"}
 17093  	if s.TrustId == nil {
 17094  		invalidParams.Add(request.NewErrParamRequired("TrustId"))
 17095  	}
 17096  
 17097  	if invalidParams.Len() > 0 {
 17098  		return invalidParams
 17099  	}
 17100  	return nil
 17101  }
 17102  
 17103  // SetSelectiveAuth sets the SelectiveAuth field's value.
 17104  func (s *UpdateTrustInput) SetSelectiveAuth(v string) *UpdateTrustInput {
 17105  	s.SelectiveAuth = &v
 17106  	return s
 17107  }
 17108  
 17109  // SetTrustId sets the TrustId field's value.
 17110  func (s *UpdateTrustInput) SetTrustId(v string) *UpdateTrustInput {
 17111  	s.TrustId = &v
 17112  	return s
 17113  }
 17114  
 17115  type UpdateTrustOutput struct {
 17116  	_ struct{} `type:"structure"`
 17117  
 17118  	// The Amazon Web Services request identifier.
 17119  	RequestId *string `type:"string"`
 17120  
 17121  	// Identifier of the trust relationship.
 17122  	TrustId *string `type:"string"`
 17123  }
 17124  
 17125  // String returns the string representation.
 17126  //
 17127  // API parameter values that are decorated as "sensitive" in the API will not
 17128  // be included in the string output. The member name will be present, but the
 17129  // value will be replaced with "sensitive".
 17130  func (s UpdateTrustOutput) String() string {
 17131  	return awsutil.Prettify(s)
 17132  }
 17133  
 17134  // GoString returns the string representation.
 17135  //
 17136  // API parameter values that are decorated as "sensitive" in the API will not
 17137  // be included in the string output. The member name will be present, but the
 17138  // value will be replaced with "sensitive".
 17139  func (s UpdateTrustOutput) GoString() string {
 17140  	return s.String()
 17141  }
 17142  
 17143  // SetRequestId sets the RequestId field's value.
 17144  func (s *UpdateTrustOutput) SetRequestId(v string) *UpdateTrustOutput {
 17145  	s.RequestId = &v
 17146  	return s
 17147  }
 17148  
 17149  // SetTrustId sets the TrustId field's value.
 17150  func (s *UpdateTrustOutput) SetTrustId(v string) *UpdateTrustOutput {
 17151  	s.TrustId = &v
 17152  	return s
 17153  }
 17154  
 17155  // The user provided a username that does not exist in your directory.
 17156  type UserDoesNotExistException struct {
 17157  	_            struct{}                  `type:"structure"`
 17158  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 17159  
 17160  	// The descriptive message for the exception.
 17161  	Message_ *string `locationName:"Message" type:"string"`
 17162  
 17163  	// The Amazon Web Services request identifier.
 17164  	RequestId *string `type:"string"`
 17165  }
 17166  
 17167  // String returns the string representation.
 17168  //
 17169  // API parameter values that are decorated as "sensitive" in the API will not
 17170  // be included in the string output. The member name will be present, but the
 17171  // value will be replaced with "sensitive".
 17172  func (s UserDoesNotExistException) String() string {
 17173  	return awsutil.Prettify(s)
 17174  }
 17175  
 17176  // GoString returns the string representation.
 17177  //
 17178  // API parameter values that are decorated as "sensitive" in the API will not
 17179  // be included in the string output. The member name will be present, but the
 17180  // value will be replaced with "sensitive".
 17181  func (s UserDoesNotExistException) GoString() string {
 17182  	return s.String()
 17183  }
 17184  
 17185  func newErrorUserDoesNotExistException(v protocol.ResponseMetadata) error {
 17186  	return &UserDoesNotExistException{
 17187  		RespMetadata: v,
 17188  	}
 17189  }
 17190  
 17191  // Code returns the exception type name.
 17192  func (s *UserDoesNotExistException) Code() string {
 17193  	return "UserDoesNotExistException"
 17194  }
 17195  
 17196  // Message returns the exception's message.
 17197  func (s *UserDoesNotExistException) Message() string {
 17198  	if s.Message_ != nil {
 17199  		return *s.Message_
 17200  	}
 17201  	return ""
 17202  }
 17203  
 17204  // OrigErr always returns nil, satisfies awserr.Error interface.
 17205  func (s *UserDoesNotExistException) OrigErr() error {
 17206  	return nil
 17207  }
 17208  
 17209  func (s *UserDoesNotExistException) Error() string {
 17210  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 17211  }
 17212  
 17213  // Status code returns the HTTP status code for the request's response error.
 17214  func (s *UserDoesNotExistException) StatusCode() int {
 17215  	return s.RespMetadata.StatusCode
 17216  }
 17217  
 17218  // RequestID returns the service's response RequestID for request.
 17219  func (s *UserDoesNotExistException) RequestID() string {
 17220  	return s.RespMetadata.RequestID
 17221  }
 17222  
 17223  // Initiates the verification of an existing trust relationship between an Managed
 17224  // Microsoft AD directory and an external domain.
 17225  type VerifyTrustInput struct {
 17226  	_ struct{} `type:"structure"`
 17227  
 17228  	// The unique Trust ID of the trust relationship to verify.
 17229  	//
 17230  	// TrustId is a required field
 17231  	TrustId *string `type:"string" required:"true"`
 17232  }
 17233  
 17234  // String returns the string representation.
 17235  //
 17236  // API parameter values that are decorated as "sensitive" in the API will not
 17237  // be included in the string output. The member name will be present, but the
 17238  // value will be replaced with "sensitive".
 17239  func (s VerifyTrustInput) String() string {
 17240  	return awsutil.Prettify(s)
 17241  }
 17242  
 17243  // GoString returns the string representation.
 17244  //
 17245  // API parameter values that are decorated as "sensitive" in the API will not
 17246  // be included in the string output. The member name will be present, but the
 17247  // value will be replaced with "sensitive".
 17248  func (s VerifyTrustInput) GoString() string {
 17249  	return s.String()
 17250  }
 17251  
 17252  // Validate inspects the fields of the type to determine if they are valid.
 17253  func (s *VerifyTrustInput) Validate() error {
 17254  	invalidParams := request.ErrInvalidParams{Context: "VerifyTrustInput"}
 17255  	if s.TrustId == nil {
 17256  		invalidParams.Add(request.NewErrParamRequired("TrustId"))
 17257  	}
 17258  
 17259  	if invalidParams.Len() > 0 {
 17260  		return invalidParams
 17261  	}
 17262  	return nil
 17263  }
 17264  
 17265  // SetTrustId sets the TrustId field's value.
 17266  func (s *VerifyTrustInput) SetTrustId(v string) *VerifyTrustInput {
 17267  	s.TrustId = &v
 17268  	return s
 17269  }
 17270  
 17271  // Result of a VerifyTrust request.
 17272  type VerifyTrustOutput struct {
 17273  	_ struct{} `type:"structure"`
 17274  
 17275  	// The unique Trust ID of the trust relationship that was verified.
 17276  	TrustId *string `type:"string"`
 17277  }
 17278  
 17279  // String returns the string representation.
 17280  //
 17281  // API parameter values that are decorated as "sensitive" in the API will not
 17282  // be included in the string output. The member name will be present, but the
 17283  // value will be replaced with "sensitive".
 17284  func (s VerifyTrustOutput) String() string {
 17285  	return awsutil.Prettify(s)
 17286  }
 17287  
 17288  // GoString returns the string representation.
 17289  //
 17290  // API parameter values that are decorated as "sensitive" in the API will not
 17291  // be included in the string output. The member name will be present, but the
 17292  // value will be replaced with "sensitive".
 17293  func (s VerifyTrustOutput) GoString() string {
 17294  	return s.String()
 17295  }
 17296  
 17297  // SetTrustId sets the TrustId field's value.
 17298  func (s *VerifyTrustOutput) SetTrustId(v string) *VerifyTrustOutput {
 17299  	s.TrustId = &v
 17300  	return s
 17301  }
 17302  
 17303  const (
 17304  	// CertificateStateRegistering is a CertificateState enum value
 17305  	CertificateStateRegistering = "Registering"
 17306  
 17307  	// CertificateStateRegistered is a CertificateState enum value
 17308  	CertificateStateRegistered = "Registered"
 17309  
 17310  	// CertificateStateRegisterFailed is a CertificateState enum value
 17311  	CertificateStateRegisterFailed = "RegisterFailed"
 17312  
 17313  	// CertificateStateDeregistering is a CertificateState enum value
 17314  	CertificateStateDeregistering = "Deregistering"
 17315  
 17316  	// CertificateStateDeregistered is a CertificateState enum value
 17317  	CertificateStateDeregistered = "Deregistered"
 17318  
 17319  	// CertificateStateDeregisterFailed is a CertificateState enum value
 17320  	CertificateStateDeregisterFailed = "DeregisterFailed"
 17321  )
 17322  
 17323  // CertificateState_Values returns all elements of the CertificateState enum
 17324  func CertificateState_Values() []string {
 17325  	return []string{
 17326  		CertificateStateRegistering,
 17327  		CertificateStateRegistered,
 17328  		CertificateStateRegisterFailed,
 17329  		CertificateStateDeregistering,
 17330  		CertificateStateDeregistered,
 17331  		CertificateStateDeregisterFailed,
 17332  	}
 17333  }
 17334  
 17335  const (
 17336  	// CertificateTypeClientCertAuth is a CertificateType enum value
 17337  	CertificateTypeClientCertAuth = "ClientCertAuth"
 17338  
 17339  	// CertificateTypeClientLdaps is a CertificateType enum value
 17340  	CertificateTypeClientLdaps = "ClientLDAPS"
 17341  )
 17342  
 17343  // CertificateType_Values returns all elements of the CertificateType enum
 17344  func CertificateType_Values() []string {
 17345  	return []string{
 17346  		CertificateTypeClientCertAuth,
 17347  		CertificateTypeClientLdaps,
 17348  	}
 17349  }
 17350  
 17351  const (
 17352  	// ClientAuthenticationStatusEnabled is a ClientAuthenticationStatus enum value
 17353  	ClientAuthenticationStatusEnabled = "Enabled"
 17354  
 17355  	// ClientAuthenticationStatusDisabled is a ClientAuthenticationStatus enum value
 17356  	ClientAuthenticationStatusDisabled = "Disabled"
 17357  )
 17358  
 17359  // ClientAuthenticationStatus_Values returns all elements of the ClientAuthenticationStatus enum
 17360  func ClientAuthenticationStatus_Values() []string {
 17361  	return []string{
 17362  		ClientAuthenticationStatusEnabled,
 17363  		ClientAuthenticationStatusDisabled,
 17364  	}
 17365  }
 17366  
 17367  const (
 17368  	// ClientAuthenticationTypeSmartCard is a ClientAuthenticationType enum value
 17369  	ClientAuthenticationTypeSmartCard = "SmartCard"
 17370  )
 17371  
 17372  // ClientAuthenticationType_Values returns all elements of the ClientAuthenticationType enum
 17373  func ClientAuthenticationType_Values() []string {
 17374  	return []string{
 17375  		ClientAuthenticationTypeSmartCard,
 17376  	}
 17377  }
 17378  
 17379  const (
 17380  	// DirectoryEditionEnterprise is a DirectoryEdition enum value
 17381  	DirectoryEditionEnterprise = "Enterprise"
 17382  
 17383  	// DirectoryEditionStandard is a DirectoryEdition enum value
 17384  	DirectoryEditionStandard = "Standard"
 17385  )
 17386  
 17387  // DirectoryEdition_Values returns all elements of the DirectoryEdition enum
 17388  func DirectoryEdition_Values() []string {
 17389  	return []string{
 17390  		DirectoryEditionEnterprise,
 17391  		DirectoryEditionStandard,
 17392  	}
 17393  }
 17394  
 17395  const (
 17396  	// DirectorySizeSmall is a DirectorySize enum value
 17397  	DirectorySizeSmall = "Small"
 17398  
 17399  	// DirectorySizeLarge is a DirectorySize enum value
 17400  	DirectorySizeLarge = "Large"
 17401  )
 17402  
 17403  // DirectorySize_Values returns all elements of the DirectorySize enum
 17404  func DirectorySize_Values() []string {
 17405  	return []string{
 17406  		DirectorySizeSmall,
 17407  		DirectorySizeLarge,
 17408  	}
 17409  }
 17410  
 17411  const (
 17412  	// DirectoryStageRequested is a DirectoryStage enum value
 17413  	DirectoryStageRequested = "Requested"
 17414  
 17415  	// DirectoryStageCreating is a DirectoryStage enum value
 17416  	DirectoryStageCreating = "Creating"
 17417  
 17418  	// DirectoryStageCreated is a DirectoryStage enum value
 17419  	DirectoryStageCreated = "Created"
 17420  
 17421  	// DirectoryStageActive is a DirectoryStage enum value
 17422  	DirectoryStageActive = "Active"
 17423  
 17424  	// DirectoryStageInoperable is a DirectoryStage enum value
 17425  	DirectoryStageInoperable = "Inoperable"
 17426  
 17427  	// DirectoryStageImpaired is a DirectoryStage enum value
 17428  	DirectoryStageImpaired = "Impaired"
 17429  
 17430  	// DirectoryStageRestoring is a DirectoryStage enum value
 17431  	DirectoryStageRestoring = "Restoring"
 17432  
 17433  	// DirectoryStageRestoreFailed is a DirectoryStage enum value
 17434  	DirectoryStageRestoreFailed = "RestoreFailed"
 17435  
 17436  	// DirectoryStageDeleting is a DirectoryStage enum value
 17437  	DirectoryStageDeleting = "Deleting"
 17438  
 17439  	// DirectoryStageDeleted is a DirectoryStage enum value
 17440  	DirectoryStageDeleted = "Deleted"
 17441  
 17442  	// DirectoryStageFailed is a DirectoryStage enum value
 17443  	DirectoryStageFailed = "Failed"
 17444  )
 17445  
 17446  // DirectoryStage_Values returns all elements of the DirectoryStage enum
 17447  func DirectoryStage_Values() []string {
 17448  	return []string{
 17449  		DirectoryStageRequested,
 17450  		DirectoryStageCreating,
 17451  		DirectoryStageCreated,
 17452  		DirectoryStageActive,
 17453  		DirectoryStageInoperable,
 17454  		DirectoryStageImpaired,
 17455  		DirectoryStageRestoring,
 17456  		DirectoryStageRestoreFailed,
 17457  		DirectoryStageDeleting,
 17458  		DirectoryStageDeleted,
 17459  		DirectoryStageFailed,
 17460  	}
 17461  }
 17462  
 17463  const (
 17464  	// DirectoryTypeSimpleAd is a DirectoryType enum value
 17465  	DirectoryTypeSimpleAd = "SimpleAD"
 17466  
 17467  	// DirectoryTypeAdconnector is a DirectoryType enum value
 17468  	DirectoryTypeAdconnector = "ADConnector"
 17469  
 17470  	// DirectoryTypeMicrosoftAd is a DirectoryType enum value
 17471  	DirectoryTypeMicrosoftAd = "MicrosoftAD"
 17472  
 17473  	// DirectoryTypeSharedMicrosoftAd is a DirectoryType enum value
 17474  	DirectoryTypeSharedMicrosoftAd = "SharedMicrosoftAD"
 17475  )
 17476  
 17477  // DirectoryType_Values returns all elements of the DirectoryType enum
 17478  func DirectoryType_Values() []string {
 17479  	return []string{
 17480  		DirectoryTypeSimpleAd,
 17481  		DirectoryTypeAdconnector,
 17482  		DirectoryTypeMicrosoftAd,
 17483  		DirectoryTypeSharedMicrosoftAd,
 17484  	}
 17485  }
 17486  
 17487  const (
 17488  	// DomainControllerStatusCreating is a DomainControllerStatus enum value
 17489  	DomainControllerStatusCreating = "Creating"
 17490  
 17491  	// DomainControllerStatusActive is a DomainControllerStatus enum value
 17492  	DomainControllerStatusActive = "Active"
 17493  
 17494  	// DomainControllerStatusImpaired is a DomainControllerStatus enum value
 17495  	DomainControllerStatusImpaired = "Impaired"
 17496  
 17497  	// DomainControllerStatusRestoring is a DomainControllerStatus enum value
 17498  	DomainControllerStatusRestoring = "Restoring"
 17499  
 17500  	// DomainControllerStatusDeleting is a DomainControllerStatus enum value
 17501  	DomainControllerStatusDeleting = "Deleting"
 17502  
 17503  	// DomainControllerStatusDeleted is a DomainControllerStatus enum value
 17504  	DomainControllerStatusDeleted = "Deleted"
 17505  
 17506  	// DomainControllerStatusFailed is a DomainControllerStatus enum value
 17507  	DomainControllerStatusFailed = "Failed"
 17508  )
 17509  
 17510  // DomainControllerStatus_Values returns all elements of the DomainControllerStatus enum
 17511  func DomainControllerStatus_Values() []string {
 17512  	return []string{
 17513  		DomainControllerStatusCreating,
 17514  		DomainControllerStatusActive,
 17515  		DomainControllerStatusImpaired,
 17516  		DomainControllerStatusRestoring,
 17517  		DomainControllerStatusDeleting,
 17518  		DomainControllerStatusDeleted,
 17519  		DomainControllerStatusFailed,
 17520  	}
 17521  }
 17522  
 17523  const (
 17524  	// IpRouteStatusMsgAdding is a IpRouteStatusMsg enum value
 17525  	IpRouteStatusMsgAdding = "Adding"
 17526  
 17527  	// IpRouteStatusMsgAdded is a IpRouteStatusMsg enum value
 17528  	IpRouteStatusMsgAdded = "Added"
 17529  
 17530  	// IpRouteStatusMsgRemoving is a IpRouteStatusMsg enum value
 17531  	IpRouteStatusMsgRemoving = "Removing"
 17532  
 17533  	// IpRouteStatusMsgRemoved is a IpRouteStatusMsg enum value
 17534  	IpRouteStatusMsgRemoved = "Removed"
 17535  
 17536  	// IpRouteStatusMsgAddFailed is a IpRouteStatusMsg enum value
 17537  	IpRouteStatusMsgAddFailed = "AddFailed"
 17538  
 17539  	// IpRouteStatusMsgRemoveFailed is a IpRouteStatusMsg enum value
 17540  	IpRouteStatusMsgRemoveFailed = "RemoveFailed"
 17541  )
 17542  
 17543  // IpRouteStatusMsg_Values returns all elements of the IpRouteStatusMsg enum
 17544  func IpRouteStatusMsg_Values() []string {
 17545  	return []string{
 17546  		IpRouteStatusMsgAdding,
 17547  		IpRouteStatusMsgAdded,
 17548  		IpRouteStatusMsgRemoving,
 17549  		IpRouteStatusMsgRemoved,
 17550  		IpRouteStatusMsgAddFailed,
 17551  		IpRouteStatusMsgRemoveFailed,
 17552  	}
 17553  }
 17554  
 17555  const (
 17556  	// LDAPSStatusEnabling is a LDAPSStatus enum value
 17557  	LDAPSStatusEnabling = "Enabling"
 17558  
 17559  	// LDAPSStatusEnabled is a LDAPSStatus enum value
 17560  	LDAPSStatusEnabled = "Enabled"
 17561  
 17562  	// LDAPSStatusEnableFailed is a LDAPSStatus enum value
 17563  	LDAPSStatusEnableFailed = "EnableFailed"
 17564  
 17565  	// LDAPSStatusDisabled is a LDAPSStatus enum value
 17566  	LDAPSStatusDisabled = "Disabled"
 17567  )
 17568  
 17569  // LDAPSStatus_Values returns all elements of the LDAPSStatus enum
 17570  func LDAPSStatus_Values() []string {
 17571  	return []string{
 17572  		LDAPSStatusEnabling,
 17573  		LDAPSStatusEnabled,
 17574  		LDAPSStatusEnableFailed,
 17575  		LDAPSStatusDisabled,
 17576  	}
 17577  }
 17578  
 17579  const (
 17580  	// LDAPSTypeClient is a LDAPSType enum value
 17581  	LDAPSTypeClient = "Client"
 17582  )
 17583  
 17584  // LDAPSType_Values returns all elements of the LDAPSType enum
 17585  func LDAPSType_Values() []string {
 17586  	return []string{
 17587  		LDAPSTypeClient,
 17588  	}
 17589  }
 17590  
 17591  const (
 17592  	// RadiusAuthenticationProtocolPap is a RadiusAuthenticationProtocol enum value
 17593  	RadiusAuthenticationProtocolPap = "PAP"
 17594  
 17595  	// RadiusAuthenticationProtocolChap is a RadiusAuthenticationProtocol enum value
 17596  	RadiusAuthenticationProtocolChap = "CHAP"
 17597  
 17598  	// RadiusAuthenticationProtocolMsChapv1 is a RadiusAuthenticationProtocol enum value
 17599  	RadiusAuthenticationProtocolMsChapv1 = "MS-CHAPv1"
 17600  
 17601  	// RadiusAuthenticationProtocolMsChapv2 is a RadiusAuthenticationProtocol enum value
 17602  	RadiusAuthenticationProtocolMsChapv2 = "MS-CHAPv2"
 17603  )
 17604  
 17605  // RadiusAuthenticationProtocol_Values returns all elements of the RadiusAuthenticationProtocol enum
 17606  func RadiusAuthenticationProtocol_Values() []string {
 17607  	return []string{
 17608  		RadiusAuthenticationProtocolPap,
 17609  		RadiusAuthenticationProtocolChap,
 17610  		RadiusAuthenticationProtocolMsChapv1,
 17611  		RadiusAuthenticationProtocolMsChapv2,
 17612  	}
 17613  }
 17614  
 17615  const (
 17616  	// RadiusStatusCreating is a RadiusStatus enum value
 17617  	RadiusStatusCreating = "Creating"
 17618  
 17619  	// RadiusStatusCompleted is a RadiusStatus enum value
 17620  	RadiusStatusCompleted = "Completed"
 17621  
 17622  	// RadiusStatusFailed is a RadiusStatus enum value
 17623  	RadiusStatusFailed = "Failed"
 17624  )
 17625  
 17626  // RadiusStatus_Values returns all elements of the RadiusStatus enum
 17627  func RadiusStatus_Values() []string {
 17628  	return []string{
 17629  		RadiusStatusCreating,
 17630  		RadiusStatusCompleted,
 17631  		RadiusStatusFailed,
 17632  	}
 17633  }
 17634  
 17635  const (
 17636  	// RegionTypePrimary is a RegionType enum value
 17637  	RegionTypePrimary = "Primary"
 17638  
 17639  	// RegionTypeAdditional is a RegionType enum value
 17640  	RegionTypeAdditional = "Additional"
 17641  )
 17642  
 17643  // RegionType_Values returns all elements of the RegionType enum
 17644  func RegionType_Values() []string {
 17645  	return []string{
 17646  		RegionTypePrimary,
 17647  		RegionTypeAdditional,
 17648  	}
 17649  }
 17650  
 17651  const (
 17652  	// ReplicationScopeDomain is a ReplicationScope enum value
 17653  	ReplicationScopeDomain = "Domain"
 17654  )
 17655  
 17656  // ReplicationScope_Values returns all elements of the ReplicationScope enum
 17657  func ReplicationScope_Values() []string {
 17658  	return []string{
 17659  		ReplicationScopeDomain,
 17660  	}
 17661  }
 17662  
 17663  const (
 17664  	// SchemaExtensionStatusInitializing is a SchemaExtensionStatus enum value
 17665  	SchemaExtensionStatusInitializing = "Initializing"
 17666  
 17667  	// SchemaExtensionStatusCreatingSnapshot is a SchemaExtensionStatus enum value
 17668  	SchemaExtensionStatusCreatingSnapshot = "CreatingSnapshot"
 17669  
 17670  	// SchemaExtensionStatusUpdatingSchema is a SchemaExtensionStatus enum value
 17671  	SchemaExtensionStatusUpdatingSchema = "UpdatingSchema"
 17672  
 17673  	// SchemaExtensionStatusReplicating is a SchemaExtensionStatus enum value
 17674  	SchemaExtensionStatusReplicating = "Replicating"
 17675  
 17676  	// SchemaExtensionStatusCancelInProgress is a SchemaExtensionStatus enum value
 17677  	SchemaExtensionStatusCancelInProgress = "CancelInProgress"
 17678  
 17679  	// SchemaExtensionStatusRollbackInProgress is a SchemaExtensionStatus enum value
 17680  	SchemaExtensionStatusRollbackInProgress = "RollbackInProgress"
 17681  
 17682  	// SchemaExtensionStatusCancelled is a SchemaExtensionStatus enum value
 17683  	SchemaExtensionStatusCancelled = "Cancelled"
 17684  
 17685  	// SchemaExtensionStatusFailed is a SchemaExtensionStatus enum value
 17686  	SchemaExtensionStatusFailed = "Failed"
 17687  
 17688  	// SchemaExtensionStatusCompleted is a SchemaExtensionStatus enum value
 17689  	SchemaExtensionStatusCompleted = "Completed"
 17690  )
 17691  
 17692  // SchemaExtensionStatus_Values returns all elements of the SchemaExtensionStatus enum
 17693  func SchemaExtensionStatus_Values() []string {
 17694  	return []string{
 17695  		SchemaExtensionStatusInitializing,
 17696  		SchemaExtensionStatusCreatingSnapshot,
 17697  		SchemaExtensionStatusUpdatingSchema,
 17698  		SchemaExtensionStatusReplicating,
 17699  		SchemaExtensionStatusCancelInProgress,
 17700  		SchemaExtensionStatusRollbackInProgress,
 17701  		SchemaExtensionStatusCancelled,
 17702  		SchemaExtensionStatusFailed,
 17703  		SchemaExtensionStatusCompleted,
 17704  	}
 17705  }
 17706  
 17707  const (
 17708  	// SelectiveAuthEnabled is a SelectiveAuth enum value
 17709  	SelectiveAuthEnabled = "Enabled"
 17710  
 17711  	// SelectiveAuthDisabled is a SelectiveAuth enum value
 17712  	SelectiveAuthDisabled = "Disabled"
 17713  )
 17714  
 17715  // SelectiveAuth_Values returns all elements of the SelectiveAuth enum
 17716  func SelectiveAuth_Values() []string {
 17717  	return []string{
 17718  		SelectiveAuthEnabled,
 17719  		SelectiveAuthDisabled,
 17720  	}
 17721  }
 17722  
 17723  const (
 17724  	// ShareMethodOrganizations is a ShareMethod enum value
 17725  	ShareMethodOrganizations = "ORGANIZATIONS"
 17726  
 17727  	// ShareMethodHandshake is a ShareMethod enum value
 17728  	ShareMethodHandshake = "HANDSHAKE"
 17729  )
 17730  
 17731  // ShareMethod_Values returns all elements of the ShareMethod enum
 17732  func ShareMethod_Values() []string {
 17733  	return []string{
 17734  		ShareMethodOrganizations,
 17735  		ShareMethodHandshake,
 17736  	}
 17737  }
 17738  
 17739  const (
 17740  	// ShareStatusShared is a ShareStatus enum value
 17741  	ShareStatusShared = "Shared"
 17742  
 17743  	// ShareStatusPendingAcceptance is a ShareStatus enum value
 17744  	ShareStatusPendingAcceptance = "PendingAcceptance"
 17745  
 17746  	// ShareStatusRejected is a ShareStatus enum value
 17747  	ShareStatusRejected = "Rejected"
 17748  
 17749  	// ShareStatusRejecting is a ShareStatus enum value
 17750  	ShareStatusRejecting = "Rejecting"
 17751  
 17752  	// ShareStatusRejectFailed is a ShareStatus enum value
 17753  	ShareStatusRejectFailed = "RejectFailed"
 17754  
 17755  	// ShareStatusSharing is a ShareStatus enum value
 17756  	ShareStatusSharing = "Sharing"
 17757  
 17758  	// ShareStatusShareFailed is a ShareStatus enum value
 17759  	ShareStatusShareFailed = "ShareFailed"
 17760  
 17761  	// ShareStatusDeleted is a ShareStatus enum value
 17762  	ShareStatusDeleted = "Deleted"
 17763  
 17764  	// ShareStatusDeleting is a ShareStatus enum value
 17765  	ShareStatusDeleting = "Deleting"
 17766  )
 17767  
 17768  // ShareStatus_Values returns all elements of the ShareStatus enum
 17769  func ShareStatus_Values() []string {
 17770  	return []string{
 17771  		ShareStatusShared,
 17772  		ShareStatusPendingAcceptance,
 17773  		ShareStatusRejected,
 17774  		ShareStatusRejecting,
 17775  		ShareStatusRejectFailed,
 17776  		ShareStatusSharing,
 17777  		ShareStatusShareFailed,
 17778  		ShareStatusDeleted,
 17779  		ShareStatusDeleting,
 17780  	}
 17781  }
 17782  
 17783  const (
 17784  	// SnapshotStatusCreating is a SnapshotStatus enum value
 17785  	SnapshotStatusCreating = "Creating"
 17786  
 17787  	// SnapshotStatusCompleted is a SnapshotStatus enum value
 17788  	SnapshotStatusCompleted = "Completed"
 17789  
 17790  	// SnapshotStatusFailed is a SnapshotStatus enum value
 17791  	SnapshotStatusFailed = "Failed"
 17792  )
 17793  
 17794  // SnapshotStatus_Values returns all elements of the SnapshotStatus enum
 17795  func SnapshotStatus_Values() []string {
 17796  	return []string{
 17797  		SnapshotStatusCreating,
 17798  		SnapshotStatusCompleted,
 17799  		SnapshotStatusFailed,
 17800  	}
 17801  }
 17802  
 17803  const (
 17804  	// SnapshotTypeAuto is a SnapshotType enum value
 17805  	SnapshotTypeAuto = "Auto"
 17806  
 17807  	// SnapshotTypeManual is a SnapshotType enum value
 17808  	SnapshotTypeManual = "Manual"
 17809  )
 17810  
 17811  // SnapshotType_Values returns all elements of the SnapshotType enum
 17812  func SnapshotType_Values() []string {
 17813  	return []string{
 17814  		SnapshotTypeAuto,
 17815  		SnapshotTypeManual,
 17816  	}
 17817  }
 17818  
 17819  const (
 17820  	// TargetTypeAccount is a TargetType enum value
 17821  	TargetTypeAccount = "ACCOUNT"
 17822  )
 17823  
 17824  // TargetType_Values returns all elements of the TargetType enum
 17825  func TargetType_Values() []string {
 17826  	return []string{
 17827  		TargetTypeAccount,
 17828  	}
 17829  }
 17830  
 17831  const (
 17832  	// TopicStatusRegistered is a TopicStatus enum value
 17833  	TopicStatusRegistered = "Registered"
 17834  
 17835  	// TopicStatusTopicnotfound is a TopicStatus enum value
 17836  	TopicStatusTopicnotfound = "Topic not found"
 17837  
 17838  	// TopicStatusFailed is a TopicStatus enum value
 17839  	TopicStatusFailed = "Failed"
 17840  
 17841  	// TopicStatusDeleted is a TopicStatus enum value
 17842  	TopicStatusDeleted = "Deleted"
 17843  )
 17844  
 17845  // TopicStatus_Values returns all elements of the TopicStatus enum
 17846  func TopicStatus_Values() []string {
 17847  	return []string{
 17848  		TopicStatusRegistered,
 17849  		TopicStatusTopicnotfound,
 17850  		TopicStatusFailed,
 17851  		TopicStatusDeleted,
 17852  	}
 17853  }
 17854  
 17855  const (
 17856  	// TrustDirectionOneWayOutgoing is a TrustDirection enum value
 17857  	TrustDirectionOneWayOutgoing = "One-Way: Outgoing"
 17858  
 17859  	// TrustDirectionOneWayIncoming is a TrustDirection enum value
 17860  	TrustDirectionOneWayIncoming = "One-Way: Incoming"
 17861  
 17862  	// TrustDirectionTwoWay is a TrustDirection enum value
 17863  	TrustDirectionTwoWay = "Two-Way"
 17864  )
 17865  
 17866  // TrustDirection_Values returns all elements of the TrustDirection enum
 17867  func TrustDirection_Values() []string {
 17868  	return []string{
 17869  		TrustDirectionOneWayOutgoing,
 17870  		TrustDirectionOneWayIncoming,
 17871  		TrustDirectionTwoWay,
 17872  	}
 17873  }
 17874  
 17875  const (
 17876  	// TrustStateCreating is a TrustState enum value
 17877  	TrustStateCreating = "Creating"
 17878  
 17879  	// TrustStateCreated is a TrustState enum value
 17880  	TrustStateCreated = "Created"
 17881  
 17882  	// TrustStateVerifying is a TrustState enum value
 17883  	TrustStateVerifying = "Verifying"
 17884  
 17885  	// TrustStateVerifyFailed is a TrustState enum value
 17886  	TrustStateVerifyFailed = "VerifyFailed"
 17887  
 17888  	// TrustStateVerified is a TrustState enum value
 17889  	TrustStateVerified = "Verified"
 17890  
 17891  	// TrustStateUpdating is a TrustState enum value
 17892  	TrustStateUpdating = "Updating"
 17893  
 17894  	// TrustStateUpdateFailed is a TrustState enum value
 17895  	TrustStateUpdateFailed = "UpdateFailed"
 17896  
 17897  	// TrustStateUpdated is a TrustState enum value
 17898  	TrustStateUpdated = "Updated"
 17899  
 17900  	// TrustStateDeleting is a TrustState enum value
 17901  	TrustStateDeleting = "Deleting"
 17902  
 17903  	// TrustStateDeleted is a TrustState enum value
 17904  	TrustStateDeleted = "Deleted"
 17905  
 17906  	// TrustStateFailed is a TrustState enum value
 17907  	TrustStateFailed = "Failed"
 17908  )
 17909  
 17910  // TrustState_Values returns all elements of the TrustState enum
 17911  func TrustState_Values() []string {
 17912  	return []string{
 17913  		TrustStateCreating,
 17914  		TrustStateCreated,
 17915  		TrustStateVerifying,
 17916  		TrustStateVerifyFailed,
 17917  		TrustStateVerified,
 17918  		TrustStateUpdating,
 17919  		TrustStateUpdateFailed,
 17920  		TrustStateUpdated,
 17921  		TrustStateDeleting,
 17922  		TrustStateDeleted,
 17923  		TrustStateFailed,
 17924  	}
 17925  }
 17926  
 17927  const (
 17928  	// TrustTypeForest is a TrustType enum value
 17929  	TrustTypeForest = "Forest"
 17930  
 17931  	// TrustTypeExternal is a TrustType enum value
 17932  	TrustTypeExternal = "External"
 17933  )
 17934  
 17935  // TrustType_Values returns all elements of the TrustType enum
 17936  func TrustType_Values() []string {
 17937  	return []string{
 17938  		TrustTypeForest,
 17939  		TrustTypeExternal,
 17940  	}
 17941  }