MCPcopy Create free account
hub / github.com/hashicorp/vault / Run

Method Run

command/token_create.go:206–262  ·  view source on GitHub ↗
(args []string)

Source from the content-addressed store, hash-verified

204}
205
206func (c *TokenCreateCommand) Run(args []string) int {
207 f := c.Flags()
208
209 if err := f.Parse(args); err != nil {
210 c.UI.Error(err.Error())
211 return 1
212 }
213
214 args = f.Args()
215 if len(args) > 0 {
216 c.UI.Error(fmt.Sprintf("Too many arguments (expected 0, got %d)", len(args)))
217 return 1
218 }
219
220 if c.flagType == "batch" {
221 c.flagRenewable = false
222 }
223
224 client, err := c.Client()
225 if err != nil {
226 c.UI.Error(err.Error())
227 return 2
228 }
229
230 tcr := &api.TokenCreateRequest{
231 ID: c.flagID,
232 Policies: c.flagPolicies,
233 Metadata: c.flagMetadata,
234 TTL: c.flagTTL.String(),
235 NoParent: c.flagOrphan,
236 NoDefaultPolicy: c.flagNoDefaultPolicy,
237 DisplayName: c.flagDisplayName,
238 NumUses: c.flagUseLimit,
239 Renewable: &c.flagRenewable,
240 ExplicitMaxTTL: c.flagExplicitMaxTTL.String(),
241 Period: c.flagPeriod.String(),
242 Type: c.flagType,
243 EntityAlias: c.flagEntityAlias,
244 }
245
246 var secret *api.Secret
247 if c.flagRole != "" {
248 secret, err = client.Auth().Token().CreateWithRole(tcr, c.flagRole)
249 } else {
250 secret, err = client.Auth().Token().Create(tcr)
251 }
252 if err != nil {
253 c.UI.Error(fmt.Sprintf("Error creating token: %s", err))
254 return 2
255 }
256
257 if c.flagField != "" {
258 return PrintRawField(c.UI, secret, c.flagField)
259 }
260
261 return OutputSecret(c.UI, secret)
262}

Callers

nothing calls this directly

Calls 12

FlagsMethod · 0.95
PrintRawFieldFunction · 0.85
OutputSecretFunction · 0.85
ArgsMethod · 0.80
CreateWithRoleMethod · 0.80
ParseMethod · 0.65
ErrorMethod · 0.65
ClientMethod · 0.65
StringMethod · 0.65
TokenMethod · 0.65
AuthMethod · 0.65
CreateMethod · 0.45

Tested by

no test coverage detected