@apistudio/apim-cli
Version:
CLI for API Management Products
725 lines • 20.4 kB
TypeScript
/**
* Generated TypeScript interfaces for API resources
* DO NOT EDIT MANUALLY - This file is generated
*/
export type KindType = 'InvokeAWSLambda' | 'ValidateAPISpecification' | 'LoadBalancer' | 'Invoke' | 'IAM' | 'RateLimit' | 'RateLimitDef' | 'InboundBulkHead' | 'SetMediaType' | 'InboundMessaging' | 'AuthorizeUser' | 'SetContextVariable' | 'WebMethodsISService' | 'Log' | 'MonitorTraffic' | 'HTTPInvoke' | 'InvokeMessagingExtension' | 'TransformRequest' | 'TransformResponse' | 'MessageConfig' | 'ErrorProcessing';
export interface ApiResource {
kind: KindType;
apiVersion: string;
metadata: {
name: string;
version: string;
description?: string;
namespace?: string;
tags?: string[];
type?: string;
labels?: {
gatewayTypes?: string[];
};
};
spec: Record<string, any>;
}
export type KindApiVersionType = InvokeAWSLambda_api_ibm_com_v1 | ValidateAPISpecification_api_ibm_com_v1 | LoadBalancer_api_ibm_com_v1 | Invoke_api_ibm_com_v1 | IAM_api_ibm_com_v1 | RateLimit_api_ibm_com_v1 | RateLimitDef_api_ibm_com_v1 | InboundBulkHead_api_ibm_com_v1 | SetMediaType_api_ibm_com_v1 | InboundMessaging_api_ibm_com_v1 | AuthorizeUser_api_ibm_com_v1 | SetContextVariable_api_ibm_com_v1 | WebMethodsISService_api_ibm_com_v1 | Log_api_ibm_com_v1 | MonitorTraffic_api_ibm_com_v1 | HTTPInvoke_api_ibm_com_v1 | InvokeMessagingExtension_api_ibm_com_v1 | TransformRequest_api_ibm_com_v1 | TransformResponse_api_ibm_com_v1 | MessageConfig_api_ibm_com_v1 | ErrorProcessing_api_ibm_com_v1;
export interface set {
key: string;
value: string;
}
export interface Namespaces {
prefix?: string | undefined;
URI?: string | undefined;
}
export interface SetPayload {
"content-types"?: ContentTypes[] | undefined;
"defaultContentType"?: string | undefined;
xsl?: Xsl[] | undefined;
}
export interface ContentTypes {
"application/json"?: string | undefined;
"application/xml"?: string | undefined;
"text/plain"?: string | undefined;
}
export interface Xsl {
feature?: Feature[] | undefined;
$path?: string | undefined;
content?: string | undefined;
}
export interface Feature {
name?: string | undefined;
value?: string | undefined;
}
export interface InvokeAWSLambda_api_ibm_com_v1 {
kind: KindType;
apiVersion: string;
metadata: {
description?: string;
name: string;
namespace?: string;
tags?: string[];
type?: string;
version: string;
labels?: {
gatewayTypes?: string[];
};
};
spec: {
functionName?: string;
qualifier?: string;
invocationType?: string;
region?: string;
awsAuthType?: {
accessSecret: string;
};
tlsConnectionProfile?: string;
input?: string;
output?: string;
clientConfig?: {
socketTimeout?: number;
connectionTimeout?: number;
requestTimeout?: number;
clientExecutionTimeout?: number;
clientRetryCount?: number;
connectionExpirationTimeout?: number;
enableExpectContinue?: boolean;
enableGzip?: boolean;
enableHostPrefixInjection?: boolean;
maxConnectionIdleTime?: number;
responseMetadataCacheSize?: number;
enableThrottledRetries?: boolean;
enableKeepAlive?: boolean;
enableResponseMetadataCache?: boolean;
signatureAlgorithm?: string;
tcpSendBufferSizeHint?: number;
tcpReceiveBufferSizeHint?: number;
};
extensions?: {
'webm-gateway'?: {
apiVersion?: string;
spec?: {
condition?: string;
lambdaConfig?: {
alias?: string;
};
clientConfig?: {
retryOnErrorCount?: number;
};
request_processing?: {
transformations: {
set?: set[];
remove?: string[];
setPayload?: SetPayload;
};
useIncomingHeaders?: boolean;
};
response_processing?: {
transformations: {
abortAPIExecutionForFailure?: boolean;
copyEntireResponse?: boolean;
set?: set[];
};
};
namespaces?: Namespaces[];
};
};
};
};
}
export interface ValidateAPISpecification_api_ibm_com_v1 {
kind: KindType;
apiVersion: string;
metadata: {
description?: string;
name: string;
namespace?: string;
tags?: string[];
type?: string;
version: string;
labels?: {
gatewayTypes?: string[];
};
};
spec: any;
}
export interface LoadBalancer_api_ibm_com_v1 {
kind: KindType;
apiVersion: string;
metadata: {
description?: string;
name: string;
namespace?: string;
tags?: string[];
type?: string;
version: string;
labels?: {
gatewayTypes?: string[];
};
};
spec: {
input?: string;
output?: string;
roundRobinHttp?: {
verb?: string;
endpoints?: Record<string, any>[];
};
extensions?: {
'webm-gateway'?: {
apiVersion?: string;
spec?: {
endpoints?: Record<string, any>[];
};
};
};
};
}
export interface Invoke_api_ibm_com_v1 {
kind: "Invoke";
apiVersion: string;
metadata: Metadata;
spec: {
input?: string;
output?: string;
cache?: {
expire?: {
static?: {
seconds?: number;
};
};
scope?: {
narrowScope?: {};
};
};
endpoint?: {
[key: string]: {
verb?: string;
status_exception?: {
pattern?: number;
};
target?: {
tlsClientProfile?: string;
url?: string;
urlType?: string;
version?: string;
timeout?: number;
compression?: boolean;
chunkedUploads?: boolean;
persistentConnection?: boolean;
};
};
};
};
}
export interface IAM_api_ibm_com_v1 {
kind: KindType;
apiVersion: string;
metadata: {
description?: string;
name: string;
namespace?: string;
tags?: string[];
type?: string;
version: string;
labels?: {
gatewayTypes?: string[];
};
};
spec: {
accessControl?: any[][];
extensions?: {
'webm-gateway'?: {
apiVersion?: string;
spec?: {
authenticationMode?: string;
allowAnonymous?: {};
triggerPolicyViolation?: boolean;
accessControl?: {
kerberos?: {
applicationSecurity?: {
mode?: string;
};
servicePrincipleName?: string;
servicePrinciplePassword?: string;
};
openIdConnect?: {
applicationSecurity?: {
mode?: string;
};
};
payloadElement?: {
applicationSecurity?: {
mode?: string;
};
payLoadIdentifier?: any[];
};
};
};
};
};
};
}
export interface RateLimit_api_ibm_com_v1 {
kind: KindType;
apiVersion: string;
metadata: {
description?: string;
name: string;
namespace?: string;
tags?: string[];
type?: string;
version: string;
labels?: {
gatewayTypes?: string[];
};
};
spec: {
target?: string;
limits?: Record<string, any>[];
extensions?: {
'webm-gateway'?: {
apiVersion?: string;
spec?: {
destination: Record<string, any>[];
};
};
};
};
}
export interface RateLimitDef_api_ibm_com_v1 {
kind: KindType;
apiVersion: string;
metadata: {
description?: string;
name: string;
namespace?: string;
tags?: string[];
type?: string;
version: string;
labels?: {
gatewayTypes?: string[];
};
};
spec: {
consumerSpecific?: boolean;
dynamicValue?: string;
max?: number;
intervalLen?: number;
intervalUnit?: string;
extensions?: {
'wm-gateway'?: {
apiVersion?: string;
spec?: {
alertMessage?: string;
alertFrequency?: string;
};
};
};
};
}
export interface InboundBulkHead_api_ibm_com_v1 {
kind: KindType;
apiVersion: string;
metadata: {
description?: string;
name: string;
namespace?: string;
tags?: string[];
type?: string;
version: string;
labels?: {
gatewayTypes?: string[];
};
};
spec: {
maxConcurrentCalls?: number;
enableBulkheadForCallbacks?: {
maxConcurrentCallbacks?: number;
};
retryAfterResponseHeader?: {
retryAfterValue?: number;
};
};
}
export interface SetMediaType_api_ibm_com_v1 {
kind: KindType;
apiVersion: string;
metadata: {
description?: string;
name: string;
namespace?: string;
tags?: string[];
type?: string;
version: string;
labels?: {
gatewayTypes?: string[];
};
};
spec: {
defaultAcceptHeader?: string;
defaultContentType?: string;
};
}
export interface InboundMessaging_api_ibm_com_v1 {
kind: KindType;
apiVersion: string;
metadata: {
description?: string;
name: string;
namespace?: string;
tags?: string[];
type?: string;
version: string;
labels?: {
gatewayTypes?: string[];
};
};
spec: {
alias?: string;
source?: Record<string, any>[];
};
}
export interface AuthorizeUser_api_ibm_com_v1 {
kind: "AuthorizeUser";
apiVersion: string;
metadata: Metadata;
spec: {
enabled?: boolean;
users?: string[];
groups?: string[];
teams?: string[];
};
}
export interface SetContextVariable_api_ibm_com_v1 {
kind: "SetContextVariable";
apiVersion: string;
metadata: Metadata;
spec: {
/** Can be enabled or disabled */
enabled?: boolean;
condition?: string;
namespaces?: {
URI?: string;
prefix?: string;
}[];
/**
* Multiple instances of variable can be given
*/
variable?: {
/** The variable name */
name?: string;
/** The variable value */
value?: string;
}[];
};
}
/**
* The Context Variable related information is captured in the message WebMethodsISService.
*/
export interface WebMethodsISService_api_ibm_com_v1 {
kind: "WebMethodsISService";
apiVersion: string;
metadata: Metadata;
spec: {
enabled?: boolean;
condition?: string;
alias?: string;
/**
* Multiple instances of Service can be given
*/
services?: {
/** The message specifies the information related to Service */
complyToISSpec?: boolean;
name?: string;
runAs?: string;
}[];
};
}
/**
* Defines a message named Metadata
*/
export interface Metadata {
description?: string;
name: string;
namespace?: string;
tags?: string[];
type?: "REST" | "SWAGGER" | "SOAP" | "GRAPHQL" | "ODATA";
version: string;
labels?: MetadataLabels;
}
export interface MetadataLabels {
gatewayTypes?: string[];
}
export interface Log_api_ibm_com_v1 {
kind: KindType;
apiVersion: string;
metadata: {
description?: string;
name: string;
namespace?: string;
tags?: string[];
type?: string;
version: string;
labels?: {
gatewayTypes?: string[];
};
};
spec: {
enabled?: boolean;
logRequestHeaders?: boolean;
logResponseHeaders?: boolean;
logRequestPayload?: boolean;
logResponsePayload?: boolean;
compressPayloads?: boolean;
logGenerationFrequency?: string;
destination?: any[];
};
}
export interface MonitorTraffic_api_ibm_com_v1 {
kind: KindType;
apiVersion: string;
metadata: {
description?: string;
name: string;
namespace?: string;
tags?: string[];
type?: string;
version: string;
labels?: {
gatewayTypes?: string[];
};
};
spec: {
enabled?: boolean;
condition?: string;
applications?: string[];
'alert-configuration'?: {
frequency?: string;
interval?: string;
message?: string;
};
'notify-on-breach'?: any[];
};
}
export interface HTTPInvoke_api_ibm_com_v1 {
kind: KindType;
apiVersion: string;
metadata: {
description?: string;
name: string;
namespace?: string;
tags?: string[];
type?: string;
version: string;
labels?: {
gatewayTypes?: string[];
};
};
spec: {
enabled?: boolean;
condition?: string;
endpoint?: {
name: string;
namespace?: string;
version: string;
};
namespaces?: Record<string, any>[];
request_processing?: {
preProcessing?: string[];
transformations?: string[];
};
response_processing?: {
postProcessing?: string[];
transformations?: string[];
};
};
}
export interface InvokeMessagingExtension_api_ibm_com_v1 {
kind: KindType;
apiVersion: string;
metadata: {
description?: string;
name: string;
namespace?: string;
tags?: string[];
type?: string;
version: string;
labels?: {
gatewayTypes?: string[];
};
};
spec: {
enabled?: boolean;
condition?: string;
messageConfig?: {
name: string;
namespace?: string;
version: string;
};
namespaces?: Record<string, any>[];
request_processing?: {
preProcessing?: string[];
transformations?: string[];
};
response_processing?: {
postProcessing?: string[];
transformations?: string[];
};
};
}
export interface TransformRequest_api_ibm_com_v1 {
kind: KindType;
apiVersion: string;
metadata: {
description?: string;
name: string;
namespace?: string;
tags?: string[];
type?: string;
version: string;
labels?: {
gatewayTypes?: string[];
};
};
spec: {
enabled?: boolean;
condition?: string;
transformations?: {
namespaces?: Record<string, any>[];
setMethod?: string;
webMethodsISService?: Record<string, any>[];
};
};
}
export interface TransformResponse_api_ibm_com_v1 {
kind: KindType;
apiVersion: string;
metadata: {
description?: string;
name: string;
namespace?: string;
tags?: string[];
type?: string;
version: string;
labels?: {
gatewayTypes?: string[];
};
};
spec: {
enabled?: boolean;
condition?: string;
transformations?: {
namespaces?: Record<string, any>[];
setStatus?: {
code?: string;
message?: string;
};
webMethodsISService?: Record<string, any>[];
};
};
}
export interface MessageConfig_api_ibm_com_v1 {
kind: KindType;
apiVersion: string;
metadata: {
description?: string;
name: string;
namespace?: string;
tags?: string[];
type?: string;
version: string;
labels?: {
gatewayTypes?: string[];
};
};
spec: {
connectionAlias?: string;
destination?: {
name?: string;
type?: string;
};
replyTo?: {
name?: string;
type?: string;
};
ttl?: string;
timeToWait?: string;
deliveryMode?: string;
property?: Record<string, any>[];
};
}
export interface ErrorProcessing_api_ibm_com_v1 {
kind: KindType;
apiVersion: string;
metadata: {
description?: string;
name: string;
namespace?: string;
tags?: string[];
type?: string;
version: string;
labels?: {
gatewayTypes?: string[];
};
};
spec: {
enabled?: boolean;
condition?: string;
'pre-processing'?: {
webMethodsISService?: Record<string, any>[];
xsl?: {
href?: string;
};
};
transformations?: {
set?: Record<string, any>[];
remove?: string[];
setPayload?: {
'content-types'?: Record<string, any>[];
defaultContentType?: string;
xsl?: {
href?: string;
};
};
namespaces?: Record<string, any>[];
sendNativeError?: boolean;
};
'post-processing'?: {
webMethodsISService?: Record<string, any>[];
xsl?: {
href?: string;
};
};
};
}
/**
* Type guard to check if a resource is of a specific kind and API version
*/
export declare function isResourceOfType<T extends ApiResource>(resource: ApiResource, kind: KindType, apiVersion: string): resource is T;
/**
* Get the TypeScript interface name for a given kind and API version
*/
export declare function getInterfaceName(kind: KindType, apiVersion: string): string;
/**
* Map of original kind_apiVersion to TypeScript interface names
*/
export declare const interfaceNameMap: {
"InvokeAWSLambda_api.ibm.com/v1": string;
"ValidateAPISpecification_api.ibm.com/v1": string;
"LoadBalancer_api.ibm.com/v1": string;
"Invoke_api.ibm.com/v1": string;
"IAM_api.ibm.com/v1": string;
"RateLimit_api.ibm.com/v1": string;
"RateLimitDef_api.ibm.com/v1": string;
"InboundBulkHead_api.ibm.com/v1": string;
"SetMediaType_api.ibm.com/v1": string;
"InboundMessaging_api.ibm.com/v1": string;
"AuthorizeUser_api.ibm.com/v1": string;
"SetContextVariable_api.ibm.com/v1": string;
"WebMethodsISService_api.ibm.com/v1": string;
"Log_api.ibm.com/v1": string;
"MonitorTraffic_api.ibm.com/v1": string;
"HTTPInvoke_api.ibm.com/v1": string;
"InvokeMessagingExtension_api.ibm.com/v1": string;
"TransformRequest_api.ibm.com/v1": string;
"TransformResponse_api.ibm.com/v1": string;
"MessageConfig_api.ibm.com/v1": string;
"ErrorProcessing_api.ibm.com/v1": string;
};
//# sourceMappingURL=api-model-kinds.d.ts.map