All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.sliew.carp.module.application.vela.api.v1.ProjectApi Maven / Gradle / Ivy

There is a newer version: 0.0.13
Show newest version
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you 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 cn.sliew.carp.module.application.vela.api.v1;

import cn.sliew.carp.module.application.vela.api.v1.model.security.V1PermissionBase;
import cn.sliew.carp.module.application.vela.api.v1.model.v1.*;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.List;

public interface ProjectApi {

    @RequestMapping(value = "/api/v1/projects/{projectName}/distributions")
    ResponseEntity listDistributions(@PathVariable("projectName") String projectName);

    @RequestMapping(value = "/api/v1/projects/{projectName}/distributions")
    ResponseEntity applyDistribution(@PathVariable("projectName") String projectName, @RequestBody V1CreateConfigDistributionRequest body);

    @RequestMapping(value = "/api/v1/projects/{projectName}/distributions/{distributionName}")
    ResponseEntity deleteDistribution(@PathVariable("projectName") String projectName, @PathVariable("distributionName") String distributionName);

    @RequestMapping(value = "/api/v1/projects")
    ResponseEntity listProjects();

    @RequestMapping(value = "/api/v1/projects/{projectName}")
    ResponseEntity detailProject(@PathVariable("projectName") String projectName);

    @RequestMapping(value = "/api/v1/projects")
    ResponseEntity createProject(@RequestBody V1CreateProjectRequest body);

    @RequestMapping(value = "/api/v1/projects/{projectName}")
    ResponseEntity updateProject(@PathVariable("projectName") String projectName, @RequestBody V1UpdateProjectRequest body);

    @RequestMapping(value = "/api/v1/projects/{projectName}")
    ResponseEntity deleteProject(@PathVariable("projectName") String projectName);

    @RequestMapping(value = "/api/v1/projects/{projectName}/configs")
    ResponseEntity getProjectConfigs(@PathVariable("projectName") String projectName, @RequestParam(value = "template", required = false) String template);

    @RequestMapping(value = "/api/v1/projects/{projectName}/configs/{configName}")
    ResponseEntity detailConfig(@PathVariable("projectName") String projectName, @PathVariable("configName") String configName, @RequestBody V1UpdateConfigRequest body);

    @RequestMapping(value = "/api/v1/projects/{projectName}/configs")
    ResponseEntity createProjectConfig(@PathVariable("projectName") String projectName, @RequestBody V1CreateConfigRequest body);

    @RequestMapping(value = "/api/v1/projects/{projectName}/configs/{configName}")
    ResponseEntity deleteProjectConfig(@PathVariable("projectName") String projectName, @PathVariable("configName") String configName);

    @RequestMapping(value = "/api/v1/projects/{projectName}/permissions")
    ResponseEntity> listProjectPermissions(@PathVariable("projectName") String projectName);

    @RequestMapping(value = "/api/v1/projects/{projectName}/permissions")
    ResponseEntity> createProjectPermission(@PathVariable("projectName") String projectName);

    @RequestMapping(value = "/api/v1/projects/{projectName}/configs/{configName}")
    ResponseEntity updateProjectConfig(@PathVariable("projectName") String projectName, @PathVariable("configName") String configName, @RequestBody V1UpdateConfigRequest body);

    @RequestMapping(value = "/api/v1/projects/{projectName}/permissions/{permissionName}")
    ResponseEntity> deleteProjectPermission(@PathVariable("projectName") String projectName, @PathVariable("permissionName") String permissionName);

    @RequestMapping(value = "/api/v1/projects/{projectName}/roles")
    ResponseEntity listProjectRoles(@PathVariable("projectName") String projectName);

    @RequestMapping(value = "/api/v1/projects/{projectName}/roles")
    ResponseEntity createProjectRole(@PathVariable("projectName") String projectName, @RequestBody V1CreateRoleRequest body);

    @RequestMapping(value = "/api/v1/projects/{projectName}/roles/{roleName}")
    ResponseEntity updateProjectRole(@PathVariable("projectName") String projectName, @PathVariable("roleName") String roleName, @RequestBody V1UpdateRoleRequest body);

    @RequestMapping(value = "/api/v1/projects/{projectName}/roles/{roleName}")
    ResponseEntity deleteProjectRole(@PathVariable("projectName") String projectName, @PathVariable("roleName") String roleName);

    @RequestMapping(value = "/api/v1/projects/{projectName}/users")
    ResponseEntity listProjectUser(@PathVariable("projectName") String projectName);

    @RequestMapping(value = "/api/v1/projects/{projectName}/users")
    ResponseEntity createProjectUser(@PathVariable("projectName") String projectName, @RequestBody V1AddProjectUserRequest body);

    @RequestMapping(value = "/api/v1/projects/{projectName}/users/{userName}")
    ResponseEntity updateProjectUser(@RequestBody V1UpdateProjectUserRequest body, @PathVariable("projectName") String projectName, @PathVariable("userName") String userName);

    @RequestMapping(value = "/api/v1/projects/{projectName}/users/{userName}")
    ResponseEntity deleteProjectUser(@RequestBody V1UpdateProjectUserRequest body, @PathVariable("projectName") String projectName, @PathVariable("userName") String userName);

    @RequestMapping(value = "/api/v1/projects/{projectName}/config_templates")
    ResponseEntity getConfigTemplates(@PathVariable("projectName") String projectName, @RequestParam(value = "namespace", required = true) String namespace);

    @RequestMapping(value = "/api/v1/projects/{projectName}/config_templates/{templateName}")
    ResponseEntity getConfigTemplateByTemplateName(@PathVariable("projectName") String projectName, @PathVariable("templateName") String templateName, @RequestParam(value = "namespace", required = false) String namespace);

    @RequestMapping(value = "/api/v1/projects/{projectName}/providers")
    ResponseEntity getProviders(@PathVariable("projectName") String projectName);

    @RequestMapping(value = "/api/v1/projects/{projectName}/targets")
    ResponseEntity listProjectTargets(@PathVariable("projectName") String projectName);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy