@apistudio/apim-cli
Version:
CLI for API Management Products
1,567 lines (1,564 loc) • 116 kB
YAML
components:
schemas:
Metadata:
description: Defines a message named Metadata
type: object
required:
- name
- version
additionalProperties: false
properties:
description:
type: string
name:
type: string
namespace:
type: string
tags:
items:
type: string
type: array
type:
enum:
- REST
- SWAGGER
- SOAP
- GRAPHQL
- ODATA
type: string
version:
type: string
labels:
type: object
additionalProperties: true
properties: {}
Reference:
type: object
required:
- $ref
additionalProperties: false
properties:
$ref:
description: >-
Field 'ref' with JSON name '$ref' accepts the value of either 'ref'
or '$ref' from the YAML file.
If both 'ref' and '$ref' are specified, the value of '$ref' takes
priority.
type: string
ReferenceList:
type: array
minItems: 1
items:
$ref: '#/components/schemas/Reference'
Namespace:
type: object
additionalProperties: false
properties:
URI:
type: string
prefix:
type: string
Namespaces:
type: array
minItems: 1
items:
$ref: '#/components/schemas/Namespace'
Path:
type: object
required:
- $path
additionalProperties: false
properties:
$path:
description: >-
Field 'path' with JSON name '$path' accepts the value of either
'path' or '$path' from the YAML file.
If both 'path' and '$path' are specified, the value of '$path' takes
priority.
type: string
AWSLambda:
type: object
required:
- kind
- apiVersion
- metadata
- spec
additionalProperties: false
properties:
kind:
enum:
- InvokeAWSLambda
type: string
apiVersion:
type: string
default: api.ibm.com/v1
metadata:
$ref: '#/components/schemas/Metadata'
spec:
type: object
additionalProperties: false
properties:
functionName:
description: Name of the AWS Lambda function
type: string
qualifier:
description: Version of the AWS Lambda function
type: string
invocationType:
type: string
enum:
- request-response
- event
region:
type: string
awsAuthType:
type: object
required:
- accessSecret
additionalProperties: false
properties:
accessSecret:
type: string
tlsConnectionProfile:
type: string
input:
type: string
output:
type: string
clientConfig:
type: object
additionalProperties: false
properties:
socketTimeout:
type: integer
connectionTimeout:
type: integer
requestTimeout:
type: integer
clientExecutionTimeout:
type: integer
clientRetryCount:
type: integer
connectionExpirationTimeout:
type: integer
enableExpectContinue:
type: boolean
enableGzip:
type: boolean
enableHostPrefixInjection:
type: boolean
maxConnectionIdleTime:
type: integer
responseMetadataCacheSize:
type: boolean
serverRetryCount:
type: integer
enableThrottledRetries:
type: boolean
enableKeepAlive:
type: boolean
enableResponseMetadataCache:
type: boolean
signatureAlgorithm:
type: string
tcpSendBufferSizeHint:
type: integer
tcpReceiveBufferSizeHint:
type: integer
extensions:
type: object
properties:
webm-gateway:
type: object
additionalProperties: false
properties:
apiVersion:
type: string
spec:
type: object
additionalProperties: false
properties:
condition:
type: string
lambdaConfig:
type: object
additionalProperties: false
properties:
alias:
type: string
request_processing:
$ref: '#/components/schemas/InvokeRequestProcessingSchema'
response_processing:
$ref: '#/components/schemas/InvokeResponseProcessingSchema'
namespaces:
$ref: '#/components/schemas/Namespaces'
Api:
type: object
required:
- kind
- apiVersion
- metadata
- spec
additionalProperties: false
properties:
kind:
enum:
- API
type: string
apiVersion:
type: string
default: api.ibm.com/v1
metadata:
$ref: '#/components/schemas/Metadata'
spec:
type: object
required:
- api-spec
- policy-sequence
additionalProperties: false
properties:
api-spec:
$ref: '#/components/schemas/Path'
uriSchemes:
$ref: '#/components/schemas/Reference'
properties:
$ref: '#/components/schemas/Reference'
cors:
$ref: '#/components/schemas/Reference'
scopes:
$ref: '#/components/schemas/ReferenceList'
policy-sequence:
$ref: '#/components/schemas/ReferenceList'
CORS:
description: The CORS related information is captured in the message CORS
type: object
required:
- kind
- apiVersion
- metadata
- spec
additionalProperties: false
properties:
kind:
enum:
- CORS
type: string
apiVersion:
type: string
default: api.ibm.com/v1
metadata:
$ref: '#/components/schemas/Metadata'
spec:
type: object
additionalProperties: false
required:
- rules
properties:
rules:
type: array
minItems: 1
items:
type: object
required:
- action
- originList
additionalProperties: false
properties:
action:
type: string
enum:
- allow
- deny
originList:
description: Multiple instances of allowed origins can be given
type: array
minItems: 1
items:
type: string
allowCredentials:
description: Credential can be allowed or not allowed
type: boolean
allowMethods:
description: Multiple instances allowed methods can be given
type: array
minItems: 1
items:
type: string
uniqueItems: true
allowHeaders:
description: Multiple instances of allowed headers can be given
minItems: 1
items:
type: string
type: array
maxAge:
description: Single instance of maximum age can be given
maximum: 4294967295
minimum: 0
type: integer
exposeHeaders:
type: object
additionalProperties: false
properties:
predefined:
type: boolean
custom:
type: string
backend:
type: boolean
Quota:
type: object
properties:
apiVersion:
type: string
default: api.ibm.com/v1
kind:
enum:
- Quota
type: string
metadata:
$ref: '#/components/schemas/Metadata'
spec:
type: object
properties:
maxRequest:
type: integer
interval:
type: string
onLimitReach:
type: string
x-webm-config:
type: object
properties:
notification:
type: object
properties:
enabled:
type: boolean
notifyAfter:
type: string
message:
type: string
email:
type: array
items:
type: string
alertConfiguration:
type: object
properties:
frequency:
type: string
message:
type: string
required:
- kind
- apiVersion
- metadata
- spec
Product:
type: object
properties:
apiVersion:
type: string
default: api.ibm.com/v1
kind:
enum:
- Product
type: string
metadata:
$ref: '#/components/schemas/Metadata'
spec:
type: object
properties:
info:
type: object
properties:
categories:
type: array
items:
type: string
contact:
type: object
properties:
name:
type: string
email:
type: string
url:
type: string
license:
type: object
properties:
name:
type: string
url:
type: string
termsOfService:
type: string
summary:
type: string
apis:
type: array
items:
type: object
properties:
$ref:
type: string
plans:
type: array
items:
type: object
properties:
$ref:
type: string
x-portal-config:
type: object
properties:
visibility:
type: object
properties:
view:
type: object
properties:
type:
type: string
orgs:
type: array
items:
type: string
tags:
type: array
items:
type: string
enabled:
type: boolean
subscribe:
type: object
properties:
type:
type: string
orgs:
type: array
items:
type: string
tags:
type: array
items:
type: string
enabled:
type: boolean
required:
- kind
- apiVersion
- metadata
- spec
Plan:
type: object
properties:
apiVersion:
type: string
default: api.ibm.com/v1
kind:
enum:
- Plan
type: string
metadata:
$ref: '#/components/schemas/Metadata'
spec:
type: object
properties:
pricing:
type: object
properties:
value:
type: integer
currency:
type: string
isApprovalRequired:
type: boolean
qos:
type: object
properties:
withQuota:
type: array
items:
type: object
oneOf:
- required:
- $ref
properties:
$ref:
type: string
additionalProperties: false
- required:
- unlimited
properties:
unlimited:
type: object
additionalProperties: false
withRateLimit:
type: array
items:
type: object
properties:
maxRequest:
type: integer
interval:
type: string
alertConfiguration:
type: string
enum:
- once
- always
alertMessage:
type: string
name:
type: string
x-datapower-config:
type: object
properties:
withAssemblyCountLimit:
type: array
items:
type: object
properties:
maxRequest:
type: string
hard-limit:
type: boolean
cache-only:
type: boolean
is-client:
type: boolean
use-api-name:
type: boolean
use-app-id:
type: boolean
use-client-id:
type: boolean
dynamic-value:
type: integer
weight:
type: integer
auto-decrement:
type: boolean
name:
type: string
withAssemblyRateLimit:
type: array
items:
type: object
properties:
maxRequest:
type: integer
interval:
type: string
cache-only:
type: boolean
is-client:
type: boolean
use-api-name:
type: boolean
use-app-id:
type: boolean
use-client-id:
type: boolean
dynamic-value:
type: integer
weight:
type: integer
name:
type: string
withAssemblyQuotaLimit:
type: array
items:
type: object
properties:
maxRequest:
type: integer
interval:
type: string
hard-limit:
type: boolean
cache-only:
type: boolean
is-client:
type: boolean
use-api-name:
type: boolean
use-app-id:
type: boolean
use-client-id:
type: boolean
dynamic-value:
type: integer
weight:
type: integer
name:
type: string
apis:
type: array
items:
type: object
properties:
$ref:
type: string
operations:
type: array
items:
type: object
required:
- path
- method
properties:
operationId:
type: string
path:
type: string
method:
type: string
withQuota:
type: array
items:
oneOf:
- type: object
required:
- unlimited
additionalProperties: false
properties:
unlimited:
type: object
additionalProperties: false
properties: {}
- type: object
required:
- name
- maxRequest
- interval
additionalProperties: false
properties:
name:
type: string
onLimitReach:
type: string
enum:
- block
- allow
maxRequest:
type: integer
interval:
type: string
required:
- kind
- apiVersion
- metadata
- spec
StagedPolicySequence:
description: >-
The policy sequence related information is captured in the message
policy sequence
type: object
required:
- kind
- apiVersion
- metadata
- spec
additionalProperties: false
properties:
apiVersion:
type: string
default: api.ibm.com/v1
kind:
enum:
- StagedPolicySequence
type: string
metadata:
$ref: '#/components/schemas/Metadata'
spec:
type: object
required:
- routing
properties:
transport:
$ref: '#/components/schemas/ReferenceList'
security:
$ref: '#/components/schemas/ReferenceList'
monitoring:
$ref: '#/components/schemas/ReferenceList'
routing:
$ref: '#/components/schemas/ReferenceList'
req-processing:
$ref: '#/components/schemas/ReferenceList'
res-processing:
$ref: '#/components/schemas/ReferenceList'
error-handling:
$ref: '#/components/schemas/ReferenceList'
Scope:
description: The message identifies the scope
type: object
required:
- kind
- apiVersion
- metadata
- spec
additionalProperties: false
properties:
kind:
enum:
- Scope
type: string
apiVersion:
type: string
default: api.ibm.com/v1
metadata:
$ref: '#/components/schemas/Metadata'
spec:
type: object
required:
- policy-sequence
- resources
additionalProperties: false
properties:
policy-sequence:
$ref: '#/components/schemas/ReferenceList'
resources:
description: Multiple instances of resources can be given
type: array
items:
description: Multiple instances of methods for each resource can be given
type: object
required:
- methods
- path
additionalProperties: false
properties:
methods:
type: array
minItems: 1
items:
type: string
enum:
- get
- post
- put
- delete
- patch
- head
- keep
path:
type: string
ValidateAPISpecification:
description: >-
The validate API Specification related information is captured in the
message validateAPISpecification.
type: object
required:
- kind
- apiVersion
- metadata
- spec
additionalProperties: false
properties:
kind:
enum:
- ValidateAPISpecification
type: string
apiVersion:
type: string
default: api.ibm.com/v1
metadata:
$ref: '#/components/schemas/Metadata'
spec:
oneOf:
- type: object
additionalProperties: false
properties:
input:
type: string
enum:
- request
validate:
type: object
additionalProperties: false
properties:
request:
type: array
items:
oneOf:
- type: object
additionalProperties: false
properties:
schema:
type: object
required:
- validate
additionalProperties: false
properties:
validate:
type: boolean
- type: object
additionalProperties: false
properties:
query:
type: boolean
- type: object
additionalProperties: false
properties:
path:
type: boolean
- type: object
additionalProperties: false
properties:
header:
type: boolean
- type: object
additionalProperties: false
properties:
cookie:
type: boolean
- type: object
additionalProperties: false
properties:
contentType:
type: boolean
extensions:
type: object
properties:
webm-gateway:
type: object
additionalProperties: false
properties:
apiVersion:
type: string
spec:
type: object
additionalProperties: false
properties:
validate:
type: array
items:
oneOf:
- type: object
additionalProperties: false
properties:
custom-headers:
type: object
additionalProperties: false
properties:
condition:
type: string
- type: object
additionalProperties: false
properties:
schema:
type: object
additionalProperties: false
properties:
feature:
type: array
items:
type: object
additionalProperties: false
properties:
name:
type: string
value:
type: boolean
- type: object
additionalProperties: false
properties:
input:
type: string
enum:
- response
validate:
type: object
additionalProperties: false
properties:
response:
type: array
items:
oneOf:
- type: object
additionalProperties: false
properties:
schema:
type: object
required:
- validate
additionalProperties: false
properties:
validate:
type: boolean
- type: object
additionalProperties: false
properties:
header:
type: boolean
- type: object
additionalProperties: false
properties:
contentType:
type: boolean
extensions:
type: object
properties:
webm-gateway:
type: object
additionalProperties: false
properties:
apiVersion:
type: string
spec:
type: object
additionalProperties: false
properties:
validate:
type: array
items:
type: object
additionalProperties: false
properties:
custom-headers:
type: object
additionalProperties: false
properties:
condition:
type: string
- type: object
additionalProperties: false
properties:
input:
type: string
enum:
- message
validate:
oneOf:
- type: object
required:
- openApiSchemaRef
additionalProperties: false
properties:
openApiSchemaRef:
type: object
additionalProperties: false
properties:
schemaReference:
type: string
failureStatusCode:
type: string
failureStatusMessage:
type: string
- type: object
required:
- file
additionalProperties: false
properties:
file:
type: object
required:
- $path
- failureStatusCode
additionalProperties: false
properties:
$path:
type: string
failureStatusCode:
type: string
failureStatusMessage:
type: string
Project:
type: object
required:
- kind
- apiVersion
- metadata
- spec
properties:
apiVersion:
type: string
default: api.ibm.com/v1
kind:
enum:
- Project
type: string
metadata:
$ref: '#/components/schemas/Metadata'
spec:
properties:
api:
$ref: '#/components/schemas/ReferenceList'
type: object
UriSchemes:
type: object
required:
- kind
- apiVersion
- metadata
- spec
additionalProperties: false
properties:
kind:
enum:
- URISchemes
type: string
apiVersion:
type: string
default: api.ibm.com/v1
metadata:
$ref: '#/components/schemas/Metadata'
spec:
type: object
required:
- uriSchemes
additionalProperties: false
properties:
uriSchemes:
description: Multiple instance of protocol can be given
type: array
minItems: 1
items:
type: string
enum:
- http
- https
Telemetry:
description: The Telemetry information is captured
type: object
required:
- kind
- apiVersion
- metadata
- spec
additionalProperties: false
properties:
kind:
enum:
- Telemetry
type: string
apiVersion:
type: string
default: api.ibm.com/v1
metadata:
$ref: '#/components/schemas/Metadata'
spec:
type: object
properties:
attributes:
type: object
additionalProperties:
type: string
verbosity:
type: array
minItems: 1
items:
type: object
additionalProperties: false
properties:
level:
type: string
onSuccessTrimTo:
type: string
inboundLevel:
type: string
enum:
- basic
- none
- normal
- detailed
outboundLevel:
type: string
enum:
- basic
- none
- normal
- detailed
scope:
type: object
properties:
$ref:
description: >-
Field 'ref' with JSON name '$ref' accepts the value of
either 'ref' or '$ref' from the YAML file.
If both 'ref' and '$ref' are specified, the value of
'$ref' takes priority.
type: string
Properties:
type: object
required:
- kind
- apiVersion
- metadata
- spec
additionalProperties: false
properties:
kind:
enum:
- Properties
type: string
apiVersion:
type: string
default: api.ibm.com/v1
metadata:
$ref: '#/components/schemas/Metadata'
spec:
type: object
required:
- values
additionalProperties: false
properties:
values:
type: object
additionalProperties:
type: string
LoadBalancer:
type: object
required:
- kind
- apiVersion
- metadata
- spec
additionalProperties: false
properties:
kind:
enum:
- LoadBalancer
type: string
apiVersion:
type: string
default: api.ibm.com/v1
metadata:
$ref: '#/components/schemas/Metadata'
spec:
type: object
additionalProperties: false
properties:
input:
type: string
output:
type: string
roundRobinHttp:
type: object
additionalProperties: false
properties:
verb:
type: string
endpoints:
type: array
minItems: 1
items:
type: object
required:
- endpoint
additionalProperties: false
properties:
suspendTimeout:
type: integer
endpoint:
type: object
additionalProperties: false
properties:
name:
type: string
tlsClientProfile:
type: string
url:
type: string
urlType:
type: string
version:
type: string
timeout:
type: integer
compression:
type: boolean
chunkedUploads:
type: boolean
persistentConnection:
type: boolean
extensions:
type: object
properties:
webm-gateway:
type: object
additionalProperties: false
properties:
apiVersion:
type: string
spec:
type: object
additionalProperties: false
properties:
endpoints:
type: array
items:
type: object
additionalProperties: false
properties:
name:
type: string
connectionTimeout:
type: integer
sslConfig:
type: object
additionalProperties: false
properties:
keyStoreAlias:
type: string
keyAlias:
type: string
trustStoreAlias:
type: string
serviceRegistryParameters:
type: array
items:
type: object
additionalProperties: false
properties:
name:
type: string
value:
type: string
SetAuthorization:
type: object
required:
- kind
- apiVersion
- metadata
- spec
additionalProperties: false
properties:
kind:
enum:
- SetAuthorization
type: string
apiVersion:
type: string
default: api.ibm.com/v1
metadata:
$ref: '#/components/schemas/Metadata'
spec:
oneOf:
- type: object
required:
- basic
additionalProperties: false
properties:
basic:
type: object
required:
- static
additionalProperties: false
properties:
static:
type: object
required:
- username
- password
additionalProperties: false
properties:
username:
type: string
password:
type: string
- type: object
required:
- basic
additionalProperties: false
properties:
basic:
type: object
required:
- useIncoming
additionalProperties: false
properties:
useIncoming:
type: object
additionalProperties: false
properties: {}
- type: object
required:
- oAuth2
additionalProperties: false
properties:
oAuth2:
type: object
required:
- token
additionalProperties: false
properties:
token:
type: string
- type: object
required:
- oAuth2
additionalProperties: false
properties:
oAuth2:
type: object
required:
- useIncoming
additionalProperties: false
properties:
useIncoming:
type: object
additionalProperties: false
properties: {}
- type: object
required:
- oAuth2
additionalProperties: false
properties:
oAuth2:
type: object
required:
- getNewToken
additionalProperties: false
properties:
getNewToken:
type: object
required:
- clientId
- clientSecret
properties:
serverAlias:
type: string
clientId:
type: string
clientSecret:
type: string
Invoke:
type: object
required:
- kind
- apiVersion
- metadata
- spec
additionalProperties: false
properties:
kind:
enum:
- Invoke
type: string
apiVersion:
type: string
default: api.ibm.com/v1
metadata:
$ref: '#/components/schemas/Metadata'
spec:
type: object
additionalProperties: false
properties:
input:
type: string
output:
type: string
cache:
type: object
additionalProperties: false
properties:
expire:
type: object
additionalProperties: false
properties:
static:
type: object
additionalProperties: false
properties:
seconds:
type: integer
scope:
type: object
additionalProperties: false
properties:
narrowScope:
type: object
additionalProperties: false
properties: {}
endpoint:
type: object
additionalProperties:
type: object
additionalProperties: false
properties:
verb:
type: string
status_exception:
type: object
additionalProperties: false
properties:
pattern:
type: integer
target:
type: object
additionalProperties: false
properties:
tlsClientProfile:
type: string
url:
type: string
urlType:
type: string
version:
type: string
timeout:
type: integer
compression:
type: boolean
chunkedUploads:
type: boolean
persistentConnection:
type: boolean
extensions:
type: object
additionalProperties: false
properties:
webm-gateway:
type: object
additionalProperties: false
properties:
apiVersion:
type: string
spec:
type: object
additionalProperties: false
properties:
endpoint:
type: object
additionalProperties:
type: object
additionalProperties: false
properties:
target:
type: object
additionalProperties: false
properties:
connectionTimeout:
type: integer
sslConfig:
type: object
additionalProperties: false
properties:
keyStoreAlias:
type: string
keyAlias:
type: string
trustStoreAlias:
type: string
serviceRegistryParameters:
type: array
items:
type: object
additionalProperties: false
properties:
name:
type: string
value:
type: string
GlobalPolicy:
type: object
required:
- kind
- apiVersion
- metadata
- spec
additionalProperties: false
properties:
kind:
enum:
- GlobalPolicy
type: string
apiVersion:
type: string
default: api.ibm.com/v1
metadata:
$ref: '#/components/schemas/Metadata'
spec:
type: object
required:
- policy-sequence
additionalProperties: false
properties:
filter-api-type:
type: array
minItems: 1
items:
type: string
filter-http-methods:
type: array
minItems: 1
items:
type: string
enum:
- GET
- POST
- PUT
- DELETE
- PATCH
- HEAD
filter-attributes:
type: string
policy-sequence:
$ref: '#/components/schemas/ReferenceList'
InboundBulkHead:
type: object
required:
- kind
- apiVersion
- metadata
- spec
additionalProperties: false
properties:
kind:
enum:
- InboundBulkHead
type: string
apiVersion:
type: string
default: api.ibm.com/v1
metadata:
$ref: '#/components/schemas/Metadata'
spec:
type: object
additionalProperties: false
properties:
maxConcurrentCalls:
type: integer
enableBulkheadForCallbacks:
type: object
additionalProperties: false
properties:
maxConcurrentCallbacks:
type: integer
retryAfterResponseHeader:
type: object
additionalProperties: false
properties:
retryAfterValue:
type: integer
SetMediaType:
type: object
required:
- kind
- apiVersion
- metadata
- spec
additionalProperties: false
properties:
kind:
enum:
- SetMediaType
type: string
apiVersion:
type: string
default: api.ibm.com/v1
metadata:
$ref: '#/components/schemas/Metadata'
spec:
type: object
additionalProperties: false
properties:
defaultAcceptHeader:
type: string
defaultContentType:
type: str