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


-- | Amazon CloudHSM 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.CloudHSM</a> or <a>the AWS documentation</a> to get
--   started.
@package amazonka-cloudhsm
@version 1.6.0


module Network.AWS.CloudHSM.Types

-- | API version <tt>2014-05-30</tt> of the Amazon CloudHSM SDK
--   configuration.
cloudHSM :: Service

-- | Indicates that one or more of the request parameters are not valid.
_InvalidRequestException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Indicates that an exception occurred in the AWS CloudHSM service.
_CloudHSMServiceException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Indicates that an internal error occurred.
_CloudHSMInternalException :: AsError a => Getting (First ServiceError) a ServiceError
data ClientVersion
VD5_1 :: ClientVersion
VD5_3 :: ClientVersion
data CloudHSMObjectState
Degraded :: CloudHSMObjectState
Ready :: CloudHSMObjectState
Updating :: CloudHSMObjectState
data HSMStatus
HSDegraded :: HSMStatus
HSPending :: HSMStatus
HSRunning :: HSMStatus
HSSuspended :: HSMStatus
HSTerminated :: HSMStatus
HSTerminating :: HSMStatus
HSUpdating :: HSMStatus

-- | Specifies the type of subscription for the HSM.
--   
--   <ul>
--   <li><b>PRODUCTION</b> - The HSM is being used in a production
--   environment.</li>
--   <li><b>TRIAL</b> - The HSM is being used in a product trial.</li>
--   </ul>
data SubscriptionType
Production :: SubscriptionType

-- | A key-value pair that identifies or specifies metadata about an AWS
--   CloudHSM resource.
--   
--   <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> - The key of the tag.</li>
--   <li><a>tagValue</a> - The value of the tag.</li>
--   </ul>
tag :: Text -> Text -> Tag

-- | The key of the tag.
tagKey :: Lens' Tag Text

-- | The value of the tag.
tagValue :: Lens' Tag Text


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Removes one or more tags from the specified AWS CloudHSM resource.
--   
--   To remove a tag, specify only the tag key to remove (not the value).
--   To overwrite the value for an existing tag, use
--   <tt>AddTagsToResource</tt> .
module Network.AWS.CloudHSM.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>rtfrResourceARN</a> - The Amazon Resource Name (ARN) of the AWS
--   CloudHSM resource.</li>
--   <li><a>rtfrTagKeyList</a> - The tag key or keys to remove. Specify
--   only the tag key to remove (not the value). To overwrite the value for
--   an existing tag, use <tt>AddTagsToResource</tt> .</li>
--   </ul>
removeTagsFromResource :: Text -> RemoveTagsFromResource

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

-- | The Amazon Resource Name (ARN) of the AWS CloudHSM resource.
rtfrResourceARN :: Lens' RemoveTagsFromResource Text

-- | The tag key or keys to remove. Specify only the tag key to remove (not
--   the value). To overwrite the value for an existing tag, use
--   <tt>AddTagsToResource</tt> .
rtfrTagKeyList :: 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>
--   <li><a>rtfrrsStatus</a> - The status of the operation.</li>
--   </ul>
removeTagsFromResourceResponse :: Int -> Text -> RemoveTagsFromResourceResponse

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

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rtfrrsResponseStatus :: Lens' RemoveTagsFromResourceResponse Int

-- | The status of the operation.
rtfrrsStatus :: Lens' RemoveTagsFromResourceResponse Text
instance GHC.Generics.Generic Network.AWS.CloudHSM.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance Data.Data.Data Network.AWS.CloudHSM.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance GHC.Show.Show Network.AWS.CloudHSM.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance GHC.Read.Read Network.AWS.CloudHSM.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance GHC.Classes.Eq Network.AWS.CloudHSM.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance GHC.Generics.Generic Network.AWS.CloudHSM.RemoveTagsFromResource.RemoveTagsFromResource
instance Data.Data.Data Network.AWS.CloudHSM.RemoveTagsFromResource.RemoveTagsFromResource
instance GHC.Show.Show Network.AWS.CloudHSM.RemoveTagsFromResource.RemoveTagsFromResource
instance GHC.Read.Read Network.AWS.CloudHSM.RemoveTagsFromResource.RemoveTagsFromResource
instance GHC.Classes.Eq Network.AWS.CloudHSM.RemoveTagsFromResource.RemoveTagsFromResource
instance Network.AWS.Types.AWSRequest Network.AWS.CloudHSM.RemoveTagsFromResource.RemoveTagsFromResource
instance Control.DeepSeq.NFData Network.AWS.CloudHSM.RemoveTagsFromResource.RemoveTagsFromResourceResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudHSM.RemoveTagsFromResource.RemoveTagsFromResource
instance Control.DeepSeq.NFData Network.AWS.CloudHSM.RemoveTagsFromResource.RemoveTagsFromResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudHSM.RemoveTagsFromResource.RemoveTagsFromResource
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudHSM.RemoveTagsFromResource.RemoveTagsFromResource
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudHSM.RemoveTagsFromResource.RemoveTagsFromResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudHSM.RemoveTagsFromResource.RemoveTagsFromResource


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Modifies the certificate used by the client.
--   
--   This action can potentially start a workflow to install the new
--   certificate on the client's HSMs.
module Network.AWS.CloudHSM.ModifyLunaClient

-- | Creates a value of <a>ModifyLunaClient</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>mlcClientARN</a> - The ARN of the client.</li>
--   <li><a>mlcCertificate</a> - The new certificate for the client.</li>
--   </ul>
modifyLunaClient :: Text -> Text -> ModifyLunaClient

-- | <i>See:</i> <a>modifyLunaClient</a> smart constructor.
data ModifyLunaClient

-- | The ARN of the client.
mlcClientARN :: Lens' ModifyLunaClient Text

-- | The new certificate for the client.
mlcCertificate :: Lens' ModifyLunaClient Text

-- | Creates a value of <a>ModifyLunaClientResponse</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>mlcrsClientARN</a> - The ARN of the client.</li>
--   <li><a>mlcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
modifyLunaClientResponse :: Int -> ModifyLunaClientResponse

-- | <i>See:</i> <a>modifyLunaClientResponse</a> smart constructor.
data ModifyLunaClientResponse

-- | The ARN of the client.
mlcrsClientARN :: Lens' ModifyLunaClientResponse (Maybe Text)

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


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Modifies an HSM.
--   
--   <i>Important:</i> This operation can result in the HSM being offline
--   for up to 15 minutes while the AWS CloudHSM service is reconfigured.
--   If you are modifying a production HSM, you should ensure that your AWS
--   CloudHSM service is configured for high availability, and consider
--   executing this operation during a maintenance window.
module Network.AWS.CloudHSM.ModifyHSM

