updateConfig
¶
The updateConfig
command updates the DataPower configuration based on the value of the “updates” option. The value is defined in HOCON format, e.g., “DoHostRewrite:on, Priority: normal, HTTPCompression: off”. The command can update multiple DataPower objects based on the provided regexp patterns.
This task can be used for quickly applying localized configuration changes to one or multiple DataPower devices with a single command. For example, it can be used for changing back-end URLs, changing ports and so on.
updateConfig
will try to validate the request against the DataPower XML schema on the client (you can override this by setting the validate
attribute to false
). If the schema validation was turned off, the validation would still fail on the device and you would get the “Internal Error” message.
Attributes/Options¶
Attribute |
Description |
Required |
---|---|---|
objects |
Comma-delimited list of regexp patterns to update in the format “class:name, class:name”. Class and name could be optional, e.g., “class, class” or “:name”. |
No |
exclude |
Comma-delimited list of regexp patterns to exclude from the update in the format “class:name, class:name”. |
No |
updates |
Elements to modify in HOCON format, e.g., “DoHostRewrite:on, Priority: normal, HTTPCompression: off”. Elements must match the DataPower schema, see the corresponding Modify type definition in xml-mgmt.xsd. |
No |
updateConfPath |
Name (path) of the configuration object defined in dpbuddy.conf |
No |
domainPatterns
CLI alias: domains
|
Comma-delimited list of regular expression patterns defining what domains to apply the command to. Use ‘.*’ for all domains except the default. Use ‘.*,default’ to include the default domain. Defaults to the current domain. The current domain is specified using the |
No |
dryRun |
If set to Defaults to |
No |
matchObjects |
At least one object must match provided object classes/names. Defaults to |
No |
Examples¶
# Various changes to the "test" XML firewall, including updating comments
dpbuddy updateConfig -objects "XMLFire.*:testFirewall" -updates 'DoHostRewrite:on, Priority: normal, HTTPCompression: off, UserSummary: "my change"'
# update the Web services proxy's back-end
dpbuddy updateConfig -objects WSEndpointRewritePolicy -updates 'WSEndpointRemoteRewriteRule:[{ServicePortMatchRegexp: "{http://personservice}PersonService$"}, {RemoteEndpointProtocol: http}, {RemoteEndpointHostname:foo1}, {RemoteEndpointPort:3040}, {RemoteEndpointURI:null},{RemoteMQQM:null},{RemoteTibcoEMS:null},{RemoteWebSphereJMS:null}]'
disable
/enable
¶
These commands allow for quickly disabling or enabling DataPower objects.
Attributes/Options¶
Attribute |
Description |
Required |
---|---|---|
objects |
Comma-delimited list of regexp patterns to update in the format “class:name, class:name”. Class and name could be optional, e.g., “class, class” or “:name”. |
No |
exclude |
Comma-delimited list of regexp patterns to exclude from the update in the format “class:name, class:name”. |
No |
domainPatterns
CLI alias: domains
|
Comma-delimited list of regular expression patterns defining what domains to apply the command to. Use ‘.*’ for all domains except the default. Use ‘.*,default’ to include the default domain. Defaults to the current domain. The current domain is specified using the |
No |
matchObjects |
At least one object must match provided object classes/names. Defaults to |
No |
Examples¶
# Disable a web proxy
dpbuddy disable -objects ",WSG.*:test-proxy"
# Enable all XML firewalls and web proxies
dpbuddy enable -objects "XMLFire.*,WSG.*"
modifyConfig
¶
The modifyConfig
task updates the DataPower configuration from the provided configuration file and/or the configuration information specified inline within the configuration
tag. The configuration information contains DataPower object definitions in the format defined by the DataPower schema (xml-mgmt.xsd, “AnyConfigElement” type).
As with import, you can use DataPower export facility or DPBuddy’s export task to produce an initial version of the configuration file.
Also similar to import
, the configuration can be transformed using DPBuddy’s transform actions.
Configuration can contain variables in any of its text nodes or attributes.
Unlike import
, however, modifyConfig
does not completely overwrite existing configuration objects. Instead, it updates nested elements of the configuration. For example, for a load balancer group (LBG), modifyConfig
will update only the members included in the request. If an LBG member does not exist, modifyConfig
will create it. It will not affect any other group members.
DataPower XML schema contains the following explanation for modifyConfig
:
“Vectors with indexes (example: BaseWSDL in ModifyWSGateway) will be merged based on matching index values (example: WSDLSourceLocation for BaseWSDL). Vectors without indexes (example: DebugTrigger in ModifyConfigBase) and simple vectors (example: AcceptedConfig in ModifyConfigDeploymentPolicy) will have all their elements replaced with any new elements supplied via modifyConfig.”
You can use modifyConfig
to dynamically change your configuration, for example, to disable LBG members if you need to shut down some back-end servers.
Please note that DataPower forces XML validation of “modifyConfig” requests (it does not do it for import
). Unfortunately, in some cases, DataPower produces a non-compliant XML export, which causes validation to fail. Usually, removing the “Memoization”, “DebugMode” and “DebuggerType” elements is sufficient to let it pass. Also, all ports elements (e.g., “HealthPort” in “LBGroupMembers”) must have an integer value; you can enter “0” to default these values.
modifyConfig
will try to validate the request against the DataPower XML schema on the client (you can override this by setting the validate
attribute to false
). If the schema validation was turned off, the validation would still fail on the device and you would get the “Internal Error” message.
Paying (i.e. non-trial) DPBuddy customers can contact DPBuddy support if they have questions or issues with defining their modifyConfig
requests.
Attributes/Options¶
Attribute |
Description |
Required |
---|---|---|
file |
Path to the configuration file. If the task contains The file must be a valid DataPower configuration file. |
No |
resolveVars |
If set to Defaults to |
No |
transform
Nested Element¶
transform
contains transformation actions documented in Transforming DataPower Configuration. This element is optional.
fileset
Nested Element¶
You can use the Ant fileset element to specify multiple config files that will be used to update DataPower configuration. DPBuddy will combine all matching files into a single request to the device. You can specify multiple fileset
elements within the same task.
Each fileset could contain a nested transform
element with the transformation actions. The actions will be applied to the files matched by this fileset. Note that the global transform
specified as the child of the task will not be applied to the matching files.
configuration
Nested Element¶
You can specify any valid DataPower configuration inside this element as an alternative to keeping the configuration in an external file. If the task contains transform
element, the transformations will be applied to this configuration. The configuration’s text nodes and attributes can contain Ant variables.
Examples¶
The following example shows how to use modifyConfig
to disable an LBG member:
<dp:modifyConfig>
<configuration>
<LoadBalancerGroup name="${lbg.name}">
<LBGroupMembers>
<Server>${server.name}</Server>
<Weight>1</Weight>
<MappedPort>0</MappedPort>
<Activity/>
<HealthPort>0</HealthPort>
<LBMemberState>disable</LBMemberState>
</LBGroupMembers>
</LoadBalancerGroup>
</configuration>
</dp:modifyConfig>