@apistudio/apim-cli
Version:
CLI for API Management Products
168 lines • 6.38 kB
TypeScript
/**
* Copyright IBM Corp. 2024, 2025
*/
import { Variable as Variable_Ref } from '@apic/api-model/test/common/Variable.js';
import { Test_Environment as Environment_Ref, Test_Assertions, Test_Auth, Test_Auth_BasicAuth, Test_Headers, Test_Parameters, Test_Payload, Test_Request } from '@apic/api-model/test/Test.js';
import { PolicySequence_Spec } from '@apic/api-model/policy/PolicySeq.js';
import { Assert } from '@apic/api-model/test/common/Assert.js';
import { Ref as Reference } from '@apic/api-model/common/Ref.js';
import { KindEnums } from '@apic/api-model/common/StudioEnums.js';
import { RefAndEndpoint } from '@apic/api-model/test/common/RefAndEndpoint.js';
import { PayLoadIdentifier } from '@apic/api-model/policy/common/PayLoadIdentifier.js';
import { CORS_Spec } from '@apic/api-model/policy/ResProcessing/CORS.js';
import { AuthorizeUser_Spec } from '@apic/api-model/policy/iam/AuthorizeUser.js';
import { Api } from '@apic/api-model/api/Api.js';
import { Xsl } from '@apic/api-model/policy/common/Xsl.js';
export type Metadata = KindMetadata;
export interface KindMetadata {
name: string;
version: string;
tags?: string[];
namespace?: string;
type?: string;
description?: string;
labels?: {
gatewayTypes: string[];
};
}
export type API_Spec_Ref = {
$ref: string;
$path: string;
};
export type Path = {
path: string;
};
export type PolicySequenceSpec = PolicySequence_Spec;
export type TestAssertions = Test_Assertions;
export type AssertSpec = Assert;
export type Cors_Spec = CORS_Spec;
export type Authorize_Spec = AuthorizeUser_Spec;
export type TestBasicAuth = Test_Auth_BasicAuth;
export type TestHeaders = Test_Headers;
export type TestParamters = Test_Parameters;
export type TestPayload = Test_Payload;
export type TestAuth = Test_Auth;
export type RefEndpoint = RefAndEndpoint;
export type Ref = Required<Reference>;
export type Variable = Required<Variable_Ref>;
export type Environment = Environment_Ref;
export type PolicySequence = PolicySequence_Spec;
export type Expression = Required<Assert>;
export type Assertion = Required<Test_Assertions>;
export type Request = Required<Test_Request> & {
var?: TestVariable[] | string;
endpoint?: string;
};
export type Specification = {
'api-spec'?: API_Spec_Ref | string;
'policy-sequence'?: Ref[];
api?: Ref | string;
scopes?: Ref[];
environment?: Ref | Environment;
request?: Request[];
};
export type BaseAsset = {
kind: string;
apiVersion?: string;
metadata: Metadata;
spec: Specification | string | any;
paths?: any;
info?: any;
};
export type ApiObject = Api;
export type IAMPayloadIdentifier = PayLoadIdentifier;
export type XSL = Xsl;
export declare const AssetKinds: {
readonly API: "API";
readonly Scope: "Scope";
readonly PolicySequence: "PolicySequence";
readonly CORS: "CORS";
readonly Test: "Test";
readonly Assertion: "Assertion";
readonly Environment: "Environment";
readonly Plan: "Plan";
readonly Product: "Product";
readonly Quota: "Quota";
readonly Properties: "Properties";
readonly URISchemes: "URISchemes";
readonly DataPowerAssembly: "DataPowerAssembly";
readonly FreeFlowPolicySequence: "FreeFlowPolicySequence";
readonly StagedPolicySequence: "StagedPolicySequence";
readonly Telemetry: "Telemetry";
readonly Invoke: "Invoke";
readonly LoadBalancer: "LoadBalancer";
readonly InboundBulkHead: "InboundBulkHead";
readonly InboundMessaging: "InboundMessaging";
readonly SetMediaType: "SetMediaType";
readonly AuthorizeUser: "AuthorizeUser";
readonly SetContextVariable: "SetContextVariable";
readonly WebMethodsISService: "WebMethodsISService";
readonly Log: "Log";
readonly IAM: "IAM";
readonly Authorize: "Authorize";
readonly TransformResponse: "TransformResponse";
readonly TransformRequest: "TransformRequest";
readonly MonitorTraffic: "MonitorTraffic";
readonly SetAuthorization: "SetAuthorization";
readonly OutboundAnonymous: "OutboundAnonymous";
readonly OutboundAlias: "OutboundAlias";
readonly CacheServiceResult: "CacheServiceResult";
readonly ValidateAPISpecification: "ValidateAPISpecification";
readonly ErrorProcessing: "ErrorProcessing";
readonly HTTPEndpoint: "HTTPEndpoint";
readonly HandlebarsTemplate: "HandlebarsTemplate";
readonly Route: "Route";
readonly SQLInjectionFilter: "SQLInjectionFilter";
readonly MessageConfig: "MessageConfig";
readonly LuaScript: "LuaScript";
readonly Set: "Set";
readonly RateLimitDef: "RateLimitDef";
readonly RateLimit: "RateLimit";
readonly Return: "Return";
readonly GlobalPolicy: "GlobalPolicy";
readonly DataMasking: "DataMasking";
readonly InvokeMessagingExtension: "InvokeMessagingExtension";
readonly HTTPInvoke: "HTTPInvoke";
readonly CountLimit: "CountLimit";
readonly CountLimitDef: "CountLimitDef";
readonly Redact: "Redact";
readonly Remove: "Remove";
readonly Throw: "Throw";
readonly Block: "Block";
readonly Transform: "Transform";
readonly Switch: "Switch";
readonly If: "If";
readonly OperationSwitch: "OperationSwitch";
readonly InvokeAWSLambda: "InvokeAWSLambda";
readonly WatsonXAIInvoke: "WatsonXAIInvoke";
readonly OpenAIInvoke: "OpenAIInvoke";
readonly ExtractIdentity: "ExtractIdentity";
readonly EnforceCircuitBreaker: "EnforceCircuitBreaker";
readonly Parse: "Parse";
readonly Retry: "Retry";
readonly IBMCloudLogin: "IBMCloudLogin";
readonly Authenticate: "Authenticate";
readonly Cache: "Cache";
readonly Try: "Try";
};
export declare const POLICY_KINDS: string[];
export type AssetKindsType = keyof typeof AssetKinds;
export declare const NANO_GW_POLICY_KINDS: string[];
type ExtensionInfo = {
[K in keyof typeof AssetKinds]?: {
versions: string[];
defaultVersion: string;
};
};
export declare const CommonModelExtensionInfo: ExtensionInfo;
export { KindEnums as AssetModelKindConstants };
export declare class AssetModelInternalKindConstants {
static readonly POLICY: string;
static readonly MOCK_END_POINT: string;
static readonly MOCK_RESPONSE: string;
}
export interface TestVariable {
key: string;
value: string;
}
//# sourceMappingURL=base-asset.model.d.ts.map