<?xml version="1.0" ?>
<!--
Copyright (c) 1996-2016, F5 Networks, Inc., Seattle, Washington. All rights reserved.  

F5, F5 Networks, the F5 logo, BIG-IP, 3-DNS, iControl, GLOBAL-SITE, SEE-IT, EDGE-FX, FireGuard, Internet Control Architecture, IP Application Switch, iRules, PACKET VELOCITY, SYN Check, CONTROL YOUR WORLD, OneConnect, ZoneRunner, uRoam, FirePass, and TrafficShield are registered trademarks or trademarks of F5 Networks, Inc., in the U.S. and certain other countries. 

All other trademarks mentioned in this document are the property of their respective owners. F5 Networks' trademarks may not be used in connection with any product or service except as permitted in writing by F5.

-->
<definitions name="Classification.SignatureDefinition"
	targetNamespace="urn:iControl"
	xmlns:tns="urn:iControl"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
	xmlns="http://schemas.xmlsoap.org/wsdl/">

<!-- types -->

<types>
	<xsd:schema targetNamespace='urn:iControl'
		xmlns='http://www.w3.org/2001/XMLSchema'
		xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/'
		xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'>
		<xsd:complexType name="Common.TimeStampSequence">
			<xsd:complexContent>
				<xsd:restriction base='SOAP-ENC:Array'>
					<xsd:attribute ref='SOAP-ENC:arrayType' wsdl:arrayType='tns:Common.TimeStamp[]'/>
				</xsd:restriction>
			</xsd:complexContent>
		</xsd:complexType>
		<xsd:simpleType name="Common.EnabledState">
			<xsd:restriction base="xsd:string">
				<xsd:enumeration value="STATE_DISABLED">
					<xsd:annotation>
						<xsd:documentation>STATE_DISABLED</xsd:documentation>
					</xsd:annotation>
				</xsd:enumeration>
				<xsd:enumeration value="STATE_ENABLED">
					<xsd:annotation>
						<xsd:documentation>STATE_ENABLED</xsd:documentation>
					</xsd:annotation>
				</xsd:enumeration>
			</xsd:restriction>
		</xsd:simpleType>
		<xsd:complexType name="Common.TimeStamp">
			<xsd:sequence>
				<xsd:element name="year" type="xsd:long"/>
				<xsd:element name="month" type="xsd:long"/>
				<xsd:element name="day" type="xsd:long"/>
				<xsd:element name="hour" type="xsd:long"/>
				<xsd:element name="minute" type="xsd:long"/>
				<xsd:element name="second" type="xsd:long"/>
			</xsd:sequence>
		</xsd:complexType>
		<xsd:complexType name="Common.StringSequence">
			<xsd:complexContent>
				<xsd:restriction base='SOAP-ENC:Array'>
					<xsd:attribute ref='SOAP-ENC:arrayType' wsdl:arrayType='xsd:string[]'/>
				</xsd:restriction>
			</xsd:complexContent>
		</xsd:complexType>
		<xsd:complexType name="Classification.SignatureUpdateProgressStatusSequence">
			<xsd:complexContent>
				<xsd:restriction base='SOAP-ENC:Array'>
					<xsd:attribute ref='SOAP-ENC:arrayType' wsdl:arrayType='tns:Classification.SignatureUpdateProgressStatus[]'/>
				</xsd:restriction>
			</xsd:complexContent>
		</xsd:complexType>
		<xsd:simpleType name="Classification.SignatureUpdateProgressStatus">
			<xsd:restriction base="xsd:string">
				<xsd:enumeration value="SIGNATURE_UPDATE_STATUS_UNKNOWN">
					<xsd:annotation>
						<xsd:documentation>SIGNATURE_UPDATE_STATUS_UNKNOWN</xsd:documentation>
					</xsd:annotation>
				</xsd:enumeration>
				<xsd:enumeration value="SIGNATURE_UPDATE_STATUS_NONE">
					<xsd:annotation>
						<xsd:documentation>SIGNATURE_UPDATE_STATUS_NONE</xsd:documentation>
					</xsd:annotation>
				</xsd:enumeration>
				<xsd:enumeration value="SIGNATURE_UPDATE_STATUS_SUCCESS">
					<xsd:annotation>
						<xsd:documentation>SIGNATURE_UPDATE_STATUS_SUCCESS</xsd:documentation>
					</xsd:annotation>
				</xsd:enumeration>
				<xsd:enumeration value="SIGNATURE_UPDATE_STATUS_FAILURE">
					<xsd:annotation>
						<xsd:documentation>SIGNATURE_UPDATE_STATUS_FAILURE</xsd:documentation>
					</xsd:annotation>
				</xsd:enumeration>
				<xsd:enumeration value="SIGNATURE_UPDATE_STATUS_IN_PROGRESS">
					<xsd:annotation>
						<xsd:documentation>SIGNATURE_UPDATE_STATUS_IN_PROGRESS</xsd:documentation>
					</xsd:annotation>
				</xsd:enumeration>
			</xsd:restriction>
		</xsd:simpleType>
		<xsd:complexType name="Common.EnabledStateSequence">
			<xsd:complexContent>
				<xsd:restriction base='SOAP-ENC:Array'>
					<xsd:attribute ref='SOAP-ENC:arrayType' wsdl:arrayType='tns:Common.EnabledState[]'/>
				</xsd:restriction>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:schema>
