Search in sources :

Example 6 with DomainList

use of oracle.kubernetes.weblogic.domain.v1.DomainList in project weblogic-kubernetes-operator by oracle.

the class WeblogicApi method listWebLogicOracleV1DomainForAllNamespacesAsync.

/**
 * (asynchronously) list or watch objects of kind Domain
 *
 * @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
 *          indicating the client must restart their list without the continue
 *          field. 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 includeUninitialized
 *          If true, partially initialized resources are included in the
 *          response. (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
 *          When specified with a watch call, shows changes that occur after
 *          that particular version of a resource. Defaults to changes from the
 *          beginning of history. When specified for list: - if unset, then the
 *          result is returned from remote storage based on quorum-read flag; -
 *          if it's 0, then we simply return what we currently have in
 *          cache, no guarantee; - if set to non zero, then the result is at
 *          least as fresh as given rv. (optional)
 * @param timeoutSeconds
 *          Timeout for the list/watch call. (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
 */
public com.squareup.okhttp.Call listWebLogicOracleV1DomainForAllNamespacesAsync(String _continue, String fieldSelector, Boolean includeUninitialized, String labelSelector, Integer limit, String pretty, String resourceVersion, Integer timeoutSeconds, Boolean watch, final ApiCallback<DomainList> callback) throws ApiException {
    ProgressResponseBody.ProgressListener progressListener = null;
    ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
    if (callback != null) {
        progressListener = (bytesRead, contentLength, done) -> callback.onDownloadProgress(bytesRead, contentLength, done);
        progressRequestListener = (bytesWritten, contentLength, done) -> callback.onUploadProgress(bytesWritten, contentLength, done);
    }
    com.squareup.okhttp.Call call = listWebLogicOracleV1DomainForAllNamespacesValidateBeforeCall(_continue, fieldSelector, includeUninitialized, labelSelector, limit, pretty, resourceVersion, timeoutSeconds, watch, progressListener, progressRequestListener);
    Type localVarReturnType = new TypeToken<DomainList>() {
    }.getType();
    apiClient.executeAsync(call, localVarReturnType, callback);
    return call;
}
Also used : Type(java.lang.reflect.Type) ProgressResponseBody(io.kubernetes.client.ProgressResponseBody) DomainList(oracle.kubernetes.weblogic.domain.v1.DomainList) ProgressRequestBody(io.kubernetes.client.ProgressRequestBody)

Example 7 with DomainList

use of oracle.kubernetes.weblogic.domain.v1.DomainList in project weblogic-kubernetes-operator by oracle.

the class RestBackendImpl method getDomainsList.

private List<Domain> getDomainsList() {
    CallBuilderFactory factory = ContainerResolver.getInstance().getContainer().getSPI(CallBuilderFactory.class);
    Collection<List<Domain>> c = new ArrayList<List<Domain>>();
    try {
        for (String ns : targetNamespaces) {
            DomainList dl = factory.create().listDomain(ns);
            if (dl != null) {
                c.add(dl.getItems());
            }
        }
        return c.stream().flatMap(Collection::stream).collect(Collectors.toList());
    } catch (ApiException e) {
        throw handleApiException(e);
    }
}
Also used : ArrayList(java.util.ArrayList) CallBuilderFactory(oracle.kubernetes.operator.helpers.CallBuilderFactory) DomainList(oracle.kubernetes.weblogic.domain.v1.DomainList) ArrayList(java.util.ArrayList) List(java.util.List) DomainList(oracle.kubernetes.weblogic.domain.v1.DomainList) Domain(oracle.kubernetes.weblogic.domain.v1.Domain) ApiException(io.kubernetes.client.ApiException)

Example 8 with DomainList

use of oracle.kubernetes.weblogic.domain.v1.DomainList in project weblogic-kubernetes-operator by oracle.

the class CallBuilder method listDomain.

/* Domains */
/**
 * List domains
 * @param namespace Namespace
 * @return Domain list
 * @throws ApiException API exception
 */
public DomainList listDomain(String namespace) throws ApiException {
    String _continue = "";
    ApiClient client = helper.take();
    try {
        return new WeblogicApi(client).listWebLogicOracleV1NamespacedDomain(namespace, pretty, _continue, fieldSelector, includeUninitialized, labelSelector, limit, resourceVersion, timeoutSeconds, watch);
    } finally {
        helper.recycle(client);
    }
}
Also used : WeblogicApi(oracle.kubernetes.weblogic.domain.v1.api.WeblogicApi) ApiClient(io.kubernetes.client.ApiClient)

Example 9 with DomainList

use of oracle.kubernetes.weblogic.domain.v1.DomainList in project weblogic-kubernetes-operator by oracle.

the class HealthCheckHelper method verifyDomainUidUniqueness.

/**
 * Verify that domain UIDs are unique.
 *
 * @throws ApiException exception for k8s API
 */
private HashMap<String, Domain> verifyDomainUidUniqueness() throws ApiException {
    CallBuilderFactory factory = ContainerResolver.getInstance().getContainer().getSPI(CallBuilderFactory.class);
    HashMap<String, Domain> domainUIDMap = new HashMap<>();
    for (String namespace : targetNamespaces) {
        DomainList domainList = factory.create().listDomain(namespace);
        LOGGER.info(MessageKeys.NUMBER_OF_DOMAINS_IN_NAMESPACE, domainList.getItems().size(), namespace);
        // Verify that the domain UID is unique within the k8s cluster.
        for (Domain domain : domainList.getItems()) {
            Domain domain2 = domainUIDMap.put(domain.getSpec().getDomainUID(), domain);
            // Domain UID already exist if not null
            if (domain2 != null) {
                logHealthCheckEvent(MessageKeys.DOMAIN_UID_UNIQUENESS_FAILED, domain.getSpec().getDomainUID(), domain.getMetadata().getName(), domain2.getMetadata().getName());
            }
        }
    }
    return domainUIDMap;
}
Also used : HashMap(java.util.HashMap) DomainList(oracle.kubernetes.weblogic.domain.v1.DomainList) Domain(oracle.kubernetes.weblogic.domain.v1.Domain)

Aggregations

DomainList (oracle.kubernetes.weblogic.domain.v1.DomainList)8 Type (java.lang.reflect.Type)4 ApiException (io.kubernetes.client.ApiException)2 ProgressRequestBody (io.kubernetes.client.ProgressRequestBody)2 ProgressResponseBody (io.kubernetes.client.ProgressResponseBody)2 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2 List (java.util.List)2 CompletionCallback (oracle.kubernetes.operator.work.Fiber.CompletionCallback)2 Packet (oracle.kubernetes.operator.work.Packet)2 Step (oracle.kubernetes.operator.work.Step)2 Domain (oracle.kubernetes.weblogic.domain.v1.Domain)2 ApiClient (io.kubernetes.client.ApiClient)1 JSON (io.kubernetes.client.JSON)1 V1ConfigMap (io.kubernetes.client.models.V1ConfigMap)1 V1DeleteOptions (io.kubernetes.client.models.V1DeleteOptions)1 V1EnvVar (io.kubernetes.client.models.V1EnvVar)1 V1ObjectMeta (io.kubernetes.client.models.V1ObjectMeta)1 V1PersistentVolumeClaimList (io.kubernetes.client.models.V1PersistentVolumeClaimList)1 V1Pod (io.kubernetes.client.models.V1Pod)1