ltm rule command MQTT replaceΒΆ

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



MQTT::replace
       Replace MQTT message

SYNOPSIS
       MQTT::replace ( (('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 replace current MQTT 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::replace 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::replace 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::replace 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::replace type PUBACK  packet_id  MQTT::replace
       type PUBREC  packet_id  MQTT::replace type PUBREL
       packet_id  MQTT::replace 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::replace 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::replace 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.
	     For return_code_list, each number in the list must be smaller
       than 256. Valid values are:
	     0	   : Success - Maximum QoS 0.
	     1	   : Success - Maximum QoS 1.
	     2	   : Success - Maximum QoS 2.
	     128   : Failure
	     Other : Reserved for future use.

       MQTT::replace 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::replace type UNSUBACK packet_id 
	   * For UNSUBACK, packet_id is required parameter.

       MQTT::replace type PINGREQ
	   * For PINGREQ should be used with no parameter.

       MQTT::replace type PINGRESP
	   * For PINGRESP should be used with no parameter.

       MQTT::replace 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)