-
Notifications
You must be signed in to change notification settings - Fork 21
/
resource.go
30 lines (24 loc) · 628 Bytes
/
resource.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package earlydecoder
import (
"fmt"
"strings"
"github.com/hashicorp/terraform-schema/module"
)
type resource struct {
Type string
Name string
Provider module.ProviderRef
}
// MapKey returns a string that can be used to uniquely identify the receiver
// in a map[string]*resource.
func (r *resource) MapKey() string {
return fmt.Sprintf("%s.%s", r.Type, r.Name)
}
func inferProviderNameFromType(typeName string) string {
if underPos := strings.IndexByte(typeName, '_'); underPos != -1 {
return typeName[:underPos]
}
return typeName
}