Overview

This resource allows you to manage a MQ queue.

Here is an example on how you should use this with QTYPE in the name:

mq_queue { 'QM1/QLOCAL/EM_TEST':
  ensure   => 'present',
  acctq    => 'QMGR',
  bothresh => '0',
  clwlprty => '4',
  clwlrank => '1',
  clwluseq => 'QMGR',
  defbind  => 'OPEN',
  defpresp => 'SYNC',
  defprty  => '0',
  defpsist => 'NO',
  defreada => 'NO',
  defsopt  => 'SHARED',
  distl    => 'NO',
  get      => 'ENABLED',
  maxdepth => '5000',
  maxmsgl  => '4194304',
  monq     => 'QMGR',
  msgdlvsq => 'PRIORITY',
  npmclass => 'NORMAL',
  propctl  => 'COMPAT',
  put      => 'ENABLED',
  qdepthhi => '80',
  qdepthlo => '20',
  qdphiev  => 'DISABLED',
  qdploev  => 'DISABLED',
  qdpmaxev => 'ENABLED',
  qsvciev  => 'NONE',
  qsvcint  => '999999999',
  retintvl => '999999999',
  scope    => 'QMGR',
  statq    => 'QMGR',
  trigdpth => '1',
  trigmpri => '0',
  trigtype => 'FIRST',
  usage    => 'NORMAL',
}

Here is an deprecated example on how you should use this:

mq_queue { 'QM1/EM_TEST':
  ensure   => 'present',
  acctq    => 'QMGR',
  bothresh => '0',
  clwlprty => '4',
  clwlrank => '1',
  clwluseq => 'QMGR',
  defbind  => 'OPEN',
  defpresp => 'SYNC',
  defprty  => '0',
  defpsist => 'NO',
  defreada => 'NO',
  defsopt  => 'SHARED',
  distl    => 'NO',
  get      => 'ENABLED',
  maxdepth => '5000',
  maxmsgl  => '4194304',
  monq     => 'QMGR',
  msgdlvsq => 'PRIORITY',
  npmclass => 'NORMAL',
  propctl  => 'COMPAT',
  put      => 'ENABLED',
  qdepthhi => '80',
  qdepthlo => '20',
  qdphiev  => 'DISABLED',
  qdploev  => 'DISABLED',
  qdpmaxev => 'ENABLED',
  qsvciev  => 'NONE',
  qsvcint  => '999999999',
  qtype    => 'QLOCAL',
  retintvl => '999999999',
  scope    => 'QMGR',
  statq    => 'QMGR',
  trigdpth => '1',
  trigmpri => '0',
  trigtype => 'FIRST',
  usage    => 'NORMAL',
}

Experience the Power of Puppet for IBM MQ

If you want to play and experiment with Puppet and IBM MQ, please take a look at our playgrounds. At our playgrounds, we provide you with a pre-installed environment, where you experiment fast and easy.

Attributes

Attribute Name Short Description
acctq Specifies whether accounting data collection is to be enabled for the queue.
boqname The excessive backout requeue name.
bothresh The backout threshold.
clchname his parameter is supported only on transmission queues.
clusnl The name of the namelist that specifies a list of clusters to which the queue belongs.
cluster The name of the cluster to which the queue belongs.
clwlprty Specifies the priority of the queue for the purposes of cluster workload distribution.
clwlrank Specifies the rank of the queue for the purposes of cluster workload distribution.
clwluseq Specifies the behavior of an MQPUT operation when the target queue has a local instance and at least one remote cluster instance.
custom The custom attribute for new features.
defbind Specifies the binding to be used when the application specifies MQOO_BIND_AS_Q_DEF on the MQOPEN call, and the queue is a cluster queue.
defpresp Specifies the behavior to be used by applications when the put response type, within the MQPMO options, is set to MQPMO_RESPONSE_AS_Q_DEF.
defprty The default priority of messages put on the queue.
defpsist Specifies the message persistence to be used when applications specify the MQPER_PERSISTENCE_AS_Q_DEF option.
defreada Specifies the default read ahead behavior for non-persistent messages delivered to the client.
defsopt The default share option for applications opening this queue for input.
deftype Queue definition type.
descr Plain-text comment.
disable_corrective_change Disable the modification of a resource when Puppet decides it is a corrective change.
disable_corrective_ensure Disable the creation or removal of a resource when Puppet decides is a corrective change.
distl DISTL sets whether distribution lists are supported by the partner queue manager.
ensure The basic property that the resource should be in.
get Specifies whether applications are to be permitted to get messages from this queue.
initq The local name of the initiation queue on this queue manager, to which trigger messages relating to this queue are written; see Rules for naming IBM MQ objects.
like The name of a queue, with parameters that are used to model this definition.
maxdepth The maximum number of messages allowed on the queue.
maxmsgl The maximum length (in bytes) of messages on this queue.
monq Controls the collection of online monitoring data for queues.
msgdlvsq Message delivery sequence.
name The full name of the queue.
noshare Specifies whether multiple applications can get messages from this queue.
notrigger Specifies whether trigger messages are written to the initiation queue, named by the INITQ parameter, to trigger the application, named by the PROCESS parameter.
npmclass The level of reliability to be assigned to non-persistent messages that are put to the queue.
process The local name of the IBM MQ process.
propctl Property control attribute.
provider resource.
put Specifies whether messages can be put on the queue.
qdepthhi The threshold against which the queue depth is compared to generate a Queue Depth High event.
qdepthlo The threshold against which the queue depth is compared to generate a Queue Depth Low event.
qdphiev Controls whether Queue Depth High events are generated.
qdploev Controls whether Queue Depth Low events are generated.
qdpmaxev Controls whether Queue Full events are generated.
qmgr The name of the queue manager containing the specfied queue.
qsvciev Controls whether Service Interval High or Service Interval OK events are generated.
qsvcint The service interval used for comparison to generate Service Interval High and Service Interval OK events.
qtype The queue type to manage.
queue The name of the queue.
retintvl The number of hours from when the queue was defined, after which the queue is no longer needed.
rname Name of remote queue.
rqmname The name of the remote queue manager on which the queue RNAME is defined.
scope Specifies the scope of the queue definition.
share Specifies whether multiple applications can get messages from this queue.
statq Specifies whether statistics data collection is enabled.
target The name of the queue or topic object being aliased; See Rules for naming IBM MQ objects.
targq The name of the queue or topic object being aliased; See Rules for naming IBM MQ objects.
targtype The type of object to which the alias resolves.
trigdata The data that is inserted in the trigger message.
trigdpth The number of messages that have to be on the queue before a trigger message is written, if TRIGTYPE is DEPTH.
trigger Specifies whether trigger messages are written to the initiation queue, named by the INITQ parameter, to trigger the application, named by the PROCESS parameter.
trigmpri The message priority number that triggers this queue.
trigtype Specifies whether and under what conditions a trigger message is written to the initiation queue.
usage Queue usage.
xmitq The name of the transmission queue to be used for forwarding messages to the remote queue.

