Repository navigation
Expand file tree
/
Copy pathasset.go
More file actions
45 lines (40 loc) · 1.72 KB
/
Copy pathasset.go
File metadata and controls
45 lines (40 loc) · 1.72 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package pluginsdk
import "time"
// Asset is a discovered catalog asset.
type Asset struct {
ParentMRN *string `json:"parent_mrn,omitempty"`
Name *string `json:"name,omitempty"`
Description *string `json:"description,omitempty"`
Type string `json:"type"`
Providers []string `json:"providers"`
MRN *string `json:"mrn,omitempty"`
Schema map[string]string `json:"schema,omitempty"`
Metadata map[string]any `json:"metadata,omitempty"`
Sources []AssetSource `json:"sources,omitempty"`
Tags []string `json:"tags,omitempty"`
// Terms are the Names of glossary terms assigned to this asset.
Terms []string `json:"terms,omitempty"`
Environments map[string]Environment `json:"environments,omitempty"`
Query *string `json:"query,omitempty"`
QueryLanguage *string `json:"query_language,omitempty"`
ExternalLinks []AssetExternalLink `json:"external_links,omitempty"`
}
// AssetSource records which source contributed an asset's properties.
type AssetSource struct {
Name string `json:"name"`
LastSyncAt time.Time `json:"last_sync_at"`
Properties map[string]any `json:"properties"`
Priority int `json:"priority"`
}
// AssetExternalLink is an external link attached to a single asset.
type AssetExternalLink struct {
Name string `json:"name"`
Icon string `json:"icon,omitempty"`
URL string `json:"url"`
}
// Environment describes an asset's presence in a named environment.
type Environment struct {
Name string `json:"name"`
Path string `json:"path"`
Metadata map[string]any `json:"metadata,omitempty"`
}