MCPcopy Create free account
hub / github.com/NVIDIA/OpenShell / provider_get

Function provider_get

crates/openshell-cli/src/run.rs:4843–4890  ·  view source on GitHub ↗
(server: &str, name: &str, tls: &TlsOptions)

Source from the content-addressed store, hash-verified

4841}
4842
4843pub async fn provider_get(server: &str, name: &str, tls: &TlsOptions) -> Result<()> {
4844 let mut client = grpc_client(server, tls).await?;
4845 let response = client
4846 .get_provider(GetProviderRequest {
4847 name: name.to_string(),
4848 })
4849 .await
4850 .into_diagnostic()?;
4851
4852 let provider = response
4853 .into_inner()
4854 .provider
4855 .ok_or_else(|| miette::miette!("provider missing from response"))?;
4856
4857 let credential_keys = provider.credentials.keys().cloned().collect::<Vec<_>>();
4858 let config_keys = provider.config.keys().cloned().collect::<Vec<_>>();
4859
4860 println!("{}", "Provider:".cyan().bold());
4861 println!();
4862 println!(" {} {}", "Id:".dimmed(), provider.object_id());
4863 println!(" {} {}", "Name:".dimmed(), provider.object_name());
4864 println!(" {} {}", "Type:".dimmed(), provider.r#type);
4865 println!(
4866 " {} {}",
4867 "Resource version:".dimmed(),
4868 provider.metadata.as_ref().map_or(0, |m| m.resource_version)
4869 );
4870 println!(
4871 " {} {}",
4872 "Credential keys:".dimmed(),
4873 if credential_keys.is_empty() {
4874 "<none>".to_string()
4875 } else {
4876 credential_keys.join(", ")
4877 }
4878 );
4879 println!(
4880 " {} {}",
4881 "Config keys:".dimmed(),
4882 if config_keys.is_empty() {
4883 "<none>".to_string()
4884 } else {
4885 config_keys.join(", ")
4886 }
4887 );
4888
4889 Ok(())
4890}
4891
4892fn provider_to_json(provider: &Provider) -> serde_json::Value {
4893 let mut obj = serde_json::Map::new();

Callers 2

mainFunction · 0.85

Calls 2

grpc_clientFunction · 0.85
get_providerMethod · 0.45