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

Method from_environment

crates/openshell-core/src/provider_credentials.rs:34–64  ·  view source on GitHub ↗
(
        revision: u64,
        env: HashMap<String, String>,
        credential_expires_at_ms: HashMap<String, i64>,
        dynamic_credentials: HashMap<String, crate::proto::ProviderProfileCredent

Source from the content-addressed store, hash-verified

32
33impl ProviderCredentialState {
34 pub fn from_environment(
35 revision: u64,
36 env: HashMap<String, String>,
37 credential_expires_at_ms: HashMap<String, i64>,
38 dynamic_credentials: HashMap<String, crate::proto::ProviderProfileCredential>,
39 ) -> Self {
40 let (child_env, generation_resolver, current_resolver) =
41 SecretResolver::from_provider_env_for_current_revision(
42 env,
43 credential_expires_at_ms,
44 revision,
45 );
46 let snapshot = Arc::new(ProviderCredentialSnapshot {
47 revision,
48 child_env,
49 dynamic_credentials,
50 });
51 let generations: VecDeque<_> = generation_resolver.map(Arc::new).into_iter().collect();
52 let current_resolver = current_resolver.map(Arc::new);
53 let combined_resolver = merge_resolvers(&generations, current_resolver.as_ref());
54
55 Self {
56 inner: Arc::new(RwLock::new(ProviderCredentialStateInner {
57 current: snapshot,
58 generations,
59 current_resolver,
60 combined_resolver,
61 suppressed_keys: HashSet::new(),
62 })),
63 }
64 }
65
66 pub fn snapshot(&self) -> Arc<ProviderCredentialSnapshot> {
67 self.inner

Callers

nothing calls this directly

Calls 1

merge_resolversFunction · 0.85

Tested by

no test coverage detected