Microsoft.EnterpriseManagement.SystemCenter.SubscriptionType (SchemaType)

Element properties:

AccessibilityPublic
CommentSchema for Subscriptions

Source Code:

<SchemaType ID="Microsoft.EnterpriseManagement.SystemCenter.SubscriptionType" Comment="Schema for Subscriptions" Accessibility="Public">
<xsd:complexType name="SubscriptionType">
<xsd:sequence>
<xsd:choice minOccurs="0" maxOccurs="1">
<xsd:element name="InstanceOperation">
<xsd:complexType>
<xsd:sequence>
<xsd:choice>
<xsd:element name="AddInstance" type="AddInstanceType"/>
<xsd:element name="DeleteInstance" type="DeleteInstanceType"/>
<xsd:element name="UpdateInstance" type="UpdateInstanceType"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="typeName" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="RelationshipOperation">
<xsd:complexType>
<xsd:sequence>
<xsd:choice>
<xsd:element name="AddRelationship" type="AddRelationshipType"/>
<xsd:element name="DeleteRelationship" type="DeleteRelationshipType"/>
<xsd:element name="UpdateRelationship" type="UpdateRelationshipType"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="relationshipName" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="TypeOperation">
<xsd:complexType>
<xsd:sequence>
<xsd:choice>
<xsd:element name="AddType" type="AddTypeType"/>
<xsd:element name="DeleteType" type="DeleteTypeType"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="typeName" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:choice>
<xsd:choice>
<!--xsd:element name="TriggerEvent" type="TriggerEvent" /-->
<xsd:element name="ExecuteWorkflow" type="ExecuteWorkflowType"/>
<xsd:element name="QueueWorkflow" type="QueueWorkflowType" maxOccurs="unbounded"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PropertyCollectionType">
<xsd:sequence>
<xsd:element name="Property" minOccurs="1" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence/>
<xsd:attribute name="name" type="NonEmptyString" use="required"/>
<xsd:attribute name="previousValue" type="xsd:string" use="optional"/>
<xsd:attribute name="newValue" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<!-- Operations -->
<xsd:complexType name="OperationType" abstract="true"/>
<xsd:complexType name="AddInstanceType">
<xsd:complexContent>
<xsd:extension base="OperationType">
<xsd:sequence>
<xsd:element name="PropertyCollection" type="PropertyCollectionType" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="DeleteInstanceType">
<xsd:complexContent>
<xsd:extension base="OperationType">
<xsd:sequence>
<xsd:element name="PropertyCollection" type="PropertyCollectionType" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="UpdateInstanceType">
<xsd:complexContent>
<xsd:extension base="OperationType">
<xsd:sequence>
<xsd:element name="PropertyCollection" type="PropertyCollectionType" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="AddRelationshipType">
<xsd:complexContent>
<xsd:extension base="OperationType"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="DeleteRelationshipType">
<xsd:complexContent>
<xsd:extension base="OperationType"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="UpdateRelationshipType">
<xsd:complexContent>
<xsd:extension base="OperationType">
<xsd:sequence>
<xsd:element name="PropertyCollection" type="PropertyCollectionType" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="AddTypeType">
<xsd:complexContent>
<xsd:extension base="OperationType"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="DeleteTypeType">
<xsd:complexContent>
<xsd:extension base="OperationType"/>
</xsd:complexContent>
</xsd:complexType>
<!-- Actions -->
<xsd:complexType name="ActionType" abstract="true"/>
<xsd:complexType name="TriggerEventType">
<xsd:complexContent>
<xsd:extension base="ActionType"/>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ExecuteWorkflowType">
<xsd:complexContent>
<xsd:extension base="ActionType">
<xsd:sequence>
<xsd:element name="WorkflowConfiguration" type="WorkflowConfigurationType" minOccurs="1" maxOccurs="1"/>
<xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="QueueWorkflowType">
<xsd:complexContent>
<xsd:extension base="ActionType">
<xsd:sequence>
<xsd:element name="WorkflowConfiguration" type="WorkflowConfigurationType" minOccurs="1" maxOccurs="1"/>
<xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="queueName" type="NonEmptyString" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<!-- Workflow Message -->
<xsd:complexType name="WorkflowConfigurationType">
<xsd:choice minOccurs="1" maxOccurs="1">
<xsd:element name="ExecutionAction" type="ExecutionActionType" minOccurs="1" maxOccurs="1"/>
<xsd:element name="NotifyAction" type="NotifyActionType" minOccurs="1" maxOccurs="1"/>
<xsd:element name="TerminateAction" type="TerminateActionType" minOccurs="1" maxOccurs="1"/>
<xsd:element name="DrainAction" type="DrainActionType" minOccurs="1" maxOccurs="1"/>
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="ExecutionActionType" mixed="false" abstract="false">
<xsd:sequence>
<!--<xsd:element name="TrustedWorkflow" type="xsd:boolean" />-->
<xsd:element name="CategoryName" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="WorkflowInstanceName" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="SequenceId" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="ClassFriendlyName" type="xsd:string"/>
<xsd:element name="ClassFullName" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="AssemblyFriendlyName" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="AssemblyFullName" type="xsd:string"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="Parameter">
<xsd:complexType>
<xsd:attribute name="key" type="xsd:string" use="required"/>
<xsd:attribute name="value" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="RetryConditions" minOccurs="0" maxOccurs="1">
<xsd:complexType>
<xsd:sequence>
<!--Type full name of the exceptions when countered the workflow wants to be re-executed. Leave this
empty to be re-run on all exceptions-->
<xsd:element name="ExceptionTypeFullName" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<!--Add max of 25 for this and also see if we can validate the value ie no junk string.-->
<xsd:attribute name="MaxRuns" type="xsd:int"/>
<!--A value of 1-60 minutes. This is the minimum interval between each run of the workflow.-->
<xsd:attribute name="RunInterval" type="xsd:int"/>
<!--True/False whether the retry conditions for this workflow is active or not-->
<xsd:attribute name="Active" type="xsd:boolean"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="NotifyActionType" mixed="false" abstract="false">
<xsd:sequence>
<xsd:element name="ClassName" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="AssemblyFullName" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="TypeName" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="OperationType" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="User" minOccurs="1" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<!--TODO-->
<!--<xsd:element ref="UserRef"/>-->
<xsd:element name="FieldName" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TerminateActionType" mixed="false" abstract="false">
<xsd:sequence>
<xsd:element name="WorkflowInstanceId" type="xsd:string" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="DrainActionType" mixed="false" abstract="false">
<xsd:sequence>
<xsd:element name="Message" type="xsd:string" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<!-- others -->
<xsd:simpleType name="NonEmptyString">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
</xsd:restriction>
</xsd:simpleType>
</SchemaType>