| 134 | } |
| 135 | |
| 136 | func commandParameters(cmd *cobra.Command) CommandMetadata { |
| 137 | cmdMetadata := CommandMetadata{} |
| 138 | cmd.Flags().VisitAll(func(f *pflag.Flag) { |
| 139 | _, isRequired := f.Annotations[cobra.BashCompOneRequiredFlag] |
| 140 | cmdMetadata.Parameters = append(cmdMetadata.Parameters, Metadata{ |
| 141 | Name: f.Name, |
| 142 | Description: f.Usage, |
| 143 | Required: isRequired, |
| 144 | Type: f.Value.Type(), |
| 145 | Default: f.DefValue, |
| 146 | }) |
| 147 | }) |
| 148 | return cmdMetadata |
| 149 | } |
| 150 | |
| 151 | type ProviderMetadata struct { |
| 152 | Description string `json:"description"` |