Resource overrides file format
Use the following file format to specify the resource overrides that you want to apply.
General information
The resource overrides file is a configuration file that uses a subset of the YAML Version 1.2 format and must use a UTF-8 character encoding. The file must be located in the ussconfig/resourceoverrides directory, where ussconfig is the location that is specified by the USSCONFIG system initialization parameter, for example /var/cicsts/dfhconfig/resourceoverrides. The file name must be the name that is specified by the RESOVERRIDES system initialization parameter.
A sample resource overrides file, and a resource overrides JSON schema to use when you edit the resource overrides file, are provided. See Setting up a resource overrides configuration file.
To specify resource overrides, use YAML format block collections with lists (also known as sequences) and mappings (key-value pairs). The following information describes the YAML formatting that is supported in the resource overrides file.
YAML flow style notation for lists and mappings (use of indicator characters rather than indentation) is not supported.
schemaVersion: resourceOverrides/major.minor
resourceOverrides:
- resource-type:
- selector:
attribute: value
attribute:
- condition-operator: value
overrides:
attribute: value
attribute:
- action-operator: value
- Optionally, the YAML file can begin with three dashes to indicate the start of the
document.
--- - Use the YAML format for block collections. That is, use indentation for scope and begin each entry on its own line.
- For indentation, use 2 or more spaces. You can indent lines by any number of spaces, but members of the same list or block must use the same indentation. Do not use tabs for indentation.
- Each list entry starts on a new line, starts with a dash and a space, and is followed by a
colon.
- list-item: - Key-value pairs in a mapping are separated by a colon and a
space.
key: value - You can surround values with single
'or double"quotation marks to ensure that they are not processed as YAML file syntax. - Values can be up to 255 characters. You cannot split values across multiple lines; that is, you cannot use YAML syntax for multiline strings.
- Each comment starts with a hashtag (
#). For a comment on the same line as another entry, ensure that there is a space between the entry and the start of the comment.# Comment - list-item: # Comment about this list - Attribute values are case-sensitive. Other strings are case-insensitive. Where necessary, resource override processing converts attribute values to the appropriate case for CICS® processing.
- Optionally, the YAML file can end with three dots to indicate the end of the
document.
...
The maximum size of a resource overrides file is 1 MB.
Schema version
You use the schemaVersion mapping to specify the version of the resource
overrides JSON schema that describes the required syntax for the resource overrides in the resource
overrides file. All resource overrides that you specify in the resource overrides file must be
supported by this version of the resource overrides JSON schema.
Specify the schemaVersion key, followed by the name and version number of the
corresponding resource overrides JSON schema. The schema name must be
resourceOverrides. The name and version number are separated by a forward slash
(/). The schema version number is in the format
major.minor, where major and
minor are the same as the version number of the corresponding JSON schema
resourceoverrides-major.minor.micro.json.
The schemaVersion mapping is compatible with changes to the
.micro version number of the JSON schema. For example,
schemaVersion: resourceOverrides/1.0 indicates that the resource overrides file is
supported by the resourceoverrides-1.0.n.json schemas.
You must specify a schema version number that is supported by CICS TS beta. If a resource overrides file is shared across multiple CICS releases, the schema version must be supported for all those CICS releases.
| CICS release | JSON schema | schemaVersion mapping |
|---|---|---|
| CICS TS 6.3 | resourceoverrides-1.300.n.json Latest version of schema that supports all changes made to resource definition attributes in this release. |
|
| CICS TS 6.2 | resourceoverrides-1.200.n.json Improved version of schema which includes validation of all resource attributes and their values. |
|
| CICS TS 6.1 | resourceoverrides-1.100.n.json Improved version of schema which includes validation of all resource attributes and their values. |
|
| CICS TS 5.6 | resourceoverrides-1.0.n.json Basic schema which only validates resource types. |
|
Resource overrides
To specify the start of the resource overrides in the YAML file, specify the
resourceOverrides key. This mapping is followed by the list of CICS resource types that you want to apply overrides to.
resourceOverrides:
To specify a resource overrides file that does not contain any resource types or override rules,
you can specify a value of null or ~ for the mapping. Any content
that follows must be commented out. For example:
resourceOverrides: null
# - resource-type:
# - override rules
Resource types
To specify the CICS resource types that you want to apply
overrides to, specify each resource type as a list item after the resourceOverrides
mapping. You can list a resource type more than once in the block. List all resource types at the
same level in the file.
For the list of resource types that you can apply overrides to, see How it works: Resource definition overrides. For details of valid resource types, resource attributes, and attribute values that you use to specify resource overrides, see Resource definition attributes.
- resource-type:
- program:
- override rules
- file:
- override rulesEach resource type is followed by a nested list of one or more override rules.
Override rule
- A selector mapping specifies which resources of the listed resource type to apply the overrides to.
- An overrides mapping specifies one or more override actions to apply.
If you do not specify a selector, the overrides mapping applies to all resources of the listed resource type.
- selector:
overrides:
or
- overrides:
Selector mapping (optional)
To specify a selector mapping, specify the selector key, followed by one or more
conditions. The conditions specify attribute values to use to select resources, and are processed in
the order that they are specified in the file. For a resource type with multiple conditions
specified, all conditions must be satisfied to select the resources; that is, conditions are
connected by and
.
For a simple condition, use a nested attribute: value mapping.
- selector:
attribute: value
For conditions that use a condition operator, use a nested attribute followed by a nested list item for each condition-operator: value mapping.
- selector:
attribute:
- condition-operator: value
- condition-operator: value
- is
- Select the resources that have the specified attribute value.
- literal
- Select the resources that have the specified attribute value by using the literal
value of the attribute. For example, an asterisk character
*is not treated as a wildcard character. - literalNot
- Select the resources that do not have the specified attribute value by using the
literal value of the attribute. For example, an asterisk character
*is not treated as a wildcard character. - not
- Select the resources that do not have the specified attribute value.
- selector:
name: value - selector:
attribute: ""literal or
literalNot condition operators), you can use the wildcard character
* once in a character attribute value. If you start a value with a wildcard
character, surround the value with single or double quotation marks (to differentiate it from a YAML
alias). For example, the following values are
valid:name: '*ABC'
name: A*BCname: *ABC
name: A*B*C- transaction:
# Select all transactions starting with TR that have an initial program of MYPROG
- selector:
name: TR*
program: MYPROG- program:
# Select all programs ending with TEST that are not in the group MYGRP1
- selector:
name: '*TEST'
group:
- not: MYGRP1- enqmodel:
# Select all enqmodel definitions with an enqname value of ENQ*
- selector:
enqname:
- literal: ENQ*Overrides mapping
To specify the overrides mapping, specify the overrides key, followed by one or
more actions. The actions specify the attribute values to apply as overrides, and are processed in
the order that they are specified in the file.
You cannot override a resource name or a group attribute.
For a set action, you can use a nested attribute: value mapping, or an action operator.
- overrides:
attribute: value
For actions that use an action operator such as set, prefix, or suffix, use a nested attribute followed by a nested list for each action-operator: value mapping. For the find and replace action, use a nested attribute followed by a nested list item for the pair of action-operator: value mappings.
- overrides:
attribute:
- action-operator: value
- action-operator: value
You can specify the following operators in an action, depending on whether the attribute is a character attribute, an integer, or a CVDA.
- set
- You can set character attributes, integer attributes, and CVDAs in one of the following ways:
- Use an attribute: value mapping.
- After the attribute, use a nested list item for the
action-operator: value mapping, where the
action operator is
set.
The following example sets a CVDA and an integer attribute. The first overrides mapping sets the CICS execution diagnostic facility (CEDF) on for programs. The second overrides mapping sets the purgecycle for DB2CONN resources to 5 minutes, 0 seconds:- program: - overrides: cedf: YES - db2conn: - overrides: purgecycle: 05,00The following example also sets CEDF on for programs, but uses thesetaction operator.- program: - overrides: cedf: - set: YESFor attributes where it is valid to set a null string, you can remove any current attribute value by specifying an empty value""or a null string. This applies to most character attributes and a minority of CVDAs, but not integer attributes. For example:- transaction: - overrides: alias: ""For attributes which take a default value if not specified setting a null string will reset the default value. For example:
will clear any value specified for transaction class and set the default value, e.g. DFHTCL00.- transaction: - overrides: tranclass: ""For a character attribute, you can use symbols and symbol substrings in the attribute value. See Symbols and symbol substrings.
For some integer attributes, it is valid to set specific character values. For example, SYSTEM is a valid value for the RUNAWAY attribute of a TRANSACTION resource, and NO is a valid value for some timeout attributes.
- find and replace
- You can use find and replace for character attributes.
After the attribute, use a nested list item for the pair of action-operator: value mappings, where the action operators are
findandreplace.
For example:- overrides: attribute: - find: value replace: value- urimap: # Modify the path for URIMAP resources to change all instances of prod to test - overrides: path: - find: prod replace: testYou can use symbols and symbol substrings in the attribute values. See Symbols and symbol substrings.
- prefix
- You can add a prefix to a character attribute with an existing value. You cannot prefix a null
attribute value.
After the attribute, use a nested list item for the action-operator: value mapping, where the action operator is
prefix.- overrides: attribute: - prefix: valueFor example:- file: - overrides: dsname: - prefix: TESTLPAR.You can use symbols and symbol substrings in the attribute value. See Symbols and symbol substrings.
- suffix
- You can add a suffix to a character attribute with an existing value. You cannot suffix a null
attribute value.
After the attribute, use a nested list item for the action-operator: value mapping, where the action operator is
suffix.- overrides: attribute: - suffix: valueFor example:- file: - overrides: dsname: - suffix: .DEVYou can use symbols and symbol substrings in the attribute value. See Symbols and symbol substrings.
Symbols and symbol substrings
You can use symbols and symbol substrings in character attribute values in override mappings.
{{}}. | Symbol name | Value |
|---|---|
| CICS_APPLID | The application identifier of a CICS region |
| CICS_DEFAULT_USERID | The CICS default user ID. |
| CICS_JOBNAME | The name of the CICS job. |
| CICS_LPAR | The name of a z/OS® LPAR for the CICS region. |
| CICS_REGION_USERID | The CICS region user ID. |
| CICS_RELEASE | CICS release, for example, 0760 for CICS TS beta. |
| CICS_SYSID | The system identifier of a CICS region. |
| CICS_SYSPLEX | The name of the current sysplex. |
| CICS_USSCONFIG | The value of the USSCONFIG system initialization parameter. |
| CICS_USSHOME | The value of the USSHOME system initialization parameter. |
- file:
- overrides:
dsname: "{{CICS_APPLID}}.ZUSER.CATALOG.FILEA"- file:
- overrides:
dsname:
- find: "{{ CICS_REGION_USERID }}"
replace: "{{ CICS_APPLID }}"[]. You can use one of the following formats:[start:end][start::length]
[0:1] indicates the first two characters of a symbol. The following example uses
the first two characters of the application identifier of a CICS
region:- transaction
- overrides:
tranclass:
- prefix: "{{CICS_APPLID[0:1]}}"- file:
- overrides:
dsname: "USER{{CICS_SYSID[2::2]}}.ZUSER.CATALOG.FILEA"Examples
schemaVersion: resourceOverrides/1.300
resourceOverrides:
- program:
# Set CEDF on for all programs in the group "MYGRP"
- selector:
name: '*'
group: MYGRP
overrides:
cedf: YES
# Change CONCURRENCY from QUASIRENT to THREADSAFE for all programs,
# except those in the groups "MYGRP1" and "MYGRP2"
- selector:
group:
- not: MYGRP1
- not: MYGRP2
concurrency: QUASIRENT
overrides:
concurrency: THREADSAFE
# Set CEDF on for all programs autoinstalled using the default autoinstall
# program model "DFHPGAPG" if defined in RDO group "DFHPGAIP"
- selector:
name: DFHPGAPG
group: DFHPGAIP
overrides:
cedf:
- set: YES
- db2conn:
# Set the PURGECYCLE attribute for the DB2CONN "DB2AAA" to
# 5 minutes and 0 seconds
- selector:
name: DB2AAA
overrides:
purgecycle: 05,00
- transaction:
# Remove the ALIAS attribute for all transactions that start with the
# characters "TR"
- selector:
name: TR*
overrides:
alias: ""
# Set the TRANCLASS attribute to "TCLTEST" for all transactions whose
# name start with the characters "tr" and end with "1"
- selector:
name: tr*1
overrides:
tranclass: "TCLTEST"
# Prefix the TRANCLASS attribute of all transactions with the first
# two characters of the CICS_APPLID
- overrides:
tranclass:
- prefix: "{{CICS_APPLID[0:1]}}"
# Change the value of the WAITTIME attribute to 2055 mins (1 day,
# 10 hours, 15 minutes) for the transaction "RUNA" in group "EXMP8"
# if the current WAITTIME is 1563 mins (1 day, 2 hours and 3 minutes)
- selector:
name: RUNA
group: EXMP8
waittime: 1,2,3
overrides:
waittime: 1,10,15
# Set RUNAWAY attribute to 300 milliseconds for all transactions
# defined with default value of SYSTEM
- selector:
runaway: SYSTEM
overrides:
runaway: 300
- file:
# Set the DSNAME attribute of FILE "FILEA" using the value of
# the APPLID symbol
- selector:
name: FILEA
overrides:
dsname: "{{CICS_APPLID}}.FILEA"
# Prefix the DSNAME attribute of the FILE "FILEA" with the string
# "TESTLPAR."
- selector:
name: FILEA
overrides:
dsname:
- prefix: TESTLPAR.
# Modify the DSNAME attribute of the FILE "FILEA" to change all
# instances of "EXAMPLE" to "MYEXMPL", prefix it with "MYCOPY."
# and suffix it with ".TEST"
- selector:
name: FILEA
overrides:
dsname:
- find: EXAMPLE
replace: MYEXMPL
- prefix: MYCOPY.
- suffix: .TEST
# Change a remote FILE named "REMFILE" to be a local file that
# uses the data set "DEV.CATALOG.FILEA"
- selector:
name: REMFILE
overrides:
dsname: DEV.CATALOG.FILEA
remotename: ""
remotesystem: ""
- jvmserver:
# Set THREADLIMIT attribute for a JVMSERVER named TESTSERV to 5
- selector:
name: TESTSERV
overrides:
threadlimit: 5
- tsmodel:
# Modify the PREFIX attribute for all TSMODEL resources defined in the
# group "EXMP6" with a LOCATION of MAIN to change all instances of
# "PROD" to "TEST"
- selector:
name: TSMOD*
group: EXMP6
location: MAIN
overrides:
prefix:
- find: PROD
replace: TEST
- sessions:
# For all SESSION resources with MAXIMUM attribute set to the default
# value of 01,00 change the value to to 99,99
- selector:
maximum: 01,00
overrides:
maximum: 99,99
- enqmodel:
# Select all ENQMODEL resources with an ENQNAME that equals "ENQ*"
# and change value to "MYENQ"
- selector:
enqname:
- literal: ENQ*
overrides:
enqname: MYENQ