-- | Creates a value of <a>ModifyHSM</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>mhIAMRoleARN</a> - The new IAM role ARN.</li>
--   <li><a>mhSubnetId</a> - The new identifier of the subnet that the HSM
--   is in. The new subnet must be in the same Availability Zone as the
--   current subnet.</li>
--   <li><a>mhSyslogIP</a> - The new IP address for the syslog monitoring
--   server. The AWS CloudHSM service only supports one syslog monitoring
--   server.</li>
--   <li><a>mhExternalId</a> - The new external ID.</li>
--   <li><a>mhEniIP</a> - The new IP address for the elastic network
--   interface (ENI) attached to the HSM. If the HSM is moved to a
--   different subnet, and an IP address is not specified, an IP address
--   will be randomly chosen from the CIDR range of the new subnet.</li>
--   <li><a>mhHSMARN</a> - The ARN of the HSM to modify.</li>
--   </ul>
modifyHSM :: Text -> ModifyHSM

-- | Contains the inputs for the <tt>ModifyHsm</tt> operation.
--   
--   <i>See:</i> <a>modifyHSM</a> smart constructor.
data ModifyHSM

-- | The new IAM role ARN.
mhIAMRoleARN :: Lens' ModifyHSM (Maybe Text)

-- | The new identifier of the subnet that the HSM is in. The new subnet
--   must be in the same Availability Zone as the current subnet.
mhSubnetId :: Lens' ModifyHSM (Maybe Text)

-- | The new IP address for the syslog monitoring server. The AWS CloudHSM
--   service only supports one syslog monitoring server.
mhSyslogIP :: Lens' ModifyHSM (Maybe Text)

-- | The new external ID.
mhExternalId :: Lens' ModifyHSM (Maybe Text)

-- | The new IP address for the elastic network interface (ENI) attached to
--   the HSM. If the HSM is moved to a different subnet, and an IP address
--   is not specified, an IP address will be randomly chosen from the CIDR
--   range of the new subnet.
mhEniIP :: Lens' ModifyHSM (Maybe Text)

-- | The ARN of the HSM to modify.
mhHSMARN :: Lens' ModifyHSM Text

-- | Creates a value of <a>ModifyHSMResponse</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>mhsmrsHSMARN</a> - The ARN of the HSM.</li>
--   <li><a>mhsmrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
modifyHSMResponse :: Int -> ModifyHSMResponse

-- | Contains the output of the <tt>ModifyHsm</tt> operation.
--   
--   <i>See:</i> <a>modifyHSMResponse</a> smart constructor.
data ModifyHSMResponse

-- | The ARN of the HSM.
mhsmrsHSMARN :: Lens' ModifyHSMResponse (Maybe Text)

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


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Modifies an existing high-availability partition group.
module Network.AWS.CloudHSM.ModifyHAPG

-- | Creates a value of <a>ModifyHAPG</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>mhPartitionSerialList</a> - The list of partition serial
--   numbers to make members of the high-availability partition group.</li>
--   <li><a>mhLabel</a> - The new label for the high-availability partition
--   group.</li>
--   <li><a>mhHAPGARN</a> - The ARN of the high-availability partition
--   group to modify.</li>
--   </ul>
modifyHAPG :: Text -> ModifyHAPG

-- | <i>See:</i> <a>modifyHAPG</a> smart constructor.
data ModifyHAPG

-- | The list of partition serial numbers to make members of the
--   high-availability partition group.
mhPartitionSerialList :: Lens' ModifyHAPG [Text]

-- | The new label for the high-availability partition group.
mhLabel :: Lens' ModifyHAPG (Maybe Text)

-- | The ARN of the high-availability partition group to modify.
mhHAPGARN :: Lens' ModifyHAPG Text

-- | Creates a value of <a>ModifyHAPGResponse</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>mhrsHAPGARN</a> - The ARN of the high-availability partition
--   group.</li>
--   <li><a>mhrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
modifyHAPGResponse :: Int -> ModifyHAPGResponse

-- | <i>See:</i> <a>modifyHAPGResponse</a> smart constructor.
data ModifyHAPGResponse

-- | The ARN of the high-availability partition group.
mhrsHAPGARN :: Lens' ModifyHAPGResponse (Maybe Text)

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


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Returns a list of all tags for the specified AWS CloudHSM resource.
module Network.AWS.CloudHSM.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>ltfrResourceARN</a> - The Amazon Resource Name (ARN) of the AWS
--   CloudHSM resource.</li>
--   </ul>
listTagsForResource :: Text -> ListTagsForResource

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

-- | The Amazon Resource Name (ARN) of the AWS CloudHSM resource.
ltfrResourceARN :: 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>ltfrrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>ltfrrsTagList</a> - One or more tags.</li>
--   </ul>
listTagsForResourceResponse :: Int -> ListTagsForResourceResponse

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

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ltfrrsResponseStatus :: Lens' ListTagsForResourceResponse Int

-- | One or more tags.
ltfrrsTagList :: Lens' ListTagsForResourceResponse [Tag]
instance GHC.Generics.Generic Network.AWS.CloudHSM.ListTagsForResource.ListTagsForResourceResponse
instance Data.Data.Data Network.AWS.CloudHSM.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Show.Show Network.AWS.CloudHSM.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Read.Read Network.AWS.CloudHSM.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Classes.Eq Network.AWS.CloudHSM.ListTagsForResource.ListTagsForResourceResponse
instance GHC.Generics.Generic Network.AWS.CloudHSM.ListTagsForResource.ListTagsForResource
instance Data.Data.Data Network.AWS.CloudHSM.ListTagsForResource.ListTagsForResource
instance GHC.Show.Show Network.AWS.CloudHSM.ListTagsForResource.ListTagsForResource
instance GHC.Read.Read Network.AWS.CloudHSM.ListTagsForResource.ListTagsForResource
instance GHC.Classes.Eq Network.AWS.CloudHSM.ListTagsForResource.ListTagsForResource
instance Network.AWS.Types.AWSRequest Network.AWS.CloudHSM.ListTagsForResource.ListTagsForResource
instance Control.DeepSeq.NFData Network.AWS.CloudHSM.ListTagsForResource.ListTagsForResourceResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudHSM.ListTagsForResource.ListTagsForResource
instance Control.DeepSeq.NFData Network.AWS.CloudHSM.ListTagsForResource.ListTagsForResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudHSM.ListTagsForResource.ListTagsForResource
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudHSM.ListTagsForResource.ListTagsForResource
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudHSM.ListTagsForResource.ListTagsForResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudHSM.ListTagsForResource.ListTagsForResource


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Lists all of the clients.
--   
--   This operation supports pagination with the use of the
--   <tt>NextToken</tt> member. If more results are available, the
--   <tt>NextToken</tt> member of the response contains a token that you
--   pass in the next call to <tt>ListLunaClients</tt> to retrieve the next
--   set of items.
module Network.AWS.CloudHSM.ListLunaClients

-- | Creates a value of <a>ListLunaClients</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>llcNextToken</a> - The <tt>NextToken</tt> value from a previous
--   call to <tt>ListLunaClients</tt> . Pass null if this is the first
--   call.</li>
--   </ul>
listLunaClients :: ListLunaClients

-- | <i>See:</i> <a>listLunaClients</a> smart constructor.
data ListLunaClients

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

