Version 4.0
For Cloud Cruiser 4.0, this XML schema describes user and user group objects.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.cloudcruiser.com/webservices/v2/User" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.cloudcruiser.com/webservices/v2/User">
<xs:element name="updateInput">
<xs:complexType>
<xs:sequence>
<xs:element name="action" type="tns:UpdateAction"/>
<xs:element minOccurs="0" name="targetGroup" type="tns:UserGroupItem"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="user" type="tns:UserItem"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="userGroup" type="tns:UserGroupItem"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="updateResult">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="updatedUsers">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="userName" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="updatedUserGroups">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="groupName" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="user">
<xs:complexType>
<xs:sequence>
<xs:element name="userName" type="xs:string"/>
<xs:element minOccurs="0" name="password" type="xs:string"/>
<xs:element minOccurs="0" name="fullUserName" type="xs:string"/>
<xs:element minOccurs="0" name="domainUsername" type="xs:string"/>
<xs:element name="userGroup" type="tns:UserGroupItem"/>
<xs:element minOccurs="0" name="emailAddress" type="xs:string"/>
<xs:element default="true" name="enabled" type="xs:boolean"/>
<xs:element default="true" name="nativeCCUser" type="xs:boolean"/>
<xs:element maxOccurs="unbounded" name="role" type="tns:Role"/>
<xs:element minOccurs="0" name="userflag1" type="xs:string"/>
<xs:element minOccurs="0" name="userflag2" type="xs:string"/>
</xs:sequence>
<xs:attribute name="id" type="xs:int"/>
</xs:complexType>
</xs:element>
<xs:element name="userGroup">
<xs:complexType>
<xs:sequence>
<xs:element name="groupName" type="xs:string"/>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element maxOccurs="unbounded" name="accountStructure" type="tns:AccountStructure"/>
<xs:element default="true" name="allowAllAccounts" type="xs:boolean"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="allowedAccountId" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="user" type="tns:UserItem"/>
</xs:sequence>
<xs:attribute name="id" type="xs:int"/>
</xs:complexType>
</xs:element>
<xs:element name="users">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="userGroup">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="user" type="tns:UserItem"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="id" type="xs:int"/>
<xs:attribute name="totalUsers" type="xs:int"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="totalGroups" type="xs:int"/>
<xs:attribute name="retrievedGroups" type="xs:int"/>
<xs:attribute name="startFrom" type="xs:int"/>
</xs:complexType>
</xs:element>
<xs:complexType name="UserGroupItem">
<xs:sequence/>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="id" type="xs:int"/>
</xs:complexType>
<xs:complexType name="UserItem">
<xs:sequence/>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="id" type="xs:int"/>
<xs:attribute name="enabled" type="xs:boolean"/>
</xs:complexType>
<xs:complexType name="Role">
<xs:sequence>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="id" type="xs:int"/>
</xs:complexType>
<xs:complexType name="AccountStructure">
<xs:sequence/>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="groupDefault" type="xs:boolean"/>
<xs:attribute name="id" type="xs:int"/>
</xs:complexType>
<xs:simpleType name="UpdateAction">
<xs:restriction base="xs:string">
<xs:enumeration value="ACTIVATE"/>
<xs:enumeration value="DEACTIVATE"/>
<xs:enumeration value="DELETE"/>
<xs:enumeration value="MOVE"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
Version 4.1 and later
For Cloud Cruiser 4.1 and later, this XML schema describes user and user group objects.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.cloudcruiser.com/webservices/v2/User" attributeFormDefault="unqualified" elementFormDefault="qualified"targetNamespace="http://www.cloudcruiser.com/webservices/v2/User">
<xs:import/>
<xs:element name="user" type="tns:User"/>
<xs:element name="userGroup" type="tns:UserGroup"/>
<xs:element name="userGroupList">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:userGroup"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="userList">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:user"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="userSummaryList" type="tns:UserSummaryList"/>
<xs:complexType name="User">
<xs:sequence>
<xs:element name="userName" type="xs:string"/>
<xs:element minOccurs="0" name="password" type="xs:string"/>
<xs:element default="true" name="active" type="xs:boolean"/>
<xs:element name="userGroup">
<xs:complexType>
<xs:sequence/>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="id" type="xs:int"/>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="fullName" type="xs:string"/>
<xs:element minOccurs="0" name="domainName" type="xs:string"/>
<xs:element minOccurs="0" name="emailAddress" type="xs:string"/>
<xs:element default="true" name="nativeCCUser" type="xs:boolean"/>
<xs:element name="roles">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="role" type="tns:Role"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="userflag1" type="xs:string"/>
<xs:element minOccurs="0" name="userflag2" type="xs:string"/>
</xs:sequence>
<xs:attribute name="id" type="xs:int"/>
</xs:complexType>
<xs:complexType name="Role">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="type" type="xs:string"/>
<xs:element minOccurs="0" name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="UserGroup">
<xs:sequence>
<xs:element name="groupName" type="xs:string"/>
<xs:element minOccurs="0" name="title" type="xs:string"/>
<xs:element maxOccurs="unbounded" name="accountView" type="tns:AccountView"/>
<xs:element default="true" name="allAccounts" type="xs:boolean"/>
<xs:element minOccurs="0" name="allowedAccounts">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="accountid" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="users">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="user" type="tns:UserSummary"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:int"/>
</xs:complexType>
<xs:complexType name="AccountView">
<xs:sequence/>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="groupDefault" type="xs:boolean"/>
</xs:complexType>
<xs:complexType name="UserSummary">
<xs:sequence/>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="id" type="xs:int"/>
<xs:attribute name="active" type="xs:boolean"/>
</xs:complexType>
<xs:complexType name="UserSummaryList">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="userGroup" type="tns:UserGroupSummary"/>
</xs:sequence>
<xs:attribute name="totalGroups" type="xs:int"/>
<xs:attribute name="retrievedGroups" type="xs:int"/>
</xs:complexType>
<xs:complexType name="UserGroupSummary">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="user" type="tns:UserSummary"/>
</xs:sequence>
<xs:attribute name="id" type="xs:int"/>
<xs:attribute name="totalUsers" type="xs:int"/>
</xs:complexType>
</xs:schema>