2021-12-17 11:26:42 -08:00
|
|
|
// Copyright (c) HashiCorp, Inc.
|
2023-01-31 14:07:06 +00:00
|
|
|
// SPDX-License-Identifier: BUSL-1.1
|
2023-02-02 17:15:17 -08:00
|
|
|
|
2021-12-17 11:26:42 -08:00
|
|
|
syntax = "proto3";
|
2022-05-04 11:10:21 -04:00
|
|
|
|
2021-12-17 11:26:42 -08:00
|
|
|
package controller.servers.services.v1;
|
2022-05-04 11:10:21 -04:00
|
|
|
|
2021-12-17 11:26:42 -08:00
|
|
|
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/servers/services;services";
|
2022-05-04 11:10:21 -04:00
|
|
|
|
2021-12-17 11:26:42 -08:00
|
|
|
message Credential {
|
2022-06-27 14:03:12 -07:00
|
|
|
reserved 1;
|
|
|
|
|
reserved "user_password";
|
|
|
|
|
|
2021-12-17 11:26:42 -08:00
|
|
|
oneof credential {
|
2022-06-27 14:03:12 -07:00
|
|
|
UsernamePassword username_password = 2;
|
2022-07-19 10:31:53 -07:00
|
|
|
SshPrivateKey ssh_private_key = 3;
|
2023-01-31 14:07:06 +00:00
|
|
|
SshCertificate ssh_certificate = 4;
|
2021-12-17 11:26:42 -08:00
|
|
|
}
|
|
|
|
|
}
|
2022-05-04 11:10:21 -04:00
|
|
|
|
2022-06-27 14:03:12 -07: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"`
|
2022-05-04 11:10:21 -04:00
|
|
|
|
2021-12-17 11:26:42 -08:00
|
|
|
// The password of the credential
|
|
|
|
|
string password = 20; // @gotags: `class:"secret"`
|
|
|
|
|
}
|
2022-07-19 10:31:53 -07:00
|
|
|
|
2022-08-08 15:15:03 -04:00
|
|
|
// SshPrivateKey is a credential containing a username a private key and an optional
|
|
|
|
|
// private key passphrase.
|
2022-07-19 10:31:53 -07:00
|
|
|
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"`
|
2022-08-08 15:15:03 -04:00
|
|
|
|
|
|
|
|
// The optional passphrase of the private_key
|
|
|
|
|
string private_key_passphrase = 30; // @gotags: `class:"secret"`
|
2022-07-19 10:31:53 -07:00
|
|
|
}
|
2023-01-31 14:07:06 +00:00
|
|
|
|
|
|
|
|
// 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"`
|
|
|
|
|
}
|