-- | Creates a value of <a>ListLunaClientsResponse</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>llcrsNextToken</a> - If not null, more results are available.
--   Pass this to <tt>ListLunaClients</tt> to retrieve the next set of
--   items.</li>
--   <li><a>llcrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>llcrsClientList</a> - The list of clients.</li>
--   </ul>
listLunaClientsResponse :: Int -> ListLunaClientsResponse

-- | <i>See:</i> <a>listLunaClientsResponse</a> smart constructor.
data ListLunaClientsResponse

-- | If not null, more results are available. Pass this to
--   <tt>ListLunaClients</tt> to retrieve the next set of items.
llcrsNextToken :: Lens' ListLunaClientsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
llcrsResponseStatus :: Lens' ListLunaClientsResponse Int

-- | The list of clients.
llcrsClientList :: Lens' ListLunaClientsResponse [Text]
instance GHC.Generics.Generic Network.AWS.CloudHSM.ListLunaClients.ListLunaClientsResponse
instance Data.Data.Data Network.AWS.CloudHSM.ListLunaClients.ListLunaClientsResponse
instance GHC.Show.Show Network.AWS.CloudHSM.ListLunaClients.ListLunaClientsResponse
instance GHC.Read.Read Network.AWS.CloudHSM.ListLunaClients.ListLunaClientsResponse
instance GHC.Classes.Eq Network.AWS.CloudHSM.ListLunaClients.ListLunaClientsResponse
instance GHC.Generics.Generic Network.AWS.CloudHSM.ListLunaClients.ListLunaClients
instance Data.Data.Data Network.AWS.CloudHSM.ListLunaClients.ListLunaClients
instance GHC.Show.Show Network.AWS.CloudHSM.ListLunaClients.ListLunaClients
instance GHC.Read.Read Network.AWS.CloudHSM.ListLunaClients.ListLunaClients
instance GHC.Classes.Eq Network.AWS.CloudHSM.ListLunaClients.ListLunaClients
instance Network.AWS.Types.AWSRequest Network.AWS.CloudHSM.ListLunaClients.ListLunaClients
instance Control.DeepSeq.NFData Network.AWS.CloudHSM.ListLunaClients.ListLunaClientsResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudHSM.ListLunaClients.ListLunaClients
instance Control.DeepSeq.NFData Network.AWS.CloudHSM.ListLunaClients.ListLunaClients
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudHSM.ListLunaClients.ListLunaClients
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudHSM.ListLunaClients.ListLunaClients
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudHSM.ListLunaClients.ListLunaClients
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudHSM.ListLunaClients.ListLunaClients


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Retrieves the identifiers of all of the HSMs provisioned for the
--   current customer.
--   
--   This operation supports pagination with the use of the
--   <tt>NextToken</tt> member. If more results are available, the
--   <tt>NextToken</tt> member of the response contains a token that you
--   pass in the next call to <tt>ListHsms</tt> to retrieve the next set of
--   items.
module Network.AWS.CloudHSM.ListHSMs

-- | Creates a value of <a>ListHSMs</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>lhsmNextToken</a> - The <tt>NextToken</tt> value from a
--   previous call to <tt>ListHsms</tt> . Pass null if this is the first
--   call.</li>
--   </ul>
listHSMs :: ListHSMs

-- | <i>See:</i> <a>listHSMs</a> smart constructor.
data ListHSMs

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

-- | Creates a value of <a>ListHSMsResponse</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>lhsmrsNextToken</a> - If not null, more results are available.
--   Pass this value to <tt>ListHsms</tt> to retrieve the next set of
--   items.</li>
--   <li><a>lhsmrsHSMList</a> - The list of ARNs that identify the
--   HSMs.</li>
--   <li><a>lhsmrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listHSMsResponse :: Int -> ListHSMsResponse

-- | Contains the output of the <tt>ListHsms</tt> operation.
--   
--   <i>See:</i> <a>listHSMsResponse</a> smart constructor.
data ListHSMsResponse

-- | If not null, more results are available. Pass this value to
--   <tt>ListHsms</tt> to retrieve the next set of items.
lhsmrsNextToken :: Lens' ListHSMsResponse (Maybe Text)

-- | The list of ARNs that identify the HSMs.
lhsmrsHSMList :: Lens' ListHSMsResponse [Text]

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


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Lists the high-availability partition groups for the account.
--   
--   This operation supports pagination with the use of the
--   <tt>NextToken</tt> member. If more results are available, the
--   <tt>NextToken</tt> member of the response contains a token that you
--   pass in the next call to <tt>ListHapgs</tt> to retrieve the next set
--   of items.
module Network.AWS.CloudHSM.ListHAPGs

-- | Creates a value of <a>ListHAPGs</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>lhNextToken</a> - The <tt>NextToken</tt> value from a previous
--   call to <tt>ListHapgs</tt> . Pass null if this is the first call.</li>
--   </ul>
listHAPGs :: ListHAPGs

-- | <i>See:</i> <a>listHAPGs</a> smart constructor.
data ListHAPGs

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

-- | Creates a value of <a>ListHAPGsResponse</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>lhrsNextToken</a> - If not null, more results are available.
--   Pass this value to <tt>ListHapgs</tt> to retrieve the next set of
--   items.</li>
--   <li><a>lhrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>lhrsHAPGList</a> - The list of high-availability partition
--   groups.</li>
--   </ul>
listHAPGsResponse :: Int -> ListHAPGsResponse

-- | <i>See:</i> <a>listHAPGsResponse</a> smart constructor.
data ListHAPGsResponse

-- | If not null, more results are available. Pass this value to
--   <tt>ListHapgs</tt> to retrieve the next set of items.
lhrsNextToken :: Lens' ListHAPGsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lhrsResponseStatus :: Lens' ListHAPGsResponse Int

-- | The list of high-availability partition groups.
lhrsHAPGList :: Lens' ListHAPGsResponse [Text]
instance GHC.Generics.Generic Network.AWS.CloudHSM.ListHAPGs.ListHAPGsResponse
instance Data.Data.Data Network.AWS.CloudHSM.ListHAPGs.ListHAPGsResponse
instance GHC.Show.Show Network.AWS.CloudHSM.ListHAPGs.ListHAPGsResponse
instance GHC.Read.Read Network.AWS.CloudHSM.ListHAPGs.ListHAPGsResponse
instance GHC.Classes.Eq Network.AWS.CloudHSM.ListHAPGs.ListHAPGsResponse
instance GHC.Generics.Generic Network.AWS.CloudHSM.ListHAPGs.ListHAPGs
instance Data.Data.Data Network.AWS.CloudHSM.ListHAPGs.ListHAPGs
instance GHC.Show.Show Network.AWS.CloudHSM.ListHAPGs.ListHAPGs
instance GHC.Read.Read Network.AWS.CloudHSM.ListHAPGs.ListHAPGs
instance GHC.Classes.Eq Network.AWS.CloudHSM.ListHAPGs.ListHAPGs
instance Network.AWS.Types.AWSRequest Network.AWS.CloudHSM.ListHAPGs.ListHAPGs
instance Control.DeepSeq.NFData Network.AWS.CloudHSM.ListHAPGs.ListHAPGsResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudHSM.ListHAPGs.ListHAPGs
instance Control.DeepSeq.NFData Network.AWS.CloudHSM.ListHAPGs.ListHAPGs
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudHSM.ListHAPGs.ListHAPGs
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudHSM.ListHAPGs.ListHAPGs
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudHSM.ListHAPGs.ListHAPGs
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudHSM.ListHAPGs.ListHAPGs


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Lists the Availability Zones that have available AWS CloudHSM
--   capacity.
module Network.AWS.CloudHSM.ListAvailableZones

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

