use of io.kubernetes.client.openapi.models.V1Namespace in project java by kubernetes-client.
the class CoreV1Api method patchNamespaceStatusWithHttpInfo.
/**
* partially update status of the specified Namespace
*
* @param name name of the Namespace (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)
* @return ApiResponse<V1Namespace>
* @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> 201 </td><td> Created </td><td> - </td></tr>
* <tr><td> 401 </td><td> Unauthorized </td><td> - </td></tr>
* </table>
*/
public ApiResponse<V1Namespace> patchNamespaceStatusWithHttpInfo(String name, V1Patch body, String pretty, String dryRun, String fieldManager, String fieldValidation, Boolean force) throws ApiException {
okhttp3.Call localVarCall = patchNamespaceStatusValidateBeforeCall(name, body, pretty, dryRun, fieldManager, fieldValidation, force, null);
Type localVarReturnType = new TypeToken<V1Namespace>() {
}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
use of io.kubernetes.client.openapi.models.V1Namespace in project java by kubernetes-client.
the class CoreV1Api method replaceNamespaceAsync.
/**
* (asynchronously) replace the specified Namespace
*
* @param name name of the Namespace (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 replaceNamespaceAsync(String name, V1Namespace body, String pretty, String dryRun, String fieldManager, String fieldValidation, final ApiCallback<V1Namespace> _callback) throws ApiException {
okhttp3.Call localVarCall = replaceNamespaceValidateBeforeCall(name, body, pretty, dryRun, fieldManager, fieldValidation, _callback);
Type localVarReturnType = new TypeToken<V1Namespace>() {
}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
use of io.kubernetes.client.openapi.models.V1Namespace in project java by kubernetes-client.
the class PagerTest method testPaginationForNamespaceListWithFieldSelectorFailure.
@Test
public void testPaginationForNamespaceListWithFieldSelectorFailure() throws IOException {
String status400Str = new String(Files.readAllBytes(Paths.get(LIST_STATUS_FILE_PATH)));
CoreV1Api api = new CoreV1Api(client);
stubFor(get(urlPathEqualTo("/api/v1/namespaces")).withQueryParam("fieldSelector", equalTo("metadata.name=default")).withQueryParam("limit", equalTo("1")).willReturn(aResponse().withStatus(400).withHeader("Content-Type", "application/json").withBody(status400Str)));
Pager<V1Namespace, V1NamespaceList> pager = new Pager<V1Namespace, V1NamespaceList>((Pager.PagerParams param) -> {
try {
return api.listNamespaceCall(null, null, param.getContinueToken(), "metadata.name=default", null, param.getLimit(), null, null, null, null, null);
} catch (Exception e) {
throw new RuntimeException(e);
}
}, client, 1, V1NamespaceList.class);
int count = 0;
try {
for (V1Namespace namespace : pager) {
count++;
assertEquals("default", namespace.getMetadata().getName());
}
} catch (Exception e) {
assertEquals(status400Str, e.getMessage());
}
verify(getRequestedFor(urlPathEqualTo("/api/v1/namespaces")).withQueryParam("fieldSelector", equalTo("metadata.name=default")).withQueryParam("limit", equalTo("1")));
}
use of io.kubernetes.client.openapi.models.V1Namespace in project java by kubernetes-client.
the class PagerTest method testIteratorForEmptyList.
@Test
public void testIteratorForEmptyList() throws IOException {
String namespaceListPage0Str = new String(Files.readAllBytes(Paths.get(LIST_PAGE0_FILE_PATH)));
CoreV1Api api = new CoreV1Api(client);
stubFor(get(urlPathEqualTo("/api/v1/namespaces")).willReturn(aResponse().withStatus(200).withHeader("Content-Type", "application/json").withBody(namespaceListPage0Str)));
Pager<V1Namespace, V1NamespaceList> pager = new Pager<V1Namespace, V1NamespaceList>((Pager.PagerParams param) -> {
try {
return api.listNamespaceCall(null, null, null, null, null, null, null, null, null, null, null);
} catch (Exception e) {
throw new RuntimeException(e);
}
}, client, 1, V1NamespaceList.class);
Iterator<V1Namespace> it = pager.iterator();
assertFalse("Iterator should be empty.", it.hasNext());
}
use of io.kubernetes.client.openapi.models.V1Namespace in project java by kubernetes-client.
the class PagerTest method testPaginationForNamespaceListWithSuccessThreadSafely.
@Test
public void testPaginationForNamespaceListWithSuccessThreadSafely() throws IOException {
String namespaceListPage1Str = new String(Files.readAllBytes(Paths.get(LIST_PAGE1_FILE_PATH)));
String namespaceListPage2Str = new String(Files.readAllBytes(Paths.get(LIST_PAGE2_FILE_PATH)));
CoreV1Api api = new CoreV1Api(client);
stubFor(get(urlPathEqualTo("/api/v1/namespaces")).withQueryParam("limit", equalTo("1")).willReturn(aResponse().withStatus(200).withHeader("Content-Type", "application/json").withBody(namespaceListPage1Str)));
stubFor(get(urlPathEqualTo("/api/v1/namespaces")).withQueryParam("limit", equalTo("1")).withQueryParam("continue", equalTo("c1")).willReturn(aResponse().withStatus(200).withHeader("Content-Type", "application/json").withBody(namespaceListPage2Str)));
int threads = 10;
CountDownLatch latch = new CountDownLatch(threads);
ExecutorService service = Executors.newFixedThreadPool(threads);
Pager<V1Namespace, V1NamespaceList> pager = new Pager<V1Namespace, V1NamespaceList>((Pager.PagerParams param) -> {
try {
return api.listNamespaceCall(null, null, param.getContinueToken(), null, null, param.getLimit(), null, null, null, null, null);
} catch (Exception e) {
throw new RuntimeException(e);
}
}, client, 1, V1NamespaceList.class);
for (int i = 0; i < threads; i++) {
service.submit(() -> {
int size = 0;
for (V1Namespace namespace : pager) {
assertEquals("default", namespace.getMetadata().getName());
size++;
}
assertEquals(2, size);
latch.countDown();
});
}
try {
latch.await(5, TimeUnit.SECONDS);
} catch (InterruptedException e) {
fail("timed out waiting for pager finished");
}
verify(2 * threads, getRequestedFor(urlPathEqualTo("/api/v1/namespaces")).withQueryParam("limit", equalTo("1")));
}
Aggregations