acctq

Specifies whether accounting data collection is to be enabled for the queue. On z/OS, the data collected is class 3 accounting data (thread-level and queue-level accounting). In order for accounting data to be collected for this queue, accounting data for this connection must also be enabled. Turn on accounting data collection by setting either the ACCTQ queue manager attribute, or the options field in the MQCNO structure on the MQCONNX call. Valid values are:

  • QMGR The collection of accounting data is based on the setting of the ACCTQ parameter on the queue manager definition.
  • ON Accounting data collection is enabled for the queue unless the ACCTQ queue manager parameter has a value of NONE. On z/OS systems, you must switch on class 3 accounting using the START TRACE command.
  • OFF Accounting data collection is disabled for the queue.

Valid values are QMGR, ON, OFF.

Back to overview of mq_queue

boqname

The excessive backout requeue name. This parameter is supported only on local and model queues. Use this parameter to set or change the back out queue name attribute of a local or model queue. Apart from allowing its value to be queried, the queue manager does nothing based on the value of this attribute. IBM MQ classes for JMS transfers a message that is backed out the maximum number of times to this queue. The maximum is specified by the BOTHRESH attribute.

Back to overview of mq_queue

bothresh

The backout threshold. This parameter is supported only on local and model queues. Use this parameter to set or change the value of the back out threshold attribute of a local or model queue. Apart from allowing its value to be queried, the queue manager does nothing based on the value of this attribute. IBM MQ classes for JMS use the attribute to determine how many times back a message out. When the value is exceeded the message is transferred to the queue named by the BOQNAME attribute. Specify a value in the range 0 - 999,999,999.

Back to overview of mq_queue

clchname

his parameter is supported only on transmission queues. CLCHNAME is the generic name of the cluster-sender channels that use this queue as a transmission queue. The attribute specifies which cluster-sender channels send messages to a cluster-receiver channel from this cluster transmission queue. You can also set the transmission queue attribute CLCHNAME attribute to a cluster-sender channel manually. Messages that are destined for the queue manager connected by the cluster-sender channel are stored in the transmission queue that identifies the cluster-sender channel. They are not stored in the default cluster transmission queue. If you set the CLCHNAME attribute to blanks, the channel switches to the default cluster transmission queue when the channel restarts. The default queue is either SYSTEM.CLUSTER.TRANSMIT. ChannelName or SYSTEM.CLUSTER.TRANSMIT.QUEUE, depending on the value of the queue manager DEFCLXQ attribute. By specifying asterisks, “ * “, in CLCHNAME, you can associate a transmission queue with a set of cluster-sender channels. The asterisks can be at the beginning, end, or any number of places in the middle of the channel name string. CLCHNAME is limited to a length of 48 characters, MQ_OBJECT_NAME_LENGTH. A channel name is limited to 20 characters: MQ_CHANNEL_NAME_LENGTH. If you specify an asterisk you must also set the SHARE attribute so that multiple channels can concurrently access the transmission queue. [z/OS] If you specify a “ * “ in CLCHNAME, to obtain a channel profile name, you must specify the channel profile name within quotation marks. If you do not specify the generic channel name within quotation marks you receive message CSQ9030E. The default queue manager configuration is for all cluster-sender channels to send messages from a single transmission queue, SYSTEM.CLUSTER.TRANSMIT.QUEUE. The default configuration can be changed by modified by changing the queue manager attribute, DEFCLXQ. The default value of the attribute is SCTQ. You can change the value to CHANNEL. If you set the DEFCLXQ attribute to CHANNEL, each cluster-sender channel defaults to using a specific cluster transmission queue, SYSTEM.CLUSTER.TRANSMIT. ChannelName. [z/OS]On z/OS, if this parameter is set, the queue:

  • Must be shareable, by specifying the queue attribute SHARE.
  • Must be indexed on the correlation ID by specifying INDXTYPE(CORRELID).
  • Must not be a dynamic or a shared queue.

Back to overview of mq_queue

clusnl

