-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Amazon Directory Service SDK.
--   
--   The types from this library are intended to be used with
--   <a>amazonka</a>, which provides mechanisms for specifying AuthN/AuthZ
--   information, sending requests, and receiving responses.
--   
--   Lenses are used for constructing and manipulating types, due to the
--   depth of nesting of AWS types and transparency regarding
--   de/serialisation into more palatable Haskell values. The provided
--   lenses should be compatible with any of the major lens libraries such
--   as <a>lens</a> or <a>lens-family-core</a>.
--   
--   See <a>Network.AWS.DirectoryService</a> or <a>the AWS
--   documentation</a> to get started.
@package amazonka-ds
@version 1.6.0


module Network.AWS.DirectoryService.Types

-- | API version <tt>2015-04-16</tt> of the Amazon Directory Service SDK
--   configuration.
directoryService :: Service

-- | The specified directory is unavailable or could not be found.
_DirectoryUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An authentication error occurred.
_AuthenticationFailedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | One or more parameters are not valid.
_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The operation is not supported.
_UnsupportedOperationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified entity already exists.
_EntityAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum number of directories in the region has been reached. You
--   can use the <tt>GetDirectoryLimits</tt> operation to determine your
--   directory limits in the region.
_DirectoryLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum allowed number of IP addresses was exceeded. The default
--   limit is 100 IP address blocks.
_IPRouteLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified entity could not be found.
_EntityDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The account does not have sufficient permission to perform the
--   operation.
_InsufficientPermissionsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The <i>NextToken</i> value is not valid.
_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An exception has occurred in AWS Directory Service.
_ServiceException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum number of manual snapshots for the directory has been
--   reached. You can use the <tt>GetSnapshotLimits</tt> operation to
--   determine the snapshot limits for a directory.
_SnapshotLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum allowed number of domain controllers per directory was
--   exceeded. The default limit per directory is 20 domain controllers.
_DomainControllerLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum allowed number of tags was exceeded.
_TagLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A client exception has occurred.
_ClientException :: AsError a => Getting (First ServiceError) a ServiceError
data DirectoryEdition
Enterprise :: DirectoryEdition
Standard :: DirectoryEdition
data DirectorySize
Large :: DirectorySize
Small :: DirectorySize
data DirectoryStage
DSActive :: DirectoryStage
DSCreated :: DirectoryStage
DSCreating :: DirectoryStage
DSDeleted :: DirectoryStage
DSDeleting :: DirectoryStage
DSFailed :: DirectoryStage
DSImpaired :: DirectoryStage
DSInoperable :: DirectoryStage
DSRequested :: DirectoryStage
DSRestoreFailed :: DirectoryStage
DSRestoring :: DirectoryStage
data DirectoryType
ADConnector :: DirectoryType
MicrosoftAD :: DirectoryType
SimpleAD :: DirectoryType
data DomainControllerStatus
Active :: DomainControllerStatus
Creating :: DomainControllerStatus
Deleted :: DomainControllerStatus
Deleting :: DomainControllerStatus
Failed :: DomainControllerStatus
Impaired :: DomainControllerStatus
Restoring :: DomainControllerStatus
data IPRouteStatusMsg
AddFailed :: IPRouteStatusMsg
Added :: IPRouteStatusMsg
Adding :: IPRouteStatusMsg
RemoveFailed :: IPRouteStatusMsg
Removed :: IPRouteStatusMsg
Removing :: IPRouteStatusMsg
data RadiusAuthenticationProtocol
Chap :: RadiusAuthenticationProtocol
MsCHAPV1 :: RadiusAuthenticationProtocol
MsCHAPV2 :: RadiusAuthenticationProtocol
Pap :: RadiusAuthenticationProtocol
data RadiusStatus
RSCompleted :: RadiusStatus
RSCreating :: RadiusStatus
RSFailed :: RadiusStatus
data ReplicationScope
Domain :: ReplicationScope
data SchemaExtensionStatus
SESCancelInProgress :: SchemaExtensionStatus
SESCancelled :: SchemaExtensionStatus
SESCompleted :: SchemaExtensionStatus
SESCreatingSnapshot :: SchemaExtensionStatus
SESFailed :: SchemaExtensionStatus
SESInitializing :: SchemaExtensionStatus
SESReplicating :: SchemaExtensionStatus
SESRollbackInProgress :: SchemaExtensionStatus
SESUpdatingSchema :: SchemaExtensionStatus
data SnapshotStatus
SSCompleted :: SnapshotStatus
SSCreating :: SnapshotStatus
SSFailed :: SnapshotStatus
data SnapshotType
Auto :: SnapshotType
Manual :: SnapshotType
data TopicStatus
TDeleted :: TopicStatus
TFailed :: TopicStatus
TRegistered :: TopicStatus
TTopicNotFound :: TopicStatus
data TrustDirection
OneWayIncoming :: TrustDirection
OneWayOutgoing :: TrustDirection
TwoWay :: TrustDirection
data TrustState
TSCreated :: TrustState
TSCreating :: TrustState
TSDeleted :: TrustState
TSDeleting :: TrustState
TSFailed :: TrustState
TSVerified :: TrustState
TSVerifyFailed :: TrustState
TSVerifying :: TrustState
data TrustType
Forest :: TrustType

-- | Represents a named directory attribute.
--   
--   <i>See:</i> <a>attribute</a> smart constructor.
data Attribute

-- | Creates a value of <a>Attribute</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aValue</a> - The value of the attribute.</li>
--   <li><a>aName</a> - The name of the attribute.</li>
--   </ul>
attribute :: Attribute

-- | The value of the attribute.
aValue :: Lens' Attribute (Maybe Text)

-- | The name of the attribute.
aName :: Lens' Attribute (Maybe Text)

-- | Contains information about a computer account in a directory.
--   
--   <i>See:</i> <a>computer</a> smart constructor.
data Computer

-- | Creates a value of <a>Computer</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cComputerId</a> - The identifier of the computer.</li>
--   <li><a>cComputerAttributes</a> - An array of <a>Attribute</a> objects
--   containing the LDAP attributes that belong to the computer
--   account.</li>
--   <li><a>cComputerName</a> - The computer name.</li>
--   </ul>
computer :: Computer

-- | The identifier of the computer.
cComputerId :: Lens' Computer (Maybe Text)

-- | An array of <a>Attribute</a> objects containing the LDAP attributes
--   that belong to the computer account.
cComputerAttributes :: Lens' Computer [Attribute]

-- | The computer name.
cComputerName :: Lens' Computer (Maybe Text)

-- | Points to a remote domain with which you are setting up a trust
--   relationship. Conditional forwarders are required in order to set up a
--   trust relationship with another domain.
--   
--   <i>See:</i> <a>conditionalForwarder</a> smart constructor.
data ConditionalForwarder

-- | Creates a value of <a>ConditionalForwarder</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfDNSIPAddrs</a> - The IP addresses of the remote DNS server
--   associated with RemoteDomainName. This is the IP address of the DNS
--   server that your conditional forwarder points to.</li>
--   <li><a>cfRemoteDomainName</a> - The fully qualified domain name (FQDN)
--   of the remote domains pointed to by the conditional forwarder.</li>
--   <li><a>cfReplicationScope</a> - The replication scope of the
--   conditional forwarder. The only allowed value is <tt>Domain</tt> ,
--   which will replicate the conditional forwarder to all of the domain
--   controllers for your AWS directory.</li>
--   </ul>
conditionalForwarder :: ConditionalForwarder

-- | The IP addresses of the remote DNS server associated with
--   RemoteDomainName. This is the IP address of the DNS server that your
--   conditional forwarder points to.
cfDNSIPAddrs :: Lens' ConditionalForwarder [Text]

-- | The fully qualified domain name (FQDN) of the remote domains pointed
--   to by the conditional forwarder.
cfRemoteDomainName :: Lens' ConditionalForwarder (Maybe Text)

-- | The replication scope of the conditional forwarder. The only allowed
--   value is <tt>Domain</tt> , which will replicate the conditional
--   forwarder to all of the domain controllers for your AWS directory.
cfReplicationScope :: Lens' ConditionalForwarder (Maybe ReplicationScope)

-- | Contains information for the <tt>ConnectDirectory</tt> operation when
--   an AD Connector directory is being created.
--   
--   <i>See:</i> <a>directoryConnectSettings</a> smart constructor.
data DirectoryConnectSettings

-- | Creates a value of <a>DirectoryConnectSettings</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcsVPCId</a> - The identifier of the VPC in which the AD
--   Connector is created.</li>
--   <li><a>dcsSubnetIds</a> - A list of subnet identifiers in the VPC in
--   which the AD Connector is created.</li>
--   <li><a>dcsCustomerDNSIPs</a> - A list of one or more IP addresses of
--   DNS servers or domain controllers in the on-premises directory.</li>
--   <li><a>dcsCustomerUserName</a> - The username of an account in the
--   on-premises directory that is used to connect to the directory. This
--   account must have the following privileges: * Read users and groups *
--   Create computer objects * Join computers to the domain</li>
--   </ul>
directoryConnectSettings :: Text -> Text -> DirectoryConnectSettings

-- | The identifier of the VPC in which the AD Connector is created.
dcsVPCId :: Lens' DirectoryConnectSettings Text

-- | A list of subnet identifiers in the VPC in which the AD Connector is
--   created.
dcsSubnetIds :: Lens' DirectoryConnectSettings [Text]

-- | A list of one or more IP addresses of DNS servers or domain
--   controllers in the on-premises directory.
dcsCustomerDNSIPs :: Lens' DirectoryConnectSettings [Text]

-- | The username of an account in the on-premises directory that is used
--   to connect to the directory. This account must have the following
--   privileges: * Read users and groups * Create computer objects * Join
--   computers to the domain
dcsCustomerUserName :: Lens' DirectoryConnectSettings Text

-- | Contains information about an AD Connector directory.
--   
--   <i>See:</i> <a>directoryConnectSettingsDescription</a> smart
--   constructor.
data DirectoryConnectSettingsDescription

-- | Creates a value of <a>DirectoryConnectSettingsDescription</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcsdCustomerUserName</a> - The username of the service account
--   in the on-premises directory.</li>
--   <li><a>dcsdSubnetIds</a> - A list of subnet identifiers in the VPC
--   that the AD connector is in.</li>
--   <li><a>dcsdVPCId</a> - The identifier of the VPC that the AD Connector
--   is in.</li>
--   <li><a>dcsdSecurityGroupId</a> - The security group identifier for the
--   AD Connector directory.</li>
--   <li><a>dcsdConnectIPs</a> - The IP addresses of the AD Connector
--   servers.</li>
--   <li><a>dcsdAvailabilityZones</a> - A list of the Availability Zones
--   that the directory is in.</li>
--   </ul>
directoryConnectSettingsDescription :: DirectoryConnectSettingsDescription

-- | The username of the service account in the on-premises directory.
dcsdCustomerUserName :: Lens' DirectoryConnectSettingsDescription (Maybe Text)

-- | A list of subnet identifiers in the VPC that the AD connector is in.
dcsdSubnetIds :: Lens' DirectoryConnectSettingsDescription [Text]

-- | The identifier of the VPC that the AD Connector is in.
dcsdVPCId :: Lens' DirectoryConnectSettingsDescription (Maybe Text)

-- | The security group identifier for the AD Connector directory.
dcsdSecurityGroupId :: Lens' DirectoryConnectSettingsDescription (Maybe Text)

-- | The IP addresses of the AD Connector servers.
dcsdConnectIPs :: Lens' DirectoryConnectSettingsDescription [Text]

-- | A list of the Availability Zones that the directory is in.
dcsdAvailabilityZones :: Lens' DirectoryConnectSettingsDescription [Text]

-- | Contains information about an AWS Directory Service directory.
--   
--   <i>See:</i> <a>directoryDescription</a> smart constructor.
data DirectoryDescription

-- | Creates a value of <a>DirectoryDescription</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddEdition</a> - The edition associated with this
--   directory.</li>
--   <li><a>ddRadiusStatus</a> - The status of the RADIUS MFA server
--   connection.</li>
--   <li><a>ddStage</a> - The current stage of the directory.</li>
--   <li><a>ddDirectoryId</a> - The directory identifier.</li>
--   <li><a>ddAccessURL</a> - The access URL for the directory, such as
--   <tt><a>http://&lt;alias&gt;.awsapps.com</a></tt> . If no alias has
--   been created for the directory, <tt><a>alias</a></tt> is the directory
--   identifier, such as <tt>d-XXXXXXXXXX</tt> .</li>
--   <li><a>ddShortName</a> - The short name of the directory.</li>
--   <li><a>ddSize</a> - The directory size.</li>
--   <li><a>ddDesiredNumberOfDomainControllers</a> - The desired number of
--   domain controllers in the directory if the directory is Microsoft
--   AD.</li>
--   <li><a>ddRadiusSettings</a> - A <a>RadiusSettings</a> object that
--   contains information about the RADIUS server configured for this
--   directory.</li>
--   <li><a>ddLaunchTime</a> - Specifies when the directory was
--   created.</li>
--   <li><a>ddAlias</a> - The alias for the directory. If no alias has been
--   created for the directory, the alias is the directory identifier, such
--   as <tt>d-XXXXXXXXXX</tt> .</li>
--   <li><a>ddName</a> - The fully-qualified name of the directory.</li>
--   <li><a>ddStageLastUpdatedDateTime</a> - The date and time that the
--   stage was last updated.</li>
--   <li><a>ddSSOEnabled</a> - Indicates if single-sign on is enabled for
--   the directory. For more information, see <tt>EnableSso</tt> and
--   <tt>DisableSso</tt> .</li>
--   <li><a>ddDNSIPAddrs</a> - The IP addresses of the DNS servers for the
--   directory. For a Simple AD or Microsoft AD directory, these are the IP
--   addresses of the Simple AD or Microsoft AD directory servers. For an
--   AD Connector directory, these are the IP addresses of the DNS servers
--   or domain controllers in the on-premises directory to which the AD
--   Connector is connected.</li>
--   <li><a>ddVPCSettings</a> - A <tt>DirectoryVpcSettingsDescription</tt>
--   object that contains additional information about a directory. This
--   member is only present if the directory is a Simple AD or Managed AD
--   directory.</li>
--   <li><a>ddType</a> - The directory size.</li>
--   <li><a>ddStageReason</a> - Additional information about the directory
--   stage.</li>
--   <li><a>ddConnectSettings</a> - A
--   <a>DirectoryConnectSettingsDescription</a> object that contains
--   additional information about an AD Connector directory. This member is
--   only present if the directory is an AD Connector directory.</li>
--   <li><a>ddDescription</a> - The textual description for the
--   directory.</li>
--   </ul>
directoryDescription :: DirectoryDescription

-- | The edition associated with this directory.
ddEdition :: Lens' DirectoryDescription (Maybe DirectoryEdition)

-- | The status of the RADIUS MFA server connection.
ddRadiusStatus :: Lens' DirectoryDescription (Maybe RadiusStatus)

-- | The current stage of the directory.
ddStage :: Lens' DirectoryDescription (Maybe DirectoryStage)

-- | The directory identifier.
ddDirectoryId :: Lens' DirectoryDescription (Maybe Text)

-- | The access URL for the directory, such as
--   <tt><a>http://&lt;alias&gt;.awsapps.com</a></tt> . If no alias has
--   been created for the directory, <tt><a>alias</a></tt> is the directory
--   identifier, such as <tt>d-XXXXXXXXXX</tt> .
ddAccessURL :: Lens' DirectoryDescription (Maybe Text)

-- | The short name of the directory.
ddShortName :: Lens' DirectoryDescription (Maybe Text)

-- | The directory size.
ddSize :: Lens' DirectoryDescription (Maybe DirectorySize)

-- | The desired number of domain controllers in the directory if the
--   directory is Microsoft AD.
ddDesiredNumberOfDomainControllers :: Lens' DirectoryDescription (Maybe Natural)

-- | A <a>RadiusSettings</a> object that contains information about the
--   RADIUS server configured for this directory.
ddRadiusSettings :: Lens' DirectoryDescription (Maybe RadiusSettings)

-- | Specifies when the directory was created.
ddLaunchTime :: Lens' DirectoryDescription (Maybe UTCTime)

-- | The alias for the directory. If no alias has been created for the
--   directory, the alias is the directory identifier, such as
--   <tt>d-XXXXXXXXXX</tt> .
ddAlias :: Lens' DirectoryDescription (Maybe Text)

-- | The fully-qualified name of the directory.
ddName :: Lens' DirectoryDescription (Maybe Text)

-- | The date and time that the stage was last updated.
ddStageLastUpdatedDateTime :: Lens' DirectoryDescription (Maybe UTCTime)

-- | Indicates if single-sign on is enabled for the directory. For more
--   information, see <tt>EnableSso</tt> and <tt>DisableSso</tt> .
ddSSOEnabled :: Lens' DirectoryDescription (Maybe Bool)

-- | The IP addresses of the DNS servers for the directory. For a Simple AD
--   or Microsoft AD directory, these are the IP addresses of the Simple AD
--   or Microsoft AD directory servers. For an AD Connector directory,
--   these are the IP addresses of the DNS servers or domain controllers in
--   the on-premises directory to which the AD Connector is connected.
ddDNSIPAddrs :: Lens' DirectoryDescription [Text]

-- | A <tt>DirectoryVpcSettingsDescription</tt> object that contains
--   additional information about a directory. This member is only present
--   if the directory is a Simple AD or Managed AD directory.
ddVPCSettings :: Lens' DirectoryDescription (Maybe DirectoryVPCSettingsDescription)

-- | The directory size.
ddType :: Lens' DirectoryDescription (Maybe DirectoryType)

-- | Additional information about the directory stage.
ddStageReason :: Lens' DirectoryDescription (Maybe Text)

-- | A <a>DirectoryConnectSettingsDescription</a> object that contains
--   additional information about an AD Connector directory. This member is
--   only present if the directory is an AD Connector directory.
ddConnectSettings :: Lens' DirectoryDescription (Maybe DirectoryConnectSettingsDescription)

-- | The textual description for the directory.
ddDescription :: Lens' DirectoryDescription (Maybe Text)

-- | Contains directory limit information for a region.
--   
--   <i>See:</i> <a>directoryLimits</a> smart constructor.
data DirectoryLimits

-- | Creates a value of <a>DirectoryLimits</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlConnectedDirectoriesCurrentCount</a> - The current number of
--   connected directories in the region.</li>
--   <li><a>dlCloudOnlyMicrosoftADLimitReached</a> - Indicates if the
--   Microsoft AD directory limit has been reached.</li>
--   <li><a>dlConnectedDirectoriesLimit</a> - The maximum number of
--   connected directories allowed in the region.</li>
--   <li><a>dlConnectedDirectoriesLimitReached</a> - Indicates if the
--   connected directory limit has been reached.</li>
--   <li><a>dlCloudOnlyMicrosoftADLimit</a> - The maximum number of
--   Microsoft AD directories allowed in the region.</li>
--   <li><a>dlCloudOnlyDirectoriesLimit</a> - The maximum number of cloud
--   directories allowed in the region.</li>
--   <li><a>dlCloudOnlyDirectoriesCurrentCount</a> - The current number of
--   cloud directories in the region.</li>
--   <li><a>dlCloudOnlyDirectoriesLimitReached</a> - Indicates if the cloud
--   directory limit has been reached.</li>
--   <li><a>dlCloudOnlyMicrosoftADCurrentCount</a> - The current number of
--   Microsoft AD directories in the region.</li>
--   </ul>
directoryLimits :: DirectoryLimits

-- | The current number of connected directories in the region.
dlConnectedDirectoriesCurrentCount :: Lens' DirectoryLimits (Maybe Natural)

-- | Indicates if the Microsoft AD directory limit has been reached.
dlCloudOnlyMicrosoftADLimitReached :: Lens' DirectoryLimits (Maybe Bool)

-- | The maximum number of connected directories allowed in the region.
dlConnectedDirectoriesLimit :: Lens' DirectoryLimits (Maybe Natural)

-- | Indicates if the connected directory limit has been reached.
dlConnectedDirectoriesLimitReached :: Lens' DirectoryLimits (Maybe Bool)

-- | The maximum number of Microsoft AD directories allowed in the region.
dlCloudOnlyMicrosoftADLimit :: Lens' DirectoryLimits (Maybe Natural)

-- | The maximum number of cloud directories allowed in the region.
dlCloudOnlyDirectoriesLimit :: Lens' DirectoryLimits (Maybe Natural)

-- | The current number of cloud directories in the region.
dlCloudOnlyDirectoriesCurrentCount :: Lens' DirectoryLimits (Maybe Natural)

-- | Indicates if the cloud directory limit has been reached.
dlCloudOnlyDirectoriesLimitReached :: Lens' DirectoryLimits (Maybe Bool)

-- | The current number of Microsoft AD directories in the region.
dlCloudOnlyMicrosoftADCurrentCount :: Lens' DirectoryLimits (Maybe Natural)

-- | Contains VPC information for the <tt>CreateDirectory</tt> or
--   <tt>CreateMicrosoftAD</tt> operation.
--   
--   <i>See:</i> <a>directoryVPCSettings</a> smart constructor.
data DirectoryVPCSettings

-- | Creates a value of <a>DirectoryVPCSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dvsVPCId</a> - The identifier of the VPC in which to create the
--   directory.</li>
--   <li><a>dvsSubnetIds</a> - The identifiers of the subnets for the
--   directory servers. The two subnets must be in different Availability
--   Zones. AWS Directory Service creates a directory server and a DNS
--   server in each of these subnets.</li>
--   </ul>
directoryVPCSettings :: Text -> DirectoryVPCSettings

-- | The identifier of the VPC in which to create the directory.
dvsVPCId :: Lens' DirectoryVPCSettings Text

-- | The identifiers of the subnets for the directory servers. The two
--   subnets must be in different Availability Zones. AWS Directory Service
--   creates a directory server and a DNS server in each of these subnets.
dvsSubnetIds :: Lens' DirectoryVPCSettings [Text]

-- | Contains information about the directory.
--   
--   <i>See:</i> <a>directoryVPCSettingsDescription</a> smart constructor.
data DirectoryVPCSettingsDescription

-- | Creates a value of <a>DirectoryVPCSettingsDescription</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dvsdSubnetIds</a> - The identifiers of the subnets for the
--   directory servers.</li>
--   <li><a>dvsdVPCId</a> - The identifier of the VPC that the directory is
--   in.</li>
--   <li><a>dvsdSecurityGroupId</a> - The domain controller security group
--   identifier for the directory.</li>
--   <li><a>dvsdAvailabilityZones</a> - The list of Availability Zones that
--   the directory is in.</li>
--   </ul>
directoryVPCSettingsDescription :: DirectoryVPCSettingsDescription

-- | The identifiers of the subnets for the directory servers.
dvsdSubnetIds :: Lens' DirectoryVPCSettingsDescription [Text]

-- | The identifier of the VPC that the directory is in.
dvsdVPCId :: Lens' DirectoryVPCSettingsDescription (Maybe Text)

-- | The domain controller security group identifier for the directory.
dvsdSecurityGroupId :: Lens' DirectoryVPCSettingsDescription (Maybe Text)

-- | The list of Availability Zones that the directory is in.
dvsdAvailabilityZones :: Lens' DirectoryVPCSettingsDescription [Text]

-- | Contains information about the domain controllers for a specified
--   directory.
--   
--   <i>See:</i> <a>domainController</a> smart constructor.
data DomainController

-- | Creates a value of <a>DomainController</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcStatus</a> - The status of the domain controller.</li>
--   <li><a>dcDirectoryId</a> - Identifier of the directory where the
--   domain controller resides.</li>
--   <li><a>dcVPCId</a> - The identifier of the VPC that contains the
--   domain controller.</li>
--   <li><a>dcLaunchTime</a> - Specifies when the domain controller was
--   created.</li>
--   <li><a>dcSubnetId</a> - Identifier of the subnet in the VPC that
--   contains the domain controller.</li>
--   <li><a>dcAvailabilityZone</a> - The Availability Zone where the domain
--   controller is located.</li>
--   <li><a>dcStatusLastUpdatedDateTime</a> - The date and time that the
--   status was last updated.</li>
--   <li><a>dcStatusReason</a> - A description of the domain controller
--   state.</li>
--   <li><a>dcDNSIPAddr</a> - The IP address of the domain controller.</li>
--   <li><a>dcDomainControllerId</a> - Identifies a specific domain
--   controller in the directory.</li>
--   </ul>
domainController :: DomainController

-- | The status of the domain controller.
dcStatus :: Lens' DomainController (Maybe DomainControllerStatus)

-- | Identifier of the directory where the domain controller resides.
dcDirectoryId :: Lens' DomainController (Maybe Text)

-- | The identifier of the VPC that contains the domain controller.
dcVPCId :: Lens' DomainController (Maybe Text)

-- | Specifies when the domain controller was created.
dcLaunchTime :: Lens' DomainController (Maybe UTCTime)

-- | Identifier of the subnet in the VPC that contains the domain
--   controller.
dcSubnetId :: Lens' DomainController (Maybe Text)

-- | The Availability Zone where the domain controller is located.
dcAvailabilityZone :: Lens' DomainController (Maybe Text)

-- | The date and time that the status was last updated.
dcStatusLastUpdatedDateTime :: Lens' DomainController (Maybe UTCTime)

-- | A description of the domain controller state.
dcStatusReason :: Lens' DomainController (Maybe Text)

-- | The IP address of the domain controller.
dcDNSIPAddr :: Lens' DomainController (Maybe Text)

-- | Identifies a specific domain controller in the directory.
dcDomainControllerId :: Lens' DomainController (Maybe Text)

-- | Information about SNS topic and AWS Directory Service directory
--   associations.
--   
--   <i>See:</i> <a>eventTopic</a> smart constructor.
data EventTopic

-- | Creates a value of <a>EventTopic</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etStatus</a> - The topic registration status.</li>
--   <li><a>etDirectoryId</a> - The Directory ID of an AWS Directory
--   Service directory that will publish status messages to an SNS
--   topic.</li>
--   <li><a>etTopicName</a> - The name of an AWS SNS topic the receives
--   status messages from the directory.</li>
--   <li><a>etTopicARN</a> - The SNS topic ARN (Amazon Resource Name).</li>
--   <li><a>etCreatedDateTime</a> - The date and time of when you
--   associated your directory with the SNS topic.</li>
--   </ul>
eventTopic :: EventTopic

-- | The topic registration status.
etStatus :: Lens' EventTopic (Maybe TopicStatus)

-- | The Directory ID of an AWS Directory Service directory that will
--   publish status messages to an SNS topic.
etDirectoryId :: Lens' EventTopic (Maybe Text)

-- | The name of an AWS SNS topic the receives status messages from the
--   directory.
etTopicName :: Lens' EventTopic (Maybe Text)

-- | The SNS topic ARN (Amazon Resource Name).
etTopicARN :: Lens' EventTopic (Maybe Text)

-- | The date and time of when you associated your directory with the SNS
--   topic.
etCreatedDateTime :: Lens' EventTopic (Maybe UTCTime)

-- | IP address block. This is often the address block of the DNS server
--   used for your on-premises domain.
--   
--   <i>See:</i> <a>ipRoute</a> smart constructor.
data IPRoute

