use of io.kubernetes.client.openapi.models.V1Pod in project java by kubernetes-client.
the class GenericClientExample method main.
public static void main(String[] args) throws Exception {
// The following codes demonstrates using generic client to manipulate pods
V1Pod pod = new V1Pod().metadata(new V1ObjectMeta().name("foo").namespace("default")).spec(new V1PodSpec().containers(Arrays.asList(new V1Container().name("c").image("test"))));
ApiClient apiClient = ClientBuilder.standard().build();
GenericKubernetesApi<V1Pod, V1PodList> podClient = new GenericKubernetesApi<>(V1Pod.class, V1PodList.class, "", "v1", "pods", apiClient);
V1Pod latestPod = podClient.create(pod).throwsApiException().getObject();
System.out.println("Created!");
V1Pod patchedPod = podClient.patch("default", "foo", V1Patch.PATCH_FORMAT_STRATEGIC_MERGE_PATCH, new V1Patch("{\"metadata\":{\"finalizers\":[\"example.io/foo\"]}}")).throwsApiException().getObject();
System.out.println("Patched!");
V1Pod deletedPod = podClient.delete("default", "foo").throwsApiException().getObject();
if (deletedPod != null) {
System.out.println("Received after-deletion status of the requested object, will be deleting in background!");
}
System.out.println("Deleted!");
}
use of io.kubernetes.client.openapi.models.V1Pod in project java by kubernetes-client.
the class KubeConfigFileClientExample method main.
public static void main(String[] args) throws IOException, ApiException {
// file path to your KubeConfig
String kubeConfigPath = System.getenv("HOME") + "/.kube/config";
// loading the out-of-cluster config, a kubeconfig from file-system
ApiClient client = ClientBuilder.kubeconfig(KubeConfig.loadKubeConfig(new FileReader(kubeConfigPath))).build();
// set the global default api-client to the in-cluster one from above
Configuration.setDefaultApiClient(client);
// the CoreV1Api loads default api-client from global configuration.
CoreV1Api api = new CoreV1Api();
// invokes the CoreV1Api client
V1PodList list = api.listPodForAllNamespaces(null, null, null, null, null, null, null, null, null, null);
for (V1Pod item : list.getItems()) {
System.out.println(item.getMetadata().getName());
}
}
use of io.kubernetes.client.openapi.models.V1Pod in project java by kubernetes-client.
the class PrometheusExample method main.
public static void main(String[] args) throws IOException, ApiException {
ApiClient client = Config.defaultClient();
Configuration.setDefaultApiClient(client);
// Install an HTTP Interceptor that adds metrics
Monitoring.installMetrics(client);
// Install a simple HTTP server to serve prometheus metrics. If you already are serving
// metrics elsewhere, this is unnecessary.
Monitoring.startMetricsServer("localhost", 8080);
CoreV1Api api = new CoreV1Api();
while (true) {
// A request that should return 200
V1PodList list = api.listPodForAllNamespaces(null, null, null, null, null, null, null, null, null, null);
// A request that should return 404
try {
V1Pod pod = api.readNamespacedPod("foo", "bar", null);
} catch (ApiException ex) {
if (ex.getCode() != 404) {
throw ex;
}
}
try {
Thread.sleep(10000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
use of io.kubernetes.client.openapi.models.V1Pod in project java by kubernetes-client.
the class CoreV1Api method replaceNamespacedPodStatusAsync.
/**
* (asynchronously) replace status of the specified Pod
*
* @param name name of the Pod (required)
* @param namespace object name and auth scope, such as for teams and projects (required)
* @param body (required)
* @param pretty If 'true', then the output is pretty printed. (optional)
* @param dryRun When present, indicates that modifications should not be persisted. An invalid or
* unrecognized dryRun directive will result in an error response and no further processing of
* the request. Valid values are: - All: all dry run stages will be processed (optional)
* @param fieldManager fieldManager is a name associated with the actor or entity that is making
* these changes. The value must be less than or 128 characters long, and only contain
* printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. (optional)
* @param fieldValidation fieldValidation determines how the server should respond to
* unknown/duplicate fields in the object in the request. Introduced as alpha in 1.23, older
* servers or servers with the `ServerSideFieldValidation` feature disabled will
* discard valid values specified in this param and not perform any server side field
* validation. Valid values are: - Ignore: ignores unknown/duplicate fields. - Warn: responds
* with a warning for each unknown/duplicate field, but successfully serves the request. -
* Strict: fails the request on unknown/duplicate fields. (optional)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing the request body object
* @http.response.details
* <table summary="Response Details" border="1">
* <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
* <tr><td> 200 </td><td> OK </td><td> - </td></tr>
* <tr><td> 201 </td><td> Created </td><td> - </td></tr>
* <tr><td> 401 </td><td> Unauthorized </td><td> - </td></tr>
* </table>
*/
public okhttp3.Call replaceNamespacedPodStatusAsync(String name, String namespace, V1Pod body, String pretty, String dryRun, String fieldManager, String fieldValidation, final ApiCallback<V1Pod> _callback) throws ApiException {
okhttp3.Call localVarCall = replaceNamespacedPodStatusValidateBeforeCall(name, namespace, body, pretty, dryRun, fieldManager, fieldValidation, _callback);
Type localVarReturnType = new TypeToken<V1Pod>() {
}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
use of io.kubernetes.client.openapi.models.V1Pod in project java by kubernetes-client.
the class CoreV1Api method patchNamespacedPodAsync.
/**
* (asynchronously) partially update the specified Pod
*
* @param name name of the Pod (required)
* @param namespace object name and auth scope, such as for teams and projects (required)
* @param body (required)
* @param pretty If 'true', then the output is pretty printed. (optional)
* @param dryRun When present, indicates that modifications should not be persisted. An invalid or
* unrecognized dryRun directive will result in an error response and no further processing of
* the request. Valid values are: - All: all dry run stages will be processed (optional)
* @param fieldManager fieldManager is a name associated with the actor or entity that is making
* these changes. The value must be less than or 128 characters long, and only contain
* printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is
* required for apply requests (application/apply-patch) but optional for non-apply patch
* types (JsonPatch, MergePatch, StrategicMergePatch). (optional)
* @param fieldValidation fieldValidation determines how the server should respond to
* unknown/duplicate fields in the object in the request. Introduced as alpha in 1.23, older
* servers or servers with the `ServerSideFieldValidation` feature disabled will
* discard valid values specified in this param and not perform any server side field
* validation. Valid values are: - Ignore: ignores unknown/duplicate fields. - Warn: responds
* with a warning for each unknown/duplicate field, but successfully serves the request. -
* Strict: fails the request on unknown/duplicate fields. (optional)
* @param force Force is going to \"force\" Apply requests. It means user will
* re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply
* patch requests. (optional)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing the request body object
* @http.response.details
* <table summary="Response Details" border="1">
* <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
* <tr><td> 200 </td><td> OK </td><td> - </td></tr>
* <tr><td> 201 </td><td> Created </td><td> - </td></tr>
* <tr><td> 401 </td><td> Unauthorized </td><td> - </td></tr>
* </table>
*/
public okhttp3.Call patchNamespacedPodAsync(String name, String namespace, V1Patch body, String pretty, String dryRun, String fieldManager, String fieldValidation, Boolean force, final ApiCallback<V1Pod> _callback) throws ApiException {
okhttp3.Call localVarCall = patchNamespacedPodValidateBeforeCall(name, namespace, body, pretty, dryRun, fieldManager, fieldValidation, force, _callback);
Type localVarReturnType = new TypeToken<V1Pod>() {
}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
Aggregations