{
    "schema": "1.0",
    "comment": "This file maps proto services/RPCs to the corresponding library clients/methods",
    "language": "typescript",
    "protoPackage": "google.cloud.kms.v1",
    "libraryPackage": "@google-cloud/kms",
    "services": {
        "Autokey": {
            "clients": {
                "grpc": {
                    "libraryClient": "AutokeyClient",
                    "rpcs": {
                        "GetKeyHandle": {
                            "methods": [
                                "getKeyHandle"
                            ]
                        },
                        "CreateKeyHandle": {
                            "methods": [
                                "createKeyHandle"
                            ]
                        },
                        "ListKeyHandles": {
                            "methods": [
                                "listKeyHandles",
                                "listKeyHandlesStream",
                                "listKeyHandlesAsync"
                            ]
                        }
                    }
                },
                "grpc-fallback": {
                    "libraryClient": "AutokeyClient",
                    "rpcs": {
                        "GetKeyHandle": {
                            "methods": [
                                "getKeyHandle"
                            ]
                        },
                        "CreateKeyHandle": {
                            "methods": [
                                "createKeyHandle"
                            ]
                        },
                        "ListKeyHandles": {
                            "methods": [
                                "listKeyHandles",
                                "listKeyHandlesStream",
                                "listKeyHandlesAsync"
                            ]
                        }
                    }
                }
            }
        },
        "AutokeyAdmin": {
            "clients": {
                "grpc": {
                    "libraryClient": "AutokeyAdminClient",
                    "rpcs": {
                        "UpdateAutokeyConfig": {
                            "methods": [
                                "updateAutokeyConfig"
                            ]
                        },
                        "GetAutokeyConfig": {
                            "methods": [
                                "getAutokeyConfig"
                            ]
                        },
                        "ShowEffectiveAutokeyConfig": {
                            "methods": [
                                "showEffectiveAutokeyConfig"
                            ]
                        }
                    }
                },
                "grpc-fallback": {
                    "libraryClient": "AutokeyAdminClient",
                    "rpcs": {
                        "UpdateAutokeyConfig": {
                            "methods": [
                                "updateAutokeyConfig"
                            ]
                        },
                        "GetAutokeyConfig": {
                            "methods": [
                                "getAutokeyConfig"
                            ]
                        },
                        "ShowEffectiveAutokeyConfig": {
                            "methods": [
                                "showEffectiveAutokeyConfig"
                            ]
                        }
                    }
                }
            }
        },
        "EkmService": {
            "clients": {
                "grpc": {
                    "libraryClient": "EkmServiceClient",
                    "rpcs": {
                        "GetEkmConnection": {
                            "methods": [
                                "getEkmConnection"
                            ]
                        },
                        "CreateEkmConnection": {
                            "methods": [
                                "createEkmConnection"
                            ]
                        },
                        "UpdateEkmConnection": {
                            "methods": [
                                "updateEkmConnection"
                            ]
                        },
                        "GetEkmConfig": {
                            "methods": [
                                "getEkmConfig"
                            ]
                        },
                        "UpdateEkmConfig": {
                            "methods": [
                                "updateEkmConfig"
                            ]
                        },
                        "VerifyConnectivity": {
                            "methods": [
                                "verifyConnectivity"
                            ]
                        },
                        "ListEkmConnections": {
                            "methods": [
                                "listEkmConnections",
                                "listEkmConnectionsStream",
                                "listEkmConnectionsAsync"
                            ]
                        }
                    }
                },
                "grpc-fallback": {
                    "libraryClient": "EkmServiceClient",
                    "rpcs": {
                        "GetEkmConnection": {
                            "methods": [
                                "getEkmConnection"
                            ]
                        },
                        "CreateEkmConnection": {
                            "methods": [
                                "createEkmConnection"
                            ]
                        },
                        "UpdateEkmConnection": {
                            "methods": [
                                "updateEkmConnection"
                            ]
                        },
                        "GetEkmConfig": {
                            "methods": [
                                "getEkmConfig"
                            ]
                        },
                        "UpdateEkmConfig": {
                            "methods": [
                                "updateEkmConfig"
                            ]
                        },
                        "VerifyConnectivity": {
                            "methods": [
                                "verifyConnectivity"
                            ]
                        },
                        "ListEkmConnections": {
                            "methods": [
                                "listEkmConnections",
                                "listEkmConnectionsStream",
                                "listEkmConnectionsAsync"
                            ]
                        }
                    }
                }
            }
        },
        "HsmManagement": {
            "clients": {
                "grpc": {
                    "libraryClient": "HsmManagementClient",
                    "rpcs": {
                        "GetSingleTenantHsmInstance": {
                            "methods": [
                                "getSingleTenantHsmInstance"
                            ]
                        },
                        "ApproveSingleTenantHsmInstanceProposal": {
                            "methods": [
                                "approveSingleTenantHsmInstanceProposal"
                            ]
                        },
                        "GetSingleTenantHsmInstanceProposal": {
                            "methods": [
                                "getSingleTenantHsmInstanceProposal"
                            ]
                        },
                        "DeleteSingleTenantHsmInstanceProposal": {
                            "methods": [
                                "deleteSingleTenantHsmInstanceProposal"
                            ]
                        },
                        "CreateSingleTenantHsmInstance": {
                            "methods": [
                                "createSingleTenantHsmInstance"
                            ]
                        },
                        "CreateSingleTenantHsmInstanceProposal": {
                            "methods": [
                                "createSingleTenantHsmInstanceProposal"
                            ]
                        },
                        "ExecuteSingleTenantHsmInstanceProposal": {
                            "methods": [
                                "executeSingleTenantHsmInstanceProposal"
                            ]
                        },
                        "ListSingleTenantHsmInstances": {
                            "methods": [
                                "listSingleTenantHsmInstances",
                                "listSingleTenantHsmInstancesStream",
                                "listSingleTenantHsmInstancesAsync"
                            ]
                        },
                        "ListSingleTenantHsmInstanceProposals": {
                            "methods": [
                                "listSingleTenantHsmInstanceProposals",
                                "listSingleTenantHsmInstanceProposalsStream",
                                "listSingleTenantHsmInstanceProposalsAsync"
                            ]
                        }
                    }
                },
                "grpc-fallback": {
                    "libraryClient": "HsmManagementClient",
                    "rpcs": {
                        "GetSingleTenantHsmInstance": {
                            "methods": [
                                "getSingleTenantHsmInstance"
                            ]
                        },
                        "ApproveSingleTenantHsmInstanceProposal": {
                            "methods": [
                                "approveSingleTenantHsmInstanceProposal"
                            ]
                        },
                        "GetSingleTenantHsmInstanceProposal": {
                            "methods": [
                                "getSingleTenantHsmInstanceProposal"
                            ]
                        },
                        "DeleteSingleTenantHsmInstanceProposal": {
                            "methods": [
                                "deleteSingleTenantHsmInstanceProposal"
                            ]
                        },
                        "CreateSingleTenantHsmInstance": {
                            "methods": [
                                "createSingleTenantHsmInstance"
                            ]
                        },
                        "CreateSingleTenantHsmInstanceProposal": {
                            "methods": [
                                "createSingleTenantHsmInstanceProposal"
                            ]
                        },
                        "ExecuteSingleTenantHsmInstanceProposal": {
                            "methods": [
                                "executeSingleTenantHsmInstanceProposal"
                            ]
                        },
                        "ListSingleTenantHsmInstances": {
                            "methods": [
                                "listSingleTenantHsmInstances",
                                "listSingleTenantHsmInstancesStream",
                                "listSingleTenantHsmInstancesAsync"
                            ]
                        },
                        "ListSingleTenantHsmInstanceProposals": {
                            "methods": [
                                "listSingleTenantHsmInstanceProposals",
                                "listSingleTenantHsmInstanceProposalsStream",
                                "listSingleTenantHsmInstanceProposalsAsync"
                            ]
                        }
                    }
                }
            }
        },
        "KeyManagementService": {
            "clients": {
                "grpc": {
                    "libraryClient": "KeyManagementServiceClient",
                    "rpcs": {
                        "GetKeyRing": {
                            "methods": [
                                "getKeyRing"
                            ]
                        },
                        "GetCryptoKey": {
                            "methods": [
                                "getCryptoKey"
                            ]
                        },
                        "GetCryptoKeyVersion": {
                            "methods": [
                                "getCryptoKeyVersion"
                            ]
                        },
                        "GetPublicKey": {
                            "methods": [
                                "getPublicKey"
                            ]
                        },
                        "GetImportJob": {
                            "methods": [
                                "getImportJob"
                            ]
                        },
                        "GetRetiredResource": {
                            "methods": [
                                "getRetiredResource"
                            ]
                        },
                        "CreateKeyRing": {
                            "methods": [
                                "createKeyRing"
                            ]
                        },
                        "CreateCryptoKey": {
                            "methods": [
                                "createCryptoKey"
                            ]
                        },
                        "CreateCryptoKeyVersion": {
                            "methods": [
                                "createCryptoKeyVersion"
                            ]
                        },
                        "ImportCryptoKeyVersion": {
                            "methods": [
                                "importCryptoKeyVersion"
                            ]
                        },
                        "ImportTrustedKeyWrappedCryptoKeyVersion": {
                            "methods": [
                                "importTrustedKeyWrappedCryptoKeyVersion"
                            ]
                        },
                        "ExportTrustedKeyWrappedCryptoKeyVersion": {
                            "methods": [
                                "exportTrustedKeyWrappedCryptoKeyVersion"
                            ]
                        },
                        "CreateImportJob": {
                            "methods": [
                                "createImportJob"
                            ]
                        },
                        "UpdateCryptoKey": {
                            "methods": [
                                "updateCryptoKey"
                            ]
                        },
                        "UpdateCryptoKeyVersion": {
                            "methods": [
                                "updateCryptoKeyVersion"
                            ]
                        },
                        "UpdateCryptoKeyPrimaryVersion": {
                            "methods": [
                                "updateCryptoKeyPrimaryVersion"
                            ]
                        },
                        "DestroyCryptoKeyVersion": {
                            "methods": [
                                "destroyCryptoKeyVersion"
                            ]
                        },
                        "RestoreCryptoKeyVersion": {
                            "methods": [
                                "restoreCryptoKeyVersion"
                            ]
                        },
                        "Encrypt": {
                            "methods": [
                                "encrypt"
                            ]
                        },
                        "Decrypt": {
                            "methods": [
                                "decrypt"
                            ]
                        },
                        "RawEncrypt": {
                            "methods": [
                                "rawEncrypt"
                            ]
                        },
                        "RawDecrypt": {
                            "methods": [
                                "rawDecrypt"
                            ]
                        },
                        "AsymmetricSign": {
                            "methods": [
                                "asymmetricSign"
                            ]
                        },
                        "AsymmetricDecrypt": {
                            "methods": [
                                "asymmetricDecrypt"
                            ]
                        },
                        "MacSign": {
                            "methods": [
                                "macSign"
                            ]
                        },
                        "MacVerify": {
                            "methods": [
                                "macVerify"
                            ]
                        },
                        "Decapsulate": {
                            "methods": [
                                "decapsulate"
                            ]
                        },
                        "GenerateRandomBytes": {
                            "methods": [
                                "generateRandomBytes"
                            ]
                        },
                        "DeleteCryptoKey": {
                            "methods": [
                                "deleteCryptoKey"
                            ]
                        },
                        "DeleteCryptoKeyVersion": {
                            "methods": [
                                "deleteCryptoKeyVersion"
                            ]
                        },
                        "ListKeyRings": {
                            "methods": [
                                "listKeyRings",
                                "listKeyRingsStream",
                                "listKeyRingsAsync"
                            ]
                        },
                        "ListCryptoKeys": {
                            "methods": [
                                "listCryptoKeys",
                                "listCryptoKeysStream",
                                "listCryptoKeysAsync"
                            ]
                        },
                        "ListCryptoKeyVersions": {
                            "methods": [
                                "listCryptoKeyVersions",
                                "listCryptoKeyVersionsStream",
                                "listCryptoKeyVersionsAsync"
                            ]
                        },
                        "ListImportJobs": {
                            "methods": [
                                "listImportJobs",
                                "listImportJobsStream",
                                "listImportJobsAsync"
                            ]
                        },
                        "ListRetiredResources": {
                            "methods": [
                                "listRetiredResources",
                                "listRetiredResourcesStream",
                                "listRetiredResourcesAsync"
                            ]
                        }
                    }
                },
                "grpc-fallback": {
                    "libraryClient": "KeyManagementServiceClient",
                    "rpcs": {
                        "GetKeyRing": {
                            "methods": [
                                "getKeyRing"
                            ]
                        },
                        "GetCryptoKey": {
                            "methods": [
                                "getCryptoKey"
                            ]
                        },
                        "GetCryptoKeyVersion": {
                            "methods": [
                                "getCryptoKeyVersion"
                            ]
                        },
                        "GetPublicKey": {
                            "methods": [
                                "getPublicKey"
                            ]
                        },
                        "GetImportJob": {
                            "methods": [
                                "getImportJob"
                            ]
                        },
                        "GetRetiredResource": {
                            "methods": [
                                "getRetiredResource"
                            ]
                        },
                        "CreateKeyRing": {
                            "methods": [
                                "createKeyRing"
                            ]
                        },
                        "CreateCryptoKey": {
                            "methods": [
                                "createCryptoKey"
                            ]
                        },
                        "CreateCryptoKeyVersion": {
                            "methods": [
                                "createCryptoKeyVersion"
                            ]
                        },
                        "ImportCryptoKeyVersion": {
                            "methods": [
                                "importCryptoKeyVersion"
                            ]
                        },
                        "ImportTrustedKeyWrappedCryptoKeyVersion": {
                            "methods": [
                                "importTrustedKeyWrappedCryptoKeyVersion"
                            ]
                        },
                        "ExportTrustedKeyWrappedCryptoKeyVersion": {
                            "methods": [
                                "exportTrustedKeyWrappedCryptoKeyVersion"
                            ]
                        },
                        "CreateImportJob": {
                            "methods": [
                                "createImportJob"
                            ]
                        },
                        "UpdateCryptoKey": {
                            "methods": [
                                "updateCryptoKey"
                            ]
                        },
                        "UpdateCryptoKeyVersion": {
                            "methods": [
                                "updateCryptoKeyVersion"
                            ]
                        },
                        "UpdateCryptoKeyPrimaryVersion": {
                            "methods": [
                                "updateCryptoKeyPrimaryVersion"
                            ]
                        },
                        "DestroyCryptoKeyVersion": {
                            "methods": [
                                "destroyCryptoKeyVersion"
                            ]
                        },
                        "RestoreCryptoKeyVersion": {
                            "methods": [
                                "restoreCryptoKeyVersion"
                            ]
                        },
                        "Encrypt": {
                            "methods": [
                                "encrypt"
                            ]
                        },
                        "Decrypt": {
                            "methods": [
                                "decrypt"
                            ]
                        },
                        "RawEncrypt": {
                            "methods": [
                                "rawEncrypt"
                            ]
                        },
                        "RawDecrypt": {
                            "methods": [
                                "rawDecrypt"
                            ]
                        },
                        "AsymmetricSign": {
                            "methods": [
                                "asymmetricSign"
                            ]
                        },
                        "AsymmetricDecrypt": {
                            "methods": [
                                "asymmetricDecrypt"
                            ]
                        },
                        "MacSign": {
                            "methods": [
                                "macSign"
                            ]
                        },
                        "MacVerify": {
                            "methods": [
                                "macVerify"
                            ]
                        },
                        "Decapsulate": {
                            "methods": [
                                "decapsulate"
                            ]
                        },
                        "GenerateRandomBytes": {
                            "methods": [
                                "generateRandomBytes"
                            ]
                        },
                        "DeleteCryptoKey": {
                            "methods": [
                                "deleteCryptoKey"
                            ]
                        },
                        "DeleteCryptoKeyVersion": {
                            "methods": [
                                "deleteCryptoKeyVersion"
                            ]
                        },
                        "ListKeyRings": {
                            "methods": [
                                "listKeyRings",
                                "listKeyRingsStream",
                                "listKeyRingsAsync"
                            ]
                        },
                        "ListCryptoKeys": {
                            "methods": [
                                "listCryptoKeys",
                                "listCryptoKeysStream",
                                "listCryptoKeysAsync"
                            ]
                        },
                        "ListCryptoKeyVersions": {
                            "methods": [
                                "listCryptoKeyVersions",
                                "listCryptoKeyVersionsStream",
                                "listCryptoKeyVersionsAsync"
                            ]
                        },
                        "ListImportJobs": {
                            "methods": [
                                "listImportJobs",
                                "listImportJobsStream",
                                "listImportJobsAsync"
                            ]
                        },
                        "ListRetiredResources": {
                            "methods": [
                                "listRetiredResources",
                                "listRetiredResourcesStream",
                                "listRetiredResourcesAsync"
                            ]
                        }
                    }
                }
            }
        }
    }
}