-- | Creates a value of <a>IPRoute</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irCidrIP</a> - IP address block using CIDR format, for example
--   10.0.0.0<i>24. This is often the address block of the DNS server used
--   for your on-premises domain. For a single IP address use a CIDR
--   address block with </i>32. For example 10.0.0.0/32.</li>
--   <li><a>irDescription</a> - Description of the address block.</li>
--   </ul>
ipRoute :: IPRoute

-- | IP address block using CIDR format, for example 10.0.0.0<i>24. This is
--   often the address block of the DNS server used for your on-premises
--   domain. For a single IP address use a CIDR address block with </i>32.
--   For example 10.0.0.0/32.
irCidrIP :: Lens' IPRoute (Maybe Text)

-- | Description of the address block.
irDescription :: Lens' IPRoute (Maybe Text)

-- | Information about one or more IP address blocks.
--   
--   <i>See:</i> <a>ipRouteInfo</a> smart constructor.
data IPRouteInfo

-- | Creates a value of <a>IPRouteInfo</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iriDirectoryId</a> - Identifier (ID) of the directory
--   associated with the IP addresses.</li>
--   <li><a>iriIPRouteStatusReason</a> - The reason for the
--   IpRouteStatusMsg.</li>
--   <li><a>iriAddedDateTime</a> - The date and time the address block was
--   added to the directory.</li>
--   <li><a>iriCidrIP</a> - IP address block in the <tt>IpRoute</tt> .</li>
--   <li><a>iriIPRouteStatusMsg</a> - The status of the IP address
--   block.</li>
--   <li><a>iriDescription</a> - Description of the <tt>IpRouteInfo</tt>
--   .</li>
--   </ul>
ipRouteInfo :: IPRouteInfo

-- | Identifier (ID) of the directory associated with the IP addresses.
iriDirectoryId :: Lens' IPRouteInfo (Maybe Text)

-- | The reason for the IpRouteStatusMsg.
iriIPRouteStatusReason :: Lens' IPRouteInfo (Maybe Text)

-- | The date and time the address block was added to the directory.
iriAddedDateTime :: Lens' IPRouteInfo (Maybe UTCTime)

-- | IP address block in the <tt>IpRoute</tt> .
iriCidrIP :: Lens' IPRouteInfo (Maybe Text)

-- | The status of the IP address block.
iriIPRouteStatusMsg :: Lens' IPRouteInfo (Maybe IPRouteStatusMsg)

-- | Description of the <tt>IpRouteInfo</tt> .
iriDescription :: Lens' IPRouteInfo (Maybe Text)

-- | Contains information about a Remote Authentication Dial In User
--   Service (RADIUS) server.
--   
--   <i>See:</i> <a>radiusSettings</a> smart constructor.
data RadiusSettings

-- | Creates a value of <a>RadiusSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rsDisplayLabel</a> - Not currently used.</li>
--   <li><a>rsRadiusRetries</a> - The maximum number of times that
--   communication with the RADIUS server is attempted.</li>
--   <li><a>rsAuthenticationProtocol</a> - The protocol specified for your
--   RADIUS endpoints.</li>
--   <li><a>rsRadiusServers</a> - An array of strings that contains the IP
--   addresses of the RADIUS server endpoints, or the IP addresses of your
--   RADIUS server load balancer.</li>
--   <li><a>rsUseSameUsername</a> - Not currently used.</li>
--   <li><a>rsSharedSecret</a> - Not currently used.</li>
--   <li><a>rsRadiusTimeout</a> - The amount of time, in seconds, to wait
--   for the RADIUS server to respond.</li>
--   <li><a>rsRadiusPort</a> - The port that your RADIUS server is using
--   for communications. Your on-premises network must allow inbound
--   traffic over this port from the AWS Directory Service servers.</li>
--   </ul>
radiusSettings :: RadiusSettings

-- | Not currently used.
rsDisplayLabel :: Lens' RadiusSettings (Maybe Text)

-- | The maximum number of times that communication with the RADIUS server
--   is attempted.
rsRadiusRetries :: Lens' RadiusSettings (Maybe Natural)

-- | The protocol specified for your RADIUS endpoints.
rsAuthenticationProtocol :: Lens' RadiusSettings (Maybe RadiusAuthenticationProtocol)

-- | An array of strings that contains the IP addresses of the RADIUS
--   server endpoints, or the IP addresses of your RADIUS server load
--   balancer.
rsRadiusServers :: Lens' RadiusSettings [Text]

-- | Not currently used.
rsUseSameUsername :: Lens' RadiusSettings (Maybe Bool)

-- | Not currently used.
rsSharedSecret :: Lens' RadiusSettings (Maybe Text)

-- | The amount of time, in seconds, to wait for the RADIUS server to
--   respond.
rsRadiusTimeout :: Lens' RadiusSettings (Maybe Natural)

-- | The port that your RADIUS server is using for communications. Your
--   on-premises network must allow inbound traffic over this port from the
--   AWS Directory Service servers.
rsRadiusPort :: Lens' RadiusSettings (Maybe Natural)

-- | Information about a schema extension.
--   
--   <i>See:</i> <a>schemaExtensionInfo</a> smart constructor.
data SchemaExtensionInfo

-- | Creates a value of <a>SchemaExtensionInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>seiDirectoryId</a> - The identifier of the directory to which
--   the schema extension is applied.</li>
--   <li><a>seiSchemaExtensionId</a> - The identifier of the schema
--   extension.</li>
--   <li><a>seiSchemaExtensionStatusReason</a> - The reason for the
--   <tt>SchemaExtensionStatus</tt> .</li>
--   <li><a>seiSchemaExtensionStatus</a> - The current status of the schema
--   extension.</li>
--   <li><a>seiDescription</a> - A description of the schema
--   extension.</li>
--   <li><a>seiEndDateTime</a> - The date and time that the schema
--   extension was completed.</li>
--   <li><a>seiStartDateTime</a> - The date and time that the schema
--   extension started being applied to the directory.</li>
--   </ul>
schemaExtensionInfo :: SchemaExtensionInfo

-- | The identifier of the directory to which the schema extension is
--   applied.
seiDirectoryId :: Lens' SchemaExtensionInfo (Maybe Text)

-- | The identifier of the schema extension.
seiSchemaExtensionId :: Lens' SchemaExtensionInfo (Maybe Text)

-- | The reason for the <tt>SchemaExtensionStatus</tt> .
seiSchemaExtensionStatusReason :: Lens' SchemaExtensionInfo (Maybe Text)

-- | The current status of the schema extension.
seiSchemaExtensionStatus :: Lens' SchemaExtensionInfo (Maybe SchemaExtensionStatus)

-- | A description of the schema extension.
seiDescription :: Lens' SchemaExtensionInfo (Maybe Text)

-- | The date and time that the schema extension was completed.
seiEndDateTime :: Lens' SchemaExtensionInfo (Maybe UTCTime)

-- | The date and time that the schema extension started being applied to
--   the directory.
seiStartDateTime :: Lens' SchemaExtensionInfo (Maybe UTCTime)

-- | Describes a directory snapshot.
--   
--   <i>See:</i> <a>snapshot</a> smart constructor.
data Snapshot

-- | Creates a value of <a>Snapshot</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sStatus</a> - The snapshot status.</li>
--   <li><a>sDirectoryId</a> - The directory identifier.</li>
--   <li><a>sStartTime</a> - The date and time that the snapshot was
--   taken.</li>
--   <li><a>sName</a> - The descriptive name of the snapshot.</li>
--   <li><a>sType</a> - The snapshot type.</li>
--   <li><a>sSnapshotId</a> - The snapshot identifier.</li>
--   </ul>
snapshot :: Snapshot

-- | The snapshot status.
sStatus :: Lens' Snapshot (Maybe SnapshotStatus)

-- | The directory identifier.
sDirectoryId :: Lens' Snapshot (Maybe Text)

-- | The date and time that the snapshot was taken.
sStartTime :: Lens' Snapshot (Maybe UTCTime)

-- | The descriptive name of the snapshot.
sName :: Lens' Snapshot (Maybe Text)

-- | The snapshot type.
sType :: Lens' Snapshot (Maybe SnapshotType)

-- | The snapshot identifier.
sSnapshotId :: Lens' Snapshot (Maybe Text)

-- | Contains manual snapshot limit information for a directory.
--   
--   <i>See:</i> <a>snapshotLimits</a> smart constructor.
data SnapshotLimits

-- | Creates a value of <a>SnapshotLimits</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>slManualSnapshotsLimitReached</a> - Indicates if the manual
--   snapshot limit has been reached.</li>
--   <li><a>slManualSnapshotsCurrentCount</a> - The current number of
--   manual snapshots of the directory.</li>
--   <li><a>slManualSnapshotsLimit</a> - The maximum number of manual
--   snapshots allowed.</li>
--   </ul>
snapshotLimits :: SnapshotLimits

-- | Indicates if the manual snapshot limit has been reached.
slManualSnapshotsLimitReached :: Lens' SnapshotLimits (Maybe Bool)

-- | The current number of manual snapshots of the directory.
slManualSnapshotsCurrentCount :: Lens' SnapshotLimits (Maybe Natural)

-- | The maximum number of manual snapshots allowed.
slManualSnapshotsLimit :: Lens' SnapshotLimits (Maybe Natural)

-- | Metadata assigned to a directory consisting of a key-value pair.
--   
--   <i>See:</i> <a>tag</a> smart constructor.
data Tag

-- | Creates a value of <a>Tag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tagKey</a> - Required name of the tag. The string value can be
--   Unicode characters and cannot be prefixed with "aws:". The string can
--   contain only the set of Unicode letters, digits, white-space, '_',
--   <a>.</a>, <a>/</a>, '=', <a>+</a>, <a>-</a> (Java regex:
--   "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").</li>
--   <li><a>tagValue</a> - The optional value of the tag. The string value
--   can be Unicode characters. The string can contain only the set of
--   Unicode letters, digits, white-space, '_', <a>.</a>, <a>/</a>, '=',
--   <a>+</a>, <a>-</a> (Java regex:
--   "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").</li>
--   </ul>
tag :: Text -> Text -> Tag

-- | Required name of the tag. The string value can be Unicode characters
--   and cannot be prefixed with "aws:". The string can contain only the
--   set of Unicode letters, digits, white-space, '_', <a>.</a>, <a>/</a>,
--   '=', <a>+</a>, <a>-</a> (Java regex:
--   "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").
tagKey :: Lens' Tag Text

-- | The optional value of the tag. The string value can be Unicode
--   characters. The string can contain only the set of Unicode letters,
--   digits, white-space, '_', <a>.</a>, <a>/</a>, '=', <a>+</a>, <a>-</a>
--   (Java regex: "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").
tagValue :: Lens' Tag Text

-- | Describes a trust relationship between an Microsoft AD in the AWS
--   cloud and an external domain.
--   
--   <i>See:</i> <a>trust</a> smart constructor.
data Trust

-- | Creates a value of <a>Trust</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tDirectoryId</a> - The Directory ID of the AWS directory
--   involved in the trust relationship.</li>
--   <li><a>tTrustState</a> - The trust relationship state.</li>
--   <li><a>tLastUpdatedDateTime</a> - The date and time that the trust
--   relationship was last updated.</li>
--   <li><a>tTrustDirection</a> - The trust relationship direction.</li>
--   <li><a>tStateLastUpdatedDateTime</a> - The date and time that the
--   TrustState was last updated.</li>
--   <li><a>tTrustType</a> - The trust relationship type.</li>
--   <li><a>tTrustStateReason</a> - The reason for the TrustState.</li>
--   <li><a>tRemoteDomainName</a> - The Fully Qualified Domain Name (FQDN)
--   of the external domain involved in the trust relationship.</li>
--   <li><a>tTrustId</a> - The unique ID of the trust relationship.</li>
--   <li><a>tCreatedDateTime</a> - The date and time that the trust
--   relationship was created.</li>
--   </ul>
trust :: Trust

-- | The Directory ID of the AWS directory involved in the trust
--   relationship.
tDirectoryId :: Lens' Trust (Maybe Text)

-- | The trust relationship state.
tTrustState :: Lens' Trust (Maybe TrustState)

-- | The date and time that the trust relationship was last updated.
tLastUpdatedDateTime :: Lens' Trust (Maybe UTCTime)

-- | The trust relationship direction.
tTrustDirection :: Lens' Trust (Maybe TrustDirection)

-- | The date and time that the TrustState was last updated.
tStateLastUpdatedDateTime :: Lens' Trust (Maybe UTCTime)

-- | The trust relationship type.
tTrustType :: Lens' Trust (Maybe TrustType)

-- | The reason for the TrustState.
tTrustStateReason :: Lens' Trust (Maybe Text)

-- | The Fully Qualified Domain Name (FQDN) of the external domain involved
--   in the trust relationship.
tRemoteDomainName :: Lens' Trust (Maybe Text)

-- | The unique ID of the trust relationship.
tTrustId :: Lens' Trust (Maybe Text)

-- | The date and time that the trust relationship was created.
tCreatedDateTime :: Lens' Trust (Maybe UTCTime)


-- | Applies a schema extension to a Microsoft AD directory.
module Network.AWS.DirectoryService.StartSchemaExtension

-- | Creates a value of <a>StartSchemaExtension</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sseDirectoryId</a> - The identifier of the directory for which
--   the schema extension will be applied to.</li>
--   <li><a>sseCreateSnapshotBeforeSchemaExtension</a> - If true, creates a
--   snapshot of the directory before applying the schema extension.</li>
--   <li><a>sseLdifContent</a> - The LDIF file represented as a string. To
--   construct the LdifContent string, precede each line as it would be
--   formatted in an ldif file with n. See the example request below for
--   more details. The file size can be no larger than 1MB.</li>
--   <li><a>sseDescription</a> - A description of the schema
--   extension.</li>
--   </ul>
startSchemaExtension :: Text -> Bool -> Text -> Text -> StartSchemaExtension

-- | <i>See:</i> <a>startSchemaExtension</a> smart constructor.
data StartSchemaExtension

-- | The identifier of the directory for which the schema extension will be
--   applied to.
sseDirectoryId :: Lens' StartSchemaExtension Text

-- | If true, creates a snapshot of the directory before applying the
--   schema extension.
sseCreateSnapshotBeforeSchemaExtension :: Lens' StartSchemaExtension Bool

-- | The LDIF file represented as a string. To construct the LdifContent
--   string, precede each line as it would be formatted in an ldif file
--   with n. See the example request below for more details. The file size
--   can be no larger than 1MB.
sseLdifContent :: Lens' StartSchemaExtension Text

-- | A description of the schema extension.
sseDescription :: Lens' StartSchemaExtension Text

-- | Creates a value of <a>StartSchemaExtensionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ssersSchemaExtensionId</a> - The identifier of the schema
--   extension that will be applied.</li>
--   <li><a>ssersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
startSchemaExtensionResponse :: Int -> StartSchemaExtensionResponse

-- | <i>See:</i> <a>startSchemaExtensionResponse</a> smart constructor.
data StartSchemaExtensionResponse

-- | The identifier of the schema extension that will be applied.
ssersSchemaExtensionId :: Lens' StartSchemaExtensionResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ssersResponseStatus :: Lens' StartSchemaExtensionResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.StartSchemaExtension.StartSchemaExtensionResponse
instance Data.Data.Data Network.AWS.DirectoryService.StartSchemaExtension.StartSchemaExtensionResponse
instance GHC.Show.Show Network.AWS.DirectoryService.StartSchemaExtension.StartSchemaExtensionResponse
instance GHC.Read.Read Network.AWS.DirectoryService.StartSchemaExtension.StartSchemaExtensionResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.StartSchemaExtension.StartSchemaExtensionResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.StartSchemaExtension.StartSchemaExtension
instance Data.Data.Data Network.AWS.DirectoryService.StartSchemaExtension.StartSchemaExtension
instance GHC.Show.Show Network.AWS.DirectoryService.StartSchemaExtension.StartSchemaExtension
instance GHC.Read.Read Network.AWS.DirectoryService.StartSchemaExtension.StartSchemaExtension
instance GHC.Classes.Eq Network.AWS.DirectoryService.StartSchemaExtension.StartSchemaExtension
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.StartSchemaExtension.StartSchemaExtension
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.StartSchemaExtension.StartSchemaExtensionResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.StartSchemaExtension.StartSchemaExtension
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.StartSchemaExtension.StartSchemaExtension
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.StartSchemaExtension.StartSchemaExtension
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.StartSchemaExtension.StartSchemaExtension
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.StartSchemaExtension.StartSchemaExtension
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.StartSchemaExtension.StartSchemaExtension


-- | Restores a directory using an existing directory snapshot.
--   
--   When you restore a directory from a snapshot, any changes made to the
--   directory after the snapshot date are overwritten.
--   
--   This action returns as soon as the restore operation is initiated. You
--   can monitor the progress of the restore operation by calling the
--   <tt>DescribeDirectories</tt> operation with the directory identifier.
--   When the <b>DirectoryDescription.Stage</b> value changes to
--   <tt>Active</tt> , the restore operation is complete.
module Network.AWS.DirectoryService.RestoreFromSnapshot

-- | Creates a value of <a>RestoreFromSnapshot</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rfsSnapshotId</a> - The identifier of the snapshot to restore
--   from.</li>
--   </ul>
restoreFromSnapshot :: Text -> RestoreFromSnapshot

-- | An object representing the inputs for the <a>RestoreFromSnapshot</a>
--   operation.
--   
--   <i>See:</i> <a>restoreFromSnapshot</a> smart constructor.
data RestoreFromSnapshot

-- | The identifier of the snapshot to restore from.
rfsSnapshotId :: Lens' RestoreFromSnapshot Text

-- | Creates a value of <a>RestoreFromSnapshotResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rfsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
restoreFromSnapshotResponse :: Int -> RestoreFromSnapshotResponse

-- | Contains the results of the <a>RestoreFromSnapshot</a> operation.
--   
--   <i>See:</i> <a>restoreFromSnapshotResponse</a> smart constructor.
data RestoreFromSnapshotResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rfsrsResponseStatus :: Lens' RestoreFromSnapshotResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.RestoreFromSnapshot.RestoreFromSnapshotResponse
instance Data.Data.Data Network.AWS.DirectoryService.RestoreFromSnapshot.RestoreFromSnapshotResponse
instance GHC.Show.Show Network.AWS.DirectoryService.RestoreFromSnapshot.RestoreFromSnapshotResponse
instance GHC.Read.Read Network.AWS.DirectoryService.RestoreFromSnapshot.RestoreFromSnapshotResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.RestoreFromSnapshot.RestoreFromSnapshotResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.RestoreFromSnapshot.RestoreFromSnapshot
instance Data.Data.Data Network.AWS.DirectoryService.RestoreFromSnapshot.RestoreFromSnapshot
instance GHC.Show.Show Network.AWS.DirectoryService.RestoreFromSnapshot.RestoreFromSnapshot
instance GHC.Read.Read Network.AWS.DirectoryService.RestoreFromSnapshot.RestoreFromSnapshot
instance GHC.Classes.Eq Network.AWS.DirectoryService.RestoreFromSnapshot.RestoreFromSnapshot
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.RestoreFromSnapshot.RestoreFromSnapshot
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.RestoreFromSnapshot.RestoreFromSnapshotResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.RestoreFromSnapshot.RestoreFromSnapshot
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.RestoreFromSnapshot.RestoreFromSnapshot
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.RestoreFromSnapshot.RestoreFromSnapshot
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.RestoreFromSnapshot.RestoreFromSnapshot
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.RestoreFromSnapshot.RestoreFromSnapshot
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.RestoreFromSnapshot.RestoreFromSnapshot


-- | Removes tags from a directory.
module Network.AWS.DirectoryService.RemoveTagsFromResource

-- | Creates a value of <a>RemoveTagsFromResource</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rtfrResourceId</a> - Identifier (ID) of the directory from
--   which to remove the tag.</li>
--   <li><a>rtfrTagKeys</a> - The tag key (name) of the tag to be
--   removed.</li>
--   </ul>
removeTagsFromResource :: Text -> RemoveTagsFromResource

-- | <i>See:</i> <a>removeTagsFromResource</a> smart constructor.
data RemoveTagsFromResource

-- | Identifier (ID) of the directory from which to remove the tag.
rtfrResourceId :: Lens' RemoveTagsFromResource Text

-- | The tag key (name) of the tag to be removed.
rtfrTagKeys :: Lens' RemoveTagsFromResource [Text]

-- | Creates a value of <a>RemoveTagsFromResourceResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rtfrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
removeTagsFromResourceResponse :: Int -> RemoveTagsFromResourceResponse

-- | <i>See:</i> <a>removeTagsFromResourceResponse</a> smart constructor.
data RemoveTagsFromResourceResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rtfrrsResponseStatus :: Lens' RemoveTagsFromResourceResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance Data.Data.Data Network.AWS.DirectoryService.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance GHC.Show.Show Network.AWS.DirectoryService.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance GHC.Read.Read Network.AWS.DirectoryService.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.RemoveTagsFromResource.RemoveTagsFromResource
instance Data.Data.Data Network.AWS.DirectoryService.RemoveTagsFromResource.RemoveTagsFromResource
instance GHC.Show.Show Network.AWS.DirectoryService.RemoveTagsFromResource.RemoveTagsFromResource
instance GHC.Read.Read Network.AWS.DirectoryService.RemoveTagsFromResource.RemoveTagsFromResource
instance GHC.Classes.Eq Network.AWS.DirectoryService.RemoveTagsFromResource.RemoveTagsFromResource
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.RemoveTagsFromResource.RemoveTagsFromResource
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.RemoveTagsFromResource.RemoveTagsFromResource
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.RemoveTagsFromResource.RemoveTagsFromResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.RemoveTagsFromResource.RemoveTagsFromResource
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.RemoveTagsFromResource.RemoveTagsFromResource
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.RemoveTagsFromResource.RemoveTagsFromResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.RemoveTagsFromResource.RemoveTagsFromResource


-- | Removes IP address blocks from a directory.
module Network.AWS.DirectoryService.RemoveIPRoutes

-- | Creates a value of <a>RemoveIPRoutes</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rirDirectoryId</a> - Identifier (ID) of the directory from
--   which you want to remove the IP addresses.</li>
--   <li><a>rirCidrIPs</a> - IP address blocks that you want to
--   remove.</li>
--   </ul>
removeIPRoutes :: Text -> RemoveIPRoutes

-- | <i>See:</i> <a>removeIPRoutes</a> smart constructor.
data RemoveIPRoutes

-- | Identifier (ID) of the directory from which you want to remove the IP
--   addresses.
rirDirectoryId :: Lens' RemoveIPRoutes Text

-- | IP address blocks that you want to remove.
rirCidrIPs :: Lens' RemoveIPRoutes [Text]

-- | Creates a value of <a>RemoveIPRoutesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rirrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
removeIPRoutesResponse :: Int -> RemoveIPRoutesResponse

-- | <i>See:</i> <a>removeIPRoutesResponse</a> smart constructor.
data RemoveIPRoutesResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rirrsResponseStatus :: Lens' RemoveIPRoutesResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.RemoveIPRoutes.RemoveIPRoutesResponse
instance Data.Data.Data Network.AWS.DirectoryService.RemoveIPRoutes.RemoveIPRoutesResponse
instance GHC.Show.Show Network.AWS.DirectoryService.RemoveIPRoutes.RemoveIPRoutesResponse
instance GHC.Read.Read Network.AWS.DirectoryService.RemoveIPRoutes.RemoveIPRoutesResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.RemoveIPRoutes.RemoveIPRoutesResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.RemoveIPRoutes.RemoveIPRoutes
instance Data.Data.Data Network.AWS.DirectoryService.RemoveIPRoutes.RemoveIPRoutes
instance GHC.Show.Show Network.AWS.DirectoryService.RemoveIPRoutes.RemoveIPRoutes
instance GHC.Read.Read Network.AWS.DirectoryService.RemoveIPRoutes.RemoveIPRoutes
instance GHC.Classes.Eq Network.AWS.DirectoryService.RemoveIPRoutes.RemoveIPRoutes
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.RemoveIPRoutes.RemoveIPRoutes
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.RemoveIPRoutes.RemoveIPRoutesResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.RemoveIPRoutes.RemoveIPRoutes
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.RemoveIPRoutes.RemoveIPRoutes
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.RemoveIPRoutes.RemoveIPRoutes
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.RemoveIPRoutes.RemoveIPRoutes
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.RemoveIPRoutes.RemoveIPRoutes
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.RemoveIPRoutes.RemoveIPRoutes


-- | Associates a directory with an SNS topic. This establishes the
--   directory as a publisher to the specified SNS topic. You can then
--   receive email or text (SMS) messages when the status of your directory
--   changes. You get notified if your directory goes from an Active status
--   to an Impaired or Inoperable status. You also receive a notification
--   when the directory returns to an Active status.
module Network.AWS.DirectoryService.RegisterEventTopic

-- | Creates a value of <a>RegisterEventTopic</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>retDirectoryId</a> - The Directory ID that will publish status
--   messages to the SNS topic.</li>
--   <li><a>retTopicName</a> - The SNS topic name to which the directory
--   will publish status messages. This SNS topic must be in the same
--   region as the specified Directory ID.</li>
--   </ul>
registerEventTopic :: Text -> Text -> RegisterEventTopic

-- | Registers a new event topic.
--   
--   <i>See:</i> <a>registerEventTopic</a> smart constructor.
data RegisterEventTopic

-- | The Directory ID that will publish status messages to the SNS topic.
retDirectoryId :: Lens' RegisterEventTopic Text

-- | The SNS topic name to which the directory will publish status
--   messages. This SNS topic must be in the same region as the specified
--   Directory ID.
retTopicName :: Lens' RegisterEventTopic Text

-- | Creates a value of <a>RegisterEventTopicResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>retrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
registerEventTopicResponse :: Int -> RegisterEventTopicResponse

-- | The result of a RegisterEventTopic request.
--   
--   <i>See:</i> <a>registerEventTopicResponse</a> smart constructor.
data RegisterEventTopicResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
retrsResponseStatus :: Lens' RegisterEventTopicResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.RegisterEventTopic.RegisterEventTopicResponse
instance Data.Data.Data Network.AWS.DirectoryService.RegisterEventTopic.RegisterEventTopicResponse
instance GHC.Show.Show Network.AWS.DirectoryService.RegisterEventTopic.RegisterEventTopicResponse
instance GHC.Read.Read Network.AWS.DirectoryService.RegisterEventTopic.RegisterEventTopicResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.RegisterEventTopic.RegisterEventTopicResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.RegisterEventTopic.RegisterEventTopic
instance Data.Data.Data Network.AWS.DirectoryService.RegisterEventTopic.RegisterEventTopic
instance GHC.Show.Show Network.AWS.DirectoryService.RegisterEventTopic.RegisterEventTopic
instance GHC.Read.Read Network.AWS.DirectoryService.RegisterEventTopic.RegisterEventTopic
instance GHC.Classes.Eq Network.AWS.DirectoryService.RegisterEventTopic.RegisterEventTopic
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.RegisterEventTopic.RegisterEventTopic
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.RegisterEventTopic.RegisterEventTopicResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.RegisterEventTopic.RegisterEventTopic
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.RegisterEventTopic.RegisterEventTopic
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.RegisterEventTopic.RegisterEventTopic
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.RegisterEventTopic.RegisterEventTopic
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.RegisterEventTopic.RegisterEventTopic
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.RegisterEventTopic.RegisterEventTopic


