Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(122)

Side by Side Diff: deploytool/api/deploy/component.proto

Issue 2580213002: luci_depkoy: Add instance class, params. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « deploytool/api/deploy/checkout.pb.go ('k') | deploytool/api/deploy/component.pb.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 syntax = "proto3"; 5 syntax = "proto3";
6 6
7 package deploy; 7 package deploy;
8 8
9 import "google/protobuf/duration.proto"; 9 import "google/protobuf/duration.proto";
10 10
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 /** The Build `dir_key` to use as a root instead of the source root. */ 92 /** The Build `dir_key` to use as a root instead of the source root. */
93 string dir_key = 1; 93 string dir_key = 1;
94 /** 94 /**
95 * The relative path. If `dir_key` is empty, this is relative to the source 95 * The relative path. If `dir_key` is empty, this is relative to the source
96 * root. Otherwise, this is relative to `dir_key`'s directory root. 96 * root. Otherwise, this is relative to `dir_key`'s directory root.
97 */ 97 */
98 string path = 2; 98 string path = 2;
99 } 99 }
100 100
101 /** 101 /**
102 * A Duration expression.
103 *
104 * This is preferred to google.protobuf.Duration since it is more easily
105 * expressed by a human.
106 */
107 message Duration {
108 /** The duration value, taken in units of "unit". */
109 uint32 value = 1;
110
111 enum Unit {
112 MILLISECONDS = 0;
113 SECONDS = 1;
114 MINUTES = 2;
115 HOURS = 3;
116 DAYS = 4;
117 }
118 /** The unit for this duration value. */
119 Unit unit = 2;
120
121 /** Additional duration units to append. */
122 repeated Duration plus = 3;
123 }
124
125 /**
102 * Describes an AppEngine module. 126 * Describes an AppEngine module.
103 */ 127 */
104 message AppEngineModule { 128 message AppEngineModule {
105 /** The name of the module. Leave blank for default module. */ 129 /** The name of the module. Leave blank for default module. */
106 string module_name = 1; 130 string module_name = 1;
107 131
108 /** 132 /**
109 * A Go AppEngine module. 133 * A Go AppEngine module.
110 * 134 *
111 * The entry point must be declared here. 135 * The entry point must be declared here.
112 */ 136 */
113 message GoModule { 137 message GoModule {
114 /** The Go package path of the module's entry package. */ 138 /** The Go package path of the module's entry package. */
115 string entry_package = 1; 139 string entry_package = 1;
116 } 140 }
117 141
118 /** 142 /**
119 * A module that is really hosting static content via handlers and uploads. 143 * A module that is really hosting static content via handlers and uploads.
120 */ 144 */
121 message StaticModule {} 145 message StaticModule {}
122 146
123 /** The module's runtime. */ 147 /** The module's runtime. */
124 oneof runtime { 148 oneof runtime {
125 GoModule go_module = 2; 149 GoModule go_module = 2;
126 StaticModule static_module = 3; 150 StaticModule static_module = 3;
127 } 151 }
128 152
153 /** Parameters for a classic AppEngine instance. */
154 message ClassicParams {
155 /** Generic instance class types. */
156 enum InstanceClass {
157 /** Default for this scaling type. */
158 IC_DEFAULT = 0;
159
160 /* 1-core */
161 IC_1 = 1;
162 /* 2-core */
163 IC_2 = 2;
164 /* 4-core */
165 IC_4 = 3;
166 /* 4-core, 1G memory */
167 IC_4_1G = 4;
168 /* 8-core instance class. Only available with basic/manual scaling. */
169 IC_8 = 5;
170 }
171 InstanceClass instance_class = 1;
172
173 /** Describes automatic scaling parameters. */
174 message AutomaticScaling {
175 /** Minimum number of idle instances. */
176 uint32 min_idle_instances = 1;
177 /** Maximum number of idle instances. 0 is automatic (default). */
178 uint32 max_idle_instances = 2;
179
180 /** Minimum pending latency. */
181 Duration min_pending_latency = 3;
182 /** Maximum pending latency. 0 is automatic (default). */
183 Duration max_pending_latency = 4;
184
185 /** Number of concurrent requests before respawning a new instance. */
186 uint32 max_concurrent_requests = 5;
187 }
188
189 /** Describes basic scaling parameters. */
190 message BasicScaling {
191 /* Time after last request when instance will be shut down. */
192 Duration idle_timeout = 1;
193 /**
194 * The maximum number of instances to creaet for this version (required).
195 */
196 uint32 max_instances = 2;
197 }
198
199 /** Describes manual scaling parameters. */
200 message ManualScaling {
201 /** The number of instances to assign. */
202 uint32 instances = 1;
203 }
204
205 /** Instance scaling type. */
206 oneof scaling {
207 /** Automatic scaling */
208 AutomaticScaling automatic_scaling = 10;
209 /** Basic scaling */
210 BasicScaling basic_scaling = 11;
211 /** Manual scaling */
212 ManualScaling manual_scaling = 12;
213 }
214 }
215
129 /** Parameters for Managed VM */ 216 /** Parameters for Managed VM */
130 message ManagedVmParams { 217 message ManagedVmParams {
131 /** Scopes are additional service account scopes to include. */ 218 /** Scopes are additional service account scopes to include. */
132 repeated string scopes = 1; 219 repeated string scopes = 1;
133 } 220 }
134 /** 221
135 * If set, this is a Managed VM AppEngine module, and these are additional 222 oneof params {
136 * parameters. 223 /**
137 */ 224 * If set, this is a Classic AppEngine module, and these are additional
138 ManagedVmParams managed_vm = 10; 225 * parameters.
226 */
227 ClassicParams classic = 10;
228
229 /**
230 * If set, this is a Managed VM AppEngine module, and these are additional
231 * parameters.
232 */
233 ManagedVmParams managed_vm = 11;
234 }
139 235
140 /** Handler is the set of handlers. */ 236 /** Handler is the set of handlers. */
141 message Handler { 237 message Handler {
142 /** The handler URL / regexp. */ 238 /** The handler URL / regexp. */
143 string url = 1; 239 string url = 1;
144 240
145 /** Option for "login" handler field. */ 241 /** Option for "login" handler field. */
146 enum LoginOption { 242 enum LoginOption {
147 LOGIN_OPTIONAL = 0; 243 LOGIN_OPTIONAL = 0;
148 LOGIN_REQUIRED = 1; 244 LOGIN_REQUIRED = 1;
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 * 380 *
285 * This queue will push requests to the module in which it is declared. 381 * This queue will push requests to the module in which it is declared.
286 */ 382 */
287 message Push { 383 message Push {
288 string rate = 1; 384 string rate = 1;
289 int32 bucket_size = 2; 385 int32 bucket_size = 2;
290 string retry_task_age_limit = 3; 386 string retry_task_age_limit = 3;
291 int32 retry_min_backoff_seconds = 4; 387 int32 retry_min_backoff_seconds = 4;
292 int32 retry_max_backoff_seconds = 5; 388 int32 retry_max_backoff_seconds = 5;
293 int32 retry_max_doublings = 6; 389 int32 retry_max_doublings = 6;
390 int32 max_concurrent_requests = 7;
294 } 391 }
295 392
296 oneof type { 393 oneof type {
297 Push push = 2; 394 Push push = 2;
298 } 395 }
299 } 396 }
300 /** Task queues. */ 397 /** Task queues. */
301 repeated TaskQueue task_queue = 3; 398 repeated TaskQueue task_queue = 3;
302 399
303 /** 400 /**
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 663
567 /** Labels to apply to this pod. */ 664 /** Labels to apply to this pod. */
568 map<string, string> labels = 11; 665 map<string, string> labels = 11;
569 666
570 /** 667 /**
571 * Deployment configuration value for amount of non-crashing time before this 668 * Deployment configuration value for amount of non-crashing time before this
572 * pod is available. 669 * pod is available.
573 */ 670 */
574 google.protobuf.Duration min_ready = 12; 671 google.protobuf.Duration min_ready = 12;
575 } 672 }
OLDNEW
« no previous file with comments | « deploytool/api/deploy/checkout.pb.go ('k') | deploytool/api/deploy/component.pb.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698