-- | Contains the inputs for the <a>ListAvailableZones</a> action.
--   
--   <i>See:</i> <a>listAvailableZones</a> smart constructor.
data ListAvailableZones

-- | Creates a value of <a>ListAvailableZonesResponse</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>lazrsAZList</a> - The list of Availability Zones that have
--   available AWS CloudHSM capacity.</li>
--   <li><a>lazrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listAvailableZonesResponse :: Int -> ListAvailableZonesResponse

-- | <i>See:</i> <a>listAvailableZonesResponse</a> smart constructor.
data ListAvailableZonesResponse

-- | The list of Availability Zones that have available AWS CloudHSM
--   capacity.
lazrsAZList :: Lens' ListAvailableZonesResponse [Text]

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


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Gets the configuration files necessary to connect to all high
--   availability partition groups the client is associated with.
module Network.AWS.CloudHSM.GetConfig

-- | Creates a value of <a>GetConfig</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>gcClientARN</a> - The ARN of the client.</li>
--   <li><a>gcClientVersion</a> - The client version.</li>
--   <li><a>gcHAPGList</a> - A list of ARNs that identify the
--   high-availability partition groups that are associated with the
--   client.</li>
--   </ul>
getConfig :: Text -> ClientVersion -> GetConfig

-- | <i>See:</i> <a>getConfig</a> smart constructor.
data GetConfig

-- | The ARN of the client.
gcClientARN :: Lens' GetConfig Text

-- | The client version.
gcClientVersion :: Lens' GetConfig ClientVersion

-- | A list of ARNs that identify the high-availability partition groups
--   that are associated with the client.
gcHAPGList :: Lens' GetConfig [Text]

-- | Creates a value of <a>GetConfigResponse</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>gcrsConfigFile</a> - The chrystoki.conf configuration
--   file.</li>
--   <li><a>gcrsConfigCred</a> - The certificate file containing the
--   server.pem files of the HSMs.</li>
--   <li><a>gcrsConfigType</a> - The type of credentials.</li>
--   <li><a>gcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getConfigResponse :: Int -> GetConfigResponse

-- | <i>See:</i> <a>getConfigResponse</a> smart constructor.
data GetConfigResponse

-- | The chrystoki.conf configuration file.
gcrsConfigFile :: Lens' GetConfigResponse (Maybe Text)

-- | The certificate file containing the server.pem files of the HSMs.
gcrsConfigCred :: Lens' GetConfigResponse (Maybe Text)

-- | The type of credentials.
gcrsConfigType :: Lens' GetConfigResponse (Maybe Text)

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


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Retrieves information about an HSM client.
module Network.AWS.CloudHSM.DescribeLunaClient

-- | Creates a value of <a>DescribeLunaClient</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>dlcClientARN</a> - The ARN of the client.</li>
--   <li><a>dlcCertificateFingerprint</a> - The certificate
--   fingerprint.</li>
--   </ul>
describeLunaClient :: DescribeLunaClient

-- | <i>See:</i> <a>describeLunaClient</a> smart constructor.
data DescribeLunaClient

-- | The ARN of the client.
dlcClientARN :: Lens' DescribeLunaClient (Maybe Text)

-- | The certificate fingerprint.
dlcCertificateFingerprint :: Lens' DescribeLunaClient (Maybe Text)

-- | Creates a value of <a>DescribeLunaClientResponse</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>drsClientARN</a> - The ARN of the client.</li>
--   <li><a>drsLastModifiedTimestamp</a> - The date and time the client was
--   last modified.</li>
--   <li><a>drsCertificateFingerprint</a> - The certificate
--   fingerprint.</li>
--   <li><a>drsCertificate</a> - The certificate installed on the HSMs used
--   by this client.</li>
--   <li><a>drsLabel</a> - The label of the client.</li>
--   <li><a>drsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeLunaClientResponse :: Int -> DescribeLunaClientResponse

-- | <i>See:</i> <a>describeLunaClientResponse</a> smart constructor.
data DescribeLunaClientResponse

-- | The ARN of the client.
drsClientARN :: Lens' DescribeLunaClientResponse (Maybe Text)

-- | The date and time the client was last modified.
drsLastModifiedTimestamp :: Lens' DescribeLunaClientResponse (Maybe Text)

-- | The certificate fingerprint.
drsCertificateFingerprint :: Lens' DescribeLunaClientResponse (Maybe Text)

-- | The certificate installed on the HSMs used by this client.
drsCertificate :: Lens' DescribeLunaClientResponse (Maybe Text)

-- | The label of the client.
drsLabel :: Lens' DescribeLunaClientResponse (Maybe Text)

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


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Retrieves information about an HSM. You can identify the HSM by its
--   ARN or its serial number.
module Network.AWS.CloudHSM.DescribeHSM

-- | Creates a value of <a>DescribeHSM</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>dhsmHSMSerialNumber</a> - The serial number of the HSM. Either
--   the <tt>HsmArn</tt> or the <tt>HsmSerialNumber</tt> parameter must be
--   specified.</li>
--   <li><a>dhsmHSMARN</a> - The ARN of the HSM. Either the <tt>HsmArn</tt>
--   or the <tt>SerialNumber</tt> parameter must be specified.</li>
--   </ul>
describeHSM :: DescribeHSM

-- | Contains the inputs for the <tt>DescribeHsm</tt> operation.
--   
--   <i>See:</i> <a>describeHSM</a> smart constructor.
data DescribeHSM

-- | The serial number of the HSM. Either the <tt>HsmArn</tt> or the
--   <tt>HsmSerialNumber</tt> parameter must be specified.
dhsmHSMSerialNumber :: Lens' DescribeHSM (Maybe Text)

-- | The ARN of the HSM. Either the <tt>HsmArn</tt> or the
--   <tt>SerialNumber</tt> parameter must be specified.
dhsmHSMARN :: Lens' DescribeHSM (Maybe Text)

