Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.
A gwd_extension is one of the supported API Gateway extension types in a manifest extension. Introduced in 10.5.0.5 and 10.5.4, the purpose of this type of extension is to allow customers to configure/customize objects created by the API Connect Gateway Service in ways that are not exposed through the API Manager. Prior to the availability of this type of extension, customers had to use cfg script files in a filestore extension type to apply any customizations they wanted. This required knowing the DataPower naming convention for objects and constant updates to cfg files to include new objects they create. For example, if a customer wanted to add a default rate limit to all collections this would have previously required updating the extension every time a new catalog was created on APIM. The user would have also needed to know the naming convention used on DataPower for collections to properly write the filestore extension. Now with the gwd_extension type, new object instances can automatically inherit the customization(s). For the custom catalog rate limit, this could be done with a single override at a global scope so that it automatically applies the desired default rate limit to all catalogs. The gwd_extension type also removes the need to know the DataPower naming convention for objects, instead users can now use the same names they use on the API Manager.
{ "api-collection":{ "_global":{ "collection":[ "assembly-rate-limit ratelimit-global 10000 5 second on on on off off off \"\" \"1\"" ] }, "_organization": { "my-org":{ "collection": [ "assembly-rate-limit ratelimit-my-org 10000 50 second on on on off off off \"\" \"1\"" ] }, "my-other-org":{ "collection": [ "assembly-rate-limit ratelimit-my-other-org 10000 50 second on on on off off off \"\" \"1\"" ] } }, "_catalog":{ "my-org":{ "my-catalog":{ "collection":[ "assembly-rate-limit ratelimit-my-catalog-instance 1000 75 second on on on off off off \"\" \"1\"" ] } } } }
{ "api-collection":{ "_global":{ "collection":[ "assembly-rate-limit ratelimit-global 10000 5 second on on on off off off \"\" \"1\"" ] }, "_organization": { "my-org":{ "collection": [ "assembly-rate-limit ratelimit-my-org 10000 50 second on on on off off off \"\" \"1\"" ] } }, "_catalog":{ "my-org":{ "my-catalog":{ "@exclusive":true, "collection":[ "assembly-rate-limit ratelimit-my-catalog-instance 1000 75 second on on on off off off \"\" \"1\"" ] } } } }
{ "tls-client":{ "_global":{ "_instance":{ "my-special-tlsV1.0.0":{ "profile":[ "use-custom-sni-hostname yes", "custom-sni-hostname my.custom.hostname.com" ] } }, "profile":[ "no ciphers AES_256_GCM_SHA384" ] } }}
{ "extension":{ "files":[ { "filename":"overrides.json", "type":"gwd_extension", "deploy": "immediate" } ] } }
{ "parse-settings":{ "_global":{ "override":[ "document-size 5368709121" ] } }}
{ "front-side-handler":{ "_global":{ "source-https":[ "http2-max-streams 50" ], "ssl-sni-server":[ "sni-server-default my_sni_default" ], "ssl-server":{ "_instance":{ "example.com":{ "@exclusive":true, "profile":[ "compression on" ] } }, "profile":[ "no ciphers DHE_RSA_WITH_AES_128_CBC_SHA" ] } } }}
{ "apigw":{ "”_global”":{ "override":[ "assembly-rate-limit ratelimit-reject-ALL 10000 5 second on on on off off off \"\" \"1\"", "assembly-rate-limit ratelimit-alert-ALL 7500 5 second off on on off off off \"\" \"1\"" ] } }}
{ "tls-client":{ "_global":{ "_instance":{ "my-special-tlsV1.0.0":{ "profile":[ "use-custom-sni-hostname yes", "custom-sni-hostname my.custom.hostname.com" ] } }, "profile":[ "no ciphers DHE_RSA_WITH_AES_128_CBC_SHA" ], "valcred":[ "check-dates off" ] }, "_instance":{ "my-org":{ "my-catalog":{ "my-tls-profileV1.0.0":{ "profile":[ "use-custom-sni-hostname yes", "custom-sni-hostname my.custom.instance.hostname.com" ] } } } } }}
{ "api-collection":{ "_global":{ "collection":[ "assembly-rate-limit ratelimit-reject-catalog-ALL 10000 5 second on on on off off off \"\" \"1\"", "assembly-rate-limit ratelimit-catalog-alert-ALL 7500 5 second off on on off off off \"\" \"1\"" ] }, "_catalog":{ "my-org":{ "my-catalog":{ "@exclusive":true, "collection":[ "assembly-rate-limit ratelimit-reject-catalog-ALL 1000 5 second on on on off off off \"\" \"1\"", "assembly-rate-limit ratelimit-catalog-alert-ALL 750 5 second off on on off off off \"\" \"1\"" ] } } } }}
Copy