</types>

<!-- message -->

<message name="Classification.SignatureDefinition.get_listRequest">
</message>
<message name="Classification.SignatureDefinition.get_listResponse">
	<part name="return" type="tns:Common.StringSequence"/>
</message>

<message name="Classification.SignatureDefinition.get_last_attempt_automatic_mode_stateRequest">
	<part name="definitions" type="tns:Common.StringSequence"/>
</message>
<message name="Classification.SignatureDefinition.get_last_attempt_automatic_mode_stateResponse">
	<part name="return" type="tns:Common.EnabledStateSequence"/>
</message>

<message name="Classification.SignatureDefinition.get_last_attempt_timeRequest">
	<part name="definitions" type="tns:Common.StringSequence"/>
</message>
<message name="Classification.SignatureDefinition.get_last_attempt_timeResponse">
	<part name="return" type="tns:Common.TimeStampSequence"/>
</message>

<message name="Classification.SignatureDefinition.get_last_attempt_userRequest">
	<part name="definitions" type="tns:Common.StringSequence"/>
</message>
<message name="Classification.SignatureDefinition.get_last_attempt_userResponse">
	<part name="return" type="tns:Common.StringSequence"/>
</message>

<message name="Classification.SignatureDefinition.get_last_update_automatic_mode_stateRequest">
	<part name="definitions" type="tns:Common.StringSequence"/>
</message>
<message name="Classification.SignatureDefinition.get_last_update_automatic_mode_stateResponse">
	<part name="return" type="tns:Common.EnabledStateSequence"/>
</message>

<message name="Classification.SignatureDefinition.get_last_update_timeRequest">
	<part name="definitions" type="tns:Common.StringSequence"/>
</message>
<message name="Classification.SignatureDefinition.get_last_update_timeResponse">
	<part name="return" type="tns:Common.TimeStampSequence"/>
</message>

<message name="Classification.SignatureDefinition.get_last_update_userRequest">
	<part name="definitions" type="tns:Common.StringSequence"/>
</message>
<message name="Classification.SignatureDefinition.get_last_update_userResponse">
	<part name="return" type="tns:Common.StringSequence"/>
</message>

<message name="Classification.SignatureDefinition.get_messageRequest">
	<part name="definitions" type="tns:Common.StringSequence"/>
</message>
<message name="Classification.SignatureDefinition.get_messageResponse">
	<part name="return" type="tns:Common.StringSequence"/>
</message>

<message name="Classification.SignatureDefinition.get_progress_statusRequest">
	<part name="definitions" type="tns:Common.StringSequence"/>
</message>
<message name="Classification.SignatureDefinition.get_progress_statusResponse">
	<part name="return" type="tns:Classification.SignatureUpdateProgressStatusSequence"/>
</message>

<message name="Classification.SignatureDefinition.get_versionRequest">
</message>
<message name="Classification.SignatureDefinition.get_versionResponse">
	<part name="return" type="xsd:string"/>
</message>

<!-- portType -->

