openapi: 3.2.0 info: contact: email: lxd@lists.canonical.com name: LXD upstream url: https://github.com/canonical/lxd description: 'This is the REST API used by all LXD clients. Internal endpoints aren''t included in this documentation. The LXD API is available over both a local unix+http and remote https API. Authentication for local users relies on group membership and access to the unix socket. For remote users, the default authentication method is TLS client.' license: name: AGPL-3.0-only url: https://www.gnu.org/licenses/agpl-3.0.en.html title: LXD external REST Identity Provider Groups API version: '1.0' tags: - name: identity_provider_groups paths: /1.0/auth/identity-provider-groups: get: description: Returns a list of identity provider groups (URLs). operationId: identity_provider_groups_get responses: '200': description: API endpoints content: application/json: schema: description: Sync response properties: metadata: description: List of endpoints example: "[\n \"/1.0/auth/identity-provider-groups/sales\",\n \"/1.0/auth/identity-provider-groups/operations\"\n]" items: type: string type: array status: description: Status description example: Success type: string status_code: description: Status code example: 200 type: integer type: description: Response type example: sync type: string type: object '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Get the identity provider groups tags: - identity_provider_groups post: description: Creates a new identity provider group. operationId: identity_provider_groups_post responses: '200': $ref: '#/components/responses/EmptySyncResponse' '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Create a new identity provider group tags: - identity_provider_groups requestBody: content: application/json: schema: $ref: '#/components/schemas/IdentityProviderGroupsPost' description: Identity provider request required: true /1.0/auth/identity-provider-groups/{idpGroupName}: delete: description: Deletes the identity provider group operationId: identity_provider_group_delete responses: '200': $ref: '#/components/responses/EmptySyncResponse' '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Delete the identity provider group tags: - identity_provider_groups get: description: Gets a specific identity provider group. operationId: identity_provider_group_get responses: '200': description: '' content: application/json: schema: description: Sync response properties: metadata: $ref: '#/components/schemas/IdentityProviderGroup' status: description: Status description example: Success type: string status_code: description: Status code example: 200 type: integer type: description: Response type example: sync type: string type: object '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Get the identity provider group tags: - identity_provider_groups patch: description: Updates the editable fields of an identity provider group operationId: identity_provider_group_patch responses: '200': $ref: '#/components/responses/EmptySyncResponse' '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Partially update the identity provider group tags: - identity_provider_groups requestBody: content: application/json: schema: $ref: '#/components/schemas/IdentityProviderGroupPut' description: Update request post: description: Renames the identity provider group operationId: identity_provider_group_post responses: '200': $ref: '#/components/responses/EmptySyncResponse' '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Rename the identity provider group tags: - identity_provider_groups requestBody: content: application/json: schema: $ref: '#/components/schemas/IdentityProviderGroupPost' description: Update request put: description: Replaces the editable fields of an identity provider group operationId: identity_provider_group_put responses: '200': $ref: '#/components/responses/EmptySyncResponse' '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Update the identity provider group tags: - identity_provider_groups requestBody: content: application/json: schema: $ref: '#/components/schemas/IdentityProviderGroupPut' description: Update request /1.0/auth/identity-provider-groups?recursion=1: get: description: Returns a list of identity provider groups. operationId: identity_provider_groups_get_recursion1 responses: '200': description: API endpoints content: application/json: schema: description: Sync response properties: metadata: description: List of identity provider groups items: $ref: '#/components/schemas/IdentityProviderGroup' type: array status: description: Status description example: Success type: string status_code: description: Status code example: 200 type: integer type: description: Response type example: sync type: string type: object '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' summary: Get the groups tags: - identity_provider_groups components: schemas: IdentityProviderGroupPost: properties: name: description: Name is the name of the IdP group. type: string x-go-name: Name title: IdentityProviderGroupPost is used for renaming an IdentityProviderGroup. type: object x-go-package: github.com/canonical/lxd/shared/api IdentityProviderGroupsPost: properties: groups: description: Groups are the groups the IdP group resolves to. example: - foo - bar items: type: string type: array x-go-name: Groups name: description: Name is the name of the IdP group. type: string x-go-name: Name title: IdentityProviderGroupsPost is used for creating an IdentityProviderGroup. type: object x-go-package: github.com/canonical/lxd/shared/api IdentityProviderGroupPut: properties: groups: description: Groups are the groups the IdP group resolves to. example: - foo - bar items: type: string type: array x-go-name: Groups title: IdentityProviderGroupPut contains the editable fields of an IdentityProviderGroup. type: object x-go-package: github.com/canonical/lxd/shared/api IdentityProviderGroup: properties: access_entitlements: description: AccessEntitlements represents the entitlements that are granted to the requesting user on the attached entity. example: - can_view - can_edit items: type: string type: array x-go-name: AccessEntitlements groups: description: Groups are the groups the IdP group resolves to. example: - foo - bar items: type: string type: array x-go-name: Groups name: description: Name is the name of the IdP group. type: string x-go-name: Name title: IdentityProviderGroup represents a mapping between LXD groups and groups defined by an identity provider. type: object x-go-package: github.com/canonical/lxd/shared/api responses: EmptySyncResponse: description: Empty sync response content: application/json: schema: properties: status: example: Success type: string x-go-name: Status status_code: example: 200 format: int64 type: integer x-go-name: StatusCode type: example: sync type: string x-go-name: Type type: object InternalServerError: description: Internal Server Error content: application/json: schema: properties: error: example: internal server error type: string x-go-name: Error error_code: example: 500 format: int64 type: integer x-go-name: ErrorCode type: example: error type: string x-go-name: Type type: object BadRequest: description: Bad Request content: application/json: schema: properties: error: example: bad request type: string x-go-name: Error error_code: example: 400 format: int64 type: integer x-go-name: ErrorCode type: example: error type: string x-go-name: Type type: object Forbidden: description: Forbidden content: application/json: schema: properties: error: example: not authorized type: string x-go-name: Error error_code: example: 403 format: int64 type: integer x-go-name: ErrorCode type: example: error type: string x-go-name: Type type: object