The name of the namelist that specifies a list of clusters to which the queue belongs. This parameter is supported only on alias, local, and remote queues. Changes to this parameter do not affect instances of the queue that are already open. Only one of the resultant values of CLUSNL or CLUSTER can be nonblank; you cannot specify a value for both. On local queues, this parameter cannot be set for transmission, SYSTEM.CHANNEL. xx, SYSTEM.CLUSTER. xx, or SYSTEM.COMMAND. xx queues[z/OS], and on z/OS only, for SYSTEM.QSG. xx queues. This parameter is valid only on AIX, HP-UX, Linux, Solaris, and Windows[z/OS], and z/OS.

Back to overview of mq_queue

cluster

The name of the cluster to which the queue belongs. This parameter is supported only on alias, local, and remote queues. The maximum length is 48 characters conforming to the rules for naming IBM MQ objects. Changes to this parameter do not affect instances of the queue that are already open. Only one of the resultant values of CLUSNL or CLUSTER can be nonblank; you cannot specify a value for both. On local queues, this parameter cannot be set for transmission, SYSTEM.CHANNEL. xx, SYSTEM.CLUSTER. xx, or SYSTEM.COMMAND. xx queues[z/OS], and on z/OS only, for SYSTEM.QSG. xx queues. This parameter is valid only on AIX, HP-UX, Linux, Solaris, and Windows[z/OS], and z/OS.

Back to overview of mq_queue

clwlprty

Specifies the priority of the queue for the purposes of cluster workload distribution. This parameter is valid only for local, remote, and alias queues. The value must be in the range zero through 9 where zero is the lowest priority and 9 is the highest. For more information about this attribute, see CLWLPRTY queue attribute.

Back to overview of mq_queue

clwlrank

Specifies the rank of the queue for the purposes of cluster workload distribution. This parameter is valid only for local, remote, and alias queues. The value must be in the range zero through 9 where zero is the lowest rank and 9 is the highest. For more information about this attribute, see CLWLRANK queue attribute.

Back to overview of mq_queue

clwluseq

Specifies the behavior of an MQPUT operation when the target queue has a local instance and at least one remote cluster instance. The parameter has no effect when the MQPUT originates from a cluster channel. This parameter is valid only for local queues. Valid values are:

  • QMGR The behavior is as specified by the CLWLUSEQ parameter of the queue manager definition.
  • ANY The queue manager is to treat the local queue as another instance of the cluster queue for the purposes of workload distribution.
  • LOCAL The local queue is the only target of the MQPUT operation.

Valid values are QMGR, LOCAL, ANY.

Back to overview of mq_queue

custom

The custom attribute for new features. This attribute contains the values of attributes, as pairs of attribute name and value, separated by at least one space. The attribute name and value pairs have the form NAME(VALUE). Single quotation marks must be escaped with another single quotation mark.

Back to overview of mq_queue

defbind

Specifies the binding to be used when the application specifies MQOO_BIND_AS_Q_DEF on the MQOPEN call, and the queue is a cluster queue. Valid values are:

  • OPEN The queue handle is bound to a specific instance of the cluster queue when the queue is opened.
  • NOTFIXED The queue handle is not bound to any instance of the cluster queue. The queue manager selects a specific queue instance when the message is put using MQPUT. It changes that selection later, if the need arises.
  • GROUP Allows an application to request that a group of messages is allocated to the same destination instance. Multiple queues with the same name can be advertised in a queue manager cluster. An application can send all messages to a single instance, MQOO_BIND_ON_OPEN. It can allow a workload management algorithm to select the most suitable destination on a per message basis, MQOO_BIND_NOT_FIXED. It can allow an application to request that a group of messages be all allocated to the same destination instance. The workload balancing reselects a destination between groups of messages, without requiring an MQCLOSE and MQOPEN of the queue. The MQPUT1 call always behaves as if NOTFIXED is specified. This parameter is valid only on AIX, HP-UX, Linux, IBM i, Solaris, and Windows[z/OS], and z/OS.

Valid values are OPEN, NOTFIXED, GROUP.

Back to overview of mq_queue

defpresp

Specifies the behavior to be used by applications when the put response type, within the MQPMO options, is set to MQPMO_RESPONSE_AS_Q_DEF. Valid values are:

  • SYNC Put operations to the queue specifying MQPMO_RESPONSE_AS_Q_DEF are issued as if MQPMO_SYNC_RESPONSE is specified instead.
  • ASYNC Put operations to the queue specifying MQPMO_RESPONSE_AS_Q_DEF are issued as if MQPMO_ASYNC_RESPONSE is specified instead; see MQPMO options (MQLONG).

Valid values are SYNC, ASYNC.

Back to overview of mq_queue

defprty

The default priority of messages put on the queue. The value must be in the range 0 - 9. Zero is the lowest priority, through to the MAXPRTY queue manager parameter. The default value of MAXPRTY is 9.

Back to overview of mq_queue

defpsist

Specifies the message persistence to be used when applications specify the MQPER_PERSISTENCE_AS_Q_DEF option. Valid values are:

  • NO Messages on this queue are lost across a restart of the queue manager.
  • YES Messages on this queue survive a restart of the queue manager.

[z/OS]On z/OS, N and Y are accepted as synonyms of NO and YES.

Valid values are YES, NO.

Back to overview of mq_queue

defreada