-- | Lists all tags on a directory.
module Network.AWS.DirectoryService.ListTagsForResource

-- | Creates a value of <a>ListTagsForResource</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ltfrNextToken</a> - Reserved for future use.</li>
--   <li><a>ltfrLimit</a> - Reserved for future use.</li>
--   <li><a>ltfrResourceId</a> - Identifier (ID) of the directory for which
--   you want to retrieve tags.</li>
--   </ul>
listTagsForResource :: Text -> ListTagsForResource

-- | <i>See:</i> <a>listTagsForResource</a> smart constructor.
data ListTagsForResource

-- | Reserved for future use.
ltfrNextToken :: Lens' ListTagsForResource (Maybe Text)

-- | Reserved for future use.
ltfrLimit :: Lens' ListTagsForResource (Maybe Natural)

-- | Identifier (ID) of the directory for which you want to retrieve tags.
ltfrResourceId :: Lens' ListTagsForResource Text

-- | Creates a value of <a>ListTagsForResourceResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ltfrrsNextToken</a> - Reserved for future use.</li>
--   <li><a>ltfrrsTags</a> - List of tags returned by the
--   ListTagsForResource operation.</li>
--   <li><a>ltfrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listTagsForResourceResponse :: Int -> ListTagsForResourceResponse

-- | <i>See:</i> <a>listTagsForResourceResponse</a> smart constructor.
data ListTagsForResourceResponse

-- | Reserved for future use.
ltfrrsNextToken :: Lens' ListTagsForResourceResponse (Maybe Text)

-- | List of tags returned by the ListTagsForResource operation.
ltfrrsTags :: Lens' ListTagsForResourceResponse [Tag]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ltfrrsResponseStatus :: Lens' ListTagsForResourceResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.ListTagsForResource.ListTagsForResourceResponse
instance Data.Data.Data Network.AWS.DirectoryService.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Show.Show Network.AWS.DirectoryService.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Read.Read Network.AWS.DirectoryService.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.ListTagsForResource.ListTagsForResource
instance Data.Data.Data Network.AWS.DirectoryService.ListTagsForResource.ListTagsForResource
instance GHC.Show.Show Network.AWS.DirectoryService.ListTagsForResource.ListTagsForResource
instance GHC.Read.Read Network.AWS.DirectoryService.ListTagsForResource.ListTagsForResource
instance GHC.Classes.Eq Network.AWS.DirectoryService.ListTagsForResource.ListTagsForResource
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.ListTagsForResource.ListTagsForResource
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.ListTagsForResource.ListTagsForResourceResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.ListTagsForResource.ListTagsForResource
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.ListTagsForResource.ListTagsForResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.ListTagsForResource.ListTagsForResource
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.ListTagsForResource.ListTagsForResource
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.ListTagsForResource.ListTagsForResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.ListTagsForResource.ListTagsForResource


-- | Lists all schema extensions applied to a Microsoft AD Directory.
module Network.AWS.DirectoryService.ListSchemaExtensions

-- | Creates a value of <a>ListSchemaExtensions</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lseNextToken</a> - The <tt>ListSchemaExtensions.NextToken</tt>
--   value from a previous call to <tt>ListSchemaExtensions</tt> . Pass
--   null if this is the first call.</li>
--   <li><a>lseLimit</a> - The maximum number of items to return.</li>
--   <li><a>lseDirectoryId</a> - The identifier of the directory from which
--   to retrieve the schema extension information.</li>
--   </ul>
listSchemaExtensions :: Text -> ListSchemaExtensions

-- | <i>See:</i> <a>listSchemaExtensions</a> smart constructor.
data ListSchemaExtensions

-- | The <tt>ListSchemaExtensions.NextToken</tt> value from a previous call
--   to <tt>ListSchemaExtensions</tt> . Pass null if this is the first
--   call.
lseNextToken :: Lens' ListSchemaExtensions (Maybe Text)

-- | The maximum number of items to return.
lseLimit :: Lens' ListSchemaExtensions (Maybe Natural)

-- | The identifier of the directory from which to retrieve the schema
--   extension information.
lseDirectoryId :: Lens' ListSchemaExtensions Text

-- | Creates a value of <a>ListSchemaExtensionsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lsersSchemaExtensionsInfo</a> - Information about the schema
--   extensions applied to the directory.</li>
--   <li><a>lsersNextToken</a> - If not null, more results are available.
--   Pass this value for the <tt>NextToken</tt> parameter in a subsequent
--   call to <tt>ListSchemaExtensions</tt> to retrieve the next set of
--   items.</li>
--   <li><a>lsersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listSchemaExtensionsResponse :: Int -> ListSchemaExtensionsResponse

-- | <i>See:</i> <a>listSchemaExtensionsResponse</a> smart constructor.
data ListSchemaExtensionsResponse

-- | Information about the schema extensions applied to the directory.
lsersSchemaExtensionsInfo :: Lens' ListSchemaExtensionsResponse [SchemaExtensionInfo]

-- | If not null, more results are available. Pass this value for the
--   <tt>NextToken</tt> parameter in a subsequent call to
--   <tt>ListSchemaExtensions</tt> to retrieve the next set of items.
lsersNextToken :: Lens' ListSchemaExtensionsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lsersResponseStatus :: Lens' ListSchemaExtensionsResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.ListSchemaExtensions.ListSchemaExtensionsResponse
instance Data.Data.Data Network.AWS.DirectoryService.ListSchemaExtensions.ListSchemaExtensionsResponse
instance GHC.Show.Show Network.AWS.DirectoryService.ListSchemaExtensions.ListSchemaExtensionsResponse
instance GHC.Read.Read Network.AWS.DirectoryService.ListSchemaExtensions.ListSchemaExtensionsResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.ListSchemaExtensions.ListSchemaExtensionsResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.ListSchemaExtensions.ListSchemaExtensions
instance Data.Data.Data Network.AWS.DirectoryService.ListSchemaExtensions.ListSchemaExtensions
instance GHC.Show.Show Network.AWS.DirectoryService.ListSchemaExtensions.ListSchemaExtensions
instance GHC.Read.Read Network.AWS.DirectoryService.ListSchemaExtensions.ListSchemaExtensions
instance GHC.Classes.Eq Network.AWS.DirectoryService.ListSchemaExtensions.ListSchemaExtensions
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.ListSchemaExtensions.ListSchemaExtensions
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.ListSchemaExtensions.ListSchemaExtensionsResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.ListSchemaExtensions.ListSchemaExtensions
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.ListSchemaExtensions.ListSchemaExtensions
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.ListSchemaExtensions.ListSchemaExtensions
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.ListSchemaExtensions.ListSchemaExtensions
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.ListSchemaExtensions.ListSchemaExtensions
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.ListSchemaExtensions.ListSchemaExtensions


-- | Lists the address blocks that you have added to a directory.
module Network.AWS.DirectoryService.ListIPRoutes

-- | Creates a value of <a>ListIPRoutes</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lirNextToken</a> - The <i>ListIpRoutes.NextToken</i> value from
--   a previous call to <tt>ListIpRoutes</tt> . Pass null if this is the
--   first call.</li>
--   <li><a>lirLimit</a> - Maximum number of items to return. If this value
--   is zero, the maximum number of items is specified by the limitations
--   of the operation.</li>
--   <li><a>lirDirectoryId</a> - Identifier (ID) of the directory for which
--   you want to retrieve the IP addresses.</li>
--   </ul>
listIPRoutes :: Text -> ListIPRoutes

-- | <i>See:</i> <a>listIPRoutes</a> smart constructor.
data ListIPRoutes

-- | The <i>ListIpRoutes.NextToken</i> value from a previous call to
--   <tt>ListIpRoutes</tt> . Pass null if this is the first call.
lirNextToken :: Lens' ListIPRoutes (Maybe Text)

-- | Maximum number of items to return. If this value is zero, the maximum
--   number of items is specified by the limitations of the operation.
lirLimit :: Lens' ListIPRoutes (Maybe Natural)

-- | Identifier (ID) of the directory for which you want to retrieve the IP
--   addresses.
lirDirectoryId :: Lens' ListIPRoutes Text

-- | Creates a value of <a>ListIPRoutesResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lirrsIPRoutesInfo</a> - A list of <tt>IpRoute</tt> s.</li>
--   <li><a>lirrsNextToken</a> - If not null, more results are available.
--   Pass this value for the <i>NextToken</i> parameter in a subsequent
--   call to <tt>ListIpRoutes</tt> to retrieve the next set of items.</li>
--   <li><a>lirrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listIPRoutesResponse :: Int -> ListIPRoutesResponse

-- | <i>See:</i> <a>listIPRoutesResponse</a> smart constructor.
data ListIPRoutesResponse

-- | A list of <tt>IpRoute</tt> s.
lirrsIPRoutesInfo :: Lens' ListIPRoutesResponse [IPRouteInfo]

-- | If not null, more results are available. Pass this value for the
--   <i>NextToken</i> parameter in a subsequent call to
--   <tt>ListIpRoutes</tt> to retrieve the next set of items.
lirrsNextToken :: Lens' ListIPRoutesResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lirrsResponseStatus :: Lens' ListIPRoutesResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.ListIPRoutes.ListIPRoutesResponse
instance Data.Data.Data Network.AWS.DirectoryService.ListIPRoutes.ListIPRoutesResponse
instance GHC.Show.Show Network.AWS.DirectoryService.ListIPRoutes.ListIPRoutesResponse
instance GHC.Read.Read Network.AWS.DirectoryService.ListIPRoutes.ListIPRoutesResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.ListIPRoutes.ListIPRoutesResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.ListIPRoutes.ListIPRoutes
instance Data.Data.Data Network.AWS.DirectoryService.ListIPRoutes.ListIPRoutes
instance GHC.Show.Show Network.AWS.DirectoryService.ListIPRoutes.ListIPRoutes
instance GHC.Read.Read Network.AWS.DirectoryService.ListIPRoutes.ListIPRoutes
instance GHC.Classes.Eq Network.AWS.DirectoryService.ListIPRoutes.ListIPRoutes
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.ListIPRoutes.ListIPRoutes
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.ListIPRoutes.ListIPRoutesResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.ListIPRoutes.ListIPRoutes
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.ListIPRoutes.ListIPRoutes
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.ListIPRoutes.ListIPRoutes
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.ListIPRoutes.ListIPRoutes
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.ListIPRoutes.ListIPRoutes
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.ListIPRoutes.ListIPRoutes


-- | Obtains the manual snapshot limits for a directory.
module Network.AWS.DirectoryService.GetSnapshotLimits

-- | Creates a value of <a>GetSnapshotLimits</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gslDirectoryId</a> - Contains the identifier of the directory
--   to obtain the limits for.</li>
--   </ul>
getSnapshotLimits :: Text -> GetSnapshotLimits

-- | Contains the inputs for the <a>GetSnapshotLimits</a> operation.
--   
--   <i>See:</i> <a>getSnapshotLimits</a> smart constructor.
data GetSnapshotLimits

-- | Contains the identifier of the directory to obtain the limits for.
gslDirectoryId :: Lens' GetSnapshotLimits Text

-- | Creates a value of <a>GetSnapshotLimitsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gslrsSnapshotLimits</a> - A <a>SnapshotLimits</a> object that
--   contains the manual snapshot limits for the specified directory.</li>
--   <li><a>gslrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getSnapshotLimitsResponse :: Int -> GetSnapshotLimitsResponse

-- | Contains the results of the <a>GetSnapshotLimits</a> operation.
--   
--   <i>See:</i> <a>getSnapshotLimitsResponse</a> smart constructor.
data GetSnapshotLimitsResponse

-- | A <a>SnapshotLimits</a> object that contains the manual snapshot
--   limits for the specified directory.
gslrsSnapshotLimits :: Lens' GetSnapshotLimitsResponse (Maybe SnapshotLimits)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gslrsResponseStatus :: Lens' GetSnapshotLimitsResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.GetSnapshotLimits.GetSnapshotLimitsResponse
instance Data.Data.Data Network.AWS.DirectoryService.GetSnapshotLimits.GetSnapshotLimitsResponse
instance GHC.Show.Show Network.AWS.DirectoryService.GetSnapshotLimits.GetSnapshotLimitsResponse
instance GHC.Read.Read Network.AWS.DirectoryService.GetSnapshotLimits.GetSnapshotLimitsResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.GetSnapshotLimits.GetSnapshotLimitsResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.GetSnapshotLimits.GetSnapshotLimits
instance Data.Data.Data Network.AWS.DirectoryService.GetSnapshotLimits.GetSnapshotLimits
instance GHC.Show.Show Network.AWS.DirectoryService.GetSnapshotLimits.GetSnapshotLimits
instance GHC.Read.Read Network.AWS.DirectoryService.GetSnapshotLimits.GetSnapshotLimits
instance GHC.Classes.Eq Network.AWS.DirectoryService.GetSnapshotLimits.GetSnapshotLimits
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.GetSnapshotLimits.GetSnapshotLimits
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.GetSnapshotLimits.GetSnapshotLimitsResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.GetSnapshotLimits.GetSnapshotLimits
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.GetSnapshotLimits.GetSnapshotLimits
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.GetSnapshotLimits.GetSnapshotLimits
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.GetSnapshotLimits.GetSnapshotLimits
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.GetSnapshotLimits.GetSnapshotLimits
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.GetSnapshotLimits.GetSnapshotLimits


-- | Obtains directory limit information for the current region.
module Network.AWS.DirectoryService.GetDirectoryLimits

-- | Creates a value of <a>GetDirectoryLimits</a> with the minimum fields
--   required to make a request.
getDirectoryLimits :: GetDirectoryLimits

-- | Contains the inputs for the <a>GetDirectoryLimits</a> operation.
--   
--   <i>See:</i> <a>getDirectoryLimits</a> smart constructor.
data GetDirectoryLimits

-- | Creates a value of <a>GetDirectoryLimitsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdlrsDirectoryLimits</a> - A <a>DirectoryLimits</a> object that
--   contains the directory limits for the current region.</li>
--   <li><a>gdlrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getDirectoryLimitsResponse :: Int -> GetDirectoryLimitsResponse

-- | Contains the results of the <a>GetDirectoryLimits</a> operation.
--   
--   <i>See:</i> <a>getDirectoryLimitsResponse</a> smart constructor.
data GetDirectoryLimitsResponse

-- | A <a>DirectoryLimits</a> object that contains the directory limits for
--   the current region.
gdlrsDirectoryLimits :: Lens' GetDirectoryLimitsResponse (Maybe DirectoryLimits)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gdlrsResponseStatus :: Lens' GetDirectoryLimitsResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.GetDirectoryLimits.GetDirectoryLimitsResponse
instance Data.Data.Data Network.AWS.DirectoryService.GetDirectoryLimits.GetDirectoryLimitsResponse
instance GHC.Show.Show Network.AWS.DirectoryService.GetDirectoryLimits.GetDirectoryLimitsResponse
instance GHC.Read.Read Network.AWS.DirectoryService.GetDirectoryLimits.GetDirectoryLimitsResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.GetDirectoryLimits.GetDirectoryLimitsResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.GetDirectoryLimits.GetDirectoryLimits
instance Data.Data.Data Network.AWS.DirectoryService.GetDirectoryLimits.GetDirectoryLimits
instance GHC.Show.Show Network.AWS.DirectoryService.GetDirectoryLimits.GetDirectoryLimits
instance GHC.Read.Read Network.AWS.DirectoryService.GetDirectoryLimits.GetDirectoryLimits
instance GHC.Classes.Eq Network.AWS.DirectoryService.GetDirectoryLimits.GetDirectoryLimits
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.GetDirectoryLimits.GetDirectoryLimits
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.GetDirectoryLimits.GetDirectoryLimitsResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.GetDirectoryLimits.GetDirectoryLimits
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.GetDirectoryLimits.GetDirectoryLimits
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.GetDirectoryLimits.GetDirectoryLimits
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.GetDirectoryLimits.GetDirectoryLimits
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.GetDirectoryLimits.GetDirectoryLimits
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.GetDirectoryLimits.GetDirectoryLimits


-- | Enables single sign-on for a directory.
module Network.AWS.DirectoryService.EnableSSO

-- | Creates a value of <a>EnableSSO</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>esUserName</a> - The username of an alternate account to use to
--   enable single-sign on. This is only used for AD Connector directories.
--   This account must have privileges to add a service principal name. If
--   the AD Connector service account does not have privileges to add a
--   service principal name, you can specify an alternate account with the
--   <i>UserName</i> and <i>Password</i> parameters. These credentials are
--   only used to enable single sign-on and are not stored by the service.
--   The AD Connector service account is not changed.</li>
--   <li><a>esPassword</a> - The password of an alternate account to use to
--   enable single-sign on. This is only used for AD Connector directories.
--   For more information, see the <i>UserName</i> parameter.</li>
--   <li><a>esDirectoryId</a> - The identifier of the directory for which
--   to enable single-sign on.</li>
--   </ul>
enableSSO :: Text -> EnableSSO

-- | Contains the inputs for the <tt>EnableSso</tt> operation.
--   
--   <i>See:</i> <a>enableSSO</a> smart constructor.
data EnableSSO

-- | The username of an alternate account to use to enable single-sign on.
--   This is only used for AD Connector directories. This account must have
--   privileges to add a service principal name. If the AD Connector
--   service account does not have privileges to add a service principal
--   name, you can specify an alternate account with the <i>UserName</i>
--   and <i>Password</i> parameters. These credentials are only used to
--   enable single sign-on and are not stored by the service. The AD
--   Connector service account is not changed.
esUserName :: Lens' EnableSSO (Maybe Text)

-- | The password of an alternate account to use to enable single-sign on.
--   This is only used for AD Connector directories. For more information,
--   see the <i>UserName</i> parameter.
esPassword :: Lens' EnableSSO (Maybe Text)

-- | The identifier of the directory for which to enable single-sign on.
esDirectoryId :: Lens' EnableSSO Text

-- | Creates a value of <a>EnableSSOResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>esrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
enableSSOResponse :: Int -> EnableSSOResponse

-- | Contains the results of the <tt>EnableSso</tt> operation.
--   
--   <i>See:</i> <a>enableSSOResponse</a> smart constructor.
data EnableSSOResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
esrsResponseStatus :: Lens' EnableSSOResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.EnableSSO.EnableSSOResponse
instance Data.Data.Data Network.AWS.DirectoryService.EnableSSO.EnableSSOResponse
instance GHC.Show.Show Network.AWS.DirectoryService.EnableSSO.EnableSSOResponse
instance GHC.Read.Read Network.AWS.DirectoryService.EnableSSO.EnableSSOResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.EnableSSO.EnableSSOResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.EnableSSO.EnableSSO
instance Data.Data.Data Network.AWS.DirectoryService.EnableSSO.EnableSSO
instance GHC.Show.Show Network.AWS.DirectoryService.EnableSSO.EnableSSO
instance GHC.Classes.Eq Network.AWS.DirectoryService.EnableSSO.EnableSSO
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.EnableSSO.EnableSSO
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.EnableSSO.EnableSSOResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.EnableSSO.EnableSSO
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.EnableSSO.EnableSSO
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.EnableSSO.EnableSSO
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.EnableSSO.EnableSSO
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.EnableSSO.EnableSSO
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.EnableSSO.EnableSSO


-- | Enables multi-factor authentication (MFA) with the Remote
--   Authentication Dial In User Service (RADIUS) server for an AD
--   Connector directory.
module Network.AWS.DirectoryService.EnableRadius

-- | Creates a value of <a>EnableRadius</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>erDirectoryId</a> - The identifier of the directory for which
--   to enable MFA.</li>
--   <li><a>erRadiusSettings</a> - A <a>RadiusSettings</a> object that
--   contains information about the RADIUS server.</li>
--   </ul>
enableRadius :: Text -> RadiusSettings -> EnableRadius

-- | Contains the inputs for the <a>EnableRadius</a> operation.
--   
--   <i>See:</i> <a>enableRadius</a> smart constructor.
data EnableRadius

-- | The identifier of the directory for which to enable MFA.
erDirectoryId :: Lens' EnableRadius Text

-- | A <a>RadiusSettings</a> object that contains information about the
--   RADIUS server.
erRadiusSettings :: Lens' EnableRadius RadiusSettings

-- | Creates a value of <a>EnableRadiusResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>errsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
enableRadiusResponse :: Int -> EnableRadiusResponse

-- | Contains the results of the <a>EnableRadius</a> operation.
--   
--   <i>See:</i> <a>enableRadiusResponse</a> smart constructor.
data EnableRadiusResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
errsResponseStatus :: Lens' EnableRadiusResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.EnableRadius.EnableRadiusResponse
instance Data.Data.Data Network.AWS.DirectoryService.EnableRadius.EnableRadiusResponse
instance GHC.Show.Show Network.AWS.DirectoryService.EnableRadius.EnableRadiusResponse
instance GHC.Read.Read Network.AWS.DirectoryService.EnableRadius.EnableRadiusResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.EnableRadius.EnableRadiusResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.EnableRadius.EnableRadius
instance Data.Data.Data Network.AWS.DirectoryService.EnableRadius.EnableRadius
instance GHC.Show.Show Network.AWS.DirectoryService.EnableRadius.EnableRadius
instance GHC.Classes.Eq Network.AWS.DirectoryService.EnableRadius.EnableRadius
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.EnableRadius.EnableRadius
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.EnableRadius.EnableRadiusResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.EnableRadius.EnableRadius
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.EnableRadius.EnableRadius
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.EnableRadius.EnableRadius
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.EnableRadius.EnableRadius
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.EnableRadius.EnableRadius
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.EnableRadius.EnableRadius


-- | Disables single-sign on for a directory.
module Network.AWS.DirectoryService.DisableSSO

-- | Creates a value of <a>DisableSSO</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dssoUserName</a> - The username of an alternate account to use
--   to disable single-sign on. This is only used for AD Connector
--   directories. This account must have privileges to remove a service
--   principal name. If the AD Connector service account does not have
--   privileges to remove a service principal name, you can specify an
--   alternate account with the <i>UserName</i> and <i>Password</i>
--   parameters. These credentials are only used to disable single sign-on
--   and are not stored by the service. The AD Connector service account is
--   not changed.</li>
--   <li><a>dssoPassword</a> - The password of an alternate account to use
--   to disable single-sign on. This is only used for AD Connector
--   directories. For more information, see the <i>UserName</i>
--   parameter.</li>
--   <li><a>dssoDirectoryId</a> - The identifier of the directory for which
--   to disable single-sign on.</li>
--   </ul>
disableSSO :: Text -> DisableSSO

-- | Contains the inputs for the <tt>DisableSso</tt> operation.
--   
--   <i>See:</i> <a>disableSSO</a> smart constructor.
data DisableSSO

-- | The username of an alternate account to use to disable single-sign on.
--   This is only used for AD Connector directories. This account must have
--   privileges to remove a service principal name. If the AD Connector
--   service account does not have privileges to remove a service principal
--   name, you can specify an alternate account with the <i>UserName</i>
--   and <i>Password</i> parameters. These credentials are only used to
--   disable single sign-on and are not stored by the service. The AD
--   Connector service account is not changed.
dssoUserName :: Lens' DisableSSO (Maybe Text)

-- | The password of an alternate account to use to disable single-sign on.
--   This is only used for AD Connector directories. For more information,
--   see the <i>UserName</i> parameter.
dssoPassword :: Lens' DisableSSO (Maybe Text)

-- | The identifier of the directory for which to disable single-sign on.
dssoDirectoryId :: Lens' DisableSSO Text

-- | Creates a value of <a>DisableSSOResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dssorsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
disableSSOResponse :: Int -> DisableSSOResponse

-- | Contains the results of the <tt>DisableSso</tt> operation.
--   
--   <i>See:</i> <a>disableSSOResponse</a> smart constructor.
data DisableSSOResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dssorsResponseStatus :: Lens' DisableSSOResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.DisableSSO.DisableSSOResponse
instance Data.Data.Data Network.AWS.DirectoryService.DisableSSO.DisableSSOResponse
instance GHC.Show.Show Network.AWS.DirectoryService.DisableSSO.DisableSSOResponse
instance GHC.Read.Read Network.AWS.DirectoryService.DisableSSO.DisableSSOResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.DisableSSO.DisableSSOResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.DisableSSO.DisableSSO
instance Data.Data.Data Network.AWS.DirectoryService.DisableSSO.DisableSSO
instance GHC.Show.Show Network.AWS.DirectoryService.DisableSSO.DisableSSO
instance GHC.Classes.Eq Network.AWS.DirectoryService.DisableSSO.DisableSSO
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.DisableSSO.DisableSSO
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DisableSSO.DisableSSOResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.DisableSSO.DisableSSO
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DisableSSO.DisableSSO
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.DisableSSO.DisableSSO
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.DisableSSO.DisableSSO
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.DisableSSO.DisableSSO
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.DisableSSO.DisableSSO


-- | Disables multi-factor authentication (MFA) with the Remote
--   Authentication Dial In User Service (RADIUS) server for an AD
--   Connector directory.
module Network.AWS.DirectoryService.DisableRadius

-- | Creates a value of <a>DisableRadius</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drDirectoryId</a> - The identifier of the directory for which
--   to disable MFA.</li>
--   </ul>
disableRadius :: Text -> DisableRadius

-- | Contains the inputs for the <a>DisableRadius</a> operation.
--   
--   <i>See:</i> <a>disableRadius</a> smart constructor.
data DisableRadius

-- | The identifier of the directory for which to disable MFA.
drDirectoryId :: Lens' DisableRadius Text

-- | Creates a value of <a>DisableRadiusResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
disableRadiusResponse :: Int -> DisableRadiusResponse

-- | Contains the results of the <a>DisableRadius</a> operation.
--   
--   <i>See:</i> <a>disableRadiusResponse</a> smart constructor.
data DisableRadiusResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
drrsResponseStatus :: Lens' DisableRadiusResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.DisableRadius.DisableRadiusResponse
instance Data.Data.Data Network.AWS.DirectoryService.DisableRadius.DisableRadiusResponse
instance GHC.Show.Show Network.AWS.DirectoryService.DisableRadius.DisableRadiusResponse
instance GHC.Read.Read Network.AWS.DirectoryService.DisableRadius.DisableRadiusResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.DisableRadius.DisableRadiusResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.DisableRadius.DisableRadius
instance Data.Data.Data Network.AWS.DirectoryService.DisableRadius.DisableRadius
instance GHC.Show.Show Network.AWS.DirectoryService.DisableRadius.DisableRadius
instance GHC.Read.Read Network.AWS.DirectoryService.DisableRadius.DisableRadius
instance GHC.Classes.Eq Network.AWS.DirectoryService.DisableRadius.DisableRadius
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.DisableRadius.DisableRadius
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DisableRadius.DisableRadiusResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.DisableRadius.DisableRadius
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DisableRadius.DisableRadius
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.DisableRadius.DisableRadius
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.DisableRadius.DisableRadius
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.DisableRadius.DisableRadius
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.DisableRadius.DisableRadius


