68 lines
2.0 KiB
Protocol Buffer
68 lines
2.0 KiB
Protocol Buffer
// 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;
|
|
UsernamePasswordDomain username_password_domain = 5;
|
|
}
|
|
}
|
|
|
|
// UsernamePassword is a credential containing a username and a password.
|
|
message UsernamePassword {
|
|
// The username of the credential
|
|
string username = 10; // @gotags: `class:"sensitive"`
|
|
|
|
// The password of the credential
|
|
string password = 20; // @gotags: `class:"secret"`
|
|
}
|
|
|
|
// UsernamePasswordDomain is a credential containing a username, password, and domain.
|
|
message UsernamePasswordDomain {
|
|
// The username of the credential
|
|
string username = 10; // @gotags: `class:"sensitive"`
|
|
|
|
// The password of the credential
|
|
string password = 20; // @gotags: `class:"secret"`
|
|
|
|
// The domain of the credential
|
|
string domain = 30; // @gotags: `class:"public"`
|
|
}
|
|
|
|
// 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"`
|
|
}
|