Specifies the default read ahead behavior for non-persistent messages delivered to the client. Enabling read ahead can improve the performance of client applications consuming non-persistent messages. Valid values are:

  • NO Non-persistent messages are not read ahead unless the client application is configured to request read ahead.
  • YES Non-persistent messages are sent to the client before an application requests them. Non-persistent messages can be lost if the client ends abnormally or if the client does not delete all the messages it is sent.
  • DISABLED Read ahead of non-persistent messages in not enabled for this queue. Messages are not sent ahead to the client regardless of whether read ahead is requested by the client application.

Valid values are NO, YES, DISABLED.

Back to overview of mq_queue

defsopt

The default share option for applications opening this queue for input. Valid values are:

  • EXCL The open request is for exclusive input from the queue
  • SHARED The open request is for shared input from the queue

Valid values are EXCL, SHARED.

Back to overview of mq_queue

deftype

Queue definition type. This parameter is supported only on model queues. Valid values are:

  • PERMDYN A permanent dynamic queue is created when an application issues an MQOPEN MQI call with the name of this model queue specified in the object descriptor ( MQOD). A permanent dynamic queue is created when an application issues an MQOPEN API call with the name of this model queue specified in the object descriptor ( MQOD). The dynamic queue has a disposition of SHARED.
  • TEMPDYN A temporary dynamic queue is created when an application issues an MQOPEN API call with the name of this model queue specified in the object descriptor ( MQOD).

Do not specify this value for a model queue definition with a DEFPSIST parameter of YES. If you specify this option, do not specify INDXTYPE ( MSGTOKEN ).

Valid values are PERMDYN, TEMPDYN.

Back to overview of mq_queue

descr

Plain-text comment. It provides descriptive information about the object when an operator issues the DISPLAY QUEUE command. It must contain only displayable characters. The maximum length is 64 characters. In a DBCS installation, it can contain DBCS characters (subject to a maximum length of 64 bytes).

Note Use characters that are in the coded character set identifier (CCSID) of this queue manager. If you do not do so and if the information is sent to another queue manager, they might be translated incorrectly.

Back to overview of mq_queue

disable_corrective_change

Disable the modification of a resource when Puppet decides it is a corrective change.

(requires easy_type V2.11.0 or higher)

When using a Puppet Server, Puppet knows about adaptive and corrective changes. A corrective change is when Puppet notices that the resource has changed, but the catalog has not changed. This can occur for example, when a user, by accident or willingly, changed something on the system that Puppet is managing. The normal Puppet process then repairs this and puts the resource back in the state as defined in the catalog. This process is precisely what you want most of the time, but not always. This can sometimes also occur when a hardware or network error occurs. Then Puppet cannot correctly determine the current state of the system and thinks the resource is changed, while in fact, it is not. Letting Puppet recreate remove or change the resource in these cases, is NOT wat you want.

Using the disable_corrective_change parameter, you can disable corrective changes on the current resource.

Here is an example of this:

crucial_resource {'be_carefull':
  ...
  disable_corrective_change => true,
  ...
}

When a corrective ensure does happen on the resource Puppet will not modify the resource and signal an error:

    Error: Corrective change present requested by catalog, but disabled by parameter disable_corrective_change
    Error: /Stage[main]/Main/Crucial_resource[be_carefull]/parameter: change from '10' to '20' failed: Corrective change present requested by catalog, but disabled by parameter disable_corrective_change. (corrective)

Back to overview of mq_queue

disable_corrective_ensure

Disable the creation or removal of a resource when Puppet decides is a corrective change.

(requires easy_type V2.11.0 or higher)

When using a Puppet Server, Puppet knows about adaptive and corrective changes. A corrective change is when Puppet notices that the resource has changed, but the catalog has not changed. This can occur for example, when a user, by accident or willingly, changed something on the system that Puppet is managing. The normal Puppet process then repairs this and puts the resource back in the state as defined in the catalog. This process is precisely what you want most of the time, but not always. This can sometimes also occur when a hardware or network error occurs. Then Puppet cannot correctly determine the current state of the system and thinks the resource is changed, while in fact, it is not. Letting Puppet recreate remove or change the resource in these cases, is NOT wat you want.

Using the disable_corrective_ensure parameter, you can disable corrective ensure present or ensure absent actions on the current resource.

Here is an example of this:

crucial_resource {'be_carefull':
  ensure                    => 'present',
  ...
  disable_corrective_ensure => true,
  ...
}

When a corrective ensure does happen on the resource Puppet will not create or remove the resource and signal an error:

    Error: Corrective ensure present requested by catalog, but disabled by parameter disable_corrective_ensure.
    Error: /Stage[main]/Main/Crucial_resource[be_carefull]/ensure: change from 'absent' to 'present' failed: Corrective ensure present requested by catalog, but disabled by parameter disable_corrective_ensure. (corrective)

Back to overview of mq_queue

distl

DISTL sets whether distribution lists are supported by the partner queue manager. Valid values are:

  • YES Distribution lists are supported by the partner queue manager.
  • NO Distribution lists are not supported by the partner queue manager.

Note You do not normally change this parameter, because it is set by the MCA. However you can set this parameter when defining a transmission queue if the distribution list capability of the destination queue manager is known. This parameter is valid only on AIX, HP-UX, Linux, Solaris, and Windows.

Valid values are YES, NO.

Back to overview of mq_queue

ensure

The basic property that the resource should be in.

Valid values are present, absent.

Back to overview of mq_queue

get

Specifies whether applications are to be permitted to get messages from this queue. Valid values are:

  • ENABLED Messages can be retrieved from the queue, by suitably authorized applications.
  • DISABLED Applications cannot retrieve messages from the queue.

This parameter can also be changed using the MQSET API call.

Valid values are ENABLED, DISABLED.