-- | Obtains information about the trust relationships for this account.
--   
--   If no input parameters are provided, such as DirectoryId or TrustIds,
--   this request describes all the trust relationships belonging to the
--   account.
module Network.AWS.DirectoryService.DescribeTrusts

-- | Creates a value of <a>DescribeTrusts</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtDirectoryId</a> - The Directory ID of the AWS directory that
--   is a part of the requested trust relationship.</li>
--   <li><a>dtNextToken</a> - The <i>DescribeTrustsResult.NextToken</i>
--   value from a previous call to <a>DescribeTrusts</a> . Pass null if
--   this is the first call.</li>
--   <li><a>dtTrustIds</a> - A list of identifiers of the trust
--   relationships for which to obtain the information. If this member is
--   null, all trust relationships that belong to the current account are
--   returned. An empty list results in an
--   <tt>InvalidParameterException</tt> being thrown.</li>
--   <li><a>dtLimit</a> - The maximum number of objects to return.</li>
--   </ul>
describeTrusts :: DescribeTrusts

-- | Describes the trust relationships for a particular Microsoft AD in the
--   AWS cloud. If no input parameters are are provided, such as directory
--   ID or trust ID, this request describes all the trust relationships.
--   
--   <i>See:</i> <a>describeTrusts</a> smart constructor.
data DescribeTrusts

-- | The Directory ID of the AWS directory that is a part of the requested
--   trust relationship.
dtDirectoryId :: Lens' DescribeTrusts (Maybe Text)

-- | The <i>DescribeTrustsResult.NextToken</i> value from a previous call
--   to <a>DescribeTrusts</a> . Pass null if this is the first call.
dtNextToken :: Lens' DescribeTrusts (Maybe Text)

-- | A list of identifiers of the trust relationships for which to obtain
--   the information. If this member is null, all trust relationships that
--   belong to the current account are returned. An empty list results in
--   an <tt>InvalidParameterException</tt> being thrown.
dtTrustIds :: Lens' DescribeTrusts [Text]

-- | The maximum number of objects to return.
dtLimit :: Lens' DescribeTrusts (Maybe Natural)

-- | Creates a value of <a>DescribeTrustsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtrsNextToken</a> - If not null, more results are available.
--   Pass this value for the <i>NextToken</i> parameter in a subsequent
--   call to <a>DescribeTrusts</a> to retrieve the next set of items.</li>
--   <li><a>dtrsTrusts</a> - The list of Trust objects that were retrieved.
--   It is possible that this list contains less than the number of items
--   specified in the <i>Limit</i> member of the request. This occurs if
--   there are less than the requested number of items left to retrieve, or
--   if the limitations of the operation have been exceeded.</li>
--   <li><a>dtrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeTrustsResponse :: Int -> DescribeTrustsResponse

-- | The result of a DescribeTrust request.
--   
--   <i>See:</i> <a>describeTrustsResponse</a> smart constructor.
data DescribeTrustsResponse

-- | If not null, more results are available. Pass this value for the
--   <i>NextToken</i> parameter in a subsequent call to
--   <a>DescribeTrusts</a> to retrieve the next set of items.
dtrsNextToken :: Lens' DescribeTrustsResponse (Maybe Text)

-- | The list of Trust objects that were retrieved. It is possible that
--   this list contains less than the number of items specified in the
--   <i>Limit</i> member of the request. This occurs if there are less than
--   the requested number of items left to retrieve, or if the limitations
--   of the operation have been exceeded.
dtrsTrusts :: Lens' DescribeTrustsResponse [Trust]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dtrsResponseStatus :: Lens' DescribeTrustsResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.DescribeTrusts.DescribeTrustsResponse
instance Data.Data.Data Network.AWS.DirectoryService.DescribeTrusts.DescribeTrustsResponse
instance GHC.Show.Show Network.AWS.DirectoryService.DescribeTrusts.DescribeTrustsResponse
instance GHC.Read.Read Network.AWS.DirectoryService.DescribeTrusts.DescribeTrustsResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.DescribeTrusts.DescribeTrustsResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.DescribeTrusts.DescribeTrusts
instance Data.Data.Data Network.AWS.DirectoryService.DescribeTrusts.DescribeTrusts
instance GHC.Show.Show Network.AWS.DirectoryService.DescribeTrusts.DescribeTrusts
instance GHC.Read.Read Network.AWS.DirectoryService.DescribeTrusts.DescribeTrusts
instance GHC.Classes.Eq Network.AWS.DirectoryService.DescribeTrusts.DescribeTrusts
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.DescribeTrusts.DescribeTrusts
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DescribeTrusts.DescribeTrustsResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.DescribeTrusts.DescribeTrusts
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DescribeTrusts.DescribeTrusts
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.DescribeTrusts.DescribeTrusts
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.DescribeTrusts.DescribeTrusts
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.DescribeTrusts.DescribeTrusts
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.DescribeTrusts.DescribeTrusts


-- | Obtains information about the directory snapshots that belong to this
--   account.
--   
--   This operation supports pagination with the use of the
--   <i>NextToken</i> request and response parameters. If more results are
--   available, the <i>DescribeSnapshots.NextToken</i> member contains a
--   token that you pass in the next call to <a>DescribeSnapshots</a> to
--   retrieve the next set of items.
--   
--   You can also specify a maximum number of return results with the
--   <i>Limit</i> parameter.
module Network.AWS.DirectoryService.DescribeSnapshots

-- | Creates a value of <a>DescribeSnapshots</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsDirectoryId</a> - The identifier of the directory for which
--   to retrieve snapshot information.</li>
--   <li><a>dsNextToken</a> - The <i>DescribeSnapshotsResult.NextToken</i>
--   value from a previous call to <a>DescribeSnapshots</a> . Pass null if
--   this is the first call.</li>
--   <li><a>dsSnapshotIds</a> - A list of identifiers of the snapshots to
--   obtain the information for. If this member is null or empty, all
--   snapshots are returned using the <i>Limit</i> and <i>NextToken</i>
--   members.</li>
--   <li><a>dsLimit</a> - The maximum number of objects to return.</li>
--   </ul>
describeSnapshots :: DescribeSnapshots

-- | Contains the inputs for the <a>DescribeSnapshots</a> operation.
--   
--   <i>See:</i> <a>describeSnapshots</a> smart constructor.
data DescribeSnapshots

-- | The identifier of the directory for which to retrieve snapshot
--   information.
dsDirectoryId :: Lens' DescribeSnapshots (Maybe Text)

-- | The <i>DescribeSnapshotsResult.NextToken</i> value from a previous
--   call to <a>DescribeSnapshots</a> . Pass null if this is the first
--   call.
dsNextToken :: Lens' DescribeSnapshots (Maybe Text)

-- | A list of identifiers of the snapshots to obtain the information for.
--   If this member is null or empty, all snapshots are returned using the
--   <i>Limit</i> and <i>NextToken</i> members.
dsSnapshotIds :: Lens' DescribeSnapshots [Text]

-- | The maximum number of objects to return.
dsLimit :: Lens' DescribeSnapshots (Maybe Natural)

-- | Creates a value of <a>DescribeSnapshotsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dssrsNextToken</a> - If not null, more results are available.
--   Pass this value in the <i>NextToken</i> member of a subsequent call to
--   <a>DescribeSnapshots</a> .</li>
--   <li><a>dssrsSnapshots</a> - The list of <a>Snapshot</a> objects that
--   were retrieved. It is possible that this list contains less than the
--   number of items specified in the <i>Limit</i> member of the request.
--   This occurs if there are less than the requested number of items left
--   to retrieve, or if the limitations of the operation have been
--   exceeded.</li>
--   <li><a>dssrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeSnapshotsResponse :: Int -> DescribeSnapshotsResponse

-- | Contains the results of the <a>DescribeSnapshots</a> operation.
--   
--   <i>See:</i> <a>describeSnapshotsResponse</a> smart constructor.
data DescribeSnapshotsResponse

-- | If not null, more results are available. Pass this value in the
--   <i>NextToken</i> member of a subsequent call to
--   <a>DescribeSnapshots</a> .
dssrsNextToken :: Lens' DescribeSnapshotsResponse (Maybe Text)

-- | The list of <a>Snapshot</a> objects that were retrieved. It is
--   possible that this list contains less than the number of items
--   specified in the <i>Limit</i> member of the request. This occurs if
--   there are less than the requested number of items left to retrieve, or
--   if the limitations of the operation have been exceeded.
dssrsSnapshots :: Lens' DescribeSnapshotsResponse [Snapshot]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dssrsResponseStatus :: Lens' DescribeSnapshotsResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.DescribeSnapshots.DescribeSnapshotsResponse
instance Data.Data.Data Network.AWS.DirectoryService.DescribeSnapshots.DescribeSnapshotsResponse
instance GHC.Show.Show Network.AWS.DirectoryService.DescribeSnapshots.DescribeSnapshotsResponse
instance GHC.Read.Read Network.AWS.DirectoryService.DescribeSnapshots.DescribeSnapshotsResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.DescribeSnapshots.DescribeSnapshotsResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.DescribeSnapshots.DescribeSnapshots
instance Data.Data.Data Network.AWS.DirectoryService.DescribeSnapshots.DescribeSnapshots
instance GHC.Show.Show Network.AWS.DirectoryService.DescribeSnapshots.DescribeSnapshots
instance GHC.Read.Read Network.AWS.DirectoryService.DescribeSnapshots.DescribeSnapshots
instance GHC.Classes.Eq Network.AWS.DirectoryService.DescribeSnapshots.DescribeSnapshots
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.DescribeSnapshots.DescribeSnapshots
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DescribeSnapshots.DescribeSnapshotsResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.DescribeSnapshots.DescribeSnapshots
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DescribeSnapshots.DescribeSnapshots
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.DescribeSnapshots.DescribeSnapshots
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.DescribeSnapshots.DescribeSnapshots
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.DescribeSnapshots.DescribeSnapshots
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.DescribeSnapshots.DescribeSnapshots


-- | Obtains information about which SNS topics receive status messages
--   from the specified directory.
--   
--   If no input parameters are provided, such as DirectoryId or TopicName,
--   this request describes all of the associations in the account.
module Network.AWS.DirectoryService.DescribeEventTopics

-- | Creates a value of <a>DescribeEventTopics</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dDirectoryId</a> - The Directory ID for which to get the list
--   of associated SNS topics. If this member is null, associations for all
--   Directory IDs are returned.</li>
--   <li><a>dTopicNames</a> - A list of SNS topic names for which to obtain
--   the information. If this member is null, all associations for the
--   specified Directory ID are returned. An empty list results in an
--   <tt>InvalidParameterException</tt> being thrown.</li>
--   </ul>
describeEventTopics :: DescribeEventTopics

-- | Describes event topics.
--   
--   <i>See:</i> <a>describeEventTopics</a> smart constructor.
data DescribeEventTopics

-- | The Directory ID for which to get the list of associated SNS topics.
--   If this member is null, associations for all Directory IDs are
--   returned.
dDirectoryId :: Lens' DescribeEventTopics (Maybe Text)

-- | A list of SNS topic names for which to obtain the information. If this
--   member is null, all associations for the specified Directory ID are
--   returned. An empty list results in an
--   <tt>InvalidParameterException</tt> being thrown.
dTopicNames :: Lens' DescribeEventTopics [Text]

-- | Creates a value of <a>DescribeEventTopicsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>detrsEventTopics</a> - A list of SNS topic names that receive
--   status messages from the specified Directory ID.</li>
--   <li><a>detrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeEventTopicsResponse :: Int -> DescribeEventTopicsResponse

-- | The result of a DescribeEventTopic request.
--   
--   <i>See:</i> <a>describeEventTopicsResponse</a> smart constructor.
data DescribeEventTopicsResponse

-- | A list of SNS topic names that receive status messages from the
--   specified Directory ID.
detrsEventTopics :: Lens' DescribeEventTopicsResponse [EventTopic]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
detrsResponseStatus :: Lens' DescribeEventTopicsResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.DescribeEventTopics.DescribeEventTopicsResponse
instance Data.Data.Data Network.AWS.DirectoryService.DescribeEventTopics.DescribeEventTopicsResponse
instance GHC.Show.Show Network.AWS.DirectoryService.DescribeEventTopics.DescribeEventTopicsResponse
instance GHC.Read.Read Network.AWS.DirectoryService.DescribeEventTopics.DescribeEventTopicsResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.DescribeEventTopics.DescribeEventTopicsResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.DescribeEventTopics.DescribeEventTopics
instance Data.Data.Data Network.AWS.DirectoryService.DescribeEventTopics.DescribeEventTopics
instance GHC.Show.Show Network.AWS.DirectoryService.DescribeEventTopics.DescribeEventTopics
instance GHC.Read.Read Network.AWS.DirectoryService.DescribeEventTopics.DescribeEventTopics
instance GHC.Classes.Eq Network.AWS.DirectoryService.DescribeEventTopics.DescribeEventTopics
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.DescribeEventTopics.DescribeEventTopics
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DescribeEventTopics.DescribeEventTopicsResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.DescribeEventTopics.DescribeEventTopics
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DescribeEventTopics.DescribeEventTopics
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.DescribeEventTopics.DescribeEventTopics
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.DescribeEventTopics.DescribeEventTopics
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.DescribeEventTopics.DescribeEventTopics
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.DescribeEventTopics.DescribeEventTopics


-- | Provides information about any domain controllers in your directory.
--   
--   This operation returns paginated results.
module Network.AWS.DirectoryService.DescribeDomainControllers

-- | Creates a value of <a>DescribeDomainControllers</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcNextToken</a> - The
--   <i>DescribeDomainControllers.NextToken</i> value from a previous call
--   to <a>DescribeDomainControllers</a> . Pass null if this is the first
--   call.</li>
--   <li><a>ddcDomainControllerIds</a> - A list of identifiers for the
--   domain controllers whose information will be provided.</li>
--   <li><a>ddcLimit</a> - The maximum number of items to return.</li>
--   <li><a>ddcDirectoryId</a> - Identifier of the directory for which to
--   retrieve the domain controller information.</li>
--   </ul>
describeDomainControllers :: Text -> DescribeDomainControllers

-- | <i>See:</i> <a>describeDomainControllers</a> smart constructor.
data DescribeDomainControllers

-- | The <i>DescribeDomainControllers.NextToken</i> value from a previous
--   call to <a>DescribeDomainControllers</a> . Pass null if this is the
--   first call.
ddcNextToken :: Lens' DescribeDomainControllers (Maybe Text)

-- | A list of identifiers for the domain controllers whose information
--   will be provided.
ddcDomainControllerIds :: Lens' DescribeDomainControllers [Text]

-- | The maximum number of items to return.
ddcLimit :: Lens' DescribeDomainControllers (Maybe Natural)

-- | Identifier of the directory for which to retrieve the domain
--   controller information.
ddcDirectoryId :: Lens' DescribeDomainControllers Text

-- | Creates a value of <a>DescribeDomainControllersResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcrsNextToken</a> - If not null, more results are available.
--   Pass this value for the <tt>NextToken</tt> parameter in a subsequent
--   call to <a>DescribeDomainControllers</a> retrieve the next set of
--   items.</li>
--   <li><a>ddcrsDomainControllers</a> - List of the
--   <a>DomainController</a> objects that were retrieved.</li>
--   <li><a>ddcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDomainControllersResponse :: Int -> DescribeDomainControllersResponse

-- | <i>See:</i> <a>describeDomainControllersResponse</a> smart
--   constructor.
data DescribeDomainControllersResponse

-- | If not null, more results are available. Pass this value for the
--   <tt>NextToken</tt> parameter in a subsequent call to
--   <a>DescribeDomainControllers</a> retrieve the next set of items.
ddcrsNextToken :: Lens' DescribeDomainControllersResponse (Maybe Text)

-- | List of the <a>DomainController</a> objects that were retrieved.
ddcrsDomainControllers :: Lens' DescribeDomainControllersResponse [DomainController]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddcrsResponseStatus :: Lens' DescribeDomainControllersResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllersResponse
instance Data.Data.Data Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllersResponse
instance GHC.Show.Show Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllersResponse
instance GHC.Read.Read Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllersResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllersResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllers
instance Data.Data.Data Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllers
instance GHC.Show.Show Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllers
instance GHC.Read.Read Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllers
instance GHC.Classes.Eq Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllers
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllers
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllersResponse
instance Network.AWS.Pager.AWSPager Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllers
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllers
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllers
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllers
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllers
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllers
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.DescribeDomainControllers.DescribeDomainControllers


-- | Obtains information about the directories that belong to this account.
--   
--   You can retrieve information about specific directories by passing the
--   directory identifiers in the <i>DirectoryIds</i> parameter. Otherwise,
--   all directories that belong to the current account are returned.
--   
--   This operation supports pagination with the use of the
--   <i>NextToken</i> request and response parameters. If more results are
--   available, the <i>DescribeDirectoriesResult.NextToken</i> member
--   contains a token that you pass in the next call to
--   <a>DescribeDirectories</a> to retrieve the next set of items.
--   
--   You can also specify a maximum number of return results with the
--   <i>Limit</i> parameter.
module Network.AWS.DirectoryService.DescribeDirectories

-- | Creates a value of <a>DescribeDirectories</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddNextToken</a> - The
--   <i>DescribeDirectoriesResult.NextToken</i> value from a previous call
--   to <a>DescribeDirectories</a> . Pass null if this is the first
--   call.</li>
--   <li><a>ddDirectoryIds</a> - A list of identifiers of the directories
--   for which to obtain the information. If this member is null, all
--   directories that belong to the current account are returned. An empty
--   list results in an <tt>InvalidParameterException</tt> being
--   thrown.</li>
--   <li><a>ddLimit</a> - The maximum number of items to return. If this
--   value is zero, the maximum number of items is specified by the
--   limitations of the operation.</li>
--   </ul>
describeDirectories :: DescribeDirectories

-- | Contains the inputs for the <a>DescribeDirectories</a> operation.
--   
--   <i>See:</i> <a>describeDirectories</a> smart constructor.
data DescribeDirectories

-- | The <i>DescribeDirectoriesResult.NextToken</i> value from a previous
--   call to <a>DescribeDirectories</a> . Pass null if this is the first
--   call.
ddNextToken :: Lens' DescribeDirectories (Maybe Text)

-- | A list of identifiers of the directories for which to obtain the
--   information. If this member is null, all directories that belong to
--   the current account are returned. An empty list results in an
--   <tt>InvalidParameterException</tt> being thrown.
ddDirectoryIds :: Lens' DescribeDirectories [Text]

-- | The maximum number of items to return. If this value is zero, the
--   maximum number of items is specified by the limitations of the
--   operation.
ddLimit :: Lens' DescribeDirectories (Maybe Natural)

-- | Creates a value of <a>DescribeDirectoriesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddrsDirectoryDescriptions</a> - The list of
--   <a>DirectoryDescription</a> objects that were retrieved. It is
--   possible that this list contains less than the number of items
--   specified in the <i>Limit</i> member of the request. This occurs if
--   there are less than the requested number of items left to retrieve, or
--   if the limitations of the operation have been exceeded.</li>
--   <li><a>ddrsNextToken</a> - If not null, more results are available.
--   Pass this value for the <i>NextToken</i> parameter in a subsequent
--   call to <a>DescribeDirectories</a> to retrieve the next set of
--   items.</li>
--   <li><a>ddrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeDirectoriesResponse :: Int -> DescribeDirectoriesResponse

-- | Contains the results of the <a>DescribeDirectories</a> operation.
--   
--   <i>See:</i> <a>describeDirectoriesResponse</a> smart constructor.
data DescribeDirectoriesResponse

-- | The list of <a>DirectoryDescription</a> objects that were retrieved.
--   It is possible that this list contains less than the number of items
--   specified in the <i>Limit</i> member of the request. This occurs if
--   there are less than the requested number of items left to retrieve, or
--   if the limitations of the operation have been exceeded.
ddrsDirectoryDescriptions :: Lens' DescribeDirectoriesResponse [DirectoryDescription]

-- | If not null, more results are available. Pass this value for the
--   <i>NextToken</i> parameter in a subsequent call to
--   <a>DescribeDirectories</a> to retrieve the next set of items.
ddrsNextToken :: Lens' DescribeDirectoriesResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddrsResponseStatus :: Lens' DescribeDirectoriesResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.DescribeDirectories.DescribeDirectoriesResponse
instance Data.Data.Data Network.AWS.DirectoryService.DescribeDirectories.DescribeDirectoriesResponse
instance GHC.Show.Show Network.AWS.DirectoryService.DescribeDirectories.DescribeDirectoriesResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.DescribeDirectories.DescribeDirectoriesResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.DescribeDirectories.DescribeDirectories
instance Data.Data.Data Network.AWS.DirectoryService.DescribeDirectories.DescribeDirectories
instance GHC.Show.Show Network.AWS.DirectoryService.DescribeDirectories.DescribeDirectories
instance GHC.Read.Read Network.AWS.DirectoryService.DescribeDirectories.DescribeDirectories
instance GHC.Classes.Eq Network.AWS.DirectoryService.DescribeDirectories.DescribeDirectories
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.DescribeDirectories.DescribeDirectories
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DescribeDirectories.DescribeDirectoriesResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.DescribeDirectories.DescribeDirectories
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DescribeDirectories.DescribeDirectories
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.DescribeDirectories.DescribeDirectories
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.DescribeDirectories.DescribeDirectories
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.DescribeDirectories.DescribeDirectories
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.DescribeDirectories.DescribeDirectories


-- | Obtains information about the conditional forwarders for this account.
--   
--   If no input parameters are provided for RemoteDomainNames, this
--   request describes all conditional forwarders for the specified
--   directory ID.
module Network.AWS.DirectoryService.DescribeConditionalForwarders

-- | Creates a value of <a>DescribeConditionalForwarders</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcfRemoteDomainNames</a> - The fully qualified domain names
--   (FQDN) of the remote domains for which to get the list of associated
--   conditional forwarders. If this member is null, all conditional
--   forwarders are returned.</li>
--   <li><a>dcfDirectoryId</a> - The directory ID for which to get the list
--   of associated conditional forwarders.</li>
--   </ul>
describeConditionalForwarders :: Text -> DescribeConditionalForwarders

-- | Describes a conditional forwarder.
--   
--   <i>See:</i> <a>describeConditionalForwarders</a> smart constructor.
data DescribeConditionalForwarders

-- | The fully qualified domain names (FQDN) of the remote domains for
--   which to get the list of associated conditional forwarders. If this
--   member is null, all conditional forwarders are returned.
dcfRemoteDomainNames :: Lens' DescribeConditionalForwarders [Text]

-- | The directory ID for which to get the list of associated conditional
--   forwarders.
dcfDirectoryId :: Lens' DescribeConditionalForwarders Text

-- | Creates a value of <a>DescribeConditionalForwardersResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcfrsConditionalForwarders</a> - The list of conditional
--   forwarders that have been created.</li>
--   <li><a>dcfrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeConditionalForwardersResponse :: Int -> DescribeConditionalForwardersResponse

-- | The result of a DescribeConditionalForwarder request.
--   
--   <i>See:</i> <a>describeConditionalForwardersResponse</a> smart
--   constructor.
data DescribeConditionalForwardersResponse

-- | The list of conditional forwarders that have been created.
dcfrsConditionalForwarders :: Lens' DescribeConditionalForwardersResponse [ConditionalForwarder]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dcfrsResponseStatus :: Lens' DescribeConditionalForwardersResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.DescribeConditionalForwarders.DescribeConditionalForwardersResponse
instance Data.Data.Data Network.AWS.DirectoryService.DescribeConditionalForwarders.DescribeConditionalForwardersResponse
instance GHC.Show.Show Network.AWS.DirectoryService.DescribeConditionalForwarders.DescribeConditionalForwardersResponse
instance GHC.Read.Read Network.AWS.DirectoryService.DescribeConditionalForwarders.DescribeConditionalForwardersResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.DescribeConditionalForwarders.DescribeConditionalForwardersResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.DescribeConditionalForwarders.DescribeConditionalForwarders
instance Data.Data.Data Network.AWS.DirectoryService.DescribeConditionalForwarders.DescribeConditionalForwarders
instance GHC.Show.Show Network.AWS.DirectoryService.DescribeConditionalForwarders.DescribeConditionalForwarders
instance GHC.Read.Read Network.AWS.DirectoryService.DescribeConditionalForwarders.DescribeConditionalForwarders
instance GHC.Classes.Eq Network.AWS.DirectoryService.DescribeConditionalForwarders.DescribeConditionalForwarders
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.DescribeConditionalForwarders.DescribeConditionalForwarders
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DescribeConditionalForwarders.DescribeConditionalForwardersResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.DescribeConditionalForwarders.DescribeConditionalForwarders
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DescribeConditionalForwarders.DescribeConditionalForwarders
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.DescribeConditionalForwarders.DescribeConditionalForwarders
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.DescribeConditionalForwarders.DescribeConditionalForwarders
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.DescribeConditionalForwarders.DescribeConditionalForwarders
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.DescribeConditionalForwarders.DescribeConditionalForwarders


-- | Removes the specified directory as a publisher to the specified SNS
--   topic.
module Network.AWS.DirectoryService.DeregisterEventTopic

-- | Creates a value of <a>DeregisterEventTopic</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>detDirectoryId</a> - The Directory ID to remove as a publisher.
--   This directory will no longer send messages to the specified SNS
--   topic.</li>
--   <li><a>detTopicName</a> - The name of the SNS topic from which to
--   remove the directory as a publisher.</li>
--   </ul>
deregisterEventTopic :: Text -> Text -> DeregisterEventTopic

-- | Removes the specified directory as a publisher to the specified SNS
--   topic.
--   
--   <i>See:</i> <a>deregisterEventTopic</a> smart constructor.
data DeregisterEventTopic

-- | The Directory ID to remove as a publisher. This directory will no
--   longer send messages to the specified SNS topic.
detDirectoryId :: Lens' DeregisterEventTopic Text

-- | The name of the SNS topic from which to remove the directory as a
--   publisher.
detTopicName :: Lens' DeregisterEventTopic Text

-- | Creates a value of <a>DeregisterEventTopicResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>derrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deregisterEventTopicResponse :: Int -> DeregisterEventTopicResponse

