github.com/bigcommerce/nomad@v0.9.3-bc/client/fingerprint/structs.go (about) 1 package fingerprint 2 3 import ( 4 "github.com/hashicorp/nomad/client/config" 5 "github.com/hashicorp/nomad/nomad/structs" 6 ) 7 8 // FingerprintRequest is a request which a fingerprinter accepts to fingerprint 9 // the node 10 type FingerprintRequest struct { 11 Config *config.Config 12 Node *structs.Node 13 } 14 15 // FingerprintResponse is the response which a fingerprinter annotates with the 16 // results of the fingerprint method 17 type FingerprintResponse struct { 18 Attributes map[string]string 19 Links map[string]string 20 Resources *structs.Resources // COMPAT(0.10): Remove in 0.10 21 NodeResources *structs.NodeResources 22 23 // Detected is a boolean indicating whether the fingerprinter detected 24 // if the resource was available 25 Detected bool 26 } 27 28 // AddAttribute adds the name and value for a node attribute to the fingerprint 29 // response 30 func (f *FingerprintResponse) AddAttribute(name, value string) { 31 // initialize Attributes if it has not been already 32 if f.Attributes == nil { 33 f.Attributes = make(map[string]string, 0) 34 } 35 36 f.Attributes[name] = value 37 } 38 39 // RemoveAttribute sets the given attribute to empty, which will later remove 40 // it entirely from the node 41 func (f *FingerprintResponse) RemoveAttribute(name string) { 42 // initialize Attributes if it has not been already 43 if f.Attributes == nil { 44 f.Attributes = make(map[string]string, 0) 45 } 46 47 f.Attributes[name] = "" 48 } 49 50 // AddLink adds a link entry to the fingerprint response 51 func (f *FingerprintResponse) AddLink(name, value string) { 52 // initialize Links if it has not been already 53 if f.Links == nil { 54 f.Links = make(map[string]string, 0) 55 } 56 57 f.Links[name] = value 58 } 59 60 // RemoveLink removes a link entry from the fingerprint response. This will 61 // later remove it entirely from the node 62 func (f *FingerprintResponse) RemoveLink(name string) { 63 // initialize Links if it has not been already 64 if f.Links == nil { 65 f.Links = make(map[string]string, 0) 66 } 67 68 f.Links[name] = "" 69 }