Back to overview of mq_queue

initq

The local name of the initiation queue on this queue manager, to which trigger messages relating to this queue are written; see Rules for naming IBM MQ objects. This parameter is supported only on local and model queues.

Back to overview of mq_queue

like

The name of a queue, with parameters that are used to model this definition. If this field is not completed, the values of undefined parameter fields are taken from one of the following definitions. The choice depends on the queue type:

  • Alias queue SYSTEM.DEFAULT.ALIAS.QUEUE
  • Local queue SYSTEM.DEFAULT.LOCAL.QUEUE
  • Model queue SYSTEM.DEFAULT.MODEL.QUEUE
  • Remote queue SYSTEM.DEFAULT.REMOTE.QUEUE

For example, not completing this parameter is equivalent to defining the following value of LIKE for an alias queue: LIKE(SYSTEM.DEFAULT.ALIAS.QUEUE) If you require different default definitions for all queues, alter the default queue definitions instead of using the LIKE parameter. [z/OS]On z/OS, the queue manager searches for an object with the name and queue type you specify with a disposition of QMGR, COPY, or SHARED. The disposition of the LIKE object is not copied to the object you are defining.

Note QSGDISP ( GROUP ) objects are not searched. LIKE is ignored if QSGDISP ( COPY ) is specified.

Back to overview of mq_queue

maxdepth

The maximum number of messages allowed on the queue. This parameter is supported only on local and model queues. On AIX, HP-UX, Linux, Solaris, and Windows[z/OS], and z/OS, specify a value in the range zero through 999999999. This parameter is valid only on AIX, HP-UX, Linux, Solaris, and Windows[z/OS], and z/OS. On any other IBM MQ platform, specify a value in the range zero through 640000. Other factors can still cause the queue to be treated as full, for example, if there is no further hard disk space available. If this value is reduced, any messages that are already on the queue that exceed the new maximum remain intact.

Back to overview of mq_queue

maxmsgl

The maximum length (in bytes) of messages on this queue. This parameter is supported only on local and model queues. On AIX, HP-UX, Linux, Solaris, and Windows, specify a value in the range zero to the maximum message length for the queue manager. See the MAXMSGL parameter of the ALTER QMGR command, ALTER QMGR MAXMSGL. [z/OS]On z/OS, specify a value in the range zero through 100 MB (104 857 600 bytes). Message length includes the length of user data and the length of headers. For messages put on the transmission queue, there are additional transmission headers. Allow an additional 4000 bytes for all the message headers. If this value is reduced, any messages that are already on the queue with length that exceeds the new maximum are not affected. Applications can use this parameter to determine the size of buffer for retrieving messages from the queue. Therefore, the value can be reduced only if it is known that this reduction does not cause an application to operate incorrectly. Note that by adding the digital signature and key to the message, IBM MQ Advanced Message Security increases the length of the message.

Back to overview of mq_queue

monq

Controls the collection of online monitoring data for queues. This parameter is supported only on local and model queues. Valid values are:

  • QMGR Collect monitoring data according to the setting of the queue manager parameter MONQ.
  • OFF Online monitoring data collection is turned off for this queue.
  • LOW If the value of the MONQ parameter of the queue manager is not NONE, online monitoring data collection is turned on for this queue.
  • MEDIUM If the value of the MONQ parameter of the queue manager is not NONE, online monitoring data collection is turned on for this queue.
  • HIGH If the value of the MONQ parameter of the queue manager is not NONE, online monitoring data collection is turned on for this queue.

There is no distinction between the values LOW, MEDIUM, and HIGH. These values all turn data collection on, but do not affect the rate of collection. When this parameter is used in an ALTER queue command, the change is effective only when the queue is next opened.

Valid values are QMGR, OFF, LOW, MEDIUM, HIGH.

Back to overview of mq_queue

msgdlvsq

Message delivery sequence. This parameter is supported only on local and model queues. Valid values are:

  • PRIORITY Messages are delivered (in response to MQGET API calls) in first-in-first-out (FIFO) order within priority.
  • FIFO Messages are delivered (in response to MQGET API calls) in FIFO order. Priority is ignored for messages on this queue.

The message delivery sequence parameter can be changed from PRIORITY to FIFO while there are messages on the queue. The order of the messages already on the queue is not changed. Messages added to the queue later take the default priority of the queue, and so might be processed before some of the existing messages. If the message delivery sequence is changed from FIFO to PRIORITY, the messages put on the queue while the queue was set to FIFO take the default priority.

Valid values are PRIORITY, FIFO.

Back to overview of mq_queue

name

The full name of the queue. A queue’s full name constists of the name of the Queue manager a slash and then the name of the queue. Here is an example:

QMGR1/QREMOTE/MY.FIRST.QUEUE

Back to overview of mq_queue

noshare

Specifies whether multiple applications can get messages from this queue. This parameter is supported only on local and model queues. Valid values are:

  • SHARE More than one application instance can get messages from the queue.
  • NOSHARE Only a single application instance can get messages from the queue.

Valid values are SHARE, NOSHARE.

Back to overview of mq_queue

notrigger

Specifies whether trigger messages are written to the initiation queue, named by the INITQ parameter, to trigger the application, named by the PROCESS parameter. Valid values are:

  • TRIGGER Triggering is active, and trigger messages are written to the initiation queue.
  • NOTRIGGER Triggering is not active, and trigger messages are not written to the initiation queue.

This parameter is supported only on local and model queues. This parameter can also be changed using the MQSET API call.

Valid values are TRIGGER, NOTRIGGER.

