github.com/cloudwan/edgelq-sdk@v1.15.4/limits/proto/v1alpha2/plan_assignment.proto (about) 1 syntax = "proto3"; 2 3 package ntt.limits.v1alpha2; 4 5 import "edgelq-sdk/iam/proto/v1alpha2/organization.proto"; 6 import "edgelq-sdk/iam/proto/v1alpha2/project.proto"; 7 import "edgelq-sdk/limits/proto/v1alpha2/common.proto"; 8 import "edgelq-sdk/limits/proto/v1alpha2/plan.proto"; 9 import "edgelq-sdk/meta/proto/v1alpha2/service.proto"; 10 import "google/api/resource.proto"; 11 import "goten-sdk/types/meta.proto"; 12 13 option go_package = "github.com/cloudwan/edgelq-sdk/limits/resources/v1alpha2/plan_assignment;plan_assignment"; 14 option java_multiple_files = true; 15 option java_outer_classname = "PlanAssignmentProto"; 16 option java_package = "com.ntt.limits.pb.v1alpha2"; 17 18 // PlanAssignment binds plan (with optional customizations) with specific 19 // entity (assignee - either system, organization or project). 20 // Plan assignments (sum of them) are used to compute configured size of 21 // limit pools (system and organizations) AND limits (projects). 22 // They are not modifiable - limits are passed from system to projects, 23 // so each PlanAssignment must be agreed by higher instance (parent organization 24 // or system). System recognizes acceptance by existence of AcceptedPlan 25 // instances - it synchronizes PlanAssignment instances with them. 26 message PlanAssignment { 27 option (google.api.resource) = { 28 type : "limits.edgelq.com/PlanAssignment" 29 pattern : "planAssignments/{plan_assignment}" 30 pattern : "projects/{project}/planAssignments/{plan_assignment}" 31 pattern : "organizations/{organization}/planAssignments/{plan_assignment}" 32 }; 33 34 // Name of PlanAssignment 35 // When creating a new instance, this field is optional and if not provided, 36 // it will be generated automatically. Last ID segment must conform to the 37 // following regex: [a-zA-Z0-9_.-]{1,128} 38 string name = 1; 39 40 // Plan with basic set of limits 41 string plan = 2; 42 43 // Service associated with plan 44 string service = 3; 45 46 // Additional extensions (but may be negative) on top of regular plan. 47 repeated Allowance extensions = 4; 48 49 // Regional distributions across regions. This field makes sense only 50 // for projects, because limit pools are regionless. 51 repeated RegionalDistribution regional_distributions = 5; 52 53 // Source with which this PlanAssignment is synchronized. 54 string source = 6; 55 56 // Metadata 57 goten.types.Meta metadata = 7; 58 }