func NewContextWithMethod(ctx context.Context, method Method) context.Context {
	return context.WithValue(ctx, methodKey{}, method)
}
NewContextWithMethod creates a new context from ctx and attaches method to
it.
package provisioner
import (
	"context"
)
type Method int
type methodKey struct{}
const (
	SignMethod Method = iota
	RevokeMethod
	RenewMethod
	SSHSignMethod
	SSHRenewMethod
	SSHRevokeMethod
	SSHRekeyMethod
)
func (m Method) String() string {
	switch m {
	case SignMethod:
		return "sign-method"
	case RevokeMethod:
		return "revoke-method"
	case RenewMethod:
		return "renew-method"
	case SSHSignMethod:
		return "ssh-sign-method"
	case SSHRenewMethod:
		return "ssh-renew-method"
	case SSHRevokeMethod:
		return "ssh-revoke-method"
	case SSHRekeyMethod:
		return "ssh-rekey-method"
	default:
		return "unknown"
	}
}