Back to overview of mq_queue

npmclass

The level of reliability to be assigned to non-persistent messages that are put to the queue. Valid values are:

  • NORMAL Non-persistent messages are lost after a failure, or queue manager shutdown. These messages are discarded on a queue manager restart.
  • HIGH The queue manager attempts to retain non-persistent messages on this queue over a queue manager restart or switch over.

[z/OS]You cannot set this parameter on z/OS.

Valid values are NORMAL, HIGH.

Back to overview of mq_queue

process

The local name of the IBM MQ process. This parameter is supported only on local and model queues. This parameter is the name of a process instance that identifies the application started by the queue manager when a trigger event occurs; see Rules for naming IBM MQ objects. The process definition is not checked when the local queue is defined, but it must be available for a trigger event to occur. If the queue is a transmission queue, the process definition contains the name of the channel to be started. This parameter is optional for transmission queues on AIX, HP-UX, IBM i, Linux, Solaris, and Windows[z/OS], and z/OS. If you do not specify it, the channel name is taken from the value specified for the TRIGDATA parameter.

Back to overview of mq_queue

propctl

Property control attribute. The attribute is optional. It is applicable to local, alias, and model queues. PROPCTL options are as follows. The options do not affect message properties in the MQMD or MQMD extension. Valid values are:

  • ALL Set ALL so that an application can read all the properties of the message either in MQRFH2 headers, or as properties of the message handle. The ALL option enables applications that cannot be changed to access all the message properties from MQRFH2 headers. Applications that can be changed, can access all the properties of the message as properties of the message handle. In some cases, the format of data in MQRFH2 headers in the received message might be different to the format in the message when it was sent.
  • COMPAT Set COMPAT so that unmodified applications that expect JMS-related properties to be in an MQRFH2 header in the message data continue to work as before. Applications that can be changed, can access all the properties of the message as properties of the message handle. If the message contains a property with a prefix of mcd., jms., usr., or mqext., all message properties are delivered to the application. If no message handle is supplied, properties are returned in an MQRFH2 header. If a message handle is supplied, all properties are returned in the message handle. If the message does not contain a property with one of those prefixes, and the application does not provide a message handle, no message properties are returned to the application. If a message handle is supplied, all properties are returned in the message handle. In some cases, the format of data in MQRFH2 headers in the received message might be different to the format in the message when it was sent.
  • FORCE Force all applications to read message properties from MQRFH2 headers. Properties are always returned in the message data in an MQRFH2 header regardless of whether the application specifies a message handle. A valid message handle supplied in the MsgHandle field of the MQGMO structure on the MQGET call is ignored. Properties of the message are not accessible using the message handle. In some cases, the format of data in MQRFH2 headers in the received message might be different to the format in the message when it was sent.
  • NONE If a message handle is supplied, all the properties are returned in the message handle. All message properties are removed from the message body before it is delivered to the application.

Valid values are ALL, COMPAT, FORCE, NONE.

Back to overview of mq_queue

provider

The specific backend to use for this mq_queue resource. You will seldom need to specify this — Puppet will usually discover the appropriate provider for your platform.Available providers are:

simple
Manage MQ queues

Back to overview of mq_queue

put

Specifies whether messages can be put on the queue. Valid values are:

  • ENABLED Messages can be added to the queue (by suitably authorized applications).
  • DISABLED Messages cannot be added to the queue. This parameter can also be changed using the MQSET API call.

Valid values are ENABLED, DISABLED.

Back to overview of mq_queue

qdepthhi

The threshold against which the queue depth is compared to generate a Queue Depth High event. This parameter is supported only on local and model queues. [z/OS]For more information about the effect that shared queues on z/OS have on this event; see Shared queues and queue depth events ( IBM MQ for z/OS ). This event indicates that an application put a message on a queue resulting in the number of messages on the queue becoming greater than or equal to the queue depth high threshold. See the QDPHIEV parameter. The value is expressed as a percentage of the maximum queue depth ( MAXDEPTH parameter), and must be in the range zero through 100 and no less than QDEPTHLO.

Back to overview of mq_queue

qdepthlo

The threshold against which the queue depth is compared to generate a Queue Depth Low event. This parameter is supported only on local and model queues. [z/OS]For more information about the effect that shared queues on z/OS have on this event; see Shared queues and queue depth events ( IBM MQ for z/OS ). This event indicates that an application retrieved a message from a queue resulting in the number of messages on the queue becoming less than or equal to the queue depth low threshold. See the QDPLOEV parameter. The value is expressed as a percentage of the maximum queue depth ( MAXDEPTH parameter), and must be in the range zero through 100 and no greater than QDEPTHHI.

Back to overview of mq_queue

qdphiev

Controls whether Queue Depth High events are generated. This parameter is supported only on local and model queues. A Queue Depth High event indicates that an application put a message on a queue resulting in the number of messages on the queue becoming greater than or equal to the queue depth high threshold. See the QDEPTHHI parameter.

Note The value of this parameter can change implicitly[z/OS], and shared queues on z/OS affect the event. See the description of Queue Depth High. Valid values are:

  • ENABLED Queue Depth High events are generated
  • DISABLED Queue Depth High events are not generated

Valid values are ENABLED, DISABLED.

Back to overview of mq_queue

qdploev

Controls whether Queue Depth Low events are generated. This parameter is supported only on local and model queues. A Queue Depth Low event indicates that an application retrieved a message from a queue resulting in the number of messages on the queue becoming less than or equal to the queue depth low threshold. See the QDEPTHLO parameter. Note The value of this parameter can change implicitly[z/OS], and shared queues on z/OS affect the event. For more information about this event, see Queue Depth Low.

