syntax = "proto3"; option go_package = "github.com/hashicorp/vault/sdk/database/dbplugin"; package dbplugin; import "google/protobuf/timestamp.proto"; message InitializeRequest { option deprecated = true; bytes config = 1; bool verify_connection = 2; } message InitRequest { bytes config = 1; bool verify_connection = 2; } message CreateUserRequest { Statements statements = 1; UsernameConfig username_config = 2; google.protobuf.Timestamp expiration = 3; } message RenewUserRequest { Statements statements = 1; string username = 2; google.protobuf.Timestamp expiration = 3; } message RevokeUserRequest { Statements statements = 1; string username = 2; } message RotateRootCredentialsRequest { repeated string statements = 1; } message Statements { // DEPRECATED, will be removed in 0.12 string creation_statements = 1 [deprecated=true]; // DEPRECATED, will be removed in 0.12 string revocation_statements = 2 [deprecated=true]; // DEPRECATED, will be removed in 0.12 string rollback_statements = 3 [deprecated=true]; // DEPRECATED, will be removed in 0.12 string renew_statements = 4 [deprecated=true]; repeated string creation = 5; repeated string revocation = 6; repeated string rollback = 7; repeated string renewal = 8; repeated string rotation = 9; } message UsernameConfig { string DisplayName = 1; string RoleName = 2; } message InitResponse { bytes config = 1; } message CreateUserResponse { string username = 1; string password = 2; } message TypeResponse { string type = 1; } message RotateRootCredentialsResponse { bytes config = 1; } message Empty {} message GenerateCredentialsResponse { string password = 1; } message StaticUserConfig{ string username = 1; string password = 2; bool create = 3; } message SetCredentialsRequest { Statements statements = 1; StaticUserConfig static_user_config = 2; } message SetCredentialsResponse { string username = 1; string password = 2; } service Database { rpc Type(Empty) returns (TypeResponse); rpc CreateUser(CreateUserRequest) returns (CreateUserResponse); rpc RenewUser(RenewUserRequest) returns (Empty); rpc RevokeUser(RevokeUserRequest) returns (Empty); rpc RotateRootCredentials(RotateRootCredentialsRequest) returns (RotateRootCredentialsResponse); rpc Init(InitRequest) returns (InitResponse); rpc Close(Empty) returns (Empty); rpc SetCredentials(SetCredentialsRequest) returns (SetCredentialsResponse); rpc GenerateCredentials(Empty) returns (GenerateCredentialsResponse); rpc Initialize(InitializeRequest) returns (Empty) { option deprecated = true; }; }