syntax = "proto3";

package google.rpc;

message RetryInfo {
  message Duration {
    int64 seconds = 1;
    int32 nanos = 2;
  }

  Duration retry_delay = 1;
}

message DebugInfo {
  repeated string stack_entries = 1;
  string detail = 2;
}

message QuotaFailure {
  message Violation {
    string subject = 1;
    string description = 2;
  }

  repeated Violation violations = 1;
}

message ErrorInfo {
  string reason = 1;
  string domain = 2;
  map<string, string> metadata = 3;
}

message PreconditionFailure {
  message Violation {
    string type = 1;
    string subject = 2;
    string description = 3;
  }

  repeated Violation violations = 1;
}

message BadRequest {
  message FieldViolation {
    string field = 1;
    string description = 2;
  }

  repeated FieldViolation field_violations = 1;
}

message RequestInfo {
  string request_id = 1;
  string serving_data = 2;
}

message ResourceInfo {
  string resource_type = 1;
  string resource_name = 2;
  string owner = 3;
  string description = 4;
}

message Help {
  message Link {
    string description = 1;
    string url = 2;
  }

  repeated Link links = 1;
}

message LocalizedMessage {
  string locale = 1;
  string message = 2;
}