Valid values are:

  • ENABLED Queue Depth Low events are generated
  • DISABLED Queue Depth Low events are not generated

Valid values are ENABLED, DISABLED.

Back to overview of mq_queue

qdpmaxev

Controls whether Queue Full events are generated. This parameter is supported only on local and model queues. A Queue Full event indicates that a put to a queue was rejected because the queue is full. The queue depth reached its maximum value.

Note The value of this parameter can change implicitly[z/OS], and shared queues on z/OS affect the event. For more information about this event, see Queue Full.

Valid values are:

  • ENABLED Queue Full events are generated
  • DISABLED Queue Full events are not generated

Valid values are ENABLED, DISABLED.

Back to overview of mq_queue

qmgr

The name of the queue manager containing the specfied queue.

This is a puppet parameter and not a managed property. Therefor it is only used during creation of the resource. Changes to this parameter in your manifest, do NOT result in modifications on the system.

Back to overview of mq_queue

qsvciev

Controls whether Service Interval High or Service Interval OK events are generated. This parameter is supported only on local and model queues and is ineffective if it is specified on a shared queue. A Service Interval High event is generated when a check indicates that no messages were retrieved from the queue for at least the time indicated by the QSVCINT parameter. A Service Interval OK event is generated when a check indicates that messages were retrieved from the queue within the time indicated by the QSVCINT parameter.

Note The value of this parameter can change implicitly. For more information, see the description of the Service Interval High and Service Interval OK events in Queue Service Interval High and Queue Service Interval OK.

Valid values are:

  • HIGH Service Interval High events are generated
  • OK Service Interval OK events are generated
  • NONE No service interval events are generated

Valid values are HIGH, OK, NONE.

Back to overview of mq_queue

qsvcint

The service interval used for comparison to generate Service Interval High and Service Interval OK events. This parameter is supported only on local and model queues and is ineffective if it is specified on a shared queue. See the QSVCIEV parameter. The value is in units of milliseconds, and must be in the range zero through 999999999.

Back to overview of mq_queue

qtype

The queue type to manage. Valid types are:

  • QALIAS
  • QLOCAL
  • QMODEL
  • QREMOTE

This is an immutable property. So you cannot change it. This is a puppet parameter and not a managed property. Therefor it is only used during creation of the resource. Changes to this parameter in your manifest, do NOT result in modifications on the system.

Valid values are QALIAS, QLOCAL, QMODEL, QREMOTE.

Back to overview of mq_queue

queue

The name of the queue.

This is a puppet parameter and not a managed property. Therefor it is only used during creation of the resource. Changes to this parameter in your manifest, do NOT result in modifications on the system.

Back to overview of mq_queue

retintvl

The number of hours from when the queue was defined, after which the queue is no longer needed. The value must be in the range 0 - 999,999,999. This parameter is supported only on local and model queues. The CRDATE and CRTIME can be displayed using the DISPLAY QUEUE command. This information is available for use by an operator or a housekeeping application to delete queues that are no longer required. Note The queue manager does not delete queues based on this value, nor does it prevent queues from being deleted if their retention interval is not expired. It is the responsibility of the user to take any required action.

Back to overview of mq_queue

rname

Name of remote queue. This parameter is the local name of the queue as defined on the queue manager specified by RQMNAME. This parameter is supported only on remote queues.

  • If this definition is used for a local definition of a remote queue, RNAME must not be blank when the open occurs.
  • If this definition is used for a queue manager alias definition, RNAME must be blank when the open occurs.
  • In a queue manager cluster, this definition applies only to the queue manager that made it. To advertise the alias to the whole cluster, add the CLUSTER attribute to the remote queue definition.

If this definition is used for a reply-to queue alias, this name is the name of the queue that is to be the reply-to queue. The name is not checked to ensure that it contains only those characters normally allowed for queue names; see Rules for naming IBM MQ objects.

Back to overview of mq_queue

rqmname

The name of the remote queue manager on which the queue RNAME is defined. This parameter is supported only on remote queues.

  • If an application opens the local definition of a remote queue, RQMNAME must not be blank or the name of the local queue manager. When the open occurs, if XMITQ is blank there must be a local queue of this name, which is to be used as the transmission queue.
  • If this definition is used for a queue manager alias, RQMNAME is the name of the queue manager that is being aliased. It can be the name of the local queue manager. Otherwise, if XMITQ is blank, when the open occurs there must be a local queue of this name, which is to be used as the transmission queue.
  • If RQMNAME is used for a reply-to queue alias, RQMNAME is the name of the queue manager that is to be the reply-to queue manager.

The name is not checked to ensure that it contains only those characters normally allowed for IBM MQ object names; see Rules for naming IBM MQ objects.

Back to overview of mq_queue

scope

Specifies the scope of the queue definition. This parameter is supported only on alias, local, and remote queues. Valid values are:

  • QMGR The queue definition has queue manager scope. This means that the definition of the queue does not extend beyond the queue manager that owns it. You can open a queue for output that is owned by another queue manager in either of two ways:
    1. Specify the name of the owning queue manager.
    2. Open a local definition of the queue on the other queue manager.
  • CELL The queue definition has cell scope. Cell scope means that the queue is known to all the queue managers in the cell. A queue with cell scope can be opened for output merely by specifying the name of the queue. The name of the queue manager that owns the queue need not be specified. If there is already a queue with the same name in the cell directory, the command fails. The REPLACE option does not affect this situation. This value is valid only if a name service supporting a cell directory is configured.