<portType name="Classification.SignatureDefinitionPortType">
	<operation name="get_list">
      	<documentation>
 Gets a list of all signature update definitions.

        	</documentation>
		<input message="tns:Classification.SignatureDefinition.get_listRequest"/>
		<output message="tns:Classification.SignatureDefinition.get_listResponse"/>
	</operation>
	<operation name="get_last_attempt_automatic_mode_state">
	<documentation>
 Gets the last attempt automatic mode states for the specified  
 signature definitions. This indicates whether the last 
 attempt to update the signature file was done manually or 
 automatically by the system. An enabled value indicates the 
 automatic update.

        	</documentation>
		<input message="tns:Classification.SignatureDefinition.get_last_attempt_automatic_mode_stateRequest"/>
		<output message="tns:Classification.SignatureDefinition.get_last_attempt_automatic_mode_stateResponse"/>
	</operation>
	<operation name="get_last_attempt_time">
	<documentation>
 Gets the last attempt timestamps for the specified signature  
 update definitions. This indicates the date and time of the last 
 attempt to update the signature file.

        	</documentation>
		<input message="tns:Classification.SignatureDefinition.get_last_attempt_timeRequest"/>
		<output message="tns:Classification.SignatureDefinition.get_last_attempt_timeResponse"/>
	</operation>
	<operation name="get_last_attempt_user">
	<documentation>
 Gets the last attempt users for the specified signature update 
 definitions. This indicates the user who is the last one to attempt 
 to update the signature file.

        	</documentation>
		<input message="tns:Classification.SignatureDefinition.get_last_attempt_userRequest"/>
		<output message="tns:Classification.SignatureDefinition.get_last_attempt_userResponse"/>
	</operation>
	<operation name="get_last_update_automatic_mode_state">
	<documentation>
 Gets the last update automatic mode states for the specified  
 signature update definitions. This indicates whether the last 
 successful signature file update was done manually or 
 automatically by the system. An enabled value indicates the 
 automatic update. The value of the last update automatic mode may 
 be different from the value of the last attempt automatic mode if 
 the last update attempt fails.

        	</documentation>
		<input message="tns:Classification.SignatureDefinition.get_last_update_automatic_mode_stateRequest"/>
		<output message="tns:Classification.SignatureDefinition.get_last_update_automatic_mode_stateResponse"/>
	</operation>
	<operation name="get_last_update_time">
	<documentation>
 Gets the last update timestamps for the specified signature  
 update definitions. This indicates the date and time of the last 
 successful signature file update. The value of the 
 last update datetime is different from the value of the 
 last attempt datetime if the last update attempt fails.

        	</documentation>
		<input message="tns:Classification.SignatureDefinition.get_last_update_timeRequest"/>
		<output message="tns:Classification.SignatureDefinition.get_last_update_timeResponse"/>
	</operation>
	<operation name="get_last_update_user">
	<documentation>
 Gets the last update users for the specified signature update 
 definitions. This indicates the user who did the last successful 
 signature file update. The value of the last update user may be 
 different from the value of the last-attempt-user if the last 
 update attempt fails.

        	</documentation>
		<input message="tns:Classification.SignatureDefinition.get_last_update_userRequest"/>
		<output message="tns:Classification.SignatureDefinition.get_last_update_userResponse"/>
	</operation>
	<operation name="get_message">
	<documentation>
 Gets the messages for the specified signature update definitions.
 This indicates the error message when it fails to attempt to 
 update the signature file.

        	</documentation>
		<input message="tns:Classification.SignatureDefinition.get_messageRequest"/>
		<output message="tns:Classification.SignatureDefinition.get_messageResponse"/>
	</operation>
	<operation name="get_progress_status">
	<documentation>
 Gets the signature definition types for the specified  
 signature update definitions. This indicates the progress definition 
 when attempting to update the signature file. The options are 
 none, success, failure, and in-progress.

        	</documentation>
		<input message="tns:Classification.SignatureDefinition.get_progress_statusRequest"/>
		<output message="tns:Classification.SignatureDefinition.get_progress_statusResponse"/>
	</operation>
	<operation name="get_version">
	<documentation>
 Gets the version information for this interface.

        	</documentation>
		<input message="tns:Classification.SignatureDefinition.get_versionRequest"/>
		<output message="tns:Classification.SignatureDefinition.get_versionResponse"/>
	</operation>
</portType>

<!-- binding -->

