Parallels Operations Automation 5.4



Similar documents
Parallels Operations Automation 5.5

Parallels Business Automation 5.5

Key-Systems Registrar Plug-in PBA Configuration Guide Revision 1.1

Provider's Guide to Integrating Parallels Presence Builder 12 with Parallels Automation

Parallels Operations Automation 5.0 Public API Reference

Parallels Plesk Control Panel

Legal and Copyright Notice

SWsoft, Inc. Plesk Firewall. Administrator's Guide

AuthorizeNet Plug-in Configuration Guide

SWsoft, Inc. Plesk File Server. Administrator's Guide. Plesk 7.5 Reloaded

SWsoft, Inc. Plesk VPN. Administrator's Guide. Plesk 7.5 Reloaded

Getting Started With Parallels Business Automation 4.4

Parallels Panel. Parallels Small Business Panel 10.2: User's Guide. Revision 1.0

Legal and Copyright Notice

How To Back Up Your Pplsk Data On A Pc Or Mac Or Mac With A Backup Utility (For A Premium) On A Computer Or Mac (For Free) On Your Pc Or Ipad Or Mac On A Mac Or Pc Or

Parallels Containers for Windows 6.0

Parallels Virtual Automation 6.1

Legal and Copyright Notice

OpenSRS SSL Certificate Plug-in

Parallels Plesk Control Panel. Plesk 8.3 for Windows Advanced Administration Guide. Revision 1.0

Domain Central Reseller Billing 4.2

Parallels Plesk Panel

Plesk 8.0 for Linux/UNIX Backup and Restore Utilities

SWsoft Plesk 8.3 for Linux/Unix Backup and Restore Utilities

Legal and Copyright Notice

Parallels Virtual Automation 6.0

Parallels Plesk Control Panel

Parallels Plesk Panel

Załącznik nr. 1. do Uchwały nr Rady Miejskiej w Strumieniu z dnia

Parallels Plesk Panel

Backup/Restore Utilities Guide

Plesk 8.3 for Linux/Unix Acronis True Image Server Module Administrator's Guide

APS Package Certification Guide

Plesk 8.3 for Linux/Unix System Monitoring Module Administrator's Guide

Parallels Plesk Panel

Counter-Strike Game Server Management Module

Patented hosting technology protected by U.S.Patents 7,0909,948; 7,076,633. Patents pending in the U.S.

Parallels Panel. Achieving PCI Compliance for Servers Managed by Parallels Small Business Panel Revision 1.0

Parallels Plesk Panel

Moving to Plesk Automation 11.5

Domain Central Reseller Billing 4.2

<?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:niso="

Plesk for Windows Copyright Notice

SWsoft Plesk 8.2 for Linux/Unix Backup and Restore Utilities. Administrator's Guide

SWsoft PEM 2.6. Provider's Guide. Revision (April 4, 2007)

Parallels Plesk Panel

EMC Data Domain Management Center

Preface 8. Typographical Conventions... 8 Feedback Operating Inside Parallels Containers 10. What s New in Parallels Plesk Panel 12

Parallels Plesk Panel

Device Feature Key Synchronization

Parallels Plesk Automation

Parallels Panel. Parallels Small Business Panel 10.2: Administrator's Guide. Revision 1.0

Parallels Plesk Panel

Preface 3. Typographical Conventions... 3 Feedback Securing Servers in Compliance with PCI Data Security Standard 5

Plesk for Windows Copyright Notice

Copyright Notice. Parallels IP Holdings GmbH Vordergasse 59 CH-Schaffhausen Switzerland Phone: Fax:

Parallels Plesk Panel

Preface 6. Typographical Conventions... 6 Feedback Operating Inside Parallels Containers 8. Becoming Familiar with Parallels Plesk Panel 10

Legal and Copyright Notice

Parallels Plesk Panel

Selling on Amazon Guide to XML

Parallels Virtuozzo Containers for Windows

Parallels Plesk Automation

Parallels Plesk Control Panel

POA 2.8 Hotfix 02 Release Notes

Setting Up and Managing Websites Using the Control Panel

Plesk 8.1 for Windows Counter-Strike Game Server

Parallels Pro Control Panel for Linux FTP Setup Guide

Plesk 8.3 for Linux/Unix User's Guide

About This Document 3. Integration and Automation Capabilities 4. Command-Line Interface (CLI) 8. API RPC Protocol 9.

Parallels Cloud Server 6.0

Plesk 7.6 For Windows User Guide


Preface 5. Typographical Conventions... 5 Feedback Overview of the Main Changes in the Panel 7

Parallels Virtuozzo Containers 4.6 for Windows

Kaseya Server Instal ation User Guide June 6, 2008

Parallels Virtuozzo Containers for Windows

EMC Data Protection Search

Parallels Virtuozzo Containers 4.6 for Windows

Admin Guide Virtual Private Server (VPS) MailStreet Hosting Control Panel (CP)

Copyright Notice. ISBN: N/A Parallels 660 SW 39th Street Suite 205 Renton, Washington USA Phone: +1 (425) Fax: +1 (425)

Parallels Plesk Automation Billing 11.5


Parallels Server Bare Metal 5.0

IBM Client Security Solutions. Client Security User's Guide

Omgeo OASYS Workstation Installation Guide. Version 6.4 December 13, 2011

Server Installation Guide ZENworks Patch Management 6.4 SP2

Parallels Plesk Panel

SysPatrol - Server Security Monitor

Allegato XML flusso richieste di produzione

Parallels Cloud Server 6.0

Parallels Plesk Panel. Parallels Plesk Panel 9.5 Client's Guide. Revision 1.1

Admin Guide Web Hosting (Windows Websites) MailStreet Hosting Control Panel (CP)

Authoring for System Center 2012 Operations Manager

Parallels Plesk Control Panel 8.4 for Linux/Unix Administrator's Guide

XML Based Customizable Screen. Rev 1.1


Acronis SharePoint Explorer. User Guide

Parallels Business Automation

Copyright Notice. Parallels IP Holdings GmbH Vordergasse 59 CH-Schaffhausen Switzerland Phone: Fax:

Transcription:

Parallels Operations Automation 5.4 Migration Manager Developer's Guide Revision 5.8 (May 15, 2012) Copyright 1999-2012 Parallels IP Holdings GmbH and its affiliates. All rights reserved.

