@apistudio/apim-cli
Version:
CLI for API Management Products
171 lines (170 loc) • 5.14 kB
JavaScript
/**
* Copyright IBM Corp. 2024, 2025
*/
import { KindEnums } from '@apic/api-model/common/StudioEnums.js';
export const AssetKinds = {
API: 'API',
Scope: 'Scope',
PolicySequence: 'PolicySequence',
CORS: 'CORS',
Test: 'Test',
Assertion: 'Assertion',
Environment: 'Environment',
Plan: 'Plan',
Product: 'Product',
Quota: 'Quota',
Properties: 'Properties',
URISchemes: 'URISchemes',
DataPowerAssembly: 'DataPowerAssembly',
FreeFlowPolicySequence: 'FreeFlowPolicySequence',
StagedPolicySequence: 'StagedPolicySequence',
Telemetry: 'Telemetry',
Invoke: 'Invoke',
LoadBalancer: 'LoadBalancer',
InboundBulkHead: 'InboundBulkHead',
InboundMessaging: 'InboundMessaging',
SetMediaType: 'SetMediaType',
AuthorizeUser: 'AuthorizeUser',
SetContextVariable: 'SetContextVariable',
WebMethodsISService: 'WebMethodsISService',
Log: 'Log',
IAM: 'IAM',
Authorize: 'Authorize',
TransformResponse: 'TransformResponse',
TransformRequest: 'TransformRequest',
MonitorTraffic: 'MonitorTraffic',
SetAuthorization: 'SetAuthorization',
OutboundAnonymous: 'OutboundAnonymous',
OutboundAlias: 'OutboundAlias',
CacheServiceResult: 'CacheServiceResult',
ValidateAPISpecification: 'ValidateAPISpecification',
ErrorProcessing: 'ErrorProcessing',
HTTPEndpoint: 'HTTPEndpoint',
HandlebarsTemplate: 'HandlebarsTemplate',
Route: 'Route',
SQLInjectionFilter: 'SQLInjectionFilter',
MessageConfig: 'MessageConfig',
LuaScript: 'LuaScript',
Set: 'Set',
RateLimitDef: 'RateLimitDef',
RateLimit: 'RateLimit',
Return: 'Return',
GlobalPolicy: 'GlobalPolicy',
DataMasking: 'DataMasking',
InvokeMessagingExtension: 'InvokeMessagingExtension',
HTTPInvoke: 'HTTPInvoke',
CountLimit: 'CountLimit',
CountLimitDef: 'CountLimitDef',
Redact: 'Redact',
Remove: 'Remove',
Throw: 'Throw',
Block: 'Block',
Transform: 'Transform',
Switch: 'Switch',
If: 'If',
OperationSwitch: 'OperationSwitch',
InvokeAWSLambda: 'InvokeAWSLambda',
WatsonXAIInvoke: 'WatsonXAIInvoke',
OpenAIInvoke: 'OpenAIInvoke',
ExtractIdentity: 'ExtractIdentity',
EnforceCircuitBreaker: 'EnforceCircuitBreaker',
Parse: 'Parse',
Retry: 'Retry',
IBMCloudLogin: 'IBMCloudLogin',
Authenticate: 'Authenticate',
Cache: 'Cache',
Try: 'Try',
};
export const POLICY_KINDS = [
KindEnums.Log,
KindEnums.Route,
KindEnums.Transport,
KindEnums.CacheServiceResult,
KindEnums.ErrorProcessing,
KindEnums.IdentifyAndAuthorize,
KindEnums.InvokeMessagingExtension,
KindEnums.InvokeAWSLambdaFunction,
KindEnums.MonitorTraffic,
KindEnums.RateLimiter,
KindEnums.SetContextVariable,
KindEnums.TransformRequest,
KindEnums.ValidateAPISpecification,
KindEnums.HTTPEndpoint,
KindEnums.TransformResponse,
KindEnums.SetMediaType,
KindEnums.WebMethodsISService,
KindEnums.InboundBulkHead,
KindEnums.InboundMessaging,
KindEnums.AuthorizeUser,
KindEnums.CustomHttpHeader,
KindEnums.MessageConfig,
KindEnums.OutboundAlias,
KindEnums.OutboundAnonymous,
KindEnums.OutboundBasicAuth,
KindEnums.OutboundOAuth2,
KindEnums.OutboundIncomingJWT,
KindEnums.OutboundNTLMAuth,
KindEnums.OutboundKerberosAuth,
AssetKinds.SetAuthorization,
AssetKinds.Invoke,
AssetKinds.LoadBalancer,
AssetKinds.URISchemes,
AssetKinds.Properties,
AssetKinds.CORS,
AssetKinds.Log,
AssetKinds.MonitorTraffic,
AssetKinds.OutboundAnonymous,
AssetKinds.OutboundAlias,
AssetKinds.CacheServiceResult,
AssetKinds.RateLimitDef,
AssetKinds.RateLimit,
AssetKinds.IAM,
AssetKinds.Set,
AssetKinds.Return,
AssetKinds.LuaScript,
AssetKinds.CountLimit,
AssetKinds.HTTPInvoke,
AssetKinds.CountLimitDef,
AssetKinds.Redact,
AssetKinds.Remove,
AssetKinds.Block,
AssetKinds.InvokeAWSLambda,
AssetKinds.EnforceCircuitBreaker,
AssetKinds.Parse,
AssetKinds.Switch,
AssetKinds.InvokeMessagingExtension,
AssetKinds.DataMasking,
AssetKinds.If,
AssetKinds.OperationSwitch,
AssetKinds.HTTPInvoke,
AssetKinds.Switch,
AssetKinds.If,
AssetKinds.ExtractIdentity,
AssetKinds.SQLInjectionFilter,
AssetKinds.Retry,
AssetKinds.IBMCloudLogin,
AssetKinds.Throw,
AssetKinds.Authenticate,
AssetKinds.Cache,
AssetKinds.Try,
];
export const NANO_GW_POLICY_KINDS = [
AssetKinds.Invoke,
AssetKinds.HandlebarsTemplate,
AssetKinds.LoadBalancer,
AssetKinds.Telemetry,
AssetKinds.Authorize,
AssetKinds.Transform
];
export const CommonModelExtensionInfo = {
[AssetKinds.Invoke]: {
versions: ['api.ibm.com/v1'],
defaultVersion: 'api.ibm.com/v1',
},
};
export { KindEnums as AssetModelKindConstants };
export class AssetModelInternalKindConstants {
}
AssetModelInternalKindConstants.POLICY = 'Policy';
AssetModelInternalKindConstants.MOCK_END_POINT = 'MockEndpoint';
AssetModelInternalKindConstants.MOCK_RESPONSE = 'MockResponse';