go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/_motor/providers/capabilities.go (about) 1 // Copyright (c) Mondoo, Inc. 2 // SPDX-License-Identifier: BUSL-1.1 3 4 package providers 5 6 import "strconv" 7 8 type Capability int 9 10 const ( 11 Capability_RunCommand Capability = iota 12 Capability_File 13 Capability_FileSearch 14 Capability_AWS 15 Capability_vSphere 16 Capability_Azure 17 Capability_Google 18 Capability_Arista 19 Capability_Microsoft365 20 Capability_Ipmi 21 Capability_Equinix 22 Capability_Github 23 Capability_Aws_Ebs 24 Capability_Gitlab 25 ) 26 27 var CapabilityNames = map[Capability]string{ 28 Capability_RunCommand: "run-command", 29 Capability_File: "file", 30 Capability_FileSearch: "file-search", 31 Capability_AWS: "api-aws", 32 Capability_vSphere: "api-vsphere", 33 Capability_Azure: "api-azure", 34 Capability_Google: "api-google", 35 Capability_Arista: "api-arista", 36 Capability_Microsoft365: "api-ms365", 37 Capability_Ipmi: "api-ipmi", 38 Capability_Equinix: "api-equinix", 39 Capability_Github: "api-github", 40 Capability_Aws_Ebs: "aws-ebs", 41 Capability_Gitlab: "api-gitlab", 42 } 43 44 func (c Capability) String() string { 45 v, ok := CapabilityNames[c] 46 if ok { 47 return v 48 } 49 return strconv.Itoa(int(c)) 50 } 51 52 type Capabilities []Capability 53 54 func (c Capabilities) HasCapability(x Capability) bool { 55 for i := range c { 56 if c[i] == x { 57 return true 58 } 59 } 60 return false 61 }