-- | The result of a DeregisterEventTopic request.
--   
--   <i>See:</i> <a>deregisterEventTopicResponse</a> smart constructor.
data DeregisterEventTopicResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
derrsResponseStatus :: Lens' DeregisterEventTopicResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.DeregisterEventTopic.DeregisterEventTopicResponse
instance Data.Data.Data Network.AWS.DirectoryService.DeregisterEventTopic.DeregisterEventTopicResponse
instance GHC.Show.Show Network.AWS.DirectoryService.DeregisterEventTopic.DeregisterEventTopicResponse
instance GHC.Read.Read Network.AWS.DirectoryService.DeregisterEventTopic.DeregisterEventTopicResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.DeregisterEventTopic.DeregisterEventTopicResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.DeregisterEventTopic.DeregisterEventTopic
instance Data.Data.Data Network.AWS.DirectoryService.DeregisterEventTopic.DeregisterEventTopic
instance GHC.Show.Show Network.AWS.DirectoryService.DeregisterEventTopic.DeregisterEventTopic
instance GHC.Read.Read Network.AWS.DirectoryService.DeregisterEventTopic.DeregisterEventTopic
instance GHC.Classes.Eq Network.AWS.DirectoryService.DeregisterEventTopic.DeregisterEventTopic
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.DeregisterEventTopic.DeregisterEventTopic
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DeregisterEventTopic.DeregisterEventTopicResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.DeregisterEventTopic.DeregisterEventTopic
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DeregisterEventTopic.DeregisterEventTopic
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.DeregisterEventTopic.DeregisterEventTopic
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.DeregisterEventTopic.DeregisterEventTopic
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.DeregisterEventTopic.DeregisterEventTopic
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.DeregisterEventTopic.DeregisterEventTopic


-- | Deletes an existing trust relationship between your Microsoft AD in
--   the AWS cloud and an external domain.
module Network.AWS.DirectoryService.DeleteTrust

-- | Creates a value of <a>DeleteTrust</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dtDeleteAssociatedConditionalForwarder</a> - Delete a
--   conditional forwarder as part of a DeleteTrustRequest.</li>
--   <li><a>dtTrustId</a> - The Trust ID of the trust relationship to be
--   deleted.</li>
--   </ul>
deleteTrust :: Text -> DeleteTrust

-- | Deletes the local side of an existing trust relationship between the
--   Microsoft AD in the AWS cloud and the external domain.
--   
--   <i>See:</i> <a>deleteTrust</a> smart constructor.
data DeleteTrust

-- | Delete a conditional forwarder as part of a DeleteTrustRequest.
dtDeleteAssociatedConditionalForwarder :: Lens' DeleteTrust (Maybe Bool)

-- | The Trust ID of the trust relationship to be deleted.
dtTrustId :: Lens' DeleteTrust Text

-- | Creates a value of <a>DeleteTrustResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dttrsTrustId</a> - The Trust ID of the trust relationship that
--   was deleted.</li>
--   <li><a>dttrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteTrustResponse :: Int -> DeleteTrustResponse

-- | The result of a DeleteTrust request.
--   
--   <i>See:</i> <a>deleteTrustResponse</a> smart constructor.
data DeleteTrustResponse

-- | The Trust ID of the trust relationship that was deleted.
dttrsTrustId :: Lens' DeleteTrustResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dttrsResponseStatus :: Lens' DeleteTrustResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.DeleteTrust.DeleteTrustResponse
instance Data.Data.Data Network.AWS.DirectoryService.DeleteTrust.DeleteTrustResponse
instance GHC.Show.Show Network.AWS.DirectoryService.DeleteTrust.DeleteTrustResponse
instance GHC.Read.Read Network.AWS.DirectoryService.DeleteTrust.DeleteTrustResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.DeleteTrust.DeleteTrustResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.DeleteTrust.DeleteTrust
instance Data.Data.Data Network.AWS.DirectoryService.DeleteTrust.DeleteTrust
instance GHC.Show.Show Network.AWS.DirectoryService.DeleteTrust.DeleteTrust
instance GHC.Read.Read Network.AWS.DirectoryService.DeleteTrust.DeleteTrust
instance GHC.Classes.Eq Network.AWS.DirectoryService.DeleteTrust.DeleteTrust
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.DeleteTrust.DeleteTrust
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DeleteTrust.DeleteTrustResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.DeleteTrust.DeleteTrust
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DeleteTrust.DeleteTrust
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.DeleteTrust.DeleteTrust
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.DeleteTrust.DeleteTrust
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.DeleteTrust.DeleteTrust
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.DeleteTrust.DeleteTrust


-- | Deletes a directory snapshot.
module Network.AWS.DirectoryService.DeleteSnapshot

-- | Creates a value of <a>DeleteSnapshot</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsSnapshotId</a> - The identifier of the directory snapshot to
--   be deleted.</li>
--   </ul>
deleteSnapshot :: Text -> DeleteSnapshot

-- | Contains the inputs for the <a>DeleteSnapshot</a> operation.
--   
--   <i>See:</i> <a>deleteSnapshot</a> smart constructor.
data DeleteSnapshot

-- | The identifier of the directory snapshot to be deleted.
dsSnapshotId :: Lens' DeleteSnapshot Text

-- | Creates a value of <a>DeleteSnapshotResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsrsSnapshotId</a> - The identifier of the directory snapshot
--   that was deleted.</li>
--   <li><a>dsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteSnapshotResponse :: Int -> DeleteSnapshotResponse

-- | Contains the results of the <a>DeleteSnapshot</a> operation.
--   
--   <i>See:</i> <a>deleteSnapshotResponse</a> smart constructor.
data DeleteSnapshotResponse

-- | The identifier of the directory snapshot that was deleted.
dsrsSnapshotId :: Lens' DeleteSnapshotResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dsrsResponseStatus :: Lens' DeleteSnapshotResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.DeleteSnapshot.DeleteSnapshotResponse
instance Data.Data.Data Network.AWS.DirectoryService.DeleteSnapshot.DeleteSnapshotResponse
instance GHC.Show.Show Network.AWS.DirectoryService.DeleteSnapshot.DeleteSnapshotResponse
instance GHC.Read.Read Network.AWS.DirectoryService.DeleteSnapshot.DeleteSnapshotResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.DeleteSnapshot.DeleteSnapshotResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.DeleteSnapshot.DeleteSnapshot
instance Data.Data.Data Network.AWS.DirectoryService.DeleteSnapshot.DeleteSnapshot
instance GHC.Show.Show Network.AWS.DirectoryService.DeleteSnapshot.DeleteSnapshot
instance GHC.Read.Read Network.AWS.DirectoryService.DeleteSnapshot.DeleteSnapshot
instance GHC.Classes.Eq Network.AWS.DirectoryService.DeleteSnapshot.DeleteSnapshot
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.DeleteSnapshot.DeleteSnapshot
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DeleteSnapshot.DeleteSnapshotResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.DeleteSnapshot.DeleteSnapshot
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DeleteSnapshot.DeleteSnapshot
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.DeleteSnapshot.DeleteSnapshot
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.DeleteSnapshot.DeleteSnapshot
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.DeleteSnapshot.DeleteSnapshot
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.DeleteSnapshot.DeleteSnapshot


-- | Deletes an AWS Directory Service directory.
--   
--   Before you call <i>DeleteDirectory</i> , ensure that all of the
--   required permissions have been explicitly granted through a policy.
--   For details about what permissions are required to run the
--   <i>DeleteDirectory</i> operation, see <a>AWS Directory Service API
--   Permissions: Actions, Resources, and Conditions Reference</a> .
module Network.AWS.DirectoryService.DeleteDirectory

-- | Creates a value of <a>DeleteDirectory</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dddDirectoryId</a> - The identifier of the directory to
--   delete.</li>
--   </ul>
deleteDirectory :: Text -> DeleteDirectory

-- | Contains the inputs for the <a>DeleteDirectory</a> operation.
--   
--   <i>See:</i> <a>deleteDirectory</a> smart constructor.
data DeleteDirectory

-- | The identifier of the directory to delete.
dddDirectoryId :: Lens' DeleteDirectory Text

-- | Creates a value of <a>DeleteDirectoryResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>delrsDirectoryId</a> - The directory identifier.</li>
--   <li><a>delrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteDirectoryResponse :: Int -> DeleteDirectoryResponse

-- | Contains the results of the <a>DeleteDirectory</a> operation.
--   
--   <i>See:</i> <a>deleteDirectoryResponse</a> smart constructor.
data DeleteDirectoryResponse

-- | The directory identifier.
delrsDirectoryId :: Lens' DeleteDirectoryResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
delrsResponseStatus :: Lens' DeleteDirectoryResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.DeleteDirectory.DeleteDirectoryResponse
instance Data.Data.Data Network.AWS.DirectoryService.DeleteDirectory.DeleteDirectoryResponse
instance GHC.Show.Show Network.AWS.DirectoryService.DeleteDirectory.DeleteDirectoryResponse
instance GHC.Read.Read Network.AWS.DirectoryService.DeleteDirectory.DeleteDirectoryResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.DeleteDirectory.DeleteDirectoryResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.DeleteDirectory.DeleteDirectory
instance Data.Data.Data Network.AWS.DirectoryService.DeleteDirectory.DeleteDirectory
instance GHC.Show.Show Network.AWS.DirectoryService.DeleteDirectory.DeleteDirectory
instance GHC.Read.Read Network.AWS.DirectoryService.DeleteDirectory.DeleteDirectory
instance GHC.Classes.Eq Network.AWS.DirectoryService.DeleteDirectory.DeleteDirectory
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.DeleteDirectory.DeleteDirectory
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DeleteDirectory.DeleteDirectoryResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.DeleteDirectory.DeleteDirectory
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DeleteDirectory.DeleteDirectory
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.DeleteDirectory.DeleteDirectory
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.DeleteDirectory.DeleteDirectory
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.DeleteDirectory.DeleteDirectory
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.DeleteDirectory.DeleteDirectory


-- | Deletes a conditional forwarder that has been set up for your AWS
--   directory.
module Network.AWS.DirectoryService.DeleteConditionalForwarder

-- | Creates a value of <a>DeleteConditionalForwarder</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>delDirectoryId</a> - The directory ID for which you are
--   deleting the conditional forwarder.</li>
--   <li><a>delRemoteDomainName</a> - The fully qualified domain name
--   (FQDN) of the remote domain with which you are deleting the
--   conditional forwarder.</li>
--   </ul>
deleteConditionalForwarder :: Text -> Text -> DeleteConditionalForwarder

-- | Deletes a conditional forwarder.
--   
--   <i>See:</i> <a>deleteConditionalForwarder</a> smart constructor.
data DeleteConditionalForwarder

-- | The directory ID for which you are deleting the conditional forwarder.
delDirectoryId :: Lens' DeleteConditionalForwarder Text

-- | The fully qualified domain name (FQDN) of the remote domain with which
--   you are deleting the conditional forwarder.
delRemoteDomainName :: Lens' DeleteConditionalForwarder Text

-- | Creates a value of <a>DeleteConditionalForwarderResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteConditionalForwarderResponse :: Int -> DeleteConditionalForwarderResponse

-- | The result of a DeleteConditionalForwarder request.
--   
--   <i>See:</i> <a>deleteConditionalForwarderResponse</a> smart
--   constructor.
data DeleteConditionalForwarderResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
drsResponseStatus :: Lens' DeleteConditionalForwarderResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.DeleteConditionalForwarder.DeleteConditionalForwarderResponse
instance Data.Data.Data Network.AWS.DirectoryService.DeleteConditionalForwarder.DeleteConditionalForwarderResponse
instance GHC.Show.Show Network.AWS.DirectoryService.DeleteConditionalForwarder.DeleteConditionalForwarderResponse
instance GHC.Read.Read Network.AWS.DirectoryService.DeleteConditionalForwarder.DeleteConditionalForwarderResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.DeleteConditionalForwarder.DeleteConditionalForwarderResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.DeleteConditionalForwarder.DeleteConditionalForwarder
instance Data.Data.Data Network.AWS.DirectoryService.DeleteConditionalForwarder.DeleteConditionalForwarder
instance GHC.Show.Show Network.AWS.DirectoryService.DeleteConditionalForwarder.DeleteConditionalForwarder
instance GHC.Read.Read Network.AWS.DirectoryService.DeleteConditionalForwarder.DeleteConditionalForwarder
instance GHC.Classes.Eq Network.AWS.DirectoryService.DeleteConditionalForwarder.DeleteConditionalForwarder
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.DeleteConditionalForwarder.DeleteConditionalForwarder
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DeleteConditionalForwarder.DeleteConditionalForwarderResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.DeleteConditionalForwarder.DeleteConditionalForwarder
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.DeleteConditionalForwarder.DeleteConditionalForwarder
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.DeleteConditionalForwarder.DeleteConditionalForwarder
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.DeleteConditionalForwarder.DeleteConditionalForwarder
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.DeleteConditionalForwarder.DeleteConditionalForwarder
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.DeleteConditionalForwarder.DeleteConditionalForwarder


-- | AWS Directory Service for Microsoft Active Directory allows you to
--   configure trust relationships. For example, you can establish a trust
--   between your Microsoft AD in the AWS cloud, and your existing
--   on-premises Microsoft Active Directory. This would allow you to
--   provide users and groups access to resources in either domain, with a
--   single set of credentials.
--   
--   This action initiates the creation of the AWS side of a trust
--   relationship between a Microsoft AD in the AWS cloud and an external
--   domain.
module Network.AWS.DirectoryService.CreateTrust

-- | Creates a value of <a>CreateTrust</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ctConditionalForwarderIPAddrs</a> - The IP addresses of the
--   remote DNS server associated with RemoteDomainName.</li>
--   <li><a>ctTrustType</a> - The trust relationship type.</li>
--   <li><a>ctDirectoryId</a> - The Directory ID of the Microsoft AD in the
--   AWS cloud for which to establish the trust relationship.</li>
--   <li><a>ctRemoteDomainName</a> - The Fully Qualified Domain Name (FQDN)
--   of the external domain for which to create the trust
--   relationship.</li>
--   <li><a>ctTrustPassword</a> - The trust password. The must be the same
--   password that was used when creating the trust relationship on the
--   external domain.</li>
--   <li><a>ctTrustDirection</a> - The direction of the trust
--   relationship.</li>
--   </ul>
createTrust :: Text -> Text -> Text -> TrustDirection -> CreateTrust

-- | AWS Directory Service for Microsoft Active Directory allows you to
--   configure trust relationships. For example, you can establish a trust
--   between your Microsoft AD in the AWS cloud, and your existing
--   on-premises Microsoft Active Directory. This would allow you to
--   provide users and groups access to resources in either domain, with a
--   single set of credentials.
--   
--   This action initiates the creation of the AWS side of a trust
--   relationship between a Microsoft AD in the AWS cloud and an external
--   domain.
--   
--   <i>See:</i> <a>createTrust</a> smart constructor.
data CreateTrust

-- | The IP addresses of the remote DNS server associated with
--   RemoteDomainName.
ctConditionalForwarderIPAddrs :: Lens' CreateTrust [Text]

-- | The trust relationship type.
ctTrustType :: Lens' CreateTrust (Maybe TrustType)

-- | The Directory ID of the Microsoft AD in the AWS cloud for which to
--   establish the trust relationship.
ctDirectoryId :: Lens' CreateTrust Text

-- | The Fully Qualified Domain Name (FQDN) of the external domain for
--   which to create the trust relationship.
ctRemoteDomainName :: Lens' CreateTrust Text

-- | The trust password. The must be the same password that was used when
--   creating the trust relationship on the external domain.
ctTrustPassword :: Lens' CreateTrust Text

-- | The direction of the trust relationship.
ctTrustDirection :: Lens' CreateTrust TrustDirection

-- | Creates a value of <a>CreateTrustResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ctrsTrustId</a> - A unique identifier for the trust
--   relationship that was created.</li>
--   <li><a>ctrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createTrustResponse :: Int -> CreateTrustResponse

-- | The result of a CreateTrust request.
--   
--   <i>See:</i> <a>createTrustResponse</a> smart constructor.
data CreateTrustResponse

-- | A unique identifier for the trust relationship that was created.
ctrsTrustId :: Lens' CreateTrustResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ctrsResponseStatus :: Lens' CreateTrustResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.CreateTrust.CreateTrustResponse
instance Data.Data.Data Network.AWS.DirectoryService.CreateTrust.CreateTrustResponse
instance GHC.Show.Show Network.AWS.DirectoryService.CreateTrust.CreateTrustResponse
instance GHC.Read.Read Network.AWS.DirectoryService.CreateTrust.CreateTrustResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.CreateTrust.CreateTrustResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.CreateTrust.CreateTrust
instance Data.Data.Data Network.AWS.DirectoryService.CreateTrust.CreateTrust
instance GHC.Show.Show Network.AWS.DirectoryService.CreateTrust.CreateTrust
instance GHC.Classes.Eq Network.AWS.DirectoryService.CreateTrust.CreateTrust
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.CreateTrust.CreateTrust
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.CreateTrust.CreateTrustResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.CreateTrust.CreateTrust
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.CreateTrust.CreateTrust
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.CreateTrust.CreateTrust
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.CreateTrust.CreateTrust
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.CreateTrust.CreateTrust
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.CreateTrust.CreateTrust


-- | Creates a snapshot of a Simple AD or Microsoft AD directory in the AWS
--   cloud.
module Network.AWS.DirectoryService.CreateSnapshot

-- | Creates a value of <a>CreateSnapshot</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csName</a> - The descriptive name to apply to the
--   snapshot.</li>
--   <li><a>csDirectoryId</a> - The identifier of the directory of which to
--   take a snapshot.</li>
--   </ul>
createSnapshot :: Text -> CreateSnapshot

-- | Contains the inputs for the <a>CreateSnapshot</a> operation.
--   
--   <i>See:</i> <a>createSnapshot</a> smart constructor.
data CreateSnapshot

-- | The descriptive name to apply to the snapshot.
csName :: Lens' CreateSnapshot (Maybe Text)

-- | The identifier of the directory of which to take a snapshot.
csDirectoryId :: Lens' CreateSnapshot Text

-- | Creates a value of <a>CreateSnapshotResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csrsSnapshotId</a> - The identifier of the snapshot that was
--   created.</li>
--   <li><a>csrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createSnapshotResponse :: Int -> CreateSnapshotResponse

-- | Contains the results of the <a>CreateSnapshot</a> operation.
--   
--   <i>See:</i> <a>createSnapshotResponse</a> smart constructor.
data CreateSnapshotResponse

-- | The identifier of the snapshot that was created.
csrsSnapshotId :: Lens' CreateSnapshotResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
csrsResponseStatus :: Lens' CreateSnapshotResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.CreateSnapshot.CreateSnapshotResponse
instance Data.Data.Data Network.AWS.DirectoryService.CreateSnapshot.CreateSnapshotResponse
instance GHC.Show.Show Network.AWS.DirectoryService.CreateSnapshot.CreateSnapshotResponse
instance GHC.Read.Read Network.AWS.DirectoryService.CreateSnapshot.CreateSnapshotResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.CreateSnapshot.CreateSnapshotResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.CreateSnapshot.CreateSnapshot
instance Data.Data.Data Network.AWS.DirectoryService.CreateSnapshot.CreateSnapshot
instance GHC.Show.Show Network.AWS.DirectoryService.CreateSnapshot.CreateSnapshot
instance GHC.Read.Read Network.AWS.DirectoryService.CreateSnapshot.CreateSnapshot
instance GHC.Classes.Eq Network.AWS.DirectoryService.CreateSnapshot.CreateSnapshot
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.CreateSnapshot.CreateSnapshot
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.CreateSnapshot.CreateSnapshotResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.CreateSnapshot.CreateSnapshot
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.CreateSnapshot.CreateSnapshot
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.CreateSnapshot.CreateSnapshot
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.CreateSnapshot.CreateSnapshot
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.CreateSnapshot.CreateSnapshot
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.CreateSnapshot.CreateSnapshot


-- | Creates a Microsoft AD in the AWS cloud.
--   
--   Before you call <i>CreateMicrosoftAD</i> , ensure that all of the
--   required permissions have been explicitly granted through a policy.
--   For details about what permissions are required to run the
--   <i>CreateMicrosoftAD</i> operation, see <a>AWS Directory Service API
--   Permissions: Actions, Resources, and Conditions Reference</a> .
module Network.AWS.DirectoryService.CreateMicrosoftAD

-- | Creates a value of <a>CreateMicrosoftAD</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cmadEdition</a> - AWS Microsoft AD is available in two
--   editions: Standard and Enterprise. Enterprise is the default.</li>
--   <li><a>cmadShortName</a> - The NetBIOS name for your domain. A short
--   identifier for your domain, such as <tt>CORP</tt> . If you don't
--   specify a NetBIOS name, it will default to the first part of your
--   directory DNS. For example, <tt>CORP</tt> for the directory DNS
--   <tt>corp.example.com</tt> .</li>
--   <li><a>cmadDescription</a> - A textual description for the directory.
--   This label will appear on the AWS console <tt>Directory Details</tt>
--   page after the directory is created.</li>
--   <li><a>cmadName</a> - The fully qualified domain name for the
--   directory, such as <tt>corp.example.com</tt> . This name will resolve
--   inside your VPC only. It does not need to be publicly resolvable.</li>
--   <li><a>cmadPassword</a> - The password for the default administrative
--   user named <tt>Admin</tt> .</li>
--   <li><a>cmadVPCSettings</a> - Contains VPC information for the
--   <tt>CreateDirectory</tt> or <a>CreateMicrosoftAD</a> operation.</li>
--   </ul>
createMicrosoftAD :: Text -> Text -> DirectoryVPCSettings -> CreateMicrosoftAD

-- | Creates a Microsoft AD in the AWS cloud.
--   
--   <i>See:</i> <a>createMicrosoftAD</a> smart constructor.
data CreateMicrosoftAD

-- | AWS Microsoft AD is available in two editions: Standard and
--   Enterprise. Enterprise is the default.
cmadEdition :: Lens' CreateMicrosoftAD (Maybe DirectoryEdition)

-- | The NetBIOS name for your domain. A short identifier for your domain,
--   such as <tt>CORP</tt> . If you don't specify a NetBIOS name, it will
--   default to the first part of your directory DNS. For example,
--   <tt>CORP</tt> for the directory DNS <tt>corp.example.com</tt> .
cmadShortName :: Lens' CreateMicrosoftAD (Maybe Text)

-- | A textual description for the directory. This label will appear on the
--   AWS console <tt>Directory Details</tt> page after the directory is
--   created.
cmadDescription :: Lens' CreateMicrosoftAD (Maybe Text)

-- | The fully qualified domain name for the directory, such as
--   <tt>corp.example.com</tt> . This name will resolve inside your VPC
--   only. It does not need to be publicly resolvable.
cmadName :: Lens' CreateMicrosoftAD Text

-- | The password for the default administrative user named <tt>Admin</tt>
--   .
cmadPassword :: Lens' CreateMicrosoftAD Text

-- | Contains VPC information for the <tt>CreateDirectory</tt> or
--   <a>CreateMicrosoftAD</a> operation.
cmadVPCSettings :: Lens' CreateMicrosoftAD DirectoryVPCSettings

-- | Creates a value of <a>CreateMicrosoftADResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cmadrsDirectoryId</a> - The identifier of the directory that
--   was created.</li>
--   <li><a>cmadrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createMicrosoftADResponse :: Int -> CreateMicrosoftADResponse

-- | Result of a CreateMicrosoftAD request.
--   
--   <i>See:</i> <a>createMicrosoftADResponse</a> smart constructor.
data CreateMicrosoftADResponse

-- | The identifier of the directory that was created.
cmadrsDirectoryId :: Lens' CreateMicrosoftADResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cmadrsResponseStatus :: Lens' CreateMicrosoftADResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.CreateMicrosoftAD.CreateMicrosoftADResponse
instance Data.Data.Data Network.AWS.DirectoryService.CreateMicrosoftAD.CreateMicrosoftADResponse
instance GHC.Show.Show Network.AWS.DirectoryService.CreateMicrosoftAD.CreateMicrosoftADResponse
instance GHC.Read.Read Network.AWS.DirectoryService.CreateMicrosoftAD.CreateMicrosoftADResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.CreateMicrosoftAD.CreateMicrosoftADResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.CreateMicrosoftAD.CreateMicrosoftAD
instance Data.Data.Data Network.AWS.DirectoryService.CreateMicrosoftAD.CreateMicrosoftAD
instance GHC.Show.Show Network.AWS.DirectoryService.CreateMicrosoftAD.CreateMicrosoftAD
instance GHC.Classes.Eq Network.AWS.DirectoryService.CreateMicrosoftAD.CreateMicrosoftAD
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.CreateMicrosoftAD.CreateMicrosoftAD
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.CreateMicrosoftAD.CreateMicrosoftADResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.CreateMicrosoftAD.CreateMicrosoftAD
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.CreateMicrosoftAD.CreateMicrosoftAD
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.CreateMicrosoftAD.CreateMicrosoftAD
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.CreateMicrosoftAD.CreateMicrosoftAD
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.CreateMicrosoftAD.CreateMicrosoftAD
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.CreateMicrosoftAD.CreateMicrosoftAD


-- | Creates a Simple AD directory.
--   
--   Before you call <i>CreateDirectory</i> , ensure that all of the
--   required permissions have been explicitly granted through a policy.
--   For details about what permissions are required to run the
--   <i>CreateDirectory</i> operation, see <a>AWS Directory Service API
--   Permissions: Actions, Resources, and Conditions Reference</a> .
module Network.AWS.DirectoryService.CreateDirectory

-- | Creates a value of <a>CreateDirectory</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cShortName</a> - The short name of the directory, such as
--   <tt>CORP</tt> .</li>
--   <li><a>cVPCSettings</a> - A <tt>DirectoryVpcSettings</tt> object that
--   contains additional information for the operation.</li>
--   <li><a>cDescription</a> - A textual description for the
--   directory.</li>
--   <li><a>cName</a> - The fully qualified name for the directory, such as
--   <tt>corp.example.com</tt> .</li>
--   <li><a>cPassword</a> - The password for the directory administrator.
--   The directory creation process creates a directory administrator
--   account with the username <tt>Administrator</tt> and this
--   password.</li>
--   <li><a>cSize</a> - The size of the directory.</li>
--   </ul>
createDirectory :: Text -> Text -> DirectorySize -> CreateDirectory

-- | Contains the inputs for the <a>CreateDirectory</a> operation.
--   
--   <i>See:</i> <a>createDirectory</a> smart constructor.
data CreateDirectory

-- | The short name of the directory, such as <tt>CORP</tt> .
cShortName :: Lens' CreateDirectory (Maybe Text)

-- | A <tt>DirectoryVpcSettings</tt> object that contains additional
--   information for the operation.
cVPCSettings :: Lens' CreateDirectory (Maybe DirectoryVPCSettings)

-- | A textual description for the directory.
cDescription :: Lens' CreateDirectory (Maybe Text)

-- | The fully qualified name for the directory, such as
--   <tt>corp.example.com</tt> .
cName :: Lens' CreateDirectory Text

-- | The password for the directory administrator. The directory creation
--   process creates a directory administrator account with the username
--   <tt>Administrator</tt> and this password.
cPassword :: Lens' CreateDirectory Text

-- | The size of the directory.
cSize :: Lens' CreateDirectory DirectorySize

-- | Creates a value of <a>CreateDirectoryResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crsDirectoryId</a> - The identifier of the directory that was
--   created.</li>
--   <li><a>crsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createDirectoryResponse :: Int -> CreateDirectoryResponse

