// Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: BUSL-1.1 syntax = "proto3"; package controller.servers.services.v1; option go_package = "github.com/hashicorp/boundary/internal/gen/controller/servers/services;services"; message Credential { reserved 1; reserved "user_password"; oneof credential { UsernamePassword username_password = 2; SshPrivateKey ssh_private_key = 3; SshCertificate ssh_certificate = 4; } } // UsernamePassword is a credential containing a username and a password. message UsernamePassword { // The username of the credential string username = 10; // @gotags: `class:"public"` // The password of the credential string password = 20; // @gotags: `class:"secret"` } // SshPrivateKey is a credential containing a username a private key and an optional // private key passphrase. message SshPrivateKey { // The username of the credential string username = 10; // @gotags: `class:"public"` // The private key of the credential string private_key = 20; // @gotags: `class:"secret"` // The optional passphrase of the private_key string private_key_passphrase = 30; // @gotags: `class:"secret"` } // SshCertificate is a credential containing a username, private key, and // client certificate. message SshCertificate { // The username of the credential string username = 10; // @gotags: `class:"public"` // The private key of the credential string private_key = 20; // @gotags: `class:"secret"` // The client certificate signed by a CA to establish trust of the private key. string certificate = 30; // @gotags: `class:"public"` }