github.com/mutagen-io/mutagen@v0.18.0-rc1/pkg/url/url.proto (about)

     1  syntax = "proto3";
     2  
     3  package url;
     4  
     5  option go_package = "github.com/mutagen-io/mutagen/pkg/url";
     6  
     7  // Kind indicates the kind of a URL.
     8  enum Kind {
     9      // Synchronization indicates a synchronization URL.
    10      Synchronization = 0;
    11      // Forwarding indicates a forwarding URL.
    12      Forwarding = 1;
    13  }
    14  
    15  // Protocol indicates a location type.
    16  enum Protocol {
    17      // Local indicates that the resource is on the local system.
    18      Local = 0;
    19      // SSH indicates that the resource is accessible via SSH.
    20      SSH = 1;
    21  
    22      // Enumeration value 2 is reserved for custom protocols.
    23  
    24      // Enumeration value 3 was previously used for the mutagen.io-based tunnel
    25      // protocol. This protocol was experimental and only available as part of
    26      // the v0.11.x release series. It should not be re-used.
    27  
    28      // Enumeration values 4-10 are reserved for core protocols.
    29  
    30      // Docker indicates that the resource is inside a Docker container.
    31      Docker = 11;
    32  }
    33  
    34  // URL represents a pointer to a resource. It should be considered immutable.
    35  message URL {
    36      // Kind indicates the URL kind.
    37      // NOTE: This field number is out of order for historical reasons.
    38      Kind kind = 7;
    39      // Protocol indicates a location type.
    40      Protocol protocol = 1;
    41      // User is the user under which a resource should be accessed.
    42      string user = 2;
    43      // Host is protocol-specific, but generally indicates the location of the
    44      // remote.
    45      string host = 3;
    46      // Port indicates a TCP port via which to access the remote location, if
    47      // applicable.
    48      uint32 port = 4;
    49      // Path indicates the path of a resource.
    50      string path = 5;
    51      // Environment contains captured environment variable information. It is not
    52      // a required component and its contents and their behavior depend on the
    53      // transport implementation.
    54      map<string, string> environment = 6;
    55  
    56      // Field 7 is already used above for the kind field. It is out of order for
    57      // historical reasons.
    58  
    59      // Parameters are internal transport parameters. These are set for URLs
    60      // generated internally that require additional metadata. Parameters are not
    61      // required and their behavior is dependent on the transport implementation.
    62      map<string, string> parameters = 8;
    63  }