syntax = "proto3";

package credentials;

option go_package = "github.com/trufflesecurity/trufflehog/v3/pkg/pb/credentialspb";

message Unauthenticated {}

message SSHAuth {}

message CloudEnvironment {}

message BasicAuth {
  string username = 1;
  string password = 2;
}

message Header {
  string key = 1;
  string value = 2;
}

message ClientCredentials {
  string tenant_id = 1;
  string client_id =2;
  string client_secret=3;
}

message ClientCertificate {
  string tenant_id = 1;
  string client_id =2;
  string certificate_path =3;
  string certificate_password =4;
}

message Oauth2 {
  string refresh_token = 1;
  string client_id = 2;
  string client_secret = 3;
  string access_token = 4;
}

message KeySecret {
  string key = 1;
  string secret = 2;
}

message AWSSessionTokenSecret {
  string key = 1;
  string secret = 2;
  string sessionToken = 3;
}

message AWS {
  string key = 1;
  string secret = 2;
  string region = 3;
}

message SES {
  AWS creds = 1;
  string sender = 2;
  repeated string recipients = 3;
}

message GitHubApp {
  string private_key = 1;
  string installation_id = 2;
  string app_id = 3;
}

message SlackTokens {
  string app_token = 1;
  string bot_token = 2;
  string client_token = 3;
}
