use of io.kubernetes.client.openapi.models.V1Endpoints in project java by kubernetes-client.
the class EndpointsLoadBalancer method getTargetIP.
@Override
public String getTargetIP(int port) throws NoAvailableAddressException {
V1Endpoints ep = endpointsSupplier.get();
if (ep == null || ep.getSubsets() == null) {
throw new NoAvailableAddressException();
}
List<String> availableIPs = getAllAvailableIPs(port);
if (availableIPs.size() == 0) {
throw new NoAvailableAddressException();
}
return this.strategy.chooseIP(availableIPs);
}
use of io.kubernetes.client.openapi.models.V1Endpoints in project java by kubernetes-client.
the class EndpointsLock method create.
@Override
public boolean create(LeaderElectionRecord record) {
try {
V1Endpoints endpoints = new V1Endpoints();
V1ObjectMeta objectMeta = new V1ObjectMeta();
objectMeta.setName(name);
objectMeta.setNamespace(namespace);
Map<String, String> annotations = new HashMap<>();
annotations.put(LeaderElectionRecordAnnotationKey, coreV1Client.getApiClient().getJSON().serialize(record));
objectMeta.setAnnotations(annotations);
if (record.getOwnerReference() != null) {
objectMeta.setOwnerReferences(Collections.singletonList(record.getOwnerReference()));
}
endpoints.setMetadata(objectMeta);
V1Endpoints createdendpoints = coreV1Client.createNamespacedEndpoints(namespace, endpoints, null, null, null, null);
endpointsRefer.set(createdendpoints);
return true;
} catch (ApiException e) {
if (e.getCode() == HttpURLConnection.HTTP_CONFLICT) {
log.debug("received {} when creating endpoints lock", e.getCode(), e);
} else {
log.error("received {} when creating endpoints lock", e.getCode(), e);
}
return false;
}
}
use of io.kubernetes.client.openapi.models.V1Endpoints in project java by kubernetes-client.
the class CoreV1Api method patchNamespacedEndpointsAsync.
/**
* (asynchronously) partially update the specified Endpoints
*
* @param name name of the Endpoints (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 patchNamespacedEndpointsAsync(String name, String namespace, V1Patch body, String pretty, String dryRun, String fieldManager, String fieldValidation, Boolean force, final ApiCallback<V1Endpoints> _callback) throws ApiException {
okhttp3.Call localVarCall = patchNamespacedEndpointsValidateBeforeCall(name, namespace, body, pretty, dryRun, fieldManager, fieldValidation, force, _callback);
Type localVarReturnType = new TypeToken<V1Endpoints>() {
}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
use of io.kubernetes.client.openapi.models.V1Endpoints in project java by kubernetes-client.
the class CoreV1Api method readNamespacedEndpointsWithHttpInfo.
/**
* read the specified Endpoints
*
* @param name name of the Endpoints (required)
* @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)
* @return ApiResponse<V1Endpoints>
* @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<V1Endpoints> readNamespacedEndpointsWithHttpInfo(String name, String namespace, String pretty) throws ApiException {
okhttp3.Call localVarCall = readNamespacedEndpointsValidateBeforeCall(name, namespace, pretty, null);
Type localVarReturnType = new TypeToken<V1Endpoints>() {
}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
use of io.kubernetes.client.openapi.models.V1Endpoints in project java by kubernetes-client.
the class CoreV1Api method patchNamespacedEndpointsWithHttpInfo.
/**
* partially update the specified Endpoints
*
* @param name name of the Endpoints (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)
* @return ApiResponse<V1Endpoints>
* @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<V1Endpoints> patchNamespacedEndpointsWithHttpInfo(String name, String namespace, V1Patch body, String pretty, String dryRun, String fieldManager, String fieldValidation, Boolean force) throws ApiException {
okhttp3.Call localVarCall = patchNamespacedEndpointsValidateBeforeCall(name, namespace, body, pretty, dryRun, fieldManager, fieldValidation, force, null);
Type localVarReturnType = new TypeToken<V1Endpoints>() {
}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
Aggregations