Files
threshold/internal/proto/controller/servers/services/v1/credential.proto
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

54 lines
1.6 KiB
Protocol Buffer
Raw Normal View History

2021-12-17 11:26:42 -08:00
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: BUSL-1.1
2023-02-02 17:15:17 -08:00
2021-12-17 11:26:42 -08:00
syntax = "proto3";
2021-12-17 11:26:42 -08:00
package controller.servers.services.v1;
2021-12-17 11:26:42 -08:00
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/servers/services;services";
2021-12-17 11:26:42 -08:00
message Credential {
reserved 1;
reserved "user_password";
2021-12-17 11:26:42 -08:00
oneof credential {
UsernamePassword username_password = 2;
SshPrivateKey ssh_private_key = 3;
SshCertificate ssh_certificate = 4;
2021-12-17 11:26:42 -08:00
}
}
// UsernamePassword is a credential containing a username and a password.
message UsernamePassword {
2021-12-17 11:26:42 -08:00
// The username of the credential
string username = 10; // @gotags: `class:"public"`
2021-12-17 11:26:42 -08:00
// 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"`
}