Restriction The DCE name service is no longer supported. This parameter is valid only on UNIX and Linux systems, and Windows.

Valid values are QMGR, CELL.

Back to overview of mq_queue

share

Specifies whether multiple applications can get messages from this queue. This parameter is supported only on local and model queues. Valid values are:

  • SHARE More than one application instance can get messages from the queue.
  • NOSHARE Only a single application instance can get messages from the queue.

Valid values are SHARE, NOSHARE.

Back to overview of mq_queue

statq

Specifies whether statistics data collection is enabled. Valid values are:

  • QMGR Statistics data collection is based on the setting of the STATQ parameter of the queue manager.
  • ON If the value of the STATQ parameter of the queue manager is not NONE, statistics data collection for the queue is enabled.
  • OFF Statistics data collection for the queue is disabled.

If this parameter is used in an ALTER queue command, the change is effective only for connections to the queue manager made after the change to the parameter. This parameter is valid only on IBM i, UNIX and Linux systems, and Windows.

Valid values are QMGR, OFF, ON.

Back to overview of mq_queue

target

The name of the queue or topic object being aliased; See Rules for naming IBM MQ objects. The object can be a queue or a topic as defined by TARGTYPE. The maximum length is 48 characters. This parameter is supported only on alias queues. This object needs to be defined only when an application process opens the alias queue. This parameter is a synonym of the parameter TARGQ ; TARGQ is retained for compatibility. If you specify TARGET, you cannot also specify TARGQ.

Back to overview of mq_queue

targq

The name of the queue or topic object being aliased; See Rules for naming IBM MQ objects. The object can be a queue or a topic as defined by TARGTYPE. The maximum length is 48 characters. This parameter is supported only on alias queues. This object needs to be defined only when an application process opens the alias queue. This parameter is a synonym of the parameter TARGQ ; TARGQ is retained for compatibility. If you specify TARGET, you cannot also specify TARGQ.

Back to overview of mq_queue

targtype

The type of object to which the alias resolves. Valid values are:

  • QUEUE The alias resolves to a queue.
  • TOPIC The alias resolves to a topic.

Valid values are QUEUE, TOPIC.

Back to overview of mq_queue

trigdata

The data that is inserted in the trigger message. The maximum length of the string is 64 bytes. This parameter is supported only on local and model queues. For a transmission queue on AIX, HP-UX, IBM i, Linux, Solaris, and Windows[z/OS], and z/OS, you can use this parameter to specify the name of the channel to be started. This parameter can also be changed using the MQSET API call.

Back to overview of mq_queue

trigdpth

The number of messages that have to be on the queue before a trigger message is written, if TRIGTYPE is DEPTH. The value must be in the range 1 - 999,999,999. This parameter is supported only on local and model queues. This parameter can also be changed using the MQSET API call.

Back to overview of mq_queue

trigger

Specifies whether trigger messages are written to the initiation queue, named by the INITQ parameter, to trigger the application, named by the PROCESS parameter. Valid values are:

  • TRIGGER Triggering is active, and trigger messages are written to the initiation queue.
  • NOTRIGGER Triggering is not active, and trigger messages are not written to the initiation queue.

This parameter is supported only on local and model queues. This parameter can also be changed using the MQSET API call.

Valid values are TRIGGER, NOTRIGGER.

Back to overview of mq_queue

trigmpri

The message priority number that triggers this queue. The value must be in the range zero through to the MAXPRTY queue manager parameter; see DISPLAY QMGR for details. This parameter can also be changed using the MQSET API call.

Back to overview of mq_queue

trigtype

Specifies whether and under what conditions a trigger message is written to the initiation queue. The initiation queue is (named by the INITQ parameter. This parameter is supported only on local and model queues. Valid values are:

  • FIRST Whenever the first message of priority equal to or greater than the priority specified by the TRIGMPRI parameter of the queue arrives on the queue.
  • EVERY Every time a message arrives on the queue with priority equal to or greater than the priority specified by the TRIGMPRI parameter of the queue.
  • DEPTH When the number of messages with priority equal to or greater than the priority specified by TRIGMPRI is equal to the number indicated by the TRIGDPTH parameter.
  • NONE No trigger messages are written.

This parameter can also be changed using the MQSET API call.

Valid values are FIRST, EVERY, DEPTH, NONE.

Back to overview of mq_queue

usage

Queue usage. This parameter is supported only on local and model queues. Valid values are:

  • NORMAL The queue is not a transmission queue.
  • XMITQ The queue is a transmission queue, which is used to hold messages that are destined for a remote queue manager. When an application puts a message to a remote queue, the message is stored on the appropriate transmission queue. It stays there, awaiting transmission to the remote queue manager. If you specify this option, do not specify values for CLUSTER and CLUSNL. [z/OS]Additionally, on z/OS, do not specify INDXTYPE ( MSGTOKEN ) or INDXTYPE ( GROUPID ).

Valid values are NORMAL, XMITQ.

Back to overview of mq_queue

xmitq

The name of the transmission queue to be used for forwarding messages to the remote queue. XMITQ is used with either remote queue or queue manager alias definitions. This parameter is supported only on remote queues. If XMITQ is blank, a queue with the same name as RQMNAME is used as the transmission queue. This parameter is ignored if the definition is being used as a queue manager alias and RQMNAME is the name of the local queue manager. It is also ignored if the definition is used as a reply-to queue alias definition.

Back to overview of mq_queue