UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

1,567 lines (1,564 loc) 116 kB
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