use of io.kubernetes.client.openapi.models.V1PodList in project pravega by pravega.
the class K8sClient method getStatusOfPod.
/**
* Method used to fetch the status of a Pod. V1PodStatus also helps to indicate the container status.
* @param namespace Namespace.
* @param podName Name of the pod.
* @return A future representing the status of the pod.
*/
@SneakyThrows(ApiException.class)
public CompletableFuture<V1PodStatus> getStatusOfPod(final String namespace, final String podName) {
CoreV1Api api = new CoreV1Api();
K8AsyncCallback<V1PodList> callback = new K8AsyncCallback<>("listPods");
api.listNamespacedPodAsync(namespace, PRETTY_PRINT, ALLOW_WATCH_BOOKMARKS, null, null, "POD_NAME=" + podName, null, null, null, false, callback);
return callback.getFuture().thenApply(v1PodList -> {
Optional<V1Pod> vpod = v1PodList.getItems().stream().filter(v1Pod -> v1Pod.getMetadata().getName().equals(podName) && v1Pod.getMetadata().getNamespace().equals(namespace)).findFirst();
return vpod.map(V1Pod::getStatus).orElseThrow(() -> new RuntimeException("pod not found" + podName));
});
}
use of io.kubernetes.client.openapi.models.V1PodList in project java by kubernetes-client.
the class KubectlGetTest method testGetAllNamespacePods.
@Test
public void testGetAllNamespacePods() throws KubectlException {
V1PodList podList = new V1PodList().items(Arrays.asList(new V1Pod().metadata(new V1ObjectMeta().namespace("default").name("foo1")), new V1Pod().metadata(new V1ObjectMeta().namespace("default").name("foo2"))));
wireMockRule.stubFor(get(urlPathEqualTo("/api/v1/pods")).willReturn(aResponse().withStatus(200).withBody(apiClient.getJSON().serialize(podList))));
List<V1Pod> pods = Kubectl.get(V1Pod.class).apiClient(apiClient).skipDiscovery().execute();
wireMockRule.verify(1, getRequestedFor(urlPathEqualTo("/api/v1/pods")));
assertEquals(2, pods.size());
}
use of io.kubernetes.client.openapi.models.V1PodList in project java by kubernetes-client.
the class CoreV1Api method listNamespacedPodWithHttpInfo.
/**
* list or watch objects of kind Pod
*
* @param namespace object name and auth scope, such as for teams and projects (required)
* @param pretty If 'true', then the output is pretty printed. (optional)
* @param allowWatchBookmarks allowWatchBookmarks requests watch events with type
* \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and
* bookmarks are sent at the server's discretion. Clients should not assume bookmarks are
* returned at any specific interval, nor may they assume the server will send any BOOKMARK
* event during a session. If this is not a watch, this field is ignored. (optional)
* @param _continue The continue option should be set when retrieving more results from the
* server. Since this value is server defined, clients may only use the continue value from a
* previous query result with identical query parameters (except for the value of continue)
* and the server may reject a continue value it does not recognize. If the specified continue
* value is no longer valid whether due to expiration (generally five to fifteen minutes) or a
* configuration change on the server, the server will respond with a 410 ResourceExpired
* error together with a continue token. If the client needs a consistent list, it must
* restart their list without the continue field. Otherwise, the client may send another list
* request with the token received with the 410 error, the server will respond with a list
* starting from the next key, but from the latest snapshot, which is inconsistent from the
* previous list results - objects that are created, modified, or deleted after the first list
* request will be included in the response, as long as their keys are after the \"next
* key\". This field is not supported when watch is true. Clients may start a watch from
* the last resourceVersion value returned by the server and not miss any modifications.
* (optional)
* @param fieldSelector A selector to restrict the list of returned objects by their fields.
* Defaults to everything. (optional)
* @param labelSelector A selector to restrict the list of returned objects by their labels.
* Defaults to everything. (optional)
* @param limit limit is a maximum number of responses to return for a list call. If more items
* exist, the server will set the `continue` field on the list metadata to a value
* that can be used with the same initial query to retrieve the next set of results. Setting a
* limit may return fewer than the requested amount of items (up to zero items) in the event
* all requested objects are filtered out and clients should only use the presence of the
* continue field to determine whether more results are available. Servers may choose not to
* support the limit argument and will return all of the available results. If limit is
* specified and the continue field is empty, clients may assume that no more results are
* available. This field is not supported if watch is true. The server guarantees that the
* objects returned when using continue will be identical to issuing a single list call
* without a limit - that is, no objects created, modified, or deleted after the first request
* is issued will be included in any subsequent continued requests. This is sometimes referred
* to as a consistent snapshot, and ensures that a client that is using limit to receive
* smaller chunks of a very large result can ensure they see all possible objects. If objects
* are updated during a chunked list the version of the object that was present at the time
* the first list result was calculated is returned. (optional)
* @param resourceVersion resourceVersion sets a constraint on what resource versions a request
* may be served from. See
* https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.
* Defaults to unset (optional)
* @param resourceVersionMatch resourceVersionMatch determines how resourceVersion is applied to
* list calls. It is highly recommended that resourceVersionMatch be set for list calls where
* resourceVersion is set See
* https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.
* Defaults to unset (optional)
* @param timeoutSeconds Timeout for the list/watch call. This limits the duration of the call,
* regardless of any activity or inactivity. (optional)
* @param watch Watch for changes to the described resources and return them as a stream of add,
* update, and remove notifications. Specify resourceVersion. (optional)
* @return ApiResponse<V1PodList>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the
* response body
* @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> 401 </td><td> Unauthorized </td><td> - </td></tr>
* </table>
*/
public ApiResponse<V1PodList> listNamespacedPodWithHttpInfo(String namespace, String pretty, Boolean allowWatchBookmarks, String _continue, String fieldSelector, String labelSelector, Integer limit, String resourceVersion, String resourceVersionMatch, Integer timeoutSeconds, Boolean watch) throws ApiException {
okhttp3.Call localVarCall = listNamespacedPodValidateBeforeCall(namespace, pretty, allowWatchBookmarks, _continue, fieldSelector, labelSelector, limit, resourceVersion, resourceVersionMatch, timeoutSeconds, watch, null);
Type localVarReturnType = new TypeToken<V1PodList>() {
}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
use of io.kubernetes.client.openapi.models.V1PodList in project java by kubernetes-client.
the class CoreV1Api method listPodForAllNamespacesAsync.
/**
* (asynchronously) list or watch objects of kind Pod
*
* @param allowWatchBookmarks allowWatchBookmarks requests watch events with type
* \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and
* bookmarks are sent at the server's discretion. Clients should not assume bookmarks are
* returned at any specific interval, nor may they assume the server will send any BOOKMARK
* event during a session. If this is not a watch, this field is ignored. (optional)
* @param _continue The continue option should be set when retrieving more results from the
* server. Since this value is server defined, clients may only use the continue value from a
* previous query result with identical query parameters (except for the value of continue)
* and the server may reject a continue value it does not recognize. If the specified continue
* value is no longer valid whether due to expiration (generally five to fifteen minutes) or a
* configuration change on the server, the server will respond with a 410 ResourceExpired
* error together with a continue token. If the client needs a consistent list, it must
* restart their list without the continue field. Otherwise, the client may send another list
* request with the token received with the 410 error, the server will respond with a list
* starting from the next key, but from the latest snapshot, which is inconsistent from the
* previous list results - objects that are created, modified, or deleted after the first list
* request will be included in the response, as long as their keys are after the \"next
* key\". This field is not supported when watch is true. Clients may start a watch from
* the last resourceVersion value returned by the server and not miss any modifications.
* (optional)
* @param fieldSelector A selector to restrict the list of returned objects by their fields.
* Defaults to everything. (optional)
* @param labelSelector A selector to restrict the list of returned objects by their labels.
* Defaults to everything. (optional)
* @param limit limit is a maximum number of responses to return for a list call. If more items
* exist, the server will set the `continue` field on the list metadata to a value
* that can be used with the same initial query to retrieve the next set of results. Setting a
* limit may return fewer than the requested amount of items (up to zero items) in the event
* all requested objects are filtered out and clients should only use the presence of the
* continue field to determine whether more results are available. Servers may choose not to
* support the limit argument and will return all of the available results. If limit is
* specified and the continue field is empty, clients may assume that no more results are
* available. This field is not supported if watch is true. The server guarantees that the
* objects returned when using continue will be identical to issuing a single list call
* without a limit - that is, no objects created, modified, or deleted after the first request
* is issued will be included in any subsequent continued requests. This is sometimes referred
* to as a consistent snapshot, and ensures that a client that is using limit to receive
* smaller chunks of a very large result can ensure they see all possible objects. If objects
* are updated during a chunked list the version of the object that was present at the time
* the first list result was calculated is returned. (optional)
* @param pretty If 'true', then the output is pretty printed. (optional)
* @param resourceVersion resourceVersion sets a constraint on what resource versions a request
* may be served from. See
* https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.
* Defaults to unset (optional)
* @param resourceVersionMatch resourceVersionMatch determines how resourceVersion is applied to
* list calls. It is highly recommended that resourceVersionMatch be set for list calls where
* resourceVersion is set See
* https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details.
* Defaults to unset (optional)
* @param timeoutSeconds Timeout for the list/watch call. This limits the duration of the call,
* regardless of any activity or inactivity. (optional)
* @param watch Watch for changes to the described resources and return them as a stream of add,
* update, and remove notifications. Specify resourceVersion. (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> 401 </td><td> Unauthorized </td><td> - </td></tr>
* </table>
*/
public okhttp3.Call listPodForAllNamespacesAsync(Boolean allowWatchBookmarks, String _continue, String fieldSelector, String labelSelector, Integer limit, String pretty, String resourceVersion, String resourceVersionMatch, Integer timeoutSeconds, Boolean watch, final ApiCallback<V1PodList> _callback) throws ApiException {
okhttp3.Call localVarCall = listPodForAllNamespacesValidateBeforeCall(allowWatchBookmarks, _continue, fieldSelector, labelSelector, limit, pretty, resourceVersion, resourceVersionMatch, timeoutSeconds, watch, _callback);
Type localVarReturnType = new TypeToken<V1PodList>() {
}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
use of io.kubernetes.client.openapi.models.V1PodList 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());
}
}
Aggregations