DataPower API
Gateway

Gateway extensions manifest

A Gateway extensions manifest allows you to control how gateway extensions are applied to the DataPower® API Gateway.

The manifest allows you to deploy multiple extensions of different types in a single package. It is a JSON file that lists all of the extensions .zip files that are to be applied and instructions on when to deploy them. You can also use the manifest to enable v5 policy emulation for the API Connect Gateway Service. v5 policy emulation allows you to deploy supported v5 built-in policies and custom policies, and manage them from API Manager without having to rewrite them for DataPower API Gateway. v5 policy emulation is supported only for policies that are applied to the Gateway service scope.

The manifest.json file must be at the root level of the extensions .zip file with all of the Gateway extension files specified in the manifest.

The manifest.json file contains the following sections.

properties section

The properties section determines whether to enable v5 framework to deploy supported v5 built-in policies and custom policies and manage them from API Manager without having to rewrite them for DataPower API Gateway.

Table 1. properties section properties
Property Description
deploy-policy-emulator

Determines whether to enable v5 framework emulation. Valid values are true and false.

v5 framework emulation is enabled for the API Connect Gateway service if deploy-policy-emulator set to true, if a v5 policy is detected in the files list, or if a deploy-policies entry is specified.

deploy-policies Contains a list of built-in policies to advertise for v5 emulation. The following policies are supported.
  • activity-log_1.5.0
  • gatewayscript_1.0.0
  • if_1.5.0
  • invoke_1.5.0
  • proxy_1.5.0
  • redact_1.5.0
  • switch_1.5.0
  • validate-usernametoken_1.0.0
  • xslt_1.0.0

files section

The files section is an array of file entries. Each file entry must reference a file that is in the extension.zip file.

Table 2. files section properties
Property Description
filename The location of the file in the .zip file. This property is required only if files are specified.
type The file type. This property is required.

The following types are supported.

dp-import
A gateway import used to add other services to a gateway.
Note: A dp-import file cannot be used to change the apic-gw-service object. If it is used for this purpose, the extension is rejected.
extension
A complete, valid gateway extension for an API Gateway. The extension must be a .zip file that contains .cfg files. For more information, see Gateway extension guidelines - DataPower API Gateway.
policy-v5
A complete, valid v5 policy implementation. For more information, see Authoring policies for the DataPower Gateway (v5 compatible).
user-defined-policy
A valid API Gateway policy import .zip file that contains one or more policies. The .zip file contains one or more YAML policy definition files. The YAML files are used to indicate which policies to advertise to the API Manager server as service-level user policies. If a YAML file references an assembly function that does not exist in the implementation, the extension is rejected.

The .zip file also contains an implementation directory that includes a policy import .zip file. The policy import file contains all the configurations and files necessary to run the user policies, including the assembly functions to advertise to the API Manager.

user-defined-policy-yaml
A YAML file that includes an assembly. This assembly is converted to an assembly function and advertised to the API Manager at the gateway service user policy level. If the assembly references another user policy, that policy must already be advertised to the API Manager before it can be deployed.
deploy When to deploy the file.
immediate
Deploy the file as soon as it is received by the API Connect Gateway Service.
deferred
Deploy the file after the API Connect Gateway Service is restarted. This value is the default setting.
catalog Indicates that a v5 policy is to be used only by certain catalogs and should not be advertised as a gateway service-level user policy. This property is valid only if the file type is policy-v5. The catalog value must be in the format orgname_catalogname.

Example manifest.json

The following example manifest.json file enables v5 policy emulation and specifies two built-in v5 policies to deploy. The files section lists two v5 policy implementation files and two extension files.

{
    "extension": {
      "properties": {
        "deploy-policy-emulator": true,
        "deploy-policies": [ "invoke_1.5.0", "proxy_1.5.0" ]
      },
      "files": [
        {
          "filename":"jws-sign-policy.zip",
          "deploy": "deferred",
          "type": "policy-v5",
          "catalog": "testorg_testcatalog"
        },{
          "filename":"jws-verify-policy.zip",
          "deploy": "immediate",
          "type": "policy-v5"
        },{
          "filename":"APIGWLegacyExt_1.zip",
          "deploy": "deferred",
          "type": "extension"
        },{
          "filename":"APIGWLegacyExt_2.zip",
          "deploy": "immediate",
          "type": "extension"
        }
    ]
  }   
}