ltm rule command MQTT insertΒΆ

iRule(1)		      BIG-IP TMSH Manual		      iRule(1)



MQTT::insert
       Insert an MQTT message

SYNOPSIS
       MQTT::insert (('before' | 'after') (
			       (('type' 'CONNECT') ('client_id' NAME)
						   ('keep_alive' KEEP_ALIVE)?
						   ('clean_session' BOOLEAN)?
						   ('protocol_name' NAME)?
						   ('protocol_version'
       VERSION)?
						   ('username' NAME)?
						   ('password' PASSWORD)?
						   ('will_topic' TOPIC)?
						   ('will_message' CONTENT)?
						   ('will_qos' ('0' | '1' |
       '2'))?
						   ('will_retain' BOOLEAN)?) |
			       (('type' 'CONNACK') ('return_code' RETURN_CODE)
						   ('session_present'
       BOOLEAN)?) |
			       (('type' 'PUBLISH') ('topic' TOPIC) ('payload'
       CONTENT)
						   (('qos' '0') | (('qos' ('1'
       | '2')) ('packet_id' PACKETID)))?
						   ('dup' BOOLEAN)?
						   ('retain' BOOLEAN)?) |
			       (('type' ('PUBACK' | 'PUBREC' | 'PUBREL' |
       'PUBCOMP')) ('packet_id' PACKETID)) |
			       (('type' 'SUBSCRIBE') ('packet_id' PACKETID)
						   ('topic_list'  (TOPIC ('0'
       | '1' | '2'))+)?) |
			       (('type' 'SUBACK') ('packet_id' PACKETID)
       ('return_code_list' (RETURN_CODE)+)) |
			       (('type' 'UNSUBSCRIBE') ('packet_id' PACKETID)
       ('topic_list' (TOPIC ('0' | '1' | '2'))+)) |
			       (('type' 'UNSUBACK') ('packet_id' PACKETID)) |
			       (('type' ('PINGREQ' | 'PINGRESP' |
       'DISCONNECT')))
			      ))

DESCRIPTION
       This command can be used to insert an MQTT message before or after
       current message.  This command is valid for all MQTT message types:

	   CONNECT, CONNACK,
	   PUBLISH, PUBACK, PUBREC, PUBREL, PUBCOMP,
	   SUBSCRIBE, SUBACK,
	   UNSUBSCRIBE, UNSUBACK,
	   PINGREQ, PINGRESP,
	   DISCONNECT

       Syntax

       MQTT::insert (before | after) type CONNECT client_id 
				     [keep_alive ]
       [clean_session (0 | 1)]
				     [protocol_name ]
       [protocol_version ]
				     [username ] [password
       ]
				     [will_topic ] [will_message
       ]
				     [will_qos (0 | 1 |2)] [will_retain (0 |
       1)]
	   * The client_id is required parameter.
	     keep_alive  must be smaller than 65536.
	     Default values for optional parameters are:
	       keep_alive	    -: 60 seconds.
	       clean_session	   -: 1
	       protocol_name	   -: MQTT
	       protocol_version    -: 4
	       username 	   -: ""
	       password 	   -: ""
	       will_topic	   -: ""
	       will_message	   -: ""
	       will_qos 	   -: 0
	       will_retain	   -: 0

       MQTT::insert (before | after) type CONNACK return_code 
				     [ session_present 
       ]

	   * The  values must be set to one of the following:.
		   0 - Connection Accepted.
		   1 - Connection Refused, unacceptable protocol version.
		   2 - Connection Refused, identifier rejected.
		   3 - Connection Refused, Server unavailable.
		   4 - Connection Refused, bad username or password.
		   5 - Connection Refused, not authorized.
	     The  can be set to 0 or 1. The default value is 0.

       MQTT::insert (before | after) type PUBLISH topic  payload
       
				     [{qos 0} | {qos (1 | 2) packet_id
       } ]
				     [dup (0 | 1)]
				     [retain (0 | 1)]

	   * For PUBLISH, the topic and payload are required parameters. If qos is 1 or 2, then packet_id must also be specified.
	      must be smaller than 65536.
	     Default values for optional parameters are:
		   qos	       -: 0
		   dup	       -: 0
		   retain      -: 0

       MQTT::insert (before | after) type PUBACK  packet_id 
       MQTT::insert (before | after) type PUBREC  packet_id 
       MQTT::insert (before | after) type PUBREL  packet_id 
       MQTT::insert (before | after) type PUBCOMP packet_id 
	   * For PUBACK, PUBREC, PUBREL, and PUBCOMP, packet_id is a required
       parameter. No other parameter should be specified.
	      must be smaller than 65536.

       MQTT::insert (before | after) type SUBSCRIBE packet_id
        topic_list { }+
	   * For SUBSCRIBE, packet_id and topic_list are required parameters.
       No other parameter should be specified.
	      must be smaller than 65536.  can only be
       0,1, or 2.

       MQTT::insert (before | after) type SUBACK packet_id 
       return_code_list {}+
	   * For SUBACK, packet_id and return_code_list are required
       parameters. No other parameter should be specified.
	      must be smaller than 65536.

       MQTT::insert (before | after) type UNSUBSCRIBE packet_id
        topic_list { }+
	   * For UNSUBSCRIBE, packet_id and topic_list are required
       parameters. No other parameter should be specified.
	     Please note that  values will be ignored. It is required to
       make format of topic_list same between SUBSCRIBE and UNSUBSCRIBE.
	     UNSUBSCRIBE does not need the qos.

       MQTT::insert (before | after) type UNSUBACK packet_id
       
	   * For UNSUBACK, packet_id is required parameter.

       MQTT::insert (before | after) type PINGREQ
	   * For PINGREQ should be used with no parameter.

       MQTT::insert (before | after) type PINGRESP
	   * For PINGRESP should be used with no parameter.

       MQTT::insert (before | after) type DISCONNECT
	   * For DISCONNECT should be used with no parameter.

RETURN VALUE
       None.

VALID DURING
       MQTT_CLIENT_INGRESS MQTT_SERVER_INGRESS MQTT_CLIENT_DATA
       MQTT_SERVER_DATA

EXAMPLES
HINTS
SEE ALSO
CHANGE LOG
       @BIGIP-13.0.0 --First introduced the command.



BIG-IP				  2017-01-31			      iRule(1)