-- | Creates a value of <a>DescribeHSMResponse</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>desrsStatus</a> - The status of the HSM.</li>
--   <li><a>desrsIAMRoleARN</a> - The ARN of the IAM role assigned to the
--   HSM.</li>
--   <li><a>desrsEniId</a> - The identifier of the elastic network
--   interface (ENI) attached to the HSM.</li>
--   <li><a>desrsVPCId</a> - The identifier of the VPC that the HSM is
--   in.</li>
--   <li><a>desrsSSHKeyLastUpdated</a> - The date and time that the SSH key
--   was last updated.</li>
--   <li><a>desrsSubscriptionEndDate</a> - The subscription end date.</li>
--   <li><a>desrsServerCertURI</a> - The URI of the certificate
--   server.</li>
--   <li><a>desrsSubscriptionType</a> - Undocumented member.</li>
--   <li><a>desrsSSHPublicKey</a> - The public SSH key.</li>
--   <li><a>desrsSubnetId</a> - The identifier of the subnet that the HSM
--   is in.</li>
--   <li><a>desrsStatusDetails</a> - Contains additional information about
--   the status of the HSM.</li>
--   <li><a>desrsPartitions</a> - The list of partitions on the HSM.</li>
--   <li><a>desrsSubscriptionStartDate</a> - The subscription start
--   date.</li>
--   <li><a>desrsAvailabilityZone</a> - The Availability Zone that the HSM
--   is in.</li>
--   <li><a>desrsServerCertLastUpdated</a> - The date and time that the
--   server certificate was last updated.</li>
--   <li><a>desrsSoftwareVersion</a> - The HSM software version.</li>
--   <li><a>desrsVendorName</a> - The name of the HSM vendor.</li>
--   <li><a>desrsSerialNumber</a> - The serial number of the HSM.</li>
--   <li><a>desrsHSMARN</a> - The ARN of the HSM.</li>
--   <li><a>desrsEniIP</a> - The IP address assigned to the HSM's ENI.</li>
--   <li><a>desrsHSMType</a> - The HSM model type.</li>
--   <li><a>desrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeHSMResponse :: Int -> DescribeHSMResponse

-- | Contains the output of the <tt>DescribeHsm</tt> operation.
--   
--   <i>See:</i> <a>describeHSMResponse</a> smart constructor.
data DescribeHSMResponse

-- | The status of the HSM.
desrsStatus :: Lens' DescribeHSMResponse (Maybe HSMStatus)

-- | The ARN of the IAM role assigned to the HSM.
desrsIAMRoleARN :: Lens' DescribeHSMResponse (Maybe Text)

-- | The identifier of the elastic network interface (ENI) attached to the
--   HSM.
desrsEniId :: Lens' DescribeHSMResponse (Maybe Text)

-- | The identifier of the VPC that the HSM is in.
desrsVPCId :: Lens' DescribeHSMResponse (Maybe Text)

-- | The date and time that the SSH key was last updated.
desrsSSHKeyLastUpdated :: Lens' DescribeHSMResponse (Maybe Text)

-- | The subscription end date.
desrsSubscriptionEndDate :: Lens' DescribeHSMResponse (Maybe Text)

-- | The URI of the certificate server.
desrsServerCertURI :: Lens' DescribeHSMResponse (Maybe Text)

-- | Undocumented member.
desrsSubscriptionType :: Lens' DescribeHSMResponse (Maybe SubscriptionType)

-- | The public SSH key.
desrsSSHPublicKey :: Lens' DescribeHSMResponse (Maybe Text)

-- | The identifier of the subnet that the HSM is in.
desrsSubnetId :: Lens' DescribeHSMResponse (Maybe Text)

-- | Contains additional information about the status of the HSM.
desrsStatusDetails :: Lens' DescribeHSMResponse (Maybe Text)

-- | The list of partitions on the HSM.
desrsPartitions :: Lens' DescribeHSMResponse [Text]

-- | The subscription start date.
desrsSubscriptionStartDate :: Lens' DescribeHSMResponse (Maybe Text)

-- | The Availability Zone that the HSM is in.
desrsAvailabilityZone :: Lens' DescribeHSMResponse (Maybe Text)

-- | The date and time that the server certificate was last updated.
desrsServerCertLastUpdated :: Lens' DescribeHSMResponse (Maybe Text)

-- | The HSM software version.
desrsSoftwareVersion :: Lens' DescribeHSMResponse (Maybe Text)

-- | The name of the HSM vendor.
desrsVendorName :: Lens' DescribeHSMResponse (Maybe Text)

-- | The serial number of the HSM.
desrsSerialNumber :: Lens' DescribeHSMResponse (Maybe Text)

-- | The ARN of the HSM.
desrsHSMARN :: Lens' DescribeHSMResponse (Maybe Text)

-- | The IP address assigned to the HSM's ENI.
desrsEniIP :: Lens' DescribeHSMResponse (Maybe Text)

-- | The HSM model type.
desrsHSMType :: Lens' DescribeHSMResponse (Maybe Text)

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


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Retrieves information about a high-availability partition group.
module Network.AWS.CloudHSM.DescribeHAPG

-- | Creates a value of <a>DescribeHAPG</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>dhapgHAPGARN</a> - The ARN of the high-availability partition
--   group to describe.</li>
--   </ul>
describeHAPG :: Text -> DescribeHAPG

-- | Contains the inputs for the <tt>DescribeHapg</tt> action.
--   
--   <i>See:</i> <a>describeHAPG</a> smart constructor.
data DescribeHAPG

-- | The ARN of the high-availability partition group to describe.
dhapgHAPGARN :: Lens' DescribeHAPG Text

-- | Creates a value of <a>DescribeHAPGResponse</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>dhapgrsState</a> - The state of the high-availability partition
--   group.</li>
--   <li><a>dhapgrsLastModifiedTimestamp</a> - The date and time the
--   high-availability partition group was last modified.</li>
--   <li><a>dhapgrsHSMsPendingRegistration</a> -</li>
--   <li><a>dhapgrsHSMsPendingDeletion</a> -</li>
--   <li><a>dhapgrsHAPGSerial</a> - The serial number of the
--   high-availability partition group.</li>
--   <li><a>dhapgrsHSMsLastActionFailed</a> -</li>
--   <li><a>dhapgrsPartitionSerialList</a> - The list of partition serial
--   numbers that belong to the high-availability partition group.</li>
--   <li><a>dhapgrsHAPGARN</a> - The ARN of the high-availability partition
--   group.</li>
--   <li><a>dhapgrsLabel</a> - The label for the high-availability
--   partition group.</li>
--   <li><a>dhapgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeHAPGResponse :: Int -> DescribeHAPGResponse

-- | Contains the output of the <tt>DescribeHapg</tt> action.
--   
--   <i>See:</i> <a>describeHAPGResponse</a> smart constructor.
data DescribeHAPGResponse

-- | The state of the high-availability partition group.
dhapgrsState :: Lens' DescribeHAPGResponse (Maybe CloudHSMObjectState)

-- | The date and time the high-availability partition group was last
--   modified.
dhapgrsLastModifiedTimestamp :: Lens' DescribeHAPGResponse (Maybe Text)

dhapgrsHSMsPendingRegistration :: Lens' DescribeHAPGResponse [Text]

dhapgrsHSMsPendingDeletion :: Lens' DescribeHAPGResponse [Text]

-- | The serial number of the high-availability partition group.
dhapgrsHAPGSerial :: Lens' DescribeHAPGResponse (Maybe Text)