<binding name="Classification.SignatureDefinitionBinding" type="tns:Classification.SignatureDefinitionPortType">
	<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
	<operation name="get_list">
	<documentation>
 Gets a list of all signature update definitions.

        	</documentation>
		<soap:operation soapAction="urn:iControl:Classification/SignatureDefinition"/>
		<input>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</input>
		<output>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</output>
	</operation>

	<operation name="get_last_attempt_automatic_mode_state">
	<documentation>
 Gets the last attempt automatic mode states for the specified  
 signature definitions. This indicates whether the last 
 attempt to update the signature file was done manually or 
 automatically by the system. An enabled value indicates the 
 automatic update.

        	</documentation>
		<soap:operation soapAction="urn:iControl:Classification/SignatureDefinition"/>
		<input>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</input>
		<output>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</output>
	</operation>

	<operation name="get_last_attempt_time">
	<documentation>
 Gets the last attempt timestamps for the specified signature  
 update definitions. This indicates the date and time of the last 
 attempt to update the signature file.

        	</documentation>
		<soap:operation soapAction="urn:iControl:Classification/SignatureDefinition"/>
		<input>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</input>
		<output>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</output>
	</operation>

	<operation name="get_last_attempt_user">
	<documentation>
 Gets the last attempt users for the specified signature update 
 definitions. This indicates the user who is the last one to attempt 
 to update the signature file.

        	</documentation>
		<soap:operation soapAction="urn:iControl:Classification/SignatureDefinition"/>
		<input>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</input>
		<output>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</output>
	</operation>

	<operation name="get_last_update_automatic_mode_state">
	<documentation>
 Gets the last update automatic mode states for the specified  
 signature update definitions. This indicates whether the last 
 successful signature file update was done manually or 
 automatically by the system. An enabled value indicates the 
 automatic update. The value of the last update automatic mode may 
 be different from the value of the last attempt automatic mode if 
 the last update attempt fails.

        	</documentation>
		<soap:operation soapAction="urn:iControl:Classification/SignatureDefinition"/>
		<input>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</input>
		<output>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</output>
	</operation>

	<operation name="get_last_update_time">
	<documentation>
 Gets the last update timestamps for the specified signature  
 update definitions. This indicates the date and time of the last 
 successful signature file update. The value of the 
 last update datetime is different from the value of the 
 last attempt datetime if the last update attempt fails.

        	</documentation>
		<soap:operation soapAction="urn:iControl:Classification/SignatureDefinition"/>
		<input>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</input>
		<output>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</output>
	</operation>

	<operation name="get_last_update_user">
	<documentation>
 Gets the last update users for the specified signature update 
 definitions. This indicates the user who did the last successful 
 signature file update. The value of the last update user may be 
 different from the value of the last-attempt-user if the last 
 update attempt fails.

        	</documentation>
		<soap:operation soapAction="urn:iControl:Classification/SignatureDefinition"/>
		<input>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</input>
		<output>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</output>
	</operation>

	<operation name="get_message">
	<documentation>
 Gets the messages for the specified signature update definitions.
 This indicates the error message when it fails to attempt to 
 update the signature file.

        	</documentation>
		<soap:operation soapAction="urn:iControl:Classification/SignatureDefinition"/>
		<input>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</input>
		<output>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</output>
	</operation>

	<operation name="get_progress_status">
	<documentation>
 Gets the signature definition types for the specified  
 signature update definitions. This indicates the progress definition 
 when attempting to update the signature file. The options are 
 none, success, failure, and in-progress.

        	</documentation>
		<soap:operation soapAction="urn:iControl:Classification/SignatureDefinition"/>
		<input>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</input>
		<output>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</output>
	</operation>

	<operation name="get_version">
	<documentation>
 Gets the version information for this interface.

        	</documentation>
		<soap:operation soapAction="urn:iControl:Classification/SignatureDefinition"/>
		<input>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</input>
		<output>
			<soap:body
				use="encoded"
				namespace="urn:iControl:Classification/SignatureDefinition"
				encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
		</output>
	</operation>
</binding>

<!-- service -->

<service name="Classification.SignatureDefinition">
	<documentation>
 The classification methods have some signatures, and these signatures 
 change with time. For example, the signatures to identify the Skype 
 traffic working now may not work later. Thus the classification   
 signatures need to be updated. This signature definition 
 interface enables you to check the status of the classification 
 signature updates.

 Please specify the following key in all methods in the interface: 
 '/Common/signature-definition'.

        	</documentation>
	<port name="Classification.SignatureDefinitionPort" binding="tns:Classification.SignatureDefinitionBinding">
		<soap:address location="https://url_to_service"/>
	</port>
</service>
</definitions>