github.com/cloudwan/edgelq-sdk@v1.15.4/iam/proto/v1/service_projects_management_custom.proto (about)

     1  syntax = "proto3";
     2  
     3  package ntt.iam.v1;
     4  
     5  import "edgelq-sdk/common/api/credentials.proto";
     6  import "edgelq-sdk/iam/proto/v1/common.proto";
     7  import "edgelq-sdk/iam/proto/v1/project.proto";
     8  import "edgelq-sdk/iam/proto/v1/project_change.proto";
     9  import "edgelq-sdk/iam/proto/v1/service_account_key.proto";
    10  import "google/protobuf/field_mask.proto";
    11  import "goten-sdk/meta-service/proto/v1/service.proto";
    12  import "goten-sdk/types/multi_region_policy.proto";
    13  
    14  option go_package = "github.com/cloudwan/edgelq-sdk/iam/client/v1/service_projects_management;service_projects_management_client";
    15  option java_multiple_files = false;
    16  option java_outer_classname = "ServiceProjectsManagementCustomProto";
    17  option java_package = "com.ntt.iam.pb.v1";
    18  
    19  // Request message for method
    20  // [ListMyServiceProjects][ntt.iam.v1.ListMyServiceProjects]
    21  message ListMyServiceProjectsRequest {
    22    // Requested page size. Server may return fewer Projects than requested.
    23    // If unspecified, server will pick an appropriate default.
    24    int32 page_size = 2;
    25  
    26    // A token identifying a page of results the server should return.
    27    // Typically, this is the value of
    28    // [ListProjectsResponse.next_page_token][ntt.iam.v1.ListMyServiceProjectsResponse.next_page_token]
    29    string page_token = 3;
    30  
    31    // Order By -
    32    // https://cloud.google.com/apis/design/design_patterns#list_pagination list
    33    // of field path with order directive, either 'asc' or 'desc'. If direction is
    34    // not provided, 'asc' is assumed. e.g. "state.nested_field asc,
    35    // state.something.else desc, theme"
    36    string order_by = 4;
    37  
    38    // Filter - filter results by field criteria. Simplified SQL-like syntax with
    39    // following operators:
    40    // <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS
    41    // [NOT] NULL | NaN . Combine conditions with OR | AND example: 'meta.labels
    42    // CONTAINS "severity:important" OR (state.last_error_time >
    43    // "2018-11-15T10:00:00Z" AND state.status = "ERROR")'
    44    string filter = 5;
    45  
    46    // A FieldMask used to filter response fields. When present, only requested
    47    // fields will be present in each response item. Omitting field_mask results
    48    // will cause response items to contain all present fields.
    49    google.protobuf.FieldMask field_mask = 6;
    50  }
    51  
    52  // Response message for method
    53  // [ListMyServiceProjects][ntt.iam.v1.ListMyServiceProjects]
    54  message ListMyServiceProjectsResponse {
    55    // The list of Projects
    56    repeated Project projects = 1;
    57  
    58    // A token to retrieve previous page of results. Pass this value in the
    59    // [ListMyServiceProjectsRequest.page_token][ntt.iam.v1.ListMyServiceProjectsRequest.page_token]
    60    string prev_page_token = 3;
    61  
    62    // A token to retrieve next page of results. Pass this value in the
    63    // [ListMyServiceProjectsRequest.page_token][ntt.iam.v1.ListMyServiceProjectsRequest.page_token]
    64    string next_page_token = 4;
    65  }
    66  
    67  // Request message for method
    68  // [SetupServiceProject][ntt.iam.v1.SetupServiceProject]
    69  message SetupServiceProjectRequest {
    70    // Project name - unlike in CreateProject, it is mandatory.
    71    // Must conform to regex: [a-z][a-z0-9\\-]{0,28}[a-z0-9]
    72    string name = 1;
    73  
    74    // Project title
    75    string title = 2;
    76  
    77    // Optional parent organization
    78    string parent_organization = 3;
    79  
    80    // Multi region policy - it will have to match with Service regions later on.
    81    goten.types.MultiRegionPolicy multi_region_policy = 4;
    82  
    83    // Default business tier to apply to a service project - it determines
    84    // business tier for core edgelq services, influencing assigned limits.
    85    // By default XSMALL will be set (UNDEFINED is replaced with XSMALL).
    86    // If limits are not needed at all for core edgelq services, it is
    87    // recommended to opt out from them using core_edgelq_service_opt_outs param.
    88    BusinessTier default_business_tier = 5;
    89  
    90    // Optional list of core edgelq services which are not needed for
    91    // this service project. As of now, it has effect on devices/applications.
    92    // If they are added to this list, then no limits are assigned for
    93    // resources in those services.
    94    repeated string core_edgelq_service_opt_outs = 6;
    95  
    96    // Project Description
    97    string description = 7;
    98  }
    99  
   100  // Request message for method
   101  // [ReserveServiceName][ntt.iam.v1.ReserveServiceName]
   102  message ReserveServiceNameRequest {
   103    // Name of the service project where reservation should be made.
   104    string name = 1;
   105  
   106    // Service name to reserve
   107    string service = 2;
   108  
   109    // Service account name that will be an admin for this Service. If it does not
   110    // exist, it will be created. If exists this service account will have right
   111    // to create reserved service.
   112    string admin_account = 3;
   113  
   114    // Optional admin account key - must be skipped if admin_account already
   115    // exists and has key already known by user. If provided, then new
   116    // ServiceAccountKey will be created. If public key was provided in request,
   117    // then server will use it. Otherwise it will generate private/public pair and
   118    // provide both in response. If key already exists and admin_key was provided,
   119    // AlreadyExists will be returned.
   120    ServiceAccountKey admin_key = 4;
   121  
   122    // Optional Role admin_account will have in the service project.
   123    // When service is eventually created, admin_account will have full ownership
   124    // of the Service. However, it wont be able to access Service Project freely -
   125    // by default minimal role is assigned, that allows to send usage metrics (for
   126    // example). In some cases it may be necessary for admin_account to have
   127    // larger access to the service project, for example for devices management.
   128    string admin_account_project_role = 5;
   129  }
   130  
   131  // Response message for method
   132  // [ReserveServiceName][ntt.iam.v1.ReserveServiceName]
   133  message ReserveServiceNameResponse {
   134    // Service account admin credentials are provided if admin_key was populated
   135    // in the request object. It will have private key data if public key was not
   136    // provided in the request admin_key. JSON representation of this object must
   137    // be saved by the caller as ntt-credentials.json file - it will be required
   138    // during actual application deployment. If user generated private/public pair
   139    // themselves (and proved public in request object), before saving JSON user
   140    // will need to populate private key string themselves in the final file. In
   141    // case of lost credentials, user will need to send DeleteServiceAccountKey
   142    // and CreateServiceAccountKey requests for admin ServiceAccount - and craft
   143    // another credentials.
   144    ntt.api.ServiceAccount ntt_admin_credentials = 1;
   145  }
   146  
   147  // Response message for method
   148  // [DeleteServiceReservation][ntt.iam.v1.DeleteServiceReservation]
   149  message DeleteServiceReservationRequest {
   150    // Name of the service project where reservation exists
   151    string name = 1;
   152  
   153    // Service name to remove from reserved
   154    string service = 2;
   155  }
   156  
   157  // Request message for method
   158  // [ListServiceReservations][ntt.iam.v1.ListServiceReservations]
   159  message ListServiceReservationsRequest {
   160    // Name of the Service Project for which we want to see reservations.
   161    string name = 1;
   162  }
   163  
   164  // Response message for method
   165  // [ListServiceReservations][ntt.iam.v1.ListServiceReservations]
   166  message ListServiceReservationsResponse {
   167    // List of reserved services with corresponding admin accounts
   168    repeated Reservation reservations = 1;
   169  
   170    message Reservation {
   171      // Reserved service name allowed to be created by admin account
   172      string service = 1;
   173  
   174      // Service account name that will be an admin for this Service.
   175      string admin_account = 2;
   176    }
   177  }
   178  
   179  // Request message for method
   180  // [ListProjectServices][ntt.iam.v1.ListProjectServices]
   181  message ListProjectServicesRequest {
   182    // Name of the Service Project for which we want to see services.
   183    string name = 1;
   184  }
   185  
   186  // Response message for method
   187  // [ListProjectServices][ntt.iam.v1.ListProjectServices]
   188  message ListProjectServicesResponse {
   189    // List of services
   190    repeated goten.meta.v1.Service services = 1;
   191  }
   192  
   193  // Request message for method
   194  // [AddRegionalAdminAccountForServices][ntt.iam.v1.AddRegionalAdminAccountForServices]
   195  message AddRegionalAdminAccountForServicesRequest {
   196    // Parent of ServiceAccount containing Service project and Region.
   197    // If region is not enabled in project, it will be for this request.
   198    string parent = 1;
   199  
   200    // List of services in which admin account must participate. They must all
   201    // belong to the project indicated in the parent.
   202    repeated string services = 2;
   203  
   204    // Regional service account name that will be an admin for this Service. If it
   205    // does not exist, it will be created.
   206    string admin_account = 3;
   207  
   208    // Optional admin account key - must be skipped if admin_account already
   209    // exists and has key already known by user. If provided, then new
   210    // ServiceAccountKey will be created. If public key was provided in request,
   211    // then server will use it. Otherwise it will generate private/public pair and
   212    // provide both in response. If admin_key already exists and is still provided
   213    // in request, AlreadyExists will be returned.
   214    ServiceAccountKey admin_key = 4;
   215  
   216    // Optional Role admin_account will have in the service project.
   217    // When service is eventually created, admin_account will have full ownership
   218    // of the Service. However, it wont be able to access Service Project freely -
   219    // by default minimal role is assigned, that allows to send usage metrics (for
   220    // example). In some cases it may be necessary for admin_account to have
   221    // larger access to the service project, for example for devices management.
   222    string admin_account_project_role = 5;
   223  }
   224  
   225  // Response message for method
   226  // [AddRegionalAdminAccountForServices][ntt.iam.v1.AddRegionalAdminAccountForServices]
   227  message AddRegionalAdminAccountForServicesResponse {
   228    // Service account admin credentials are provided if admin_key was populated
   229    // in the request object. It will have private key data if public key was not
   230    // provided in the request admin_key. JSON representation of this object must
   231    // be saved by the caller as ntt-credentials.json file - it will be required
   232    // during actual regional application deployment. If user generated
   233    // private/public pair themselves (and proved public in request object),
   234    // before saving JSON user will need to populate private key string themselves
   235    // in the final file. In case of lost credentials, user will need to send
   236    // DeleteServiceAccountKey and CreateServiceAccountKey requests for admin
   237    // ServiceAccount - and craft another credentials.
   238    ntt.api.ServiceAccount ntt_admin_credentials = 1;
   239  }