go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers-sdk/v1/plugin/flag.go (about) 1 // Copyright (c) Mondoo, Inc. 2 // SPDX-License-Identifier: BUSL-1.1 3 4 package plugin 5 6 type FlagType byte 7 8 const ( 9 FlagType_Bool FlagType = 1 + iota 10 FlagType_Int 11 FlagType_String 12 FlagType_List 13 FlagType_KeyValue 14 ) 15 16 type FlagOption byte 17 18 const ( 19 FlagOption_Hidden FlagOption = 0x1 << iota 20 FlagOption_Deprecated 21 FlagOption_Required 22 FlagOption_Password 23 // max: 8 options! 24 ) 25 26 type Flag struct { 27 Long string `json:",omitempty"` 28 Short string `json:",omitempty"` 29 Default string `json:",omitempty"` 30 Desc string `json:",omitempty"` 31 Type FlagType `json:",omitempty"` 32 Option FlagOption `json:",omitempty"` 33 // ConfigEntry that is used for this flag: 34 // "" = use the same as Long 35 // "some.other" = map to some.other field 36 // "-" = do not read this from config 37 ConfigEntry string `json:",omitempty"` 38 }