1#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct Plan {
4 #[prost(string, tag = "1")]
5 pub rid: ::prost::alloc::string::String,
6 #[prost(message, optional, tag = "2")]
7 pub metadata: ::core::option::Option<PlanMetadata>,
8 #[prost(message, optional, tag = "3")]
9 pub commit: ::core::option::Option<super::super::versioning::v1::Commit>,
10 #[prost(message, optional, tag = "4")]
11 pub content: ::core::option::Option<PlanContent>,
12}
13#[derive(Clone, PartialEq, ::prost::Message)]
14pub struct PlanSummary {
15 #[prost(string, tag = "1")]
16 pub rid: ::prost::alloc::string::String,
17 #[prost(message, optional, tag = "2")]
18 pub metadata: ::core::option::Option<PlanMetadata>,
19 #[prost(message, optional, tag = "3")]
20 pub start: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
21 #[prost(message, optional, tag = "4")]
22 pub end: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
23 #[prost(message, optional, tag = "5")]
24 pub earliest_scheduled_start: ::core::option::Option<
25 super::super::super::google::protobuf::Timestamp,
26 >,
27 #[prost(message, optional, tag = "6")]
28 pub latest_scheduled_end: ::core::option::Option<
29 super::super::super::google::protobuf::Timestamp,
30 >,
31}
32#[derive(Clone, PartialEq, ::prost::Message)]
33pub struct PlanMetadata {
34 #[prost(string, tag = "1")]
35 pub title: ::prost::alloc::string::String,
36 #[prost(string, tag = "2")]
37 pub description: ::prost::alloc::string::String,
38 #[prost(string, repeated, tag = "3")]
39 pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
40 #[prost(map = "string, string", tag = "4")]
41 pub properties: ::std::collections::HashMap<
42 ::prost::alloc::string::String,
43 ::prost::alloc::string::String,
44 >,
45 #[prost(bool, tag = "5")]
46 pub is_archived: bool,
47 #[prost(bool, optional, tag = "6")]
48 pub is_published: ::core::option::Option<bool>,
49 #[prost(string, tag = "7")]
50 pub created_by: ::prost::alloc::string::String,
51 #[prost(message, optional, tag = "8")]
52 pub created_at: ::core::option::Option<
53 super::super::super::google::protobuf::Timestamp,
54 >,
55 #[prost(message, optional, tag = "9")]
56 pub updated_at: ::core::option::Option<
57 super::super::super::google::protobuf::Timestamp,
58 >,
59 #[prost(message, optional, tag = "10")]
60 pub edited_at: ::core::option::Option<
61 super::super::super::google::protobuf::Timestamp,
62 >,
63 #[prost(string, tag = "11")]
64 pub workspace_rid: ::prost::alloc::string::String,
65 #[prost(string, tag = "12")]
66 pub updated_by: ::prost::alloc::string::String,
67 #[prost(message, optional, tag = "13")]
68 pub status: ::core::option::Option<PlanStatus>,
69}
70#[derive(Clone, Copy, PartialEq, ::prost::Message)]
71pub struct PlanStatus {
72 #[prost(oneof = "plan_status::PlanStatus", tags = "1, 2, 3")]
73 pub plan_status: ::core::option::Option<plan_status::PlanStatus>,
74}
75pub mod plan_status {
77 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
78 pub enum PlanStatus {
79 #[prost(message, tag = "1")]
80 Open(super::OpenPlan),
81 #[prost(message, tag = "2")]
82 Completed(super::CompletedPlan),
83 #[prost(message, tag = "3")]
84 Cancelled(super::CancelledPlan),
85 }
86}
87#[derive(Clone, Copy, PartialEq, ::prost::Message)]
88pub struct OpenPlan {}
89#[derive(Clone, Copy, PartialEq, ::prost::Message)]
90pub struct CompletedPlan {}
91#[derive(Clone, Copy, PartialEq, ::prost::Message)]
92pub struct CancelledPlan {}
93#[derive(Clone, PartialEq, ::prost::Message)]
94pub struct PlanContent {
95 #[prost(oneof = "plan_content::PlanContent", tags = "1")]
96 pub plan_content: ::core::option::Option<plan_content::PlanContent>,
97}
98pub mod plan_content {
100 #[derive(Clone, PartialEq, ::prost::Oneof)]
101 pub enum PlanContent {
102 #[prost(message, tag = "1")]
103 V1(super::PlanContentV1),
104 }
105}
106#[derive(Clone, PartialEq, ::prost::Message)]
107pub struct PlanContentV1 {
108 #[prost(message, optional, tag = "1")]
109 pub start: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
110 #[prost(message, optional, tag = "2")]
111 pub end: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
112 #[prost(message, repeated, tag = "3")]
113 pub objectives: ::prost::alloc::vec::Vec<Objective>,
114 #[prost(message, repeated, tag = "4")]
115 pub activities: ::prost::alloc::vec::Vec<Activity>,
116 #[prost(message, repeated, tag = "5")]
117 pub segments: ::prost::alloc::vec::Vec<Segment>,
118 #[prost(message, repeated, tag = "6")]
119 pub asset_groups: ::prost::alloc::vec::Vec<AssetGroup>,
120 #[prost(message, repeated, tag = "7")]
121 pub milestones: ::prost::alloc::vec::Vec<Milestone>,
122 #[prost(message, repeated, tag = "8")]
123 pub constraints: ::prost::alloc::vec::Vec<Constraint>,
124 #[prost(string, optional, tag = "9")]
125 pub timezone: ::core::option::Option<::prost::alloc::string::String>,
126}
127#[derive(Clone, PartialEq, ::prost::Message)]
128pub struct Milestone {
129 #[prost(string, tag = "1")]
130 pub id: ::prost::alloc::string::String,
131 #[prost(string, tag = "2")]
132 pub name: ::prost::alloc::string::String,
133 #[prost(string, optional, tag = "3")]
134 pub description: ::core::option::Option<::prost::alloc::string::String>,
135}
136#[derive(Clone, PartialEq, ::prost::Message)]
137pub struct Activity {
138 #[prost(string, tag = "1")]
139 pub id: ::prost::alloc::string::String,
140 #[prost(string, tag = "2")]
141 pub name: ::prost::alloc::string::String,
142 #[prost(string, optional, tag = "3")]
143 pub description: ::core::option::Option<::prost::alloc::string::String>,
144 #[prost(message, optional, tag = "4")]
145 pub details: ::core::option::Option<ActivityDetails>,
146 #[prost(message, optional, tag = "5")]
147 pub planned_duration: ::core::option::Option<MinuteDuration>,
148 #[prost(string, repeated, tag = "6")]
149 pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
150 #[prost(map = "string, string", tag = "7")]
151 pub properties: ::std::collections::HashMap<
152 ::prost::alloc::string::String,
153 ::prost::alloc::string::String,
154 >,
155 #[prost(string, repeated, tag = "8")]
156 pub attachment_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
157 #[prost(message, repeated, tag = "9")]
158 pub links: ::prost::alloc::vec::Vec<Link>,
159}
160#[derive(Clone, PartialEq, ::prost::Message)]
161pub struct ActivityDetails {
162 #[prost(oneof = "activity_details::ActivityDetails", tags = "1")]
163 pub activity_details: ::core::option::Option<activity_details::ActivityDetails>,
164}
165pub mod activity_details {
167 #[derive(Clone, PartialEq, ::prost::Oneof)]
168 pub enum ActivityDetails {
169 #[prost(message, tag = "1")]
170 Single(super::SingleActivity),
171 }
172}
173#[derive(Clone, PartialEq, ::prost::Message)]
174pub struct SingleActivity {
175 #[prost(message, optional, tag = "1")]
176 pub start: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
177 #[prost(message, optional, tag = "2")]
178 pub end: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
179 #[prost(string, optional, tag = "3")]
180 pub segment_id: ::core::option::Option<::prost::alloc::string::String>,
181 #[prost(string, repeated, tag = "4")]
182 pub objective_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
183 #[prost(message, optional, tag = "5")]
184 pub status: ::core::option::Option<ActivityStatus>,
185}
186#[derive(Clone, PartialEq, ::prost::Message)]
187pub struct ActivityStatus {
188 #[prost(oneof = "activity_status::ActivityStatus", tags = "1, 2, 3, 4, 5")]
189 pub activity_status: ::core::option::Option<activity_status::ActivityStatus>,
190}
191pub mod activity_status {
193 #[derive(Clone, PartialEq, ::prost::Oneof)]
194 pub enum ActivityStatus {
195 #[prost(message, tag = "1")]
196 Created(super::CreatedActivity),
197 #[prost(message, tag = "2")]
198 Finalized(super::FinalizedActivity),
199 #[prost(message, tag = "3")]
200 InProgress(super::InProgressActivity),
201 #[prost(message, tag = "4")]
202 Completed(super::CompletedActivity),
203 #[prost(message, tag = "5")]
204 Cancelled(super::CancelledActivity),
205 }
206}
207#[derive(Clone, Copy, PartialEq, ::prost::Message)]
208pub struct CreatedActivity {}
209#[derive(Clone, Copy, PartialEq, ::prost::Message)]
210pub struct FinalizedActivity {}
211#[derive(Clone, Copy, PartialEq, ::prost::Message)]
212pub struct InProgressActivity {}
213#[derive(Clone, PartialEq, ::prost::Message)]
214pub struct CompletedActivity {
215 #[prost(string, optional, tag = "1")]
216 pub notes: ::core::option::Option<::prost::alloc::string::String>,
217}
218#[derive(Clone, PartialEq, ::prost::Message)]
219pub struct CancelledActivity {
220 #[prost(string, tag = "1")]
221 pub reason: ::prost::alloc::string::String,
222 #[prost(string, optional, tag = "2")]
223 pub notes: ::core::option::Option<::prost::alloc::string::String>,
224}
225#[derive(Clone, PartialEq, ::prost::Message)]
226pub struct Objective {
227 #[prost(string, tag = "1")]
228 pub id: ::prost::alloc::string::String,
229 #[prost(string, tag = "2")]
230 pub name: ::prost::alloc::string::String,
231 #[prost(string, tag = "3")]
232 pub creator: ::prost::alloc::string::String,
233 #[prost(message, optional, tag = "4")]
234 pub created_at: ::core::option::Option<
235 super::super::super::google::protobuf::Timestamp,
236 >,
237 #[prost(enumeration = "super::super::types::Priority", tag = "5")]
238 pub priority: i32,
239 #[prost(string, repeated, tag = "6")]
240 pub milestone_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
241 #[prost(string, optional, tag = "7")]
242 pub description: ::core::option::Option<::prost::alloc::string::String>,
243 #[prost(message, optional, tag = "8")]
244 pub details: ::core::option::Option<ObjectiveDetails>,
245 #[prost(message, optional, tag = "9")]
246 pub status: ::core::option::Option<ObjectiveStatus>,
247 #[prost(message, optional, tag = "10")]
248 pub planned_duration: ::core::option::Option<MinuteDuration>,
249 #[prost(string, repeated, tag = "11")]
250 pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
251 #[prost(map = "string, string", tag = "12")]
252 pub properties: ::std::collections::HashMap<
253 ::prost::alloc::string::String,
254 ::prost::alloc::string::String,
255 >,
256 #[prost(string, repeated, tag = "13")]
257 pub attachment_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
258 #[prost(message, repeated, tag = "14")]
259 pub links: ::prost::alloc::vec::Vec<Link>,
260}
261#[derive(Clone, PartialEq, ::prost::Message)]
262pub struct ObjectiveStatus {
263 #[prost(oneof = "objective_status::ObjectiveStatus", tags = "1, 2, 3, 4, 5")]
264 pub objective_status: ::core::option::Option<objective_status::ObjectiveStatus>,
265}
266pub mod objective_status {
268 #[derive(Clone, PartialEq, ::prost::Oneof)]
269 pub enum ObjectiveStatus {
270 #[prost(message, tag = "1")]
271 Draft(super::DraftObjective),
272 #[prost(message, tag = "2")]
273 Proposed(super::ProposedObjective),
274 #[prost(message, tag = "3")]
275 Finalized(super::FinalizedObjective),
276 #[prost(message, tag = "4")]
277 Completed(super::CompletedObjective),
278 #[prost(message, tag = "5")]
279 Rejected(super::RejectedObjective),
280 }
281}
282#[derive(Clone, Copy, PartialEq, ::prost::Message)]
283pub struct DraftObjective {}
284#[derive(Clone, Copy, PartialEq, ::prost::Message)]
285pub struct ProposedObjective {}
286#[derive(Clone, Copy, PartialEq, ::prost::Message)]
287pub struct FinalizedObjective {}
288#[derive(Clone, PartialEq, ::prost::Message)]
289pub struct CompletedObjective {
290 #[prost(message, optional, tag = "1")]
291 pub disposition: ::core::option::Option<ObjectiveDisposition>,
292}
293#[derive(Clone, PartialEq, ::prost::Message)]
294pub struct RejectedObjective {
295 #[prost(string, tag = "1")]
296 pub reason: ::prost::alloc::string::String,
297}
298#[derive(Clone, PartialEq, ::prost::Message)]
299pub struct ObjectiveDisposition {
300 #[prost(oneof = "objective_disposition::ObjectiveDisposition", tags = "1, 2")]
301 pub objective_disposition: ::core::option::Option<
302 objective_disposition::ObjectiveDisposition,
303 >,
304}
305pub mod objective_disposition {
307 #[derive(Clone, PartialEq, ::prost::Oneof)]
308 pub enum ObjectiveDisposition {
309 #[prost(message, tag = "1")]
310 Successful(super::SuccessfulObjective),
311 #[prost(message, tag = "2")]
312 Failed(super::FailedObjective),
313 }
314}
315#[derive(Clone, PartialEq, ::prost::Message)]
316pub struct SuccessfulObjective {
317 #[prost(string, optional, tag = "1")]
318 pub notes: ::core::option::Option<::prost::alloc::string::String>,
319}
320#[derive(Clone, PartialEq, ::prost::Message)]
321pub struct FailedObjective {
322 #[prost(string, tag = "1")]
323 pub reason: ::prost::alloc::string::String,
324 #[prost(string, optional, tag = "2")]
325 pub notes: ::core::option::Option<::prost::alloc::string::String>,
326}
327#[derive(Clone, PartialEq, ::prost::Message)]
328pub struct ObjectiveDetails {
329 #[prost(oneof = "objective_details::ObjectiveDetails", tags = "1")]
330 pub objective_details: ::core::option::Option<objective_details::ObjectiveDetails>,
331}
332pub mod objective_details {
334 #[derive(Clone, PartialEq, ::prost::Oneof)]
335 pub enum ObjectiveDetails {
336 #[prost(message, tag = "1")]
337 Simple(super::SimpleObjective),
338 }
339}
340#[derive(Clone, PartialEq, ::prost::Message)]
341pub struct SimpleObjective {
342 #[prost(message, repeated, tag = "1")]
343 pub resources: ::prost::alloc::vec::Vec<Resource>,
344 #[prost(string, repeated, tag = "2")]
345 pub checklist_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
346 #[prost(string, repeated, tag = "3")]
347 pub procedure_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
348}
349#[derive(Clone, PartialEq, ::prost::Message)]
350pub struct Resource {
351 #[prost(string, tag = "1")]
352 pub name: ::prost::alloc::string::String,
353 #[prost(string, optional, tag = "2")]
354 pub description: ::core::option::Option<::prost::alloc::string::String>,
355 #[prost(int32, optional, tag = "3")]
356 pub count: ::core::option::Option<i32>,
357 #[prost(message, optional, tag = "4")]
358 pub candidate_assets: ::core::option::Option<CandidateAssetGroup>,
359 #[prost(string, repeated, tag = "5")]
360 pub finalized_asset_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
361 #[prost(string, tag = "6")]
362 pub id: ::prost::alloc::string::String,
363 #[prost(string, repeated, tag = "7")]
364 pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
365 #[prost(map = "string, string", tag = "8")]
366 pub properties: ::std::collections::HashMap<
367 ::prost::alloc::string::String,
368 ::prost::alloc::string::String,
369 >,
370}
371#[derive(Clone, PartialEq, ::prost::Message)]
372pub struct CandidateAssetGroup {
373 #[prost(oneof = "candidate_asset_group::CandidateAssetGroup", tags = "1, 2")]
374 pub candidate_asset_group: ::core::option::Option<
375 candidate_asset_group::CandidateAssetGroup,
376 >,
377}
378pub mod candidate_asset_group {
380 #[derive(Clone, PartialEq, ::prost::Oneof)]
381 pub enum CandidateAssetGroup {
382 #[prost(message, tag = "1")]
383 Sources(super::AssetSourceList),
384 #[prost(string, tag = "2")]
385 AssetGroupId(::prost::alloc::string::String),
386 }
387}
388#[derive(Clone, PartialEq, ::prost::Message)]
389pub struct AssetSourceList {
390 #[prost(message, repeated, tag = "1")]
391 pub sources: ::prost::alloc::vec::Vec<AssetSource>,
392}
393#[derive(Clone, PartialEq, ::prost::Message)]
394pub struct AssetGroup {
395 #[prost(string, tag = "1")]
396 pub id: ::prost::alloc::string::String,
397 #[prost(string, tag = "2")]
398 pub name: ::prost::alloc::string::String,
399 #[prost(string, optional, tag = "3")]
400 pub description: ::core::option::Option<::prost::alloc::string::String>,
401 #[prost(message, repeated, tag = "4")]
402 pub sources: ::prost::alloc::vec::Vec<AssetSource>,
403}
404#[derive(Clone, PartialEq, ::prost::Message)]
405pub struct AssetSource {
406 #[prost(oneof = "asset_source::AssetSource", tags = "1, 2")]
407 pub asset_source: ::core::option::Option<asset_source::AssetSource>,
408}
409pub mod asset_source {
411 #[derive(Clone, PartialEq, ::prost::Oneof)]
412 pub enum AssetSource {
413 #[prost(message, tag = "1")]
414 AssetSearch(super::super::super::asset::v2::SearchAssetsQuery),
415 #[prost(string, tag = "2")]
416 AssetRid(::prost::alloc::string::String),
417 }
418}
419#[derive(Clone, PartialEq, ::prost::Message)]
420pub struct Segment {
421 #[prost(string, tag = "1")]
422 pub id: ::prost::alloc::string::String,
423 #[prost(string, tag = "2")]
424 pub name: ::prost::alloc::string::String,
425 #[prost(message, optional, tag = "3")]
426 pub start: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
427 #[prost(message, optional, tag = "4")]
428 pub end: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
429 #[prost(message, optional, tag = "5")]
430 pub status: ::core::option::Option<SegmentStatus>,
431 #[prost(string, repeated, tag = "6")]
432 pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
433 #[prost(map = "string, string", tag = "7")]
434 pub properties: ::std::collections::HashMap<
435 ::prost::alloc::string::String,
436 ::prost::alloc::string::String,
437 >,
438}
439#[derive(Clone, Copy, PartialEq, ::prost::Message)]
440pub struct SegmentStatus {
441 #[prost(oneof = "segment_status::SegmentStatus", tags = "1, 2")]
442 pub segment_status: ::core::option::Option<segment_status::SegmentStatus>,
443}
444pub mod segment_status {
446 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
447 pub enum SegmentStatus {
448 #[prost(message, tag = "1")]
449 Draft(super::DraftSegment),
450 #[prost(message, tag = "2")]
451 Finalized(super::FinalizedSegment),
452 }
453}
454#[derive(Clone, Copy, PartialEq, ::prost::Message)]
455pub struct DraftSegment {}
456#[derive(Clone, Copy, PartialEq, ::prost::Message)]
457pub struct FinalizedSegment {}
458#[derive(Clone, PartialEq, ::prost::Message)]
459pub struct Link {
460 #[prost(string, optional, tag = "1")]
461 pub title: ::core::option::Option<::prost::alloc::string::String>,
462 #[prost(string, tag = "2")]
463 pub url: ::prost::alloc::string::String,
464}
465#[derive(Clone, Copy, PartialEq, ::prost::Message)]
466pub struct MinuteDuration {
467 #[prost(message, optional, tag = "1")]
468 pub value: ::core::option::Option<super::super::types::Duration>,
469}
470#[derive(Clone, PartialEq, ::prost::Message)]
471pub struct Constraint {
472 #[prost(string, tag = "1")]
473 pub id: ::prost::alloc::string::String,
474 #[prost(string, tag = "2")]
475 pub name: ::prost::alloc::string::String,
476 #[prost(message, repeated, tag = "3")]
477 pub subjects: ::prost::alloc::vec::Vec<ConstraintSubject>,
478 #[prost(message, optional, tag = "4")]
479 pub kind: ::core::option::Option<ConstraintKind>,
480}
481#[derive(Clone, PartialEq, ::prost::Message)]
482pub struct ConstraintSubject {
483 #[prost(oneof = "constraint_subject::Subject", tags = "1, 2, 3, 4, 5, 6, 7")]
484 pub subject: ::core::option::Option<constraint_subject::Subject>,
485}
486pub mod constraint_subject {
488 #[derive(Clone, PartialEq, ::prost::Oneof)]
489 pub enum Subject {
490 #[prost(string, tag = "1")]
491 ActivityId(::prost::alloc::string::String),
492 #[prost(string, tag = "2")]
493 ObjectiveId(::prost::alloc::string::String),
494 #[prost(string, tag = "3")]
495 ResourceId(::prost::alloc::string::String),
496 #[prost(string, tag = "4")]
497 AssetGroupId(::prost::alloc::string::String),
498 #[prost(string, tag = "5")]
499 AssetRid(::prost::alloc::string::String),
500 #[prost(message, tag = "6")]
501 PlanWide(super::PlanWide),
502 #[prost(string, tag = "7")]
503 SegmentId(::prost::alloc::string::String),
504 }
505}
506#[derive(Clone, Copy, PartialEq, ::prost::Message)]
507pub struct PlanWide {}
508#[derive(Clone, PartialEq, ::prost::Message)]
509pub struct ConstraintKind {
510 #[prost(oneof = "constraint_kind::Kind", tags = "1, 2, 3, 4, 5, 6")]
511 pub kind: ::core::option::Option<constraint_kind::Kind>,
512}
513pub mod constraint_kind {
515 #[derive(Clone, PartialEq, ::prost::Oneof)]
516 pub enum Kind {
517 #[prost(message, tag = "1")]
518 AllowedWindows(super::AllowedWindowsConstraint),
519 #[prost(message, tag = "2")]
520 Capacity(super::CapacityConstraint),
521 #[prost(message, tag = "3")]
522 Buffer(super::BufferConstraint),
523 #[prost(message, tag = "4")]
524 UsageCeiling(super::UsageCeilingConstraint),
525 #[prost(message, tag = "5")]
526 Precedence(super::PrecedenceConstraint),
527 #[prost(message, tag = "6")]
528 MutualExclusion(super::MutualExclusionConstraint),
529 }
530}
531#[derive(Clone, PartialEq, ::prost::Message)]
532pub struct AllowedWindowsConstraint {
533 #[prost(oneof = "allowed_windows_constraint::AllowedWindowsConstraint", tags = "1")]
534 pub allowed_windows_constraint: ::core::option::Option<
535 allowed_windows_constraint::AllowedWindowsConstraint,
536 >,
537}
538pub mod allowed_windows_constraint {
540 #[derive(Clone, PartialEq, ::prost::Oneof)]
541 pub enum AllowedWindowsConstraint {
542 #[prost(message, tag = "1")]
543 Explicit(super::ExplicitWindows),
544 }
545}
546#[derive(Clone, PartialEq, ::prost::Message)]
547pub struct ExplicitWindows {
548 #[prost(string, repeated, tag = "1")]
549 pub segment_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
550 #[prost(message, repeated, tag = "2")]
551 pub ranges: ::prost::alloc::vec::Vec<TimeRange>,
552}
553#[derive(Clone, Copy, PartialEq, ::prost::Message)]
554pub struct TimeRange {
555 #[prost(message, optional, tag = "1")]
556 pub start: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
557 #[prost(message, optional, tag = "2")]
558 pub end: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
559}
560#[derive(Clone, Copy, PartialEq, ::prost::Message)]
561pub struct CapacityConstraint {
562 #[prost(oneof = "capacity_constraint::CapacityConstraint", tags = "1")]
563 pub capacity_constraint: ::core::option::Option<
564 capacity_constraint::CapacityConstraint,
565 >,
566}
567pub mod capacity_constraint {
569 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
570 pub enum CapacityConstraint {
571 #[prost(message, tag = "1")]
572 Uniform(super::UniformCapacity),
573 }
574}
575#[derive(Clone, Copy, PartialEq, ::prost::Message)]
576pub struct UniformCapacity {
577 #[prost(int32, tag = "1")]
578 pub capacity: i32,
579}
580#[derive(Clone, Copy, PartialEq, ::prost::Message)]
581pub struct BufferConstraint {
582 #[prost(oneof = "buffer_constraint::BufferConstraint", tags = "1")]
583 pub buffer_constraint: ::core::option::Option<buffer_constraint::BufferConstraint>,
584}
585pub mod buffer_constraint {
587 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
588 pub enum BufferConstraint {
589 #[prost(message, tag = "1")]
590 Fixed(super::FixedBuffer),
591 }
592}
593#[derive(Clone, Copy, PartialEq, ::prost::Message)]
594pub struct FixedBuffer {
595 #[prost(message, optional, tag = "1")]
596 pub min_gap: ::core::option::Option<MinuteDuration>,
597}
598#[derive(Clone, Copy, PartialEq, ::prost::Message)]
599pub struct UsageCeilingConstraint {
600 #[prost(oneof = "usage_ceiling_constraint::UsageCeilingConstraint", tags = "1")]
601 pub usage_ceiling_constraint: ::core::option::Option<
602 usage_ceiling_constraint::UsageCeilingConstraint,
603 >,
604}
605pub mod usage_ceiling_constraint {
607 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
608 pub enum UsageCeilingConstraint {
609 #[prost(message, tag = "1")]
610 PerCalendarDay(super::DailyUsageCeiling),
611 }
612}
613#[derive(Clone, Copy, PartialEq, ::prost::Message)]
614pub struct DailyUsageCeiling {
615 #[prost(message, optional, tag = "1")]
616 pub max_duration: ::core::option::Option<MinuteDuration>,
617 #[prost(int32, optional, tag = "2")]
618 pub max_count: ::core::option::Option<i32>,
619}
620#[derive(Clone, PartialEq, ::prost::Message)]
621pub struct PrecedenceConstraint {
622 #[prost(oneof = "precedence_constraint::PrecedenceConstraint", tags = "1")]
623 pub precedence_constraint: ::core::option::Option<
624 precedence_constraint::PrecedenceConstraint,
625 >,
626}
627pub mod precedence_constraint {
629 #[derive(Clone, PartialEq, ::prost::Oneof)]
630 pub enum PrecedenceConstraint {
631 #[prost(message, tag = "1")]
632 After(super::ConstraintSubject),
633 }
634}
635#[derive(Clone, Copy, PartialEq, ::prost::Message)]
636pub struct MutualExclusionConstraint {
637 #[prost(
638 oneof = "mutual_exclusion_constraint::MutualExclusionConstraint",
639 tags = "1"
640 )]
641 pub mutual_exclusion_constraint: ::core::option::Option<
642 mutual_exclusion_constraint::MutualExclusionConstraint,
643 >,
644}
645pub mod mutual_exclusion_constraint {
647 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
648 pub enum MutualExclusionConstraint {
649 #[prost(message, tag = "1")]
650 NoOverlap(super::NoOverlap),
651 }
652}
653#[derive(Clone, Copy, PartialEq, ::prost::Message)]
654pub struct NoOverlap {}
655#[derive(Clone, PartialEq, ::prost::Message)]
656pub struct CreatePlanRequest {
657 #[prost(message, optional, tag = "1")]
658 pub plan: ::core::option::Option<Plan>,
659 #[prost(string, tag = "2")]
660 pub message: ::prost::alloc::string::String,
661}
662#[derive(Clone, PartialEq, ::prost::Message)]
663pub struct CreatePlanResponse {
664 #[prost(message, optional, tag = "1")]
665 pub plan: ::core::option::Option<Plan>,
666}
667#[derive(Clone, PartialEq, ::prost::Message)]
668pub struct GetPlanRequest {
669 #[prost(string, tag = "1")]
670 pub plan_rid: ::prost::alloc::string::String,
671 #[prost(message, optional, tag = "2")]
672 pub at: ::core::option::Option<super::super::versioning::v1::BranchOrCommit>,
673}
674#[derive(Clone, PartialEq, ::prost::Message)]
675pub struct GetPlanResponse {
676 #[prost(message, optional, tag = "1")]
677 pub plan: ::core::option::Option<Plan>,
678}
679#[derive(Clone, PartialEq, ::prost::Message)]
680pub struct BatchGetPlansRequest {
681 #[prost(string, repeated, tag = "1")]
682 pub plan_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
683}
684#[derive(Clone, PartialEq, ::prost::Message)]
685pub struct BatchGetPlansResponse {
686 #[prost(message, repeated, tag = "1")]
687 pub plans: ::prost::alloc::vec::Vec<Plan>,
688}
689#[derive(Clone, PartialEq, ::prost::Message)]
690pub struct CreatePlanCommitRequest {
691 #[prost(string, tag = "1")]
692 pub plan_rid: ::prost::alloc::string::String,
693 #[prost(message, optional, tag = "2")]
694 pub content: ::core::option::Option<PlanContent>,
695 #[prost(string, optional, tag = "3")]
696 pub branch: ::core::option::Option<::prost::alloc::string::String>,
697 #[prost(string, tag = "4")]
698 pub message: ::prost::alloc::string::String,
699 #[prost(bool, tag = "5")]
700 pub is_working_state: bool,
701 #[prost(string, optional, tag = "6")]
702 pub expected_latest_commit: ::core::option::Option<::prost::alloc::string::String>,
703}
704#[derive(Clone, PartialEq, ::prost::Message)]
705pub struct CreatePlanCommitResponse {
706 #[prost(message, optional, tag = "1")]
707 pub plan: ::core::option::Option<Plan>,
708}
709#[derive(Clone, PartialEq, ::prost::Message)]
710pub struct UpdatePlanMetadataRequest {
711 #[prost(string, tag = "1")]
712 pub plan_rid: ::prost::alloc::string::String,
713 #[prost(string, optional, tag = "2")]
714 pub title: ::core::option::Option<::prost::alloc::string::String>,
715 #[prost(string, optional, tag = "3")]
716 pub description: ::core::option::Option<::prost::alloc::string::String>,
717 #[prost(message, optional, tag = "4")]
718 pub labels: ::core::option::Option<super::super::types::LabelUpdateWrapper>,
719 #[prost(message, optional, tag = "5")]
720 pub properties: ::core::option::Option<super::super::types::PropertyUpdateWrapper>,
721 #[prost(bool, optional, tag = "6")]
722 pub is_archived: ::core::option::Option<bool>,
723 #[prost(bool, optional, tag = "7")]
724 pub is_published: ::core::option::Option<bool>,
725 #[prost(message, optional, tag = "8")]
726 pub status: ::core::option::Option<PlanStatus>,
727}
728#[derive(Clone, PartialEq, ::prost::Message)]
729pub struct UpdatePlanMetadataResponse {
730 #[prost(message, optional, tag = "1")]
731 pub metadata: ::core::option::Option<PlanMetadata>,
732}
733#[derive(Clone, PartialEq, ::prost::Message)]
734pub struct SearchPlansQuery {
735 #[prost(
736 oneof = "search_plans_query::Query",
737 tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15"
738 )]
739 pub query: ::core::option::Option<search_plans_query::Query>,
740}
741pub mod search_plans_query {
743 #[derive(Clone, PartialEq, ::prost::Oneof)]
744 pub enum Query {
745 #[prost(message, tag = "1")]
746 And(super::SearchPlansQueryList),
747 #[prost(message, tag = "2")]
748 Or(super::SearchPlansQueryList),
749 #[prost(message, tag = "3")]
750 Not(::prost::alloc::boxed::Box<super::SearchPlansQuery>),
751 #[prost(string, tag = "4")]
752 ExactMatch(::prost::alloc::string::String),
753 #[prost(string, tag = "5")]
754 SearchText(::prost::alloc::string::String),
755 #[prost(message, tag = "6")]
756 Labels(super::super::super::types::LabelsFilter),
757 #[prost(message, tag = "7")]
758 Properties(super::super::super::types::PropertiesFilter),
759 #[prost(string, tag = "8")]
760 CreatedBy(::prost::alloc::string::String),
761 #[prost(bool, tag = "9")]
762 IsArchived(bool),
763 #[prost(bool, tag = "10")]
764 IsPublished(bool),
765 #[prost(bool, tag = "11")]
766 AuthorIsCurrentUser(bool),
767 #[prost(message, tag = "12")]
768 AuthorRids(super::UserRidList),
769 #[prost(string, tag = "13")]
770 WorkspaceRid(::prost::alloc::string::String),
771 #[prost(message, tag = "14")]
772 DateRangeOverlaps(super::PlanDateRangeFilter),
773 #[prost(message, tag = "15")]
774 Status(super::PlanStatus),
775 }
776}
777#[derive(Clone, Copy, PartialEq, ::prost::Message)]
778pub struct PlanDateRangeFilter {
779 #[prost(message, optional, tag = "1")]
780 pub start: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
781 #[prost(message, optional, tag = "2")]
782 pub end: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
783}
784#[derive(Clone, PartialEq, ::prost::Message)]
785pub struct SearchPlansQueryList {
786 #[prost(message, repeated, tag = "1")]
787 pub queries: ::prost::alloc::vec::Vec<SearchPlansQuery>,
788}
789#[derive(Clone, PartialEq, ::prost::Message)]
790pub struct UserRidList {
791 #[prost(string, repeated, tag = "1")]
792 pub user_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
793}
794#[derive(Clone, Copy, PartialEq, ::prost::Message)]
795pub struct PlanSortOptions {
796 #[prost(enumeration = "PlanSortField", tag = "1")]
797 pub field: i32,
798 #[prost(bool, tag = "2")]
799 pub is_descending: bool,
800}
801#[derive(Clone, PartialEq, ::prost::Message)]
802pub struct SearchPlansRequest {
803 #[prost(message, optional, tag = "1")]
804 pub query: ::core::option::Option<SearchPlansQuery>,
805 #[prost(message, optional, tag = "2")]
806 pub sort: ::core::option::Option<PlanSortOptions>,
807 #[prost(string, optional, tag = "3")]
808 pub page_token: ::core::option::Option<::prost::alloc::string::String>,
809 #[prost(int32, optional, tag = "4")]
810 pub page_size: ::core::option::Option<i32>,
811}
812#[derive(Clone, PartialEq, ::prost::Message)]
813pub struct SearchPlansResponse {
814 #[prost(message, repeated, tag = "1")]
815 pub results: ::prost::alloc::vec::Vec<PlanSummary>,
816 #[prost(string, optional, tag = "2")]
817 pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
818}
819#[derive(Clone, PartialEq, ::prost::Message)]
820pub struct ValidatePlanRequest {
821 #[prost(oneof = "validate_plan_request::Source", tags = "1, 2")]
822 pub source: ::core::option::Option<validate_plan_request::Source>,
823}
824pub mod validate_plan_request {
826 #[derive(Clone, PartialEq, ::prost::Oneof)]
827 pub enum Source {
828 #[prost(message, tag = "1")]
829 Plan(super::StoredPlanRevision),
830 #[prost(message, tag = "2")]
831 Content(super::PlanContent),
832 }
833}
834#[derive(Clone, PartialEq, ::prost::Message)]
835pub struct StoredPlanRevision {
836 #[prost(string, tag = "1")]
837 pub plan_rid: ::prost::alloc::string::String,
838 #[prost(message, optional, tag = "2")]
839 pub at: ::core::option::Option<super::super::versioning::v1::BranchOrCommit>,
840}
841#[derive(Clone, PartialEq, ::prost::Message)]
842pub struct ValidatePlanResponse {
843 #[prost(message, repeated, tag = "1")]
844 pub violations: ::prost::alloc::vec::Vec<PlanViolation>,
845 #[prost(bool, tag = "2")]
846 pub is_truncated: bool,
847 #[prost(message, optional, tag = "3")]
848 pub commit: ::core::option::Option<super::super::versioning::v1::Commit>,
849}
850#[derive(Clone, PartialEq, ::prost::Message)]
851pub struct PlanViolation {
852 #[prost(enumeration = "PlanViolationSeverity", tag = "1")]
853 pub severity: i32,
854 #[prost(string, tag = "2")]
855 pub code: ::prost::alloc::string::String,
856 #[prost(string, tag = "3")]
857 pub message: ::prost::alloc::string::String,
858 #[prost(message, repeated, tag = "4")]
859 pub subjects: ::prost::alloc::vec::Vec<PlanViolationSubject>,
860}
861#[derive(Clone, PartialEq, ::prost::Message)]
862pub struct PlanViolationSubject {
863 #[prost(enumeration = "PlanElementKind", tag = "1")]
864 pub kind: i32,
865 #[prost(string, tag = "2")]
866 pub id: ::prost::alloc::string::String,
867 #[prost(string, tag = "3")]
868 pub path: ::prost::alloc::string::String,
869}
870#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
871#[repr(i32)]
872pub enum PlanSortField {
873 Unspecified = 0,
874 Name = 1,
875 CreatedAt = 2,
876 EditedAt = 3,
877 StartDate = 4,
878 EndDate = 5,
879}
880impl PlanSortField {
881 pub fn as_str_name(&self) -> &'static str {
886 match self {
887 Self::Unspecified => "PLAN_SORT_FIELD_UNSPECIFIED",
888 Self::Name => "NAME",
889 Self::CreatedAt => "CREATED_AT",
890 Self::EditedAt => "EDITED_AT",
891 Self::StartDate => "START_DATE",
892 Self::EndDate => "END_DATE",
893 }
894 }
895 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
897 match value {
898 "PLAN_SORT_FIELD_UNSPECIFIED" => Some(Self::Unspecified),
899 "NAME" => Some(Self::Name),
900 "CREATED_AT" => Some(Self::CreatedAt),
901 "EDITED_AT" => Some(Self::EditedAt),
902 "START_DATE" => Some(Self::StartDate),
903 "END_DATE" => Some(Self::EndDate),
904 _ => None,
905 }
906 }
907}
908#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
909#[repr(i32)]
910pub enum PlanViolationSeverity {
911 Unspecified = 0,
912 Error = 1,
913 Warning = 2,
914}
915impl PlanViolationSeverity {
916 pub fn as_str_name(&self) -> &'static str {
921 match self {
922 Self::Unspecified => "PLAN_VIOLATION_SEVERITY_UNSPECIFIED",
923 Self::Error => "PLAN_VIOLATION_SEVERITY_ERROR",
924 Self::Warning => "PLAN_VIOLATION_SEVERITY_WARNING",
925 }
926 }
927 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
929 match value {
930 "PLAN_VIOLATION_SEVERITY_UNSPECIFIED" => Some(Self::Unspecified),
931 "PLAN_VIOLATION_SEVERITY_ERROR" => Some(Self::Error),
932 "PLAN_VIOLATION_SEVERITY_WARNING" => Some(Self::Warning),
933 _ => None,
934 }
935 }
936}
937#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
938#[repr(i32)]
939pub enum PlanElementKind {
940 Unspecified = 0,
941 Plan = 1,
942 Objective = 2,
943 Activity = 3,
944 Segment = 4,
945 Milestone = 5,
946 AssetGroup = 6,
947 Constraint = 7,
948}
949impl PlanElementKind {
950 pub fn as_str_name(&self) -> &'static str {
955 match self {
956 Self::Unspecified => "PLAN_ELEMENT_KIND_UNSPECIFIED",
957 Self::Plan => "PLAN_ELEMENT_KIND_PLAN",
958 Self::Objective => "PLAN_ELEMENT_KIND_OBJECTIVE",
959 Self::Activity => "PLAN_ELEMENT_KIND_ACTIVITY",
960 Self::Segment => "PLAN_ELEMENT_KIND_SEGMENT",
961 Self::Milestone => "PLAN_ELEMENT_KIND_MILESTONE",
962 Self::AssetGroup => "PLAN_ELEMENT_KIND_ASSET_GROUP",
963 Self::Constraint => "PLAN_ELEMENT_KIND_CONSTRAINT",
964 }
965 }
966 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
968 match value {
969 "PLAN_ELEMENT_KIND_UNSPECIFIED" => Some(Self::Unspecified),
970 "PLAN_ELEMENT_KIND_PLAN" => Some(Self::Plan),
971 "PLAN_ELEMENT_KIND_OBJECTIVE" => Some(Self::Objective),
972 "PLAN_ELEMENT_KIND_ACTIVITY" => Some(Self::Activity),
973 "PLAN_ELEMENT_KIND_SEGMENT" => Some(Self::Segment),
974 "PLAN_ELEMENT_KIND_MILESTONE" => Some(Self::Milestone),
975 "PLAN_ELEMENT_KIND_ASSET_GROUP" => Some(Self::AssetGroup),
976 "PLAN_ELEMENT_KIND_CONSTRAINT" => Some(Self::Constraint),
977 _ => None,
978 }
979 }
980}
981#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
982#[repr(i32)]
983pub enum PlanError {
984 PlanNotFound = 0,
985 BranchOrCommitNotFound = 1,
986 CommitConflict = 2,
987 PlanArchived = 3,
988}
989impl PlanError {
990 pub fn as_str_name(&self) -> &'static str {
995 match self {
996 Self::PlanNotFound => "PLAN_ERROR_PLAN_NOT_FOUND",
997 Self::BranchOrCommitNotFound => "PLAN_ERROR_BRANCH_OR_COMMIT_NOT_FOUND",
998 Self::CommitConflict => "PLAN_ERROR_COMMIT_CONFLICT",
999 Self::PlanArchived => "PLAN_ERROR_PLAN_ARCHIVED",
1000 }
1001 }
1002 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1004 match value {
1005 "PLAN_ERROR_PLAN_NOT_FOUND" => Some(Self::PlanNotFound),
1006 "PLAN_ERROR_BRANCH_OR_COMMIT_NOT_FOUND" => Some(Self::BranchOrCommitNotFound),
1007 "PLAN_ERROR_COMMIT_CONFLICT" => Some(Self::CommitConflict),
1008 "PLAN_ERROR_PLAN_ARCHIVED" => Some(Self::PlanArchived),
1009 _ => None,
1010 }
1011 }
1012}
1013pub mod plan_service_client {
1015 #![allow(
1016 unused_variables,
1017 dead_code,
1018 missing_docs,
1019 clippy::wildcard_imports,
1020 clippy::let_unit_value,
1021 )]
1022 use tonic::codegen::*;
1023 use tonic::codegen::http::Uri;
1024 #[derive(Debug, Clone)]
1025 pub struct PlanServiceClient<T> {
1026 inner: tonic::client::Grpc<T>,
1027 }
1028 impl PlanServiceClient<tonic::transport::Channel> {
1029 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
1031 where
1032 D: TryInto<tonic::transport::Endpoint>,
1033 D::Error: Into<StdError>,
1034 {
1035 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
1036 Ok(Self::new(conn))
1037 }
1038 }
1039 impl<T> PlanServiceClient<T>
1040 where
1041 T: tonic::client::GrpcService<tonic::body::Body>,
1042 T::Error: Into<StdError>,
1043 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
1044 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
1045 {
1046 pub fn new(inner: T) -> Self {
1047 let inner = tonic::client::Grpc::new(inner);
1048 Self { inner }
1049 }
1050 pub fn with_origin(inner: T, origin: Uri) -> Self {
1051 let inner = tonic::client::Grpc::with_origin(inner, origin);
1052 Self { inner }
1053 }
1054 pub fn with_interceptor<F>(
1055 inner: T,
1056 interceptor: F,
1057 ) -> PlanServiceClient<InterceptedService<T, F>>
1058 where
1059 F: tonic::service::Interceptor,
1060 T::ResponseBody: Default,
1061 T: tonic::codegen::Service<
1062 http::Request<tonic::body::Body>,
1063 Response = http::Response<
1064 <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
1065 >,
1066 >,
1067 <T as tonic::codegen::Service<
1068 http::Request<tonic::body::Body>,
1069 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
1070 {
1071 PlanServiceClient::new(InterceptedService::new(inner, interceptor))
1072 }
1073 #[must_use]
1078 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
1079 self.inner = self.inner.send_compressed(encoding);
1080 self
1081 }
1082 #[must_use]
1084 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
1085 self.inner = self.inner.accept_compressed(encoding);
1086 self
1087 }
1088 #[must_use]
1092 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
1093 self.inner = self.inner.max_decoding_message_size(limit);
1094 self
1095 }
1096 #[must_use]
1100 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
1101 self.inner = self.inner.max_encoding_message_size(limit);
1102 self
1103 }
1104 pub async fn create_plan(
1105 &mut self,
1106 request: impl tonic::IntoRequest<super::CreatePlanRequest>,
1107 ) -> std::result::Result<
1108 tonic::Response<super::CreatePlanResponse>,
1109 tonic::Status,
1110 > {
1111 self.inner
1112 .ready()
1113 .await
1114 .map_err(|e| {
1115 tonic::Status::unknown(
1116 format!("Service was not ready: {}", e.into()),
1117 )
1118 })?;
1119 let codec = tonic::codec::ProstCodec::default();
1120 let path = http::uri::PathAndQuery::from_static(
1121 "/nominal.plan.v1.PlanService/CreatePlan",
1122 );
1123 let mut req = request.into_request();
1124 req.extensions_mut()
1125 .insert(GrpcMethod::new("nominal.plan.v1.PlanService", "CreatePlan"));
1126 self.inner.unary(req, path, codec).await
1127 }
1128 pub async fn get_plan(
1129 &mut self,
1130 request: impl tonic::IntoRequest<super::GetPlanRequest>,
1131 ) -> std::result::Result<
1132 tonic::Response<super::GetPlanResponse>,
1133 tonic::Status,
1134 > {
1135 self.inner
1136 .ready()
1137 .await
1138 .map_err(|e| {
1139 tonic::Status::unknown(
1140 format!("Service was not ready: {}", e.into()),
1141 )
1142 })?;
1143 let codec = tonic::codec::ProstCodec::default();
1144 let path = http::uri::PathAndQuery::from_static(
1145 "/nominal.plan.v1.PlanService/GetPlan",
1146 );
1147 let mut req = request.into_request();
1148 req.extensions_mut()
1149 .insert(GrpcMethod::new("nominal.plan.v1.PlanService", "GetPlan"));
1150 self.inner.unary(req, path, codec).await
1151 }
1152 pub async fn batch_get_plans(
1153 &mut self,
1154 request: impl tonic::IntoRequest<super::BatchGetPlansRequest>,
1155 ) -> std::result::Result<
1156 tonic::Response<super::BatchGetPlansResponse>,
1157 tonic::Status,
1158 > {
1159 self.inner
1160 .ready()
1161 .await
1162 .map_err(|e| {
1163 tonic::Status::unknown(
1164 format!("Service was not ready: {}", e.into()),
1165 )
1166 })?;
1167 let codec = tonic::codec::ProstCodec::default();
1168 let path = http::uri::PathAndQuery::from_static(
1169 "/nominal.plan.v1.PlanService/BatchGetPlans",
1170 );
1171 let mut req = request.into_request();
1172 req.extensions_mut()
1173 .insert(GrpcMethod::new("nominal.plan.v1.PlanService", "BatchGetPlans"));
1174 self.inner.unary(req, path, codec).await
1175 }
1176 pub async fn create_plan_commit(
1177 &mut self,
1178 request: impl tonic::IntoRequest<super::CreatePlanCommitRequest>,
1179 ) -> std::result::Result<
1180 tonic::Response<super::CreatePlanCommitResponse>,
1181 tonic::Status,
1182 > {
1183 self.inner
1184 .ready()
1185 .await
1186 .map_err(|e| {
1187 tonic::Status::unknown(
1188 format!("Service was not ready: {}", e.into()),
1189 )
1190 })?;
1191 let codec = tonic::codec::ProstCodec::default();
1192 let path = http::uri::PathAndQuery::from_static(
1193 "/nominal.plan.v1.PlanService/CreatePlanCommit",
1194 );
1195 let mut req = request.into_request();
1196 req.extensions_mut()
1197 .insert(
1198 GrpcMethod::new("nominal.plan.v1.PlanService", "CreatePlanCommit"),
1199 );
1200 self.inner.unary(req, path, codec).await
1201 }
1202 pub async fn update_plan_metadata(
1203 &mut self,
1204 request: impl tonic::IntoRequest<super::UpdatePlanMetadataRequest>,
1205 ) -> std::result::Result<
1206 tonic::Response<super::UpdatePlanMetadataResponse>,
1207 tonic::Status,
1208 > {
1209 self.inner
1210 .ready()
1211 .await
1212 .map_err(|e| {
1213 tonic::Status::unknown(
1214 format!("Service was not ready: {}", e.into()),
1215 )
1216 })?;
1217 let codec = tonic::codec::ProstCodec::default();
1218 let path = http::uri::PathAndQuery::from_static(
1219 "/nominal.plan.v1.PlanService/UpdatePlanMetadata",
1220 );
1221 let mut req = request.into_request();
1222 req.extensions_mut()
1223 .insert(
1224 GrpcMethod::new("nominal.plan.v1.PlanService", "UpdatePlanMetadata"),
1225 );
1226 self.inner.unary(req, path, codec).await
1227 }
1228 pub async fn search_plans(
1229 &mut self,
1230 request: impl tonic::IntoRequest<super::SearchPlansRequest>,
1231 ) -> std::result::Result<
1232 tonic::Response<super::SearchPlansResponse>,
1233 tonic::Status,
1234 > {
1235 self.inner
1236 .ready()
1237 .await
1238 .map_err(|e| {
1239 tonic::Status::unknown(
1240 format!("Service was not ready: {}", e.into()),
1241 )
1242 })?;
1243 let codec = tonic::codec::ProstCodec::default();
1244 let path = http::uri::PathAndQuery::from_static(
1245 "/nominal.plan.v1.PlanService/SearchPlans",
1246 );
1247 let mut req = request.into_request();
1248 req.extensions_mut()
1249 .insert(GrpcMethod::new("nominal.plan.v1.PlanService", "SearchPlans"));
1250 self.inner.unary(req, path, codec).await
1251 }
1252 pub async fn validate_plan(
1253 &mut self,
1254 request: impl tonic::IntoRequest<super::ValidatePlanRequest>,
1255 ) -> std::result::Result<
1256 tonic::Response<super::ValidatePlanResponse>,
1257 tonic::Status,
1258 > {
1259 self.inner
1260 .ready()
1261 .await
1262 .map_err(|e| {
1263 tonic::Status::unknown(
1264 format!("Service was not ready: {}", e.into()),
1265 )
1266 })?;
1267 let codec = tonic::codec::ProstCodec::default();
1268 let path = http::uri::PathAndQuery::from_static(
1269 "/nominal.plan.v1.PlanService/ValidatePlan",
1270 );
1271 let mut req = request.into_request();
1272 req.extensions_mut()
1273 .insert(GrpcMethod::new("nominal.plan.v1.PlanService", "ValidatePlan"));
1274 self.inner.unary(req, path, codec).await
1275 }
1276 }
1277}