@mindconnect/mindconnect-nodejs
Version:
NodeJS Library for Siemens Insights Hub Connectivity - TypeScript SDK for Insights Hub and Industrial IoT - Command Line Interface - Insights Hub Development Proxy (Siemens Insights Hub was formerly known as MindSphere)
233 lines (231 loc) • 10.1 kB
TypeScript
import { SdkClient } from "../common/sdk-client";
import { IdentityManagementModels } from "./identity-models";
/**
* The Identity Management API provides a means form managing users, groups and OAuth clients.
* The user and group management is based on SCIM (System for Cross-domain Identity Management).
*
* Note: Unless stated otherwise the Identity Management APIs allow each caller only to act within the context of the tenant to which the caller belong's to.
*
* Note2: UIAM stands for User Identity Access Management, since users and providers are separated in system. Therefore this API documentation is related to users generally.
*
* @export
* @class TimeSeriesClient
* @extends {SdkClient}
*/
export declare class IdentityManagementClient extends SdkClient {
private _baseUrl;
/**
*
* *uiam user - API for Managing Users in a Tenant
*
* List of users of a tenant.
* Please note, in order to request only the list of users (without the information to which group a user belongs)
* it is recommended to make use of the "attributes" query parameter as follows /Users?attributes=userName,name,meta
* (this will significantly improve the performance over simply calling /Users).
*
@summary List of users of a tenant.
* @param {{
* filter?: string,
* atributes?: string,
* sortBy?: string,
* sortOrder?: string,
* count?: number,
* startIndex?: number,
* subtenant?: string
* }} [params]
*
* @param {string} [params.filter] SCIM filter for searching see [here](http://www.simplecloud.info/specs/draft-scim-api-01.html).
* The available filter attributes are: id, username, email or emails.value, givenname, familyname, active, phonenumber, verified, origin, created or meta.
* created, lastmodified or meta.lastmodified, version or meta.version, groups.display.
* Note: parameter cannot be used in complex filter expression and only eq operator is allowed eg.
* ilter=groups.display eq "MyGroupName"
* @param {string} [params.attributes] Comma separated list of attribute names to be returned, e.g., userName, name, meta. The attributes parameters does not support the parameter \"subtenants\".
* @param {string} [params.sortBy] Sorting field name, like email or id
* @param {string} [params.sortOrder] Sort order, ascending/descending (defaults to ascending)
* @param {number} [params.count] Number of objects to be returned (defaults to 100)
* @param {number} [params.startIndex] The starting index of the search results when paginated. Index starts with 1 (defaults to 1).
* @param {string} [params.subtenant] Filter for subtenant users
* @throws {RequiredError}
* @returns {Promise<IdentityManagementModels.ScimUserResponseSearchResults>}
*
* @memberOf IdentityManagementClient
*/
GetUsers(params?: {
filter?: string;
attributes?: string;
sortBy?: string;
sortOrder?: string;
count?: number;
startIndex?: number;
subtenant?: string;
}): Promise<IdentityManagementModels.ScimUserResponseSearchResults>;
/**
* *uiam user - API for Managing Users in a Tenant
*
* Get details of user
*
* @param {string} id
* @returns {Promise<IdentityManagementModels.ScimUserResponse>}
*
* @memberOf IdentityManagementClient
*/
GetUser(id: string): Promise<IdentityManagementModels.ScimUserResponse>;
/**
* *uiam user - API for Managing Users in a Tenant
*
* Create a new user in a tenant.
* Note: The ‘subtenants’ field is optional. If it is present, the user is considered to be a subtenant user.
*
* @param {IdentityManagementModels.ScimUserPost} user
* @returns {Promise<IdentityManagementModels.ScimUserPostResponse>}
*
* @memberOf IdentityManagementClient
*/
PostUser(user: IdentityManagementModels.ScimUserPost): Promise<IdentityManagementModels.ScimUserPostResponse>;
/**
* *uiam user - API for Managing Users in a Tenant
*
* Update User
*
* @param {string} id
* @param {IdentityManagementModels.ScimUserPost} user
* @returns {Promise<IdentityManagementModels.ScimUserResponse>}
*
* @memberOf IdentityManagementClient
*/
PutUser(id: string, user: IdentityManagementModels.ScimUserPut): Promise<IdentityManagementModels.ScimUserResponse>;
/**
* *uiam user - API for Managing Users in a Tenant
*
* Delete user of tenant.
* Note that tenant can have user if it purchased at least the simple offering.
* Example path /api/identitymanagement/v3/Users/2f95913-d3d9-4a4a-951a-c21184080cf3
*
* @param {string} id
* @returns {Promise<IdentityManagementModels.ScimUserResponse>}
*
* @memberOf IdentityManagementClient
*/
DeleteUser(id: string): Promise<IdentityManagementModels.ScimUserResponse>;
/**
*
* *uiam user - API for Managing Users in a Tenant
*
* Get list of groups starting with the prefix "mdsp:" in which the user is a member.
*
* @returns {Promise<IdentityManagementModels.Group>}
*
* @memberOf IdentityManagementClient
*/
GetUsersMe(): Promise<IdentityManagementModels.Group>;
/**
*
* *uiam group - API for Managing Groups in a Tenant
*
* List of groups of a tenant.
@summary List of groups of a tenant.
* @param {{
* filter?: string,
* count?: number,
* startIndex?: number,
* }} [params]
*
* @param {string} [params.filter] SCIM filter for searching see [here](http://www.simplecloud.info/specs/draft-scim-api-01.html).
* The available filter attributes are: id, groupname, email or emails.value, givenname, familyname, active, phonenumber, verified, origin, created or meta.
* created, lastmodified or meta.lastmodified, version or meta.version, groups.display.
* Note: parameter cannot be used in complex filter expression and only eq operator is allowed eg.
* ilter=groups.display eq "MyGroupName"
* @param {number} [params.count] Number of objects to be returned (defaults to 100)
* @param {number} [params.startIndex] The starting index of the search results when paginated. Index starts with 1 (defaults to 1).
* @throws {RequiredError}
* @returns {Promise<IdentityManagementModels.ScimGroupSearchResults>}
*
* @memberOf IdentityManagementClient
*/
GetGroups(params?: {
filter?: string;
count?: number;
startIndex?: number;
}): Promise<IdentityManagementModels.ScimGroupSearchResults>;
/**
* *uiam group - API for Managing Groups in a Tenant
*
* Get details of group
*
* @param {string} id
* @returns {Promise<IdentityManagementModels.ScimGroup>}
*
* @memberOf IdentityManagementClient
*/
GetGroup(id: string): Promise<IdentityManagementModels.ScimGroup>;
/**
* *uiam group - API for Managing Groups in a Tenant
*
* Create a new group in a tenant.
* Note: The ‘subtenants’ field is optional. If it is present, the group is considered to be a subtenant group.
*
* @param {IdentityManagementModels.ScimGroupPost} group
* @returns {Promise<IdentityManagementModels.ScimGroup>}
*
* @memberOf IdentityManagementClient
*/
PostGroup(group: IdentityManagementModels.ScimGroupPost): Promise<IdentityManagementModels.ScimGroup>;
/**
* *uiam group - API for Managing Groups in a Tenant
*
* Update Group
*
* @param {string} id
* @param {IdentityManagementModels.ScimGroupPost} group
* @returns {Promise<IdentityManagementModels.ScimGroup>}
*
* @memberOf IdentityManagementClient
*/
PutGroup(id: string, group: IdentityManagementModels.ScimGroupPost): Promise<IdentityManagementModels.ScimGroup>;
/**
* *uiam group - API for Managing Groups in a Tenant
*
* Delete group and every connection to that group, too.
* Example path /api/identitymanagement/v3/Groups/68af46d-e9b8-4t04-5a20-7d557f5da8d
*
* @param {string} id
* @returns {Promise<IdentityManagementModels.ScimGroup>}
*
* @memberOf IdentityManagementClient
*/
DeleteGroup(id: string): Promise<IdentityManagementModels.ScimGroup>;
/**
* *uiam group - API for Managing Groups in a Tenant
*
* @param {string} id
* @returns {Promise<IdentityManagementModels.ScimGroupMemberList>}
*
* @memberOf IdentityManagementClient
*/
GetGroupMembers(id: string): Promise<IdentityManagementModels.ScimGroupMemberList>;
/**
* *uiam group - API for Managing Groups in a Tenant
*
* Add new member (either user or group) to an existing group.
* Example path /api/identitymanagement/v3/Groups/68af46d-e9b8-4t04-5a20-7d557f5da8d/members.
*
* @param {IdentityManagementModels.ScimGroupMemberPost} group
* @returns {Promise<IdentityManagementModels.ScimGroupMember>}
*
* @memberOf IdentityManagementClient
*/
PostGroupMember(id: string, member: IdentityManagementModels.ScimGroupMember): Promise<IdentityManagementModels.ScimGroupMember>;
/**
* *uiam group - API for Managing Groups in a Tenant
*
* Delete member (either user or group) from a group.
* Example path /api/identitymanagement/v3/Groups/68af46d-e9b8-4t04-5a20-7d557f5da8d/members/e74ff46d-8bb8-4d04-b420-7d557fe86a8d
*
* @param {string} id
* @param {string} memberId
* @returns {Promise<IdentityManagementModels.ScimGroupMember>}
*
* @memberOf IdentityManagementClient
*/
DeleteGroupMember(id: string, memberId: string): Promise<IdentityManagementModels.ScimGroupMember>;
}