github.com/Axway/agent-sdk@v1.1.101/proto/correlation/correlation.proto (about)

     1  syntax = "proto3";
     2  
     3  package amplify.agent.correlation;
     4  
     5  import "google/protobuf/struct.proto";
     6  
     7  import "google/protobuf/timestamp.proto";
     8  
     9  option go_package = "pkg/amplify/agent/correlation";
    10  
    11  // [#protodoc-title: Amplify Agent Correlation service ]
    12  // Amplify Correlation service is used by the Amplify Agent to correlate the
    13  // API traffic with the Amplify API resources.
    14  
    15  
    16  // Request - represents the API request properties
    17  message Request {
    18  
    19    // HTTP request method
    20    string method = 1;
    21  
    22    // The request protocol scheme 
    23    string protocol = 2;
    24  
    25    // The request protocol scheme version
    26    string protocol_version = 3;
    27  
    28    // The value of Authority/Host request header
    29    string authority = 4;
    30  
    31    // The port of incoming request
    32    uint32 port = 5;
    33  
    34    // The request URI
    35    string path = 6;
    36  
    37    // The request URI as received by dataplane gateway
    38    string original_path = 7;
    39  
    40    // The value of User-Agent request header 
    41    string user_agent = 8;
    42  
    43    // The value of Referer request header
    44    string referer = 9;
    45  
    46    // The value of X-Forwarded-For request header
    47    string forwarded_for = 10;
    48  
    49    // The map of request headers
    50    map<string, string> headers = 11;
    51  }
    52  
    53  // Response - represents the API response properties
    54  message Response {
    55  
    56    // The HTTP response code
    57    uint32 response_code = 1;
    58  
    59    // The map of response headers
    60    map<string, string> headers = 2;
    61  }
    62  
    63  // TransactionContext - represents the API traffic transaction context
    64  message TransactionContext {
    65  
    66    // The request/transaction identifier
    67    string transaction_id = 1;
    68  
    69    // The source address on which the request from the user was received
    70    string originAddress = 2;
    71  
    72    // The alias name for the source address
    73    string originAlias = 3;
    74  
    75    // The destination address on which the request from the user was received
    76    string destinationAddress = 4;
    77  
    78    // The alias name for the destination address
    79    string destinationAlias = 5;
    80  
    81    // The name of the routing rule defined for dataplane gateway 
    82    string routeName = 6;
    83  
    84    // The map of additional metadata associated to the traffic
    85    // for specific dataplane gateway   
    86    map<string, google.protobuf.Value> metadata = 7;
    87  
    88    // The response properties associated with the API transaction
    89    Request request = 8;
    90  
    91    // The response properties associated with the API transaction
    92    Response response = 9;
    93  
    94    // The time request was received by the dataplane gateway 
    95    google.protobuf.Timestamp start_time = 10;
    96  }
    97  
    98  // ResourceContext - holds the properties that correlates the transaction with 
    99  // Amplify API resources.
   100  message ResourceContext {
   101  
   102    // The dataplane gateway specific identifier used for correlating 
   103    // the API service resource  
   104    string api_id = 1;
   105  
   106    // The dataplane gateway specific deployment stage name used for
   107    // correlating the API service resource  
   108    string stage = 2;
   109  
   110    // The dataplane gateway specific version identifier used for
   111    // correlating the API service resource  
   112    string version = 3;
   113  
   114    // The dataplane gateway specific identifier used for correlating
   115    // the Amplify marketplace subscription/application
   116    string consumer_id = 4;
   117  }
   118  
   119  // Correlation service returns the resource context related to API transaction
   120  service CorrelationService {
   121    rpc GetResourceContext(TransactionContext) returns(ResourceContext) {}
   122  }