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 }