Parallels IP Holdings GmbH c/o Parallels International GmbH Vordergasse 59 CH-Schaffhausen Switzerland Phone: +41-526320-411 Fax: +41-52672-2010 Copyright 1999-2012 Parallels IP Holdings GmbH and its affiliates. All rights reserved. Distribution of this work or derivative of this work in any form is prohibited unless prior written permission is obtained from the copyright holder. { Patented technology protected by U.S.Patents 7,328,225; 7,325,017; 7,293,033; 7,099,948; 7,076,633. Patents pending in the U.S.} Product and service names mentioned herein are the trademarks of their respective owners. Parallels Operations Automation is a registered trademark of Parallels.

Contents Preface... 6 Documentation Conventions... 6 Typographical Conventions...6 General Conventions...8 Feedback... 8 Introduction... 9 Definitions, Acronyms, and Abbreviations... 9 Acronyms and Abbreviations...9 Definitions... 10 References... 10 Objects... 11 Parallels Operations Automation... 12 Management Node... 12 Service Node... 12 Service Template... 12 Parallels Business Automation... 12 Service Plan... 12 Source System... 13 Source Server... 13 External Service Template... 13 Mapping External Service Template to Parallels Operations Automation Service Templates and/or Parallels Business Automation Service Plans... 13

Migration Agent... 14 Migration Manager... 14 Migration Flows... 18 Source Server Registration... 19 Accounts Verification... 19 Accounts and Subscriptions Migration... 20 Content Publishing (Migration)... 22 Verification Flow in Details... 22 System Requirements... 26 Migrated Objects in XML Form... 27 Common Types Used in XML Documents... 27 'ExtIdentifier' Data Type... 27 'EmailAddress' Data Type... 27 'DisableState' Attribute Group... 28 'Domains' Data Type... 28 'AccountType' Data Type... 29 'ServiceTemplates' Data Type... 30 'HostingSubscription', 'DomainRegSubscription' and 'ResourceSubscription' Data Types... 32 'AccountAttributes' Attribute Group... 34 'CompanyName' Data Type... 34 Source System (Platform) XML... 35 Root Element and XML Namespaces... 35 'Account' Element... 36 Account XML... 38 Root Element and XML Namespaces... 38 'Account' Element... 40 'ContactInfo' Data Type... 42 'Phone' Data Type... 43 'Address' Data Type... 44 'BillingInfo' Data Type... 45 'PaymentTools' Data Type... 45 'Members' Data Type... 48 'SubscriptionsEx' Data Type... 50 Services XML... 52 Root Element and XML Namespaces... 52

Hosted Service Users... 56 Domain Parking... 62 Microsoft IIS... 64 Microsoft Exchange... 81 DNS... 97 Databases... 101 Pure DSN... 107 Qmail... 110 Apache... 123 Migration Agents Development... 142 Overview... 142 Agents Manifest... 142 Root Element and XML Namespaces... 143 Agent's Features... 145 SSH Connection Settings... 145 Developing Agent for Linux-based Source System... 146 Overview... 146 Command Line Interface... 146 Developing Agent for Windows-based Source System... 147 Migration Framework Service Interface... 147 AgentModule Interface... 148 Linux-Based Hosting: List of Supported Features by Migration Manager... 149 Windows-Based Hosting: List of Supported Features by Migration Manager... 155 Deploying Migration Framework... 159 Exchange Migration: Preparing, Configuration and Post-Migration Steps... 169 Preparing for MS SQL Migration... 173 Registering/Upgrading/Unregistering Custom Migration Agent in POA... 175 Sample XSL Transformation Instructions... 177 Platform XSLT... 178 Account XSLT... 178 Services XSLT... 178 Using Action Scripts... 181 Index... 185

C HAPTER 1 Preface In This Chapter Documentation Conventions...6 Feedback...8 Documentation Conventions Before you start using this guide, it is important to understand the documentation conventions used in it. Typographical Conventions The following kinds of formatting in the text identify special information. Formatting convention Type of Information Example Special Bold Items you must select, such as menu options, command buttons, or items in a list. Titles of modules, sections, and subsections. Navigate to the QoS tab. Read the Basic Administration module.

Preface Italics Important Used to emphasize the importance of a point, to introduce a term or to designate a command line placeholder, which is to be replaced with a real name or value. An important note provides information that is essential to the completion of a task. Users can disregard information in a note and still complete a task, but they should not disregard an important note. These are the so-called shared VEs. To destroy a VE, type vzctl destroy VEid. Important: The device drivers installed automatically during Setup are required by your system. If you remove one of these drivers, your system may not work properly. Note Monospace Preformatted Preformatted Bold CAPITALS KEY+KEY A note with the heading Note indicates neutral or positive information that emphasizes or supplements important points of the main text. A note supplies information that may apply only in special cases for example, memory limitations, equipment configurations, or details that apply to specific versions of a program. The names of commands, files, and directories. On-screen computer output in your command-line sessions; source code in XML, C++, or other programming languages. What you type, contrasted with on-screen computer output. Note: If Windows prompts you for a network password at startup, your network is already set up and you can skip this section. Use vzctl start to start a VE. Saved parameters for VE 101 # rpm V virtuozzorelease Names of keys on the keyboard. SHIFT, CTRL, ALT Key combinations for which the user must press and hold down one key and then press another. CTRL+P, ALT+F4 7

