@zowe/core-for-zowe-sdk
Version:
Core libraries shared by Zowe SDK packages
83 lines • 3.48 kB
TypeScript
import { AbstractSession, IConfig } from "@zowe/imperative";
import { IApimlProfileInfo } from "./doc/IApimlProfileInfo";
import { IApimlSvcAttrsLoaded } from "./doc/IApimlSvcAttrsLoaded";
/**
* Class to handle listing services on APIML gateway.
* @export
* @class Services
*/
export declare class Services {
/**
* Forms a list of APIML service attributes needed to query APIML for every
* REST service for every loaded command group. This information can later
* be used to create every connection profile required for every loaded
* command group.
*
* @throws {ImperativeError} When Imperative.init() has not been called
* before getPluginApimlConfigs().
* @returns The APIML service attributes needed to query APIML.
*/
static getPluginApimlConfigs(): IApimlSvcAttrsLoaded[];
/**
* Calls the services endpoint of the APIML gateway to obtain a list of
* services that support Single Sign-On. This list is compared against a
* list of APIML service attributes defined in CLI plug-in configs. When a
* service's API ID is present in both lists, a profile info object is
* generated to store CLI profile info for connecting to that service.
* @static
* @param session Session with APIML connection info
* @param configs APIML service attributes defined by CLI plug-ins
* @throws {ImperativeError} When session object is undefined or missing
* authentication info, or the REST request fails
* @returns List of objects containing profile info for APIML services
* @memberof Services
*/
static getServicesByConfig(session: AbstractSession, configs: IApimlSvcAttrsLoaded[]): Promise<IApimlProfileInfo[]>;
/**
* Converts apiml profile information to team config profile objects to be stored in a zowe.config.json file
* @param profileInfoList List of apiml profiles
* @returns List of config profile objects
* @example
* Input: IApimlProfileInfo[] = [
* {
* profName: 'zosmf',
* profType: 'zosmf',
* basePaths: [ '/zosmf/api/v1' ],
* pluginConfigs: Set(1) { [IApimlSvcAttrsLoaded] },
* conflictTypes: [ 'profType' ]
* },
* {
* profName: 'ibmzosmf',
* profType: 'zosmf',
* basePaths: [ '/ibmzosmf/api/v1' ],
* pluginConfigs: Set(1) { [IApimlSvcAttrsLoaded] },
* conflictTypes: [ 'profType' ]
* }
* ]
* Output: IConfig = {
* "profiles": {
* "zosmf": {
* "type": "zosmf",
* "properties": {
* "basePath": "/zosmf/api/v1"
* }
* },
* "ibmzosmf": {
* "type": "zosmf",
* "properties": {
* "basePath": "/ibmzosmf/api/v1"
* }
* }
* },
* "defaults": {
* // Multiple services were detected.
* // Uncomment one of the lines below to set a different default
* //"zosmf": "ibmzosmf"
* "zosmf": "zosmf"
* }
* }
* @memberof Services
*/
static convertApimlProfileInfoToProfileConfig(profileInfoList: IApimlProfileInfo[]): IConfig;
}
//# sourceMappingURL=Services.d.ts.map