-- | Contains the results of the <a>CreateDirectory</a> operation.
--   
--   <i>See:</i> <a>createDirectoryResponse</a> smart constructor.
data CreateDirectoryResponse

-- | The identifier of the directory that was created.
crsDirectoryId :: Lens' CreateDirectoryResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
crsResponseStatus :: Lens' CreateDirectoryResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.CreateDirectory.CreateDirectoryResponse
instance Data.Data.Data Network.AWS.DirectoryService.CreateDirectory.CreateDirectoryResponse
instance GHC.Show.Show Network.AWS.DirectoryService.CreateDirectory.CreateDirectoryResponse
instance GHC.Read.Read Network.AWS.DirectoryService.CreateDirectory.CreateDirectoryResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.CreateDirectory.CreateDirectoryResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.CreateDirectory.CreateDirectory
instance Data.Data.Data Network.AWS.DirectoryService.CreateDirectory.CreateDirectory
instance GHC.Show.Show Network.AWS.DirectoryService.CreateDirectory.CreateDirectory
instance GHC.Classes.Eq Network.AWS.DirectoryService.CreateDirectory.CreateDirectory
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.CreateDirectory.CreateDirectory
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.CreateDirectory.CreateDirectoryResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.CreateDirectory.CreateDirectory
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.CreateDirectory.CreateDirectory
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.CreateDirectory.CreateDirectory
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.CreateDirectory.CreateDirectory
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.CreateDirectory.CreateDirectory
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.CreateDirectory.CreateDirectory


-- | Creates a conditional forwarder associated with your AWS directory.
--   Conditional forwarders are required in order to set up a trust
--   relationship with another domain. The conditional forwarder points to
--   the trusted domain.
module Network.AWS.DirectoryService.CreateConditionalForwarder

-- | Creates a value of <a>CreateConditionalForwarder</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccfDirectoryId</a> - The directory ID of the AWS directory for
--   which you are creating the conditional forwarder.</li>
--   <li><a>ccfRemoteDomainName</a> - The fully qualified domain name
--   (FQDN) of the remote domain with which you will set up a trust
--   relationship.</li>
--   <li><a>ccfDNSIPAddrs</a> - The IP addresses of the remote DNS server
--   associated with RemoteDomainName.</li>
--   </ul>
createConditionalForwarder :: Text -> Text -> CreateConditionalForwarder

-- | Initiates the creation of a conditional forwarder for your AWS
--   Directory Service for Microsoft Active Directory. Conditional
--   forwarders are required in order to set up a trust relationship with
--   another domain.
--   
--   <i>See:</i> <a>createConditionalForwarder</a> smart constructor.
data CreateConditionalForwarder

-- | The directory ID of the AWS directory for which you are creating the
--   conditional forwarder.
ccfDirectoryId :: Lens' CreateConditionalForwarder Text

-- | The fully qualified domain name (FQDN) of the remote domain with which
--   you will set up a trust relationship.
ccfRemoteDomainName :: Lens' CreateConditionalForwarder Text

-- | The IP addresses of the remote DNS server associated with
--   RemoteDomainName.
ccfDNSIPAddrs :: Lens' CreateConditionalForwarder [Text]

-- | Creates a value of <a>CreateConditionalForwarderResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccfrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createConditionalForwarderResponse :: Int -> CreateConditionalForwarderResponse

-- | The result of a CreateConditinalForwarder request.
--   
--   <i>See:</i> <a>createConditionalForwarderResponse</a> smart
--   constructor.
data CreateConditionalForwarderResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ccfrsResponseStatus :: Lens' CreateConditionalForwarderResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.CreateConditionalForwarder.CreateConditionalForwarderResponse
instance Data.Data.Data Network.AWS.DirectoryService.CreateConditionalForwarder.CreateConditionalForwarderResponse
instance GHC.Show.Show Network.AWS.DirectoryService.CreateConditionalForwarder.CreateConditionalForwarderResponse
instance GHC.Read.Read Network.AWS.DirectoryService.CreateConditionalForwarder.CreateConditionalForwarderResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.CreateConditionalForwarder.CreateConditionalForwarderResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.CreateConditionalForwarder.CreateConditionalForwarder
instance Data.Data.Data Network.AWS.DirectoryService.CreateConditionalForwarder.CreateConditionalForwarder
instance GHC.Show.Show Network.AWS.DirectoryService.CreateConditionalForwarder.CreateConditionalForwarder
instance GHC.Read.Read Network.AWS.DirectoryService.CreateConditionalForwarder.CreateConditionalForwarder
instance GHC.Classes.Eq Network.AWS.DirectoryService.CreateConditionalForwarder.CreateConditionalForwarder
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.CreateConditionalForwarder.CreateConditionalForwarder
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.CreateConditionalForwarder.CreateConditionalForwarderResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.CreateConditionalForwarder.CreateConditionalForwarder
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.CreateConditionalForwarder.CreateConditionalForwarder
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.CreateConditionalForwarder.CreateConditionalForwarder
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.CreateConditionalForwarder.CreateConditionalForwarder
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.CreateConditionalForwarder.CreateConditionalForwarder
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.CreateConditionalForwarder.CreateConditionalForwarder


-- | Creates a computer account in the specified directory, and joins the
--   computer to the directory.
module Network.AWS.DirectoryService.CreateComputer

-- | Creates a value of <a>CreateComputer</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccComputerAttributes</a> - An array of <a>Attribute</a> objects
--   that contain any LDAP attributes to apply to the computer
--   account.</li>
--   <li><a>ccOrganizationalUnitDistinguishedName</a> - The fully-qualified
--   distinguished name of the organizational unit to place the computer
--   account in.</li>
--   <li><a>ccDirectoryId</a> - The identifier of the directory in which to
--   create the computer account.</li>
--   <li><a>ccComputerName</a> - The name of the computer account.</li>
--   <li><a>ccPassword</a> - A one-time password that is used to join the
--   computer to the directory. You should generate a random, strong
--   password to use for this parameter.</li>
--   </ul>
createComputer :: Text -> Text -> Text -> CreateComputer

-- | Contains the inputs for the <a>CreateComputer</a> operation.
--   
--   <i>See:</i> <a>createComputer</a> smart constructor.
data CreateComputer

-- | An array of <a>Attribute</a> objects that contain any LDAP attributes
--   to apply to the computer account.
ccComputerAttributes :: Lens' CreateComputer [Attribute]

-- | The fully-qualified distinguished name of the organizational unit to
--   place the computer account in.
ccOrganizationalUnitDistinguishedName :: Lens' CreateComputer (Maybe Text)

-- | The identifier of the directory in which to create the computer
--   account.
ccDirectoryId :: Lens' CreateComputer Text

-- | The name of the computer account.
ccComputerName :: Lens' CreateComputer Text

-- | A one-time password that is used to join the computer to the
--   directory. You should generate a random, strong password to use for
--   this parameter.
ccPassword :: Lens' CreateComputer Text

-- | Creates a value of <a>CreateComputerResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccrsComputer</a> - A <a>Computer</a> object that represents the
--   computer account.</li>
--   <li><a>ccrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createComputerResponse :: Int -> CreateComputerResponse

-- | Contains the results for the <a>CreateComputer</a> operation.
--   
--   <i>See:</i> <a>createComputerResponse</a> smart constructor.
data CreateComputerResponse

-- | A <a>Computer</a> object that represents the computer account.
ccrsComputer :: Lens' CreateComputerResponse (Maybe Computer)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ccrsResponseStatus :: Lens' CreateComputerResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.CreateComputer.CreateComputerResponse
instance Data.Data.Data Network.AWS.DirectoryService.CreateComputer.CreateComputerResponse
instance GHC.Show.Show Network.AWS.DirectoryService.CreateComputer.CreateComputerResponse
instance GHC.Read.Read Network.AWS.DirectoryService.CreateComputer.CreateComputerResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.CreateComputer.CreateComputerResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.CreateComputer.CreateComputer
instance Data.Data.Data Network.AWS.DirectoryService.CreateComputer.CreateComputer
instance GHC.Show.Show Network.AWS.DirectoryService.CreateComputer.CreateComputer
instance GHC.Classes.Eq Network.AWS.DirectoryService.CreateComputer.CreateComputer
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.CreateComputer.CreateComputer
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.CreateComputer.CreateComputerResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.CreateComputer.CreateComputer
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.CreateComputer.CreateComputer
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.CreateComputer.CreateComputer
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.CreateComputer.CreateComputer
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.CreateComputer.CreateComputer
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.CreateComputer.CreateComputer


-- | Creates an alias for a directory and assigns the alias to the
--   directory. The alias is used to construct the access URL for the
--   directory, such as <tt><a>http://&lt;alias&gt;.awsapps.com</a></tt> .
--   
--   <i>Important:</i> After an alias has been created, it cannot be
--   deleted or reused, so this operation should only be used when
--   absolutely necessary.
module Network.AWS.DirectoryService.CreateAlias

-- | Creates a value of <a>CreateAlias</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>caDirectoryId</a> - The identifier of the directory for which
--   to create the alias.</li>
--   <li><a>caAlias</a> - The requested alias. The alias must be unique
--   amongst all aliases in AWS. This operation throws an
--   <tt>EntityAlreadyExistsException</tt> error if the alias already
--   exists.</li>
--   </ul>
createAlias :: Text -> Text -> CreateAlias

-- | Contains the inputs for the <a>CreateAlias</a> operation.
--   
--   <i>See:</i> <a>createAlias</a> smart constructor.
data CreateAlias

-- | The identifier of the directory for which to create the alias.
caDirectoryId :: Lens' CreateAlias Text

-- | The requested alias. The alias must be unique amongst all aliases in
--   AWS. This operation throws an <tt>EntityAlreadyExistsException</tt>
--   error if the alias already exists.
caAlias :: Lens' CreateAlias Text

-- | Creates a value of <a>CreateAliasResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>carsDirectoryId</a> - The identifier of the directory.</li>
--   <li><a>carsAlias</a> - The alias for the directory.</li>
--   <li><a>carsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createAliasResponse :: Int -> CreateAliasResponse

-- | Contains the results of the <a>CreateAlias</a> operation.
--   
--   <i>See:</i> <a>createAliasResponse</a> smart constructor.
data CreateAliasResponse

-- | The identifier of the directory.
carsDirectoryId :: Lens' CreateAliasResponse (Maybe Text)

-- | The alias for the directory.
carsAlias :: Lens' CreateAliasResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
carsResponseStatus :: Lens' CreateAliasResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.CreateAlias.CreateAliasResponse
instance Data.Data.Data Network.AWS.DirectoryService.CreateAlias.CreateAliasResponse
instance GHC.Show.Show Network.AWS.DirectoryService.CreateAlias.CreateAliasResponse
instance GHC.Read.Read Network.AWS.DirectoryService.CreateAlias.CreateAliasResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.CreateAlias.CreateAliasResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.CreateAlias.CreateAlias
instance Data.Data.Data Network.AWS.DirectoryService.CreateAlias.CreateAlias
instance GHC.Show.Show Network.AWS.DirectoryService.CreateAlias.CreateAlias
instance GHC.Read.Read Network.AWS.DirectoryService.CreateAlias.CreateAlias
instance GHC.Classes.Eq Network.AWS.DirectoryService.CreateAlias.CreateAlias
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.CreateAlias.CreateAlias
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.CreateAlias.CreateAliasResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.CreateAlias.CreateAlias
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.CreateAlias.CreateAlias
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.CreateAlias.CreateAlias
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.CreateAlias.CreateAlias
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.CreateAlias.CreateAlias
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.CreateAlias.CreateAlias


-- | Creates an AD Connector to connect to an on-premises directory.
--   
--   Before you call <i>ConnectDirectory</i> , ensure that all of the
--   required permissions have been explicitly granted through a policy.
--   For details about what permissions are required to run the
--   <i>ConnectDirectory</i> operation, see <a>AWS Directory Service API
--   Permissions: Actions, Resources, and Conditions Reference</a> .
module Network.AWS.DirectoryService.ConnectDirectory

-- | Creates a value of <a>ConnectDirectory</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdShortName</a> - The NetBIOS name of the on-premises
--   directory, such as <tt>CORP</tt> .</li>
--   <li><a>cdDescription</a> - A textual description for the
--   directory.</li>
--   <li><a>cdName</a> - The fully-qualified name of the on-premises
--   directory, such as <tt>corp.example.com</tt> .</li>
--   <li><a>cdPassword</a> - The password for the on-premises user
--   account.</li>
--   <li><a>cdSize</a> - The size of the directory.</li>
--   <li><a>cdConnectSettings</a> - A <a>DirectoryConnectSettings</a>
--   object that contains additional information for the operation.</li>
--   </ul>
connectDirectory :: Text -> Text -> DirectorySize -> DirectoryConnectSettings -> ConnectDirectory

-- | Contains the inputs for the <a>ConnectDirectory</a> operation.
--   
--   <i>See:</i> <a>connectDirectory</a> smart constructor.
data ConnectDirectory

-- | The NetBIOS name of the on-premises directory, such as <tt>CORP</tt> .
cdShortName :: Lens' ConnectDirectory (Maybe Text)

-- | A textual description for the directory.
cdDescription :: Lens' ConnectDirectory (Maybe Text)

-- | The fully-qualified name of the on-premises directory, such as
--   <tt>corp.example.com</tt> .
cdName :: Lens' ConnectDirectory Text

-- | The password for the on-premises user account.
cdPassword :: Lens' ConnectDirectory Text

-- | The size of the directory.
cdSize :: Lens' ConnectDirectory DirectorySize

-- | A <a>DirectoryConnectSettings</a> object that contains additional
--   information for the operation.
cdConnectSettings :: Lens' ConnectDirectory DirectoryConnectSettings

-- | Creates a value of <a>ConnectDirectoryResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdrsDirectoryId</a> - The identifier of the new directory.</li>
--   <li><a>cdrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
connectDirectoryResponse :: Int -> ConnectDirectoryResponse

-- | Contains the results of the <a>ConnectDirectory</a> operation.
--   
--   <i>See:</i> <a>connectDirectoryResponse</a> smart constructor.
data ConnectDirectoryResponse

-- | The identifier of the new directory.
cdrsDirectoryId :: Lens' ConnectDirectoryResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdrsResponseStatus :: Lens' ConnectDirectoryResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.ConnectDirectory.ConnectDirectoryResponse
instance Data.Data.Data Network.AWS.DirectoryService.ConnectDirectory.ConnectDirectoryResponse
instance GHC.Show.Show Network.AWS.DirectoryService.ConnectDirectory.ConnectDirectoryResponse
instance GHC.Read.Read Network.AWS.DirectoryService.ConnectDirectory.ConnectDirectoryResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.ConnectDirectory.ConnectDirectoryResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.ConnectDirectory.ConnectDirectory
instance Data.Data.Data Network.AWS.DirectoryService.ConnectDirectory.ConnectDirectory
instance GHC.Show.Show Network.AWS.DirectoryService.ConnectDirectory.ConnectDirectory
instance GHC.Classes.Eq Network.AWS.DirectoryService.ConnectDirectory.ConnectDirectory
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.ConnectDirectory.ConnectDirectory
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.ConnectDirectory.ConnectDirectoryResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.ConnectDirectory.ConnectDirectory
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.ConnectDirectory.ConnectDirectory
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.ConnectDirectory.ConnectDirectory
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.ConnectDirectory.ConnectDirectory
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.ConnectDirectory.ConnectDirectory
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.ConnectDirectory.ConnectDirectory


-- | Cancels an in-progress schema extension to a Microsoft AD directory.
--   Once a schema extension has started replicating to all domain
--   controllers, the task can no longer be canceled. A schema extension
--   can be canceled during any of the following states;
--   <tt>Initializing</tt> , <tt>CreatingSnapshot</tt> , and
--   <tt>UpdatingSchema</tt> .
module Network.AWS.DirectoryService.CancelSchemaExtension

-- | Creates a value of <a>CancelSchemaExtension</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cseDirectoryId</a> - The identifier of the directory whose
--   schema extension will be canceled.</li>
--   <li><a>cseSchemaExtensionId</a> - The identifier of the schema
--   extension that will be canceled.</li>
--   </ul>
cancelSchemaExtension :: Text -> Text -> CancelSchemaExtension

-- | <i>See:</i> <a>cancelSchemaExtension</a> smart constructor.
data CancelSchemaExtension

-- | The identifier of the directory whose schema extension will be
--   canceled.
cseDirectoryId :: Lens' CancelSchemaExtension Text

-- | The identifier of the schema extension that will be canceled.
cseSchemaExtensionId :: Lens' CancelSchemaExtension Text

-- | Creates a value of <a>CancelSchemaExtensionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>csersResponseStatus</a> - -- | The response status code.</li>
--   </ul>
cancelSchemaExtensionResponse :: Int -> CancelSchemaExtensionResponse

-- | <i>See:</i> <a>cancelSchemaExtensionResponse</a> smart constructor.
data CancelSchemaExtensionResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
csersResponseStatus :: Lens' CancelSchemaExtensionResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.CancelSchemaExtension.CancelSchemaExtensionResponse
instance Data.Data.Data Network.AWS.DirectoryService.CancelSchemaExtension.CancelSchemaExtensionResponse
instance GHC.Show.Show Network.AWS.DirectoryService.CancelSchemaExtension.CancelSchemaExtensionResponse
instance GHC.Read.Read Network.AWS.DirectoryService.CancelSchemaExtension.CancelSchemaExtensionResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.CancelSchemaExtension.CancelSchemaExtensionResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.CancelSchemaExtension.CancelSchemaExtension
instance Data.Data.Data Network.AWS.DirectoryService.CancelSchemaExtension.CancelSchemaExtension
instance GHC.Show.Show Network.AWS.DirectoryService.CancelSchemaExtension.CancelSchemaExtension
instance GHC.Read.Read Network.AWS.DirectoryService.CancelSchemaExtension.CancelSchemaExtension
instance GHC.Classes.Eq Network.AWS.DirectoryService.CancelSchemaExtension.CancelSchemaExtension
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.CancelSchemaExtension.CancelSchemaExtension
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.CancelSchemaExtension.CancelSchemaExtensionResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.CancelSchemaExtension.CancelSchemaExtension
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.CancelSchemaExtension.CancelSchemaExtension
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.CancelSchemaExtension.CancelSchemaExtension
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.CancelSchemaExtension.CancelSchemaExtension
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.CancelSchemaExtension.CancelSchemaExtension
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.CancelSchemaExtension.CancelSchemaExtension


-- | Adds or overwrites one or more tags for the specified directory. Each
--   directory can have a maximum of 50 tags. Each tag consists of a key
--   and optional value. Tag keys must be unique to each resource.
module Network.AWS.DirectoryService.AddTagsToResource

-- | Creates a value of <a>AddTagsToResource</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>attrResourceId</a> - Identifier (ID) for the directory to which
--   to add the tag.</li>
--   <li><a>attrTags</a> - The tags to be assigned to the directory.</li>
--   </ul>
addTagsToResource :: Text -> AddTagsToResource

-- | <i>See:</i> <a>addTagsToResource</a> smart constructor.
data AddTagsToResource

-- | Identifier (ID) for the directory to which to add the tag.
attrResourceId :: Lens' AddTagsToResource Text

-- | The tags to be assigned to the directory.
attrTags :: Lens' AddTagsToResource [Tag]

-- | Creates a value of <a>AddTagsToResourceResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>attrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
addTagsToResourceResponse :: Int -> AddTagsToResourceResponse

-- | <i>See:</i> <a>addTagsToResourceResponse</a> smart constructor.
data AddTagsToResourceResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
attrrsResponseStatus :: Lens' AddTagsToResourceResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.AddTagsToResource.AddTagsToResourceResponse
instance Data.Data.Data Network.AWS.DirectoryService.AddTagsToResource.AddTagsToResourceResponse
instance GHC.Show.Show Network.AWS.DirectoryService.AddTagsToResource.AddTagsToResourceResponse
instance GHC.Read.Read Network.AWS.DirectoryService.AddTagsToResource.AddTagsToResourceResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.AddTagsToResource.AddTagsToResourceResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.AddTagsToResource.AddTagsToResource
instance Data.Data.Data Network.AWS.DirectoryService.AddTagsToResource.AddTagsToResource
instance GHC.Show.Show Network.AWS.DirectoryService.AddTagsToResource.AddTagsToResource
instance GHC.Read.Read Network.AWS.DirectoryService.AddTagsToResource.AddTagsToResource
instance GHC.Classes.Eq Network.AWS.DirectoryService.AddTagsToResource.AddTagsToResource
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.AddTagsToResource.AddTagsToResource
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.AddTagsToResource.AddTagsToResourceResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.AddTagsToResource.AddTagsToResource
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.AddTagsToResource.AddTagsToResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.AddTagsToResource.AddTagsToResource
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.AddTagsToResource.AddTagsToResource
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.AddTagsToResource.AddTagsToResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.AddTagsToResource.AddTagsToResource


-- | If the DNS server for your on-premises domain uses a publicly
--   addressable IP address, you must add a CIDR address block to correctly
--   route traffic to and from your Microsoft AD on Amazon Web Services.
--   <i>AddIpRoutes</i> adds this address block. You can also use
--   <i>AddIpRoutes</i> to facilitate routing traffic that uses public IP
--   ranges from your Microsoft AD on AWS to a peer VPC.
--   
--   Before you call <i>AddIpRoutes</i> , ensure that all of the required
--   permissions have been explicitly granted through a policy. For details
--   about what permissions are required to run the <i>AddIpRoutes</i>
--   operation, see <a>AWS Directory Service API Permissions: Actions,
--   Resources, and Conditions Reference</a> .
module Network.AWS.DirectoryService.AddIPRoutes

-- | Creates a value of <a>AddIPRoutes</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>airUpdateSecurityGroupForDirectoryControllers</a> - If set to
--   true, updates the inbound and outbound rules of the security group
--   that has the description: "AWS created security group for <i>directory
--   ID</i> directory controllers." Following are the new rules: Inbound: *
--   Type: Custom UDP Rule, Protocol: UDP, Range: 88, Source: 0.0.0.0<i>0 *
--   Type: Custom UDP Rule, Protocol: UDP, Range: 123, Source: 0.0.0.0</i>0
--   * Type: Custom UDP Rule, Protocol: UDP, Range: 138, Source:
--   0.0.0.0<i>0 * Type: Custom UDP Rule, Protocol: UDP, Range: 389,
--   Source: 0.0.0.0</i>0 * Type: Custom UDP Rule, Protocol: UDP, Range:
--   464, Source: 0.0.0.0<i>0 * Type: Custom UDP Rule, Protocol: UDP,
--   Range: 445, Source: 0.0.0.0</i>0 * Type: Custom TCP Rule, Protocol:
--   TCP, Range: 88, Source: 0.0.0.0<i>0 * Type: Custom TCP Rule, Protocol:
--   TCP, Range: 135, Source: 0.0.0.0</i>0 * Type: Custom TCP Rule,
--   Protocol: TCP, Range: 445, Source: 0.0.0.0<i>0 * Type: Custom TCP
--   Rule, Protocol: TCP, Range: 464, Source: 0.0.0.0</i>0 * Type: Custom
--   TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0<i>0 * Type:
--   Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source:
--   0.0.0.0</i>0 * Type: Custom TCP Rule, Protocol: TCP, Range:
--   3268-33269, Source: 0.0.0.0<i>0 * Type: DNS (UDP), Protocol: UDP,
--   Range: 53, Source: 0.0.0.0</i>0 * Type: DNS (TCP), Protocol: TCP,
--   Range: 53, Source: 0.0.0.0<i>0 * Type: LDAP, Protocol: TCP, Range:
--   389, Source: 0.0.0.0</i>0 * Type: All ICMP, Protocol: All, Range:
--   N<i>A, Source: 0.0.0.0</i>0 Outbound: * Type: All traffic, Protocol:
--   All, Range: All, Destination: 0.0.0.0/0 These security rules impact an
--   internal network interface that is not exposed publicly.</li>
--   <li><a>airDirectoryId</a> - Identifier (ID) of the directory to which
--   to add the address block.</li>
--   <li><a>airIPRoutes</a> - IP address blocks, using CIDR format, of the
--   traffic to route. This is often the IP address block of the DNS server
--   used for your on-premises domain.</li>
--   </ul>
addIPRoutes :: Text -> AddIPRoutes

-- | <i>See:</i> <a>addIPRoutes</a> smart constructor.
data AddIPRoutes

-- | If set to true, updates the inbound and outbound rules of the security
--   group that has the description: "AWS created security group for
--   <i>directory ID</i> directory controllers." Following are the new
--   rules: Inbound: * Type: Custom UDP Rule, Protocol: UDP, Range: 88,
--   Source: 0.0.0.0<i>0 * Type: Custom UDP Rule, Protocol: UDP, Range:
--   123, Source: 0.0.0.0</i>0 * Type: Custom UDP Rule, Protocol: UDP,
--   Range: 138, Source: 0.0.0.0<i>0 * Type: Custom UDP Rule, Protocol:
--   UDP, Range: 389, Source: 0.0.0.0</i>0 * Type: Custom UDP Rule,
--   Protocol: UDP, Range: 464, Source: 0.0.0.0<i>0 * Type: Custom UDP
--   Rule, Protocol: UDP, Range: 445, Source: 0.0.0.0</i>0 * Type: Custom
--   TCP Rule, Protocol: TCP, Range: 88, Source: 0.0.0.0<i>0 * Type: Custom
--   TCP Rule, Protocol: TCP, Range: 135, Source: 0.0.0.0</i>0 * Type:
--   Custom TCP Rule, Protocol: TCP, Range: 445, Source: 0.0.0.0<i>0 *
--   Type: Custom TCP Rule, Protocol: TCP, Range: 464, Source: 0.0.0.0</i>0
--   * Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source:
--   0.0.0.0<i>0 * Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535,
--   Source: 0.0.0.0</i>0 * Type: Custom TCP Rule, Protocol: TCP, Range:
--   3268-33269, Source: 0.0.0.0<i>0 * Type: DNS (UDP), Protocol: UDP,
--   Range: 53, Source: 0.0.0.0</i>0 * Type: DNS (TCP), Protocol: TCP,
--   Range: 53, Source: 0.0.0.0<i>0 * Type: LDAP, Protocol: TCP, Range:
--   389, Source: 0.0.0.0</i>0 * Type: All ICMP, Protocol: All, Range:
--   N<i>A, Source: 0.0.0.0</i>0 Outbound: * Type: All traffic, Protocol:
--   All, Range: All, Destination: 0.0.0.0/0 These security rules impact an
--   internal network interface that is not exposed publicly.
airUpdateSecurityGroupForDirectoryControllers :: Lens' AddIPRoutes (Maybe Bool)

-- | Identifier (ID) of the directory to which to add the address block.
airDirectoryId :: Lens' AddIPRoutes Text

-- | IP address blocks, using CIDR format, of the traffic to route. This is
--   often the IP address block of the DNS server used for your on-premises
--   domain.
airIPRoutes :: Lens' AddIPRoutes [IPRoute]