dhapgrsHSMsLastActionFailed :: Lens' DescribeHAPGResponse [Text]

-- | The list of partition serial numbers that belong to the
--   high-availability partition group.
dhapgrsPartitionSerialList :: Lens' DescribeHAPGResponse [Text]

-- | The ARN of the high-availability partition group.
dhapgrsHAPGARN :: Lens' DescribeHAPGResponse (Maybe Text)

-- | The label for the high-availability partition group.
dhapgrsLabel :: Lens' DescribeHAPGResponse (Maybe Text)

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


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Deletes a client.
module Network.AWS.CloudHSM.DeleteLunaClient

-- | Creates a value of <a>DeleteLunaClient</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>dClientARN</a> - The ARN of the client to delete.</li>
--   </ul>
deleteLunaClient :: Text -> DeleteLunaClient

-- | <i>See:</i> <a>deleteLunaClient</a> smart constructor.
data DeleteLunaClient

-- | The ARN of the client to delete.
dClientARN :: Lens' DeleteLunaClient Text

-- | Creates a value of <a>DeleteLunaClientResponse</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>dlcrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>dlcrsStatus</a> - The status of the action.</li>
--   </ul>
deleteLunaClientResponse :: Int -> Text -> DeleteLunaClientResponse

-- | <i>See:</i> <a>deleteLunaClientResponse</a> smart constructor.
data DeleteLunaClientResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dlcrsResponseStatus :: Lens' DeleteLunaClientResponse Int

-- | The status of the action.
dlcrsStatus :: Lens' DeleteLunaClientResponse Text
instance GHC.Generics.Generic Network.AWS.CloudHSM.DeleteLunaClient.DeleteLunaClientResponse
instance Data.Data.Data Network.AWS.CloudHSM.DeleteLunaClient.DeleteLunaClientResponse
instance GHC.Show.Show Network.AWS.CloudHSM.DeleteLunaClient.DeleteLunaClientResponse
instance GHC.Read.Read Network.AWS.CloudHSM.DeleteLunaClient.DeleteLunaClientResponse
instance GHC.Classes.Eq Network.AWS.CloudHSM.DeleteLunaClient.DeleteLunaClientResponse
instance GHC.Generics.Generic Network.AWS.CloudHSM.DeleteLunaClient.DeleteLunaClient
instance Data.Data.Data Network.AWS.CloudHSM.DeleteLunaClient.DeleteLunaClient
instance GHC.Show.Show Network.AWS.CloudHSM.DeleteLunaClient.DeleteLunaClient
instance GHC.Read.Read Network.AWS.CloudHSM.DeleteLunaClient.DeleteLunaClient
instance GHC.Classes.Eq Network.AWS.CloudHSM.DeleteLunaClient.DeleteLunaClient
instance Network.AWS.Types.AWSRequest Network.AWS.CloudHSM.DeleteLunaClient.DeleteLunaClient
instance Control.DeepSeq.NFData Network.AWS.CloudHSM.DeleteLunaClient.DeleteLunaClientResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudHSM.DeleteLunaClient.DeleteLunaClient
instance Control.DeepSeq.NFData Network.AWS.CloudHSM.DeleteLunaClient.DeleteLunaClient
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudHSM.DeleteLunaClient.DeleteLunaClient
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudHSM.DeleteLunaClient.DeleteLunaClient
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudHSM.DeleteLunaClient.DeleteLunaClient
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudHSM.DeleteLunaClient.DeleteLunaClient


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Deletes an HSM. After completion, this operation cannot be undone and
--   your key material cannot be recovered.
module Network.AWS.CloudHSM.DeleteHSM

-- | Creates a value of <a>DeleteHSM</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>dhHSMARN</a> - The ARN of the HSM to delete.</li>
--   </ul>
deleteHSM :: Text -> DeleteHSM

-- | Contains the inputs for the <tt>DeleteHsm</tt> operation.
--   
--   <i>See:</i> <a>deleteHSM</a> smart constructor.
data DeleteHSM

-- | The ARN of the HSM to delete.
dhHSMARN :: Lens' DeleteHSM Text

-- | Creates a value of <a>DeleteHSMResponse</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>dhsmrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>dhsmrsStatus</a> - The status of the operation.</li>
--   </ul>
deleteHSMResponse :: Int -> Text -> DeleteHSMResponse

-- | Contains the output of the <tt>DeleteHsm</tt> operation.
--   
--   <i>See:</i> <a>deleteHSMResponse</a> smart constructor.
data DeleteHSMResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dhsmrsResponseStatus :: Lens' DeleteHSMResponse Int

-- | The status of the operation.
dhsmrsStatus :: Lens' DeleteHSMResponse Text
instance GHC.Generics.Generic Network.AWS.CloudHSM.DeleteHSM.DeleteHSMResponse
instance Data.Data.Data Network.AWS.CloudHSM.DeleteHSM.DeleteHSMResponse
instance GHC.Show.Show Network.AWS.CloudHSM.DeleteHSM.DeleteHSMResponse
instance GHC.Read.Read Network.AWS.CloudHSM.DeleteHSM.DeleteHSMResponse
instance GHC.Classes.Eq Network.AWS.CloudHSM.DeleteHSM.DeleteHSMResponse
instance GHC.Generics.Generic Network.AWS.CloudHSM.DeleteHSM.DeleteHSM
instance Data.Data.Data Network.AWS.CloudHSM.DeleteHSM.DeleteHSM
instance GHC.Show.Show Network.AWS.CloudHSM.DeleteHSM.DeleteHSM
instance GHC.Read.Read Network.AWS.CloudHSM.DeleteHSM.DeleteHSM
instance GHC.Classes.Eq Network.AWS.CloudHSM.DeleteHSM.DeleteHSM
instance Network.AWS.Types.AWSRequest Network.AWS.CloudHSM.DeleteHSM.DeleteHSM
instance Control.DeepSeq.NFData Network.AWS.CloudHSM.DeleteHSM.DeleteHSMResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudHSM.DeleteHSM.DeleteHSM
instance Control.DeepSeq.NFData Network.AWS.CloudHSM.DeleteHSM.DeleteHSM
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudHSM.DeleteHSM.DeleteHSM
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudHSM.DeleteHSM.DeleteHSM
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudHSM.DeleteHSM.DeleteHSM
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudHSM.DeleteHSM.DeleteHSM


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Deletes a high-availability partition group.
module Network.AWS.CloudHSM.DeleteHAPG

-- | Creates a value of <a>DeleteHAPG</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>dhHAPGARN</a> - The ARN of the high-availability partition
--   group to delete.</li>
--   </ul>
deleteHAPG :: Text -> DeleteHAPG

-- | Contains the inputs for the <tt>DeleteHapg</tt> action.
--   
--   <i>See:</i> <a>deleteHAPG</a> smart constructor.
data DeleteHAPG

-- | The ARN of the high-availability partition group to delete.
dhHAPGARN :: Lens' DeleteHAPG Text

-- | Creates a value of <a>DeleteHAPGResponse</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>dhrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>dhrsStatus</a> - The status of the action.</li>
--   </ul>
deleteHAPGResponse :: Int -> Text -> DeleteHAPGResponse

