SCIM: GET /scim/Users swagger definitions (#97160)

* Add GET /scim/Users endpoint definition

* update status code

* Update swagger reference
This commit is contained in:
linoman 2024-12-03 16:34:20 +01:00 committed by GitHub
parent 5bf0872d14
commit 5c2cda7abb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 448 additions and 0 deletions

View File

@ -4501,6 +4501,21 @@
}
}
},
"EmailSchema": {
"description": "Implementation of SCIM specification email schema\nhttps://datatracker.ietf.org/doc/html/rfc7643#section-4.1.2",
"type": "object",
"properties": {
"primary": {
"type": "boolean"
},
"type": {
"type": "string"
},
"value": {
"type": "string"
}
}
},
"EnumFieldConfig": {
"description": "Enum field config\nVector values are used as lookup keys into the enum fields",
"type": "object",
@ -5016,6 +5031,35 @@
}
}
},
"GetUsersBody": {
"type": "object",
"properties": {
"Resources": {
"type": "array",
"items": {
"$ref": "#/definitions/UserSchema"
}
},
"itemsPerPage": {
"type": "integer",
"format": "int64"
},
"schemas": {
"type": "array",
"items": {
"type": "string"
}
},
"startIndex": {
"type": "integer",
"format": "int64"
},
"totalResults": {
"type": "integer",
"format": "int64"
}
}
},
"Group": {
"type": "object",
"properties": {
@ -5553,6 +5597,29 @@
}
}
},
"MetaSchema": {
"description": "Implementation of SCIM specification meta schema\nhttps://datatracker.ietf.org/doc/html/rfc7643#section-3.1",
"type": "object",
"properties": {
"created": {
"type": "string",
"format": "date-time"
},
"lastModified": {
"type": "string",
"format": "date-time"
},
"location": {
"type": "string"
},
"resourceType": {
"type": "string"
},
"version": {
"type": "string"
}
}
},
"Metadata": {
"description": "Metadata contains user accesses for a given resource\nEx: map[string]bool{\"create\":true, \"delete\": true}",
"type": "object",
@ -5737,6 +5804,24 @@
}
}
},
"NameSchema": {
"description": "Implementation of SCIM specification name schema\nhttps://datatracker.ietf.org/doc/html/rfc7643#section-4.1.1",
"type": "object",
"properties": {
"familyName": {
"type": "string"
},
"formatted": {
"type": "string"
},
"givenName": {
"type": "string"
},
"middleName": {
"type": "string"
}
}
},
"NavbarPreference": {
"type": "object",
"title": "NavbarPreference defines model for NavbarPreference.",
@ -8566,6 +8651,45 @@
}
}
},
"UserSchema": {
"description": "Implementation of SCIM specification user schema\nhttps://datatracker.ietf.org/doc/html/rfc7643#section-4.1.1",
"type": "object",
"properties": {
"active": {
"type": "boolean"
},
"displayName": {
"type": "string"
},
"emails": {
"type": "array",
"items": {
"$ref": "#/definitions/EmailSchema"
}
},
"externalId": {
"type": "string"
},
"id": {
"type": "string"
},
"meta": {
"$ref": "#/definitions/MetaSchema"
},
"name": {
"$ref": "#/definitions/NameSchema"
},
"schemas": {
"type": "array",
"items": {
"type": "string"
}
},
"userName": {
"type": "string"
}
}
},
"UserSearchHitDTO": {
"type": "object",
"properties": {
@ -9769,6 +9893,12 @@
}
}
},
"getUsers": {
"description": "",
"schema": {
"$ref": "#/definitions/GetUsersBody"
}
},
"goneError": {
"description": "GoneError is returned when the requested endpoint was removed.",
"schema": {

View File

@ -8607,6 +8607,30 @@
}
},
"/scim/users/": {
"get": {
"tags": [
"users"
],
"summary": "Fetches all users in UserSchema format.",
"operationId": "getUsers",
"responses": {
"200": {
"$ref": "#/responses/getUsers"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
"404": {
"$ref": "#/responses/notFoundError"
},
"500": {
"$ref": "#/responses/internalServerError"
}
}
},
"post": {
"tags": [
"users"
@ -8617,6 +8641,9 @@
"200": {
"$ref": "#/responses/okResponse"
},
"400": {
"$ref": "#/responses/badRequestError"
},
"401": {
"$ref": "#/responses/unauthorisedError"
},
@ -15065,6 +15092,21 @@
}
}
},
"EmailSchema": {
"description": "Implementation of SCIM specification email schema\nhttps://datatracker.ietf.org/doc/html/rfc7643#section-4.1.2",
"type": "object",
"properties": {
"primary": {
"type": "boolean"
},
"type": {
"type": "string"
},
"value": {
"type": "string"
}
}
},
"EmbeddedContactPoint": {
"description": "EmbeddedContactPoint is the contact point type that is used\nby grafanas embedded alertmanager implementation.",
"type": "object",
@ -15779,6 +15821,35 @@
}
}
},
"GetUsersBody": {
"type": "object",
"properties": {
"Resources": {
"type": "array",
"items": {
"$ref": "#/definitions/UserSchema"
}
},
"itemsPerPage": {
"type": "integer",
"format": "int64"
},
"schemas": {
"type": "array",
"items": {
"type": "string"
}
},
"startIndex": {
"type": "integer",
"format": "int64"
},
"totalResults": {
"type": "integer",
"format": "int64"
}
}
},
"GettableAlertmanagers": {
"type": "object",
"properties": {
@ -17075,6 +17146,29 @@
"$ref": "#/definitions/Matcher"
}
},
"MetaSchema": {
"description": "Implementation of SCIM specification meta schema\nhttps://datatracker.ietf.org/doc/html/rfc7643#section-3.1",
"type": "object",
"properties": {
"created": {
"type": "string",
"format": "date-time"
},
"lastModified": {
"type": "string",
"format": "date-time"
},
"location": {
"type": "string"
},
"resourceType": {
"type": "string"
},
"version": {
"type": "string"
}
}
},
"Metadata": {
"description": "Metadata contains user accesses for a given resource\nEx: map[string]bool{\"create\":true, \"delete\": true}",
"type": "object",
@ -17301,6 +17395,24 @@
}
}
},
"NameSchema": {
"description": "Implementation of SCIM specification name schema\nhttps://datatracker.ietf.org/doc/html/rfc7643#section-4.1.1",
"type": "object",
"properties": {
"familyName": {
"type": "string"
},
"formatted": {
"type": "string"
},
"givenName": {
"type": "string"
},
"middleName": {
"type": "string"
}
}
},
"NamespaceConfigResponse": {
"type": "object",
"additionalProperties": {
@ -22163,6 +22275,45 @@
}
}
},
"UserSchema": {
"description": "Implementation of SCIM specification user schema\nhttps://datatracker.ietf.org/doc/html/rfc7643#section-4.1.1",
"type": "object",
"properties": {
"active": {
"type": "boolean"
},
"displayName": {
"type": "string"
},
"emails": {
"type": "array",
"items": {
"$ref": "#/definitions/EmailSchema"
}
},
"externalId": {
"type": "string"
},
"id": {
"type": "string"
},
"meta": {
"$ref": "#/definitions/MetaSchema"
},
"name": {
"$ref": "#/definitions/NameSchema"
},
"schemas": {
"type": "array",
"items": {
"type": "string"
}
},
"userName": {
"type": "string"
}
}
},
"UserSearchHitDTO": {
"type": "object",
"properties": {
@ -24138,6 +24289,12 @@
}
}
},
"getUsers": {
"description": "(empty)",
"schema": {
"$ref": "#/definitions/GetUsersBody"
}
},
"goneError": {
"description": "GoneError is returned when the requested endpoint was removed.",
"schema": {

View File

@ -1405,6 +1405,16 @@
},
"description": "(empty)"
},
"getUsers": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetUsersBody"
}
}
},
"description": "(empty)"
},
"goneError": {
"content": {
"application/json": {
@ -5114,6 +5124,21 @@
},
"type": "object"
},
"EmailSchema": {
"description": "Implementation of SCIM specification email schema\nhttps://datatracker.ietf.org/doc/html/rfc7643#section-4.1.2",
"properties": {
"primary": {
"type": "boolean"
},
"type": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"EmbeddedContactPoint": {
"description": "EmbeddedContactPoint is the contact point type that is used\nby grafanas embedded alertmanager implementation.",
"properties": {
@ -5828,6 +5853,35 @@
},
"type": "object"
},
"GetUsersBody": {
"properties": {
"Resources": {
"items": {
"$ref": "#/components/schemas/UserSchema"
},
"type": "array"
},
"itemsPerPage": {
"format": "int64",
"type": "integer"
},
"schemas": {
"items": {
"type": "string"
},
"type": "array"
},
"startIndex": {
"format": "int64",
"type": "integer"
},
"totalResults": {
"format": "int64",
"type": "integer"
}
},
"type": "object"
},
"GettableAlertmanagers": {
"properties": {
"data": {
@ -7124,6 +7178,29 @@
},
"type": "array"
},
"MetaSchema": {
"description": "Implementation of SCIM specification meta schema\nhttps://datatracker.ietf.org/doc/html/rfc7643#section-3.1",
"properties": {
"created": {
"format": "date-time",
"type": "string"
},
"lastModified": {
"format": "date-time",
"type": "string"
},
"location": {
"type": "string"
},
"resourceType": {
"type": "string"
},
"version": {
"type": "string"
}
},
"type": "object"
},
"Metadata": {
"additionalProperties": {
"type": "boolean"
@ -7350,6 +7427,24 @@
},
"type": "object"
},
"NameSchema": {
"description": "Implementation of SCIM specification name schema\nhttps://datatracker.ietf.org/doc/html/rfc7643#section-4.1.1",
"properties": {
"familyName": {
"type": "string"
},
"formatted": {
"type": "string"
},
"givenName": {
"type": "string"
},
"middleName": {
"type": "string"
}
},
"type": "object"
},
"NamespaceConfigResponse": {
"additionalProperties": {
"items": {
@ -12211,6 +12306,45 @@
},
"type": "object"
},
"UserSchema": {
"description": "Implementation of SCIM specification user schema\nhttps://datatracker.ietf.org/doc/html/rfc7643#section-4.1.1",
"properties": {
"active": {
"type": "boolean"
},
"displayName": {
"type": "string"
},
"emails": {
"items": {
"$ref": "#/components/schemas/EmailSchema"
},
"type": "array"
},
"externalId": {
"type": "string"
},
"id": {
"type": "string"
},
"meta": {
"$ref": "#/components/schemas/MetaSchema"
},
"name": {
"$ref": "#/components/schemas/NameSchema"
},
"schemas": {
"items": {
"type": "string"
},
"type": "array"
},
"userName": {
"type": "string"
}
},
"type": "object"
},
"UserSearchHitDTO": {
"properties": {
"authLabels": {
@ -22484,12 +22618,39 @@
}
},
"/scim/users/": {
"get": {
"operationId": "getUsers",
"responses": {
"200": {
"$ref": "#/components/responses/getUsers"
},
"400": {
"$ref": "#/components/responses/badRequestError"
},
"401": {
"$ref": "#/components/responses/unauthorisedError"
},
"404": {
"$ref": "#/components/responses/notFoundError"
},
"500": {
"$ref": "#/components/responses/internalServerError"
}
},
"summary": "Fetches all users in UserSchema format.",
"tags": [
"users"
]
},
"post": {
"operationId": "createUser",
"responses": {
"200": {
"$ref": "#/components/responses/okResponse"
},
"400": {
"$ref": "#/components/responses/badRequestError"
},
"401": {
"$ref": "#/components/responses/unauthorisedError"
},