Preface General Conventions Be aware of the following conventions used in this book. Modules in this guide are divided into sections, which, in turn, are subdivided into subsections. For example, Documentation Conventions is a section, and General Conventions is a subsection. When following steps or using examples, be sure to type double-quotes ("), left singlequotes (`), and right single-quotes (') exactly as shown. The key referred to as RETURN is labeled ENTER on some keyboards. Commands in the directories included into the PATH variable are used without absolute path names. Steps that use commands in other, less common, directories show the absolute paths in the examples. Feedback If you have found a mistake in this guide, or if you have suggestions or ideas on how to improve this guide, please send your feedback using the online form at http://www.parallels.com/en/support/usersdoc/. Please include in your report the guide's title, chapter and section titles, and the fragment of text in which you have found an error. 8

C HAPTER 2 Introduction This guide describes the methods of migrating the objects from external hosting systems to Parallels Operations Automation. It provides an overview of migration terms and acronyms as well as diagrams, development rules and hints, and the samples of migration agents with the comments. In This Chapter Definitions, Acronyms, and Abbreviations...9 References...10 Definitions, Acronyms, and Abbreviations The following definitions, acronyms, and abbreviations are used throughout the document: Acronyms and Abbreviations Acronym/Abbreviation POA PBA - E MA MM MM CP NS CCP MN ST PPM Expansion Parallels Operations Automation Parallels Business Automation - Enterprise Migration Agent Migration Manager Migration Manager Control Panel Name server Parallels Operations Automation Customer Control Panel Parallels Operations Automation Management Node Parallels Operations Automation Service Template Parallels Operations Automation Package Manager

Introduction Definitions Definition OpenAPI SSH Description XML-RPC extension for interacting with Parallels Operations Automation/Parallels Business Automation - Enterprise A set of standards and an associated network protocol that allows establishing a secure channel between a local and a remote computer. It uses public-key cryptography to authenticate the remote computer and (optionally) to allow the remote computer to authenticate the user Source Server See the Source System section (on page 13). Source System See the Source Server section (on page 13). Protective Subscription Migration API Migration Framework Expired Subscription, which should be migrated to Parallels Operations Automation/Parallels Business Automation - Enterprise. The protective time interval is defined by the migration settings for each registered source server in MM. If a Subscription is expired after the protective time interval, it will not be migrated. See the Accounts Verification section (on page 19). Set of well-defined XML structures that describe services, tools and SDK, which allows to simplify the third-party migration agents development. Special environment where Migration Agents for Windows-based source systems are executed. It provides the Web service interface (see the Migration Framework Service Interface section (on page 147)) for communication with Migration Manager. References The following documents are referenced elsewhere in this document: [1] - Parallels Operations Automation Provider s Guide [2] - Parallels Operations Automation Subscriber s Guide [3] - Parallels Business Automation Getting Started Guides [4] - Parallels Operations Automation Migration Manager 2.0 User s Guide [5] - Parallels Business Automation Resellers Guide XML Schema used by Migration Manager for validating XML documents is available after installing MM SC package and is stored in <POA_ROOT>/share/migration/xsd/. 10

C HAPTER 3 Objects This chapter describes the objects, involved in the migration process, and their roles in migrating of data as accurate and safe as possible. In This Chapter Parallels Operations Automation...12 Parallels Business Automation...12 Source System...13 Migration Agent...14 Migration Manager...14

Objects Parallels Operations Automation Parallels Operations Automation is a multi-server management and control system for both UNIX and Windows-based web hosts. The system is intended for web hosting companies of any size - data centers and Internet service providers (ISPs). Management Node Parallels Operations Automation Management Node (MN) is a core of the system - centralized control point for all components. The core includes a set of components, which delivers services to end-users and manages distributed services across service nodes. Refer to [1]. Service Node Service Node is a dedicated hardware node (server) that provides one or more system/custom services. For example, the mail service Service Node provides e-mail, antispam and/or anti-virus services. Refer to [1]. Service Template Service Template is a list of resources with defined usage limits. Service Templates contain information that must be provided to the system so that the system can automatically provision services to customers. Without Service Templates, each resource would have to be provisioned on a customer account manually. Service Templates can be used to automatically provision resources and services on millions of customer accounts. Refer to [1] and [2]. Parallels Business Automation Parallels Business Automation (PBA) is used to manage user s sales and billing operations. PBA supports all business tasks related to creating and selling Service Plans. Parallels Business Automation is fully integrated with both Parallels Operations Automation and the built-in online store that is included in the installation package. Refer to [3]. Service Plan 12

Objects Service Plan is a commercial offer of computer resources and services. When customers buy Service Plans, they reserve rights to use a certain amount of hosting resources and services at a certain rate over a certain period of time, usually starting from the day of purchase. Purchasing a Service Plan is equivalent to subscribing to the services listed in the plan. Refer to [3]. Source System Under the term Source System we assume the entire hosting (and billing) platform. It may have or not have the central control server (similar to Parallels Operations Automation MN), several servers (similar to Parallels Operations Automation Service Nodes) or only one server. Source Server Under the term Source Server we assume a host where a hosting system is deployed (Source System) and Migration Agent resides. In case of a distributed source system, it may be a Management Node (core). External Service Template External Service Template is a set of services offered to customers by some hosting automation system. Some source systems may not have Service Templates as the special entities intended for grouping and limiting resources (services) to be offered to the end-user. In this case, MA should create a virtual Service Template, associate the necessary Subscription with this template and store it in the XML document. Mapping External Service Template to Parallels Operations Automation Service Templates and/or Parallels Business Automation Service Plans The following details should be specified for each class of external Service Templates: Parallels Operations Automation Service Template (will be used for providing hosting services); Parallels Business Automation Service Plan (will be used for creating Subscriptions in the billing system).. 13

Objects Migration Agent Migration Agent is a set of simple programs or/and scripts intended for collecting information from the source system in a strictly defined XML form (XML documents). Migration Agents are separated by the type of operating system. Linux-based migration agents are implemented as the command-line tools and MM communicates with such agent via SSH protocol. Windows-based migration agents are implemented as.net dynamicallyloaded libraries ( assemblies ) and MM uses SOAP over HTTP to communicate with them. For more information, refer to the Migration Agents Development section (on page 142). Migration Manager The structure of the MM is represented on the figure below: 14

Objects Account Provisioning Engine is a part of MM, responsible for creation customer accounts in Parallels Operations Automation and Parallels Business Automation. The following data will be migrated: Logins and passwords [2]. Administrative/technical/billing contact information. Company address. Current balance (used by the billing system only) [3]. Payment tools (used by the billing system only) [3]. Subscription Provisioning Engine is a part of MM, responsible for recreation Subscriptions in Parallels Operations Automation and/or Parallels Business Automation. The following data will be migrated: Subscription creation date. Expiration date. Login/password to registrar (only for domains). Subscription period (certain time interval within the Subscription is valid). Billing period - Parallels Business Automation collects statistics on the daily resource usage and bills a customer for provided services once in a billing period [3]. Subscription fee. Setup fee. Renewal fee (only for domains). Transfer fee (only for domains). Refund period. Non-refundable amount. Last billing date. Next billing date. See [3, 5] for more details. Service Provisioning Engine is a part of MM responsible for processing information on domain services contained in the XML document (see Appendix A (on page 149) and Appendix B (on page 155) for a complete list of the supported services), and recreating it in POA. Agent Communicator is a part of MM responsible for communication with MA. System Core is a core of MM. 15

Objects On the figure below the way of communication between POA, PBA - E and source servers is shown. Migration Manager uses the SSH protocol to communicate with MA and to deliver the content. Figure 1: Intercommunications Note: The SSH protocol is suitable for UNIX-like operating systems, but not for Microsoft Windows 2000/2003/XP operating systems. For migrating a billing-related data (for example, the domain registration Subscription or Subscription for some resource), MM uses OpenAPI to deliver the data into PBA - E. 16

Objects Figure 2: Deployment of Migration Components 17

C HAPTER 4 Migration Flows Migration flow consists of four phases: 1 Source server registration, 2 Accounts verification, 3 Accounts and Subscriptions migration, 4 Content publishing (migration). In This Chapter Source Server Registration... 19 Accounts Verification... 19 Accounts and Subscriptions Migration... 20 Content Publishing (Migration)... 22 Verification Flow in Details... 22

C HAPTER 5 Source Server Registration During this phase, MA will be installed, the source server(s) will be registered, the migration settings will be configured, reseller account(s) will be associated and mappings for all external Service Templates will be defined. Figure 3: Source Server Registration Accounts Verification During this phase, MM checks accounts and all own Subscriptions and determines, which of them can be migrated and which are not.

Migration Flows Figure 4: Accounts Verification Accounts and Subscriptions Migration During this phase, MM migrates customer account(s) and all Subscriptions. 20

Migration Flows 21

Migration Flows Figure 5: Accounts and Subscription Migration Content Publishing (Migration) During this phase, MM makes content backups, transfers them to the appropriate service nodes and restores them. Figure 6: Content Publishing Verification Flow in Details Verification process is intended for preliminary checking data before migrating it to the system. 22

Migration Flows Verification process is applied only to Account or Subscription. The process consists of 3 phases: Customer account verification, Verification of corresponding reseller's account(s), Verification of all customers Subscriptions. Customer's account cannot be migrated if the reseller's account or customer's account itself did not successfully pass verification. Subscription cannot be migrated if the corresponding account and its owner (reseller's account) did not successfully pass verification. Object being verified Verification result Conditions How to resolve issues Reseller account Verified Always, if no one condition defined for the Verification failed status is not truth. Reseller account Verification failed Parent account (reseller's or provider's) is not migrated yet. One should associate the corresponding reseller's account with already created in the system reseller's account. Reseller's account is not associated with any reseller existing in the system. One should associate given reseller's account with already created in the system reseller's account. One or more own Subscriptions did not pass the verification. One should check and resolve verification issues for all Subscriptions (or mark Subscription(s) as not selected for migration ). 23

Migration Flows Object being verified Verification result Conditions How to resolve issues Customer account Verified Always, if no one condition defined for the Verification failed status is not truth. Customer account Verification failed Parent account (reseller's or provider's) is not migrated. One should associate corresponding reseller's account with already created in the system reseller's account. One or more own Subscriptions did not pass verification. One should check and resolve verification issues for all Subscriptions (or mark Subscription(s) as not selected for migration ). Subscription Verified Always, if no one condition defined for the Verification failed status is not truth. Subscription Verification failed Owner account did not pass verification. External Service Template is not mapped. Wrong creation and expiration dates. Creation and expiration dates are not defined until the Service Plan is defined for corresponding Service Template mapping. Disabling date for disabled Subscription is out of protection period ranges. One should check and resolve verification issues for owner account. One should configure a Service Template mapping before migrating Subscriptions. One should fix corresponding MA and update information about the entire source server. One should fix corresponding MA and update information about the entire source server or remove mapping to Service Plan. If such Subscriptions are to be migrated, one should expand ranges for protection period or turn off protection period at all. 24

Migration Flows Object being verified Verification result Conditions How to resolve issues Disabling date for disabled Subscription is not defined. If such Subscriptions are to be migrated, one should turn off protection period for corresponding a source server. 25

C HAPTER 6 System Requirements UNIX/Linux: Perl version 5.6 and higher, MIME::Base64 perl module (refer to http://www.cpan.org/), TCP port 22 (SSH) on a source server. Win32:.NET Framework 1.1, TCP port 9091 (for HTTP listener) on a source server.

C HAPTER 7 Migrated Objects in XML Form In This Chapter Common Types Used in XML Documents...27 Source System (Platform) XML...35 Account XML...38 Services XML...52 Common Types Used in XML Documents This section describes common data types that are used in several XML documents (refer to the Common.xsd). 'ExtIdentifier' Data Type This type is used for storing MA identifiers for entities of any kind. <xsd:simpletype name="extidentifier"> <xsd:restriction base="xsd:string"> <xsd:minlength value="1"/> <xsd:maxlength value="255"/> </xsd:restriction> </xsd:simpletype> XML schema: 'EmailAddress' Data Type This type is used for storing any e-mail address. <xsd:simpletype name="emailaddress"> <xsd:restriction base="xsd:token"> <xsd:maxlength value="400"/> <xsd:pattern value="\c+@\c+"/> </xsd:restriction> </xsd:simpletype> XML schema:

'DisableState' Attribute Group This attribute group contains information about disabling of some entity. <xsd:attributegroup name="disablestate"> <xsd:attribute name="disabled" type="xsd:boolean" use="optional" default="false" /> <xsd:attribute name="disabledate" type="xsd:datetime" use="optional" /> </xsd:attributegroup> Element/Attribute Default Value Available Description XML schema: disabled * false 2.8 Shows if entity is disabled or not. disabledate * 2.8 Date of entity disabling http://www.w3.org/tr/xmlschema-2/#datetime. 'Domains' Data Type Data of this type contains collection of domain names. <xsd:simpletype name="domainname"> <xsd:restriction base="xsd:token"> <xsd:pattern value=".+"/> </xsd:restriction> </xsd:simpletype> <xsd:complextype name="domains"> <xsd:element name="domain" type="domainname" maxoccurs="unbounded"/> Element/Attribute Default Value Available Description domain 2.8 Domain name. XML schema: 28

'AccountType' Data Type This data type describes the type of the account. Accounts can be of the following types: provider, reseller, customer. <xsd:simpletype name="accounttype"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="provider"/> <xsd:enumeration value="reseller"/> <xsd:enumeration value="customer"/> </xsd:restriction> </xsd:simpletype> XML schema: 29

'ServiceTemplates' Data Type Data of this type contains collection of external Service Templates. ServiceTemplate structure describes the external Service Template (Plan) on a source system. Note: This is meaningful only for provider and reseller accounts. <xsd:complextype name="servicetemplatebase" abstract="true"> <xsd:element name="name" type="xsd:token"/> <xsd:element name="description" type="xsd:string" minoccurs="0"/> <xsd:attribute name="id" type="extidentifier" use="required"/> XML schema: <xsd:complextype name="hostingservicetemplate"> <xsd:complexcontent> <xsd:extension base="servicetemplatebase"/> </xsd:complexcontent> <xsd:complextype name="domainregservicetemplate"> <xsd:complexcontent> <xsd:extension base="servicetemplatebase"> <xsd:element name="tld" type="xsd:token"/> </xsd:extension> </xsd:complexcontent> <xsd:complextype name="resourceservicetemplate"> <xsd:complexcontent> <xsd:extension base="servicetemplatebase"/> </xsd:complexcontent> <xsd:complextype name="servicetemplates"> <xsd:choice maxoccurs="unbounded"> <xsd:element name="hostingservicetemplate" type="hostingservicetemplate"/> <xsd:element name="domainregservicetemplate" type="domainregservicetemplate"/> <!-- reserved --> <xsd:element name="resourceservicetemplate" type="resourceservicetemplate"/> </xsd:choice> Element/Attribute Default Value Available Description hostingservicet emplate 2.9 External hosting Service Template description. 30

Element/Attribute Default Value Available Description domainregserv icetemplate resourceservice Template 2.9 External domain registration service template description. 2.9 Reserved, currently not used. name 2.8 External Service Template name. Will be displayed in MM CP. description * 2.8 External Service Template description. @id 2.8 Identifier of external Service Template on a source system. For details, refer to the ExtIdentifier Data Type section (on page 27). tld 2.9 Top level domain name of the external domain registration Service Template. 31

'HostingSubscription', 'DomainRegSubscription' and 'ResourceSubscription' Data Types These data types represent the basic information about the Subscriptions of the corresponding types. The ResourceSubscription data type is reserved and currently is not used. XML schema: <xsd:complextype name="subscriptionbase" abstract="true"> <xsd:element name="creationdate" type="xsd:datetime" minoccurs="0"/> <xsd:element name="expirationdate" type="xsd:datetime" minoccurs="0"/> <xsd:attribute name="id" type="extidentifier" use="required"/> <xsd:attribute name="servicetemplateid" type="extidentifier" use="required"/> <xsd:attributegroup ref="disablestate" /> <xsd:attribute name="destinationid" type="xsd:positiveinteger" use="optional"/> <xsd:complextype name="hostingsubscription"> <xsd:complexcontent> <xsd:extension base="subscriptionbase"> <xsd:element name="domains" type="domains" minoccurs="0"/> </xsd:extension> </xsd:complexcontent> <xsd:complextype name="domainregsubscription"> <xsd:complexcontent> <xsd:extension base="subscriptionbase"> <xsd:element name="domain" type="domainname"/> <!-- registrar credentials --> <xsd:element name="login" type="xsd:normalizedstring" minoccurs="0" /> <xsd:element name="password" type="xsd:normalizedstring" minoccurs="0" /> </xsd:extension> </xsd:complexcontent> <xsd:complextype name="resourcesubscription"> <xsd:complexcontent> <xsd:extension base="subscriptionbase"/> </xsd:complexcontent> Element/Attribute Default Available Description Value creationdate * 2.8 Subscription creation date. expirationdate * 2.8 Subscription expiration date. If a Subscription is too old, it will not be migrated. 32

Element/Attribute Default Value Available Description domains (HostingSubscription) * 2.8 Domains list. This information will be only shown in MM CP. For details about the Domains type, see the Domains Data Type section (on page 28). @id 2.8 External ID of a Subscription. For details about external IDs, see the ExtIdentifier Data Type section (on page 27). @servicetemplateid 2.8 External ID of a Subscription s Service Template. DisableState attribute group domain (DomainRegSubscripti on) login (DomainRegSubscripti on) password (DomainRegSubscripti on) For details about external IDs, refer to the ExtIdentifier Data Type section (on page 27). 2.8 State of a Subscription. See the DisableState Attribute Group section (on page 28) for details. 2.9 Registered domains name. * 2.9 Registrar login. * 2.9 Registrar password. 33

'AccountAttributes' Attribute Group This attribute group contains the account attributes. <xsd:attributegroup name="accountattributes"> <xsd:attribute name="id" type="extidentifier" use="required"/> <xsd:attribute name="type" type="accounttype" use="optional" default="customer"/> <xsd:attributegroup ref="disablestate" /> <xsd:attribute name="destinationid" type="xsd:positiveinteger" use="optional"/> </xsd:attributegroup> Element/Attribute Default Value Available Description XML schema: @id 2.8 Account external ID. For details about external IDs, see the ExtIdentifier Data Type section (on page 27). @type * customer 2.8 Account type. See the AccountType Data Type section for details. DisableState attribute group 2.8 State of a Subscription. See the DisableState Attribute Group section (on page 28) for details. 'CompanyName' Data Type This type is used for storing company's names. <xsd:simpletype name="companyname"> <xsd:restriction base="xsd:token"> <xsd:minlength value="1"/> <xsd:maxlength value="400"/> </xsd:restriction> </xsd:simpletype> XML schema: 34

Source System (Platform) XML Source system (or Platform) XML document is created by MA during collecting information about the entire source server (MA registration). See the Platform.xsd document for details. Root Element and XML Namespaces The table below contains the target namespace and namespaces required for XML parser to validate XML document (see the XML sample below). Namespace xmlns:mm="http://www.parallels.com/psa/migration/platform" xmlns:xsi= http://www.w3.org/2001/xmlschema-instance xsi:schemalocation= http://www.parallels.com/psa/migration/platform Platform.xsd XML schema below defines the response element as the root element of XML document. <xsd:complextype name="platform"> <xsd:element name="name"> <xsd:simpletype> <xsd:restriction base="xsd:normalizedstring"> <xsd:minlength value="1"/> <xsd:maxlength value="24"/> </xsd:restriction> </xsd:simpletype> <xsd:element name="version"> <xsd:simpletype> <xsd:restriction base="xsd:normalizedstring"> <xsd:minlength value="1"/> <xsd:maxlength value="8"/> </xsd:restriction> </xsd:simpletype> <xsd:element name="account" type="platformaccount"/> <xsd:element name="response"> <xsd:complextype> <xsd:element name="platform" type="platform"/> XML schema: Values of the name and version elements will be shown in MM CP after the successful source server s registration. 35

Element/Attribute Default Value Available Description response 2.8 Agent s response. platform 2.8 Platform information. name 2.8 Source system name and version. version 2.8 account 2.8 Provider s account description. For details, refer to the Account Element section (on page 36); the next section in the Guide. <?xml version='1.0' encoding="utf-8"?> <mm:response xmlns:mm="http://www.parallels.com/psa/migration/platform" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://www.parallels.com/psa/migration/platform Platform.xsd"> <platform> <name>sample platfrom</name> <version>1.0</version> <account id="1" type="provider"> </account> </platform> </mm:response> 'Account' Element Example: The Account element groups information about provider/resellers, or customers. It contains the list of external Service Templates (for provider or resellers), and Subscriptions, as well as the e-mail address to send notifications about migration process to and the company name. XML schema: <xsd:complextype name="platformaccount"> <xsd:element name="companyname" type="companyname"/> <xsd:element name="email" type="emailaddress" minoccurs="0"/> <xsd:element name="servicetemplates" type="servicetemplates" minoccurs="0"/> <xsd:element name="subscriptions" type="subscriptions" minoccurs="0"/> <xsd:element name="accounts" type="platformaccounts" minoccurs="0"/> <xsd:attributegroup ref="accountattributes"/> <xsd:complextype name="platformaccounts"> <xsd:element name="account" type="platformaccount" maxoccurs="unbounded"/> The first account in the document is always the provider s account. It must be declared with explicitly defined attribute type= provider. 36

Element/Attribute Default Value Available Description companyname 2.8 Account s company name. Will be shown in MM CP. CompanyName type is described in the "CompanyName" Data Type section (on page 34). email * 2.8 E-mail address to send notifications to about the process of migration. EmailAddress data type is described in the "EmailAddress" Data Type (on page 27) section. servicetemplates * 2.8 Describes external Service Templates on the source system. Meaningful only for provider or resellers accounts. See the "ServiceTemplates" Data Type section (on page 30) for details. subscriptions * 2.8 Account s Subscriptions. See the "Subscriptions" Data Type section (on page 32) for details. accounts * 2.8 Accounts owned by a current account (provider or reseller). AccountAttributes attribute group 2.8 Account attributes. For details see the "AccountAttributes" Attribute Group section (on page 34). <account id="1" type="provider"> <companyname>sample company</companyname> <servicetemplates> </servicetemplates> <subscriptions> </subscriptions> <accounts> <!--reseller s or/and customer s accounts are placed here --> </accounts> </account> Example: 37

Account XML The account XML document is generated by the MA when it is requested by MM. This document contains detailed information about the account: contact information, billing/payment information, staff members, and so on. If the information in the Account document differs from the information in the Platform XML document, then it is considered that the account on the source system was updated and all information about the account stored in MM is to be updated. See the Account.xsd document. Root Element and XML Namespaces The table below contains the target namespace and namespaces required for XML parser to validate XML document (see XML sample below). Namespace xmlns:mm="http://www.parallels.com/psa/migration/platform" xmlns:xsi= http://www.w3.org/2001/xmlschema-instance xsi:schemalocation= http://www.parallels.com/psa/migration/platform Account.xsd XML schema below defines the response element as the root element of XML document. XML schema: <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns="http://www.parallels.com/psa/migration/platform" targetnamespace="http://www.parallels.com/psa/migration/platform" elementformdefault="qualified" attributeformdefault="unqualified"> <xsd:element name= response > <xsd:complextype> <xsd:element name="account" type="accountex" minoccurs= 0 /> </xsd:complextype If there is no the account element in the document, then it means that an account was deleted from the source system. If an account was not deleted, its info is stored in the account element. Details about this element see in the "Account" Element section (on page 36). 38 Example: <?xml version='1.0' encoding="utf-8"?> <mm:response xmlns:mm="http://www.parallels.com/psa/migration/platform" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://www.parallels.com/psa/migration/platform Account.xsd"> <account id="sampleaccount"> </account>

</mm:response> 39

'Account' Element The account element contains the detailed information about a particular account. XML schema: <xsd:complextype name="accountex"> <xsd:complexcontent> <xsd:element name="companyname" type="companyname"/> <xsd:element name="admincontactinfo" type="contactinfo"/> <xsd:element name="billingcontactinfo" type="contactinfo" minoccurs="0"/> <xsd:element name="techcontactinfo" type="contactinfo" minoccurs="0"/> <xsd:element name="companyaddress" type="address" minoccurs="0"/> <xsd:element name="billinginfo" type="billinginfo" minoccurs="0"/> <xsd:element name="paymenttools" type="paymenttools" minoccurs="0"/> <xsd:element name="staffmembers" type="members" minoccurs="0"/> <xsd:element name="servicetemplates" type="servicetemplates" minoccurs="0"/> <xsd:element name="subscriptions" type="subscriptionsex" minoccurs="0"/> <xsd:attributegroup ref="accountattributes"/> </xsd:complexcontent> Element/Attribute Default Value Available Description companyname 2.8 Account's Company name. Will be shown in MM CP; refer to [4]. For details about the CompanyName data type, refer to the CompanyName Data Type section (on page 34). admincontactinfo 2.8 Administrative contact info. For details about the ContactInfo data type, refer to the ContactInfo Data Type section. billingcontactinfo * 2.8 Billing contact info. If this element is omitted, the Administrative contact is used. For details about the ContactInfo data type, refer to the ContactInfo Data Type section. techcontactinfo * 2.8 Technical contact info. If this element is omitted, the Administrative contact is used. For details about the ContactInfo data type, refer to the ContactInfo Data Type section. companyaddress * 2.8 Company address. For details on the Address data type, refer to the Address Data Type section (on page 44). billinginfo * 2.8 Billing information. For details about this data type, refer to the BillingInfo Data Type section (on page 45). paymenttools * 2.8 Contains information about the payment tools. For details about this data type, refer to the PaymentTools Data Type section (on page 45). 40

Element/Attribute Default Value Available Description staffmembers * 2.8 Contains information about the staff members. For details, see the Members Data Type section. servicetemplates * 2.8 Describes the Service Templates (or Server Plans) of the external system. Meaningful only for provider or resellers accounts. For details, refer to the Service Templates Data Type section (on page 30). subscriptions * 2.8 The account's Subscriptions. For more detail, read about the HostingSubscription, DomainRegSubscription and ResourceSubscription Data Types (on page 32) and SubscriptionsEx Data Type (on page 50). 41

'ContactInfo' Data Type This data type contains contact information. <xsd:complextype name="contactinfo"> <xsd:element name="title" type="xsd:string" minoccurs="0"/> <xsd:element name="firstname" type="xsd:string" minoccurs="0"/> <xsd:element name="middlename" type="xsd:string" minoccurs="0"/> <xsd:element name="lastname" type="xsd:string" minoccurs="0"/> <xsd:element name="email" type="emailaddress" minoccurs="0"/> <xsd:element name="phone" type="phone" minoccurs="0"/> <xsd:element name="fax" type="phone" minoccurs="0"/> <xsd:element name="mobilephone" type="phone" minoccurs="0"/> Element/Attribute Default Value Available Description XML schema: title * 2.8 Person's title firstname * 2.8 Person's first name middlename * 2.8 Person's middle name lastname * 2.8 Person's last name email * 2.8 Email address phone * 2.8 Phone number. fax * 2.8 Fax number. mobilephone * 2.8 Mobile phone number. For details, see the Phone Data Type section (on page 43). For details, see the Phone Data Type section (on page 43). For details, see the Phone Data Type section (on page 43). 42

'Phone' Data Type This type contains a phone number. <xsd:complextype name="phone"> <xsd:element name="countrycode" type="xsd:string" minoccurs="0"/> <xsd:element name="areacode" type="xsd:string" minoccurs="0"/> <xsd:element name="phonenumber" type="xsd:string"/> <xsd:element name="extnumber" type="xsd:string" minoccurs="0"/> Element/Attribute Default Value Available Description XML schema: countrycode Country code. areacode * Area code. phonenumber Phone number. extnumber * Extension number. 43

'Address' Data Type This type contains an address. XML schema: <xsd:complextype name="address"> <xsd:element name="address1" type="xsd:string" minoccurs="0"/> <xsd:element name="address2" type="xsd:string" minoccurs="0"/> <xsd:element name="zipcode" minoccurs="0"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:maxlength value="12"/> </xsd:restriction> </xsd:simpletype> <xsd:element name="city" minoccurs="0"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:maxlength value="64"/> </xsd:restriction> </xsd:simpletype> <xsd:element name="country" minoccurs="0"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:maxlength value="2"/> </xsd:restriction> </xsd:simpletype> <xsd:element name="state" minoccurs="0"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:maxlength value="32"/> </xsd:restriction> </xsd:simpletype> Element/Attribute Default Value Available Description address1 * 2.8 Address 1 address2 * 2.8 Address 2 zipcode * 2.8 Zip code city * 2.8 City country * 2.8 Country (2 letters abbreviation). 44

Element/Attribute Default Value Available Description state * 2.8 State 'BillingInfo' Data Type This type contains billing information. <xsd:complextype name="billinginfo"> <xsd:element name="balance" type="xsd:decimal" minoccurs="0"/> Element/Attribute Default Value Available Description XML schema: balance * 2.8 Account s billing balance. 'PaymentTools' Data Type This type contains information about account s payment tools. XML schema: <xsd:complextype name="paymenttools"> <xsd:element name="creditcard" type="creditcard" maxoccurs="unbounded"/> Element/Attribute Default Value Available Description creditcard 2.8 Credit card info. See the "CreditCard" Data Type section for details. 45

'CreditCard' Data Type This type is used for describing credit cards. <xsd:complextype name="creditcard"> <xsd:element name="cardnumber" type="xsd:string"/> <xsd:element name="expirationdate" type="expirationdate"/> <xsd:element name="paymentsystem" type="paymentsystem"/> <xsd:element name="cvv" type="xsd:integer" minoccurs="0"/> <xsd:element name="useforautopayments" type="xsd:boolean" minoccurs="0" default="false"/> <xsd:element name="cardholder" type="xsd:string" minoccurs="0"/> <xsd:element name="email" type="emailaddress" minoccurs="0"/> <xsd:element name="address" type="address" minoccurs="0"/> <xsd:element name="phone" type="phone" minoccurs="0"/> <xsd:element name="fax" type="phone" minoccurs="0"/> Element/Attribute Default Value Available Description cardnumber 2.8 Credit card number expirationdate 2.8 Credit card expiration date. paymentsystem 2.8 Payment system. XML schema: For details, see the ExpirationDate Data Type section (on page 47). For details, see the PaymentSystem Data Type section (on page 47). cvv * 2.8 The card verification value code useforautopayments * false 2.8 Indicates whether the card should be used for auto-payments, or not cardholder * 2.8 Card holder's name email * 2.8 Card holder's e-mail. For details, see the EmailAddress Data Type section (on page 27). address * 2.8 Card holder's address. phone * 2.8 Card holder's phone. For details about the Address data type, refer to the Address Data Type section (on page 44). For details about the Phone data type, refer to the Phone Data Type section (on page 43). 46

Element/Attribute Default Value Available Description fax * 2.8 Card holder's fax. For details about this data type, refer to the Phone Data Type section (on page 43). 'ExpirationDate' Data Type Describes the expiration date. <xsd:complextype name="expirationdate"> <xsd:element name="year" type="xsd:gyear"/> <xsd:element name="month"> <xsd:simpletype> <xsd:restriction base="xsd:integer"> <xsd:mininclusive value="1"/> <xsd:maxinclusive value="12"/> </xsd:restriction> </xsd:simpletype> Element/Attribute Default Value Available Description XML schema: year 2.8 Expiration year. month 2.8 Expiration month. 'PaymentSystem' Data Type The definition of the payment system type. The following types are supported: Visa, Amex, MasterCard, Disc and DC. <xsd:simpletype name="paymentsystem"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="visa"/> <xsd:enumeration value="amex"/> <xsd:enumeration value="mastercard"/> <xsd:enumeration value="disc"/> <xsd:enumeration value="dc"/> </xsd:restriction> </xsd:simpletype> XML schema: 47

'Members' Data Type This type contains information about Staff Members. Note: Only one Staff Member is supported currently. <xsd:complextype name="member"> <xsd:element name="contactinfo" type="contactinfo" minoccurs="0"/> <xsd:element name="address" type="address" minoccurs="0"/> <xsd:element name="login" type="xsd:string"/> <xsd:element name="password" type="password" minoccurs="0"/> <xsd:complextype name="members"> <xsd:element name="member" type="member"/> Element/Attribute Default Value Available Description XML schema: member 2.8 Contains information about Staff Members contactinfo * 2.8 Member's contact information. address * 2.8 Member's address. login 2.8 Member's login. password * 2.8 Member's password. For details about this data type, refer to the ContactInfo Data Type section (on page 42). For details about this data type, refer to the Address Data Type section (on page 44). Note: Only plain passwords are supported. For details, see the Password Data Type section (on page 49). 48

'Password' Data Type This type contains the password information <xsd:complextype name="password"> <xsd:simplecontent> <xsd:extension base="xsd:string"> <xsd:attribute name="type" use="required"> <xsd:simpletype> <xsd:restriction base="xsd:token"> <xsd:enumeration value="plain"/> <xsd:enumeration value="md5"/> <xsd:enumeration value="sha1"/> <xsd:enumeration value="des"/> <xsd:enumeration value="mysql"/> <xsd:enumeration value="qmail"/> </xsd:restriction> </xsd:simpletype> </xsd:attribute> </xsd:extension> </xsd:simplecontent> Element/Attribute Default Value Available Description XML schema: @type 2.8 Password type. 49

'SubscriptionsEx' Data Type This type contains extended information about subscriptions: HostingSubscriptionEx, DomainRegSubscriptionEx, ResourceSubscriptionEx. ResourceSubscriptionEx is reserved and is not currently used. For more information, see sections HostingSubscription, DomainRegSubscription and ResourceSubscription Data Types (on page 32). XML schema: <xsd:complextype name="hostingsubscriptionex"> <xsd:complexcontent> <xsd:extension base="hostingsubscription"> <xsd:group ref="subscriptionexfields"/> </xsd:extension> </xsd:complexcontent> <xsd:complextype name="domainregsubscriptionex"> <xsd:complexcontent> <xsd:extension base="domainregsubscription"> <xsd:group ref="subscriptionexfields"/> </xsd:extension> </xsd:complexcontent> <!-- reserved --> <xsd:complextype name="resourcesubscriptionex"> <xsd:complexcontent> <xsd:extension base="resourcesubscription"> <xsd:group ref="subscriptionexfields"/> </xsd:extension> </xsd:complexcontent> <xsd:complextype name="subscriptionsex"> <xsd:choice maxoccurs="unbounded"> <xsd:element name="hostingsubscription" type="hostingsubscriptionex"/> <xsd:element name="domainregsubscription" type="domainregsubscriptionex"/> <!-- reserved --> <xsd:element name="resourcesubscription" type="resourcesubscriptionex"/> </xsd:choice> Element/Attribute Default Value Available Description hostingsubscription * 2.9 Hosting subscription domainregsubscription * 2.9 Domain registration subscription resourcesubscription * 2.9 Reserved and not currently used 50

'SubscriptionExFields' Data Type This type contains billing-related Subscription fields. XML schema: <xsd:group name="subscriptionexfields"> <xsd:element name="subscriptionperiod" type="timeperiod" minoccurs="0" /> <xsd:element name="billingperiod" type="timeperiod" minoccurs="0" /> <xsd:element name="subscrfee" type="xsd:decimal" default="0" minoccurs="0"/> <xsd:element name="renewal" type="xsd:decimal" default="0" minoccurs="0"/> <xsd:element name="transferfee" type="xsd:decimal" default="0" minoccurs="0"/> <xsd:element name="nonrefundableamt" type="xsd:decimal" default="0" minoccurs="0"/> <xsd:element name="refundperiod" type="xsd:integer" default="0" minoccurs="0"/> <xsd:element name="setupfee" type="xsd:decimal" default="0" minoccurs="0"/> <xsd:element name="billday" type="xsd:integer" minoccurs="0"/> <xsd:element name="nextbilldate" type="xsd:date" minoccurs="0"/> <xsd:element name="lastbilldate" type="xsd:date" minoccurs="0"/> </xsd:group> Element/Attribute Default Value Available Description subscriptionperiod * 2.9 Subscription period billingperiod * 2.9 Billing period subscrfee * 2.9 Subscription fee renewal * 2.9 Renewal fee transferfee * 2.9 Transfer fee nonrefundableamt * 2.9 Non-refundable amount refundperiod * 2.9 Refund period setupfee * 2.9 Setup fee billday * 2.9 Ignored. Left for backward compatibility. nextbilldate * 2.9 Next bill date lastbilldate * 2.9 Last bill date 51

Services XML Root Element and XML Namespaces The table below contains the target namespace and namespaces required for XML parser to validate XML document (see the XML sample below). Namespace xmlns:services= http://www.parallels.com/psa/migration/services xmlns:xsi= http://www.w3.org/2001/xmlschema-instance xsi:schemalocation= http://www.parallels.com/psa/migration/services/ Services.xsd XML schema below defines element response as the root element of XML document. <?xml version= 1.0 encoding= UTF-8?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns="http://www.parallels.com/psa/migration/services" targetnamespace= "http://www.parallels.com/psa/migration/services" elementformdefault="qualified" attributeformdefault="unqualified"> 52 XML schema: <xsd:element name="response"> <xsd:complextype> <!-- Element should be omitted only if subscription was deleted from source system --> <xsd:element name="services" type="services" minoccurs="0"/> <xsd:complextype name= Services > <xsd:element name= users type= ServiceUsers minoccurs= 0 /> <!-- web hosting --> <xsd:element name= parking type= Parking minoccurs= 0 /> <xsd:element name= apache type= Apache minoccurs= 0 maxoccurs= unbounded /> <xsd:element name= iis type= IIS minoccurs= 0 maxoccurs= unbounded /> <!-- mail hosting --> <xsd:element name= qmail type= QMail minoccurs= 0 /> <xsd:element name= exchange type= Exchange minoccurs= 0 /> <xsd:element name= databases type= Databases minoccurs= 0 /> <xsd:element name= dns type= DNS minoccurs= 0 /> Example:

<?xml version= 1.0 encoding= UTF-8?> <services:response xmlns= http://www.parallels.com/psa/migration/services xmlns:xsi= http://www.w3.org/2001/xmlschema-instance xsi:schemalocation= http://www.parallels.com/psa/migration/services Services.xsd > <services> <users> </users> <iis> </iis> </services> </services:response> 53