@@ -81,6 +81,14 @@ service FabricController {
81
81
option idempotency_level = NO_SIDE_EFFECTS ;
82
82
}; // no values
83
83
84
+ rpc PutDeployment (PutDeploymentRequest ) returns (google .protobuf .Empty ) {
85
+ option idempotency_level = IDEMPOTENT ;
86
+ };
87
+ rpc ListDeployments (ListDeploymentsRequest )
88
+ returns (ListDeploymentsResponse ) {
89
+ option idempotency_level = NO_SIDE_EFFECTS ;
90
+ }; // no values
91
+
84
92
rpc CreateUploadURL (UploadURLRequest ) returns (UploadURLResponse );
85
93
86
94
rpc DelegateSubdomainZone (DelegateSubdomainZoneRequest )
@@ -91,6 +99,9 @@ service FabricController {
91
99
returns (DelegateSubdomainZoneResponse ) {
92
100
option idempotency_level = NO_SIDE_EFFECTS ;
93
101
};
102
+ rpc SetOptions (SetOptionsRequest ) returns (google .protobuf .Empty ) {
103
+ option idempotency_level = IDEMPOTENT ;
104
+ }
94
105
rpc WhoAmI (google .protobuf .Empty ) returns (WhoAmIResponse ) {
95
106
option idempotency_level = NO_SIDE_EFFECTS ;
96
107
};
@@ -114,6 +125,10 @@ service FabricController {
114
125
returns (google .protobuf .Empty ) {
115
126
option idempotency_level = IDEMPOTENT ;
116
127
}
128
+
129
+ rpc CanIUse (CanIUseRequest ) returns (CanIUseResponse ) {
130
+ option idempotency_level = NO_SIDE_EFFECTS ;
131
+ }
117
132
}
118
133
119
134
enum Provider {
@@ -150,6 +165,8 @@ message DebugRequest {
150
165
string project = 3 ;
151
166
string logs = 4 ;
152
167
repeated string services = 5 ;
168
+ bool training_opt_out = 6 ; // only valid for Pro users
169
+ google.protobuf.Timestamp since = 7 ;
153
170
}
154
171
155
172
message DebugResponse {
@@ -185,6 +202,17 @@ enum DeploymentMode {
185
202
PRODUCTION = 3 ;
186
203
}
187
204
205
+ message CanIUseRequest {
206
+ string project = 1 ;
207
+ Provider provider = 2 ;
208
+ }
209
+
210
+ message CanIUseResponse {
211
+ reserved 1 ;
212
+ string cd_image = 2 ;
213
+ bool gpu = 3 ;
214
+ }
215
+
188
216
message DeployRequest {
189
217
repeated Service services = 1
190
218
[ deprecated = true ]; // deprecated; use compose
@@ -212,6 +240,7 @@ message GenerateFilesRequest {
212
240
string prompt = 1 ;
213
241
string language = 2 ;
214
242
bool agree_tos = 3 ;
243
+ bool training_opt_out = 4 ; // only valid for Pro users
215
244
}
216
245
217
246
message File {
@@ -251,6 +280,7 @@ enum ServiceState {
251
280
DEPLOYMENT_FAILED = 10 ;
252
281
253
282
BUILD_FAILED = 11 ;
283
+ DEPLOYMENT_SCALED_IN = 12 ;
254
284
}
255
285
256
286
message ServiceInfo {
@@ -272,6 +302,7 @@ message ServiceInfo {
272
302
reserved 14 ; // was: string lb_dns
273
303
ServiceState state = 15 ; // enumerated status of the service
274
304
string domainname = 16 ; // domain name for the service
305
+ string lb_dns_name = 17 ; // fully qualified domain name for the load-balancer
275
306
276
307
// bool is_function = 5; // true if service is a function
277
308
}
@@ -325,6 +356,27 @@ message ListConfigsRequest {
325
356
326
357
message ListConfigsResponse { repeated ConfigKey configs = 1 ; }
327
358
359
+ enum DeploymentAction {
360
+ DEPLOYMENT_ACTION_UNSPECIFIED = 0 ;
361
+ DEPLOYMENT_ACTION_UP = 1 ;
362
+ DEPLOYMENT_ACTION_DOWN = 2 ;
363
+ }
364
+
365
+ message Deployment {
366
+ string id = 1 ;
367
+ string project = 2 ;
368
+ string provider = 3 ;
369
+ string provider_account_id = 4 ;
370
+ google.protobuf.Timestamp timestamp = 5 ;
371
+ DeploymentAction action = 6 ;
372
+ }
373
+
374
+ message PutDeploymentRequest { Deployment deployment = 1 ; }
375
+
376
+ message ListDeploymentsRequest { string project = 1 ; }
377
+
378
+ message ListDeploymentsResponse { repeated Deployment deployments = 1 ; }
379
+
328
380
message TokenRequest {
329
381
string tenant = 1 ;
330
382
string auth_code = 2 ; // from GitHub authorization code flow
@@ -393,46 +445,46 @@ message ProjectUpdate {
393
445
}
394
446
395
447
enum Platform {
396
- option deprecated = true ; // still used by pulumi-defang provider
448
+ option deprecated = true ; // still used by pulumi-defang provider in state files
397
449
LINUX_AMD64 = 0 ;
398
450
LINUX_ARM64 = 1 ;
399
451
LINUX_ANY = 2 ;
400
452
}
401
453
402
- message GetRequest { // was ServiceID
454
+ message ServiceID {
455
+ option deprecated = true ; // still used by pulumi-defang provider in state files
403
456
string name = 1 ;
404
457
string project = 2 ;
405
458
}
406
459
407
- message ServiceID {
408
- option deprecated = true ; // still used by pulumi-defang providers stored in state files
460
+ message GetRequest { // was ServiceID
409
461
string name = 1 ;
410
462
string project = 2 ;
411
463
}
412
464
413
465
message Device {
414
- option deprecated = true ; // still used by pulumi-defang provider
466
+ option deprecated = true ; // still used by pulumi-defang provider in state files
415
467
repeated string capabilities = 1 ; // "gpu", "tpu", etc.
416
468
string driver = 2 ; // "nvidia", "amd", etc.
417
469
uint32 count = 3 ; // number of devices to reserve
418
470
}
419
471
420
472
message Resource {
421
- option deprecated = true ; // still used by pulumi-defang provider
473
+ option deprecated = true ; // still used by pulumi-defang provider in state files
422
474
float memory = 1 ; // in MiB
423
475
float cpus = 2 ; // fractional vCPUs
424
476
repeated Device devices = 3 ; // devices & capabilities
425
477
}
426
478
427
479
message Resources {
428
- option deprecated = true ; // still used by pulumi-defang provider
480
+ option deprecated = true ; // still used by pulumi-defang provider in state files
429
481
Resource reservations = 1 ; // requested resources
430
482
431
483
// Resource limits = 2; // hard limits
432
484
}
433
485
434
486
message Deploy {
435
- option deprecated = true ; // still used by pulumi-defang provider
487
+ option deprecated = true ; // still used by pulumi-defang provider in state files
436
488
uint32 replicas = 1 ; // number of initial replicas
437
489
Resources resources = 2 ; // reservations and limits
438
490
@@ -442,7 +494,7 @@ message Deploy {
442
494
}
443
495
444
496
enum Protocol {
445
- option deprecated = true ; // still used by pulumi-defang provider
497
+ option deprecated = true ; // still used by pulumi-defang provider in state files
446
498
ANY = 0 ; // unspecified means any protocol
447
499
UDP = 1 ;
448
500
TCP = 2 ;
@@ -452,13 +504,13 @@ enum Protocol {
452
504
}
453
505
454
506
enum Mode {
455
- option deprecated = true ; // still used by pulumi-defang provider
507
+ option deprecated = true ; // still used by pulumi-defang provider in state files
456
508
HOST = 0 ; // no load-balancer; suitable for internal services and functions
457
509
INGRESS = 1 ; // with load-balancer; suitable for public services
458
510
}
459
511
460
512
message Port {
461
- option deprecated = true ; // still used by pulumi-defang provider
513
+ option deprecated = true ; // still used by pulumi-defang provider in state files
462
514
uint32 target = 1 ;
463
515
Protocol protocol = 2 ;
464
516
Mode mode = 3 ; // load-balanced (ingress) or not (host)
@@ -468,13 +520,13 @@ message Port {
468
520
}
469
521
470
522
message Secret {
471
- option deprecated = true ; // still used by pulumi-defang provider
523
+ option deprecated = true ; // still used by pulumi-defang provider in state files
472
524
string source = 1 ; // name of the secret
473
525
// string target = 2;
474
526
}
475
527
476
528
message Build {
477
- option deprecated = true ; // still used by pulumi-defang provider
529
+ option deprecated = true ; // still used by pulumi-defang provider in state files
478
530
string context = 1 ; // path or URL to the build context
479
531
string dockerfile = 2 ; // path to the Dockerfile
480
532
map <string , string > args = 3 ; // build-time variables
@@ -483,22 +535,22 @@ message Build {
483
535
}
484
536
485
537
message HealthCheck {
486
- option deprecated = true ; // still used by pulumi-defang provider
538
+ option deprecated = true ; // still used by pulumi-defang provider in state files
487
539
repeated string test = 1 ;
488
540
uint32 interval = 2 ; // in seconds
489
541
uint32 timeout = 3 ; // in seconds; must be less than interval
490
542
uint32 retries = 4 ;
491
543
}
492
544
493
545
enum Network {
494
- option deprecated = true ; // still used by pulumi-defang provider
546
+ option deprecated = true ; // still used by pulumi-defang provider in state files
495
547
UNSPECIFIED = 0 ; // was: internal=false
496
548
PRIVATE = 1 ; // was: internal=true
497
549
PUBLIC = 2 ;
498
550
}
499
551
500
552
message Service {
501
- option deprecated = true ; // still used by pulumi-defang provider
553
+ option deprecated = true ; // still used by pulumi-defang provider in state files
502
554
string name = 1 ;
503
555
string image = 2 ;
504
556
Platform platform = 3 ;
@@ -522,7 +574,7 @@ message Service {
522
574
}
523
575
524
576
message StaticFiles {
525
- option deprecated = true ; // still used by pulumi-defang provider
577
+ option deprecated = true ; // still used by pulumi-defang provider in state files
526
578
string folder = 1 ;
527
579
repeated string redirects = 2 ;
528
580
}
@@ -580,16 +632,21 @@ message DelegateSubdomainZoneResponse { string zone = 1; }
580
632
581
633
enum SubscriptionTier {
582
634
SUBSCRIPTION_TIER_UNSPECIFIED = 0 ;
583
- PERSONAL = 1 ;
584
- BASIC = 2 ;
635
+ HOBBY = 1 ;
636
+ PERSONAL = 2 ;
585
637
PRO = 3 ;
586
638
TEAM = 4 ;
587
639
}
588
640
641
+ message SetOptionsRequest {
642
+ bool training_opt_out = 1 ; // only valid for Pro users
643
+ }
644
+
589
645
message WhoAmIResponse {
590
646
string tenant = 1 ;
591
647
string account = 2 ;
592
648
string region = 3 ;
593
649
string user_id = 4 ;
594
650
SubscriptionTier tier = 5 ;
651
+ bool training_opt_out = 6 ;
595
652
}
0 commit comments