1#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct CreateConnectAppRequest {
4 #[prost(string, tag = "1")]
6 pub display_name: ::prost::alloc::string::String,
7 #[prost(string, optional, tag = "2")]
8 pub description: ::core::option::Option<::prost::alloc::string::String>,
9 #[prost(string, repeated, tag = "3")]
10 pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
11 #[prost(map = "string, string", tag = "4")]
12 pub properties: ::std::collections::HashMap<
13 ::prost::alloc::string::String,
14 ::prost::alloc::string::String,
15 >,
16 #[prost(bool, optional, tag = "5")]
17 pub is_published: ::core::option::Option<bool>,
18 #[prost(string, tag = "6")]
19 pub workspace: ::prost::alloc::string::String,
20 #[prost(message, optional, tag = "7")]
22 pub bundle: ::core::option::Option<ConnectAppBundle>,
23 #[prost(string, tag = "8")]
24 pub commit_message: ::prost::alloc::string::String,
25}
26#[derive(Clone, PartialEq, ::prost::Message)]
27pub struct CreateConnectAppResponse {
28 #[prost(message, optional, tag = "1")]
29 pub app: ::core::option::Option<ConnectApp>,
30}
31#[derive(Clone, PartialEq, ::prost::Message)]
32pub struct UpdateConnectAppMetadataRequest {
33 #[prost(string, tag = "1")]
34 pub rid: ::prost::alloc::string::String,
35 #[prost(string, optional, tag = "2")]
36 pub display_name: ::core::option::Option<::prost::alloc::string::String>,
37 #[prost(string, optional, tag = "3")]
38 pub description: ::core::option::Option<::prost::alloc::string::String>,
39 #[prost(message, optional, tag = "4")]
40 pub labels: ::core::option::Option<super::super::types::LabelUpdateWrapper>,
41 #[prost(message, optional, tag = "5")]
42 pub properties: ::core::option::Option<super::super::types::PropertyUpdateWrapper>,
43 #[prost(bool, optional, tag = "6")]
44 pub is_archived: ::core::option::Option<bool>,
45 #[prost(bool, optional, tag = "7")]
46 pub is_published: ::core::option::Option<bool>,
47}
48#[derive(Clone, PartialEq, ::prost::Message)]
49pub struct ConnectAppBundle {
50 #[prost(message, optional, tag = "1")]
51 pub s3_path: ::core::option::Option<super::super::types::Handle>,
52 #[prost(message, optional, tag = "2")]
53 pub metadata: ::core::option::Option<ConnectAppBundleMetadata>,
54}
55#[derive(Clone, PartialEq, ::prost::Message)]
57pub struct ConnectAppBundleMetadata {
58 #[prost(string, tag = "1")]
59 pub title: ::prost::alloc::string::String,
60 #[prost(bool, tag = "2")]
61 pub contains_experimental_features: bool,
62 #[prost(string, tag = "3")]
63 pub sha256_checksum: ::prost::alloc::string::String,
64 #[prost(string, optional, tag = "4")]
66 pub connect_file_path: ::core::option::Option<::prost::alloc::string::String>,
67}
68#[derive(Clone, PartialEq, ::prost::Message)]
69pub struct ConnectAppSearchQuery {
70 #[prost(oneof = "connect_app_search_query::Query", tags = "1, 2, 3, 4, 5, 6, 7")]
71 pub query: ::core::option::Option<connect_app_search_query::Query>,
72}
73pub mod connect_app_search_query {
75 #[derive(Clone, PartialEq, ::prost::Message)]
76 pub struct ConnectAppSearchAndQuery {
77 #[prost(message, repeated, tag = "1")]
78 pub queries: ::prost::alloc::vec::Vec<super::ConnectAppSearchQuery>,
79 }
80 #[derive(Clone, PartialEq, ::prost::Message)]
81 pub struct ConnectAppSearchOrQuery {
82 #[prost(message, repeated, tag = "1")]
83 pub queries: ::prost::alloc::vec::Vec<super::ConnectAppSearchQuery>,
84 }
85 #[derive(Clone, PartialEq, ::prost::Oneof)]
86 pub enum Query {
87 #[prost(string, tag = "1")]
88 SearchText(::prost::alloc::string::String),
89 #[prost(string, tag = "2")]
90 Label(::prost::alloc::string::String),
91 #[prost(message, tag = "3")]
92 Property(super::super::super::types::Property),
93 #[prost(message, tag = "4")]
94 And(ConnectAppSearchAndQuery),
95 #[prost(message, tag = "5")]
96 Or(ConnectAppSearchOrQuery),
97 #[prost(string, tag = "6")]
98 Workspace(::prost::alloc::string::String),
99 #[prost(bool, tag = "7")]
100 IsArchived(bool),
101 }
102}
103#[derive(Clone, PartialEq, ::prost::Message)]
104pub struct ConnectAppMetadata {
105 #[prost(string, tag = "1")]
106 pub rid: ::prost::alloc::string::String,
107 #[prost(string, tag = "2")]
108 pub display_name: ::prost::alloc::string::String,
109 #[prost(string, optional, tag = "3")]
110 pub description: ::core::option::Option<::prost::alloc::string::String>,
111 #[prost(string, repeated, tag = "4")]
112 pub labels: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
113 #[prost(map = "string, string", tag = "5")]
114 pub properties: ::std::collections::HashMap<
115 ::prost::alloc::string::String,
116 ::prost::alloc::string::String,
117 >,
118 #[prost(bool, tag = "6")]
119 pub is_archived: bool,
120 #[prost(bool, tag = "7")]
121 pub is_published: bool,
122 #[prost(message, optional, tag = "8")]
123 pub created_at: ::core::option::Option<
124 super::super::super::google::protobuf::Timestamp,
125 >,
126 #[prost(string, tag = "9")]
127 pub created_by: ::prost::alloc::string::String,
128 #[prost(message, optional, tag = "10")]
129 pub updated_at: ::core::option::Option<
130 super::super::super::google::protobuf::Timestamp,
131 >,
132 #[prost(string, tag = "11")]
133 pub workspace: ::prost::alloc::string::String,
134}
135#[derive(Clone, PartialEq, ::prost::Message)]
136pub struct ConnectApp {
137 #[prost(string, tag = "1")]
138 pub rid: ::prost::alloc::string::String,
139 #[prost(string, tag = "2")]
140 pub commit: ::prost::alloc::string::String,
141 #[prost(message, optional, tag = "3")]
142 pub metadata: ::core::option::Option<ConnectAppMetadata>,
143 #[prost(message, optional, tag = "4")]
144 pub bundle: ::core::option::Option<ConnectAppBundle>,
145 #[prost(uint64, tag = "5")]
146 pub version_number: u64,
147}
148#[derive(Clone, PartialEq, ::prost::Message)]
149pub struct GetConnectAppRequest {
150 #[prost(string, tag = "1")]
151 pub rid: ::prost::alloc::string::String,
152 #[prost(message, optional, tag = "2")]
153 pub branch_or_commit: ::core::option::Option<
154 super::super::versioning::v1::BranchOrCommit,
155 >,
156}
157#[derive(Clone, PartialEq, ::prost::Message)]
158pub struct GetConnectAppBundleDownloadUrlRequest {
159 #[prost(string, tag = "1")]
160 pub rid: ::prost::alloc::string::String,
161 #[prost(message, optional, tag = "2")]
162 pub branch_or_commit: ::core::option::Option<
163 super::super::versioning::v1::BranchOrCommit,
164 >,
165}
166#[derive(Clone, PartialEq, ::prost::Message)]
167pub struct GetConnectAppBundleDownloadUrlResponse {
168 #[prost(string, tag = "1")]
169 pub url: ::prost::alloc::string::String,
170}
171#[derive(Clone, PartialEq, ::prost::Message)]
172pub struct GetConnectAppResponse {
173 #[prost(message, optional, tag = "1")]
174 pub app: ::core::option::Option<ConnectApp>,
175}
176#[derive(Clone, PartialEq, ::prost::Message)]
177pub struct UpdateConnectAppMetadataResponse {
178 #[prost(message, optional, tag = "1")]
179 pub app_metadata: ::core::option::Option<ConnectAppMetadata>,
180}
181#[derive(Clone, PartialEq, ::prost::Message)]
184pub struct CommitRequest {
185 #[prost(string, tag = "1")]
186 pub rid: ::prost::alloc::string::String,
187 #[prost(message, optional, tag = "2")]
188 pub bundle: ::core::option::Option<ConnectAppBundle>,
189 #[prost(string, tag = "3")]
190 pub message: ::prost::alloc::string::String,
191}
192#[derive(Clone, PartialEq, ::prost::Message)]
193pub struct CommitResponse {
194 #[prost(message, optional, tag = "1")]
195 pub app: ::core::option::Option<ConnectApp>,
196}
197#[derive(Clone, Copy, PartialEq, ::prost::Message)]
198pub struct SearchConnectAppsOptions {
199 #[prost(bool, optional, tag = "1")]
201 pub is_descending: ::core::option::Option<bool>,
202 #[prost(enumeration = "SearchConnectAppsSortField", optional, tag = "2")]
204 pub sort_field: ::core::option::Option<i32>,
205}
206#[derive(Clone, PartialEq, ::prost::Message)]
207pub struct SearchConnectAppsRequest {
208 #[prost(message, optional, tag = "1")]
209 pub query: ::core::option::Option<ConnectAppSearchQuery>,
210 #[prost(message, optional, tag = "2")]
211 pub options: ::core::option::Option<SearchConnectAppsOptions>,
212 #[prost(int32, optional, tag = "3")]
213 pub page_size: ::core::option::Option<i32>,
214 #[prost(string, optional, tag = "4")]
215 pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
216}
217#[derive(Clone, PartialEq, ::prost::Message)]
218pub struct SearchConnectAppsResponse {
219 #[prost(message, repeated, tag = "1")]
220 pub app_metadata: ::prost::alloc::vec::Vec<ConnectAppMetadata>,
221 #[prost(string, optional, tag = "2")]
222 pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
223}
224#[derive(Clone, PartialEq, ::prost::Message)]
225pub struct ArchiveConnectAppsRequest {
226 #[prost(string, repeated, tag = "1")]
227 pub rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
228}
229#[derive(Clone, PartialEq, ::prost::Message)]
230pub struct UnarchiveConnectAppsRequest {
231 #[prost(string, repeated, tag = "1")]
232 pub rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
233}
234#[derive(Clone, PartialEq, ::prost::Message)]
235pub struct ArchiveConnectAppsResponse {
236 #[prost(string, repeated, tag = "1")]
237 pub rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
238}
239#[derive(Clone, PartialEq, ::prost::Message)]
240pub struct UnarchiveConnectAppsResponse {
241 #[prost(string, repeated, tag = "1")]
242 pub rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
243}
244#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
245#[repr(i32)]
246pub enum SearchConnectAppsSortField {
247 Unspecified = 0,
248 Title = 1,
249 CreatedAt = 2,
250 DisplayName = 3,
251}
252impl SearchConnectAppsSortField {
253 pub fn as_str_name(&self) -> &'static str {
258 match self {
259 Self::Unspecified => "SEARCH_CONNECT_APPS_SORT_FIELD_UNSPECIFIED",
260 Self::Title => "SEARCH_CONNECT_APPS_SORT_FIELD_TITLE",
261 Self::CreatedAt => "SEARCH_CONNECT_APPS_SORT_FIELD_CREATED_AT",
262 Self::DisplayName => "SEARCH_CONNECT_APPS_SORT_FIELD_DISPLAY_NAME",
263 }
264 }
265 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
267 match value {
268 "SEARCH_CONNECT_APPS_SORT_FIELD_UNSPECIFIED" => Some(Self::Unspecified),
269 "SEARCH_CONNECT_APPS_SORT_FIELD_TITLE" => Some(Self::Title),
270 "SEARCH_CONNECT_APPS_SORT_FIELD_CREATED_AT" => Some(Self::CreatedAt),
271 "SEARCH_CONNECT_APPS_SORT_FIELD_DISPLAY_NAME" => Some(Self::DisplayName),
272 _ => None,
273 }
274 }
275}
276#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
277#[repr(i32)]
278pub enum ConnectAppsServiceError {
279 Unspecified = 0,
280 AppNotFound = 1,
281 CommitNotFound = 2,
282 CannotCommitToArchivedConnectApp = 3,
283 InvalidSearchToken = 4,
284 MissingBundle = 5,
285}
286impl ConnectAppsServiceError {
287 pub fn as_str_name(&self) -> &'static str {
292 match self {
293 Self::Unspecified => "CONNECT_APPS_SERVICE_ERROR_UNSPECIFIED",
294 Self::AppNotFound => "CONNECT_APPS_SERVICE_ERROR_APP_NOT_FOUND",
295 Self::CommitNotFound => "CONNECT_APPS_SERVICE_ERROR_COMMIT_NOT_FOUND",
296 Self::CannotCommitToArchivedConnectApp => {
297 "CONNECT_APPS_SERVICE_ERROR_CANNOT_COMMIT_TO_ARCHIVED_CONNECT_APP"
298 }
299 Self::InvalidSearchToken => "CONNECT_APPS_SERVICE_ERROR_INVALID_SEARCH_TOKEN",
300 Self::MissingBundle => "CONNECT_APPS_SERVICE_ERROR_MISSING_BUNDLE",
301 }
302 }
303 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
305 match value {
306 "CONNECT_APPS_SERVICE_ERROR_UNSPECIFIED" => Some(Self::Unspecified),
307 "CONNECT_APPS_SERVICE_ERROR_APP_NOT_FOUND" => Some(Self::AppNotFound),
308 "CONNECT_APPS_SERVICE_ERROR_COMMIT_NOT_FOUND" => Some(Self::CommitNotFound),
309 "CONNECT_APPS_SERVICE_ERROR_CANNOT_COMMIT_TO_ARCHIVED_CONNECT_APP" => {
310 Some(Self::CannotCommitToArchivedConnectApp)
311 }
312 "CONNECT_APPS_SERVICE_ERROR_INVALID_SEARCH_TOKEN" => {
313 Some(Self::InvalidSearchToken)
314 }
315 "CONNECT_APPS_SERVICE_ERROR_MISSING_BUNDLE" => Some(Self::MissingBundle),
316 _ => None,
317 }
318 }
319}
320pub mod connect_apps_service_client {
322 #![allow(
323 unused_variables,
324 dead_code,
325 missing_docs,
326 clippy::wildcard_imports,
327 clippy::let_unit_value,
328 )]
329 use tonic::codegen::*;
330 use tonic::codegen::http::Uri;
331 #[derive(Debug, Clone)]
333 pub struct ConnectAppsServiceClient<T> {
334 inner: tonic::client::Grpc<T>,
335 }
336 impl ConnectAppsServiceClient<tonic::transport::Channel> {
337 pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
339 where
340 D: TryInto<tonic::transport::Endpoint>,
341 D::Error: Into<StdError>,
342 {
343 let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
344 Ok(Self::new(conn))
345 }
346 }
347 impl<T> ConnectAppsServiceClient<T>
348 where
349 T: tonic::client::GrpcService<tonic::body::Body>,
350 T::Error: Into<StdError>,
351 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
352 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
353 {
354 pub fn new(inner: T) -> Self {
355 let inner = tonic::client::Grpc::new(inner);
356 Self { inner }
357 }
358 pub fn with_origin(inner: T, origin: Uri) -> Self {
359 let inner = tonic::client::Grpc::with_origin(inner, origin);
360 Self { inner }
361 }
362 pub fn with_interceptor<F>(
363 inner: T,
364 interceptor: F,
365 ) -> ConnectAppsServiceClient<InterceptedService<T, F>>
366 where
367 F: tonic::service::Interceptor,
368 T::ResponseBody: Default,
369 T: tonic::codegen::Service<
370 http::Request<tonic::body::Body>,
371 Response = http::Response<
372 <T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
373 >,
374 >,
375 <T as tonic::codegen::Service<
376 http::Request<tonic::body::Body>,
377 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
378 {
379 ConnectAppsServiceClient::new(InterceptedService::new(inner, interceptor))
380 }
381 #[must_use]
386 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
387 self.inner = self.inner.send_compressed(encoding);
388 self
389 }
390 #[must_use]
392 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
393 self.inner = self.inner.accept_compressed(encoding);
394 self
395 }
396 #[must_use]
400 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
401 self.inner = self.inner.max_decoding_message_size(limit);
402 self
403 }
404 #[must_use]
408 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
409 self.inner = self.inner.max_encoding_message_size(limit);
410 self
411 }
412 pub async fn create_connect_app(
414 &mut self,
415 request: impl tonic::IntoRequest<super::CreateConnectAppRequest>,
416 ) -> std::result::Result<
417 tonic::Response<super::CreateConnectAppResponse>,
418 tonic::Status,
419 > {
420 self.inner
421 .ready()
422 .await
423 .map_err(|e| {
424 tonic::Status::unknown(
425 format!("Service was not ready: {}", e.into()),
426 )
427 })?;
428 let codec = tonic::codec::ProstCodec::default();
429 let path = http::uri::PathAndQuery::from_static(
430 "/nominal.connect.v1.ConnectAppsService/CreateConnectApp",
431 );
432 let mut req = request.into_request();
433 req.extensions_mut()
434 .insert(
435 GrpcMethod::new(
436 "nominal.connect.v1.ConnectAppsService",
437 "CreateConnectApp",
438 ),
439 );
440 self.inner.unary(req, path, codec).await
441 }
442 pub async fn get_connect_app(
444 &mut self,
445 request: impl tonic::IntoRequest<super::GetConnectAppRequest>,
446 ) -> std::result::Result<
447 tonic::Response<super::GetConnectAppResponse>,
448 tonic::Status,
449 > {
450 self.inner
451 .ready()
452 .await
453 .map_err(|e| {
454 tonic::Status::unknown(
455 format!("Service was not ready: {}", e.into()),
456 )
457 })?;
458 let codec = tonic::codec::ProstCodec::default();
459 let path = http::uri::PathAndQuery::from_static(
460 "/nominal.connect.v1.ConnectAppsService/GetConnectApp",
461 );
462 let mut req = request.into_request();
463 req.extensions_mut()
464 .insert(
465 GrpcMethod::new(
466 "nominal.connect.v1.ConnectAppsService",
467 "GetConnectApp",
468 ),
469 );
470 self.inner.unary(req, path, codec).await
471 }
472 pub async fn update_connect_app_metadata(
474 &mut self,
475 request: impl tonic::IntoRequest<super::UpdateConnectAppMetadataRequest>,
476 ) -> std::result::Result<
477 tonic::Response<super::UpdateConnectAppMetadataResponse>,
478 tonic::Status,
479 > {
480 self.inner
481 .ready()
482 .await
483 .map_err(|e| {
484 tonic::Status::unknown(
485 format!("Service was not ready: {}", e.into()),
486 )
487 })?;
488 let codec = tonic::codec::ProstCodec::default();
489 let path = http::uri::PathAndQuery::from_static(
490 "/nominal.connect.v1.ConnectAppsService/UpdateConnectAppMetadata",
491 );
492 let mut req = request.into_request();
493 req.extensions_mut()
494 .insert(
495 GrpcMethod::new(
496 "nominal.connect.v1.ConnectAppsService",
497 "UpdateConnectAppMetadata",
498 ),
499 );
500 self.inner.unary(req, path, codec).await
501 }
502 pub async fn commit(
504 &mut self,
505 request: impl tonic::IntoRequest<super::CommitRequest>,
506 ) -> std::result::Result<tonic::Response<super::CommitResponse>, tonic::Status> {
507 self.inner
508 .ready()
509 .await
510 .map_err(|e| {
511 tonic::Status::unknown(
512 format!("Service was not ready: {}", e.into()),
513 )
514 })?;
515 let codec = tonic::codec::ProstCodec::default();
516 let path = http::uri::PathAndQuery::from_static(
517 "/nominal.connect.v1.ConnectAppsService/Commit",
518 );
519 let mut req = request.into_request();
520 req.extensions_mut()
521 .insert(
522 GrpcMethod::new("nominal.connect.v1.ConnectAppsService", "Commit"),
523 );
524 self.inner.unary(req, path, codec).await
525 }
526 pub async fn search_connect_apps(
528 &mut self,
529 request: impl tonic::IntoRequest<super::SearchConnectAppsRequest>,
530 ) -> std::result::Result<
531 tonic::Response<super::SearchConnectAppsResponse>,
532 tonic::Status,
533 > {
534 self.inner
535 .ready()
536 .await
537 .map_err(|e| {
538 tonic::Status::unknown(
539 format!("Service was not ready: {}", e.into()),
540 )
541 })?;
542 let codec = tonic::codec::ProstCodec::default();
543 let path = http::uri::PathAndQuery::from_static(
544 "/nominal.connect.v1.ConnectAppsService/SearchConnectApps",
545 );
546 let mut req = request.into_request();
547 req.extensions_mut()
548 .insert(
549 GrpcMethod::new(
550 "nominal.connect.v1.ConnectAppsService",
551 "SearchConnectApps",
552 ),
553 );
554 self.inner.unary(req, path, codec).await
555 }
556 pub async fn archive_connect_apps(
558 &mut self,
559 request: impl tonic::IntoRequest<super::ArchiveConnectAppsRequest>,
560 ) -> std::result::Result<
561 tonic::Response<super::ArchiveConnectAppsResponse>,
562 tonic::Status,
563 > {
564 self.inner
565 .ready()
566 .await
567 .map_err(|e| {
568 tonic::Status::unknown(
569 format!("Service was not ready: {}", e.into()),
570 )
571 })?;
572 let codec = tonic::codec::ProstCodec::default();
573 let path = http::uri::PathAndQuery::from_static(
574 "/nominal.connect.v1.ConnectAppsService/ArchiveConnectApps",
575 );
576 let mut req = request.into_request();
577 req.extensions_mut()
578 .insert(
579 GrpcMethod::new(
580 "nominal.connect.v1.ConnectAppsService",
581 "ArchiveConnectApps",
582 ),
583 );
584 self.inner.unary(req, path, codec).await
585 }
586 pub async fn unarchive_connect_apps(
588 &mut self,
589 request: impl tonic::IntoRequest<super::UnarchiveConnectAppsRequest>,
590 ) -> std::result::Result<
591 tonic::Response<super::UnarchiveConnectAppsResponse>,
592 tonic::Status,
593 > {
594 self.inner
595 .ready()
596 .await
597 .map_err(|e| {
598 tonic::Status::unknown(
599 format!("Service was not ready: {}", e.into()),
600 )
601 })?;
602 let codec = tonic::codec::ProstCodec::default();
603 let path = http::uri::PathAndQuery::from_static(
604 "/nominal.connect.v1.ConnectAppsService/UnarchiveConnectApps",
605 );
606 let mut req = request.into_request();
607 req.extensions_mut()
608 .insert(
609 GrpcMethod::new(
610 "nominal.connect.v1.ConnectAppsService",
611 "UnarchiveConnectApps",
612 ),
613 );
614 self.inner.unary(req, path, codec).await
615 }
616 pub async fn get_connect_app_bundle_download_url(
618 &mut self,
619 request: impl tonic::IntoRequest<
620 super::GetConnectAppBundleDownloadUrlRequest,
621 >,
622 ) -> std::result::Result<
623 tonic::Response<super::GetConnectAppBundleDownloadUrlResponse>,
624 tonic::Status,
625 > {
626 self.inner
627 .ready()
628 .await
629 .map_err(|e| {
630 tonic::Status::unknown(
631 format!("Service was not ready: {}", e.into()),
632 )
633 })?;
634 let codec = tonic::codec::ProstCodec::default();
635 let path = http::uri::PathAndQuery::from_static(
636 "/nominal.connect.v1.ConnectAppsService/GetConnectAppBundleDownloadUrl",
637 );
638 let mut req = request.into_request();
639 req.extensions_mut()
640 .insert(
641 GrpcMethod::new(
642 "nominal.connect.v1.ConnectAppsService",
643 "GetConnectAppBundleDownloadUrl",
644 ),
645 );
646 self.inner.unary(req, path, codec).await
647 }
648 }
649}