
io.opentelemetry.javaagent.instrumentation.kubernetesclient.KubernetesVerb Maven / Gradle / Ivy
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.javaagent.instrumentation.kubernetesclient;
public enum KubernetesVerb {
GET("get"),
LIST("list"),
CREATE("create"),
UPDATE("update"),
DELETE("delete"),
PATCH("patch"),
WATCH("watch"),
DELETE_COLLECTION("deleteCollection");
private final String value;
KubernetesVerb(String value) {
this.value = value;
}
public static KubernetesVerb of(
String httpVerb, boolean hasNamePathParam, boolean hasWatchParam) {
if (hasWatchParam) {
return WATCH;
}
switch (httpVerb) {
case "GET":
if (!hasNamePathParam) {
return LIST;
}
return GET;
case "POST":
return CREATE;
case "PUT":
return UPDATE;
case "PATCH":
return PATCH;
case "DELETE":
if (!hasNamePathParam) {
return DELETE_COLLECTION;
}
return DELETE;
default:
throw new IllegalArgumentException("invalid HTTP verb for kubernetes client");
}
}
public String value() {
return value;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy