Files
paralus/gen/openapi/proto/rpc/user/group.swagger.json
2022-04-06 13:39:36 +05:30

1023 lines
28 KiB
JSON

{
"swagger": "2.0",
"info": {
"title": "Group management Service",
"version": "2.0",
"contact": {
"name": "Rafay Dev"
}
},
"tags": [
{
"name": "Group"
}
],
"schemes": [
"https"
],
"consumes": [
"application/json",
"application/yaml"
],
"produces": [
"application/json",
"application/yaml"
],
"paths": {
"/auth/v3/partner/{metadata.partner}/organization/{metadata.organization}/group/{metadata.name}": {
"get": {
"operationId": "Group_GetGroup",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/v3Group"
}
},
"403": {
"description": "Returned when the group does not have permission to access the resource.",
"schema": {}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/googlerpcStatus"
}
}
},
"parameters": [
{
"name": "metadata.partner",
"description": "Partner to which the resource belongs",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "metadata.organization",
"description": "Organization to which the resource belongs",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "metadata.name",
"description": "name of the resource",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "apiVersion",
"description": "API Version. API Version of the group resource",
"in": "query",
"required": false,
"type": "string",
"default": "system.k8smgmt.io/v3"
},
{
"name": "kind",
"description": "Kind. Kind of the group resource",
"in": "query",
"required": false,
"type": "string",
"default": "Group"
},
{
"name": "metadata.displayName",
"description": "Display Name. display name of the resource",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "metadata.description",
"description": "Description. description of the resource",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "metadata.project",
"description": "Project. Project of the resource",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "metadata.id",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "metadata.urlScope",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "metadata.modifiedAt",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "spec.users",
"description": "Users. List of users for group",
"in": "query",
"required": false,
"type": "array",
"items": {
"type": "string"
},
"collectionFormat": "multi"
},
{
"name": "spec.type",
"description": "Type. Type of group",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "status.conditionType",
"description": "Condition Type. type of the status condition",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "status.conditionStatus",
"description": "Condition Status. status of the condition",
"in": "query",
"required": false,
"type": "string",
"enum": [
"StatusNotSet",
"StatusSubmitted",
"StatusOK",
"StatusFailed"
],
"default": "StatusNotSet"
},
{
"name": "status.lastUpdated",
"description": "Last Updated. when the condition status is last updated",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "status.reason",
"description": "Reason. reason of the last condition status",
"in": "query",
"required": false,
"type": "string"
}
],
"tags": [
"Group"
]
},
"delete": {
"operationId": "Group_DeleteGroup",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/v3Group"
}
},
"204": {
"description": "Returned when group is deleted successfully.",
"schema": {}
},
"403": {
"description": "Returned when the group does not have permission to access the resource.",
"schema": {}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/googlerpcStatus"
}
}
},
"parameters": [
{
"name": "metadata.partner",
"description": "Partner to which the resource belongs",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "metadata.organization",
"description": "Organization to which the resource belongs",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "metadata.name",
"description": "name of the resource",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "apiVersion",
"description": "API Version. API Version of the group resource",
"in": "query",
"required": false,
"type": "string",
"default": "system.k8smgmt.io/v3"
},
{
"name": "kind",
"description": "Kind. Kind of the group resource",
"in": "query",
"required": false,
"type": "string",
"default": "Group"
},
{
"name": "metadata.displayName",
"description": "Display Name. display name of the resource",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "metadata.description",
"description": "Description. description of the resource",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "metadata.project",
"description": "Project. Project of the resource",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "metadata.id",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "metadata.urlScope",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "metadata.modifiedAt",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "spec.users",
"description": "Users. List of users for group",
"in": "query",
"required": false,
"type": "array",
"items": {
"type": "string"
},
"collectionFormat": "multi"
},
{
"name": "spec.type",
"description": "Type. Type of group",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "status.conditionType",
"description": "Condition Type. type of the status condition",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "status.conditionStatus",
"description": "Condition Status. status of the condition",
"in": "query",
"required": false,
"type": "string",
"enum": [
"StatusNotSet",
"StatusSubmitted",
"StatusOK",
"StatusFailed"
],
"default": "StatusNotSet"
},
{
"name": "status.lastUpdated",
"description": "Last Updated. when the condition status is last updated",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "status.reason",
"description": "Reason. reason of the last condition status",
"in": "query",
"required": false,
"type": "string"
}
],
"tags": [
"Group"
]
},
"put": {
"operationId": "Group_UpdateGroup",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/v3Group"
}
},
"403": {
"description": "Returned when the group does not have permission to access the resource.",
"schema": {}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/googlerpcStatus"
}
}
},
"parameters": [
{
"name": "metadata.partner",
"description": "Partner to which the resource belongs",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "metadata.organization",
"description": "Organization to which the resource belongs",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "metadata.name",
"description": "name of the resource",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v3Group"
}
}
],
"tags": [
"Group"
]
}
},
"/auth/v3/partner/{metadata.partner}/organization/{metadata.organization}/groups": {
"post": {
"operationId": "Group_CreateGroup",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/v3Group"
}
},
"201": {
"description": "Returned when group is created successfully.",
"schema": {}
},
"403": {
"description": "Returned when the group does not have permission to access the resource.",
"schema": {}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/googlerpcStatus"
}
}
},
"parameters": [
{
"name": "metadata.partner",
"description": "Partner to which the resource belongs",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "metadata.organization",
"description": "Organization to which the resource belongs",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v3Group"
}
}
],
"tags": [
"Group"
]
}
},
"/auth/v3/partner/{partner}/organization/{organization}/groups": {
"get": {
"operationId": "Group_GetGroups",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/v3GroupList"
}
},
"403": {
"description": "Returned when the group does not have permission to access the resource.",
"schema": {}
},
"404": {
"description": "Returned when the resource does not exist.",
"schema": {
"type": "string",
"format": "string"
}
},
"default": {
"description": "An unexpected error response.",
"schema": {
"$ref": "#/definitions/googlerpcStatus"
}
}
},
"parameters": [
{
"name": "partner",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "organization",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "q",
"description": "query for filtering.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "name",
"description": "name is unique ID of a resource along with (partnerID, organizationID,\nprojectID).",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "selector",
"description": "selector is used to filter the labels of a resource.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "project",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "group",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "role",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "displayName",
"description": "displayName only used for update queries to set displayName (READONLY).",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "count",
"in": "query",
"required": false,
"type": "string",
"format": "int64"
},
{
"name": "offset",
"in": "query",
"required": false,
"type": "string",
"format": "int64"
},
{
"name": "limit",
"in": "query",
"required": false,
"type": "string",
"format": "int64"
},
{
"name": "ignoreScopeDefault",
"description": "ignoreScopeDefault ignores default values for partnerID, organizationID and\nprojectID.",
"in": "query",
"required": false,
"type": "boolean"
},
{
"name": "globalScope",
"description": "globalScope sets partnerID,organizationID,projectID = 0.",
"in": "query",
"required": false,
"type": "boolean"
},
{
"name": "orderBy",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "order",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "deleted",
"in": "query",
"required": false,
"type": "boolean"
},
{
"name": "extended",
"in": "query",
"required": false,
"type": "boolean"
},
{
"name": "urlScope",
"description": "urlScope is supposed to be passed in the URL as kind/HashID(value).",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "isSSOUser",
"in": "query",
"required": false,
"type": "boolean"
},
{
"name": "username",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "groups",
"in": "query",
"required": false,
"type": "array",
"items": {
"type": "string"
},
"collectionFormat": "multi"
},
{
"name": "blueprintRef",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "publishedVersion",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "clusterID",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "ID",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "account",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "type",
"description": "generic way to specify a type of resource, mainly for use in users endpoint.",
"in": "query",
"required": false,
"type": "string"
}
],
"tags": [
"Group"
]
}
}
},
"definitions": {
"commonv3Status": {
"type": "object",
"properties": {
"conditionType": {
"type": "string",
"description": "type of the status condition",
"title": "Condition Type",
"readOnly": true
},
"conditionStatus": {
"$ref": "#/definitions/v3ConditionStatus",
"enum": [
"StatusNotSet",
"StatusSubmitted",
"StatusOK",
"StatusFailed"
],
"description": "status of the condition",
"title": "Condition Status",
"readOnly": true
},
"lastUpdated": {
"type": "string",
"format": "date-time",
"description": "when the condition status is last updated",
"title": "Last Updated",
"readOnly": true
},
"reason": {
"type": "string",
"description": "reason of the last condition status",
"title": "Reason",
"readOnly": true
}
},
"description": "status of a resource",
"title": "Status",
"readOnly": true
},
"googlerpcStatus": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"details": {
"type": "array",
"items": {
"$ref": "#/definitions/protobufAny"
}
}
}
},
"protobufAny": {
"type": "object",
"properties": {
"@type": {
"type": "string"
}
},
"additionalProperties": {}
},
"v3ConditionStatus": {
"type": "string",
"enum": [
"StatusNotSet",
"StatusSubmitted",
"StatusOK",
"StatusFailed"
],
"default": "StatusNotSet",
"title": "$title: ConditionStatus\n$description: status of a condition for a resource"
},
"v3Group": {
"type": "object",
"properties": {
"apiVersion": {
"type": "string",
"default": "system.k8smgmt.io/v3",
"description": "API Version of the group resource",
"title": "API Version"
},
"kind": {
"type": "string",
"default": "Group",
"description": "Kind of the group resource",
"title": "Kind"
},
"metadata": {
"$ref": "#/definitions/v3Metadata",
"description": "Metadata of the group resource",
"title": "Metadata"
},
"spec": {
"$ref": "#/definitions/v3GroupSpec",
"description": "Metadata of the group resource",
"title": "Metadata"
},
"status": {
"$ref": "#/definitions/commonv3Status",
"description": "Status of the resource",
"title": "Status",
"readOnly": true
}
},
"description": "Group",
"title": "Group",
"required": [
"apiVersion",
"kind",
"metadata",
"spec"
]
},
"v3GroupList": {
"type": "object",
"properties": {
"apiVersion": {
"type": "string",
"description": "API Version of the group list resource",
"title": "API Version",
"readOnly": true
},
"kind": {
"type": "string",
"description": "Kind of the group list resource",
"title": "Kind",
"readOnly": true
},
"metadata": {
"$ref": "#/definitions/v3ListMetadata",
"description": "Metadata of the group list resource",
"title": "Metadata",
"readOnly": true
},
"items": {
"type": "array",
"items": {
"$ref": "#/definitions/v3Group"
},
"description": "List of the group resources",
"title": "Items",
"readOnly": true
}
},
"description": "Group list",
"title": "GroupList",
"readOnly": true
},
"v3GroupSpec": {
"type": "object",
"properties": {
"projectNamespaceRoles": {
"type": "array",
"items": {
"$ref": "#/definitions/v3ProjectNamespaceRole"
},
"description": "Project, namespace, role associations for group",
"title": "ProjectNamespaceRoles"
},
"users": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of users for group",
"title": "Users"
},
"type": {
"type": "string",
"description": "Type of group",
"title": "Type"
}
},
"description": "Group specification",
"title": "Group Specification"
},
"v3ListMetadata": {
"type": "object",
"properties": {
"count": {
"type": "string",
"format": "int64"
},
"offset": {
"type": "string",
"format": "int64"
},
"limit": {
"type": "string",
"format": "int64"
}
},
"title": "$title: ListMetadata\n$description: metadata for a list of resources\n$required: enabled"
},
"v3Metadata": {
"type": "object",
"example": {
"name": "some-name",
"project": "defaultproject"
},
"properties": {
"name": {
"type": "string",
"description": "name of the resource",
"title": "Name"
},
"displayName": {
"type": "string",
"description": "display name of the resource",
"title": "Display Name"
},
"description": {
"type": "string",
"description": "description of the resource",
"title": "Description"
},
"labels": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "labels of the resource",
"title": "Labels"
},
"annotations": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "annotations of the resource",
"title": "Annotations"
},
"project": {
"type": "string",
"description": "Project of the resource",
"title": "Project"
},
"organization": {
"type": "string",
"description": "Organization to which the resource belongs",
"title": "Organization"
},
"partner": {
"type": "string",
"description": "Partner to which the resource belongs",
"title": "Partner"
},
"id": {
"type": "string",
"readOnly": true
},
"urlScope": {
"type": "string",
"readOnly": true
},
"modifiedAt": {
"type": "string",
"format": "date-time",
"readOnly": true
}
},
"description": "metadata of the resource",
"title": "Metadata",
"required": [
"name",
"project"
]
},
"v3ProjectNamespaceRole": {
"type": "object",
"properties": {
"project": {
"type": "string",
"description": "Project",
"title": "Project"
},
"namespace": {
"type": "string",
"format": "int64",
"description": "Namespace",
"title": "Namespace"
},
"role": {
"type": "string",
"description": "Role",
"title": "Role"
},
"group": {
"type": "string",
"description": "Group",
"title": "Group"
}
},
"description": "Project, role and namespace pairing for permission",
"title": "ProjectNamespaceRole"
}
},
"securityDefinitions": {
"ApiKeyAuth": {
"type": "apiKey",
"name": "X-RAFAY-API-KEYID",
"in": "header"
},
"BasicAuth": {
"type": "basic"
}
},
"security": [
{
"ApiKeyAuth": [],
"BasicAuth": []
}
]
}