-- | Contains the output of the <tt>DeleteHapg</tt> action.
--   
--   <i>See:</i> <a>deleteHAPGResponse</a> smart constructor.
data DeleteHAPGResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dhrsResponseStatus :: Lens' DeleteHAPGResponse Int

-- | The status of the action.
dhrsStatus :: Lens' DeleteHAPGResponse Text
instance GHC.Generics.Generic Network.AWS.CloudHSM.DeleteHAPG.DeleteHAPGResponse
instance Data.Data.Data Network.AWS.CloudHSM.DeleteHAPG.DeleteHAPGResponse
instance GHC.Show.Show Network.AWS.CloudHSM.DeleteHAPG.DeleteHAPGResponse
instance GHC.Read.Read Network.AWS.CloudHSM.DeleteHAPG.DeleteHAPGResponse
instance GHC.Classes.Eq Network.AWS.CloudHSM.DeleteHAPG.DeleteHAPGResponse
instance GHC.Generics.Generic Network.AWS.CloudHSM.DeleteHAPG.DeleteHAPG
instance Data.Data.Data Network.AWS.CloudHSM.DeleteHAPG.DeleteHAPG
instance GHC.Show.Show Network.AWS.CloudHSM.DeleteHAPG.DeleteHAPG
instance GHC.Read.Read Network.AWS.CloudHSM.DeleteHAPG.DeleteHAPG
instance GHC.Classes.Eq Network.AWS.CloudHSM.DeleteHAPG.DeleteHAPG
instance Network.AWS.Types.AWSRequest Network.AWS.CloudHSM.DeleteHAPG.DeleteHAPG
instance Control.DeepSeq.NFData Network.AWS.CloudHSM.DeleteHAPG.DeleteHAPGResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudHSM.DeleteHAPG.DeleteHAPG
instance Control.DeepSeq.NFData Network.AWS.CloudHSM.DeleteHAPG.DeleteHAPG
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudHSM.DeleteHAPG.DeleteHAPG
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudHSM.DeleteHAPG.DeleteHAPG
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudHSM.DeleteHAPG.DeleteHAPG
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudHSM.DeleteHAPG.DeleteHAPG


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Creates an HSM client.
module Network.AWS.CloudHSM.CreateLunaClient

-- | Creates a value of <a>CreateLunaClient</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>clcLabel</a> - The label for the client.</li>
--   <li><a>clcCertificate</a> - The contents of a Base64-Encoded X.509 v3
--   certificate to be installed on the HSMs used by this client.</li>
--   </ul>
createLunaClient :: Text -> CreateLunaClient

-- | Contains the inputs for the <a>CreateLunaClient</a> action.
--   
--   <i>See:</i> <a>createLunaClient</a> smart constructor.
data CreateLunaClient

-- | The label for the client.
clcLabel :: Lens' CreateLunaClient (Maybe Text)

-- | The contents of a Base64-Encoded X.509 v3 certificate to be installed
--   on the HSMs used by this client.
clcCertificate :: Lens' CreateLunaClient Text

-- | Creates a value of <a>CreateLunaClientResponse</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>clcrsClientARN</a> - The ARN of the client.</li>
--   <li><a>clcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createLunaClientResponse :: Int -> CreateLunaClientResponse

-- | Contains the output of the <a>CreateLunaClient</a> action.
--   
--   <i>See:</i> <a>createLunaClientResponse</a> smart constructor.
data CreateLunaClientResponse

-- | The ARN of the client.
clcrsClientARN :: Lens' CreateLunaClientResponse (Maybe Text)

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


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Creates an uninitialized HSM instance.
--   
--   There is an upfront fee charged for each HSM instance that you create
--   with the <tt>CreateHsm</tt> operation. If you accidentally provision
--   an HSM and want to request a refund, delete the instance using the
--   <tt>DeleteHsm</tt> operation, go to the <a>AWS Support Center</a> ,
--   create a new case, and select <b>Account and Billing Support</b> .
--   
--   <i>Important:</i> It can take up to 20 minutes to create and provision
--   an HSM. You can monitor the status of the HSM with the
--   <tt>DescribeHsm</tt> operation. The HSM is ready to be initialized
--   when the status changes to <tt>RUNNING</tt> .
module Network.AWS.CloudHSM.CreateHSM

-- | Creates a value of <a>CreateHSM</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>chClientToken</a> - A user-defined token to ensure idempotence.
--   Subsequent calls to this operation with the same token will be
--   ignored.</li>
--   <li><a>chSyslogIP</a> - The IP address for the syslog monitoring
--   server. The AWS CloudHSM service only supports one syslog monitoring
--   server.</li>
--   <li><a>chExternalId</a> - The external ID from <tt>IamRoleArn</tt> ,
--   if present.</li>
--   <li><a>chEniIP</a> - The IP address to assign to the HSM's ENI. If an
--   IP address is not specified, an IP address will be randomly chosen
--   from the CIDR range of the subnet.</li>
--   <li><a>chSubnetId</a> - The identifier of the subnet in your VPC in
--   which to place the HSM.</li>
--   <li><a>chSSHKey</a> - The SSH public key to install on the HSM.</li>
--   <li><a>chIAMRoleARN</a> - The ARN of an IAM role to enable the AWS
--   CloudHSM service to allocate an ENI on your behalf.</li>
--   <li><a>chSubscriptionType</a> - Undocumented member.</li>
--   </ul>
createHSM :: Text -> Text -> Text -> SubscriptionType -> CreateHSM

-- | Contains the inputs for the <tt>CreateHsm</tt> operation.
--   
--   <i>See:</i> <a>createHSM</a> smart constructor.
data CreateHSM

-- | A user-defined token to ensure idempotence. Subsequent calls to this
--   operation with the same token will be ignored.
chClientToken :: Lens' CreateHSM (Maybe Text)

-- | The IP address for the syslog monitoring server. The AWS CloudHSM
--   service only supports one syslog monitoring server.
chSyslogIP :: Lens' CreateHSM (Maybe Text)

-- | The external ID from <tt>IamRoleArn</tt> , if present.
chExternalId :: Lens' CreateHSM (Maybe Text)

-- | The IP address to assign to the HSM's ENI. If an IP address is not
--   specified, an IP address will be randomly chosen from the CIDR range
--   of the subnet.
chEniIP :: Lens' CreateHSM (Maybe Text)

-- | The identifier of the subnet in your VPC in which to place the HSM.
chSubnetId :: Lens' CreateHSM Text

-- | The SSH public key to install on the HSM.
chSSHKey :: Lens' CreateHSM Text

-- | The ARN of an IAM role to enable the AWS CloudHSM service to allocate
--   an ENI on your behalf.
chIAMRoleARN :: Lens' CreateHSM Text

-- | Undocumented member.
chSubscriptionType :: Lens' CreateHSM SubscriptionType

-- | Creates a value of <a>CreateHSMResponse</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>chrsHSMARN</a> - The ARN of the HSM.</li>
--   <li><a>chrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createHSMResponse :: Int -> CreateHSMResponse

