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 }