packages feed

gogol-cloudkms-1.0.0: gen/Gogol/CloudKMS.hs

{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE ImportQualifiedPost #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- |
-- Module      : Gogol.CloudKMS
-- Copyright   : (c) 2015-2025 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
--               Toni Cebrián <toni@tonicebrian.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications.
--
-- /See:/ <https://cloud.google.com/kms/ Cloud Key Management Service (KMS) API Reference>
module Gogol.CloudKMS
  ( -- * Configuration
    cloudKMSService,

    -- * OAuth Scopes
    CloudPlatform'FullControl,
    Cloudkms'FullControl,

    -- * Resources

    -- ** cloudkms.folders.getAutokeyConfig
    CloudKMSFoldersGetAutokeyConfigResource,
    CloudKMSFoldersGetAutokeyConfig (..),
    newCloudKMSFoldersGetAutokeyConfig,

    -- ** cloudkms.folders.updateAutokeyConfig
    CloudKMSFoldersUpdateAutokeyConfigResource,
    CloudKMSFoldersUpdateAutokeyConfig (..),
    newCloudKMSFoldersUpdateAutokeyConfig,

    -- ** cloudkms.projects.locations.ekmConfig.getIamPolicy
    CloudKMSProjectsLocationsEkmConfigGetIamPolicyResource,
    CloudKMSProjectsLocationsEkmConfigGetIamPolicy (..),
    newCloudKMSProjectsLocationsEkmConfigGetIamPolicy,

    -- ** cloudkms.projects.locations.ekmConfig.setIamPolicy
    CloudKMSProjectsLocationsEkmConfigSetIamPolicyResource,
    CloudKMSProjectsLocationsEkmConfigSetIamPolicy (..),
    newCloudKMSProjectsLocationsEkmConfigSetIamPolicy,

    -- ** cloudkms.projects.locations.ekmConfig.testIamPermissions
    CloudKMSProjectsLocationsEkmConfigTestIamPermissionsResource,
    CloudKMSProjectsLocationsEkmConfigTestIamPermissions (..),
    newCloudKMSProjectsLocationsEkmConfigTestIamPermissions,

    -- ** cloudkms.projects.locations.ekmConnections.create
    CloudKMSProjectsLocationsEkmConnectionsCreateResource,
    CloudKMSProjectsLocationsEkmConnectionsCreate (..),
    newCloudKMSProjectsLocationsEkmConnectionsCreate,

    -- ** cloudkms.projects.locations.ekmConnections.get
    CloudKMSProjectsLocationsEkmConnectionsGetResource,
    CloudKMSProjectsLocationsEkmConnectionsGet (..),
    newCloudKMSProjectsLocationsEkmConnectionsGet,

    -- ** cloudkms.projects.locations.ekmConnections.getIamPolicy
    CloudKMSProjectsLocationsEkmConnectionsGetIamPolicyResource,
    CloudKMSProjectsLocationsEkmConnectionsGetIamPolicy (..),
    newCloudKMSProjectsLocationsEkmConnectionsGetIamPolicy,

    -- ** cloudkms.projects.locations.ekmConnections.list
    CloudKMSProjectsLocationsEkmConnectionsListResource,
    CloudKMSProjectsLocationsEkmConnectionsList (..),
    newCloudKMSProjectsLocationsEkmConnectionsList,

    -- ** cloudkms.projects.locations.ekmConnections.patch
    CloudKMSProjectsLocationsEkmConnectionsPatchResource,
    CloudKMSProjectsLocationsEkmConnectionsPatch (..),
    newCloudKMSProjectsLocationsEkmConnectionsPatch,

    -- ** cloudkms.projects.locations.ekmConnections.setIamPolicy
    CloudKMSProjectsLocationsEkmConnectionsSetIamPolicyResource,
    CloudKMSProjectsLocationsEkmConnectionsSetIamPolicy (..),
    newCloudKMSProjectsLocationsEkmConnectionsSetIamPolicy,

    -- ** cloudkms.projects.locations.ekmConnections.testIamPermissions
    CloudKMSProjectsLocationsEkmConnectionsTestIamPermissionsResource,
    CloudKMSProjectsLocationsEkmConnectionsTestIamPermissions (..),
    newCloudKMSProjectsLocationsEkmConnectionsTestIamPermissions,

    -- ** cloudkms.projects.locations.ekmConnections.verifyConnectivity
    CloudKMSProjectsLocationsEkmConnectionsVerifyConnectivityResource,
    CloudKMSProjectsLocationsEkmConnectionsVerifyConnectivity (..),
    newCloudKMSProjectsLocationsEkmConnectionsVerifyConnectivity,

    -- ** cloudkms.projects.locations.generateRandomBytes
    CloudKMSProjectsLocationsGenerateRandomBytesResource,
    CloudKMSProjectsLocationsGenerateRandomBytes (..),
    newCloudKMSProjectsLocationsGenerateRandomBytes,

    -- ** cloudkms.projects.locations.get
    CloudKMSProjectsLocationsGetResource,
    CloudKMSProjectsLocationsGet (..),
    newCloudKMSProjectsLocationsGet,

    -- ** cloudkms.projects.locations.getEkmConfig
    CloudKMSProjectsLocationsGetEkmConfigResource,
    CloudKMSProjectsLocationsGetEkmConfig (..),
    newCloudKMSProjectsLocationsGetEkmConfig,

    -- ** cloudkms.projects.locations.keyHandles.create
    CloudKMSProjectsLocationsKeyHandlesCreateResource,
    CloudKMSProjectsLocationsKeyHandlesCreate (..),
    newCloudKMSProjectsLocationsKeyHandlesCreate,

    -- ** cloudkms.projects.locations.keyHandles.get
    CloudKMSProjectsLocationsKeyHandlesGetResource,
    CloudKMSProjectsLocationsKeyHandlesGet (..),
    newCloudKMSProjectsLocationsKeyHandlesGet,

    -- ** cloudkms.projects.locations.keyHandles.list
    CloudKMSProjectsLocationsKeyHandlesListResource,
    CloudKMSProjectsLocationsKeyHandlesList (..),
    newCloudKMSProjectsLocationsKeyHandlesList,

    -- ** cloudkms.projects.locations.keyRings.create
    CloudKMSProjectsLocationsKeyRingsCreateResource,
    CloudKMSProjectsLocationsKeyRingsCreate (..),
    newCloudKMSProjectsLocationsKeyRingsCreate,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.create
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCreateResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCreate (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysCreate,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.asymmetricDecrypt
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsAsymmetricDecryptResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsAsymmetricDecrypt (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsAsymmetricDecrypt,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.asymmetricSign
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsAsymmetricSignResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsAsymmetricSign (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsAsymmetricSign,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.create
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsCreateResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsCreate (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsCreate,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.destroy
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsDestroyResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsDestroy (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsDestroy,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.get
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsGetResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsGet (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsGet,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.getPublicKey
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsGetPublicKeyResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsGetPublicKey (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsGetPublicKey,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.import
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsImportResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsImport (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsImport,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.list
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsListResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsList (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsList,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.macSign
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsMacSignResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsMacSign (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsMacSign,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.macVerify
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsMacVerifyResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsMacVerify (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsMacVerify,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.patch
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsPatchResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsPatch (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsPatch,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.rawDecrypt
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawDecryptResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawDecrypt (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawDecrypt,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.rawEncrypt
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawEncryptResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawEncrypt (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawEncrypt,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.restore
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRestoreResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRestore (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRestore,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.decrypt
    CloudKMSProjectsLocationsKeyRingsCryptoKeysDecryptResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysDecrypt (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysDecrypt,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.encrypt
    CloudKMSProjectsLocationsKeyRingsCryptoKeysEncryptResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysEncrypt (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysEncrypt,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.get
    CloudKMSProjectsLocationsKeyRingsCryptoKeysGetResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysGet (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysGet,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.getIamPolicy
    CloudKMSProjectsLocationsKeyRingsCryptoKeysGetIamPolicyResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysGetIamPolicy (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysGetIamPolicy,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.list
    CloudKMSProjectsLocationsKeyRingsCryptoKeysListResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysList (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysList,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.patch
    CloudKMSProjectsLocationsKeyRingsCryptoKeysPatchResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysPatch (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysPatch,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.setIamPolicy
    CloudKMSProjectsLocationsKeyRingsCryptoKeysSetIamPolicyResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysSetIamPolicy (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysSetIamPolicy,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.testIamPermissions
    CloudKMSProjectsLocationsKeyRingsCryptoKeysTestIamPermissionsResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysTestIamPermissions (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysTestIamPermissions,

    -- ** cloudkms.projects.locations.keyRings.cryptoKeys.updatePrimaryVersion
    CloudKMSProjectsLocationsKeyRingsCryptoKeysUpdatePrimaryVersionResource,
    CloudKMSProjectsLocationsKeyRingsCryptoKeysUpdatePrimaryVersion (..),
    newCloudKMSProjectsLocationsKeyRingsCryptoKeysUpdatePrimaryVersion,

    -- ** cloudkms.projects.locations.keyRings.get
    CloudKMSProjectsLocationsKeyRingsGetResource,
    CloudKMSProjectsLocationsKeyRingsGet (..),
    newCloudKMSProjectsLocationsKeyRingsGet,

    -- ** cloudkms.projects.locations.keyRings.getIamPolicy
    CloudKMSProjectsLocationsKeyRingsGetIamPolicyResource,
    CloudKMSProjectsLocationsKeyRingsGetIamPolicy (..),
    newCloudKMSProjectsLocationsKeyRingsGetIamPolicy,

    -- ** cloudkms.projects.locations.keyRings.importJobs.create
    CloudKMSProjectsLocationsKeyRingsImportJobsCreateResource,
    CloudKMSProjectsLocationsKeyRingsImportJobsCreate (..),
    newCloudKMSProjectsLocationsKeyRingsImportJobsCreate,

    -- ** cloudkms.projects.locations.keyRings.importJobs.get
    CloudKMSProjectsLocationsKeyRingsImportJobsGetResource,
    CloudKMSProjectsLocationsKeyRingsImportJobsGet (..),
    newCloudKMSProjectsLocationsKeyRingsImportJobsGet,

    -- ** cloudkms.projects.locations.keyRings.importJobs.getIamPolicy
    CloudKMSProjectsLocationsKeyRingsImportJobsGetIamPolicyResource,
    CloudKMSProjectsLocationsKeyRingsImportJobsGetIamPolicy (..),
    newCloudKMSProjectsLocationsKeyRingsImportJobsGetIamPolicy,

    -- ** cloudkms.projects.locations.keyRings.importJobs.list
    CloudKMSProjectsLocationsKeyRingsImportJobsListResource,
    CloudKMSProjectsLocationsKeyRingsImportJobsList (..),
    newCloudKMSProjectsLocationsKeyRingsImportJobsList,

    -- ** cloudkms.projects.locations.keyRings.importJobs.setIamPolicy
    CloudKMSProjectsLocationsKeyRingsImportJobsSetIamPolicyResource,
    CloudKMSProjectsLocationsKeyRingsImportJobsSetIamPolicy (..),
    newCloudKMSProjectsLocationsKeyRingsImportJobsSetIamPolicy,

    -- ** cloudkms.projects.locations.keyRings.importJobs.testIamPermissions
    CloudKMSProjectsLocationsKeyRingsImportJobsTestIamPermissionsResource,
    CloudKMSProjectsLocationsKeyRingsImportJobsTestIamPermissions (..),
    newCloudKMSProjectsLocationsKeyRingsImportJobsTestIamPermissions,

    -- ** cloudkms.projects.locations.keyRings.list
    CloudKMSProjectsLocationsKeyRingsListResource,
    CloudKMSProjectsLocationsKeyRingsList (..),
    newCloudKMSProjectsLocationsKeyRingsList,

    -- ** cloudkms.projects.locations.keyRings.setIamPolicy
    CloudKMSProjectsLocationsKeyRingsSetIamPolicyResource,
    CloudKMSProjectsLocationsKeyRingsSetIamPolicy (..),
    newCloudKMSProjectsLocationsKeyRingsSetIamPolicy,

    -- ** cloudkms.projects.locations.keyRings.testIamPermissions
    CloudKMSProjectsLocationsKeyRingsTestIamPermissionsResource,
    CloudKMSProjectsLocationsKeyRingsTestIamPermissions (..),
    newCloudKMSProjectsLocationsKeyRingsTestIamPermissions,

    -- ** cloudkms.projects.locations.list
    CloudKMSProjectsLocationsListResource,
    CloudKMSProjectsLocationsList (..),
    newCloudKMSProjectsLocationsList,

    -- ** cloudkms.projects.locations.operations.get
    CloudKMSProjectsLocationsOperationsGetResource,
    CloudKMSProjectsLocationsOperationsGet (..),
    newCloudKMSProjectsLocationsOperationsGet,

    -- ** cloudkms.projects.locations.updateEkmConfig
    CloudKMSProjectsLocationsUpdateEkmConfigResource,
    CloudKMSProjectsLocationsUpdateEkmConfig (..),
    newCloudKMSProjectsLocationsUpdateEkmConfig,

    -- ** cloudkms.projects.showEffectiveAutokeyConfig
    CloudKMSProjectsShowEffectiveAutokeyConfigResource,
    CloudKMSProjectsShowEffectiveAutokeyConfig (..),
    newCloudKMSProjectsShowEffectiveAutokeyConfig,

    -- * Types

    -- ** Xgafv
    Xgafv (..),

    -- ** AsymmetricDecryptRequest
    AsymmetricDecryptRequest (..),
    newAsymmetricDecryptRequest,

    -- ** AsymmetricDecryptResponse
    AsymmetricDecryptResponse (..),
    newAsymmetricDecryptResponse,

    -- ** AsymmetricDecryptResponse_ProtectionLevel
    AsymmetricDecryptResponse_ProtectionLevel (..),

    -- ** AsymmetricSignRequest
    AsymmetricSignRequest (..),
    newAsymmetricSignRequest,

    -- ** AsymmetricSignResponse
    AsymmetricSignResponse (..),
    newAsymmetricSignResponse,

    -- ** AsymmetricSignResponse_ProtectionLevel
    AsymmetricSignResponse_ProtectionLevel (..),

    -- ** AuditConfig
    AuditConfig (..),
    newAuditConfig,

    -- ** AuditLogConfig
    AuditLogConfig (..),
    newAuditLogConfig,

    -- ** AuditLogConfig_LogType
    AuditLogConfig_LogType (..),

    -- ** AutokeyConfig
    AutokeyConfig (..),
    newAutokeyConfig,

    -- ** AutokeyConfig_State
    AutokeyConfig_State (..),

    -- ** Binding
    Binding (..),
    newBinding,

    -- ** Certificate
    Certificate (..),
    newCertificate,

    -- ** CertificateChains
    CertificateChains (..),
    newCertificateChains,

    -- ** ChecksummedData
    ChecksummedData (..),
    newChecksummedData,

    -- ** CryptoKey
    CryptoKey (..),
    newCryptoKey,

    -- ** CryptoKey_Labels
    CryptoKey_Labels (..),
    newCryptoKey_Labels,

    -- ** CryptoKey_Purpose
    CryptoKey_Purpose (..),

    -- ** CryptoKeyVersion
    CryptoKeyVersion (..),
    newCryptoKeyVersion,

    -- ** CryptoKeyVersion_Algorithm
    CryptoKeyVersion_Algorithm (..),

    -- ** CryptoKeyVersion_ProtectionLevel
    CryptoKeyVersion_ProtectionLevel (..),

    -- ** CryptoKeyVersion_State
    CryptoKeyVersion_State (..),

    -- ** CryptoKeyVersionTemplate
    CryptoKeyVersionTemplate (..),
    newCryptoKeyVersionTemplate,

    -- ** CryptoKeyVersionTemplate_Algorithm
    CryptoKeyVersionTemplate_Algorithm (..),

    -- ** CryptoKeyVersionTemplate_ProtectionLevel
    CryptoKeyVersionTemplate_ProtectionLevel (..),

    -- ** DecryptRequest
    DecryptRequest (..),
    newDecryptRequest,

    -- ** DecryptResponse
    DecryptResponse (..),
    newDecryptResponse,

    -- ** DecryptResponse_ProtectionLevel
    DecryptResponse_ProtectionLevel (..),

    -- ** DestroyCryptoKeyVersionRequest
    DestroyCryptoKeyVersionRequest (..),
    newDestroyCryptoKeyVersionRequest,

    -- ** Digest
    Digest (..),
    newDigest,

    -- ** EkmConfig
    EkmConfig (..),
    newEkmConfig,

    -- ** EkmConnection
    EkmConnection (..),
    newEkmConnection,

    -- ** EkmConnection_KeyManagementMode
    EkmConnection_KeyManagementMode (..),

    -- ** EncryptRequest
    EncryptRequest (..),
    newEncryptRequest,

    -- ** EncryptResponse
    EncryptResponse (..),
    newEncryptResponse,

    -- ** EncryptResponse_ProtectionLevel
    EncryptResponse_ProtectionLevel (..),

    -- ** Expr
    Expr (..),
    newExpr,

    -- ** ExternalProtectionLevelOptions
    ExternalProtectionLevelOptions (..),
    newExternalProtectionLevelOptions,

    -- ** GenerateRandomBytesRequest
    GenerateRandomBytesRequest (..),
    newGenerateRandomBytesRequest,

    -- ** GenerateRandomBytesRequest_ProtectionLevel
    GenerateRandomBytesRequest_ProtectionLevel (..),

    -- ** GenerateRandomBytesResponse
    GenerateRandomBytesResponse (..),
    newGenerateRandomBytesResponse,

    -- ** ImportCryptoKeyVersionRequest
    ImportCryptoKeyVersionRequest (..),
    newImportCryptoKeyVersionRequest,

    -- ** ImportCryptoKeyVersionRequest_Algorithm
    ImportCryptoKeyVersionRequest_Algorithm (..),

    -- ** ImportJob
    ImportJob (..),
    newImportJob,

    -- ** ImportJob_ImportMethod
    ImportJob_ImportMethod (..),

    -- ** ImportJob_ProtectionLevel
    ImportJob_ProtectionLevel (..),

    -- ** ImportJob_State
    ImportJob_State (..),

    -- ** KeyAccessJustificationsPolicy
    KeyAccessJustificationsPolicy (..),
    newKeyAccessJustificationsPolicy,

    -- ** KeyAccessJustificationsPolicy_AllowedAccessReasonsItem
    KeyAccessJustificationsPolicy_AllowedAccessReasonsItem (..),

    -- ** KeyHandle
    KeyHandle (..),
    newKeyHandle,

    -- ** KeyOperationAttestation
    KeyOperationAttestation (..),
    newKeyOperationAttestation,

    -- ** KeyOperationAttestation_Format
    KeyOperationAttestation_Format (..),

    -- ** KeyRing
    KeyRing (..),
    newKeyRing,

    -- ** ListCryptoKeyVersionsResponse
    ListCryptoKeyVersionsResponse (..),
    newListCryptoKeyVersionsResponse,

    -- ** ListCryptoKeysResponse
    ListCryptoKeysResponse (..),
    newListCryptoKeysResponse,

    -- ** ListEkmConnectionsResponse
    ListEkmConnectionsResponse (..),
    newListEkmConnectionsResponse,

    -- ** ListImportJobsResponse
    ListImportJobsResponse (..),
    newListImportJobsResponse,

    -- ** ListKeyHandlesResponse
    ListKeyHandlesResponse (..),
    newListKeyHandlesResponse,

    -- ** ListKeyRingsResponse
    ListKeyRingsResponse (..),
    newListKeyRingsResponse,

    -- ** ListLocationsResponse
    ListLocationsResponse (..),
    newListLocationsResponse,

    -- ** Location
    Location (..),
    newLocation,

    -- ** Location_Labels
    Location_Labels (..),
    newLocation_Labels,

    -- ** Location_Metadata
    Location_Metadata (..),
    newLocation_Metadata,

    -- ** LocationMetadata
    LocationMetadata (..),
    newLocationMetadata,

    -- ** MacSignRequest
    MacSignRequest (..),
    newMacSignRequest,

    -- ** MacSignResponse
    MacSignResponse (..),
    newMacSignResponse,

    -- ** MacSignResponse_ProtectionLevel
    MacSignResponse_ProtectionLevel (..),

    -- ** MacVerifyRequest
    MacVerifyRequest (..),
    newMacVerifyRequest,

    -- ** MacVerifyResponse
    MacVerifyResponse (..),
    newMacVerifyResponse,

    -- ** MacVerifyResponse_ProtectionLevel
    MacVerifyResponse_ProtectionLevel (..),

    -- ** Operation
    Operation (..),
    newOperation,

    -- ** Operation_Metadata
    Operation_Metadata (..),
    newOperation_Metadata,

    -- ** Operation_Response
    Operation_Response (..),
    newOperation_Response,

    -- ** Policy
    Policy (..),
    newPolicy,

    -- ** PublicKey
    PublicKey (..),
    newPublicKey,

    -- ** PublicKey_Algorithm
    PublicKey_Algorithm (..),

    -- ** PublicKey_ProtectionLevel
    PublicKey_ProtectionLevel (..),

    -- ** PublicKey_PublicKeyFormat
    PublicKey_PublicKeyFormat (..),

    -- ** RawDecryptRequest
    RawDecryptRequest (..),
    newRawDecryptRequest,

    -- ** RawDecryptResponse
    RawDecryptResponse (..),
    newRawDecryptResponse,

    -- ** RawDecryptResponse_ProtectionLevel
    RawDecryptResponse_ProtectionLevel (..),

    -- ** RawEncryptRequest
    RawEncryptRequest (..),
    newRawEncryptRequest,

    -- ** RawEncryptResponse
    RawEncryptResponse (..),
    newRawEncryptResponse,

    -- ** RawEncryptResponse_ProtectionLevel
    RawEncryptResponse_ProtectionLevel (..),

    -- ** RestoreCryptoKeyVersionRequest
    RestoreCryptoKeyVersionRequest (..),
    newRestoreCryptoKeyVersionRequest,

    -- ** ServiceResolver
    ServiceResolver (..),
    newServiceResolver,

    -- ** SetIamPolicyRequest
    SetIamPolicyRequest (..),
    newSetIamPolicyRequest,

    -- ** ShowEffectiveAutokeyConfigResponse
    ShowEffectiveAutokeyConfigResponse (..),
    newShowEffectiveAutokeyConfigResponse,

    -- ** Status
    Status (..),
    newStatus,

    -- ** Status_DetailsItem
    Status_DetailsItem (..),
    newStatus_DetailsItem,

    -- ** TestIamPermissionsRequest
    TestIamPermissionsRequest (..),
    newTestIamPermissionsRequest,

    -- ** TestIamPermissionsResponse
    TestIamPermissionsResponse (..),
    newTestIamPermissionsResponse,

    -- ** UpdateCryptoKeyPrimaryVersionRequest
    UpdateCryptoKeyPrimaryVersionRequest (..),
    newUpdateCryptoKeyPrimaryVersionRequest,

    -- ** VerifyConnectivityResponse
    VerifyConnectivityResponse (..),
    newVerifyConnectivityResponse,

    -- ** WrappingPublicKey
    WrappingPublicKey (..),
    newWrappingPublicKey,

    -- ** ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsGetPublicKeyPublicKeyFormat
    ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsGetPublicKeyPublicKeyFormat (..),

    -- ** ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsListView
    ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsListView (..),

    -- ** ProjectsLocationsKeyRingsCryptoKeysListVersionView
    ProjectsLocationsKeyRingsCryptoKeysListVersionView (..),
  )
where

import Gogol.CloudKMS.Folders.GetAutokeyConfig
import Gogol.CloudKMS.Folders.UpdateAutokeyConfig
import Gogol.CloudKMS.Projects.Locations.EkmConfig.GetIamPolicy
import Gogol.CloudKMS.Projects.Locations.EkmConfig.SetIamPolicy
import Gogol.CloudKMS.Projects.Locations.EkmConfig.TestIamPermissions
import Gogol.CloudKMS.Projects.Locations.EkmConnections.Create
import Gogol.CloudKMS.Projects.Locations.EkmConnections.Get
import Gogol.CloudKMS.Projects.Locations.EkmConnections.GetIamPolicy
import Gogol.CloudKMS.Projects.Locations.EkmConnections.List
import Gogol.CloudKMS.Projects.Locations.EkmConnections.Patch
import Gogol.CloudKMS.Projects.Locations.EkmConnections.SetIamPolicy
import Gogol.CloudKMS.Projects.Locations.EkmConnections.TestIamPermissions
import Gogol.CloudKMS.Projects.Locations.EkmConnections.VerifyConnectivity
import Gogol.CloudKMS.Projects.Locations.GenerateRandomBytes
import Gogol.CloudKMS.Projects.Locations.Get
import Gogol.CloudKMS.Projects.Locations.GetEkmConfig
import Gogol.CloudKMS.Projects.Locations.KeyHandles.Create
import Gogol.CloudKMS.Projects.Locations.KeyHandles.Get
import Gogol.CloudKMS.Projects.Locations.KeyHandles.List
import Gogol.CloudKMS.Projects.Locations.KeyRings.Create
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.Create
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.CryptoKeyVersions.AsymmetricDecrypt
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.CryptoKeyVersions.AsymmetricSign
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.CryptoKeyVersions.Create
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.CryptoKeyVersions.Destroy
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.CryptoKeyVersions.Get
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.CryptoKeyVersions.GetPublicKey
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.CryptoKeyVersions.Import
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.CryptoKeyVersions.List
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.CryptoKeyVersions.MacSign
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.CryptoKeyVersions.MacVerify
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.CryptoKeyVersions.Patch
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.CryptoKeyVersions.RawDecrypt
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.CryptoKeyVersions.RawEncrypt
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.CryptoKeyVersions.Restore
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.Decrypt
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.Encrypt
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.Get
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.GetIamPolicy
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.List
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.Patch
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.SetIamPolicy
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.TestIamPermissions
import Gogol.CloudKMS.Projects.Locations.KeyRings.CryptoKeys.UpdatePrimaryVersion
import Gogol.CloudKMS.Projects.Locations.KeyRings.Get
import Gogol.CloudKMS.Projects.Locations.KeyRings.GetIamPolicy
import Gogol.CloudKMS.Projects.Locations.KeyRings.ImportJobs.Create
import Gogol.CloudKMS.Projects.Locations.KeyRings.ImportJobs.Get
import Gogol.CloudKMS.Projects.Locations.KeyRings.ImportJobs.GetIamPolicy
import Gogol.CloudKMS.Projects.Locations.KeyRings.ImportJobs.List
import Gogol.CloudKMS.Projects.Locations.KeyRings.ImportJobs.SetIamPolicy
import Gogol.CloudKMS.Projects.Locations.KeyRings.ImportJobs.TestIamPermissions
import Gogol.CloudKMS.Projects.Locations.KeyRings.List
import Gogol.CloudKMS.Projects.Locations.KeyRings.SetIamPolicy
import Gogol.CloudKMS.Projects.Locations.KeyRings.TestIamPermissions
import Gogol.CloudKMS.Projects.Locations.List
import Gogol.CloudKMS.Projects.Locations.Operations.Get
import Gogol.CloudKMS.Projects.Locations.UpdateEkmConfig
import Gogol.CloudKMS.Projects.ShowEffectiveAutokeyConfig
import Gogol.CloudKMS.Types