go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/auth_service/api/rpcpb/allowlists.proto (about)

     1  // Copyright 2021 The LUCI Authors.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //      http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  syntax = "proto3";
    16  
    17  package auth.service;
    18  
    19  option go_package = "go.chromium.org/luci/auth_service/api/rpcpb";
    20  
    21  import "google/protobuf/empty.proto";
    22  import "google/protobuf/timestamp.proto";
    23  
    24  // Allowlists service contains methods to examine allowlists for services.
    25  service Allowlists {
    26    // ListAllowlists returns all the allowlists currently stored in LUCI Auth
    27    // service datastore. The allowlists will be returned in alphabetical order
    28    // based on their ID.
    29    rpc ListAllowlists(google.protobuf.Empty) returns (ListAllowlistsResponse);
    30  
    31    // GetAllowlist returns Allowlist information for a requested Allowlist.
    32    rpc GetAllowlist(GetAllowlistRequest) returns (Allowlist);
    33  }
    34  
    35  // ListAllowlistsResponse is all the allowlists present in LUCI Auth Service.
    36  message ListAllowlistsResponse {
    37    // List of all allowlists.
    38    repeated Allowlist allowlists = 1;
    39  }
    40  
    41  // GetAllowlistRequest is to specify the allowlist being requested.
    42  message GetAllowlistRequest {
    43    string name = 1;  // e.g: "some-allowlist"
    44  }
    45  
    46  // Allowlist defines the allowlist for a service using LUCI Auth Service.
    47  message Allowlist {
    48    string name = 1;                           // e.g: "some-allowlist"
    49    repeated string subnets = 2;               // e.g: ["127.0.0.1/24"]
    50    string description = 3;                    // e.g: "This allowlist is for ..."
    51    google.protobuf.Timestamp created_ts = 4;  // e.g: "1972-01-01T10:00:20.021Z"
    52    string created_by = 5;                     // e.g: "user:test@example.com"
    53  }