MCPcopy
hub / github.com/cloudflare/cloudflared / GetManagementToken

Function GetManagementToken

cmd/cloudflared/cliutil/management.go:27–60  ·  view source on GitHub ↗

GetManagementToken acquires a management token from Cloudflare API for the specified resource

(c *cli.Context, log *zerolog.Logger, res cfapi.ManagementResource, buildInfo *BuildInfo)

Source from the content-addressed store, hash-verified

25
26// GetManagementToken acquires a management token from Cloudflare API for the specified resource
27func GetManagementToken(c *cli.Context, log *zerolog.Logger, res cfapi.ManagementResource, buildInfo *BuildInfo) (string, error) {
28 userCreds, err := credentials.Read(c.String(cfdflags.OriginCert), log)
29 if err != nil {
30 return "", err
31 }
32
33 var apiURL string
34 if userCreds.IsFEDEndpoint() {
35 apiURL = credentials.FedRampBaseApiURL
36 } else {
37 apiURL = c.String(cfdflags.ApiURL)
38 }
39
40 client, err := userCreds.Client(apiURL, buildInfo.UserAgent(), log)
41 if err != nil {
42 return "", err
43 }
44
45 tunnelIDString := c.Args().First()
46 if tunnelIDString == "" {
47 return "", ErrNoTunnelID
48 }
49 tunnelID, err := uuid.Parse(tunnelIDString)
50 if err != nil {
51 return "", fmt.Errorf("%w: %v", ErrInvalidTunnelID, err)
52 }
53
54 token, err := client.GetManagementToken(tunnelID, res)
55 if err != nil {
56 return "", err
57 }
58
59 return token, nil
60}
61
62// CreateStderrLogger creates a logger that outputs to stderr to avoid interfering with stdout
63func CreateStderrLogger(c *cli.Context) *zerolog.Logger {

Callers 3

tokenCommandFunction · 0.92
managementTokenCommandFunction · 0.92
buildURLFunction · 0.92

Calls 7

ReadFunction · 0.92
IsFEDEndpointMethod · 0.80
UserAgentMethod · 0.80
ErrorfMethod · 0.80
StringMethod · 0.65
GetManagementTokenMethod · 0.65
ClientMethod · 0.45

Tested by

no test coverage detected