-- | Creates a value of <a>AddIPRoutesResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>airrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
addIPRoutesResponse :: Int -> AddIPRoutesResponse

-- | <i>See:</i> <a>addIPRoutesResponse</a> smart constructor.
data AddIPRoutesResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
airrsResponseStatus :: Lens' AddIPRoutesResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.AddIPRoutes.AddIPRoutesResponse
instance Data.Data.Data Network.AWS.DirectoryService.AddIPRoutes.AddIPRoutesResponse
instance GHC.Show.Show Network.AWS.DirectoryService.AddIPRoutes.AddIPRoutesResponse
instance GHC.Read.Read Network.AWS.DirectoryService.AddIPRoutes.AddIPRoutesResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.AddIPRoutes.AddIPRoutesResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.AddIPRoutes.AddIPRoutes
instance Data.Data.Data Network.AWS.DirectoryService.AddIPRoutes.AddIPRoutes
instance GHC.Show.Show Network.AWS.DirectoryService.AddIPRoutes.AddIPRoutes
instance GHC.Read.Read Network.AWS.DirectoryService.AddIPRoutes.AddIPRoutes
instance GHC.Classes.Eq Network.AWS.DirectoryService.AddIPRoutes.AddIPRoutes
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.AddIPRoutes.AddIPRoutes
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.AddIPRoutes.AddIPRoutesResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.AddIPRoutes.AddIPRoutes
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.AddIPRoutes.AddIPRoutes
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.AddIPRoutes.AddIPRoutes
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.AddIPRoutes.AddIPRoutes
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.AddIPRoutes.AddIPRoutes
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.AddIPRoutes.AddIPRoutes


-- | Updates a conditional forwarder that has been set up for your AWS
--   directory.
module Network.AWS.DirectoryService.UpdateConditionalForwarder

-- | Creates a value of <a>UpdateConditionalForwarder</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ucfDirectoryId</a> - The directory ID of the AWS directory for
--   which to update the conditional forwarder.</li>
--   <li><a>ucfRemoteDomainName</a> - The fully qualified domain name
--   (FQDN) of the remote domain with which you will set up a trust
--   relationship.</li>
--   <li><a>ucfDNSIPAddrs</a> - The updated IP addresses of the remote DNS
--   server associated with the conditional forwarder.</li>
--   </ul>
updateConditionalForwarder :: Text -> Text -> UpdateConditionalForwarder

-- | Updates a conditional forwarder.
--   
--   <i>See:</i> <a>updateConditionalForwarder</a> smart constructor.
data UpdateConditionalForwarder

-- | The directory ID of the AWS directory for which to update the
--   conditional forwarder.
ucfDirectoryId :: Lens' UpdateConditionalForwarder Text

-- | The fully qualified domain name (FQDN) of the remote domain with which
--   you will set up a trust relationship.
ucfRemoteDomainName :: Lens' UpdateConditionalForwarder Text

-- | The updated IP addresses of the remote DNS server associated with the
--   conditional forwarder.
ucfDNSIPAddrs :: Lens' UpdateConditionalForwarder [Text]

-- | Creates a value of <a>UpdateConditionalForwarderResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ucfrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateConditionalForwarderResponse :: Int -> UpdateConditionalForwarderResponse

-- | The result of an UpdateConditionalForwarder request.
--   
--   <i>See:</i> <a>updateConditionalForwarderResponse</a> smart
--   constructor.
data UpdateConditionalForwarderResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ucfrsResponseStatus :: Lens' UpdateConditionalForwarderResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.UpdateConditionalForwarder.UpdateConditionalForwarderResponse
instance Data.Data.Data Network.AWS.DirectoryService.UpdateConditionalForwarder.UpdateConditionalForwarderResponse
instance GHC.Show.Show Network.AWS.DirectoryService.UpdateConditionalForwarder.UpdateConditionalForwarderResponse
instance GHC.Read.Read Network.AWS.DirectoryService.UpdateConditionalForwarder.UpdateConditionalForwarderResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.UpdateConditionalForwarder.UpdateConditionalForwarderResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.UpdateConditionalForwarder.UpdateConditionalForwarder
instance Data.Data.Data Network.AWS.DirectoryService.UpdateConditionalForwarder.UpdateConditionalForwarder
instance GHC.Show.Show Network.AWS.DirectoryService.UpdateConditionalForwarder.UpdateConditionalForwarder
instance GHC.Read.Read Network.AWS.DirectoryService.UpdateConditionalForwarder.UpdateConditionalForwarder
instance GHC.Classes.Eq Network.AWS.DirectoryService.UpdateConditionalForwarder.UpdateConditionalForwarder
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.UpdateConditionalForwarder.UpdateConditionalForwarder
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.UpdateConditionalForwarder.UpdateConditionalForwarderResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.UpdateConditionalForwarder.UpdateConditionalForwarder
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.UpdateConditionalForwarder.UpdateConditionalForwarder
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.UpdateConditionalForwarder.UpdateConditionalForwarder
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.UpdateConditionalForwarder.UpdateConditionalForwarder
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.UpdateConditionalForwarder.UpdateConditionalForwarder
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.UpdateConditionalForwarder.UpdateConditionalForwarder


-- | Adds or removes domain controllers to or from the directory. Based on
--   the difference between current value and new value (provided through
--   this API call), domain controllers will be added or removed. It may
--   take up to 45 minutes for any new domain controllers to become fully
--   active once the requested number of domain controllers is updated.
--   During this time, you cannot make another update request.
module Network.AWS.DirectoryService.UpdateNumberOfDomainControllers

-- | Creates a value of <a>UpdateNumberOfDomainControllers</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>unodcDirectoryId</a> - Identifier of the directory to which the
--   domain controllers will be added or removed.</li>
--   <li><a>unodcDesiredNumber</a> - The number of domain controllers
--   desired in the directory.</li>
--   </ul>
updateNumberOfDomainControllers :: Text -> Natural -> UpdateNumberOfDomainControllers

-- | <i>See:</i> <a>updateNumberOfDomainControllers</a> smart constructor.
data UpdateNumberOfDomainControllers

-- | Identifier of the directory to which the domain controllers will be
--   added or removed.
unodcDirectoryId :: Lens' UpdateNumberOfDomainControllers Text

-- | The number of domain controllers desired in the directory.
unodcDesiredNumber :: Lens' UpdateNumberOfDomainControllers Natural

-- | Creates a value of <a>UpdateNumberOfDomainControllersResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>unodcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateNumberOfDomainControllersResponse :: Int -> UpdateNumberOfDomainControllersResponse

-- | <i>See:</i> <a>updateNumberOfDomainControllersResponse</a> smart
--   constructor.
data UpdateNumberOfDomainControllersResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
unodcrsResponseStatus :: Lens' UpdateNumberOfDomainControllersResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.UpdateNumberOfDomainControllers.UpdateNumberOfDomainControllersResponse
instance Data.Data.Data Network.AWS.DirectoryService.UpdateNumberOfDomainControllers.UpdateNumberOfDomainControllersResponse
instance GHC.Show.Show Network.AWS.DirectoryService.UpdateNumberOfDomainControllers.UpdateNumberOfDomainControllersResponse
instance GHC.Read.Read Network.AWS.DirectoryService.UpdateNumberOfDomainControllers.UpdateNumberOfDomainControllersResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.UpdateNumberOfDomainControllers.UpdateNumberOfDomainControllersResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.UpdateNumberOfDomainControllers.UpdateNumberOfDomainControllers
instance Data.Data.Data Network.AWS.DirectoryService.UpdateNumberOfDomainControllers.UpdateNumberOfDomainControllers
instance GHC.Show.Show Network.AWS.DirectoryService.UpdateNumberOfDomainControllers.UpdateNumberOfDomainControllers
instance GHC.Read.Read Network.AWS.DirectoryService.UpdateNumberOfDomainControllers.UpdateNumberOfDomainControllers
instance GHC.Classes.Eq Network.AWS.DirectoryService.UpdateNumberOfDomainControllers.UpdateNumberOfDomainControllers
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.UpdateNumberOfDomainControllers.UpdateNumberOfDomainControllers
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.UpdateNumberOfDomainControllers.UpdateNumberOfDomainControllersResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.UpdateNumberOfDomainControllers.UpdateNumberOfDomainControllers
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.UpdateNumberOfDomainControllers.UpdateNumberOfDomainControllers
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.UpdateNumberOfDomainControllers.UpdateNumberOfDomainControllers
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.UpdateNumberOfDomainControllers.UpdateNumberOfDomainControllers
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.UpdateNumberOfDomainControllers.UpdateNumberOfDomainControllers
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.UpdateNumberOfDomainControllers.UpdateNumberOfDomainControllers


-- | Updates the Remote Authentication Dial In User Service (RADIUS) server
--   information for an AD Connector directory.
module Network.AWS.DirectoryService.UpdateRadius

-- | Creates a value of <a>UpdateRadius</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urDirectoryId</a> - The identifier of the directory for which
--   to update the RADIUS server information.</li>
--   <li><a>urRadiusSettings</a> - A <a>RadiusSettings</a> object that
--   contains information about the RADIUS server.</li>
--   </ul>
updateRadius :: Text -> RadiusSettings -> UpdateRadius

-- | Contains the inputs for the <a>UpdateRadius</a> operation.
--   
--   <i>See:</i> <a>updateRadius</a> smart constructor.
data UpdateRadius

-- | The identifier of the directory for which to update the RADIUS server
--   information.
urDirectoryId :: Lens' UpdateRadius Text

-- | A <a>RadiusSettings</a> object that contains information about the
--   RADIUS server.
urRadiusSettings :: Lens' UpdateRadius RadiusSettings

-- | Creates a value of <a>UpdateRadiusResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateRadiusResponse :: Int -> UpdateRadiusResponse

-- | Contains the results of the <a>UpdateRadius</a> operation.
--   
--   <i>See:</i> <a>updateRadiusResponse</a> smart constructor.
data UpdateRadiusResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
urrsResponseStatus :: Lens' UpdateRadiusResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.UpdateRadius.UpdateRadiusResponse
instance Data.Data.Data Network.AWS.DirectoryService.UpdateRadius.UpdateRadiusResponse
instance GHC.Show.Show Network.AWS.DirectoryService.UpdateRadius.UpdateRadiusResponse
instance GHC.Read.Read Network.AWS.DirectoryService.UpdateRadius.UpdateRadiusResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.UpdateRadius.UpdateRadiusResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.UpdateRadius.UpdateRadius
instance Data.Data.Data Network.AWS.DirectoryService.UpdateRadius.UpdateRadius
instance GHC.Show.Show Network.AWS.DirectoryService.UpdateRadius.UpdateRadius
instance GHC.Classes.Eq Network.AWS.DirectoryService.UpdateRadius.UpdateRadius
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.UpdateRadius.UpdateRadius
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.UpdateRadius.UpdateRadiusResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.UpdateRadius.UpdateRadius
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.UpdateRadius.UpdateRadius
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.UpdateRadius.UpdateRadius
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.UpdateRadius.UpdateRadius
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.UpdateRadius.UpdateRadius
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.UpdateRadius.UpdateRadius


-- | AWS Directory Service for Microsoft Active Directory allows you to
--   configure and verify trust relationships.
--   
--   This action verifies a trust relationship between your Microsoft AD in
--   the AWS cloud and an external domain.
module Network.AWS.DirectoryService.VerifyTrust

-- | Creates a value of <a>VerifyTrust</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vtTrustId</a> - The unique Trust ID of the trust relationship
--   to verify.</li>
--   </ul>
verifyTrust :: Text -> VerifyTrust

-- | Initiates the verification of an existing trust relationship between a
--   Microsoft AD in the AWS cloud and an external domain.
--   
--   <i>See:</i> <a>verifyTrust</a> smart constructor.
data VerifyTrust

-- | The unique Trust ID of the trust relationship to verify.
vtTrustId :: Lens' VerifyTrust Text

-- | Creates a value of <a>VerifyTrustResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vtrsTrustId</a> - The unique Trust ID of the trust relationship
--   that was verified.</li>
--   <li><a>vtrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
verifyTrustResponse :: Int -> VerifyTrustResponse

-- | Result of a VerifyTrust request.
--   
--   <i>See:</i> <a>verifyTrustResponse</a> smart constructor.
data VerifyTrustResponse

-- | The unique Trust ID of the trust relationship that was verified.
vtrsTrustId :: Lens' VerifyTrustResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
vtrsResponseStatus :: Lens' VerifyTrustResponse Int
instance GHC.Generics.Generic Network.AWS.DirectoryService.VerifyTrust.VerifyTrustResponse
instance Data.Data.Data Network.AWS.DirectoryService.VerifyTrust.VerifyTrustResponse
instance GHC.Show.Show Network.AWS.DirectoryService.VerifyTrust.VerifyTrustResponse
instance GHC.Read.Read Network.AWS.DirectoryService.VerifyTrust.VerifyTrustResponse
instance GHC.Classes.Eq Network.AWS.DirectoryService.VerifyTrust.VerifyTrustResponse
instance GHC.Generics.Generic Network.AWS.DirectoryService.VerifyTrust.VerifyTrust
instance Data.Data.Data Network.AWS.DirectoryService.VerifyTrust.VerifyTrust
instance GHC.Show.Show Network.AWS.DirectoryService.VerifyTrust.VerifyTrust
instance GHC.Read.Read Network.AWS.DirectoryService.VerifyTrust.VerifyTrust
instance GHC.Classes.Eq Network.AWS.DirectoryService.VerifyTrust.VerifyTrust
instance Network.AWS.Types.AWSRequest Network.AWS.DirectoryService.VerifyTrust.VerifyTrust
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.VerifyTrust.VerifyTrustResponse
instance Data.Hashable.Class.Hashable Network.AWS.DirectoryService.VerifyTrust.VerifyTrust
instance Control.DeepSeq.NFData Network.AWS.DirectoryService.VerifyTrust.VerifyTrust
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.DirectoryService.VerifyTrust.VerifyTrust
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.DirectoryService.VerifyTrust.VerifyTrust
instance Network.AWS.Data.Path.ToPath Network.AWS.DirectoryService.VerifyTrust.VerifyTrust
instance Network.AWS.Data.Query.ToQuery Network.AWS.DirectoryService.VerifyTrust.VerifyTrust


module Network.AWS.DirectoryService.Waiters


-- | <b>AWS Directory Service</b>
--   
--   AWS Directory Service is a web service that makes it easy for you to
--   setup and run directories in the AWS cloud, or connect your AWS
--   resources with an existing on-premises Microsoft Active Directory.
--   This guide provides detailed information about AWS Directory Service
--   operations, data types, parameters, and errors. For information about
--   AWS Directory Services features, see <a>AWS Directory Service</a> and
--   the <a>AWS Directory Service Administration Guide</a> .
module Network.AWS.DirectoryService

-- | API version <tt>2015-04-16</tt> of the Amazon Directory Service SDK
--   configuration.
directoryService :: Service

-- | The specified directory is unavailable or could not be found.
_DirectoryUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An authentication error occurred.
_AuthenticationFailedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | One or more parameters are not valid.
_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The operation is not supported.
_UnsupportedOperationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified entity already exists.
_EntityAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum number of directories in the region has been reached. You
--   can use the <tt>GetDirectoryLimits</tt> operation to determine your
--   directory limits in the region.
_DirectoryLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum allowed number of IP addresses was exceeded. The default
--   limit is 100 IP address blocks.
_IPRouteLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified entity could not be found.
_EntityDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The account does not have sufficient permission to perform the
--   operation.
_InsufficientPermissionsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The <i>NextToken</i> value is not valid.
_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An exception has occurred in AWS Directory Service.
_ServiceException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum number of manual snapshots for the directory has been
--   reached. You can use the <tt>GetSnapshotLimits</tt> operation to
--   determine the snapshot limits for a directory.
_SnapshotLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum allowed number of domain controllers per directory was
--   exceeded. The default limit per directory is 20 domain controllers.
_DomainControllerLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum allowed number of tags was exceeded.
_TagLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A client exception has occurred.
_ClientException :: AsError a => Getting (First ServiceError) a ServiceError
data DirectoryEdition
Enterprise :: DirectoryEdition
Standard :: DirectoryEdition
data DirectorySize
Large :: DirectorySize
Small :: DirectorySize
data DirectoryStage
DSActive :: DirectoryStage
DSCreated :: DirectoryStage
DSCreating :: DirectoryStage
DSDeleted :: DirectoryStage
DSDeleting :: DirectoryStage
DSFailed :: DirectoryStage
DSImpaired :: DirectoryStage
DSInoperable :: DirectoryStage
DSRequested :: DirectoryStage
DSRestoreFailed :: DirectoryStage
DSRestoring :: DirectoryStage
data DirectoryType
ADConnector :: DirectoryType
MicrosoftAD :: DirectoryType
SimpleAD :: DirectoryType
data DomainControllerStatus
Active :: DomainControllerStatus
Creating :: DomainControllerStatus
Deleted :: DomainControllerStatus
Deleting :: DomainControllerStatus
Failed :: DomainControllerStatus
Impaired :: DomainControllerStatus
Restoring :: DomainControllerStatus
data IPRouteStatusMsg
AddFailed :: IPRouteStatusMsg
Added :: IPRouteStatusMsg
Adding :: IPRouteStatusMsg
RemoveFailed :: IPRouteStatusMsg
Removed :: IPRouteStatusMsg
Removing :: IPRouteStatusMsg
data RadiusAuthenticationProtocol
Chap :: RadiusAuthenticationProtocol
MsCHAPV1 :: RadiusAuthenticationProtocol
MsCHAPV2 :: RadiusAuthenticationProtocol
Pap :: RadiusAuthenticationProtocol
data RadiusStatus
RSCompleted :: RadiusStatus
RSCreating :: RadiusStatus
RSFailed :: RadiusStatus
data ReplicationScope
Domain :: ReplicationScope
data SchemaExtensionStatus
SESCancelInProgress :: SchemaExtensionStatus
SESCancelled :: SchemaExtensionStatus
SESCompleted :: SchemaExtensionStatus
SESCreatingSnapshot :: SchemaExtensionStatus
SESFailed :: SchemaExtensionStatus
SESInitializing :: SchemaExtensionStatus
SESReplicating :: SchemaExtensionStatus
SESRollbackInProgress :: SchemaExtensionStatus
SESUpdatingSchema :: SchemaExtensionStatus
data SnapshotStatus
SSCompleted :: SnapshotStatus
SSCreating :: SnapshotStatus
SSFailed :: SnapshotStatus
data SnapshotType
Auto :: SnapshotType
Manual :: SnapshotType
data TopicStatus
TDeleted :: TopicStatus
TFailed :: TopicStatus
TRegistered :: TopicStatus
TTopicNotFound :: TopicStatus
data TrustDirection
OneWayIncoming :: TrustDirection
OneWayOutgoing :: TrustDirection
TwoWay :: TrustDirection
data TrustState
TSCreated :: TrustState
TSCreating :: TrustState
TSDeleted :: TrustState
TSDeleting :: TrustState
TSFailed :: TrustState
TSVerified :: TrustState
TSVerifyFailed :: TrustState
TSVerifying :: TrustState
data TrustType
Forest :: TrustType

-- | Represents a named directory attribute.
--   
--   <i>See:</i> <a>attribute</a> smart constructor.
data Attribute

-- | Creates a value of <a>Attribute</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aValue</a> - The value of the attribute.</li>
--   <li><a>aName</a> - The name of the attribute.</li>
--   </ul>
attribute :: Attribute

-- | The value of the attribute.
aValue :: Lens' Attribute (Maybe Text)

-- | The name of the attribute.
aName :: Lens' Attribute (Maybe Text)

-- | Contains information about a computer account in a directory.
--   
--   <i>See:</i> <a>computer</a> smart constructor.
data Computer

-- | Creates a value of <a>Computer</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cComputerId</a> - The identifier of the computer.</li>
--   <li><a>cComputerAttributes</a> - An array of <a>Attribute</a> objects
--   containing the LDAP attributes that belong to the computer
--   account.</li>
--   <li><a>cComputerName</a> - The computer name.</li>
--   </ul>
computer :: Computer

-- | The identifier of the computer.
cComputerId :: Lens' Computer (Maybe Text)

-- | An array of <a>Attribute</a> objects containing the LDAP attributes
--   that belong to the computer account.
cComputerAttributes :: Lens' Computer [Attribute]

-- | The computer name.
cComputerName :: Lens' Computer (Maybe Text)

-- | Points to a remote domain with which you are setting up a trust
--   relationship. Conditional forwarders are required in order to set up a
--   trust relationship with another domain.
--   
--   <i>See:</i> <a>conditionalForwarder</a> smart constructor.
data ConditionalForwarder

-- | Creates a value of <a>ConditionalForwarder</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cfDNSIPAddrs</a> - The IP addresses of the remote DNS server
--   associated with RemoteDomainName. This is the IP address of the DNS
--   server that your conditional forwarder points to.</li>
--   <li><a>cfRemoteDomainName</a> - The fully qualified domain name (FQDN)
--   of the remote domains pointed to by the conditional forwarder.</li>
--   <li><a>cfReplicationScope</a> - The replication scope of the
--   conditional forwarder. The only allowed value is <tt>Domain</tt> ,
--   which will replicate the conditional forwarder to all of the domain
--   controllers for your AWS directory.</li>
--   </ul>
conditionalForwarder :: ConditionalForwarder

-- | The IP addresses of the remote DNS server associated with
--   RemoteDomainName. This is the IP address of the DNS server that your
--   conditional forwarder points to.
cfDNSIPAddrs :: Lens' ConditionalForwarder [Text]

-- | The fully qualified domain name (FQDN) of the remote domains pointed
--   to by the conditional forwarder.
cfRemoteDomainName :: Lens' ConditionalForwarder (Maybe Text)

-- | The replication scope of the conditional forwarder. The only allowed
--   value is <tt>Domain</tt> , which will replicate the conditional
--   forwarder to all of the domain controllers for your AWS directory.
cfReplicationScope :: Lens' ConditionalForwarder (Maybe ReplicationScope)

-- | Contains information for the <tt>ConnectDirectory</tt> operation when
--   an AD Connector directory is being created.
--   
--   <i>See:</i> <a>directoryConnectSettings</a> smart constructor.
data DirectoryConnectSettings

-- | Creates a value of <a>DirectoryConnectSettings</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcsVPCId</a> - The identifier of the VPC in which the AD
--   Connector is created.</li>
--   <li><a>dcsSubnetIds</a> - A list of subnet identifiers in the VPC in
--   which the AD Connector is created.</li>
--   <li><a>dcsCustomerDNSIPs</a> - A list of one or more IP addresses of
--   DNS servers or domain controllers in the on-premises directory.</li>
--   <li><a>dcsCustomerUserName</a> - The username of an account in the
--   on-premises directory that is used to connect to the directory. This
--   account must have the following privileges: * Read users and groups *
--   Create computer objects * Join computers to the domain</li>
--   </ul>
directoryConnectSettings :: Text -> Text -> DirectoryConnectSettings

-- | The identifier of the VPC in which the AD Connector is created.
dcsVPCId :: Lens' DirectoryConnectSettings Text

-- | A list of subnet identifiers in the VPC in which the AD Connector is
--   created.
dcsSubnetIds :: Lens' DirectoryConnectSettings [Text]

-- | A list of one or more IP addresses of DNS servers or domain
--   controllers in the on-premises directory.
dcsCustomerDNSIPs :: Lens' DirectoryConnectSettings [Text]

-- | The username of an account in the on-premises directory that is used
--   to connect to the directory. This account must have the following
--   privileges: * Read users and groups * Create computer objects * Join
--   computers to the domain
dcsCustomerUserName :: Lens' DirectoryConnectSettings Text

-- | Contains information about an AD Connector directory.
--   
--   <i>See:</i> <a>directoryConnectSettingsDescription</a> smart
--   constructor.
data DirectoryConnectSettingsDescription

-- | Creates a value of <a>DirectoryConnectSettingsDescription</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcsdCustomerUserName</a> - The username of the service account
--   in the on-premises directory.</li>
--   <li><a>dcsdSubnetIds</a> - A list of subnet identifiers in the VPC
--   that the AD connector is in.</li>
--   <li><a>dcsdVPCId</a> - The identifier of the VPC that the AD Connector
--   is in.</li>
--   <li><a>dcsdSecurityGroupId</a> - The security group identifier for the
--   AD Connector directory.</li>
--   <li><a>dcsdConnectIPs</a> - The IP addresses of the AD Connector
--   servers.</li>
--   <li><a>dcsdAvailabilityZones</a> - A list of the Availability Zones
--   that the directory is in.</li>
--   </ul>
directoryConnectSettingsDescription :: DirectoryConnectSettingsDescription

-- | The username of the service account in the on-premises directory.
dcsdCustomerUserName :: Lens' DirectoryConnectSettingsDescription (Maybe Text)

-- | A list of subnet identifiers in the VPC that the AD connector is in.
dcsdSubnetIds :: Lens' DirectoryConnectSettingsDescription [Text]

-- | The identifier of the VPC that the AD Connector is in.
dcsdVPCId :: Lens' DirectoryConnectSettingsDescription (Maybe Text)

-- | The security group identifier for the AD Connector directory.
dcsdSecurityGroupId :: Lens' DirectoryConnectSettingsDescription (Maybe Text)

-- | The IP addresses of the AD Connector servers.
dcsdConnectIPs :: Lens' DirectoryConnectSettingsDescription [Text]

-- | A list of the Availability Zones that the directory is in.
dcsdAvailabilityZones :: Lens' DirectoryConnectSettingsDescription [Text]

-- | Contains information about an AWS Directory Service directory.
--   
--   <i>See:</i> <a>directoryDescription</a> smart constructor.
data DirectoryDescription

