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  }