Search in sources :

Example 1 with V1Namespace

use of io.kubernetes.client.openapi.models.V1Namespace in project pravega by pravega.

the class K8sClient method createNamespace.

/**
 * Method used to create a namespace. This blocks until the namespace is created.
 * @param namespace Namespace to be created.
 * @return V1Namespace.
 */
@SneakyThrows(ApiException.class)
public V1Namespace createNamespace(final String namespace) {
    CoreV1Api api = new CoreV1Api();
    try {
        V1Namespace existing = api.readNamespace(namespace, PRETTY_PRINT, Boolean.FALSE, Boolean.FALSE);
        if (existing != null) {
            log.info("Namespace {} already exists, ignoring namespace create operation.", namespace);
            return existing;
        }
    } catch (ApiException ignore) {
    // ignore exception and proceed with Namespace creation.
    }
    V1Namespace body = new V1Namespace();
    // Set the required api version and kind of resource
    body.setApiVersion("v1");
    body.setKind("Namespace");
    // Setup the standard object metadata
    V1ObjectMeta meta = new V1ObjectMeta();
    meta.setName(namespace);
    body.setMetadata(meta);
    return api.createNamespace(body, PRETTY_PRINT, DRY_RUN, FIELD_MANAGER);
}
Also used : V1ObjectMeta(io.kubernetes.client.openapi.models.V1ObjectMeta) V1Namespace(io.kubernetes.client.openapi.models.V1Namespace) CoreV1Api(io.kubernetes.client.openapi.apis.CoreV1Api) ApiException(io.kubernetes.client.openapi.ApiException) SneakyThrows(lombok.SneakyThrows)

Example 2 with V1Namespace

use of io.kubernetes.client.openapi.models.V1Namespace in project java by kubernetes-client.

the class PagerTest method testPaginationForNamespaceListWithBadTokenFailure.

@Test
public void testPaginationForNamespaceListWithBadTokenFailure() throws IOException {
    String status400Str = new String(Files.readAllBytes(Paths.get(STATUS_BAD_TOKEN_FILE_PATH)));
    CoreV1Api api = new CoreV1Api(client);
    stubFor(get(urlPathEqualTo("/api/v1/namespaces")).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(), null, 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) {
            assertEquals("default", namespace.getMetadata().getName());
            count++;
        }
    } catch (Exception e) {
        assertEquals(status400Str, e.getMessage());
    }
    verify(getRequestedFor(urlPathEqualTo("/api/v1/namespaces")).withQueryParam("limit", equalTo("1")));
}
Also used : V1NamespaceList(io.kubernetes.client.openapi.models.V1NamespaceList) V1Namespace(io.kubernetes.client.openapi.models.V1Namespace) CoreV1Api(io.kubernetes.client.openapi.apis.CoreV1Api) IOException(java.io.IOException) Test(org.junit.Test)

Example 3 with V1Namespace

use of io.kubernetes.client.openapi.models.V1Namespace in project java by kubernetes-client.

the class CoreV1Api method replaceNamespaceStatusAsync.

/**
 * (asynchronously) replace status of the specified Namespace
 *
 * @param name name of the Namespace (required)
 * @param body (required)
 * @param pretty If &#39;true&#39;, 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 &#x60;ServerSideFieldValidation&#x60; 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 replaceNamespaceStatusAsync(String name, V1Namespace body, String pretty, String dryRun, String fieldManager, String fieldValidation, final ApiCallback<V1Namespace> _callback) throws ApiException {
    okhttp3.Call localVarCall = replaceNamespaceStatusValidateBeforeCall(name, body, pretty, dryRun, fieldManager, fieldValidation, _callback);
    Type localVarReturnType = new TypeToken<V1Namespace>() {
    }.getType();
    localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
    return localVarCall;
}
Also used : Type(java.lang.reflect.Type) V1Namespace(io.kubernetes.client.openapi.models.V1Namespace)

Example 4 with V1Namespace

use of io.kubernetes.client.openapi.models.V1Namespace in project java by kubernetes-client.

the class CoreV1Api method patchNamespaceWithHttpInfo.

/**
 * partially update the specified Namespace
 *
 * @param name name of the Namespace (required)
 * @param body (required)
 * @param pretty If &#39;true&#39;, 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 &#x60;ServerSideFieldValidation&#x60; 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 \&quot;force\&quot; 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&lt;V1Namespace&gt;
 * @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> patchNamespaceWithHttpInfo(String name, V1Patch body, String pretty, String dryRun, String fieldManager, String fieldValidation, Boolean force) throws ApiException {
    okhttp3.Call localVarCall = patchNamespaceValidateBeforeCall(name, body, pretty, dryRun, fieldManager, fieldValidation, force, null);
    Type localVarReturnType = new TypeToken<V1Namespace>() {
    }.getType();
    return localVarApiClient.execute(localVarCall, localVarReturnType);
}
Also used : Type(java.lang.reflect.Type) V1Namespace(io.kubernetes.client.openapi.models.V1Namespace)

Example 5 with V1Namespace

use of io.kubernetes.client.openapi.models.V1Namespace in project java by kubernetes-client.

the class CoreV1Api method replaceNamespaceFinalizeWithHttpInfo.

/**
 * replace finalize of the specified Namespace
 *
 * @param name name of the Namespace (required)
 * @param body (required)
 * @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 &#x60;ServerSideFieldValidation&#x60; 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 pretty If &#39;true&#39;, then the output is pretty printed. (optional)
 * @return ApiResponse&lt;V1Namespace&gt;
 * @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> replaceNamespaceFinalizeWithHttpInfo(String name, V1Namespace body, String dryRun, String fieldManager, String fieldValidation, String pretty) throws ApiException {
    okhttp3.Call localVarCall = replaceNamespaceFinalizeValidateBeforeCall(name, body, dryRun, fieldManager, fieldValidation, pretty, null);
    Type localVarReturnType = new TypeToken<V1Namespace>() {
    }.getType();
    return localVarApiClient.execute(localVarCall, localVarReturnType);
}
Also used : Type(java.lang.reflect.Type) V1Namespace(io.kubernetes.client.openapi.models.V1Namespace)

Aggregations

V1Namespace (io.kubernetes.client.openapi.models.V1Namespace)26 Type (java.lang.reflect.Type)16 CoreV1Api (io.kubernetes.client.openapi.apis.CoreV1Api)8 Test (org.junit.Test)7 V1NamespaceList (io.kubernetes.client.openapi.models.V1NamespaceList)6 IOException (java.io.IOException)5 V1ObjectMeta (io.kubernetes.client.openapi.models.V1ObjectMeta)4 ApiClient (io.kubernetes.client.openapi.ApiClient)3 OkHttpClient (okhttp3.OkHttpClient)2 TypeToken (com.google.gson.reflect.TypeToken)1 Pager (io.kubernetes.client.extended.pager.Pager)1 ApiException (io.kubernetes.client.openapi.ApiException)1 Watch (io.kubernetes.client.util.Watch)1 CountDownLatch (java.util.concurrent.CountDownLatch)1 ExecutorService (java.util.concurrent.ExecutorService)1 SneakyThrows (lombok.SneakyThrows)1