Search in sources :

Example 6 with V1Lease

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

the class CoordinationV1Api method patchNamespacedLeaseAsync.

/**
 * (asynchronously) partially update the specified Lease
 *
 * @param name name of the Lease (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 patchNamespacedLeaseAsync(String name, String namespace, V1Patch body, String pretty, String dryRun, String fieldManager, String fieldValidation, Boolean force, final ApiCallback<V1Lease> _callback) throws ApiException {
    okhttp3.Call localVarCall = patchNamespacedLeaseValidateBeforeCall(name, namespace, body, pretty, dryRun, fieldManager, fieldValidation, force, _callback);
    Type localVarReturnType = new TypeToken<V1Lease>() {
    }.getType();
    localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
    return localVarCall;
}
Also used : Type(java.lang.reflect.Type) V1Lease(io.kubernetes.client.openapi.models.V1Lease)

Example 7 with V1Lease

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

the class LeaseLock method create.

@Override
public boolean create(LeaderElectionRecord record) {
    try {
        V1ObjectMeta objectMeta = new V1ObjectMeta();
        objectMeta.setName(name);
        objectMeta.setNamespace(namespace);
        if (record.getOwnerReference() != null) {
            objectMeta.setOwnerReferences(Collections.singletonList(record.getOwnerReference()));
        }
        V1Lease createdLease = coordinationV1Api.createNamespacedLease(namespace, new V1Lease().metadata(objectMeta).spec(getLeaseFromRecord(record)), null, null, null, null);
        leaseRefer.set(createdLease);
        return true;
    } catch (ApiException e) {
        if (e.getCode() == HttpURLConnection.HTTP_CONFLICT) {
            log.debug("received {} when creating lease lock", e.getCode(), e);
        } else {
            log.error("received {} when creating lease lock", e.getCode(), e);
        }
        return false;
    }
}
Also used : V1ObjectMeta(io.kubernetes.client.openapi.models.V1ObjectMeta) V1Lease(io.kubernetes.client.openapi.models.V1Lease) ApiException(io.kubernetes.client.openapi.ApiException)

Example 8 with V1Lease

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

the class LeaseLock method update.

@Override
public boolean update(LeaderElectionRecord record) {
    try {
        V1Lease latest = leaseRefer.get();
        latest.setSpec(getLeaseFromRecord(record));
        V1Lease updatedLease = coordinationV1Api.replaceNamespacedLease(name, namespace, latest, null, null, null, null);
        leaseRefer.set(updatedLease);
        return true;
    } catch (ApiException e) {
        if (e.getCode() == HttpURLConnection.HTTP_CONFLICT) {
            log.debug("received {} when updating lease lock", e.getCode(), e);
        } else {
            log.error("received {} when updating lease lock", e.getCode(), e);
        }
        return false;
    }
}
Also used : V1Lease(io.kubernetes.client.openapi.models.V1Lease) ApiException(io.kubernetes.client.openapi.ApiException)

Example 9 with V1Lease

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

the class LeaseLock method get.

@Override
public LeaderElectionRecord get() throws ApiException {
    V1Lease lease = coordinationV1Api.readNamespacedLease(name, namespace, null);
    leaseRefer.set(lease);
    return getRecordFromLease(lease.getSpec());
}
Also used : V1Lease(io.kubernetes.client.openapi.models.V1Lease)

Example 10 with V1Lease

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

the class CoordinationV1Api method patchNamespacedLeaseWithHttpInfo.

/**
 * partially update the specified Lease
 *
 * @param name name of the Lease (required)
 * @param namespace object name and auth scope, such as for teams and projects (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;V1Lease&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<V1Lease> patchNamespacedLeaseWithHttpInfo(String name, String namespace, V1Patch body, String pretty, String dryRun, String fieldManager, String fieldValidation, Boolean force) throws ApiException {
    okhttp3.Call localVarCall = patchNamespacedLeaseValidateBeforeCall(name, namespace, body, pretty, dryRun, fieldManager, fieldValidation, force, null);
    Type localVarReturnType = new TypeToken<V1Lease>() {
    }.getType();
    return localVarApiClient.execute(localVarCall, localVarReturnType);
}
Also used : Type(java.lang.reflect.Type) V1Lease(io.kubernetes.client.openapi.models.V1Lease)

Aggregations

V1Lease (io.kubernetes.client.openapi.models.V1Lease)11 Type (java.lang.reflect.Type)8 ApiException (io.kubernetes.client.openapi.ApiException)2 V1ObjectMeta (io.kubernetes.client.openapi.models.V1ObjectMeta)1