syntax = "proto3"; option go_package = ".;cmctl"; package certmanagercontrol; service Control { rpc getStatus(getStatusParams) returns (getStatusResult) {}; rpc createIssuerPair(createIssuerPairParams) returns (createIssuerPairResult) {}; rpc importIssuerPair(importIssuerPairParams) returns (importIssuerPairResult) {}; rpc revokeIssuerPair(revokeIssuerPairParams) returns (revokeIssuerPairResult) {}; rpc unrevokeIssuerPair(unrevokeIssuerPairParams) returns (unrevokeIssuerPairResult) {}; rpc listIssuerPairs(listIssuerPairsParams) returns (listIssuerPairsResult) {}; rpc getIssuerCertificate(getIssuerCertificateParams) returns (getIssuerCertificateResult) {}; rpc createServicePair(createServicePairParams) returns (createServicePairResult) {}; rpc revokeServicePair(revokeServicePairParams) returns (revokeServicePairResult) {}; rpc unrevokeServicePair(unrevokeServicePairParams) returns (unrevokeServicePairResult) {}; rpc listServicePairs(listServicePairsParams) returns (listServicePairsResult) {}; rpc getServicePair(getServicePairParams) returns (getServicePairResult) {}; rpc createAccount(createAccountParams) returns (createAccountResult) {}; rpc deleteAccount(deleteAccountParams) returns (deleteAccountResult) {}; rpc updateAccount(updateAccountParams) returns (updateAccountResult) {}; rpc getAccount(getAccountParams) returns (getAccountResult) {}; rpc listAccounts(listAccountsParams) returns (listAccountsResult) {}; rpc setGrant(setGrantParams) returns (setGrantResult) {}; rpc deleteGrant(deleteGrantParams) returns (deleteGrantResult) {}; } message setGrantParams { string username = 1; int64 accountID = 2; string operation = 3; } message setGrantResult { int64 grantID = 1; } message deleteGrantParams { string username = 1; int64 accountID = 2; string operation = 3; } message deleteGrantResult {} message createAccountParams { string username = 1; string password = 2; } message createAccountResult { int64 accountID = 1; } message deleteAccountParams { string username = 1; int64 accountID = 2; } message deleteAccountResult {} message updateAccountParams { string username = 1; int64 accountID = 2; string newUsername = 3; string newPassword = 4; bool disabled = 5; } message updateAccountResult {} message getAccountParams {} message getAccountResult {} message listAccountsParams {} message listAccountsResult { repeated accountShortDescr accounts = 1; } message accountShortDescr { string username = 1; bool disabled = 2; string createdAt = 3; string updatedAt = 4; repeated grantShortDescr grants = 5; } message grantShortDescr { string operation = 1; string createdAt = 2; } message getStatusParams {} message getStatusResult { string message = 1; } message createIssuerPairParams { string issuerOrganizationName = 1; string issuerOrganizationalUnitName = 2; string issuerCommonName = 3; bool intermediate = 4; int64 signerID = 5; string signerName = 6; string validUntil = 7; string keySize = 8; } message createIssuerPairResult { int64 issuerID = 1; string issuerName = 2; string certificate = 3; string fingerprint = 4; repeated string signerCertificates = 5; repeated string signerNames = 6; } message getIssuerCertificateParams { int64 issuerID = 1; string issuerName = 2; } message getIssuerCertificateResult { int64 issuerID = 1; string name = 2; string certificate = 3; int64 signerID = 4; string signerName = 5; bool revoked = 6; string fingerprint = 7; repeated string signerCertificates = 8; repeated string signerNames = 9; } message importIssuerPairParams { string certificate = 1; string key = 2; repeated string chainCertificate = 3; } message importIssuerPairResult { int64 issuerID = 1; string issuerName = 2; } message revokeIssuerPairParams { int64 issuerID = 1; string issuerName = 2; } message revokeIssuerPairResult {} message unrevokeIssuerPairParams { int64 issuerID = 1; string issuerName = 2; } message unrevokeIssuerPairResult {} message listIssuerPairsParams {} message listIssuerPairsResult { repeated IssierShortDescriptor issuers = 1; } message IssierShortDescriptor { int64 issuerID = 1; string name = 2; int64 signerID = 3; string signerName = 4; bool revoked = 5; } message createServicePairParams { string issuerName = 1; int64 issuerID = 2; string serviceCommonName = 3; string serviceOrganizationName = 4; string serviceOrganizationalUnitName = 5; repeated string hostnames = 6; repeated string inetAddresses = 7; } message createServicePairResult { int64 serviceID = 1; string serviceName = 2; string issuerCertificate = 3; int64 issuerID = 4; string issuerName = 5; string certificate = 6; string key = 7; string fingerprint = 8; repeated string issuerCertificates = 9; repeated string issuerNames = 10; } message revokeServicePairParams { int64 serviceID = 1; string issuerName = 2; string serviceName = 3; string certificate = 4; } message revokeServicePairResult {} message unrevokeServicePairParams { int64 serviceID = 1; string issuerName = 2; string serviceName = 3; string certificate = 4; } message unrevokeServicePairResult {} message ServiceShortDescriptor { int64 serviceID = 1; string name = 2; string issuerName = 3; int64 issuerID = 4; bool revoked = 5; } message listServicePairsParams {} message listServicePairsResult { repeated ServiceShortDescriptor services = 1; } message getServicePairParams { int64 serviceID = 1; string serviceName = 2; } message getServicePairResult { string name = 1; string certificate = 2; string key = 3; int64 issuerID = 4; string issuerName = 5; bool revoked = 6; string fingerprint = 7; string issuerCertificate = 8; repeated string issuerCertificates = 9; }