/
githubmirror
/
terraform
Обзор
Документация
Войти
/
githubmirror
/
terraform
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
internal/providers/schema_cache.go
41 строка
1007 B
Radek Simko
make copyrightfix
17 фев 2026, 16:56
17 фев 2026, 16:56
0fe906f
Код
Авторство
О чём код?
// Copyright IBM Corp. 2014, 2026 // SPDX-License-Identifier: BUSL-1.1 package providers import ( "sync" "github.com/hashicorp/terraform/internal/addrs" ) // SchemaCache is a global cache of Schemas. // This will be accessed by both core and the provider clients to ensure that // large schemas are stored in a single location. var SchemaCache = &schemaCache{ m: make(map[addrs.Provider]ProviderSchema), } // Global cache for provider schemas // Cache the entire response to ensure we capture any new fields, like // ServerCapabilities. This also serves to capture errors so that multiple // concurrent calls resulting in an error can be handled in the same manner. type schemaCache struct { mu sync.Mutex m map[addrs.Provider]ProviderSchema } func (c *schemaCache) Set(p addrs.Provider, s ProviderSchema) { c.mu.Lock() defer c.mu.Unlock() c.m[p] = s } func (c *schemaCache) Get(p addrs.Provider) (ProviderSchema, bool) { c.mu.Lock() defer c.mu.Unlock() s, ok := c.m[p] return s, ok }