GetManagementToken acquires a management token from Cloudflare API for the specified resource
(c *cli.Context, log *zerolog.Logger, res cfapi.ManagementResource, buildInfo *BuildInfo)
| 25 | |
| 26 | // GetManagementToken acquires a management token from Cloudflare API for the specified resource |
| 27 | func 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 |
| 63 | func CreateStderrLogger(c *cli.Context) *zerolog.Logger { |
no test coverage detected