-- | Optional. An optional CRC32C checksum of the
-- EncryptRequest.additional_authenticated_data. If specified,
-- KeyManagementService will verify the integrity of the received
-- EncryptRequest.additional_authenticated_data using this checksum.
-- KeyManagementService will report an error if the checksum verification
-- fails. If you receive a checksum error, your client should verify that
-- CRC32C(EncryptRequest.additional_authenticated_data) is equal to
-- EncryptRequest.additional_authenticated_data_crc32c, and if so, perform
-- a limited number of retries. A persistent mismatch may indicate an issue
-- in your computation of the CRC32C checksum. Note: This field is defined
-- as int64 for reasons of compatibility across different languages.
-- However, it is a non-negative integer, which will never exceed 2^32-1,
-- and can be safely downconverted to uint32 in languages that support this
-- type.
erAdditionalAuthenticatedDataCrc32c :: Lens' EncryptRequest (Maybe Int64)
erAdditionalAuthenticatedDataCrc32c
  = lens _erAdditionalAuthenticatedDataCrc32c
      (\ s a ->
         s{_erAdditionalAuthenticatedDataCrc32c = a})
      . mapping _Coerce
erAdditionalAuthenticatedDataCrc32c :: Lens' EncryptRequest (Maybe Int64)
erAdditionalAuthenticatedDataCrc32c
  = lens _erAdditionalAuthenticatedDataCrc32c
      (\ s a ->
         s{_erAdditionalAuthenticatedDataCrc32c = a})
      . mapping _Coerce
erAdditionalAuthenticatedDataCrc32c
  = lens _erAdditionalAuthenticatedDataCrc32c
      (\ s a ->
         s{_erAdditionalAuthenticatedDataCrc32c = a})
      . mapping _Coerce