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