@@ -11,173 +11,173 @@ message Empty {}
1111
1212// AcquiredJob is returned when a provisioner daemon has a job locked.
1313message AcquiredJob {
14- message WorkspaceBuild {
15- reserved 3 ;
16-
17- string workspace_build_id = 1 ;
18- string workspace_name = 2 ;
19- repeated provisioner.RichParameterValue rich_parameter_values = 4 ;
20- repeated provisioner.VariableValue variable_values = 5 ;
21- repeated provisioner.ExternalAuthProvider external_auth_providers = 6 ;
22- provisioner.Metadata metadata = 7 ;
23- bytes state = 8 ;
24- string log_level = 9 ;
25- // previous_parameter_values is used to pass the values of the previous
26- // workspace build. Omit these values if the workspace is being created
27- // for the first time.
28- repeated provisioner.RichParameterValue previous_parameter_values = 10 ;
29- }
30- message TemplateImport {
31- provisioner.Metadata metadata = 1 ;
32- repeated provisioner.VariableValue user_variable_values = 2 ;
33- }
34- message TemplateDryRun {
35- reserved 1 ;
36-
37- repeated provisioner.RichParameterValue rich_parameter_values = 2 ;
38- repeated provisioner.VariableValue variable_values = 3 ;
39- provisioner.Metadata metadata = 4 ;
40- }
41-
42- string job_id = 1 ;
43- int64 created_at = 2 ;
44- string provisioner = 3 ;
45- string user_name = 4 ;
46- bytes template_source_archive = 5 ;
47- oneof type {
48- WorkspaceBuild workspace_build = 6 ;
49- TemplateImport template_import = 7 ;
50- TemplateDryRun template_dry_run = 8 ;
51- }
52- // trace_metadata is currently used for tracing information only. It allows
53- // jobs to be tied to the request that created them.
54- map <string ,string >trace_metadata = 9 ;
14+ message WorkspaceBuild {
15+ reserved 3 ;
16+
17+ string workspace_build_id = 1 ;
18+ string workspace_name = 2 ;
19+ repeated provisioner.RichParameterValue rich_parameter_values = 4 ;
20+ repeated provisioner.VariableValue variable_values = 5 ;
21+ repeated provisioner.ExternalAuthProvider external_auth_providers = 6 ;
22+ provisioner.Metadata metadata = 7 ;
23+ bytes state = 8 ;
24+ string log_level = 9 ;
25+ // previous_parameter_values is used to pass the values of the previous
26+ // workspace build. Omit these values if the workspace is being created
27+ // for the first time.
28+ repeated provisioner.RichParameterValue previous_parameter_values = 10 ;
29+ }
30+ message TemplateImport {
31+ provisioner.Metadata metadata = 1 ;
32+ repeated provisioner.VariableValue user_variable_values = 2 ;
33+ }
34+ message TemplateDryRun {
35+ reserved 1 ;
36+
37+ repeated provisioner.RichParameterValue rich_parameter_values = 2 ;
38+ repeated provisioner.VariableValue variable_values = 3 ;
39+ provisioner.Metadata metadata = 4 ;
40+ }
41+
42+ string job_id = 1 ;
43+ int64 created_at = 2 ;
44+ string provisioner = 3 ;
45+ string user_name = 4 ;
46+ bytes template_source_archive = 5 ;
47+ oneof type {
48+ WorkspaceBuild workspace_build = 6 ;
49+ TemplateImport template_import = 7 ;
50+ TemplateDryRun template_dry_run = 8 ;
51+ }
52+ // trace_metadata is currently used for tracing information only. It allows
53+ // jobs to be tied to the request that created them.
54+ map <string ,string >trace_metadata = 9 ;
5555}
5656
5757message FailedJob {
58- message WorkspaceBuild {
59- bytes state = 1 ;
60- repeated provisioner.Timing timings = 2 ;
61- }
62- message TemplateImport {}
63- message TemplateDryRun {}
64-
65- string job_id = 1 ;
66- string error = 2 ;
67- oneof type {
68- WorkspaceBuild workspace_build = 3 ;
69- TemplateImport template_import = 4 ;
70- TemplateDryRun template_dry_run = 5 ;
71- }
72- string error_code = 6 ;
58+ message WorkspaceBuild {
59+ bytes state = 1 ;
60+ repeated provisioner.Timing timings = 2 ;
61+ }
62+ message TemplateImport {}
63+ message TemplateDryRun {}
64+
65+ string job_id = 1 ;
66+ string error = 2 ;
67+ oneof type {
68+ WorkspaceBuild workspace_build = 3 ;
69+ TemplateImport template_import = 4 ;
70+ TemplateDryRun template_dry_run = 5 ;
71+ }
72+ string error_code = 6 ;
7373}
7474
7575// CompletedJob is sent when the provisioner daemon completes a job.
7676message CompletedJob {
77- message WorkspaceBuild {
78- bytes state = 1 ;
79- repeated provisioner.Resource resources = 2 ;
80- repeated provisioner.Timing timings = 3 ;
81- repeated provisioner.Module modules = 4 ;
82- repeated provisioner.ResourceReplacement resource_replacements = 5 ;
83- }
84- message TemplateImport {
85- repeated provisioner.Resource start_resources = 1 ;
86- repeated provisioner.Resource stop_resources = 2 ;
87- repeated provisioner.RichParameter rich_parameters = 3 ;
88- repeated string external_auth_providers_names = 4 ;
89- repeated provisioner.ExternalAuthProviderResource external_auth_providers = 5 ;
90- repeated provisioner.Module start_modules = 6 ;
91- repeated provisioner.Module stop_modules = 7 ;
92- repeated provisioner.Preset presets = 8 ;
93- bytes plan = 9 ;
94- bytes module_files = 10 ;
95- }
96- message TemplateDryRun {
97- repeated provisioner.Resource resources = 1 ;
98- repeated provisioner.Module modules = 2 ;
99- }
100-
101- string job_id = 1 ;
102- oneof type {
103- WorkspaceBuild workspace_build = 2 ;
104- TemplateImport template_import = 3 ;
105- TemplateDryRun template_dry_run = 4 ;
106- }
77+ message WorkspaceBuild {
78+ bytes state = 1 ;
79+ repeated provisioner.Resource resources = 2 ;
80+ repeated provisioner.Timing timings = 3 ;
81+ repeated provisioner.Module modules = 4 ;
82+ repeated provisioner.ResourceReplacement resource_replacements = 5 ;
83+ }
84+ message TemplateImport {
85+ repeated provisioner.Resource start_resources = 1 ;
86+ repeated provisioner.Resource stop_resources = 2 ;
87+ repeated provisioner.RichParameter rich_parameters = 3 ;
88+ repeated string external_auth_providers_names = 4 ;
89+ repeated provisioner.ExternalAuthProviderResource external_auth_providers = 5 ;
90+ repeated provisioner.Module start_modules = 6 ;
91+ repeated provisioner.Module stop_modules = 7 ;
92+ repeated provisioner.Preset presets = 8 ;
93+ bytes plan = 9 ;
94+ bytes module_files = 10 ;
95+ }
96+ message TemplateDryRun {
97+ repeated provisioner.Resource resources = 1 ;
98+ repeated provisioner.Module modules = 2 ;
99+ }
100+
101+ string job_id = 1 ;
102+ oneof type {
103+ WorkspaceBuild workspace_build = 2 ;
104+ TemplateImport template_import = 3 ;
105+ TemplateDryRun template_dry_run = 4 ;
106+ }
107107}
108108
109109// LogSource represents the sender of the log.
110110enum LogSource {
111- PROVISIONER_DAEMON = 0 ;
112- PROVISIONER = 1 ;
111+ PROVISIONER_DAEMON = 0 ;
112+ PROVISIONER = 1 ;
113113}
114114
115115// Log represents output from a job.
116116message Log {
117- LogSource source = 1 ;
118- provisioner.LogLevel level = 2 ;
119- int64 created_at = 3 ;
120- string stage = 4 ;
121- string output = 5 ;
117+ LogSource source = 1 ;
118+ provisioner.LogLevel level = 2 ;
119+ int64 created_at = 3 ;
120+ string stage = 4 ;
121+ string output = 5 ;
122122}
123123
124124// This message should be sent periodically as a heartbeat.
125125message UpdateJobRequest {
126- reserved 3 ;
127-
128- string job_id = 1 ;
129- repeated Log logs = 2 ;
130- repeated provisioner.TemplateVariable template_variables = 4 ;
131- repeated provisioner.VariableValue user_variable_values = 5 ;
132- bytes readme = 6 ;
133- map <string ,string >workspace_tags = 7 ;
126+ reserved 3 ;
127+
128+ string job_id = 1 ;
129+ repeated Log logs = 2 ;
130+ repeated provisioner.TemplateVariable template_variables = 4 ;
131+ repeated provisioner.VariableValue user_variable_values = 5 ;
132+ bytes readme = 6 ;
133+ map <string ,string >workspace_tags = 7 ;
134134}
135135
136136message UpdateJobResponse {
137- reserved 2 ;
137+ reserved 2 ;
138138
139- bool canceled = 1 ;
140- repeated provisioner.VariableValue variable_values = 3 ;
139+ bool canceled = 1 ;
140+ repeated provisioner.VariableValue variable_values = 3 ;
141141}
142142
143143message CommitQuotaRequest {
144- string job_id = 1 ;
145- int32 daily_cost = 2 ;
144+ string job_id = 1 ;
145+ int32 daily_cost = 2 ;
146146}
147147
148148message CommitQuotaResponse {
149- bool ok = 1 ;
150- int32 credits_consumed = 2 ;
151- int32 budget = 3 ;
149+ bool ok = 1 ;
150+ int32 credits_consumed = 2 ;
151+ int32 budget = 3 ;
152152}
153153
154154message CancelAcquire {}
155155
156156service ProvisionerDaemon {
157- // AcquireJob requests a job. Implementations should
158- // hold a lock on the job until CompleteJob() is
159- // called with the matching ID.
160- rpc AcquireJob (Empty )returns (AcquiredJob ) {
161- option deprecated = true ;
162- };
163- // AcquireJobWithCancel requests a job, blocking until
164- // a job is available or the client sends CancelAcquire.
165- // Server will send exactly one AcquiredJob, which is
166- // empty if a cancel was successful. This RPC is a bidirectional
167- // stream since both messages are asynchronous with no implied
168- // ordering.
169- rpc AcquireJobWithCancel (stream CancelAcquire )returns (stream AcquiredJob );
170-
171- rpc CommitQuota (CommitQuotaRequest )returns (CommitQuotaResponse );
172-
173- // UpdateJob streams periodic updates for a job.
174- // Implementations should buffer logs so this stream
175- // is non-blocking.
176- rpc UpdateJob (UpdateJobRequest )returns (UpdateJobResponse );
177-
178- // FailJob indicates a job has failed.
179- rpc FailJob (FailedJob )returns (Empty );
180-
181- // CompleteJob indicates a job has been completed.
182- rpc CompleteJob (CompletedJob )returns (Empty );
157+ // AcquireJob requests a job. Implementations should
158+ // hold a lock on the job until CompleteJob() is
159+ // called with the matching ID.
160+ rpc AcquireJob (Empty )returns (AcquiredJob ) {
161+ option deprecated = true ;
162+ };
163+ // AcquireJobWithCancel requests a job, blocking until
164+ // a job is available or the client sends CancelAcquire.
165+ // Server will send exactly one AcquiredJob, which is
166+ // empty if a cancel was successful. This RPC is a bidirectional
167+ // stream since both messages are asynchronous with no implied
168+ // ordering.
169+ rpc AcquireJobWithCancel (stream CancelAcquire )returns (stream AcquiredJob );
170+
171+ rpc CommitQuota (CommitQuotaRequest )returns (CommitQuotaResponse );
172+
173+ // UpdateJob streams periodic updates for a job.
174+ // Implementations should buffer logs so this stream
175+ // is non-blocking.
176+ rpc UpdateJob (UpdateJobRequest )returns (UpdateJobResponse );
177+
178+ // FailJob indicates a job has failed.
179+ rpc FailJob (FailedJob )returns (Empty );
180+
181+ // CompleteJob indicates a job has been completed.
182+ rpc CompleteJob (CompletedJob )returns (Empty );
183183}