-- | Contains the output of the <tt>CreateHsm</tt> operation.
--   
--   <i>See:</i> <a>createHSMResponse</a> smart constructor.
data CreateHSMResponse

-- | The ARN of the HSM.
chrsHSMARN :: Lens' CreateHSMResponse (Maybe Text)

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


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Creates a high-availability partition group. A high-availability
--   partition group is a group of partitions that spans multiple physical
--   HSMs.
module Network.AWS.CloudHSM.CreateHAPG

-- | Creates a value of <a>CreateHAPG</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>chLabel</a> - The label of the new high-availability partition
--   group.</li>
--   </ul>
createHAPG :: Text -> CreateHAPG

-- | Contains the inputs for the <tt>CreateHapgRequest</tt> action.
--   
--   <i>See:</i> <a>createHAPG</a> smart constructor.
data CreateHAPG

-- | The label of the new high-availability partition group.
chLabel :: Lens' CreateHAPG Text

-- | Creates a value of <a>CreateHAPGResponse</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>chapgrsHAPGARN</a> - The ARN of the high-availability partition
--   group.</li>
--   <li><a>chapgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createHAPGResponse :: Int -> CreateHAPGResponse

-- | Contains the output of the <tt>CreateHAPartitionGroup</tt> action.
--   
--   <i>See:</i> <a>createHAPGResponse</a> smart constructor.
data CreateHAPGResponse

-- | The ARN of the high-availability partition group.
chapgrsHAPGARN :: Lens' CreateHAPGResponse (Maybe Text)

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


-- | This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
--   
--   Adds or overwrites one or more tags for the specified AWS CloudHSM
--   resource.
--   
--   Each tag consists of a key and a value. Tag keys must be unique to
--   each resource.
module Network.AWS.CloudHSM.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>attrResourceARN</a> - The Amazon Resource Name (ARN) of the AWS
--   CloudHSM resource to tag.</li>
--   <li><a>attrTagList</a> - One or more tags.</li>
--   </ul>
addTagsToResource :: Text -> AddTagsToResource

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

-- | The Amazon Resource Name (ARN) of the AWS CloudHSM resource to tag.
attrResourceARN :: Lens' AddTagsToResource Text

-- | One or more tags.
attrTagList :: 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>
--   <li><a>attrrsStatus</a> - The status of the operation.</li>
--   </ul>
addTagsToResourceResponse :: Int -> Text -> AddTagsToResourceResponse

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

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
attrrsResponseStatus :: Lens' AddTagsToResourceResponse Int

-- | The status of the operation.
attrrsStatus :: Lens' AddTagsToResourceResponse Text
instance GHC.Generics.Generic Network.AWS.CloudHSM.AddTagsToResource.AddTagsToResourceResponse
instance Data.Data.Data Network.AWS.CloudHSM.AddTagsToResource.AddTagsToResourceResponse
instance GHC.Show.Show Network.AWS.CloudHSM.AddTagsToResource.AddTagsToResourceResponse
instance GHC.Read.Read Network.AWS.CloudHSM.AddTagsToResource.AddTagsToResourceResponse
instance GHC.Classes.Eq Network.AWS.CloudHSM.AddTagsToResource.AddTagsToResourceResponse
instance GHC.Generics.Generic Network.AWS.CloudHSM.AddTagsToResource.AddTagsToResource
instance Data.Data.Data Network.AWS.CloudHSM.AddTagsToResource.AddTagsToResource
instance GHC.Show.Show Network.AWS.CloudHSM.AddTagsToResource.AddTagsToResource
instance GHC.Read.Read Network.AWS.CloudHSM.AddTagsToResource.AddTagsToResource
instance GHC.Classes.Eq Network.AWS.CloudHSM.AddTagsToResource.AddTagsToResource
instance Network.AWS.Types.AWSRequest Network.AWS.CloudHSM.AddTagsToResource.AddTagsToResource
instance Control.DeepSeq.NFData Network.AWS.CloudHSM.AddTagsToResource.AddTagsToResourceResponse
instance Data.Hashable.Class.Hashable Network.AWS.CloudHSM.AddTagsToResource.AddTagsToResource
instance Control.DeepSeq.NFData Network.AWS.CloudHSM.AddTagsToResource.AddTagsToResource
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CloudHSM.AddTagsToResource.AddTagsToResource
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CloudHSM.AddTagsToResource.AddTagsToResource
instance Network.AWS.Data.Path.ToPath Network.AWS.CloudHSM.AddTagsToResource.AddTagsToResource
instance Network.AWS.Data.Query.ToQuery Network.AWS.CloudHSM.AddTagsToResource.AddTagsToResource


module Network.AWS.CloudHSM.Waiters


-- | <b>AWS CloudHSM Service</b>
--   
--   This is documentation for <b>AWS CloudHSM Classic</b> . For more
--   information, see <a>AWS CloudHSM Classic FAQs</a> , the <a>AWS
--   CloudHSM Classic User Guide</a> , and the <a>AWS CloudHSM Classic API
--   Reference</a> .
--   
--   <b>For information about the current version of AWS CloudHSM</b> , see
--   <a>AWS CloudHSM</a> , the <a>AWS CloudHSM User Guide</a> , and the
--   <a>AWS CloudHSM API Reference</a> .
module Network.AWS.CloudHSM

-- | API version <tt>2014-05-30</tt> of the Amazon CloudHSM SDK
--   configuration.
cloudHSM :: Service

-- | Indicates that one or more of the request parameters are not valid.
_InvalidRequestException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Indicates that an exception occurred in the AWS CloudHSM service.
_CloudHSMServiceException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Indicates that an internal error occurred.
_CloudHSMInternalException :: AsError a => Getting (First ServiceError) a ServiceError
data ClientVersion
VD5_1 :: ClientVersion
VD5_3 :: ClientVersion
data CloudHSMObjectState
Degraded :: CloudHSMObjectState
Ready :: CloudHSMObjectState
Updating :: CloudHSMObjectState
data HSMStatus
HSDegraded :: HSMStatus
HSPending :: HSMStatus
HSRunning :: HSMStatus
HSSuspended :: HSMStatus
HSTerminated :: HSMStatus
HSTerminating :: HSMStatus
HSUpdating :: HSMStatus

-- | Specifies the type of subscription for the HSM.
--   
--   <ul>
--   <li><b>PRODUCTION</b> - The HSM is being used in a production
--   environment.</li>
--   <li><b>TRIAL</b> - The HSM is being used in a product trial.</li>
--   </ul>
data SubscriptionType
Production :: SubscriptionType

-- | A key-value pair that identifies or specifies metadata about an AWS
--   CloudHSM resource.
--   
--   <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> - The key of the tag.</li>
--   <li><a>tagValue</a> - The value of the tag.</li>
--   </ul>
tag :: Text -> Text -> Tag

-- | The key of the tag.
tagKey :: Lens' Tag Text

-- | The value of the tag.
tagValue :: Lens' Tag Text
