You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by is...@apache.org on 2021/05/21 12:31:57 UTC
[airavata-custos] branch develop updated: add swagger apis
This is an automated email from the ASF dual-hosted git repository.
isjarana pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata-custos.git
The following commit(s) were added to refs/heads/develop by this push:
new 64fbe39 add swagger apis
new d5a5e92 Merge pull request #170 from isururanawaka/grpc-gateway
64fbe39 is described below
commit 64fbe39f86ec4a6094ebac6506d1ce5995fd82e6
Author: Isuru Ranawaka <ir...@gmail.com>
AuthorDate: Fri May 21 08:30:25 2021 -0400
add swagger apis
---
.../ResourceSecretManagementAgentClient.java | 3 +-
.../src/main/proto/AgentProfileService.proto | 2 +
.../src/main/proto/ClusterManagementService.proto | 2 +-
.../src/main/proto/CredentialStoreService.proto | 1 +
.../src/main/resources/bootstrap.properties | 2 +-
.../main/resources/vault-client-truststore.pkcs12 | Bin 1626 -> 1626 bytes
.../src/main/proto/LoggingService.proto | 2 +
.../proto/FederatedAuthenticationService.proto | 1 +
.../src/main/proto/IamAdminService.proto | 2 +-
.../src/main/proto/IdentityService.proto | 2 +-
.../src/main/proto/ResourceSecretService.proto | 1 +
.../main/resources/vault-client-truststore.pkcs12 | Bin 1626 -> 1626 bytes
.../src/main/proto/SharingService.proto | 2 +-
.../src/main/proto/TenantProfileService.proto | 1 +
.../src/main/proto/UserProfileService.proto | 2 +-
.../src/main/proto/AgentManagementService.proto | 2 +
.../custos-integration-services-swagger/Dockerfile | 5 +
.../custos-integration-services-swagger/pom.xml | 101 +
.../src/main/helm/.helmignore | 22 +
.../src/main/helm/Chart.yaml | 5 +
.../src/main/helm/templates/NOTES.txt | 21 +
.../src/main/helm/templates/_helpers.tpl | 56 +
.../src/main/helm/templates/deployment.yaml | 61 +
.../src/main/helm/templates/ingress.yaml | 21 +
.../src/main/helm/templates/service.yaml | 25 +
.../src/main/helm/templates/serviceaccount.yaml | 8 +
.../main/helm/templates/tests/test-connection.yaml | 15 +
.../src/main/helm/values.yaml | 8 -
.../services/swagger/SwaggerInitializer.java | 50 +
.../custos/services/swagger/SwaggerSpecConfig.java | 55 +
.../swagger/controller/SwaggerUIController.java | 37 +
.../src/main/resources/application.properties | 26 +
.../resources/protos}/AgentManagementService.proto | 2 +
.../resources/protos}/AgentProfileService.proto | 2 +
.../protos}/ClusterManagementService.proto | 2 +-
.../resources/protos}/CredentialStoreService.proto | 1 +
.../protos}/FederatedAuthenticationService.proto | 1 +
.../resources/protos}/GroupManagementService.proto | 1 +
.../main/resources/protos}/IamAdminService.proto | 2 +-
.../protos}/IdentityManagementService.proto | 3 +-
.../main/resources/protos}/IdentityService.proto | 2 +-
.../resources/protos}/LogManagementService.proto | 2 +-
.../main/resources/protos}/LoggingService.proto | 2 +
.../protos}/ResourceSecretManagementService.proto | 1 +
.../resources/protos}/ResourceSecretService.proto | 1 +
.../protos}/SharingManagementService.proto | 1 +
.../main/resources/protos}/SharingService.proto | 2 +-
.../protos}/TenantManagementService.proto | 11 +-
.../resources/protos}/TenantProfileService.proto | 1 +
.../resources/protos}/UserManagementService.proto | 6 +-
.../resources/protos}/UserProfileService.proto | 2 +-
.../agent-management-service/swagger.json | 830 +++++++
.../cluster-management-service/swagger.json | 59 +
.../group-management-service/swagger.json | 2119 +++++++++++++++++
.../identity-management-service/swagger.json | 659 ++++++
.../log-management-service/swagger.json | 245 ++
.../swagger.json | 1792 +++++++++++++++
.../sharing-management-service/swagger.json | 2390 ++++++++++++++++++++
.../tenant-management-service/swagger.json | 1660 ++++++++++++++
.../user-management-service/swagger.json | 1997 ++++++++++++++++
.../src/main/proto/GroupManagementService.proto | 1 +
.../src/main/proto/IdentityManagementService.proto | 1 +
.../log-management-service/pom.xml | 1 +
.../src/main/helm/values.yaml | 1 +
.../src/main/proto/LogManagementService.proto | 2 +-
custos-integration-services/pom.xml | 1 +
.../proto/ResourceSecretManagementService.proto | 1 +
.../src/main/proto/SharingManagementService.proto | 1 +
.../src/main/proto/TenantManagementService.proto | 1 +
.../src/main/proto/UserManagementService.proto | 2 +-
pom.xml | 31 +
71 files changed, 12345 insertions(+), 35 deletions(-)
diff --git a/custos-client-sdks/custos-java-clients/resource-secret-management-client/src/main/java/org/apache/custos/resource/secret/management/client/ResourceSecretManagementAgentClient.java b/custos-client-sdks/custos-java-clients/resource-secret-management-client/src/main/java/org/apache/custos/resource/secret/management/client/ResourceSecretManagementAgentClient.java
index 8d729fe..e088168 100644
--- a/custos-client-sdks/custos-java-clients/resource-secret-management-client/src/main/java/org/apache/custos/resource/secret/management/client/ResourceSecretManagementAgentClient.java
+++ b/custos-client-sdks/custos-java-clients/resource-secret-management-client/src/main/java/org/apache/custos/resource/secret/management/client/ResourceSecretManagementAgentClient.java
@@ -85,7 +85,8 @@ public class ResourceSecretManagementAgentClient extends ResourceSecretManagemen
}
public AddResourceCredentialResponse addPasswordCredential(String userToken, String agentToken,
- String clientId, String description, String ownerId, String userId,String password) {
+ String clientId, String description,
+ String ownerId, String userId,String password) {
return super.addPasswordCredential(clientId,
description, ownerId, userId, password,attachedHeaders(userToken, agentToken));
}
diff --git a/custos-core-services/agent-profile-core-service/src/main/proto/AgentProfileService.proto b/custos-core-services/agent-profile-core-service/src/main/proto/AgentProfileService.proto
index 2f59393..7d26877 100644
--- a/custos-core-services/agent-profile-core-service/src/main/proto/AgentProfileService.proto
+++ b/custos-core-services/agent-profile-core-service/src/main/proto/AgentProfileService.proto
@@ -23,6 +23,8 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.agent.profile.service;
+option go_package = "./pb";
+
message Agent {
string id = 1;
AgentStatus status = 2;
diff --git a/custos-core-services/cluster-management-core-service/src/main/proto/ClusterManagementService.proto b/custos-core-services/cluster-management-core-service/src/main/proto/ClusterManagementService.proto
index 9739d06..6c58702 100644
--- a/custos-core-services/cluster-management-core-service/src/main/proto/ClusterManagementService.proto
+++ b/custos-core-services/cluster-management-core-service/src/main/proto/ClusterManagementService.proto
@@ -22,7 +22,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.cluster.management.service;
-
+option go_package = "./pb";
message GetServerCertificateRequest {
string secretName = 1;
string namespace = 2;
diff --git a/custos-core-services/credential-store-core-service/src/main/proto/CredentialStoreService.proto b/custos-core-services/credential-store-core-service/src/main/proto/CredentialStoreService.proto
index da6002b..691df79 100644
--- a/custos-core-services/credential-store-core-service/src/main/proto/CredentialStoreService.proto
+++ b/custos-core-services/credential-store-core-service/src/main/proto/CredentialStoreService.proto
@@ -22,6 +22,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.credential.store.service;
+option go_package = "./pb";
enum Type {
CUSTOS = 0;
diff --git a/custos-core-services/credential-store-core-service/src/main/resources/bootstrap.properties b/custos-core-services/credential-store-core-service/src/main/resources/bootstrap.properties
index dc723c8..8e7e1df 100644
--- a/custos-core-services/credential-store-core-service/src/main/resources/bootstrap.properties
+++ b/custos-core-services/credential-store-core-service/src/main/resources/bootstrap.properties
@@ -16,7 +16,7 @@
# specific language governing permissions and limitations
# under the License
-spring.cloud.vault.token={{vault_token}}
+spring.cloud.vault.token={{token}}
spring.cloud.vault.scheme=https
spring.cloud.vault.host=vault.custos.scigap.org
spring.cloud.vault.port=31190
diff --git a/custos-core-services/credential-store-core-service/src/main/resources/vault-client-truststore.pkcs12 b/custos-core-services/credential-store-core-service/src/main/resources/vault-client-truststore.pkcs12
index 8314bc0..57b06d9 100644
Binary files a/custos-core-services/credential-store-core-service/src/main/resources/vault-client-truststore.pkcs12 and b/custos-core-services/credential-store-core-service/src/main/resources/vault-client-truststore.pkcs12 differ
diff --git a/custos-core-services/custos-logging/src/main/proto/LoggingService.proto b/custos-core-services/custos-logging/src/main/proto/LoggingService.proto
index 889ca3d..7ab3fa5 100644
--- a/custos-core-services/custos-logging/src/main/proto/LoggingService.proto
+++ b/custos-core-services/custos-logging/src/main/proto/LoggingService.proto
@@ -25,6 +25,8 @@ package org.apache.custos.logging.service;
import "google/protobuf/empty.proto";
+option go_package = "./pb";
+
message LogEvent {
int64 created_time = 1;
diff --git a/custos-core-services/federated-authentication-core-service/src/main/proto/FederatedAuthenticationService.proto b/custos-core-services/federated-authentication-core-service/src/main/proto/FederatedAuthenticationService.proto
index 900fb77..7da3d0c 100644
--- a/custos-core-services/federated-authentication-core-service/src/main/proto/FederatedAuthenticationService.proto
+++ b/custos-core-services/federated-authentication-core-service/src/main/proto/FederatedAuthenticationService.proto
@@ -23,6 +23,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.federated.authentication.service;
import "google/protobuf/struct.proto";
+option go_package = "./pb";
enum InstitutionCacheType {
WHITELIST = 0;
diff --git a/custos-core-services/iam-admin-core-service/src/main/proto/IamAdminService.proto b/custos-core-services/iam-admin-core-service/src/main/proto/IamAdminService.proto
index 77ff45b..30c3469 100644
--- a/custos-core-services/iam-admin-core-service/src/main/proto/IamAdminService.proto
+++ b/custos-core-services/iam-admin-core-service/src/main/proto/IamAdminService.proto
@@ -24,7 +24,7 @@ option java_multiple_files = true;
package org.apache.custos.iam.service;
import "google/protobuf/empty.proto";
-
+option go_package = "./pb";
enum FederatedIDPs {
CILOGON = 0;
diff --git a/custos-core-services/identity-core-service/src/main/proto/IdentityService.proto b/custos-core-services/identity-core-service/src/main/proto/IdentityService.proto
index da94996..e6ac2ba 100644
--- a/custos-core-services/identity-core-service/src/main/proto/IdentityService.proto
+++ b/custos-core-services/identity-core-service/src/main/proto/IdentityService.proto
@@ -23,7 +23,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.identity.service;
import "google/protobuf/struct.proto";
-
+option go_package = "./pb";
message AuthToken {
string access_token = 1;
diff --git a/custos-core-services/resource-secret-core-service/src/main/proto/ResourceSecretService.proto b/custos-core-services/resource-secret-core-service/src/main/proto/ResourceSecretService.proto
index fce978f..72c8800 100644
--- a/custos-core-services/resource-secret-core-service/src/main/proto/ResourceSecretService.proto
+++ b/custos-core-services/resource-secret-core-service/src/main/proto/ResourceSecretService.proto
@@ -23,6 +23,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.resource.secret.service;
+option go_package = "./pb";
enum ResourceOwnerType {
TENANT_USER = 0;
diff --git a/custos-core-services/resource-secret-core-service/src/main/resources/vault-client-truststore.pkcs12 b/custos-core-services/resource-secret-core-service/src/main/resources/vault-client-truststore.pkcs12
index 8314bc0..57b06d9 100644
Binary files a/custos-core-services/resource-secret-core-service/src/main/resources/vault-client-truststore.pkcs12 and b/custos-core-services/resource-secret-core-service/src/main/resources/vault-client-truststore.pkcs12 differ
diff --git a/custos-core-services/sharing-core-service/src/main/proto/SharingService.proto b/custos-core-services/sharing-core-service/src/main/proto/SharingService.proto
index fff95b9..fca0096 100644
--- a/custos-core-services/sharing-core-service/src/main/proto/SharingService.proto
+++ b/custos-core-services/sharing-core-service/src/main/proto/SharingService.proto
@@ -23,7 +23,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.sharing.service;
-
+option go_package = "./pb";
enum SearchCondition {
EQUAL = 0;
LIKE = 1;
diff --git a/custos-core-services/tenant-profile-core-service/src/main/proto/TenantProfileService.proto b/custos-core-services/tenant-profile-core-service/src/main/proto/TenantProfileService.proto
index 6073bfc..2af0d86 100644
--- a/custos-core-services/tenant-profile-core-service/src/main/proto/TenantProfileService.proto
+++ b/custos-core-services/tenant-profile-core-service/src/main/proto/TenantProfileService.proto
@@ -22,6 +22,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.tenant.profile.service;
+option go_package = "./pb";
message Tenant {
int64 tenant_id = 1;
diff --git a/custos-core-services/user-profile-core-service/src/main/proto/UserProfileService.proto b/custos-core-services/user-profile-core-service/src/main/proto/UserProfileService.proto
index fb840ad..66197e6 100644
--- a/custos-core-services/user-profile-core-service/src/main/proto/UserProfileService.proto
+++ b/custos-core-services/user-profile-core-service/src/main/proto/UserProfileService.proto
@@ -22,7 +22,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.user.profile.service;
-
+option go_package = "./pb";
enum UserStatus {
ACTIVE = 0;
diff --git a/custos-integration-services/agent-management-service-parent/agent-management-service/src/main/proto/AgentManagementService.proto b/custos-integration-services/agent-management-service-parent/agent-management-service/src/main/proto/AgentManagementService.proto
index 6dd59e6..12609e7 100644
--- a/custos-integration-services/agent-management-service-parent/agent-management-service/src/main/proto/AgentManagementService.proto
+++ b/custos-integration-services/agent-management-service-parent/agent-management-service/src/main/proto/AgentManagementService.proto
@@ -28,6 +28,8 @@ import "google/rpc/error_details.proto";
import "google/protobuf/empty.proto";
import "IamAdminService.proto";
+option go_package = "./pb";
+
message AgentSearchRequest {
int64 tenantId = 2;
diff --git a/custos-integration-services/custos-integration-services-swagger/Dockerfile b/custos-integration-services/custos-integration-services-swagger/Dockerfile
new file mode 100644
index 0000000..a2b1503
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/Dockerfile
@@ -0,0 +1,5 @@
+FROM openjdk:11-jre-slim
+VOLUME /tmp
+ARG JAR_FILE
+ADD ${JAR_FILE} app.jar
+ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
\ No newline at end of file
diff --git a/custos-integration-services/custos-integration-services-swagger/pom.xml b/custos-integration-services/custos-integration-services-swagger/pom.xml
new file mode 100644
index 0000000..140a5a3
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/pom.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ 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.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <artifactId>custos-integration-services</artifactId>
+ <groupId>org.apache.custos</groupId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>custos-integration-services-swagger</artifactId>
+
+ <properties>
+ <maven.compiler.source>11</maven.compiler.source>
+ <maven.compiler.target>11</maven.compiler.target>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>io.springfox</groupId>
+ <artifactId>springfox-swagger-ui</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.springfox</groupId>
+ <artifactId>springfox-swagger2</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.springfox</groupId>
+ <artifactId>springfox-bean-validators</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.springfox</groupId>
+ <artifactId>springfox-swagger-common</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-web</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-actuator</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.cloud</groupId>
+ <artifactId>spring-cloud-starter-config</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.cloud</groupId>
+ <artifactId>spring-cloud-starter-sleuth</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.cloud</groupId>
+ <artifactId>spring-cloud-sleuth-zipkin</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.springfox</groupId>
+ <artifactId>springfox-spring-web</artifactId>
+ <version>2.9.2</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>com.spotify</groupId>
+ <artifactId>dockerfile-maven-plugin</artifactId>
+ <configuration>
+ <skip>false</skip>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>com.deviceinsight.helm</groupId>
+ <artifactId>helm-maven-plugin</artifactId>
+ <configuration>
+ <skip>false</skip>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
\ No newline at end of file
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/helm/.helmignore b/custos-integration-services/custos-integration-services-swagger/src/main/helm/.helmignore
new file mode 100644
index 0000000..50af031
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/helm/.helmignore
@@ -0,0 +1,22 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/helm/Chart.yaml b/custos-integration-services/custos-integration-services-swagger/src/main/helm/Chart.yaml
new file mode 100644
index 0000000..f3c727f
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/helm/Chart.yaml
@@ -0,0 +1,5 @@
+apiVersion: v1
+appVersion: "1.0"
+description: A Helm of custos log management service
+name: ${artifactId}
+version: ${project.version}
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/NOTES.txt b/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/NOTES.txt
new file mode 100644
index 0000000..b1a316f
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/NOTES.txt
@@ -0,0 +1,21 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range $host := .Values.ingress.hosts }}
+ {{- range .paths }}
+ http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }}
+ {{- end }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "helm.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "helm.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "helm.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
+ echo http://$SERVICE_IP:{{ .Values.service.port }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "helm.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:80
+{{- end }}
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/_helpers.tpl b/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/_helpers.tpl
new file mode 100644
index 0000000..86a9288
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/_helpers.tpl
@@ -0,0 +1,56 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "helm.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "helm.fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "helm.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Common labels
+*/}}
+{{- define "helm.labels" -}}
+app.kubernetes.io/name: {{ include "helm.name" . }}
+helm.sh/chart: {{ include "helm.chart" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end -}}
+
+{{/*
+Create the name of the service account to use
+*/}}
+{{- define "helm.serviceAccountName" -}}
+{{- if .Values.serviceAccount.create -}}
+ {{ default (include "helm.fullname" .) .Values.serviceAccount.name }}
+{{- else -}}
+ {{ default "default" .Values.serviceAccount.name }}
+{{- end -}}
+{{- end -}}
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/deployment.yaml b/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/deployment.yaml
new file mode 100644
index 0000000..3c30739
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/deployment.yaml
@@ -0,0 +1,61 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "helm.fullname" . }}
+ labels:
+{{ include "helm.labels" . | indent 4 }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ rollingUpdate:
+ maxSurge: {{ .Values.rollingUpdate.maxSurge }}
+ maxUnavailable: {{ .Values.rollingUpdate.maxUnavailable }}
+ selector:
+ matchLabels:
+ app.kubernetes.io/name: {{ include "helm.name" . }}
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ template:
+ metadata:
+ annotations:
+ linkerd.io/inject: enabled
+ labels:
+ app.kubernetes.io/name: {{ include "helm.name" . }}
+ app.kubernetes.io/instance: {{ .Release.Name }}
+ spec:
+ {{- with .Values.imagePullSecrets }}
+ imagePullSecrets:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ serviceAccountName: {{ template "helm.serviceAccountName" . }}
+ securityContext:
+ {{- toYaml .Values.podSecurityContext | nindent 8 }}
+ containers:
+ - name: {{ .Chart.Name }}
+ securityContext:
+ {{- toYaml .Values.securityContext | nindent 12 }}
+ image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
+ imagePullPolicy: {{ .Values.image.pullPolicy }}
+ ports:
+ - name: http
+ containerPort: {{ .Values.service.port }}
+ protocol: TCP
+ readinessProbe:
+ httpGet:
+ path: /actuator/health
+ port: {{ .Values.service.port }}
+ initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
+ successThreshold: {{ .Values.readinessProbe.successThreshold }}
+ resources:
+ {{- toYaml .Values.resources | nindent 12 }}
+ {{- with .Values.nodeSelector }}
+ nodeSelector:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.affinity }}
+ affinity:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
+ {{- with .Values.tolerations }}
+ tolerations:
+ {{- toYaml . | nindent 8 }}
+ {{- end }}
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/ingress.yaml b/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/ingress.yaml
new file mode 100644
index 0000000..94b11c2
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/ingress.yaml
@@ -0,0 +1,21 @@
+apiVersion: networking.k8s.io/v1beta1 # for versions before 1.14 use extensions/v1beta1
+kind: Ingress
+metadata:
+ name: ${artifactId}-ingress
+ annotations:
+ nginx.ingress.kubernetes.io/rewrite-target: /$2
+ cert-manager.io/cluster-issuer: letsencrypt-production
+spec:
+ rules:
+ - host: custos.scigap.org
+ http:
+ paths:
+ - path: /services(/|$)(.*)
+ backend:
+ serviceName: custos-integration-services-swagger
+ servicePort: http
+
+ tls:
+ - hosts:
+ - custos.scigap.org
+ secretName: tls-secret
\ No newline at end of file
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/service.yaml b/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/service.yaml
new file mode 100644
index 0000000..5752c1d
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/service.yaml
@@ -0,0 +1,25 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "helm.name" . }}
+ annotations:
+ getambassador.io/config: |
+ ---
+ apiVersion: ambassador/v1
+ kind: Mapping
+ name: tenant-management-service-mapping
+ prefix: /tenant-management/
+ rewrite: ""
+ service: tenant-management-service.custos:50000
+ labels:
+{{ include "helm.labels" . | indent 4 }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ - port: {{ .Values.service.port }}
+ targetPort: http
+ protocol: TCP
+ name: http
+ selector:
+ app.kubernetes.io/name: {{ include "helm.name" . }}
+ app.kubernetes.io/instance: {{ .Release.Name }}
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/serviceaccount.yaml b/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/serviceaccount.yaml
new file mode 100644
index 0000000..87c82d5
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/serviceaccount.yaml
@@ -0,0 +1,8 @@
+{{- if .Values.serviceAccount.create -}}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: {{ template "helm.serviceAccountName" . }}
+ labels:
+{{ include "helm.labels" . | indent 4 }}
+{{- end -}}
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/tests/test-connection.yaml b/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/tests/test-connection.yaml
new file mode 100644
index 0000000..eac279f
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/helm/templates/tests/test-connection.yaml
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Pod
+metadata:
+ name: "{{ include "helm.fullname" . }}-test-connection"
+ labels:
+{{ include "helm.labels" . | indent 4 }}
+ annotations:
+ "helm.sh/hook": test-success
+spec:
+ containers:
+ - name: wget
+ image: busybox
+ command: ['wget']
+ args: ['{{ include "helm.fullname" . }}:{{ .Values.service.port }}']
+ restartPolicy: Never
diff --git a/custos-integration-services/log-management-service-parent/log-management-service/src/main/helm/values.yaml b/custos-integration-services/custos-integration-services-swagger/src/main/helm/values.yaml
similarity index 91%
copy from custos-integration-services/log-management-service-parent/log-management-service/src/main/helm/values.yaml
copy to custos-integration-services/custos-integration-services-swagger/src/main/helm/values.yaml
index 9bbe139..8cc578c 100644
--- a/custos-integration-services/log-management-service-parent/log-management-service/src/main/helm/values.yaml
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/helm/values.yaml
@@ -34,7 +34,6 @@ securityContext: {}
service:
type: ClusterIP
port: 8080
- grpcport: 7000
ingress:
enabled: false
@@ -73,13 +72,6 @@ role:
binding: resource-role-binder
-proxy:
- repository: apachecustos/log-management-service-sidecar
- tag: 1.0-SNAPSHOT
- port: 50000
- webport: 50001
- adminport: 9901
-
rollingUpdate:
maxSurge: 1
maxUnavailable: 25%
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/java/org/apache/custos/services/swagger/SwaggerInitializer.java b/custos-integration-services/custos-integration-services-swagger/src/main/java/org/apache/custos/services/swagger/SwaggerInitializer.java
new file mode 100644
index 0000000..09b3c94
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/java/org/apache/custos/services/swagger/SwaggerInitializer.java
@@ -0,0 +1,50 @@
+/*
+ * 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 org.apache.custos.services.swagger;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Bean;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+import static springfox.documentation.spi.DocumentationType.SWAGGER_2;
+
+
+@EnableSwagger2
+@SpringBootApplication
+public class SwaggerInitializer {
+ public static void main(String[] args) {
+ SpringApplication.run(SwaggerInitializer.class, args);
+ }
+
+
+ @Bean
+ public Docket swagger() {
+ return new Docket(SWAGGER_2)
+ .select()
+ .apis(RequestHandlerSelectors.any())
+ .paths(PathSelectors.any())
+ .build();
+ }
+
+}
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/java/org/apache/custos/services/swagger/SwaggerSpecConfig.java b/custos-integration-services/custos-integration-services-swagger/src/main/java/org/apache/custos/services/swagger/SwaggerSpecConfig.java
new file mode 100644
index 0000000..ac49ee6
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/java/org/apache/custos/services/swagger/SwaggerSpecConfig.java
@@ -0,0 +1,55 @@
+/*
+ * 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 org.apache.custos.services.swagger;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+import springfox.documentation.swagger.web.SwaggerResource;
+import springfox.documentation.swagger.web.SwaggerResourcesProvider;
+
+@Configuration
+public class SwaggerSpecConfig {
+
+ @Primary
+ @Bean
+ public SwaggerResourcesProvider swaggerResourcesProvider() {
+ return () -> {
+ List<SwaggerResource> resources = new ArrayList<>();
+ Arrays.asList("log-management-service","agent-management-service",
+ "cluster-management-service","group-management-service","identity-management-service",
+ "resource-secret-management-service",
+ "sharing-management-service","tenant-management-service","user-management-service")
+ .forEach(resourceName -> resources.add(loadResource(resourceName)));
+ return resources;
+ };
+ }
+
+ private SwaggerResource loadResource(String resource) {
+ SwaggerResource wsResource = new SwaggerResource();
+ wsResource.setName(resource);
+ wsResource.setSwaggerVersion("2.0");
+ wsResource.setLocation("/swagger-apis/" + resource + "/swagger.json");
+ return wsResource;
+ }
+}
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/java/org/apache/custos/services/swagger/controller/SwaggerUIController.java b/custos-integration-services/custos-integration-services-swagger/src/main/java/org/apache/custos/services/swagger/controller/SwaggerUIController.java
new file mode 100644
index 0000000..f995936
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/java/org/apache/custos/services/swagger/controller/SwaggerUIController.java
@@ -0,0 +1,37 @@
+/*
+ * 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 org.apache.custos.services.swagger.controller;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+@Controller
+@RequestMapping("/swagger")
+public class SwaggerUIController {
+
+ @GetMapping("/{name}/{version}")
+ public String homePage(@PathVariable("name") String name, @PathVariable("version") String version, Model model) {
+ model.addAttribute("filePath", "/swagger/" + name + '/' + version + "/swagger.json");
+ return "redoc";
+ }
+}
\ No newline at end of file
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/resources/application.properties b/custos-integration-services/custos-integration-services-swagger/src/main/resources/application.properties
new file mode 100644
index 0000000..aac3bad
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/application.properties
@@ -0,0 +1,26 @@
+#
+# 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.
+#
+server.port=8080
+spring.application.name=swaggerService
+spring.zipkin.baseUrl=http://149.165.169.49:9411/
+spring.sleuth.sampler.probability=1
+management.security.enabled=false
+management.endpoints.web.exposure.include=*
+management.endpoint.metrics.enabled=true
+spring.main.allow-bean-definition-overriding=true
\ No newline at end of file
diff --git a/custos-integration-services/agent-management-service-parent/agent-management-service/src/main/proto/AgentManagementService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/AgentManagementService.proto
similarity index 99%
copy from custos-integration-services/agent-management-service-parent/agent-management-service/src/main/proto/AgentManagementService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/AgentManagementService.proto
index 6dd59e6..12609e7 100644
--- a/custos-integration-services/agent-management-service-parent/agent-management-service/src/main/proto/AgentManagementService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/AgentManagementService.proto
@@ -28,6 +28,8 @@ import "google/rpc/error_details.proto";
import "google/protobuf/empty.proto";
import "IamAdminService.proto";
+option go_package = "./pb";
+
message AgentSearchRequest {
int64 tenantId = 2;
diff --git a/custos-core-services/agent-profile-core-service/src/main/proto/AgentProfileService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/AgentProfileService.proto
similarity index 98%
copy from custos-core-services/agent-profile-core-service/src/main/proto/AgentProfileService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/AgentProfileService.proto
index 2f59393..7d26877 100644
--- a/custos-core-services/agent-profile-core-service/src/main/proto/AgentProfileService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/AgentProfileService.proto
@@ -23,6 +23,8 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.agent.profile.service;
+option go_package = "./pb";
+
message Agent {
string id = 1;
AgentStatus status = 2;
diff --git a/custos-core-services/cluster-management-core-service/src/main/proto/ClusterManagementService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/ClusterManagementService.proto
similarity index 97%
copy from custos-core-services/cluster-management-core-service/src/main/proto/ClusterManagementService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/ClusterManagementService.proto
index 9739d06..6c58702 100644
--- a/custos-core-services/cluster-management-core-service/src/main/proto/ClusterManagementService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/ClusterManagementService.proto
@@ -22,7 +22,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.cluster.management.service;
-
+option go_package = "./pb";
message GetServerCertificateRequest {
string secretName = 1;
string namespace = 2;
diff --git a/custos-core-services/credential-store-core-service/src/main/proto/CredentialStoreService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/CredentialStoreService.proto
similarity index 99%
copy from custos-core-services/credential-store-core-service/src/main/proto/CredentialStoreService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/CredentialStoreService.proto
index da6002b..691df79 100644
--- a/custos-core-services/credential-store-core-service/src/main/proto/CredentialStoreService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/CredentialStoreService.proto
@@ -22,6 +22,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.credential.store.service;
+option go_package = "./pb";
enum Type {
CUSTOS = 0;
diff --git a/custos-core-services/federated-authentication-core-service/src/main/proto/FederatedAuthenticationService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/FederatedAuthenticationService.proto
similarity index 99%
copy from custos-core-services/federated-authentication-core-service/src/main/proto/FederatedAuthenticationService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/FederatedAuthenticationService.proto
index 900fb77..7da3d0c 100644
--- a/custos-core-services/federated-authentication-core-service/src/main/proto/FederatedAuthenticationService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/FederatedAuthenticationService.proto
@@ -23,6 +23,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.federated.authentication.service;
import "google/protobuf/struct.proto";
+option go_package = "./pb";
enum InstitutionCacheType {
WHITELIST = 0;
diff --git a/custos-integration-services/group-management-service-parent/group-management-service/src/main/proto/GroupManagementService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/GroupManagementService.proto
similarity index 99%
copy from custos-integration-services/group-management-service-parent/group-management-service/src/main/proto/GroupManagementService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/GroupManagementService.proto
index 8a556b7..df5d5bd 100644
--- a/custos-integration-services/group-management-service-parent/group-management-service/src/main/proto/GroupManagementService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/GroupManagementService.proto
@@ -22,6 +22,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.group.management.service;
+option go_package = "./pb";
import "google/api/annotations.proto";
import "UserProfileService.proto";
diff --git a/custos-core-services/iam-admin-core-service/src/main/proto/IamAdminService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/IamAdminService.proto
similarity index 99%
copy from custos-core-services/iam-admin-core-service/src/main/proto/IamAdminService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/IamAdminService.proto
index 77ff45b..30c3469 100644
--- a/custos-core-services/iam-admin-core-service/src/main/proto/IamAdminService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/IamAdminService.proto
@@ -24,7 +24,7 @@ option java_multiple_files = true;
package org.apache.custos.iam.service;
import "google/protobuf/empty.proto";
-
+option go_package = "./pb";
enum FederatedIDPs {
CILOGON = 0;
diff --git a/custos-integration-services/identity-management-service-parent/identity-management-service/src/main/proto/IdentityManagementService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/IdentityManagementService.proto
similarity index 98%
copy from custos-integration-services/identity-management-service-parent/identity-management-service/src/main/proto/IdentityManagementService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/IdentityManagementService.proto
index 517d557..c08a828 100644
--- a/custos-integration-services/identity-management-service-parent/identity-management-service/src/main/proto/IdentityManagementService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/IdentityManagementService.proto
@@ -22,6 +22,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.identity.management.service;
+option go_package = "./pb";
import "google/api/annotations.proto";
import "IdentityService.proto";
@@ -153,7 +154,7 @@ service IdentityManagementService {
rpc isAgentAuthenticated(org.apache.custos.identity.service.AuthToken) returns (org.apache.custos.identity.service.IsAuthenticatedResponse) {
option (google.api.http) = {
post: "/identity-management/v1.0.0/agent/authentication/status"
- body: "body"
+ body: "*"
};
}
}
\ No newline at end of file
diff --git a/custos-core-services/identity-core-service/src/main/proto/IdentityService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/IdentityService.proto
similarity index 99%
copy from custos-core-services/identity-core-service/src/main/proto/IdentityService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/IdentityService.proto
index da94996..e6ac2ba 100644
--- a/custos-core-services/identity-core-service/src/main/proto/IdentityService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/IdentityService.proto
@@ -23,7 +23,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.identity.service;
import "google/protobuf/struct.proto";
-
+option go_package = "./pb";
message AuthToken {
string access_token = 1;
diff --git a/custos-integration-services/log-management-service-parent/log-management-service/src/main/proto/LogManagementService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/LogManagementService.proto
similarity index 98%
copy from custos-integration-services/log-management-service-parent/log-management-service/src/main/proto/LogManagementService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/LogManagementService.proto
index 25a5133..3b1c772 100644
--- a/custos-integration-services/log-management-service-parent/log-management-service/src/main/proto/LogManagementService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/LogManagementService.proto
@@ -28,7 +28,7 @@ import "google/protobuf/empty.proto";
import "google/protobuf/struct.proto";
import "LoggingService.proto";
-
+option go_package = "./pb";
service LogManagementService {
diff --git a/custos-core-services/custos-logging/src/main/proto/LoggingService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/LoggingService.proto
similarity index 98%
copy from custos-core-services/custos-logging/src/main/proto/LoggingService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/LoggingService.proto
index 889ca3d..7ab3fa5 100644
--- a/custos-core-services/custos-logging/src/main/proto/LoggingService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/LoggingService.proto
@@ -25,6 +25,8 @@ package org.apache.custos.logging.service;
import "google/protobuf/empty.proto";
+option go_package = "./pb";
+
message LogEvent {
int64 created_time = 1;
diff --git a/custos-integration-services/resource-secret-management-service-parent/resource-secret-management-service/src/main/proto/ResourceSecretManagementService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/ResourceSecretManagementService.proto
similarity index 99%
copy from custos-integration-services/resource-secret-management-service-parent/resource-secret-management-service/src/main/proto/ResourceSecretManagementService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/ResourceSecretManagementService.proto
index 8089a62..f6d5c8b 100644
--- a/custos-integration-services/resource-secret-management-service-parent/resource-secret-management-service/src/main/proto/ResourceSecretManagementService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/ResourceSecretManagementService.proto
@@ -22,6 +22,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.resource.secret.management.service;
+option go_package = "./pb";
import "google/api/annotations.proto";
import "google/protobuf/empty.proto";
diff --git a/custos-core-services/resource-secret-core-service/src/main/proto/ResourceSecretService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/ResourceSecretService.proto
similarity index 99%
copy from custos-core-services/resource-secret-core-service/src/main/proto/ResourceSecretService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/ResourceSecretService.proto
index fce978f..72c8800 100644
--- a/custos-core-services/resource-secret-core-service/src/main/proto/ResourceSecretService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/ResourceSecretService.proto
@@ -23,6 +23,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.resource.secret.service;
+option go_package = "./pb";
enum ResourceOwnerType {
TENANT_USER = 0;
diff --git a/custos-integration-services/sharing-management-service-parent/sharing-management-service/src/main/proto/SharingManagementService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/SharingManagementService.proto
similarity index 99%
copy from custos-integration-services/sharing-management-service-parent/sharing-management-service/src/main/proto/SharingManagementService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/SharingManagementService.proto
index 74e4ca5..594912f 100644
--- a/custos-integration-services/sharing-management-service-parent/sharing-management-service/src/main/proto/SharingManagementService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/SharingManagementService.proto
@@ -22,6 +22,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.sharing.management.service;
+option go_package = "./pb";
import "SharingService.proto";
import "google/api/annotations.proto";
diff --git a/custos-core-services/sharing-core-service/src/main/proto/SharingService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/SharingService.proto
similarity index 99%
copy from custos-core-services/sharing-core-service/src/main/proto/SharingService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/SharingService.proto
index fff95b9..fca0096 100644
--- a/custos-core-services/sharing-core-service/src/main/proto/SharingService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/SharingService.proto
@@ -23,7 +23,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.sharing.service;
-
+option go_package = "./pb";
enum SearchCondition {
EQUAL = 0;
LIKE = 1;
diff --git a/custos-integration-services/tenant-management-service-parent/tenant-management-service/src/main/proto/TenantManagementService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/TenantManagementService.proto
similarity index 95%
copy from custos-integration-services/tenant-management-service-parent/tenant-management-service/src/main/proto/TenantManagementService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/TenantManagementService.proto
index f98032d..8d53a51 100644
--- a/custos-integration-services/tenant-management-service-parent/tenant-management-service/src/main/proto/TenantManagementService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/TenantManagementService.proto
@@ -22,6 +22,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.tenant.management.service;
+option go_package = "./pb";
import "google/api/annotations.proto";
import "TenantProfileService.proto";
@@ -208,17 +209,13 @@ service TenantManagementService {
rpc getAllTenantsForUser (org.apache.custos.tenant.profile.service.GetAllTenantsForUserRequest) returns (org.apache.custos.tenant.profile.service.GetAllTenantsForUserResponse) {
option (google.api.http) = {
- get: "/tenant-management/v1.0.0/tenants/{requesterEmail}"
- };
- }
- rpc getTenantStatusUpdateAuditTrail (org.apache.custos.tenant.profile.service.GetAuditTrailRequest) returns (org.apache.custos.tenant.profile.service.GetStatusUpdateAuditTrailResponse) {
- option (google.api.http) = {
- get: "/tenant-management/v1.0.0/audit/status/{tenantId}"
+ get: "/tenant-management/v1.0.0/tenants/{requester_email}"
};
}
+
rpc getTenantAttributeUpdateAuditTrail (org.apache.custos.tenant.profile.service.GetAuditTrailRequest) returns (org.apache.custos.tenant.profile.service.GetAttributeUpdateAuditTrailResponse) {
option (google.api.http) = {
- get: "/tenant-management/v1.0.0/audit/attributes/{tenantId}"
+ get: "/tenant-management/v1.0.0/audit/attributes/{tenant_id}"
};
}
diff --git a/custos-core-services/tenant-profile-core-service/src/main/proto/TenantProfileService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/TenantProfileService.proto
similarity index 99%
copy from custos-core-services/tenant-profile-core-service/src/main/proto/TenantProfileService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/TenantProfileService.proto
index 6073bfc..2af0d86 100644
--- a/custos-core-services/tenant-profile-core-service/src/main/proto/TenantProfileService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/TenantProfileService.proto
@@ -22,6 +22,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.tenant.profile.service;
+option go_package = "./pb";
message Tenant {
int64 tenant_id = 1;
diff --git a/custos-integration-services/user-management-service-parent/user-management-service/src/main/proto/UserManagementService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/UserManagementService.proto
similarity index 99%
copy from custos-integration-services/user-management-service-parent/user-management-service/src/main/proto/UserManagementService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/UserManagementService.proto
index 1a47a91..a10b16b 100644
--- a/custos-integration-services/user-management-service-parent/user-management-service/src/main/proto/UserManagementService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/UserManagementService.proto
@@ -22,7 +22,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.user.management.service;
-
+option go_package = "./pb";
import "google/api/annotations.proto";
import "UserProfileService.proto";
import "IamAdminService.proto";
@@ -94,7 +94,7 @@ service UserManagementService {
rpc registerAndEnableUsers (org.apache.custos.iam.service.RegisterUsersRequest) returns (org.apache.custos.iam.service.RegisterUsersResponse) {
option (google.api.http) = {
post: "/user-management/v1.0.0/users"
- body: "users"
+ body: "*"
};
}
@@ -134,7 +134,6 @@ service UserManagementService {
rpc removeAdminPrivileges (org.apache.custos.iam.service.UserSearchRequest) returns (org.apache.custos.iam.service.OperationStatus) {
option (google.api.http) = {
delete: "/user-management/v1.0.0/user/admin"
- body: "user"
};
}
@@ -183,7 +182,6 @@ service UserManagementService {
rpc deleteUser (org.apache.custos.iam.service.UserSearchRequest) returns (org.apache.custos.iam.service.OperationStatus) {
option (google.api.http) = {
delete: "/user-management/v1.0.0/user"
- body: "user"
};
}
diff --git a/custos-core-services/user-profile-core-service/src/main/proto/UserProfileService.proto b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/UserProfileService.proto
similarity index 99%
copy from custos-core-services/user-profile-core-service/src/main/proto/UserProfileService.proto
copy to custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/UserProfileService.proto
index fb840ad..66197e6 100644
--- a/custos-core-services/user-profile-core-service/src/main/proto/UserProfileService.proto
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/protos/UserProfileService.proto
@@ -22,7 +22,7 @@ syntax = "proto3";
option java_multiple_files = true;
package org.apache.custos.user.profile.service;
-
+option go_package = "./pb";
enum UserStatus {
ACTIVE = 0;
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/agent-management-service/swagger.json b/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/agent-management-service/swagger.json
new file mode 100644
index 0000000..1a6dc1c
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/agent-management-service/swagger.json
@@ -0,0 +1,830 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AgentManagementService.proto",
+ "version": "version not set"
+ },
+ "tags": [
+ {
+ "name": "AgentManagementService"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/agent-management/v1.0.0/agent": {
+ "post": {
+ "operationId": "AgentManagementService_registerAndEnableAgent",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceAgentRegistrationResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/serviceUserRepresentation"
+ }
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "access_token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performed_by",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "AgentManagementService"
+ ]
+ }
+ },
+ "/agent-management/v1.0.0/agent/activation/{id}": {
+ "post": {
+ "operationId": "AgentManagementService_enableAgent",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "AgentManagementService"
+ ]
+ }
+ },
+ "/agent-management/v1.0.0/agent/attributes": {
+ "delete": {
+ "operationId": "AgentManagementService_deleteAgentAttributes",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "users",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "access_token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performedBy",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "agents",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ }
+ ],
+ "tags": [
+ "AgentManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "AgentManagementService_addAgentAttributes",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "AgentManagementService"
+ ]
+ }
+ },
+ "/agent-management/v1.0.0/agent/deactivation/{id}": {
+ "post": {
+ "operationId": "AgentManagementService_disableAgent",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "AgentManagementService"
+ ]
+ }
+ },
+ "/agent-management/v1.0.0/agent/roles": {
+ "delete": {
+ "operationId": "AgentManagementService_deleteRolesFromAgent",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "username",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "access_token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performed_by",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "AgentManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "AgentManagementService_addRolesToAgent",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "AgentManagementService"
+ ]
+ }
+ },
+ "/agent-management/v1.0.0/agent/{id}": {
+ "get": {
+ "operationId": "AgentManagementService_getAgent",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceAgent"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "accessToken",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "clientId",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "clientSec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performedBy",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "AgentManagementService"
+ ]
+ },
+ "delete": {
+ "operationId": "AgentManagementService_deleteAgent",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "accessToken",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "clientId",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "clientSec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performedBy",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "AgentManagementService"
+ ]
+ }
+ },
+ "/agent-management/v1.0.0/agents": {
+ "get": {
+ "operationId": "AgentManagementService_getAllAgents",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceGetAllResourcesResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "clientId",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "resource_type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "USER",
+ "AGENT"
+ ],
+ "default": "USER"
+ }
+ ],
+ "tags": [
+ "AgentManagementService"
+ ]
+ }
+ },
+ "/agent-management/v1.0.0/db/synchronize": {
+ "post": {
+ "operationId": "AgentManagementService_synchronizeAgentDBs",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "AgentManagementService"
+ ]
+ }
+ },
+ "/agent-management/v1.0.0/enable": {
+ "post": {
+ "operationId": "AgentManagementService_enableAgents",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "AgentManagementService"
+ ]
+ }
+ },
+ "/agent-management/v1.0.0/protocol/mapper": {
+ "post": {
+ "operationId": "AgentManagementService_addProtocolMapper",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "AgentManagementService"
+ ]
+ }
+ },
+ "/agent-management/v1.0.0/roles": {
+ "post": {
+ "operationId": "AgentManagementService_addRolesToClient",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "AgentManagementService"
+ ]
+ }
+ },
+ "/agent-management/v1.0.0/token/configuration": {
+ "post": {
+ "operationId": "AgentManagementService_configureAgentClient",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "AgentManagementService"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "protobufAny": {
+ "type": "object",
+ "properties": {
+ "type_url": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string",
+ "format": "byte"
+ }
+ }
+ },
+ "rpcStatus": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "message": {
+ "type": "string"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/protobufAny"
+ }
+ }
+ }
+ },
+ "serviceAgent": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "realm_roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "attributes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/serviceUserAttribute"
+ }
+ },
+ "isEnabled": {
+ "type": "boolean"
+ },
+ "creation_time": {
+ "type": "number",
+ "format": "double"
+ },
+ "last_modified_at": {
+ "type": "number",
+ "format": "double"
+ },
+ "client_roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "serviceAgentRegistrationResponse": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "secret": {
+ "type": "string"
+ }
+ }
+ },
+ "serviceClaimJSONTypes": {
+ "type": "string",
+ "enum": [
+ "STRING",
+ "LONG",
+ "INTEGER",
+ "BOOLEAN",
+ "JSON"
+ ],
+ "default": "STRING"
+ },
+ "serviceGetAllResourcesResponse": {
+ "type": "object",
+ "properties": {
+ "agents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/serviceAgent"
+ }
+ },
+ "users": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/serviceUserRepresentation"
+ }
+ }
+ }
+ },
+ "serviceMapperTypes": {
+ "type": "string",
+ "enum": [
+ "USER_ATTRIBUTE",
+ "USER_REALM_ROLE",
+ "USER_CLIENT_ROLE"
+ ],
+ "default": "USER_ATTRIBUTE"
+ },
+ "serviceOperationStatus": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "boolean"
+ }
+ }
+ },
+ "serviceResourceTypes": {
+ "type": "string",
+ "enum": [
+ "USER",
+ "AGENT"
+ ],
+ "default": "USER"
+ },
+ "serviceRoleRepresentation": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "composite": {
+ "type": "boolean"
+ },
+ "id": {
+ "type": "string"
+ }
+ }
+ },
+ "serviceUserAttribute": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "serviceUserRepresentation": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ },
+ "first_name": {
+ "type": "string"
+ },
+ "last_name": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ },
+ "email": {
+ "type": "string"
+ },
+ "temporary_password": {
+ "type": "boolean"
+ },
+ "realm_roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "client_roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "attributes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/serviceUserAttribute"
+ }
+ },
+ "state": {
+ "type": "string"
+ },
+ "creation_time": {
+ "type": "number",
+ "format": "double"
+ },
+ "last_login_at": {
+ "type": "number",
+ "format": "double"
+ }
+ }
+ }
+ }
+}
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/cluster-management-service/swagger.json b/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/cluster-management-service/swagger.json
new file mode 100644
index 0000000..11ea7fa
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/cluster-management-service/swagger.json
@@ -0,0 +1,59 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ClusterManagementService.proto",
+ "version": "version not set"
+ },
+ "tags": [
+ {
+ "name": "ClusterManagementService"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {},
+ "definitions": {
+ "protobufAny": {
+ "type": "object",
+ "properties": {
+ "type_url": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string",
+ "format": "byte"
+ }
+ }
+ },
+ "rpcStatus": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "message": {
+ "type": "string"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/protobufAny"
+ }
+ }
+ }
+ },
+ "serviceGetServerCertificateResponse": {
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "type": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/group-management-service/swagger.json b/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/group-management-service/swagger.json
new file mode 100644
index 0000000..0758adf
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/group-management-service/swagger.json
@@ -0,0 +1,2119 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "GroupManagementService.proto",
+ "version": "version not set"
+ },
+ "tags": [
+ {
+ "name": "GroupManagementService"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/group-management/v1.0.0/group": {
+ "get": {
+ "operationId": "GroupManagementService_findGroup",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceGroup"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.realm_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "group.client_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "group.parent_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.created_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group.last_modified_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performed_by",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "membership_type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "OWNER",
+ "ADMIN",
+ "MEMBER"
+ ],
+ "default": "OWNER"
+ },
+ {
+ "name": "id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "GroupManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "GroupManagementService_createGroup",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceGroup"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "GroupManagementService"
+ ]
+ }
+ },
+ "/group-management/v1.0.0/group/membership": {
+ "delete": {
+ "operationId": "GroupManagementService_removeChildGroupFromParentGroup",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/profileserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "parent_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "child_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "GroupManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "GroupManagementService_addChildGroupToParentGroup",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/profileserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "GroupManagementService"
+ ]
+ }
+ },
+ "/group-management/v1.0.0/group/{id}": {
+ "delete": {
+ "operationId": "GroupManagementService_deleteGroup",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/profileserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.realm_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "group.client_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "group.parent_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.created_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group.last_modified_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performed_by",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "membership_type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "OWNER",
+ "ADMIN",
+ "MEMBER"
+ ],
+ "default": "OWNER"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "GroupManagementService"
+ ]
+ },
+ "put": {
+ "operationId": "GroupManagementService_updateGroup",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceGroup"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "GroupManagementService"
+ ]
+ }
+ },
+ "/group-management/v1.0.0/groups": {
+ "get": {
+ "operationId": "GroupManagementService_getAllGroups",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceGetAllGroupsResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.realm_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "group.client_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "group.parent_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.created_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group.last_modified_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performed_by",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "membership_type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "OWNER",
+ "ADMIN",
+ "MEMBER"
+ ],
+ "default": "OWNER"
+ },
+ {
+ "name": "id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "GroupManagementService"
+ ]
+ }
+ },
+ "/group-management/v1.0.0/groups/memberships": {
+ "get": {
+ "operationId": "GroupManagementService_getAllParentGroupsOfGroup",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceGetAllGroupsResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.realm_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "group.client_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "group.parent_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.created_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group.last_modified_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performed_by",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "membership_type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "OWNER",
+ "ADMIN",
+ "MEMBER"
+ ],
+ "default": "OWNER"
+ },
+ {
+ "name": "id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "GroupManagementService"
+ ]
+ }
+ },
+ "/group-management/v1.0.0/groups/memberships/child": {
+ "get": {
+ "operationId": "GroupManagementService_getAllChildGroups",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceGetAllGroupsResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.realm_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "group.client_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "group.parent_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.created_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group.last_modified_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performed_by",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "membership_type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "OWNER",
+ "ADMIN",
+ "MEMBER"
+ ],
+ "default": "OWNER"
+ },
+ {
+ "name": "id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "GroupManagementService"
+ ]
+ }
+ },
+ "/group-management/v1.0.0/keycloak/group": {
+ "get": {
+ "operationId": "GroupManagementService_findKeycloakGroup",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceGroupRepresentation"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "accessToken",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performedBy",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "clientId",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "clientSec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.realm_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "group.client_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "group.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.ownerId",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "GroupManagementService"
+ ]
+ }
+ },
+ "/group-management/v1.0.0/keycloak/group/{id}": {
+ "delete": {
+ "operationId": "GroupManagementService_deleteKeycloakGroup",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "accessToken",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performedBy",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "clientId",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "clientSec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.realm_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "group.client_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "group.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.ownerId",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "GroupManagementService"
+ ]
+ },
+ "put": {
+ "operationId": "GroupManagementService_updateKeycloakGroup",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceGroupRepresentation"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "id",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "GroupManagementService"
+ ]
+ }
+ },
+ "/group-management/v1.0.0/keycloak/groups": {
+ "get": {
+ "operationId": "GroupManagementService_getAllKeycloakGroups",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceGroupsResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "accessToken",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performedBy",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "clientId",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "clientSec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.realm_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "group.client_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "group.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.ownerId",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "GroupManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "GroupManagementService_createKeycloakGroups",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceGroupsResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "GroupManagementService"
+ ]
+ }
+ },
+ "/group-management/v1.0.0/keycloak/user/group/membership": {
+ "delete": {
+ "operationId": "GroupManagementService_removeUserFromKeycloakGroup",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "accessToken",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performedBy",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "clientId",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "clientSec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "username",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "membership_type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "GroupManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "GroupManagementService_addUserToKeycloakGroup",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "GroupManagementService"
+ ]
+ }
+ },
+ "/group-management/v1.0.0/user/group/access": {
+ "get": {
+ "operationId": "GroupManagementService_hasAccess",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/profileserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "username",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "clientId",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "clientSec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "GroupManagementService"
+ ]
+ }
+ },
+ "/group-management/v1.0.0/user/group/membership": {
+ "delete": {
+ "operationId": "GroupManagementService_removeUserFromGroup",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/profileserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "username",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "clientId",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "clientSec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "GroupManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "GroupManagementService_addUserToGroup",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/profileserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "GroupManagementService"
+ ]
+ },
+ "put": {
+ "operationId": "GroupManagementService_changeUserMembershipType",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/profileserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "GroupManagementService"
+ ]
+ }
+ },
+ "/group-management/v1.0.0/user/group/membership/type": {
+ "delete": {
+ "operationId": "GroupManagementService_removeUserGroupMembershipType",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/profileserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "GroupManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "GroupManagementService_addGroupMembershipType",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/profileserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "GroupManagementService"
+ ]
+ }
+ },
+ "/group-management/v1.0.0/user/group/memberships": {
+ "get": {
+ "operationId": "GroupManagementService_getAllGroupsOfUser",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceGetAllGroupsResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "profile.username",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "profile.email",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "profile.first_name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "profile.last_name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "profile.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "profile.status",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "CONFIRMED",
+ "APPROVED",
+ "DELETED",
+ "DUPLICATE",
+ "GRACE_PERIOD",
+ "INVITED",
+ "DENIED",
+ "PENDING",
+ "PENDING_APPROVAL",
+ "PENDING_CONFIRMATION",
+ "SUSPENDED",
+ "DECLINED",
+ "EXPIRED"
+ ],
+ "default": "ACTIVE"
+ },
+ {
+ "name": "profile.client_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "profile.realm_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "profile.last_modified_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "profile.type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "END_USER",
+ "COMMUNITY"
+ ],
+ "default": "END_USER"
+ },
+ {
+ "name": "profile.membership_type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "OWNER",
+ "ADMIN",
+ "MEMBER"
+ ],
+ "default": "OWNER"
+ },
+ {
+ "name": "performed_by",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "GroupManagementService"
+ ]
+ }
+ },
+ "/group-management/v1.0.0/user/group/memberships/child": {
+ "get": {
+ "operationId": "GroupManagementService_getAllChildUsers",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceGetAllUserProfilesResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.realm_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "group.client_roles",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "group.parent_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.created_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group.last_modified_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "group.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "group.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performed_by",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "membership_type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "OWNER",
+ "ADMIN",
+ "MEMBER"
+ ],
+ "default": "OWNER"
+ },
+ {
+ "name": "id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "GroupManagementService"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "custosiamserviceUserAttribute": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "googlerpcStatus": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "message": {
+ "type": "string"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/protobufAny"
+ }
+ }
+ }
+ },
+ "profileserviceStatus": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "boolean"
+ }
+ }
+ },
+ "protobufAny": {
+ "type": "object",
+ "properties": {
+ "type_url": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string",
+ "format": "byte"
+ }
+ }
+ },
+ "serviceDefaultGroupMembershipTypes": {
+ "type": "string",
+ "enum": [
+ "OWNER",
+ "ADMIN",
+ "MEMBER"
+ ],
+ "default": "OWNER"
+ },
+ "serviceGetAllGroupsResponse": {
+ "type": "object",
+ "properties": {
+ "groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/serviceGroup"
+ }
+ }
+ }
+ },
+ "serviceGetAllUserProfilesResponse": {
+ "type": "object",
+ "properties": {
+ "profiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/serviceUserProfile"
+ }
+ }
+ }
+ },
+ "serviceGroup": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "realm_roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "client_roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "parent_id": {
+ "type": "string"
+ },
+ "created_time": {
+ "type": "string",
+ "format": "int64"
+ },
+ "last_modified_time": {
+ "type": "string",
+ "format": "int64"
+ },
+ "attributes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/serviceGroupAttribute"
+ }
+ },
+ "description": {
+ "type": "string"
+ },
+ "owner_id": {
+ "type": "string"
+ }
+ }
+ },
+ "serviceGroupAttribute": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "int64"
+ },
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "serviceGroupRepresentation": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "realm_roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "client_roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "attributes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/custosiamserviceUserAttribute"
+ }
+ },
+ "users": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/serviceUserRepresentation"
+ }
+ },
+ "sub_groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/serviceGroupRepresentation"
+ }
+ },
+ "description": {
+ "type": "string"
+ },
+ "ownerId": {
+ "type": "string"
+ }
+ }
+ },
+ "serviceGroupsResponse": {
+ "type": "object",
+ "properties": {
+ "groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/serviceGroupRepresentation"
+ }
+ }
+ }
+ },
+ "serviceOperationStatus": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "boolean"
+ }
+ }
+ },
+ "serviceUserProfile": {
+ "type": "object",
+ "properties": {
+ "username": {
+ "type": "string"
+ },
+ "email": {
+ "type": "string"
+ },
+ "first_name": {
+ "type": "string"
+ },
+ "last_name": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "string",
+ "format": "int64"
+ },
+ "status": {
+ "$ref": "#/definitions/serviceUserStatus"
+ },
+ "attributes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/userprofileserviceUserAttribute"
+ }
+ },
+ "client_roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "realm_roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "last_modified_at": {
+ "type": "string",
+ "format": "int64"
+ },
+ "type": {
+ "$ref": "#/definitions/serviceUserTypes"
+ },
+ "membership_type": {
+ "$ref": "#/definitions/serviceDefaultGroupMembershipTypes"
+ }
+ }
+ },
+ "serviceUserRepresentation": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ },
+ "first_name": {
+ "type": "string"
+ },
+ "last_name": {
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ },
+ "email": {
+ "type": "string"
+ },
+ "temporary_password": {
+ "type": "boolean"
+ },
+ "realm_roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "client_roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "attributes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/custosiamserviceUserAttribute"
+ }
+ },
+ "state": {
+ "type": "string"
+ },
+ "creation_time": {
+ "type": "number",
+ "format": "double"
+ },
+ "last_login_at": {
+ "type": "number",
+ "format": "double"
+ }
+ }
+ },
+ "serviceUserStatus": {
+ "type": "string",
+ "enum": [
+ "ACTIVE",
+ "CONFIRMED",
+ "APPROVED",
+ "DELETED",
+ "DUPLICATE",
+ "GRACE_PERIOD",
+ "INVITED",
+ "DENIED",
+ "PENDING",
+ "PENDING_APPROVAL",
+ "PENDING_CONFIRMATION",
+ "SUSPENDED",
+ "DECLINED",
+ "EXPIRED"
+ ],
+ "default": "ACTIVE"
+ },
+ "serviceUserTypes": {
+ "type": "string",
+ "enum": [
+ "END_USER",
+ "COMMUNITY"
+ ],
+ "default": "END_USER"
+ },
+ "userprofileserviceUserAttribute": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "int64"
+ },
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/identity-management-service/swagger.json b/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/identity-management-service/swagger.json
new file mode 100644
index 0000000..e172c30
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/identity-management-service/swagger.json
@@ -0,0 +1,659 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "IdentityManagementService.proto",
+ "version": "version not set"
+ },
+ "tags": [
+ {
+ "name": "IdentityManagementService"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/identity-management/v1.0.0/.well-known/openid-configuration": {
+ "get": {
+ "operationId": "IdentityManagementService_getOIDCConfiguration",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "type": "object"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_secret",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ }
+ ],
+ "tags": [
+ "IdentityManagementService"
+ ]
+ }
+ },
+ "/identity-management/v1.0.0/account/token": {
+ "get": {
+ "operationId": "IdentityManagementService_getUserManagementServiceAccountAccessToken",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceAuthToken"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_secret",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ }
+ ],
+ "tags": [
+ "IdentityManagementService"
+ ]
+ }
+ },
+ "/identity-management/v1.0.0/agent/authentication/status": {
+ "post": {
+ "operationId": "IdentityManagementService_isAgentAuthenticated",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceIsAuthenticatedResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/serviceAuthToken"
+ }
+ }
+ ],
+ "tags": [
+ "IdentityManagementService"
+ ]
+ }
+ },
+ "/identity-management/v1.0.0/agent/logout/{client_id}": {
+ "post": {
+ "operationId": "IdentityManagementService_endAgentSession",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/custosidentityserviceOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/custosidentityserviceEndSessionRequest"
+ }
+ }
+ ],
+ "tags": [
+ "IdentityManagementService"
+ ]
+ }
+ },
+ "/identity-management/v1.0.0/agent/token/{client_id}": {
+ "post": {
+ "operationId": "IdentityManagementService_getAgentToken",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "type": "object"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "IdentityManagementService"
+ ]
+ }
+ },
+ "/identity-management/v1.0.0/authenticate": {
+ "post": {
+ "operationId": "IdentityManagementService_authenticate",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceAuthToken"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "IdentityManagementService"
+ ]
+ }
+ },
+ "/identity-management/v1.0.0/authenticate/status": {
+ "get": {
+ "operationId": "IdentityManagementService_isAuthenticated",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceIsAuthenticatedResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "access_token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "IdentityManagementService"
+ ]
+ }
+ },
+ "/identity-management/v1.0.0/authorize": {
+ "get": {
+ "operationId": "IdentityManagementService_authorize",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/identitymanagementserviceAuthorizationResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_secret",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "redirect_uri",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "response_type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "scope",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "state",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "IdentityManagementService"
+ ]
+ }
+ },
+ "/identity-management/v1.0.0/credentials": {
+ "get": {
+ "operationId": "IdentityManagementService_getCredentials",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceCredentials"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "credentials.iam_client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "credentials.iam_client_secret",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "credentials.ci_logon_client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "credentials.ci_logon_client_secret",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "credentials.custos_client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "credentials.custos_client_secret",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "credentials.custos_client_id_issued_at",
+ "in": "query",
+ "required": false,
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "name": "credentials.custos_client_secret_expired_at",
+ "in": "query",
+ "required": false,
+ "type": "number",
+ "format": "double"
+ }
+ ],
+ "tags": [
+ "IdentityManagementService"
+ ]
+ }
+ },
+ "/identity-management/v1.0.0/token": {
+ "post": {
+ "operationId": "IdentityManagementService_token",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "type": "object"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "IdentityManagementService"
+ ]
+ }
+ },
+ "/identity-management/v1.0.0/user": {
+ "get": {
+ "operationId": "IdentityManagementService_getUser",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceUser"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "access_token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "IdentityManagementService"
+ ]
+ }
+ },
+ "/identity-management/v1.0.0/user/logout": {
+ "post": {
+ "operationId": "IdentityManagementService_endUserSession",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/custosidentityserviceOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/custosidentityserviceEndSessionRequest"
+ }
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "IdentityManagementService"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "custosidentityserviceEndSessionRequest": {
+ "type": "object",
+ "properties": {
+ "client_id": {
+ "type": "string"
+ },
+ "client_secret": {
+ "type": "string"
+ },
+ "tenant_id": {
+ "type": "string",
+ "format": "int64"
+ },
+ "refresh_token": {
+ "type": "string"
+ }
+ }
+ },
+ "custosidentityserviceOperationStatus": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "boolean"
+ }
+ }
+ },
+ "identitymanagementserviceAuthorizationResponse": {
+ "type": "object",
+ "properties": {
+ "loginURI": {
+ "type": "string"
+ }
+ }
+ },
+ "protobufAny": {
+ "type": "object",
+ "properties": {
+ "type_url": {
+ "type": "string",
+ "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the c [...]
+ },
+ "value": {
+ "type": "string",
+ "format": "byte",
+ "description": "Must be a valid serialized protocol buffer of the above specified type."
+ }
+ },
+ "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack an [...]
+ },
+ "protobufNullValue": {
+ "type": "string",
+ "enum": [
+ "NULL_VALUE"
+ ],
+ "default": "NULL_VALUE",
+ "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value."
+ },
+ "rpcStatus": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "message": {
+ "type": "string"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/protobufAny"
+ }
+ }
+ }
+ },
+ "serviceAuthToken": {
+ "type": "object",
+ "properties": {
+ "access_token": {
+ "type": "string"
+ },
+ "claims": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/serviceClaim"
+ }
+ }
+ }
+ },
+ "serviceClaim": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ }
+ }
+ },
+ "serviceCredentials": {
+ "type": "object",
+ "properties": {
+ "iam_client_id": {
+ "type": "string"
+ },
+ "iam_client_secret": {
+ "type": "string"
+ },
+ "ci_logon_client_id": {
+ "type": "string"
+ },
+ "ci_logon_client_secret": {
+ "type": "string"
+ },
+ "custos_client_id": {
+ "type": "string"
+ },
+ "custos_client_secret": {
+ "type": "string"
+ },
+ "custos_client_id_issued_at": {
+ "type": "number",
+ "format": "double"
+ },
+ "custos_client_secret_expired_at": {
+ "type": "number",
+ "format": "double"
+ }
+ }
+ },
+ "serviceIsAuthenticatedResponse": {
+ "type": "object",
+ "properties": {
+ "authenticated": {
+ "type": "boolean"
+ }
+ }
+ },
+ "serviceUser": {
+ "type": "object",
+ "properties": {
+ "sub": {
+ "type": "string"
+ },
+ "full_name": {
+ "type": "string"
+ },
+ "first_name": {
+ "type": "string"
+ },
+ "last_name": {
+ "type": "string"
+ },
+ "email_address": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/log-management-service/swagger.json b/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/log-management-service/swagger.json
new file mode 100644
index 0000000..4158f8d
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/log-management-service/swagger.json
@@ -0,0 +1,245 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "LogManagementService.proto",
+ "version": "version not set"
+ },
+ "tags": [
+ {
+ "name": "LogManagementService"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/log-management/v1.0.0/logs": {
+ "get": {
+ "operationId": "LogManagementService_getLogEvents",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceLogEvents"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "start_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "end_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "username",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "remote_ip",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "service_name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "event_type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ }
+ ],
+ "tags": [
+ "LogManagementService"
+ ]
+ }
+ },
+ "/log-management/v1.0.0/status": {
+ "get": {
+ "operationId": "LogManagementService_isLogEnabled",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/loggingserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "LogManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "LogManagementService_enable",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/loggingserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "LogManagementService"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "googlerpcStatus": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "message": {
+ "type": "string"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/protobufAny"
+ }
+ }
+ }
+ },
+ "loggingserviceStatus": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "boolean"
+ }
+ }
+ },
+ "protobufAny": {
+ "type": "object",
+ "properties": {
+ "type_url": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string",
+ "format": "byte"
+ }
+ }
+ },
+ "serviceLogEvent": {
+ "type": "object",
+ "properties": {
+ "created_time": {
+ "type": "string",
+ "format": "int64"
+ },
+ "service_name": {
+ "type": "string"
+ },
+ "event_type": {
+ "type": "string"
+ },
+ "username": {
+ "type": "string"
+ },
+ "client_id": {
+ "type": "string"
+ },
+ "tenant_id": {
+ "type": "string",
+ "format": "int64"
+ },
+ "external_ip": {
+ "type": "string"
+ }
+ }
+ },
+ "serviceLogEvents": {
+ "type": "object",
+ "properties": {
+ "events": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/serviceLogEvent"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/resource-secret-management-service/swagger.json b/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/resource-secret-management-service/swagger.json
new file mode 100644
index 0000000..3bb8086
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/resource-secret-management-service/swagger.json
@@ -0,0 +1,1792 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ResourceSecretManagementService.proto",
+ "version": "version not set"
+ },
+ "tags": [
+ {
+ "name": "ResourceSecretManagementService"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/resource-secret-management/v1.0.0/openid-connect/certs": {
+ "get": {
+ "operationId": "ResourceSecretManagementService_getJWKS",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "type": "object"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_secret",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ }
+ ],
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ }
+ },
+ "/resource-secret-management/v1.0.0/secret": {
+ "get": {
+ "operationId": "ResourceSecretManagementService_getSecret",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceSecretMetadata"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "metadata.owner_type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "TENANT_USER",
+ "CUSTOS",
+ "TENANT"
+ ],
+ "default": "TENANT_USER"
+ },
+ {
+ "name": "metadata.resource_type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "SERVER_CERTIFICATE",
+ "JWT_SIGNING_CERTIFICATE",
+ "VAULT_CREDENTIAL",
+ "VM",
+ "ACCOUNT",
+ "OTHER",
+ "SCP",
+ "S3",
+ "BOX",
+ "AZURE",
+ "GCS",
+ "DROPBOX",
+ "FTP"
+ ],
+ "default": "SERVER_CERTIFICATE"
+ },
+ {
+ "name": "metadata.source",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "KUBE",
+ "LOCAL",
+ "EXTERNAL",
+ "LETSENCRYPT"
+ ],
+ "default": "KUBE"
+ },
+ {
+ "name": "metadata.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.value",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "SSH",
+ "PASSWORD",
+ "X509_CERTIFICATE",
+ "RAW_DATA",
+ "KV",
+ "CREDENTIAL_MAP"
+ ],
+ "default": "SSH"
+ },
+ {
+ "name": "metadata.tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "metadata.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.persisted_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "metadata.token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ }
+ },
+ "/resource-secret-management/v1.0.0/secret/certificate": {
+ "get": {
+ "operationId": "ResourceSecretManagementService_getCertificateCredential",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceCertificateCredential"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performed_by",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "use_shamirs_secret_sharing_with_encryption",
+ "in": "query",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "num_of_shares",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "threshold",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ }
+ ],
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ },
+ "delete": {
+ "operationId": "ResourceSecretManagementService_deleteCertificateCredential",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceResourceCredentialOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performed_by",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "use_shamirs_secret_sharing_with_encryption",
+ "in": "query",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "num_of_shares",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "threshold",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ }
+ ],
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "ResourceSecretManagementService_addCertificateCredential",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceAddResourceCredentialResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ }
+ },
+ "/resource-secret-management/v1.0.0/secret/kv": {
+ "get": {
+ "operationId": "ResourceSecretManagementService_getKVCredential",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceKVCredential"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "key",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "value",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.owner_type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "TENANT_USER",
+ "CUSTOS",
+ "TENANT"
+ ],
+ "default": "TENANT_USER"
+ },
+ {
+ "name": "metadata.resource_type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "SERVER_CERTIFICATE",
+ "JWT_SIGNING_CERTIFICATE",
+ "VAULT_CREDENTIAL",
+ "VM",
+ "ACCOUNT",
+ "OTHER",
+ "SCP",
+ "S3",
+ "BOX",
+ "AZURE",
+ "GCS",
+ "DROPBOX",
+ "FTP"
+ ],
+ "default": "SERVER_CERTIFICATE"
+ },
+ {
+ "name": "metadata.source",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "KUBE",
+ "LOCAL",
+ "EXTERNAL",
+ "LETSENCRYPT"
+ ],
+ "default": "KUBE"
+ },
+ {
+ "name": "metadata.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.value",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "SSH",
+ "PASSWORD",
+ "X509_CERTIFICATE",
+ "RAW_DATA",
+ "KV",
+ "CREDENTIAL_MAP"
+ ],
+ "default": "SSH"
+ },
+ {
+ "name": "metadata.tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "metadata.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.persisted_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "metadata.token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ },
+ "delete": {
+ "operationId": "ResourceSecretManagementService_deleteKVCredential",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceResourceCredentialOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "key",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "value",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.owner_type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "TENANT_USER",
+ "CUSTOS",
+ "TENANT"
+ ],
+ "default": "TENANT_USER"
+ },
+ {
+ "name": "metadata.resource_type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "SERVER_CERTIFICATE",
+ "JWT_SIGNING_CERTIFICATE",
+ "VAULT_CREDENTIAL",
+ "VM",
+ "ACCOUNT",
+ "OTHER",
+ "SCP",
+ "S3",
+ "BOX",
+ "AZURE",
+ "GCS",
+ "DROPBOX",
+ "FTP"
+ ],
+ "default": "SERVER_CERTIFICATE"
+ },
+ {
+ "name": "metadata.source",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "KUBE",
+ "LOCAL",
+ "EXTERNAL",
+ "LETSENCRYPT"
+ ],
+ "default": "KUBE"
+ },
+ {
+ "name": "metadata.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.value",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "SSH",
+ "PASSWORD",
+ "X509_CERTIFICATE",
+ "RAW_DATA",
+ "KV",
+ "CREDENTIAL_MAP"
+ ],
+ "default": "SSH"
+ },
+ {
+ "name": "metadata.tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "metadata.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.persisted_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "metadata.token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "ResourceSecretManagementService_addKVCredential",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceResourceCredentialOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ },
+ "put": {
+ "operationId": "ResourceSecretManagementService_updateKVCredential",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceResourceCredentialOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ }
+ },
+ "/resource-secret-management/v1.0.0/secret/map": {
+ "get": {
+ "operationId": "ResourceSecretManagementService_getCredentialMap",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceCredentialMap"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "metadata.owner_type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "TENANT_USER",
+ "CUSTOS",
+ "TENANT"
+ ],
+ "default": "TENANT_USER"
+ },
+ {
+ "name": "metadata.resource_type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "SERVER_CERTIFICATE",
+ "JWT_SIGNING_CERTIFICATE",
+ "VAULT_CREDENTIAL",
+ "VM",
+ "ACCOUNT",
+ "OTHER",
+ "SCP",
+ "S3",
+ "BOX",
+ "AZURE",
+ "GCS",
+ "DROPBOX",
+ "FTP"
+ ],
+ "default": "SERVER_CERTIFICATE"
+ },
+ {
+ "name": "metadata.source",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "KUBE",
+ "LOCAL",
+ "EXTERNAL",
+ "LETSENCRYPT"
+ ],
+ "default": "KUBE"
+ },
+ {
+ "name": "metadata.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.value",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "SSH",
+ "PASSWORD",
+ "X509_CERTIFICATE",
+ "RAW_DATA",
+ "KV",
+ "CREDENTIAL_MAP"
+ ],
+ "default": "SSH"
+ },
+ {
+ "name": "metadata.tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "metadata.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.persisted_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "metadata.token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ },
+ "delete": {
+ "operationId": "ResourceSecretManagementService_deleteCredentialMap",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceResourceCredentialOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "metadata.owner_type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "TENANT_USER",
+ "CUSTOS",
+ "TENANT"
+ ],
+ "default": "TENANT_USER"
+ },
+ {
+ "name": "metadata.resource_type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "SERVER_CERTIFICATE",
+ "JWT_SIGNING_CERTIFICATE",
+ "VAULT_CREDENTIAL",
+ "VM",
+ "ACCOUNT",
+ "OTHER",
+ "SCP",
+ "S3",
+ "BOX",
+ "AZURE",
+ "GCS",
+ "DROPBOX",
+ "FTP"
+ ],
+ "default": "SERVER_CERTIFICATE"
+ },
+ {
+ "name": "metadata.source",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "KUBE",
+ "LOCAL",
+ "EXTERNAL",
+ "LETSENCRYPT"
+ ],
+ "default": "KUBE"
+ },
+ {
+ "name": "metadata.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.value",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "SSH",
+ "PASSWORD",
+ "X509_CERTIFICATE",
+ "RAW_DATA",
+ "KV",
+ "CREDENTIAL_MAP"
+ ],
+ "default": "SSH"
+ },
+ {
+ "name": "metadata.tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "metadata.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.persisted_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "metadata.token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "metadata.client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "ResourceSecretManagementService_addCredentialMap",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceAddResourceCredentialResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ },
+ "put": {
+ "operationId": "ResourceSecretManagementService_updateCredentialMap",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceResourceCredentialOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ }
+ },
+ "/resource-secret-management/v1.0.0/secret/password": {
+ "get": {
+ "operationId": "ResourceSecretManagementService_getPasswordCredential",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/servicePasswordCredential"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performed_by",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "use_shamirs_secret_sharing_with_encryption",
+ "in": "query",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "num_of_shares",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "threshold",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ }
+ ],
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ },
+ "delete": {
+ "operationId": "ResourceSecretManagementService_deletePWDCredential",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceResourceCredentialOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performed_by",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "use_shamirs_secret_sharing_with_encryption",
+ "in": "query",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "num_of_shares",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "threshold",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ }
+ ],
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "ResourceSecretManagementService_addPasswordCredential",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceAddResourceCredentialResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ }
+ },
+ "/resource-secret-management/v1.0.0/secret/ssh": {
+ "get": {
+ "operationId": "ResourceSecretManagementService_getSSHCredential",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceSSHCredential"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performed_by",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "use_shamirs_secret_sharing_with_encryption",
+ "in": "query",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "num_of_shares",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "threshold",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ }
+ ],
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ },
+ "delete": {
+ "operationId": "ResourceSecretManagementService_deleteSSHCredential",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceResourceCredentialOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performed_by",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "use_shamirs_secret_sharing_with_encryption",
+ "in": "query",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "num_of_shares",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "threshold",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ }
+ ],
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "ResourceSecretManagementService_addSSHCredential",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceAddResourceCredentialResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ }
+ },
+ "/resource-secret-management/v1.0.0/secret/summaries": {
+ "get": {
+ "operationId": "ResourceSecretManagementService_getAllResourceCredentialSummaries",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceResourceCredentialSummaries"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "SERVER_CERTIFICATE",
+ "JWT_SIGNING_CERTIFICATE",
+ "VAULT_CREDENTIAL",
+ "VM",
+ "ACCOUNT",
+ "OTHER",
+ "SCP",
+ "S3",
+ "BOX",
+ "AZURE",
+ "GCS",
+ "DROPBOX",
+ "FTP"
+ ],
+ "default": "SERVER_CERTIFICATE"
+ },
+ {
+ "name": "accessible_tokens",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "all_types",
+ "in": "query",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ }
+ },
+ "/resource-secret-management/v1.0.0/secret/summary": {
+ "get": {
+ "operationId": "ResourceSecretManagementService_getResourceCredentialSummary",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceSecretMetadata"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenantId",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "token",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "performed_by",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "use_shamirs_secret_sharing_with_encryption",
+ "in": "query",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "num_of_shares",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "threshold",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ }
+ ],
+ "tags": [
+ "ResourceSecretManagementService"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "protobufAny": {
+ "type": "object",
+ "properties": {
+ "type_url": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string",
+ "format": "byte"
+ }
+ }
+ },
+ "protobufNullValue": {
+ "type": "string",
+ "enum": [
+ "NULL_VALUE"
+ ],
+ "default": "NULL_VALUE",
+ "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value."
+ },
+ "rpcStatus": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "message": {
+ "type": "string"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/protobufAny"
+ }
+ }
+ }
+ },
+ "serviceAddResourceCredentialResponse": {
+ "type": "object",
+ "properties": {
+ "token": {
+ "type": "string"
+ }
+ }
+ },
+ "serviceCertificateCredential": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "$ref": "#/definitions/serviceSecretMetadata"
+ },
+ "x509_cert": {
+ "type": "string"
+ },
+ "not_after": {
+ "type": "string"
+ },
+ "private_key": {
+ "type": "string"
+ },
+ "life_time": {
+ "type": "string",
+ "format": "int64"
+ },
+ "not_before": {
+ "type": "string"
+ },
+ "use_shamirs_secret_sharing_with_encryption": {
+ "type": "boolean"
+ },
+ "num_of_shares": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "threshold": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "private_key_shares": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "byte"
+ }
+ }
+ }
+ },
+ "serviceCredentialMap": {
+ "type": "object",
+ "properties": {
+ "credential_map": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "metadata": {
+ "$ref": "#/definitions/serviceSecretMetadata"
+ }
+ }
+ },
+ "serviceKVCredential": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "metadata": {
+ "$ref": "#/definitions/serviceSecretMetadata"
+ },
+ "token": {
+ "type": "string"
+ }
+ }
+ },
+ "servicePasswordCredential": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "$ref": "#/definitions/serviceSecretMetadata"
+ },
+ "password": {
+ "type": "string"
+ },
+ "use_shamirs_secret_sharing_with_encryption": {
+ "type": "boolean"
+ },
+ "num_of_shares": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "threshold": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "secret_shares": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "byte"
+ }
+ },
+ "userId": {
+ "type": "string"
+ }
+ }
+ },
+ "serviceResourceCredentialOperationStatus": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "boolean"
+ }
+ }
+ },
+ "serviceResourceCredentialSummaries": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/serviceSecretMetadata"
+ }
+ }
+ }
+ },
+ "serviceResourceOwnerType": {
+ "type": "string",
+ "enum": [
+ "TENANT_USER",
+ "CUSTOS",
+ "TENANT"
+ ],
+ "default": "TENANT_USER"
+ },
+ "serviceResourceSecretType": {
+ "type": "string",
+ "enum": [
+ "SSH",
+ "PASSWORD",
+ "X509_CERTIFICATE",
+ "RAW_DATA",
+ "KV",
+ "CREDENTIAL_MAP"
+ ],
+ "default": "SSH"
+ },
+ "serviceResourceSource": {
+ "type": "string",
+ "enum": [
+ "KUBE",
+ "LOCAL",
+ "EXTERNAL",
+ "LETSENCRYPT"
+ ],
+ "default": "KUBE"
+ },
+ "serviceResourceType": {
+ "type": "string",
+ "enum": [
+ "SERVER_CERTIFICATE",
+ "JWT_SIGNING_CERTIFICATE",
+ "VAULT_CREDENTIAL",
+ "VM",
+ "ACCOUNT",
+ "OTHER",
+ "SCP",
+ "S3",
+ "BOX",
+ "AZURE",
+ "GCS",
+ "DROPBOX",
+ "FTP"
+ ],
+ "default": "SERVER_CERTIFICATE"
+ },
+ "serviceSSHCredential": {
+ "type": "object",
+ "properties": {
+ "metadata": {
+ "$ref": "#/definitions/serviceSecretMetadata"
+ },
+ "passphrase": {
+ "type": "string"
+ },
+ "public_key": {
+ "type": "string"
+ },
+ "private_key": {
+ "type": "string"
+ },
+ "use_shamirs_secret_sharing_with_encryption": {
+ "type": "boolean"
+ },
+ "num_of_shares": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "threshold": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "private_key_shares": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "byte"
+ }
+ }
+ }
+ },
+ "serviceSecretMetadata": {
+ "type": "object",
+ "properties": {
+ "owner_type": {
+ "$ref": "#/definitions/serviceResourceOwnerType"
+ },
+ "resource_type": {
+ "$ref": "#/definitions/serviceResourceType"
+ },
+ "source": {
+ "$ref": "#/definitions/serviceResourceSource"
+ },
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "type": {
+ "$ref": "#/definitions/serviceResourceSecretType"
+ },
+ "tenantId": {
+ "type": "string",
+ "format": "int64"
+ },
+ "owner_id": {
+ "type": "string"
+ },
+ "persisted_time": {
+ "type": "string",
+ "format": "int64"
+ },
+ "token": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "client_id": {
+ "type": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/sharing-management-service/swagger.json b/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/sharing-management-service/swagger.json
new file mode 100644
index 0000000..7a6cd12
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/sharing-management-service/swagger.json
@@ -0,0 +1,2390 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "SharingManagementService.proto",
+ "version": "version not set"
+ },
+ "tags": [
+ {
+ "name": "SharingManagementService"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/sharing-management/v1.0.0/entities": {
+ "post": {
+ "operationId": "SharingManagementService_searchEntities",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceEntities"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "SharingManagementService"
+ ]
+ }
+ },
+ "/sharing-management/v1.0.0/entity": {
+ "get": {
+ "operationId": "SharingManagementService_getEntity",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceEntity"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.parent_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.binary_data",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte"
+ },
+ {
+ "name": "entity.full_text",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.original_creation_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.shared_count",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "SharingManagementService"
+ ]
+ },
+ "delete": {
+ "operationId": "SharingManagementService_deleteEntity",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/sharingserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.parent_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.binary_data",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte"
+ },
+ {
+ "name": "entity.full_text",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.original_creation_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.shared_count",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "SharingManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "SharingManagementService_createEntity",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/sharingserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "SharingManagementService"
+ ]
+ },
+ "put": {
+ "operationId": "SharingManagementService_updateEntity",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/sharingserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "SharingManagementService"
+ ]
+ }
+ },
+ "/sharing-management/v1.0.0/entity/existence": {
+ "get": {
+ "operationId": "SharingManagementService_isEntityExists",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/sharingserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.parent_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.binary_data",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte"
+ },
+ {
+ "name": "entity.full_text",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.original_creation_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.shared_count",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "SharingManagementService"
+ ]
+ }
+ },
+ "/sharing-management/v1.0.0/entity/type": {
+ "get": {
+ "operationId": "SharingManagementService_getEntityType",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceEntityType"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity_type.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity_type.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity_type.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity_type.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity_type.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "SharingManagementService"
+ ]
+ },
+ "delete": {
+ "operationId": "SharingManagementService_deleteEntityType",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/sharingserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity_type.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity_type.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity_type.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity_type.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity_type.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "SharingManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "SharingManagementService_createEntityType",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/sharingserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "SharingManagementService"
+ ]
+ },
+ "put": {
+ "operationId": "SharingManagementService_updateEntityType",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/sharingserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "SharingManagementService"
+ ]
+ }
+ },
+ "/sharing-management/v1.0.0/entity/types": {
+ "get": {
+ "operationId": "SharingManagementService_getEntityTypes",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceEntityTypes"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "associating_ids",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ }
+ ],
+ "tags": [
+ "SharingManagementService"
+ ]
+ }
+ },
+ "/sharing-management/v1.0.0/entity/user/access": {
+ "get": {
+ "operationId": "SharingManagementService_userHasAccess",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/sharingserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.parent_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.binary_data",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte"
+ },
+ {
+ "name": "entity.full_text",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.original_creation_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.shared_count",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "permission_type.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "permission_type.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "owner_id",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "cascade",
+ "in": "query",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "SharingManagementService"
+ ]
+ }
+ },
+ "/sharing-management/v1.0.0/groups/share": {
+ "get": {
+ "operationId": "SharingManagementService_getListOfSharedGroups",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceSharedOwners"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.parent_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.binary_data",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte"
+ },
+ {
+ "name": "entity.full_text",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.original_creation_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.shared_count",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "permission_type.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "permission_type.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "owner_id",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "cascade",
+ "in": "query",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "SharingManagementService"
+ ]
+ },
+ "delete": {
+ "operationId": "SharingManagementService_revokeEntitySharingFromGroups",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/sharingserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.parent_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.binary_data",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte"
+ },
+ {
+ "name": "entity.full_text",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.original_creation_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.shared_count",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "permission_type.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "permission_type.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "owner_id",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "cascade",
+ "in": "query",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "SharingManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "SharingManagementService_shareEntityWithGroups",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/sharingserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "SharingManagementService"
+ ]
+ }
+ },
+ "/sharing-management/v1.0.0/groups/share/direct": {
+ "get": {
+ "operationId": "SharingManagementService_getListOfDirectlySharedGroups",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceSharedOwners"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.parent_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.binary_data",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte"
+ },
+ {
+ "name": "entity.full_text",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.original_creation_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.shared_count",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "permission_type.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "permission_type.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "owner_id",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "cascade",
+ "in": "query",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "SharingManagementService"
+ ]
+ }
+ },
+ "/sharing-management/v1.0.0/permission/type": {
+ "get": {
+ "operationId": "SharingManagementService_getPermissionType",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/servicePermissionType"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "permission_type.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "permission_type.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "SharingManagementService"
+ ]
+ },
+ "delete": {
+ "operationId": "SharingManagementService_deletePermissionType",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/sharingserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "permission_type.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "permission_type.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "SharingManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "SharingManagementService_createPermissionType",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/sharingserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "SharingManagementService"
+ ]
+ },
+ "put": {
+ "operationId": "SharingManagementService_updatePermissionType",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/sharingserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "SharingManagementService"
+ ]
+ }
+ },
+ "/sharing-management/v1.0.0/permission/types": {
+ "get": {
+ "operationId": "SharingManagementService_getPermissionTypes",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/servicePermissionTypes"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "associating_ids",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ }
+ ],
+ "tags": [
+ "SharingManagementService"
+ ]
+ }
+ },
+ "/sharing-management/v1.0.0/users/share": {
+ "get": {
+ "operationId": "SharingManagementService_getListOfSharedUsers",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceSharedOwners"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.parent_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.binary_data",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte"
+ },
+ {
+ "name": "entity.full_text",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.original_creation_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.shared_count",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "permission_type.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "permission_type.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "owner_id",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "cascade",
+ "in": "query",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "SharingManagementService"
+ ]
+ },
+ "delete": {
+ "operationId": "SharingManagementService_revokeEntitySharingFromUsers",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/sharingserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.parent_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.binary_data",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte"
+ },
+ {
+ "name": "entity.full_text",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.original_creation_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.shared_count",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "permission_type.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "permission_type.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "owner_id",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "cascade",
+ "in": "query",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "SharingManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "SharingManagementService_shareEntityWithUsers",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/sharingserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "SharingManagementService"
+ ]
+ }
+ },
+ "/sharing-management/v1.0.0/users/share/direct": {
+ "get": {
+ "operationId": "SharingManagementService_getListOfDirectlySharedUsers",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceSharedOwners"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.owner_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.parent_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.binary_data",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte"
+ },
+ {
+ "name": "entity.full_text",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "entity.original_creation_time",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "entity.shared_count",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "permission_type.id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.description",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "permission_type.created_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "permission_type.updated_at",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "owner_id",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "cascade",
+ "in": "query",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "client_sec",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "SharingManagementService"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "googlerpcStatus": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "message": {
+ "type": "string"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/protobufAny"
+ }
+ }
+ }
+ },
+ "protobufAny": {
+ "type": "object",
+ "properties": {
+ "type_url": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string",
+ "format": "byte"
+ }
+ }
+ },
+ "serviceEntities": {
+ "type": "object",
+ "properties": {
+ "entity_array": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/serviceEntity"
+ }
+ }
+ }
+ },
+ "serviceEntity": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "owner_id": {
+ "type": "string"
+ },
+ "parent_id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "binary_data": {
+ "type": "string",
+ "format": "byte"
+ },
+ "full_text": {
+ "type": "string"
+ },
+ "original_creation_time": {
+ "type": "string",
+ "format": "int64"
+ },
+ "created_at": {
+ "type": "string",
+ "format": "int64"
+ },
+ "updated_at": {
+ "type": "string",
+ "format": "int64"
+ },
+ "shared_count": {
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "serviceEntitySearchField": {
+ "type": "string",
+ "enum": [
+ "NAME",
+ "DESCRIPTION",
+ "ID",
+ "FULL_TEXT",
+ "OWNER_ID",
+ "CREATED_AT",
+ "LAST_MODIFIED_AT",
+ "ENTITY_TYPE_ID",
+ "PARENT_ID",
+ "SHARED_COUNT",
+ "PERMISSION_TYPE_ID"
+ ],
+ "default": "NAME"
+ },
+ "serviceEntityType": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "string",
+ "format": "int64"
+ },
+ "updated_at": {
+ "type": "string",
+ "format": "int64"
+ }
+ }
+ },
+ "serviceEntityTypes": {
+ "type": "object",
+ "properties": {
+ "types": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/serviceEntityType"
+ }
+ }
+ }
+ },
+ "servicePermissionType": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "created_at": {
+ "type": "string",
+ "format": "int64"
+ },
+ "updated_at": {
+ "type": "string",
+ "format": "int64"
+ }
+ }
+ },
+ "servicePermissionTypes": {
+ "type": "object",
+ "properties": {
+ "types": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/servicePermissionType"
+ }
+ }
+ }
+ },
+ "serviceSearchCondition": {
+ "type": "string",
+ "enum": [
+ "EQUAL",
+ "LIKE",
+ "GTE",
+ "LTE",
+ "NOT"
+ ],
+ "default": "EQUAL"
+ },
+ "serviceSearchCriteria": {
+ "type": "object",
+ "properties": {
+ "search_field": {
+ "$ref": "#/definitions/serviceEntitySearchField"
+ },
+ "value": {
+ "type": "string"
+ },
+ "condition": {
+ "$ref": "#/definitions/serviceSearchCondition"
+ }
+ }
+ },
+ "serviceSharedOwners": {
+ "type": "object",
+ "properties": {
+ "owner_ids": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "sharingserviceStatus": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "boolean"
+ }
+ }
+ }
+ }
+}
diff --git a/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/tenant-management-service/swagger.json b/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/tenant-management-service/swagger.json
new file mode 100644
index 0000000..316e452
--- /dev/null
+++ b/custos-integration-services/custos-integration-services-swagger/src/main/resources/static/swagger-apis/tenant-management-service/swagger.json
@@ -0,0 +1,1660 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "TenantManagementService.proto",
+ "version": "version not set"
+ },
+ "tags": [
+ {
+ "name": "TenantManagementService"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/tenant-management/v1.0.0/audit/attributes/{tenant_id}": {
+ "get": {
+ "operationId": "TenantManagementService_getTenantAttributeUpdateAuditTrail",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceGetAttributeUpdateAuditTrailResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenant_id",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "format": "int64"
+ }
+ ],
+ "tags": [
+ "TenantManagementService"
+ ]
+ }
+ },
+ "/tenant-management/v1.0.0/cache/institutions/CILogon": {
+ "get": {
+ "operationId": "TenantManagementService_getFromCache",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceGetInstitutionsResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "institution_ids",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "WHITELIST",
+ "BACKLIST"
+ ],
+ "default": "WHITELIST"
+ },
+ {
+ "name": "performedBy",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "TenantManagementService"
+ ]
+ },
+ "delete": {
+ "operationId": "TenantManagementService_removeFromCache",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/authenticationserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "institution_ids",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "WHITELIST",
+ "BACKLIST"
+ ],
+ "default": "WHITELIST"
+ },
+ {
+ "name": "performedBy",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "TenantManagementService"
+ ]
+ },
+ "post": {
+ "operationId": "TenantManagementService_addToCache",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/authenticationserviceStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "TenantManagementService"
+ ]
+ }
+ },
+ "/tenant-management/v1.0.0/child/tenants": {
+ "get": {
+ "operationId": "TenantManagementService_getChildTenants",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceGetAllTenantsResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "parent_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "status",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "REQUESTED",
+ "APPROVED",
+ "DENIED",
+ "CANCELLED",
+ "ACTIVE",
+ "DEACTIVATED"
+ ],
+ "default": "REQUESTED"
+ },
+ {
+ "name": "requester_email",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "parent_client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "TenantManagementService"
+ ]
+ }
+ },
+ "/tenant-management/v1.0.0/events": {
+ "post": {
+ "operationId": "TenantManagementService_configureEventPersistence",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceOperationStatus"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "tags": [
+ "TenantManagementService"
+ ]
+ }
+ },
+ "/tenant-management/v1.0.0/institutions/CILogon": {
+ "get": {
+ "operationId": "TenantManagementService_getInstitutions",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceGetInstitutionsResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "institution_ids",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "WHITELIST",
+ "BACKLIST"
+ ],
+ "default": "WHITELIST"
+ },
+ {
+ "name": "performedBy",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "TenantManagementService"
+ ]
+ }
+ },
+ "/tenant-management/v1.0.0/oauth2/tenant": {
+ "get": {
+ "operationId": "TenantManagementService_getTenant",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/serviceTenant"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "tenant.tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "tenant.client_name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.requester_email",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.admin_first_name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.admin_last_name",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.admin_email",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.admin_username",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.admin_password",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.tenant_status",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "REQUESTED",
+ "APPROVED",
+ "DENIED",
+ "CANCELLED",
+ "ACTIVE",
+ "DEACTIVATED"
+ ],
+ "default": "REQUESTED"
+ },
+ {
+ "name": "tenant.contacts",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "tenant.redirect_uris",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi"
+ },
+ {
+ "name": "tenant.client_uri",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.scope",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.domain",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.comment",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.logo_uri",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.parent_tenant_id",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "tenant.application_type",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.token_endpoint_auth_method",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.jwks_uri",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.example_extension_parameter",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.tos_uri",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.policy_uri",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.software_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.software_version",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "tenant.refesh_token_lifetime",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "int64"
+ },
+ {
+ "name": "tenant.client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "credentials.iam_client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "credentials.iam_client_secret",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "credentials.ci_logon_client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "credentials.ci_logon_client_secret",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "credentials.custos_client_id",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "credentials.custos_client_secret",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "credentials.custos_client_id_issued_at",
+ "in": "query",
+ "required": false,
+ "type": "number",
+ "format": "double"
+ },
+ {
+ "name": "credentials.custos_client_secret_expired_at",
+ "in": "query",
+ "required": false,
+ "type": "number",
+ "format": "double"
+ }
+ ],
+ "tags": [
+ "TenantManagementService"
+ ]
+ },
+ "delete": {
+ "operationId": "TenantManagementService_deleteTenant",
+ "responses": {
... 3228 lines suppressed ...