github.com/cloudwan/edgelq-sdk@v1.15.4/limits/proto/v1alpha2/limit.proto (about)

     1  syntax = "proto3";
     2  
     3  package ntt.limits.v1alpha2;
     4  
     5  import "edgelq-sdk/iam/proto/v1alpha2/project.proto";
     6  import "edgelq-sdk/limits/proto/v1alpha2/limit_pool.proto";
     7  import "edgelq-sdk/meta/proto/v1alpha2/service.proto";
     8  import "google/api/resource.proto";
     9  import "goten-sdk/types/meta.proto";
    10  
    11  option go_package = "github.com/cloudwan/edgelq-sdk/limits/resources/v1alpha2/limit;limit";
    12  option java_multiple_files = true;
    13  option java_outer_classname = "LimitProto";
    14  option java_package = "com.ntt.limits.pb.v1alpha2";
    15  
    16  // Limit resource represents usage/limit of specific resource
    17  // in specific project and region - however instances of those
    18  // resources are managed by primary region of project. This
    19  // ensures consistency and allows modification of project limits
    20  // in one database transaction.
    21  // Limit instances cannot be created or deleted. They cannot be
    22  // also be modified (there are only some state fields controlled
    23  // by system). Limits are created/modified along with
    24  // PlanAssignment instances.
    25  message Limit {
    26    option (google.api.resource) = {
    27      type : "limits.edgelq.com/Limit"
    28      pattern : "projects/{project}/limits/{limit}"
    29    };
    30  
    31    // Name of Limit, it has following format:
    32    // projects/{project}/limits/{regionId}/{resourceType}
    33    string name = 1;
    34  
    35    // Referenced service
    36    string service = 2;
    37  
    38    // Referenced resource type
    39    string resource = 3;
    40  
    41    // Region ID to which this limit applies. This may be different
    42    // compared to default project region, because projects themselves
    43    // can be multi-regional.
    44    string region = 4;
    45  
    46    // Configured limit - it is always in sync with limits
    47    // predicted by PlanAssignment instances.
    48    int64 configured_limit = 5;
    49  
    50    // Active limit - it is always equal to configured limit with exceptions:
    51    // * If configured limit has just changed, then active limit will for
    52    // a moment contain old value before synchronization.
    53    // * If it turns out that usage increased in the very same moment
    54    // when configured limit decreased, then active limit will hold
    55    // old value indicating problem.
    56    // It is important to note that, because projects may be multi-regional,
    57    // limits are tracked by their FINAL region (See region field).
    58    // State fields (active limit and usage) are synced asynchronously.
    59    // From user perspective this field can be hidden if in line with
    60    // configured limit.
    61    int64 active_limit = 6;
    62  
    63    // Number of resources currently in existence.
    64    int64 usage = 7;
    65  
    66    // LimitPool source that gave birth to this Limit. Any change
    67    // in configured/active value in current Limit increases/decreases
    68    // reserved field in source LimitPool.
    69    string source = 8;
    70  
    71    // Metadata
    72    goten.types.Meta metadata = 9;
    73  }