/* * Copyright 2013-2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.cloudfoundry.uaa.clients; import reactor.core.publisher.Mono; /** * Main entry point to the UAA Clients API */ public interface Clients { /** * Makes the <a href="https://docs.cloudfoundry.org/api/uaa/#batch-secret-change">Batch Change Secret</a> request * * @param request the Batch Change Secret request * @return the response to the Batch Change Secret request */ Mono<BatchChangeSecretResponse> batchChangeSecret(BatchChangeSecretRequest request); /** * Makes the <a href="https://docs.cloudfoundry.org/api/uaa/#batch-create">Batch Create Client</a> request * * @param request the Batch Create Client request * @return the response to the Batch Create Client request */ Mono<BatchCreateClientsResponse> batchCreate(BatchCreateClientsRequest request); /** * Makes the <a href="https://docs.cloudfoundry.org/api/uaa/#batch-delete">Batch Delete Clients</a> request * * @param request the Batch Delete Clients request * @return the response to the Batch Delete Clients request */ Mono<BatchDeleteClientsResponse> batchDelete(BatchDeleteClientsRequest request); /** * Makes the <a href="https://docs.cloudfoundry.org/api/uaa/#batch-update">Batch Update Clients</a> request * * @param request the Batch Update Clients request * @return the response to the Batch Update Clients request */ Mono<BatchUpdateClientsResponse> batchUpdate(BatchUpdateClientsRequest request); /** * Makes the <a href="https://docs.cloudfoundry.org/api/uaa/#change-secret">Change Secret</a> request * * @param request the Change Secret request * @return the response to the Change Secret request */ Mono<ChangeSecretResponse> changeSecret(ChangeSecretRequest request); /** * Makes the <a href="https://docs.cloudfoundry.org/api/uaa/#create94">Create Client</a> request * * @param request the Create Client request * @return the response to the Create Client request */ Mono<CreateClientResponse> create(CreateClientRequest request); /** * Makes the <a href="https://docs.cloudfoundry.org/api/uaa/#delete97">Delete Client</a> request * * @param request the Delete Client request * @return the response to the Delete Client request */ Mono<DeleteClientResponse> delete(DeleteClientRequest request); /** * Makes the <a href="https://docs.cloudfoundry.org/api/uaa/#retrieve95">Retrieve Client</a> request * * @param request the Get Client request * @return the response to the Get Client request */ Mono<GetClientResponse> get(GetClientRequest request); /** * Makes the <a href="https://docs.cloudfoundry.org/api/uaa/#retrieve106">Retrieve Metadata</a> request * * @param request the Get Metadata request * @return the response to the Get Metadata request */ Mono<GetMetadataResponse> getMetadata(GetMetadataRequest request); /** * Makes the <a href="https://docs.cloudfoundry.org/api/uaa/#list99">List Clients</a> request * * @param request the List Clients request * @return the response to the List Clients request */ Mono<ListClientsResponse> list(ListClientsRequest request); /** * Makes the <a href="https://docs.cloudfoundry.org/api/uaa/#list107">List Metadatas</a> request * * @param request the List Metadatas request * @return the response to the List Metadatas request */ Mono<ListMetadatasResponse> listMetadatas(ListMetadatasRequest request); /** * Makes the <a href="https://docs.cloudfoundry.org/api/uaa/#mixed-actions">Mixed Actions</a> request * * @param request the Mixed Actions request * @return the response to the Mixed Actions request */ Mono<MixedActionsResponse> mixedActions(MixedActionsRequest request); /** * Makes the <a href="https://docs.cloudfoundry.org/api/uaa/#update96">Update Client</a> request * * @param request the Update Client request * @return the response to the Update Client request */ Mono<UpdateClientResponse> update(UpdateClientRequest request); /** * Makes the <a href="https://docs.cloudfoundry.org/api/uaa/#update108">Update Metadata</a> request * * @param request the Update Metadata request * @return the response to the Update Metadata request */ Mono<UpdateMetadataResponse> updateMetadata(UpdateMetadataRequest request); }