-- | Creates a value of <a>DirectoryDescription</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddEdition</a> - The edition associated with this
--   directory.</li>
--   <li><a>ddRadiusStatus</a> - The status of the RADIUS MFA server
--   connection.</li>
--   <li><a>ddStage</a> - The current stage of the directory.</li>
--   <li><a>ddDirectoryId</a> - The directory identifier.</li>
--   <li><a>ddAccessURL</a> - The access URL for the directory, such as
--   <tt><a>http://&lt;alias&gt;.awsapps.com</a></tt> . If no alias has
--   been created for the directory, <tt><a>alias</a></tt> is the directory
--   identifier, such as <tt>d-XXXXXXXXXX</tt> .</li>
--   <li><a>ddShortName</a> - The short name of the directory.</li>
--   <li><a>ddSize</a> - The directory size.</li>
--   <li><a>ddDesiredNumberOfDomainControllers</a> - The desired number of
--   domain controllers in the directory if the directory is Microsoft
--   AD.</li>
--   <li><a>ddRadiusSettings</a> - A <a>RadiusSettings</a> object that
--   contains information about the RADIUS server configured for this
--   directory.</li>
--   <li><a>ddLaunchTime</a> - Specifies when the directory was
--   created.</li>
--   <li><a>ddAlias</a> - The alias for the directory. If no alias has been
--   created for the directory, the alias is the directory identifier, such
--   as <tt>d-XXXXXXXXXX</tt> .</li>
--   <li><a>ddName</a> - The fully-qualified name of the directory.</li>
--   <li><a>ddStageLastUpdatedDateTime</a> - The date and time that the
--   stage was last updated.</li>
--   <li><a>ddSSOEnabled</a> - Indicates if single-sign on is enabled for
--   the directory. For more information, see <tt>EnableSso</tt> and
--   <tt>DisableSso</tt> .</li>
--   <li><a>ddDNSIPAddrs</a> - The IP addresses of the DNS servers for the
--   directory. For a Simple AD or Microsoft AD directory, these are the IP
--   addresses of the Simple AD or Microsoft AD directory servers. For an
--   AD Connector directory, these are the IP addresses of the DNS servers
--   or domain controllers in the on-premises directory to which the AD
--   Connector is connected.</li>
--   <li><a>ddVPCSettings</a> - A <tt>DirectoryVpcSettingsDescription</tt>
--   object that contains additional information about a directory. This
--   member is only present if the directory is a Simple AD or Managed AD
--   directory.</li>
--   <li><a>ddType</a> - The directory size.</li>
--   <li><a>ddStageReason</a> - Additional information about the directory
--   stage.</li>
--   <li><a>ddConnectSettings</a> - A
--   <a>DirectoryConnectSettingsDescription</a> object that contains
--   additional information about an AD Connector directory. This member is
--   only present if the directory is an AD Connector directory.</li>
--   <li><a>ddDescription</a> - The textual description for the
--   directory.</li>
--   </ul>
directoryDescription :: DirectoryDescription

-- | The edition associated with this directory.
ddEdition :: Lens' DirectoryDescription (Maybe DirectoryEdition)

-- | The status of the RADIUS MFA server connection.
ddRadiusStatus :: Lens' DirectoryDescription (Maybe RadiusStatus)

-- | The current stage of the directory.
ddStage :: Lens' DirectoryDescription (Maybe DirectoryStage)

-- | The directory identifier.
ddDirectoryId :: Lens' DirectoryDescription (Maybe Text)

-- | The access URL for the directory, such as
--   <tt><a>http://&lt;alias&gt;.awsapps.com</a></tt> . If no alias has
--   been created for the directory, <tt><a>alias</a></tt> is the directory
--   identifier, such as <tt>d-XXXXXXXXXX</tt> .
ddAccessURL :: Lens' DirectoryDescription (Maybe Text)

-- | The short name of the directory.
ddShortName :: Lens' DirectoryDescription (Maybe Text)

-- | The directory size.
ddSize :: Lens' DirectoryDescription (Maybe DirectorySize)

-- | The desired number of domain controllers in the directory if the
--   directory is Microsoft AD.
ddDesiredNumberOfDomainControllers :: Lens' DirectoryDescription (Maybe Natural)

-- | A <a>RadiusSettings</a> object that contains information about the
--   RADIUS server configured for this directory.
ddRadiusSettings :: Lens' DirectoryDescription (Maybe RadiusSettings)

-- | Specifies when the directory was created.
ddLaunchTime :: Lens' DirectoryDescription (Maybe UTCTime)

-- | The alias for the directory. If no alias has been created for the
--   directory, the alias is the directory identifier, such as
--   <tt>d-XXXXXXXXXX</tt> .
ddAlias :: Lens' DirectoryDescription (Maybe Text)

-- | The fully-qualified name of the directory.
ddName :: Lens' DirectoryDescription (Maybe Text)

-- | The date and time that the stage was last updated.
ddStageLastUpdatedDateTime :: Lens' DirectoryDescription (Maybe UTCTime)

-- | Indicates if single-sign on is enabled for the directory. For more
--   information, see <tt>EnableSso</tt> and <tt>DisableSso</tt> .
ddSSOEnabled :: Lens' DirectoryDescription (Maybe Bool)

-- | The IP addresses of the DNS servers for the directory. For a Simple AD
--   or Microsoft AD directory, these are the IP addresses of the Simple AD
--   or Microsoft AD directory servers. For an AD Connector directory,
--   these are the IP addresses of the DNS servers or domain controllers in
--   the on-premises directory to which the AD Connector is connected.
ddDNSIPAddrs :: Lens' DirectoryDescription [Text]

-- | A <tt>DirectoryVpcSettingsDescription</tt> object that contains
--   additional information about a directory. This member is only present
--   if the directory is a Simple AD or Managed AD directory.
ddVPCSettings :: Lens' DirectoryDescription (Maybe DirectoryVPCSettingsDescription)

-- | The directory size.
ddType :: Lens' DirectoryDescription (Maybe DirectoryType)

-- | Additional information about the directory stage.
ddStageReason :: Lens' DirectoryDescription (Maybe Text)

-- | A <a>DirectoryConnectSettingsDescription</a> object that contains
--   additional information about an AD Connector directory. This member is
--   only present if the directory is an AD Connector directory.
ddConnectSettings :: Lens' DirectoryDescription (Maybe DirectoryConnectSettingsDescription)

-- | The textual description for the directory.
ddDescription :: Lens' DirectoryDescription (Maybe Text)

-- | Contains directory limit information for a region.
--   
--   <i>See:</i> <a>directoryLimits</a> smart constructor.
data DirectoryLimits

-- | Creates a value of <a>DirectoryLimits</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dlConnectedDirectoriesCurrentCount</a> - The current number of
--   connected directories in the region.</li>
--   <li><a>dlCloudOnlyMicrosoftADLimitReached</a> - Indicates if the
--   Microsoft AD directory limit has been reached.</li>
--   <li><a>dlConnectedDirectoriesLimit</a> - The maximum number of
--   connected directories allowed in the region.</li>
--   <li><a>dlConnectedDirectoriesLimitReached</a> - Indicates if the
--   connected directory limit has been reached.</li>
--   <li><a>dlCloudOnlyMicrosoftADLimit</a> - The maximum number of
--   Microsoft AD directories allowed in the region.</li>
--   <li><a>dlCloudOnlyDirectoriesLimit</a> - The maximum number of cloud
--   directories allowed in the region.</li>
--   <li><a>dlCloudOnlyDirectoriesCurrentCount</a> - The current number of
--   cloud directories in the region.</li>
--   <li><a>dlCloudOnlyDirectoriesLimitReached</a> - Indicates if the cloud
--   directory limit has been reached.</li>
--   <li><a>dlCloudOnlyMicrosoftADCurrentCount</a> - The current number of
--   Microsoft AD directories in the region.</li>
--   </ul>
directoryLimits :: DirectoryLimits

-- | The current number of connected directories in the region.
dlConnectedDirectoriesCurrentCount :: Lens' DirectoryLimits (Maybe Natural)

-- | Indicates if the Microsoft AD directory limit has been reached.
dlCloudOnlyMicrosoftADLimitReached :: Lens' DirectoryLimits (Maybe Bool)

-- | The maximum number of connected directories allowed in the region.
dlConnectedDirectoriesLimit :: Lens' DirectoryLimits (Maybe Natural)

-- | Indicates if the connected directory limit has been reached.
dlConnectedDirectoriesLimitReached :: Lens' DirectoryLimits (Maybe Bool)

-- | The maximum number of Microsoft AD directories allowed in the region.
dlCloudOnlyMicrosoftADLimit :: Lens' DirectoryLimits (Maybe Natural)

-- | The maximum number of cloud directories allowed in the region.
dlCloudOnlyDirectoriesLimit :: Lens' DirectoryLimits (Maybe Natural)

-- | The current number of cloud directories in the region.
dlCloudOnlyDirectoriesCurrentCount :: Lens' DirectoryLimits (Maybe Natural)

-- | Indicates if the cloud directory limit has been reached.
dlCloudOnlyDirectoriesLimitReached :: Lens' DirectoryLimits (Maybe Bool)

-- | The current number of Microsoft AD directories in the region.
dlCloudOnlyMicrosoftADCurrentCount :: Lens' DirectoryLimits (Maybe Natural)

-- | Contains VPC information for the <tt>CreateDirectory</tt> or
--   <tt>CreateMicrosoftAD</tt> operation.
--   
--   <i>See:</i> <a>directoryVPCSettings</a> smart constructor.
data DirectoryVPCSettings

-- | Creates a value of <a>DirectoryVPCSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dvsVPCId</a> - The identifier of the VPC in which to create the
--   directory.</li>
--   <li><a>dvsSubnetIds</a> - The identifiers of the subnets for the
--   directory servers. The two subnets must be in different Availability
--   Zones. AWS Directory Service creates a directory server and a DNS
--   server in each of these subnets.</li>
--   </ul>
directoryVPCSettings :: Text -> DirectoryVPCSettings

-- | The identifier of the VPC in which to create the directory.
dvsVPCId :: Lens' DirectoryVPCSettings Text

-- | The identifiers of the subnets for the directory servers. The two
--   subnets must be in different Availability Zones. AWS Directory Service
--   creates a directory server and a DNS server in each of these subnets.
dvsSubnetIds :: Lens' DirectoryVPCSettings [Text]

-- | Contains information about the directory.
--   
--   <i>See:</i> <a>directoryVPCSettingsDescription</a> smart constructor.
data DirectoryVPCSettingsDescription

-- | Creates a value of <a>DirectoryVPCSettingsDescription</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dvsdSubnetIds</a> - The identifiers of the subnets for the
--   directory servers.</li>
--   <li><a>dvsdVPCId</a> - The identifier of the VPC that the directory is
--   in.</li>
--   <li><a>dvsdSecurityGroupId</a> - The domain controller security group
--   identifier for the directory.</li>
--   <li><a>dvsdAvailabilityZones</a> - The list of Availability Zones that
--   the directory is in.</li>
--   </ul>
directoryVPCSettingsDescription :: DirectoryVPCSettingsDescription

-- | The identifiers of the subnets for the directory servers.
dvsdSubnetIds :: Lens' DirectoryVPCSettingsDescription [Text]

-- | The identifier of the VPC that the directory is in.
dvsdVPCId :: Lens' DirectoryVPCSettingsDescription (Maybe Text)

-- | The domain controller security group identifier for the directory.
dvsdSecurityGroupId :: Lens' DirectoryVPCSettingsDescription (Maybe Text)

-- | The list of Availability Zones that the directory is in.
dvsdAvailabilityZones :: Lens' DirectoryVPCSettingsDescription [Text]

-- | Contains information about the domain controllers for a specified
--   directory.
--   
--   <i>See:</i> <a>domainController</a> smart constructor.
data DomainController

-- | Creates a value of <a>DomainController</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcStatus</a> - The status of the domain controller.</li>
--   <li><a>dcDirectoryId</a> - Identifier of the directory where the
--   domain controller resides.</li>
--   <li><a>dcVPCId</a> - The identifier of the VPC that contains the
--   domain controller.</li>
--   <li><a>dcLaunchTime</a> - Specifies when the domain controller was
--   created.</li>
--   <li><a>dcSubnetId</a> - Identifier of the subnet in the VPC that
--   contains the domain controller.</li>
--   <li><a>dcAvailabilityZone</a> - The Availability Zone where the domain
--   controller is located.</li>
--   <li><a>dcStatusLastUpdatedDateTime</a> - The date and time that the
--   status was last updated.</li>
--   <li><a>dcStatusReason</a> - A description of the domain controller
--   state.</li>
--   <li><a>dcDNSIPAddr</a> - The IP address of the domain controller.</li>
--   <li><a>dcDomainControllerId</a> - Identifies a specific domain
--   controller in the directory.</li>
--   </ul>
domainController :: DomainController

-- | The status of the domain controller.
dcStatus :: Lens' DomainController (Maybe DomainControllerStatus)

-- | Identifier of the directory where the domain controller resides.
dcDirectoryId :: Lens' DomainController (Maybe Text)

-- | The identifier of the VPC that contains the domain controller.
dcVPCId :: Lens' DomainController (Maybe Text)

-- | Specifies when the domain controller was created.
dcLaunchTime :: Lens' DomainController (Maybe UTCTime)

-- | Identifier of the subnet in the VPC that contains the domain
--   controller.
dcSubnetId :: Lens' DomainController (Maybe Text)

-- | The Availability Zone where the domain controller is located.
dcAvailabilityZone :: Lens' DomainController (Maybe Text)

-- | The date and time that the status was last updated.
dcStatusLastUpdatedDateTime :: Lens' DomainController (Maybe UTCTime)

-- | A description of the domain controller state.
dcStatusReason :: Lens' DomainController (Maybe Text)

-- | The IP address of the domain controller.
dcDNSIPAddr :: Lens' DomainController (Maybe Text)

-- | Identifies a specific domain controller in the directory.
dcDomainControllerId :: Lens' DomainController (Maybe Text)

-- | Information about SNS topic and AWS Directory Service directory
--   associations.
--   
--   <i>See:</i> <a>eventTopic</a> smart constructor.
data EventTopic

-- | Creates a value of <a>EventTopic</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etStatus</a> - The topic registration status.</li>
--   <li><a>etDirectoryId</a> - The Directory ID of an AWS Directory
--   Service directory that will publish status messages to an SNS
--   topic.</li>
--   <li><a>etTopicName</a> - The name of an AWS SNS topic the receives
--   status messages from the directory.</li>
--   <li><a>etTopicARN</a> - The SNS topic ARN (Amazon Resource Name).</li>
--   <li><a>etCreatedDateTime</a> - The date and time of when you
--   associated your directory with the SNS topic.</li>
--   </ul>
eventTopic :: EventTopic

-- | The topic registration status.
etStatus :: Lens' EventTopic (Maybe TopicStatus)

-- | The Directory ID of an AWS Directory Service directory that will
--   publish status messages to an SNS topic.
etDirectoryId :: Lens' EventTopic (Maybe Text)

-- | The name of an AWS SNS topic the receives status messages from the
--   directory.
etTopicName :: Lens' EventTopic (Maybe Text)

-- | The SNS topic ARN (Amazon Resource Name).
etTopicARN :: Lens' EventTopic (Maybe Text)

-- | The date and time of when you associated your directory with the SNS
--   topic.
etCreatedDateTime :: Lens' EventTopic (Maybe UTCTime)

-- | IP address block. This is often the address block of the DNS server
--   used for your on-premises domain.
--   
--   <i>See:</i> <a>ipRoute</a> smart constructor.
data IPRoute

-- | Creates a value of <a>IPRoute</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>irCidrIP</a> - IP address block using CIDR format, for example
--   10.0.0.0<i>24. This is often the address block of the DNS server used
--   for your on-premises domain. For a single IP address use a CIDR
--   address block with </i>32. For example 10.0.0.0/32.</li>
--   <li><a>irDescription</a> - Description of the address block.</li>
--   </ul>
ipRoute :: IPRoute

-- | IP address block using CIDR format, for example 10.0.0.0<i>24. This is
--   often the address block of the DNS server used for your on-premises
--   domain. For a single IP address use a CIDR address block with </i>32.
--   For example 10.0.0.0/32.
irCidrIP :: Lens' IPRoute (Maybe Text)

-- | Description of the address block.
irDescription :: Lens' IPRoute (Maybe Text)

-- | Information about one or more IP address blocks.
--   
--   <i>See:</i> <a>ipRouteInfo</a> smart constructor.
data IPRouteInfo

-- | Creates a value of <a>IPRouteInfo</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iriDirectoryId</a> - Identifier (ID) of the directory
--   associated with the IP addresses.</li>
--   <li><a>iriIPRouteStatusReason</a> - The reason for the
--   IpRouteStatusMsg.</li>
--   <li><a>iriAddedDateTime</a> - The date and time the address block was
--   added to the directory.</li>
--   <li><a>iriCidrIP</a> - IP address block in the <tt>IpRoute</tt> .</li>
--   <li><a>iriIPRouteStatusMsg</a> - The status of the IP address
--   block.</li>
--   <li><a>iriDescription</a> - Description of the <tt>IpRouteInfo</tt>
--   .</li>
--   </ul>
ipRouteInfo :: IPRouteInfo

-- | Identifier (ID) of the directory associated with the IP addresses.
iriDirectoryId :: Lens' IPRouteInfo (Maybe Text)

-- | The reason for the IpRouteStatusMsg.
iriIPRouteStatusReason :: Lens' IPRouteInfo (Maybe Text)

-- | The date and time the address block was added to the directory.
iriAddedDateTime :: Lens' IPRouteInfo (Maybe UTCTime)

-- | IP address block in the <tt>IpRoute</tt> .
iriCidrIP :: Lens' IPRouteInfo (Maybe Text)

-- | The status of the IP address block.
iriIPRouteStatusMsg :: Lens' IPRouteInfo (Maybe IPRouteStatusMsg)

-- | Description of the <tt>IpRouteInfo</tt> .
iriDescription :: Lens' IPRouteInfo (Maybe Text)

-- | Contains information about a Remote Authentication Dial In User
--   Service (RADIUS) server.
--   
--   <i>See:</i> <a>radiusSettings</a> smart constructor.
data RadiusSettings

-- | Creates a value of <a>RadiusSettings</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rsDisplayLabel</a> - Not currently used.</li>
--   <li><a>rsRadiusRetries</a> - The maximum number of times that
--   communication with the RADIUS server is attempted.</li>
--   <li><a>rsAuthenticationProtocol</a> - The protocol specified for your
--   RADIUS endpoints.</li>
--   <li><a>rsRadiusServers</a> - An array of strings that contains the IP
--   addresses of the RADIUS server endpoints, or the IP addresses of your
--   RADIUS server load balancer.</li>
--   <li><a>rsUseSameUsername</a> - Not currently used.</li>
--   <li><a>rsSharedSecret</a> - Not currently used.</li>
--   <li><a>rsRadiusTimeout</a> - The amount of time, in seconds, to wait
--   for the RADIUS server to respond.</li>
--   <li><a>rsRadiusPort</a> - The port that your RADIUS server is using
--   for communications. Your on-premises network must allow inbound
--   traffic over this port from the AWS Directory Service servers.</li>
--   </ul>
radiusSettings :: RadiusSettings

-- | Not currently used.
rsDisplayLabel :: Lens' RadiusSettings (Maybe Text)

-- | The maximum number of times that communication with the RADIUS server
--   is attempted.
rsRadiusRetries :: Lens' RadiusSettings (Maybe Natural)

-- | The protocol specified for your RADIUS endpoints.
rsAuthenticationProtocol :: Lens' RadiusSettings (Maybe RadiusAuthenticationProtocol)

-- | An array of strings that contains the IP addresses of the RADIUS
--   server endpoints, or the IP addresses of your RADIUS server load
--   balancer.
rsRadiusServers :: Lens' RadiusSettings [Text]

-- | Not currently used.
rsUseSameUsername :: Lens' RadiusSettings (Maybe Bool)

-- | Not currently used.
rsSharedSecret :: Lens' RadiusSettings (Maybe Text)

-- | The amount of time, in seconds, to wait for the RADIUS server to
--   respond.
rsRadiusTimeout :: Lens' RadiusSettings (Maybe Natural)

-- | The port that your RADIUS server is using for communications. Your
--   on-premises network must allow inbound traffic over this port from the
--   AWS Directory Service servers.
rsRadiusPort :: Lens' RadiusSettings (Maybe Natural)

-- | Information about a schema extension.
--   
--   <i>See:</i> <a>schemaExtensionInfo</a> smart constructor.
data SchemaExtensionInfo

-- | Creates a value of <a>SchemaExtensionInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>seiDirectoryId</a> - The identifier of the directory to which
--   the schema extension is applied.</li>
--   <li><a>seiSchemaExtensionId</a> - The identifier of the schema
--   extension.</li>
--   <li><a>seiSchemaExtensionStatusReason</a> - The reason for the
--   <tt>SchemaExtensionStatus</tt> .</li>
--   <li><a>seiSchemaExtensionStatus</a> - The current status of the schema
--   extension.</li>
--   <li><a>seiDescription</a> - A description of the schema
--   extension.</li>
--   <li><a>seiEndDateTime</a> - The date and time that the schema
--   extension was completed.</li>
--   <li><a>seiStartDateTime</a> - The date and time that the schema
--   extension started being applied to the directory.</li>
--   </ul>
schemaExtensionInfo :: SchemaExtensionInfo

-- | The identifier of the directory to which the schema extension is
--   applied.
seiDirectoryId :: Lens' SchemaExtensionInfo (Maybe Text)

-- | The identifier of the schema extension.
seiSchemaExtensionId :: Lens' SchemaExtensionInfo (Maybe Text)

-- | The reason for the <tt>SchemaExtensionStatus</tt> .
seiSchemaExtensionStatusReason :: Lens' SchemaExtensionInfo (Maybe Text)

-- | The current status of the schema extension.
seiSchemaExtensionStatus :: Lens' SchemaExtensionInfo (Maybe SchemaExtensionStatus)

-- | A description of the schema extension.
seiDescription :: Lens' SchemaExtensionInfo (Maybe Text)

-- | The date and time that the schema extension was completed.
seiEndDateTime :: Lens' SchemaExtensionInfo (Maybe UTCTime)

-- | The date and time that the schema extension started being applied to
--   the directory.
seiStartDateTime :: Lens' SchemaExtensionInfo (Maybe UTCTime)

-- | Describes a directory snapshot.
--   
--   <i>See:</i> <a>snapshot</a> smart constructor.
data Snapshot

-- | Creates a value of <a>Snapshot</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sStatus</a> - The snapshot status.</li>
--   <li><a>sDirectoryId</a> - The directory identifier.</li>
--   <li><a>sStartTime</a> - The date and time that the snapshot was
--   taken.</li>
--   <li><a>sName</a> - The descriptive name of the snapshot.</li>
--   <li><a>sType</a> - The snapshot type.</li>
--   <li><a>sSnapshotId</a> - The snapshot identifier.</li>
--   </ul>
snapshot :: Snapshot

-- | The snapshot status.
sStatus :: Lens' Snapshot (Maybe SnapshotStatus)

-- | The directory identifier.
sDirectoryId :: Lens' Snapshot (Maybe Text)

-- | The date and time that the snapshot was taken.
sStartTime :: Lens' Snapshot (Maybe UTCTime)

-- | The descriptive name of the snapshot.
sName :: Lens' Snapshot (Maybe Text)

-- | The snapshot type.
sType :: Lens' Snapshot (Maybe SnapshotType)

-- | The snapshot identifier.
sSnapshotId :: Lens' Snapshot (Maybe Text)

-- | Contains manual snapshot limit information for a directory.
--   
--   <i>See:</i> <a>snapshotLimits</a> smart constructor.
data SnapshotLimits

-- | Creates a value of <a>SnapshotLimits</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>slManualSnapshotsLimitReached</a> - Indicates if the manual
--   snapshot limit has been reached.</li>
--   <li><a>slManualSnapshotsCurrentCount</a> - The current number of
--   manual snapshots of the directory.</li>
--   <li><a>slManualSnapshotsLimit</a> - The maximum number of manual
--   snapshots allowed.</li>
--   </ul>
snapshotLimits :: SnapshotLimits

-- | Indicates if the manual snapshot limit has been reached.
slManualSnapshotsLimitReached :: Lens' SnapshotLimits (Maybe Bool)

-- | The current number of manual snapshots of the directory.
slManualSnapshotsCurrentCount :: Lens' SnapshotLimits (Maybe Natural)

-- | The maximum number of manual snapshots allowed.
slManualSnapshotsLimit :: Lens' SnapshotLimits (Maybe Natural)

-- | Metadata assigned to a directory consisting of a key-value pair.
--   
--   <i>See:</i> <a>tag</a> smart constructor.
data Tag

-- | Creates a value of <a>Tag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tagKey</a> - Required name of the tag. The string value can be
--   Unicode characters and cannot be prefixed with "aws:". The string can
--   contain only the set of Unicode letters, digits, white-space, '_',
--   <a>.</a>, <a>/</a>, '=', <a>+</a>, <a>-</a> (Java regex:
--   "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").</li>
--   <li><a>tagValue</a> - The optional value of the tag. The string value
--   can be Unicode characters. The string can contain only the set of
--   Unicode letters, digits, white-space, '_', <a>.</a>, <a>/</a>, '=',
--   <a>+</a>, <a>-</a> (Java regex:
--   "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").</li>
--   </ul>
tag :: Text -> Text -> Tag

-- | Required name of the tag. The string value can be Unicode characters
--   and cannot be prefixed with "aws:". The string can contain only the
--   set of Unicode letters, digits, white-space, '_', <a>.</a>, <a>/</a>,
--   '=', <a>+</a>, <a>-</a> (Java regex:
--   "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").
tagKey :: Lens' Tag Text

-- | The optional value of the tag. The string value can be Unicode
--   characters. The string can contain only the set of Unicode letters,
--   digits, white-space, '_', <a>.</a>, <a>/</a>, '=', <a>+</a>, <a>-</a>
--   (Java regex: "^([\p{L}\p{Z}\p{N}_.:/=+\-]*)$").
tagValue :: Lens' Tag Text

-- | Describes a trust relationship between an Microsoft AD in the AWS
--   cloud and an external domain.
--   
--   <i>See:</i> <a>trust</a> smart constructor.
data Trust

-- | Creates a value of <a>Trust</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tDirectoryId</a> - The Directory ID of the AWS directory
--   involved in the trust relationship.</li>
--   <li><a>tTrustState</a> - The trust relationship state.</li>
--   <li><a>tLastUpdatedDateTime</a> - The date and time that the trust
--   relationship was last updated.</li>
--   <li><a>tTrustDirection</a> - The trust relationship direction.</li>
--   <li><a>tStateLastUpdatedDateTime</a> - The date and time that the
--   TrustState was last updated.</li>
--   <li><a>tTrustType</a> - The trust relationship type.</li>
--   <li><a>tTrustStateReason</a> - The reason for the TrustState.</li>
--   <li><a>tRemoteDomainName</a> - The Fully Qualified Domain Name (FQDN)
--   of the external domain involved in the trust relationship.</li>
--   <li><a>tTrustId</a> - The unique ID of the trust relationship.</li>
--   <li><a>tCreatedDateTime</a> - The date and time that the trust
--   relationship was created.</li>
--   </ul>
trust :: Trust

-- | The Directory ID of the AWS directory involved in the trust
--   relationship.
tDirectoryId :: Lens' Trust (Maybe Text)

-- | The trust relationship state.
tTrustState :: Lens' Trust (Maybe TrustState)

-- | The date and time that the trust relationship was last updated.
tLastUpdatedDateTime :: Lens' Trust (Maybe UTCTime)

-- | The trust relationship direction.
tTrustDirection :: Lens' Trust (Maybe TrustDirection)

-- | The date and time that the TrustState was last updated.
tStateLastUpdatedDateTime :: Lens' Trust (Maybe UTCTime)

-- | The trust relationship type.
tTrustType :: Lens' Trust (Maybe TrustType)

-- | The reason for the TrustState.
tTrustStateReason :: Lens' Trust (Maybe Text)

-- | The Fully Qualified Domain Name (FQDN) of the external domain involved
--   in the trust relationship.
tRemoteDomainName :: Lens' Trust (Maybe Text)

-- | The unique ID of the trust relationship.
tTrustId :: Lens' Trust (Maybe Text)

-- | The date and time that the trust relationship was created.
tCreatedDateTime :: Lens' Trust (Maybe UTCTime)
