{
  "swagger": "2.0",
  "info": {
    "title": "Rolepermission management Service",
    "version": "2.0",
    "contact": {
      "name": "Paralus Dev"
    }
  },
  "tags": [
    {
      "name": "RolepermissionService"
    }
  ],
  "schemes": [
    "https"
  ],
  "consumes": [
    "application/json",
    "application/yaml"
  ],
  "produces": [
    "application/json",
    "application/yaml"
  ],
  "paths": {
    "/auth/v3/rolepermissions": {
      "get": {
        "operationId": "RolepermissionService_GetRolepermissions",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v3RolePermissionList"
            }
          },
          "403": {
            "description": "Returned when the rolepermission 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": "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": "partner",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "organization",
            "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": [
          "RolepermissionService"
        ]
      }
    }
  },
  "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"
    },
    "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
        },
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "modifiedAt": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        }
      },
      "description": "metadata of the resource",
      "title": "Metadata",
      "required": [
        "name",
        "project"
      ]
    },
    "v3RolePermission": {
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string",
          "default": "system.k8smgmt.io/v3",
          "description": "API Version of the role permission resource",
          "title": "API Version"
        },
        "kind": {
          "type": "string",
          "default": "RolePermission",
          "description": "Kind of the role permission resource",
          "title": "Kind"
        },
        "metadata": {
          "$ref": "#/definitions/v3Metadata",
          "description": "Metadata of the role permission resource",
          "title": "Metadata"
        },
        "spec": {
          "$ref": "#/definitions/v3RolePermissionSpec",
          "description": "Metadata of the role permission resource",
          "title": "Metadata"
        },
        "status": {
          "$ref": "#/definitions/commonv3Status",
          "description": "Status of the resource",
          "title": "Status",
          "readOnly": true
        }
      },
      "description": "Role Permission",
      "title": "RolePermission",
      "required": [
        "apiVersion",
        "kind",
        "metadata",
        "spec"
      ]
    },
    "v3RolePermissionList": {
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string",
          "description": "API Version of the role permission list resource",
          "title": "API Version",
          "readOnly": true
        },
        "kind": {
          "type": "string",
          "description": "Kind of the role permission list resource",
          "title": "Kind",
          "readOnly": true
        },
        "metadata": {
          "$ref": "#/definitions/v3ListMetadata",
          "description": "Metadata of the role permission list resource",
          "title": "Metadata",
          "readOnly": true
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v3RolePermission",
            "readOnly": true
          },
          "description": "List of the role permission resources",
          "title": "Items"
        }
      },
      "description": "RolePeList list",
      "title": "RolePermissionList",
      "readOnly": true
    },
    "v3RolePermissionSpec": {
      "type": "object",
      "properties": {
        "scope": {
          "type": "string",
          "description": "Scope of permisions for role",
          "title": "Scope"
        }
      },
      "description": "RolePermisson specification",
      "title": "RolePermission Specification"
    }
  },
  "securityDefinitions": {
    "ApiKeyAuth": {
      "type": "apiKey",
      "name": "X-PARALUS-API-KEYID",
      "in": "header"
    },
    "BasicAuth": {
      "type": "basic"
    }
  },
  "security": [
    {
      "ApiKeyAuth": [],
      "BasicAuth": []
    }
  ]
}
