@ -73,14 +73,15 @@ type GRPCProvider struct {
schema providers . GetProviderSchemaResponse
}
func ( p * GRPCProvider ) GetProviderSchema ( ) ( resp providers . GetProviderSchemaResponse ) {
func ( p * GRPCProvider ) GetProviderSchema ( ) providers . GetProviderSchemaResponse {
logger . Trace ( "GRPCProvider.v6: GetProviderSchema" )
p . mu . Lock ( )
defer p . mu . Unlock ( )
// check the global cache if we can
if ! p . Addr . IsZero ( ) && resp . ServerCapabilities . GetProviderSchemaOptional {
if resp , ok := providers . SchemaCache . Get ( p . Addr ) ; ok {
if ! p . Addr . IsZero ( ) {
if resp , ok := providers . SchemaCache . Get ( p . Addr ) ; ok && resp . ServerCapabilities . GetProviderSchemaOptional {
logger . Trace ( "GRPCProvider.v6: returning cached schema" , p . Addr . String ( ) )
return resp
}
}
@ -91,6 +92,8 @@ func (p *GRPCProvider) GetProviderSchema() (resp providers.GetProviderSchemaResp
return p . schema
}
var resp providers . GetProviderSchemaResponse
resp . ResourceTypes = make ( map [ string ] providers . Schema )
resp . DataSources = make ( map [ string ] providers . Schema )