github.com/m3db/m3@v1.5.0/src/query/generated/proto/admin/database.proto (about)

     1  
     2  syntax = "proto3";
     3  package admin;
     4  
     5  import "github.com/m3db/m3/src/query/generated/proto/admin/namespace.proto";
     6  import "github.com/m3db/m3/src/query/generated/proto/admin/placement.proto";
     7  
     8  message DatabaseCreateRequest {
     9    // Required fields
    10    string namespace_name = 1;
    11    string type = 2;
    12  
    13    // Optional fields that may be inferred depending on database type
    14    int32 num_shards = 3;
    15    int32 replication_factor = 4;
    16  
    17    // Explicit retention time using time shorthand, e.g. "48h"
    18    string retention_time = 5;
    19  
    20    // If no block size fields are set then the block size is
    21    // derived from the length of the retention period
    22    BlockSize block_size = 6;
    23  
    24    // Required if not using local database type
    25    repeated Host hosts = 7;
    26  
    27    // Optional field to add an additional aggregated namespace.
    28    AggregatedNamespace aggregated_namespace = 8;
    29  }
    30  
    31  message AggregatedNamespace {
    32    // Required fields.
    33    // Namespace name.
    34    string name = 1;
    35  
    36    // Time window to aggregate data points across.
    37    // Uses same shorthand as retention_time.
    38    string resolution = 2;
    39  
    40    // Length of time to retain data.
    41    string retention_time = 3;
    42  }
    43  
    44  message BlockSize {
    45    // Explicit block size using time shorthand, e.g. "2h"
    46    string time = 1;
    47    // With the expected series datapoints per hour, use a recommended block size
    48    int64 expected_series_datapoints_per_hour = 2;
    49  }
    50  
    51  message Host {
    52    // Name (must be unique) of the host for logging/display purposes, can be hostname if desired,
    53    // or UUID or any other string ID as used in third party inventory system
    54    string id = 1;
    55    // Address can be IP address or hostname, this is used to connect to the host
    56    string address = 2;
    57    // Port running the Node RPC listen address (currently TChannel/Thrift Node service)
    58    uint32 port = 3;
    59    // (Optional) Isolation group is an optional grouping, for instance to isolate replicas by
    60    // zones use zone here, or to isolate by host racks use racks here
    61    string isolation_group = 4;
    62    // (Optional) Zone specifies the zone the host resides in, this is optional.
    63    string zone = 5;
    64    // (Optional) Weight specifies when considering how many shards to take how to weight
    65    // this instance, do not specify to default to a weight of 1.
    66    uint32 weight = 6;
    67  }
    68  
    69  message DatabaseCreateResponse {
    70    admin.NamespaceGetResponse namespace = 1;
    71    admin.PlacementGetResponse placement = 2;
    72  }