assembly
The assembly objects and their associated actions that are used by APIs and global policies.
- Override Key: assembly
- Child Objects
- api-rule
- assembly-action
- activity-log_1.5.0
- Override Key: override
- _instance: Title or Datapower object name
- client-identification
- Override Key: override
- _instance: Title or Datapower object name
- client-security
- Override Key: override
- _instance: Title or Datapower object name
- cors
- Override Key: override
- _instance: Title or Datapower object name
- extract
- Override Key: override
- _instance: Title or Datapower object name
- function-call
- Override Key: override
- _instance: Title or Datapower object name
- gatewayscript
- Override Key: override
- _instance: Title or Datapower object name
- graphql-execute
- Override Key: override
- _instance: Title or Datapower object name
- Child Objects
- assembly
- Override Key: assembly
- Child Objects
- api-rule
- error-rule
- Override Key: api-rule
- _instance: Error Name or Datapower object name
- default
- finally
- target
- _instance: Title or Datapower object name
- Child Objects
- assembly-function
- assembly-function-call
- assembly
- graphql-introspect
- Override Key: override
- _instance: Title or Datapower object name
- "html-page
- Override Key: override
- _instance: Title or Datapower object name
- if
- Override Key: override
- _instance: Title or Datapower object name
- Child Objects
- api-rule
- assembly-switch
- if_1.5.0
- Override Key: override
- _instance: Title or Datapower object name
- Child Objects
- assembly-gatewayscript
- switch-api-rule
- assembly-switch
- api-rule
- assembly-function-call
- invoke
- Override Key: override
- _instance: Title or Datapower object name
- Child Objects
- header-control
- parameter-control
- json-to-xml
- Override Key: override
- _instance: Title or Datapower object name
- jwt-generate
- Override Key: override
- _instance: Title or Datapower object name
- jwt-validate
- Override Key: override
- _instance: Title or Datapower object name
- log
- Override Key: override
- _instance: Title or Datapower object name
- map
- Override Key: override
- _instance: Title or Datapower object name
- Child Objects
- parse-override
- oauth
- Override Key: override
- _instance: Title or Datapower object name
- operation-switch
- Override Key: override
- _instance: Title or Datapower object name
- Child Objects
- otherwise-api-rule
- api-rule
- condition-api-rules
- Override Key: api-rule
- _instance: <Method>:<Path> or Datapower object name
- parse
- Override Key: override
- _instance: Title or Datapower object name
- Child Objects
- parse-settings
- proxy
- Override Key: override
- _instance: Title or Datapower object name
- ratelimit
- Override Key: override
- _instance: Title or Datapower object name
- redact
- Override Key: override
- _instance: Title or Datapower object name
- redact_1.5.0
- Override Key: override
- _instance: Title or Datapower object name
- result
- Override Key: override
- _instance: Title or Datapower object name
- validate
- Override Key: override
- _instance: Title or Datapower object name
- Child Objects
- api-schema
- security
- Override Key: override
- _instance: Title or Datapower object name
- switch
- Override Key: override
- _instance: Title or Datapower object name
- Child Objects
- otherwise-api-rule
- condition-api-rules
- Override Key: api-rule
- _instance: Condition Statement or Datapower object name
- switch_1.5.0
- Override Key: override
- _instance: Title or Datapower object name
- Child Objects
- assembly-gatewayscript
- otherwise-api-rule
- condition-api-rules
- Override Key: api-rule
- _instance: Condition Statement or Datapower object name
- throw
- Override Key: override
- _instance: Title or Datapower object name
- user-security
- Override Key: override
- _instance: Title or Datapower object name
- Child Objects
- auth-url
- websocket-upgrade
- Override Key: override
- _instance: Title or Datapower object name
- Child Objects
- header-control
- parameter-control
- websocket-request
- Override Key: assembly
- Child Objects
- api-rule
- error-rule
- Override Key: api-rule
- _instance: Error Name or Datapower object name
- default
- finally
- websocket-response
- Override Key: assembly
- Child Objects
- api-rule
- error-rule
- Override Key: api-rule
- _instance: Error Name or Datapower object name
- default
- finally
- wsdl
- Override Key: override
- _instance: Title or Datapower object name
- xml-to-json
- Override Key: override
- _instance: Title or Datapower object name
- activity-log_1.5.0
- error-rule
- Override Key: api-rule
- _instance: Error Name
- default
- finally
- Scopes:
- _global
- _instance: swagger name:version
- _organization
- _instance: swagger name:version
- _catalog
- _instance: swagger name:version
- _global
- Example: In this example, 2 instances are included within the global scope mapping. First is,
my-global-policy:1.0.0
, which is a global-policy that is used in some catalogs. Since it is defined at the global scope, the overrides apply anytime an assembly is built from a swagger with the name and version ofmy-global-policy:1.0.0
. Second is,complex-switch:1.0.0
, which is an API that is published to various catalogs. Similarly, since it is defined as an instance with in the global scope the overrides apply anytime that the assembly is built from a swagger with the name and version ofcomplex-switch:1.0.0
. Also see theset-var
example within global scope for an example of overriding assembly action instances based on the title that is given in APIM or the DataPower object name.{ "assembly":{ "_global":{ "_instance":{ "my-global-policy:1.0.0":{ "api-rule":[ "echo hello global-policy api rule at the global instance scope" ], "assembly":[ "echo hello global-policy assembly at the global instance scope" ], "error-rule":{ "_instance":{ "ConnectionError":{ "api-rule":[ "echo hello global-policy assembly error rule override global instance with rule instance scope" ] } }, "api-rule":[ "echo hello global-policy assembly error rule override global instance scope" ] }, "default":[ "echo hello global-policy assembly default error rule override global instance scope" ], "finally":[ "echo hello global-policy assembly finally rule override global instance scope" ], "assembly-actions":{ "cors":{ "override":[ "echo hello global-policy cors global instance scope" ] }, "wsdl":{ "override":[ "echo hello global-policy wsdl global instance scope" ] }, "client-identification":{ "override":[ "echo hello global-policy client-identification global instance scope" ] }, "invoke":{ "_instance":{ "my-custom-invoke":{ "override":[ "echo hello global-policy invoke global instance with title instance scope" ] } }, "override":[ "echo hello invoke global custom policy instance scope" ] } } }, "complex-switch:1.0.0":{ "api-rule":[ "echo hello api rule global api instance scope" ], "assembly":[ "echo hello api assembly global api instance scope" ], "error-rule":{ "api-rule":[ "echo hello api assembly error rule override global api instance scope" ] }, "default":[ "echo hello api assembly default error rule override global api instance scope" ], "finally":[ "echo hello api assembly finally rule override global api instance scope" ], "assembly-actions":{ "switch":{ "otherwise-api-rule":[ "echo hello switch otherwise api-rule global scope api instance instance" ], "condition-api-rules":{ "_instance":{ "($statusCode() = 200)":{ "api-rule":[ "echo hello switch api-rule global scope api instance instance" ] } }, "api-rule":[ "echo hello switch api-rule global api instance scope" ] }, "override":[ "echo hello switch global api instance scope" ] } } } }, "api-rule":[ "echo hello assembly api-rule global scope" ], "assembly":[ "echo hello assembly global scope" ], "error-rule":{ "api-rule":[ "echo hello assembly error rule override global scope" ] }, "default":[ "echo hello assembly default error rule override global scope" ], "finally":[ "echo hello assembly finally rule override global scope" ], "assembly-actions":{ "set-variable":{ "_instance":{ "set-variable-delete":{ "override":[ "echo hello set var global instance scope using title" ] }, "addGatewayExtension-v6-org_addGatewayExtension-v6-catalog-140_complex-switch_1.0.0_set-variable_2":{ "override":[ "echo hello set var global instance scope using dp name" ] } }, "override":[ "echo hello set var global scope" ] } } }, "_organization":{ "my-organization":{ "api-rule":[ "echo hello rule _organization scope" ], "assembly":[ "echo hello assembly _organization scope" ], "assembly-actions":{ "graphql-execute":{ "targets":{ "assembly-function":[ "echo hello graphql-execute target af _organization scope" ], "assembly-function-call":[ "echo hello graphql-execute target afc _organization scope" ] }, "override":[ "echo hello graphql-execute _organization scope" ] } } } }, "_catalog":{ "my-organization":{ "my-catalog":{ "api-rule":[ "echo hello rule _catalog scope" ], "assembly":[ "echo hello assembly _catalog scope" ], "assembly-actions":{ "if":{ "api-rule":[ "echo hello if api-rule _catalog scope" ], "assembly-switch":[ "echo hello if assembly-switch _catalog scope" ] } } } } }, "_instance":{ "my-organization":{ "my-catalog":{ "complex-switch:1.0.0":{ "api-rule":[ "echo hello rule _instance scope" ], "assembly":[ "echo hello assembly _instance scope" ], "assembly-actions":{ "invoke":{ "override":[ "echo hello invoke _instance scope" ] } } } } } } } }