Penn Computing
Computing Menu Computing A-Z
Computing Home Information Systems & Computing Penn

===DRAFT=== Assignments 2.3 Protocol Specification ===DRAFT===

Contents

0. Status

This draft protocol specification is an unfinished work in progress. Not all remote procedure calls are fully documented, fault codes are not enumerated, user profile attributes are not yet described, and string length limits need to be mentioned for many parameters.

Note also that this document describes the protocol in use by the latest client and server code, which is identified by the string asgs202 in all method names. When subsequent versions of the Assignments client and server are officially released, all method names will have an appropriate version string in place of the current asgs202.

1. Transport

The Assignments 2.3 protocol uses HTTP/1.1 [1] to transport messages between client and server. SASL in HTTP/1.1 [2] is used to authenticate with the server. An Assignments server never sends Redirection responses, but a client must be able to process all other applicable HTTP/1.1 responses, including Client Error and Server Error responses.

The PennNet Assignments server runs on the host 128.91.2.27 (assailants.net.isc.upenn.edu) and listens for HTTP requests on port 5225.

2. Messages

All messages sent between the Assignments client and server conform to the XML-RPC specification [3].

An HTTP Request-URI of /asgs must be used to direct requests to the XML-RPC responder on PennNet's Assignments server.

3. Fault Codes

Section 4 documents the specific XML-RPC fault codes that might be returned for each method call in the Assignments 2.3 protocol. These fault codes are divided into two categories:

3.1. Errors

Any non-negative fault code number signifies a non-recoverable error, indicating that a client's request cannot be carried out.

Fault code 100 is reserved for general server errors. The server may send this code in response to any method call in order to signify a condition that is not accounted for by the other fault codes documented in section 4, such as a low-level failure of the server system or an internal error in the server software.

3.2. Warnings

Any negative fault code number signifies a warning, indicating that a client's request has not been carried out but may optionally be resubmitted in order to override the warning and proceed with the operation.

In addition to the parameters documented in section 4 for each method, the <params> entity for every <methodCall> may optionally include a final <param> entity of the following form:


	<param>
	 <value>
	  <struct>
	   <member>
	    <name>override</name>
	    <value>
	     <array>
	      <data>

	      </data>
	     </array>
	    </value>
	   </member>
	  </struct>
	 </value>
	</param>

The <array> entity may contain an arbitrary number of negative integer values, such as:

    <value><int>-30</int></value>
    <value><int>-29</int></value>

Each of these specifies a warning that the caller wishes to override. The server will not issue <fault> responses for any condition whose <faultCode> is included in this <array>, and will instead attempt to continue processing the <methodCall>.

3.3. Reserved Fault Codes

Fault codes between -99 and 99 (inclusive) are not specified for use in the protocol and must never be returned by the server. They are reserved so that a client can associate these numbers with its own internal errors and warnings without any risk of conflicting with valid protocol fault codes.

4. Remote Procedure Calls

4.1. methodName asgs230.findCNAME

4.1.1. Description

This method retrieves CNAME records for domain names matching a specified pattern.

4.1.2. methodCall Parameters

Type Description
string A domain name, which may contain '*' as a wildcard matching any number of characters.
array Each value in this array is a string containing a domain name suffix. Records will be returned only for owner names that end with the specified suffixes.

4.1.3. Example methodCall


<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.findCNAME</methodName>
<params>
     <param>
          <value><string>dhcp*</string></value>
     </param>
     <param>
          <value><array><data>
               <value><string>magpi.net</string></value>
               <value><string>magpi.org</string></value>
          </data></array></value>
     </param>
</params>
</methodCall>

4.1.4. methodResponse Parameter

The response parameter is an array of zero or more values. Each value in the array is an array containing the following values describing an alias:
Type Description
string The owner's domain name.
string The canonical name.
int The TTL, or -1 for the zone's default TTL.

4.1.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><array><data>
    <value><array><data>
       <value><string>DHCP-01.MAGPI.NET</string></value>
       <value><string>SERVER-01.SERVICES.MAGPI.NET</string></value>
       <value><int>-1</int></value>
    </data></array></value>
    <value><array><data>
       <value><string>DHCP-02.MAGPI.NET</string></value>
       <value><string>SERVER-02.SERVICES.MAGPI.NET</string></value>
       <value><int>-1</int></value>
    </data></array></value>
</data></array></value>
</param>
</params>
</methodResponse>

4.2. methodName asgs230.findHost

4.2.1. Description

This method retrieves A/PTR records and other host data for domain names matching a specified pattern. See also the asgs230.flatFindHost method, which provides a lower-overhead encoding more suitable for large transfers.

4.2.2. methodCall Parameters

Type Description
string A domain name, which may contain '*' as a wildcard matching any number of characters.
array Each value in this array is a string containing a domain name suffix. Records will be returned only for owner names that end with the specified suffixes.

4.2.3. Example methodCall


<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.findHost</methodName>
<params>
    <param>
        <value><string>*.services.magpi.net</string></value>
    </param>
    <param>
        <value><array><data>
            <value><string>magpi.net</string></value>
            <value><string>magpi.org</string></value>
        </data></array></value>
    </param>
</params>
</methodCall>

4.2.4. methodResponse Parameter

The response parameter is an array of zero or more values. Each value in the array is an array containing the following values describing a host:
Type Description
string The A record's domain name.
string The IPv4 address.
struct Members describing the host.

A struct describing a host contains the following members:

Name Type Description
IPv4Range array Values describing the IPv4 address range assigned to this host.
HostType string The host type, which may have any of the values returned by the asgs230.getAllHostTypes method.
Room string The host's specific location within its building, or an empty string if the specific location is unknown.
Vendor string The hardware vendor.
Model string The hardware model, or an empty string if the model is unknown.
ORG string The host's FinMIS Organizational Unit number, or an empty string if the ORG number is unknown.
HostContact string The name of a contact list responsible for administration of the host.
DNSContact string The name of a contact list responsible for the host's DNS records.
EndUser string The host's primary end user, or an empty string if the end user is unknown.
Remarks string Human-readable remarks, or an empty string if no remarks have been provided.
PTRTTL int The TTL for this name's PTR record.
ATTL int The TTL for this name's A record.
PublishA boolean True if and only if an A record is to be published for this host.
PublishPTR boolean True if and only if a PTR record is to be published for this host.
Hostname string The A record's domain name.
IPv4Address string The IPv4 address.

An array describing one IPv4 address range contains the following values:

Type Description
string The first IPv4 address in the range.
string The last IPv4 address in the range.
string The domain name.
string The three-letter building code.
string The human-readable description of the range, or an empty string if no description has been provided.
string The human-readable building name.
string The subnet mask, or an empty string if the subnet mask is unknown.
string The default gateway address, or an empty string if the default gateway address is unknown.

4.2.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
    <value><array><data>
        <value><array><data>
            <value><string>SERVER-01.SERVICES.MAGPI.NET</string></value>
            <value><string>198.32.42.38</string></value>
            <value><struct>
                <member>
                     <name>Model</name>
                     <value><string>DS10</string></value>
                </member>
                <member>
                     <name>DNSContact</name>
                     <value><string>MAGPI: Operations</string></value>
                </member>
                <member>
                     <name>Remarks</name>
                     <value><string></string></value>
                </member>
                <member>
                     <name>PTRTTL</name>
                     <value><int>38400</int></value>
                </member>
                <member>
                     <name>ATTL</name>
                     <value><int>38400</int></value>
                </member>
                <member>
                     <name>PublishA</name>
                     <value><boolean>1</boolean></value>
                </member>
                <member>
                     <name>IPv4Range</name>
                     <value><array><data>
                         <value><string>198.32.42.33</string></value>
                         <value><string>198.32.42.46</string></value>
                         <value><string>magpi.net</string></value>
                         <value><string>COL</string></value>
                         <value><string></string></value>
                         <value><string>College Hall</string></value>
                         <value><string>255.255.255.240</string></value>
                         <value><string>198.32.42.34</string></value>
                     </data></array></value>
                </member>
                <member>
                     <name>HostType</name>
                     <value><string>end-user workstation</string></value>
                </member>
                <member>
                     <name>Hostname</name>
                     <value><string>SERVER-01.SERVICES.MAGPI.NET</string></value>
                </member>
                <member>
                     <name>Room</name>
                     <value><string></string></value>
                </member>
                <member>
                     <name>PublishPTR</name>
                     <value><boolean>1</boolean></value>
                </member>
                <member>
                     <name>HostContact</name>
                     <value><string>MAGPI: Operations</string></value>
                </member>
                <member>
                     <name>Vendor</name>
                     <value><string>Compaq</string></value>
                </member>
                <member>
                     <name>ORG</name>
                     <value><string></string></value>
                </member>
                <member>
                     <name>EndUser</name>
                     <value><string></string></value>
                </member>
                <member>
                     <name>IPv4Address</name>
                     <value><string>198.32.42.38</string></value>
                </member>
            </struct></value>
        </data></array></value>
        <value><array><data>
            <value><string>SERVER-02.SERVICES.MAGPI.NET</string></value>
            <value><string>198.32.42.39</string></value>
            <value><struct>
                <member>
                     <name>Model</name>
                     <value><string>DS10</string></value>
                </member>
                <member>
                     <name>DNSContact</name>
                     <value><string>MAGPI: Operations</string></value>
                </member>
                <member>
                     <name>Remarks</name>
                     <value><string></string></value>
                </member>
                <member>
                     <name>TTL</name>
                     <value><int>-1</int></value>
                </member>
                <member>
                     <name>PublishA</name>
                     <value><boolean>1</boolean></value>
                </member>
                <member>
                     <name>IPv4Range</name>
                     <value><array><data>
                         <value><string>198.32.42.33</string></value>
                         <value><string>198.32.42.46</string></value>
                         <value><string>magpi.net</string></value>
                         <value><string>COL</string></value>
                         <value><string></string></value>
                         <value><string>College Hall</string></value>
                         <value><string>255.255.255.240</string></value>
                         <value><string>198.32.42.34</string></value>
                     </data></array></value>
                </member>
                <member>
                     <name>HostType</name>
                     <value><string>end-user workstation</string></value>
                </member>
                <member>
                     <name>Hostname</name>
                     <value><string>SERVER-02.SERVICES.MAGPI.NET</string></value>
                </member>
                <member>
                     <name>Room</name>
                     <value><string></string></value>
                </member>
                <member>
                     <name>PublishPTR</name>
                     <value><boolean>1</boolean></value>
                </member>
                <member>
                     <name>HostContact</name>
                     <value><string>MAGPI: Operations</string></value>
                </member>
                <member>
                     <name>Vendor</name>
                     <value><string>Compaq</string></value>
                </member>
                <member>
                     <name>ORG</name>
                     <value><string></string></value>
                </member>
                <member>
                     <name>EndUser</name>
                     <value><string></string></value>
                </member>
                <member>
                     <name>IPv4Address</name>
                     <value><string>198.32.42.39</string></value>
                </member>
            </struct></value>
        </data></array></value>
    </data></array></value>
</param>
</params>
</methodResponse>

4.3. methodName asgs230.findMX

4.3.1. Description

This method retrieves MX records for domain names matching a specified pattern.

4.3.2. methodCall Parameters

Type Description
string A domain name, which may contain '*' as a wildcard matching any number of characters.
array Each value in this array is a string containing a domain name suffix. Records will be returned only for owner names that end with the specified suffixes.

4.3.3. Example methodCall


<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.findMX</methodName>
<params>
     <param>
          <value><string>*</string></value>
     </param>
     <param>
          <value><array><data>
               <value><string>magpi.net</string></value>
               <value><string>magpi.org</string></value>
          </data></array></value>
     </param>
</params>
</methodCall>

4.3.4. methodResponse Parameter

The response parameter is an array of zero or more values. Each value in the array is an array containing the following values describing a mail exchanger resource record set:
Type Description
string The owner's domain name.
array The mail exchangers in the resource record set. Each value in this array is an array describing one mail exchanger.
int The TTL, or -1 for the zone's default TTL.

An array describing one mail exchanger contains the following values:
Type Description
int The mail exchanger's preference.
string The mail exchanger's domain name.

4.3.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
     <value><array><data>
          <value><array><data>
               <value><string>MAGPI.ORG</string></value>
               <value><array><data>
                    <value><array><data>
                         <value><int>10</int></value>
                         <value><string>FALSTAFF.ISC-NET.UPENN.EDU</string></value>
                    </data></array></value>
               </data></array></value>
               <value><int>-1</int></value>
          </data></array></value>
     </data></array></value>
</param>
</params>
</methodResponse>

4.4. methodName asgs230.findName

4.4.1. Description

This method retrieves IPv4 A/PTR, IPv6 A/PTR , MX, SRV, CNAME, and TXT records with domain names matching a specified pattern.

4.4.2. methodCall Parameters

Type Description
string A domain name, which may contain '*' as a wildcard matching any number of characters.
array Each value in this array is a string containing a domain name suffix. Records will be returned only for owner names that end with the specified suffixes.

4.4.3. Example methodCall


<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.findName</methodName>
<params>
     <param>
          <value><string>magpi.org</string></value>
     </param>
     <param>
          <value><array><data>
               <value><string>magpi.net</string></value>
               <value><string>magpi.org</string></value>
          </data></array></value>
     </param>
</params>
</methodCall>

4.4.4. methodResponse Parameter

The response parameter is an array of four values:
Type Description
array An array identical to the response parameter that would be obtained from the asgs230.findHost method given the same methodCall parameters.
array An array identical to the response parameter that would be obtained from the asgs230.findHost6 method given the same methodCall parameters.
array An array identical to the response parameter that would be obtained from the asgs230.findMX method given the same methodCall parameters.
array An array identical to the response parameter that would be obtained from the asgs230.findSRV method given the same methodCall parameters.
array An array identical to the response parameter that would be obtained from the asgs230.findCNAME method given the same methodCall parameters.
array An array identical to the response parameter that would be obtained from the asgs230.findTXT method given the same methodCall parameters.

4.4.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><array><data>
    <value><array><data>
    </data></array></value>
    <value><array><data>
        <value><array><data>
             <value><string>MAGPI.ORG</string></value>
             <value><array><data>
                 <value><array><data>
                    <value><int>10</int></value>
                    <value><string>FALSTAFF.ISC-NET.UPENN.EDU</string></value>
                 </data></array></value>
             </data></array></value>
             <value><int>-1</int></value>
        </data></array></value>
    </data></array></value>
    <value><array><data>
    </data></array></value>
    <value><array><data>
    </data></array></value>
</data></array></value>
</param>
</params>

4.5. methodName asgs230.findPermittedRanges

4.5.1. Description

This method retrieves ranges to which a specific A or PTR record may be moved.

4.5.2. methodCall Parameters

Type Description
string A domain name which may not contain wildcards.

4.5.3. Example methodCall


<?xml version="1.0"?>
<methodCall>
<methodName>asgs230.findPermittedRanges</methodName>
<params>
	<param><value><string>hostname.seas.upenn.edu</string></value></param>
</params>
</methodCall>

4.5.4. methodResponse Parameter

The response parameter is an array of zero or more IPv4 Ranges:
Type Description
array Values describing the IPv4 address ranges which this host may be a part of.

4.5.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
      <value><array><data>
            <value><array><data>
                  <value><string>130.91.6.214</string></value>
                  <value><string>130.91.6.229</string></value>
                  <value><string>seas.upenn.edu</string></value>
                  <value><string>GRW</string></value>
                  <value><string></string></value>
                  <value><string>Graduate Research Wing (Moore School)</string></value>
                  <value><string>255.255.252.0</string></value>
                  <value><string>130.91.4.1</string></value>
                  <value><string>00000000000000530900000000</string></value>
                  <value><string>ADMIN</string></value>
            </data></array></value>
            <value><array><data>
                  <value><string>130.91.6.214</string></value>
                  <value><string>130.91.6.229</string></value>
                  <value><string>seas.upenn.edu</string></value>
                  <value><string>MOR</string></value>
                  <value><string></string></value>
                  <value><string>Moore Building</string></value>
                  <value><string>255.255.252.0</string></value>
                  <value><string>130.91.4.1</string></value>
                  <value><string>00000000000000530900000000</string></value>
                  <value><string>ADMIN</string></value>
            </data></array></value>
            <value><array><data>
                  <value><string>130.91.6.214</string></value>
                  <value><string>130.91.6.229</string></value>
                  <value><string>seas.upenn.edu</string></value>
                  <value><string>PEN</string></value>
                  <value><string></string></value>
                  <value><string>Pender Lab</string></value>
                  <value><string>255.255.252.0</string></value>
                  <value><string>130.91.4.1</string></value>
                  <value><string>00000000000000530900000000</string></value>
                  <value><string>ADMIN</string></value>
            </data></array></value>
            <value><array><data>
                  <value><string>130.91.6.214</string></value>
                  <value><string>130.91.6.229</string></value>
                  <value><string>seas.upenn.edu</string></value>
                  <value><string>TWN</string></value>
                  <value><string></string></value>
                  <value><string>Towne Building</string></value>
                  <value><string>255.255.252.0</string></value>
                  <value><string>130.91.4.1</string></value>
                  <value><string>00000000000000530900000000</string></value>
                  <value><string>ADMIN</string></value>
            </data></array></value>
            <value><array><data>
                  <value><string>130.91.6.254</string></value>
                  <value><string>130.91.7.240</string></value>
                  <value><string>seas.upenn.edu</string></value>
                  <value><string>GRW</string></value>
                  <value><string></string></value>
                  <value><string>Graduate Research Wing (Moore School)</string></value>
                  <value><string>255.255.252.0</string></value>
                  <value><string>130.91.4.1</string></value>
                  <value><string>00000000000000530900000000</string></value>
                  <value><string>ADMIN</string></value>
            </data></array></value>
      </data></array></value>
</param>
</params>

</methodResponse>

4.6. methodName asgs230.findSRV

4.6.1. Description

This method retrieves SRV records with domain names matching a specified pattern.

4.6.2. methodCall Parameters

Type Description
string A domain name, which may contain '*' as a wildcard matching any number of characters.
array Each value in this array is a string containing a domain name suffix. Records will be returned only for owner names that end with the specified suffixes.

4.6.3. Example methodCall


<?xml version="1.0"?>
<methodCall>
<methodName>asgs230.findSRV</methodName>
<params>
	<param><value><string>*.key.seas.upenn.edu</string></value></param>
	<param><value><array><data>
	<value><string>seas.upenn.edu</string></value></data></array></value>
</param>
</params>
</methodCall>

4.6.4. methodResponse Parameter

The response parameter is an array of zero or more values. Each value in the array is an array containing the following values describing a host:
Type Description
string The SRV record's domain name.
array The SRV record information.
int The TTL for the SRV record.

4.6.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
	<value><array><data>
		<value><array><data>
			<value><string>8456a030-38d4-4973-8027-bcda12cbe91c.domains._msdcs.key.seas.upenn.edu</string></value>
			<value><array><data>
				<value><array><data>
					<value><string>_ldap</string></value>
					<value><string>_tcp</string></value>
					<value><int>0</int></value>
					<value><int>100</int></value>
					<value><string>zoo.key.seas.upenn.edu</string></value>
					<value><int>389</int></value>
				</data></array></value>
			</data></array></value>
			<value><int>86400</int></value>
		</data></array></value>
		<value><array><data>
			<value><string>pdc._msdcs.key.seas.upenn.edu</string></value>
			<value><array><data>
				<value><array><data>
					<value><string>_ldap</string></value>
					<value><string>_tcp</string></value>
					<value><int>0</int></value>
					<value><int>100</int></value>
					<value><string>zoo.key.seas.upenn.edu</string></value>
					<value><int>389</int></value>
				</data></array></value>
			</data></array></value>
			<value><int>86400</int></value>
		</data></array></value>
	</data></array></value>
</param>
</params>

</methodResponse>

4.7. methodName asgs230.flatFindHost

4.7.1. Description

This method retrieves A/PTR records and other host data for domain names matching a specified pattern. It lacks the data typing information provided by the asgs230.findHost method, but provides a lower-overhead encoding that's more suitable for large transfers.

4.7.2. methodCall Parameters

Type Description
string A domain name, which may contain '*' as a wildcard matching any number of characters.
array Each value in this array is a string containing a domain name suffix. Records will be returned only for owner names that end with the specified suffixes.

4.7.3. Example methodCall


<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.flatFindHost</methodName>
<params>
    <param>
        <value><string>*.services.magpi.net</string></value>
    </param>
    <param>
        <value><array><data>
            <value><string>magpi.net</string></value>
            <value><string>magpi.org</string></value>
        </data></array></value>
    </param>
</params>
</methodCall>

4.7.4. methodResponse Parameter

The response parameter is a string describing the matching hosts. Each newline-terminated row describes one host and consists of the following values separated by tab characters:
  • The A record's domain name.
  • The IPv4 address.
  • The host type, which may have any of the values returned by the asgs230.getAllHostTypes method.
  • The first address in the host's IPv4 address range.
  • The last address in the host's IPv4 address range.
  • The domain name of the IPv4 address range.
  • The three-letter building code.
  • A human-readanble description of the IPv4 address range, or an empty string if no description has been provided.
  • The human-readable building name.
  • The subnet mask, or an empty string if the subnet mask is unknown.
  • The default gateway address, or an empty string if the default gateway address is unknown.
  • The room where the host is located, or an empty string if the room is unknown.
  • The hardware vendor.
  • The hardware model, or an empty string if the model is unknown.
  • The name of a contact list responsible for administration of the host.
  • The name of a contact list responsible for the host's DNS records.
  • The host's primary end user, or an empty string if the end user is unknown.
  • Human-readable remarks, or an empty string if no remarks have been provided.
  • 1 if an A record is to be published for this host, or 0 if not.
  • 1 if a PTR record is to be published for this host, or 0 if not.
  • The TTL, or -1 for the zone's default TTL.

4.7.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><string>I2.SERVICES.MAGPI.NET	198.32.42.34	core network equipment	198.32.42.33	198.32.42.46	magpi.net	COL		College Hall	255.255.255.240	198.32.42.34		Cisco			MAGPI: Operations	MAGPI: Operations			1	1	-1
ISP.SERVICES.MAGPI.NET	198.32.42.33	core network equipment	198.32.42.33	198.32.42.46	magpi.net	COL		College Hall	255.255.255.240	198.32.42.34		Cisco			MAGPI: Operations	MAGPI: Operations			1	1	-1
SERVER-01.SERVICES.MAGPI.NET	198.32.42.38	end-user workstation	198.32.42.33	198.32.42.46	magpi.net	COL		College Hall	255.255.255.240	198.32.42.34		Compaq	DS10		MAGPI: Operations	MAGPI: Operations			1	1	-1
SERVER-02.SERVICES.MAGPI.NET	198.32.42.39	end-user workstation	198.32.42.33	198.32.42.46	magpi.net	COL		College Hall	255.255.255.240	198.32.42.34		Compaq	DS10		MAGPI: Operations	MAGPI: Operations			1	1	-1
SWITCH-01.SERVICES.MAGPI.NET	198.32.42.35	end-user workstation	198.32.42.33	198.32.42.46	magpi.net	COL		College Hall	255.255.255.240	198.32.42.34		unknown			MAGPI: Operations	MAGPI: Operations			1	1	-1
SWITCH-02.SERVICES.MAGPI.NET	198.32.42.36	wiring closet equipment	198.32.42.33	198.32.42.46	magpi.net	COL		College Hall	255.255.255.240	198.32.42.34		3Com	Switch 1100		MAGPI: Operations	MAGPI: Operations			1	1	-1
SWITCH-03.SERVICES.MAGPI.NET	198.32.42.37	wiring closet equipment	198.32.42.33	198.32.42.46	magpi.net	WAL		3401 Walnut	255.255.255.240	198.32.42.34		3Com	Switch 1100		MAGPI: Operations	MAGPI: Operations		located in DMR. Fiber fed from 2500 in COL	1	1	-1</string></value>
</param>
</params>
</methodResponse>

4.8. methodName asgs230.getAllBuildings

4.8.1. Description

This method retrieves all of the building codes and descriptions in the Assignments database.

4.8.2. methodCall Parameters

None.

4.8.3. Example methodCall


<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.getAllBuildings</methodName>
<params>
</params>
</methodCall>

4.8.4. methodResponse Parameter

The response parameter is an array of zero or more values. Each value in the array is an array containing the following values describing a building:
Type Description
string The three-letter building code.
string The human-readable building name.

4.8.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><array><data>
      <value><array><data>
          <value><string>AAA</string></value>
          <value><string>No building code</string></value>
      </data></array></value>
      <value><array><data>
          <value><string>ACC</string></value>
          <value><string>Annenberg Communication Center</string></value>
      </data></array></value>
<value><array><data>
<value><string>WYN</string></value>
<value><string>Wayne Hall (WXPN)</string></value>
</data></array></value>
</data></array></value>
</param>
</params>
</methodResponse>

4.9. methodName asgs230.getAllContactGroups

4.9.1. Description

This method retrieves all of the contact group names in the Assignments database.

4.9.2. methodCall Parameters

None.

4.9.3. Example methodCall


<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.getAllContactGroups</methodName>
<params>
</params>
</methodCall>

4.9.4. methodResponse Parameter

The response parameter is an array of zero or more values. Each value in the array is a string containing the name of a contact group.

4.9.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><array><data>
       <value><string>AC</string></value>
       <value><string>ASC</string></value>
       <value><string>Wistar</string></value>
</data></array></value>
</param>
</params>
</methodResponse>

4.10. methodName asgs230.getAllContactLists

4.10.1. Description

This method retrieves all of the contact lists in the Assignments database.

4.10.2. methodCall Parameters

None.

4.10.3. Example methodCall


<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.getAllContactListslt;/methodName>
<params>
</params>
</methodCall>

4.10.4. methodResponse Parameter

The response parameter is an array of zero or more values. Each value in the array is an array containing the following values describing a contact list:
Type Description
string The contact list name.
array The contacts in the list. Each value in this array is an array describing one contact.

An array describing one contact contains the following values:
Type Description
string The contact's name.
string The contact's electronic mail address.

4.10.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><array><data>
        <value><array><data>
                <value><string>AC: LSP</string></value>
                <value><array><data>
                    <value><array><data>
                        <value><string>An LSP's name</string></value>
                        <value><string>addr@subdomain.upenn.edu</string></value>
                    </data></array></value>
                </data></array></value>
        </data></array></value>

        <value><array><data>
                <value><string>ASC: LSP</string></value>
                <value><array><data>
                    <value><array><data>
                        <value><string>A second LSP's name</string></value>
                        <value><string>and@address.upenn.edu</string></value>
                    </data></array></value>
                    <value><array><data>
                        <value><string>A third LSP</string></value>
                        <value><string>address@dept.upenn.edu</string></value>
                    </data></array></value>
                </data></array></value>
        </data></array></value>
</data></array></value>
</param>
</params>
</methodResponse>

4.11. methodName asgs230.getAllDomains

4.11.1. Description

This method retrieves all of the domain names and descriptions in the Assignments database.

4.11.2. methodCall Parameters

None.

4.11.3. Example methodCall


<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.getAllDomains</methodName>
<params>
</params>
</methodCall>

4.11.4. methodResponse Parameter

The response parameter is an array of zero or more values. Each value in the array is an array containing the following values describing a domain:
Type Description
string The domain name.
string A human-readable description of the domain name's organizational affiliation.

4.11.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><array><data>
      <value><array><data>
          <value><string>ac.upenn.edu</string></value>
          <value><string>Annenberg Center</string></value>
      </data></array></value>
      <value><array><data>
          <value><string>xrt.upenn.edu</string></value>
          <value><string>Department of Radiation Oncology, UPHS</string></value>
      </data></array></value>
</data></array></value>
</param>
</params>
</methodResponse>

4.12. methodName asgs230.getAllHostTypes

4.12.1. Description

This method retrieves all of the host types that can be used in the Assignments database.

4.12.2. methodCall Parameters

None.

4.12.3. Example methodCall


<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.getAllHostTypes</methodName>
<params>
</params>
</methodCall>

4.12.4. methodResponse Parameter

The response parameter is an array of zero or more values. Each value in the array is a string containing a host type.

4.12.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><array><data>
     <value><string>end-user workstation</string></value>
     <value><string>server</string></value>
     <value><string>printer</string></value>
     <value><string>terminal server</string></value>
     <value><string>core network equipment</string></value>
     <value><string>building entrance equipment</string></value>
     <value><string>wiring closet equipment</string></value>
     <value><string>misc. network infrastructure</string></value>
     <value><string>other</string></value>
</data></array></value>
</param>
</params>



4.13. methodName asgs230.getAllIPv4AddressRanges

4.13.1. Description

This method retrieves all of the network ranges that can be used in the Assignments database.

4.13.2. methodCall Parameters

None.

4.13.3. Example methodCall


<?xml version="1.0"?>
<methodCall>
<methodName>asgs230.getAllIPv4AddressRanges</methodName>
<params>
</params>
</methodCall>

4.13.4. methodResponse Parameter

The response parameter is an array of zero or more values. Each value in the array is an array containing values describing an IPv4 address range.

4.13.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
      <value><array><data>
            <value><array><data>
                  <value><string>0.0.0.0</string></value>
                  <value><string>255.255.255.255</string></value>
                  <value><string>com</string></value>
                  <value><string>AAA</string></value>
                  <value><string>internet</string></value>
                  <value><string>No building code</string></value>
                  <value><string></string></value>
                  <value><string></string></value>
                  <value><string>00000000000000530900000000</string></value>
                  <value><string>ADMIN</string></value>
            </data></array></value>
            <value><array><data>
                  <value><string>0.0.0.0</string></value>
                  <value><string>255.255.255.255</string></value>
                  <value><string>edu</string></value>
                  <value><string>AAA</string></value>
                  <value><string>internet</string></value>
                  <value><string>No building code</string></value>
                  <value><string></string></value>
                  <value><string></string></value>
                  <value><string>00000000000000530900000000</string></value>
                  <value><string>ADMIN</string></value>
            </data></array></value>
            <value><array><data>
                  <value><string>64.78.45.16</string></value>
                  <value><string>64.78.45.16</string></value>
                  <value><string>wharton.upenn.edu</string></value>
                  <value><string>SDH</string></value>
                  <value><string>diaries.wharton.upenn.edu</string></value>
                  <value><string>Steinberg Hall-Dietrich Hall</string></value>
                  <value><string></string></value>
                  <value><string></string></value>
                  <value><string>00000000000000530900000000</string></value>
                  <value><string>ADMIN</string></value>
            </data></array></value>
            <value><array><data>
                  <value><string>66.102.130.166</string></value>
                  <value><string>66.102.130.166</string></value>
                  <value><string>wharton.upenn.edu</string></value>
                  <value><string>SDH</string></value>
                  <value><string>Grad Student Affairs, wga.wharton.upenn.edu</string></value>
                  <value><string>Steinberg Hall-Dietrich Hall</string></value>
                  <value><string></string></value>
                  <value><string></string></value>
                  <value><string>00000000000000530900000000</string></value>
                  <value><string>ADMIN</string></value>
            </data></array></value>
            <value><array><data>
                  <value><string>127.0.0.1</string></value>
                  <value><string>127.0.0.1</string></value>
                  <value><string>upenn.edu</string></value>
                  <value><string>AAA</string></value>
                  <value><string>loopback</string></value>
                  <value><string>No building code</string></value>
                  <value><string></string></value>
                  <value><string></string></value>
                  <value><string>00000000000000530900000000</string></value>
                  <value><string>ADMIN</string></value>
            </data></array></value>
            <value><array><data>
                  <value><string>128.91.0.1</string></value>
                  <value><string>128.91.255.254</string></value>
                  <value><string>upenn.edu</string></value>
                  <value><string>COL</string></value>
                  <value><string>do not select</string></value>
                  <value><string>College Hall</string></value>
                  <value><string></string></value>
                  <value><string></string></value>
                  <value><string>00000000000000530900000000</string></value>
                  <value><string>ADMIN</string></value>
            </data></array></value>
      </data></array></value>
</param>
</params>

</methodResponse>

4.14. methodName asgs230.getAllUsers

4.14.1. Description

This administrative method retrieves all of the PennKeys which are allowed access to the Assignments database. This method is for administrative use only.

4.14.2. methodCall Parameters

None.

4.14.3. Example methodCall


<?xml version="1.0"?>
<methodCall>
<methodName>asgs230.getAllUsers</methodName>
<params>
</params>
</methodCall>

4.14.4. methodResponse Parameter

The response parameter is an array of zero or more values.

4.14.5. Example methodResponse

This response is undocumented.

4.15. methodName asgs230.getAllVendors

4.15.1. Description

This method retrieves all of the predefined vendor names in the Assignments database.

4.15.2. methodCall Parameters

None.

4.15.3. Example methodCall


<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.getAllVendors</methodName>
<params>
</params>
</methodCall>

4.15.4. methodResponse Parameter

The response parameter is an array of zero or more values. Each value in the array is a string containing the name of a vendor.

4.15.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><array><data>
    <value><string>3Com</string></value>
    <value><string>Apple</string></value>
    <value><string>Toshiba</string></value>
    <value><string>other</string></value>
    <value><string>unknown</string></value>
</data></array></value>
</param>
</params>
</methodResponse>


4.16. methodName asgs230.getContactLists

4.16.1. Description

This method retrieves the names and email addresses of people listed as contacts in the specified Assignments contact lists.

4.16.2. methodCall Parameters

Type Description
string The contact list to be queries.

4.16.3. Example methodCall


<?xml version="1.0"?>
<methodCall>
<methodName>asgs230.getContactLists</methodName>
<params>
<param><value><array><data>
<value><string>SEAS: CETS</string></value></data></array></value>
</param>
</params>
</methodCall>

4.16.4. methodResponse Parameter

The response parameter is an array of zero or more values. Each value is an array containing the the following information about a contact list:

Type Description
string The name of the contact list.
array An array of zero or more arrays, each containing a user's full name and email address.

4.16.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
      <value><array><data>
            <value><array><data>
                  <value><string>SEAS: CETS</string></value>
                  <value><array><data>
                        <value><array><data>
                              <value><string>Jorj Bauer</string></value>
                              <value><string>jorj@seas.upenn.edu</string></value>
                        </data></array></value>
                        <value><array><data>
                              <value><string>John Q. Bozo</string></value>
                              <value><string>testbozo@cis.upenn.edu</string></value>
                        </data></array></value>
                  </data></array></value>
            </data></array></value>
      </data></array></value>
</param>
</params>

</methodResponse>

4.17. methodName asgs230.getFAQ

4.17.1. Description

This method retrieves a Frequently Asked Questions list.

4.17.2. methodCall Parameters

None.

4.17.3. Example methodCall


<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.getFAQ</methodName>
<params>
</params>
</methodCall>

4.17.4. methodResponse Parameter

The response parameter is an array of zero or more values. Each value in the array is an array containing the following values for one frequently asked question:
Type Description
string The question.
string The answer.
dateTime.iso8601 The date and time of the last update to this question and answer.

4.17.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><array><data>
      <value><array><data>
          <value><string>0.00 Table of Contents</string></value>
          <value><string>1.00 Questions about DNS management
2.00 Questions about Assignments 2
3.00 Differences between Assignments 2 and the original Assignments application
</string></value>
          <value><dateTime.iso8601>19990717T13:40:23</dateTime.iso8601></value>
      </data></array></value>
</data></array></value>
</param>
</params>
</methodResponse>

4.18. methodName asgs230.getMOTD

4.18.1. Description

This method retrieves a human-readable banner, or Message Of The Day, from the Assignments server.

4.18.2. methodCall Parameters

None.

4.18.3. Example methodCall


<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.getMOTD</methodName>
<params>
</params>
</methodCall>

4.18.4. methodResponse Parameter

The response parameter is a human-readable string containing the Message Of The Day.

4.18.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><string>
Your client is using version 192 of the Assignments protocol. You must be running a prebeta snapshot, eh?
</string></value>
</param>
</params>

4.19. methodName asgs230.getPermissions

4.19.1. Description

4.19.2. methodCall Parameters

None.

4.19.3. Example methodCall


<?xml version="1.0"?>
<methodCall>
<methodName>asgs230.getPermissions</methodName>
<params>
</params>
</methodCall>

4.19.4. methodResponse Parameter

The response parameter is a struct containing information about the user's permissions in the Assignments system.

4.19.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><struct>
      <member>
            <name>RecordToCreate</name>
            <value><struct>
                  <member>
                        <name>RRTypes</name>
                        <value><array><data>
                              <value><string>A</string></value>
                              <value><string>MX</string></value>
                              <value><string>CNAME</string></value>
                              <value><string>TXT</string></value>
                              <value><string>AAAA</string></value>
                        </data></array></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>SearchMACHistory</name>
            <value><struct>
                  <member>
                        <name>AllowUnregisteredIP</name>
                        <value><boolean>0</boolean></value>
                  </member>
                  <member>
                        <name>AllowMAC</name>
                        <value><boolean>0</boolean></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>Global</name>
            <value><struct>
                  <member>
                        <name>AllowORG</name>
                        <value><boolean>0</boolean></value>
                  </member>
                  <member>
                        <name>Admin</name>
                        <value><boolean>0</boolean></value>
                  </member>
                  <member>
                        <name>RequireORG</name>
                        <value><boolean>0</boolean></value>
                  </member>
                  <member>
                        <name>RestrictBilling</name>
                        <value><boolean>0</boolean></value>
                  </member>
                  <member>
                        <name>Domains</name>
                        <value><array><data>
                              <value><string>lrsm.upenn.edu</string></value>
                              <value><string>physics.upenn.edu</string></value>
                              <value><string>psych.upenn.edu</string></value>
                              <value><string>robotics.upenn.edu</string></value>
                              <value><string>seas.upenn.edu</string></value>
                        </data></array></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>A</name>
            <value><struct>
                  <member>
                        <name>ContactLists</name>
                        <value><array><data>
                              <value><string>SEAS: CETS Networking</string></value>
                              <value><string>SEAS: CIS</string></value>
                        </data></array></value>
                  </member>
                  <member>
                        <name>ContactGroups</name>
                        <value><array><data>
                              <value><string>SEAS</string></value>
                        </data></array></value>
                  </member>
                  <member>
                        <name>HostTypes</name>
                        <value><array><data>
                              <value><string>end-user workstation</string></value>
                              <value><string>end-user workstation (100Mbps)</string></value>
                              <value><string>server</string></value>
                              <value><string>server (100Mbps)</string></value>
                              <value><string>printer</string></value>
                              <value><string>terminal server</string></value>
                              <value><string>misc. network infrastructure</string></value>
                              <value><string>other</string></value>
                              <value><string>other (100Mbps)</string></value>
                        </data></array></value>
                  </member>
            </struct></value>
      </member>
</struct></value>
</param>
</params>

</methodResponse>

4.20. methodName asgs230.getPreferences

4.20.1. Description

4.20.2. methodCall Parameters

None.

4.20.3. Example methodCall


<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.getPreferences</methodName>
<params>
</params>
</methodCall>

4.20.4. methodResponse Parameter

The response parameter is a struct containing information about the user's preferences for the Assignments program.

4.20.5. Example methodResponse


<methodResponse>
<params>
<param>
<value><struct>
      <member>
            <name>A</name>
            <value><struct>
                  <member>
                        <name>IPv4Address</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>EndUser</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Vendor</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>HostContact</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>PublishPTR</name>
                        <value><boolean>1</boolean></value>
                  </member>
                  <member>
                        <name>TTL</name>
                        <value><int>-1</int></value>
                  </member>
                  <member>
                        <name>HostType</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>PTRTTL</name>
                        <value><int>86400</int></value>
                  </member>
                  <member>
                        <name>IPv4Range</name>
                        <value><array>
                              <data></data>
                        </array></value>
                  </member>
                  <member>
                        <name>PublishA</name>
                        <value><boolean>1</boolean></value>
                  </member>
                  <member>
                        <name>ORG</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>BudgetCode</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>AccountID</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Remarks</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>DNSContact</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Model</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>ATTL</name>
                        <value><int>86400</int></value>
                  </member>
                  <member>
                        <name>Room</name>
                        <value><string></string></value>
                  </member>
            </struct></value>
      </member>

      <member>
            <name>AAAA</name>
	    <value><struct>
<member>
<name>EndUser</name>
<value><string></string></value>
</member>
<member>
<name>Vendor</name>
<value><string></string></value>
</member>
<member>
<name>HostContact</name>
<value><string></string></value>
</member>
<member>
<name>IPv6Address</name>
<value><string></string></value>
</member>
<member>
<name>PublishPTR</name>
<value><boolean>1</boolean></value>
</member>
<member>
<name>IPv6Range</name>
<value><array><data>
</data></array></value>
</member>
<member>
<name>HostType</name>
<value><string></string></value>
</member>
<member>
<name>AAAATTL</name>
<value><int>86400</int></value>
</member>
<member>
<name>PTRTTL</name>
<value><int>86400</int></value>
</member>
<member>
<name>PublishAAAA</name>
<value><boolean>1</boolean></value>
</member>
<member>
<name>ORG</name>
<value><string></string></value>
</member>
<member>
<name>Remarks</name>
<value><string></string></value>
</member>
<member>
<name>DNSContact</name>
<value><string></string></value>
</member>
<member>
<name>Model</name>
<value><string></string></value>
</member>
<member>
<name>Room</name>
<value><string></string></value>
</member>
</struct></value>
</member>

      <member>
            <name>IdenticalBlock</name>
            <value><struct>
                  <member>
                        <name>Count</name>
                        <value><int>1</int></value>
                  </member>
                  <member>
                        <name>Digits</name>
                        <value><int>1</int></value>
                  </member>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Start</name>
                        <value><int>1</int></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>RecordToModify</name>
            <value><struct>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>Global</name>
            <value><struct>
                  <member>
                        <name>UpperCaseDomains</name>
                        <value><boolean>1</boolean></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>RecordToRename</name>
            <value><struct>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>Search</name>
            <value><struct>
                  <member>
                        <name>Building</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>EndUser</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>SortKey1</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Vendor</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>HostContact</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>SearchType</name>
                        <value><string>AND</string></value>
                  </member>
                  <member>
                        <name>IPv4End</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>IPv4Address</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>HostType</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>MailExchanger</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>IPv4Start</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>CanonicalName</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>SortKey2</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>ORG</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Remarks</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>DNSContact</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Model</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Target</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Room</name>
                        <value><string></string></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>RecordToCreate</name>
            <value><struct>
                  <member>
                        <name>RRType</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>NewName</name>
            <value><struct>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>CNAME</name>
            <value><struct>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>TTL</name>
                        <value><int>86400</int></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>SRV</name>
            <value><struct>
                  <member>
                        <name>Priority</name>
                        <value><int>0</int></value>
                  </member>
                  <member>
                        <name>Protocol</name>
                        <value><string>_</string></value>
                  </member>
                  <member>
                        <name>Weight</name>
                        <value><int>0</int></value>
                  </member>
                  <member>
                        <name>Service</name>
                        <value><string>_</string></value>
                  </member>
                  <member>
                        <name>TTL</name>
                        <value><int>86400</int></value>
                  </member>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Port</name>
                        <value><int>0</int></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>MX</name>
            <value><struct>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Preference</name>
                        <value><int>0</int></value>
                  </member>
                  <member>
                        <name>TTL</name>
                        <value><int>86400</int></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>RecordToCopy</name>
            <value><struct>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
            </struct></value>
      </member>
</struct></value>
</param>
</params>
</methodResponse>


4.21. methodName asgs230.noOp

4.21.1. Description

This method does nothing.

4.21.2. methodCall Parameters

None.

4.21.3. Example methodCall


<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.noOp</methodName>
<params>
</params>
</methodCall>

4.21.4. methodResponse Parameter

The response parameter is an empty string.

4.21.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><string></string></value>
</param>
</params>
</methodResponse>

4.22. methodName asgs230.searchHostHistory

4.22.1. Description

This method retrieves the Assignments database changes to a record.

4.22.2. methodCall Parameters

Type Description
dateTime.iso8601 The start of the time interval over which to search for changes.
dateTime.iso8601 The end of the time interval over which to search for changes.
struct A structure describing the search criteria.

The structure describing the search criteria should contain one (and only one) of the following:
Name Type Description
Hostname string The fully qualified domain name for the record to query.
IPv4Address string The dotted decimal IPv4 address of the host.

4.22.3. Example methodCall

[to be added]


4.22.4. methodResponse Parameter

[to be added]

4.22.5. Example methodResponse

[to be added]


4.23. methodName asgs230.searchResourceRecords

4.23.1. Description

4.23.2. methodCall Parameters

The method call takes three parameters:
Type Description
struct A structure describing the criteria to search for.
string Either the literal string "AND" or "OR", describing how to logically treat the search criteria.
array An array containing zero or more sorting criteria.

The struct describing the criteria contains one or more of these members:
Name Type Description
CanonicalName string A fully qualified domain name of a CNAME record.
Hostname string A fully qualified domain name. Wildcard "*" permitted.
IPv4Address string An IPv4 dotted decimal IP address.
IPv4End string An IPv4 dotted decimal end-of-range address.
IPv4Start string An IPv4 dotted decimal start-of-range address.
MailExchanger string A fully qualified domain name of an MX record.
Target string A fully qualified domain name of an SRV record.
Remarks string Remarks
HostContact string HostContact
DNSContact string DNSContact

4.23.3. Example methodCall


<?xml version="1.0"?>
<methodCall>
<methodName>asgs230.searchResourceRecords</methodName>
<params>
      <param><value><struct>
            <member><name>IPv4Address</name><value><string>158.130.64.11</string></value></member>
      </struct></value>
</param>
<param><value><string>AND</string></value></param>
<param><value><array><data>
</data></array></value>
</param>
</params>
</methodCall>

4.23.4. methodResponse Parameter

The response parameter is an array of arrays which contain arrays describing the search results of A/PTR, MX, SRV, and CNAME records (respectively).

4.23.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
      <value><array><data>
            <value><array><data>
                  <value><array><data>
                        <value><string>HOME.SEAS.UPENN.EDU</string></value>
                        <value><string>158.130.64.11</string></value>
                        <value><struct>
                              <member>
                                    <name>ATTL</name>
                                    <value><int>86400</int></value>
                              </member>
                              <member>
                                    <name>Model</name>
                                    <value><string></string></value>
                              </member>
                              <member>
                                    <name>DNSContact</name>
                                    <value><string>SEAS: CETS UNIX Admin</string></value>
                              </member>
                              <member>
                                    <name>Remarks</name>
                                    <value><string></string></value>
                              </member>
                              <member>
                                    <name>PublishA</name>
                                    <value><boolean>1</boolean></value>
                              </member>
                              <member>
                                    <name>IPv4Range</name>
                                    <value><array><data>
                                          <value><string>158.130.64.1</string></value>
                                          <value><string>158.130.71.230</string></value>
                                          <value><string>seas.upenn.edu</string></value>
                                          <value><string>GRW</string></value>
                                          <value><string></string></value>
                                          <value><string>Graduate Research Wing (Moore School)</string></value>
                                          <value><string></string></value>
                                          <value><string></string></value>
                                    </data></array></value>
                              </member>
                              <member>
                                    <name>PTRTTL</name>
                                    <value><int>86400</int></value>
                              </member>
                              <member>
                                    <name>HostType</name>
                                    <value><string>server</string></value>
                              </member>
                              <member>
                                    <name>Hostname</name>
                                    <value><string>HOME.SEAS.UPENN.EDU</string></value>
                              </member>
                              <member>
                                    <name>Room</name>
                                    <value><string>157</string></value>
                              </member>
                              <member>
                                    <name>PublishPTR</name>
                                    <value><boolean>1</boolean></value>
                              </member>
                              <member>
                                    <name>HostContact</name>
                                    <value><string>SEAS: CETS UNIX Admin</string></value>
                              </member>
                              <member>
                                    <name>Vendor</name>
                                    <value><string>Sun</string></value>
                              </member>
                              <member>
                                    <name>ORG</name>
                                    <value><string></string></value>
                              </member>
                              <member>
                                    <name>EndUser</name>
                                    <value><string></string></value>
                              </member>
                              <member>
                                    <name>IPv4Address</name>
                                    <value><string>158.130.64.11</string></value>
                              </member>
                        </struct></value>
                  </data></array></value>
            </data></array></value>
            <value><array><data>
            </data></array></value>
            <value><array><data>
            </data></array></value>
            <value><array><data>
            </data></array></value>
      </data></array></value>
</param>
</params>

</methodResponse>


4.24. methodName asgs230.setPreferences

4.24.1. Description

This method is used to set the user's preferences for the Assignments program.

4.24.2. methodCall Parameters

[to be added]

4.24.3. Example methodCall


<?xml version="1.0"?>
<methodCall>
<methodName>asgs230.setPreferences</methodName>
<params>
<param>
<value><struct>
      <member>
            <name>A</name>
            <value><struct>
                  <member>
                        <name>IPv4Address</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>EndUser</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Vendor</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>HostContact</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>PublishPTR</name>
                        <value><boolean>1</boolean></value>
                  </member>
                  <member>
                        <name>TTL</name>
                        <value><int>-1</int></value>
                  </member>
                  <member>
                        <name>HostType</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>PTRTTL</name>
                        <value><int>86400</int></value>
                  </member>
                  <member>
                        <name>IPv4Range</name>
                        <value><array>
                              <data></data>
                        </array></value>
                  </member>
                  <member>
                        <name>PublishA</name>
                        <value><boolean>1</boolean></value>
                  </member>
                  <member>
                        <name>ORG</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Remarks</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>DNSContact</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Model</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>ATTL</name>
                        <value><int>86400</int></value>
                  </member>
                  <member>
                        <name>Room</name>
                        <value><string></string></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>IdenticalBlock</name>
            <value><struct>
                  <member>
                        <name>Count</name>
                        <value><int>1</int></value>
                  </member>
                  <member>
                        <name>Digits</name>
                        <value><int>1</int></value>
                  </member>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Start</name>
                        <value><int>1</int></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>RecordToModify</name>
            <value><struct>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>Global</name>
            <value><struct>
                  <member>
                        <name>UpperCaseDomains</name>
                        <value><boolean>1</boolean></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>RecordToRename</name>
            <value><struct>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>Search</name>
            <value><struct>
                  <member>
                        <name>Building</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>EndUser</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>SortKey1</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Vendor</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>HostContact</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>SearchType</name>
                        <value><string>AND</string></value>
                  </member>
                  <member>
                        <name>IPv4End</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>IPv4Address</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>HostType</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>MailExchanger</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>IPv4Start</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>CanonicalName</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>SortKey2</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>ORG</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Remarks</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>DNSContact</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Model</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Target</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Room</name>
                        <value><string></string></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>RecordToCreate</name>
            <value><struct>
                  <member>
                        <name>RRType</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>NewName</name>
            <value><struct>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>CNAME</name>
            <value><struct>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>TTL</name>
                        <value><int>86400</int></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>SRV</name>
            <value><struct>
                  <member>
                        <name>Priority</name>
                        <value><int>0</int></value>
                  </member>
                  <member>
                        <name>Protocol</name>
                        <value><string>_</string></value>
                  </member>
                  <member>
                        <name>Weight</name>
                        <value><int>0</int></value>
                  </member>
                  <member>
                        <name>Service</name>
                        <value><string>_</string></value>
                  </member>
                  <member>
                        <name>TTL</name>
                        <value><int>86400</int></value>
                  </member>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Port</name>
                        <value><int>0</int></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>MX</name>
            <value><struct>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
                  <member>
                        <name>Preference</name>
                        <value><int>0</int></value>
                  </member>
                  <member>
                        <name>TTL</name>
                        <value><int>86400</int></value>
                  </member>
            </struct></value>
      </member>
      <member>
            <name>RecordToCopy</name>
            <value><struct>
                  <member>
                        <name>Hostname</name>
                        <value><string></string></value>
                  </member>
            </struct></value>
      </member>
</struct></value>
</param>
</params>
</methodCall>


4.24.4. methodResponse Parameter

The single parameter in this method's response is a string stating that the user's preferences have been updated.

4.24.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><string>user's preferences have been updated.</string></value>
</param>
</params>

</methodResponse>

4.25. methodName asgs230.updateBuilding

4.25.1. Description

[to be added]

4.25.2. methodCall Parameters

[to be added]

4.25.3. Example methodCall

[to be added]


4.25.4. methodResponse Parameter

[to be added]

4.25.5. Example methodResponse

[to be added]


4.26. methodName asgs230.updateCNAME

4.26.1. Description

This method creates, replaces, renames, or deletes a CNAME record.

4.26.2. methodCall Parameters

Type Description
string The owner of the CNAME record to be updated, or an empty string if a new CNAME record is to be created.
string The new owner of the CNAME record, or an empty string if an existing CNAME record is to be deleted.
string The new canonical name for the alias. This parameter may be omitted if the record is to be deleted.
int The new TTL for the CNAME record, or -1 for the zone's default TTL. This parameter may be omitted if the record is to be deleted.

4.26.3. Example methodCall

4.26.3.1. Record Creation

<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.updateCNAME</methodName>
<params>
   <param>
       <value><string></string></value>
   </param>
   <param>
       <value><string>dhcp-01.magpi.net</string></value>
   </param>
   <param>
       <value><string>server-01.services.magpi.net</string></value>
   </param>
   <param>
       <value><int>-1</int></value>
   </param>
</params>
</methodCall>

4.26.3.2. Record Replacement

<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.updateCNAME</methodName>
<params>
   <param>
       <value><string>dhcp-01.magpi.net</string></value>
   </param>
   <param>
       <value><string>dhcp-01.magpi.net</string></value>
   </param>
   <param>
       <value><string>server-02.services.magpi.net</string></value>
   </param>
   <param>
       <value><int>-1</int></value>
   </param>
</params>
</methodCall>

4.26.3.2. Record Renaming

<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.updateCNAME</methodName>
<params>
   <param>
       <value><string>dhcp-01.magpi.net</string></value>
   </param>
   <param>
       <value><string>dhcp-02.magpi.net</string></value>
   </param>
   <param>
       <value><string>server-02.services.magpi.net</string></value>
   </param>
   <param>
       <value><int>-1</int></value>
   </param>
</params>
</methodCall>

4.26.3.3. Record Deletion

<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.updateCNAME</methodName>
<params>
   <param>
       <value><string>dhcp-02.magpi.net</string></value>
   </param>
   <param>
       <value><string></string></value>
   </param>
</params>
</methodCall>

4.26.4. methodResponse Parameter

The response parameter is a human-readable string acknowledging completion of the operation.

4.26.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><string>The CNAME record for 'dhcp-01.magpi.net' has been created.</string></value>
</param>
</params>




4.27. methodName asgs230.updateContactList

4.27.1. Description

[to be added]

4.27.2. methodCall Parameters

[to be added]

4.27.3. Example methodCall

[to be added]


4.27.4. methodResponse Parameter

[to be added]

4.27.5. Example methodResponse

[to be added]


4.28. methodName asgs230.updateDomain

4.28.1. Description

[to be added]

4.28.2. methodCall Parameters

[to be added]

4.28.3. Example methodCall

[to be added]


4.28.4. methodResponse Parameter

[to be added]

4.28.5. Example methodResponse

[to be added]


4.29. methodName asgs230.updateHost

4.29.1. Description

This method creates, replaces, renames, renumbers, or deletes A/PTR records.

4.29.2. methodCall Parameters

Type Description
array An array of two string values containing the domain name and IPv4 address of the A/PTR records to be updated, or an array of zero values if new A/PTR records are to be created.
array An array of two string values containing the new domain name and new IPv4 address of the A/PTR records, or an array of zero values if existing A/PTR records are to be deleted.
struct Members describing the host. This parameter may be omitted if the records are to be deleted.

A struct describing a host contains the following members:
Name Type Description
IPv4Range array Values describing the IPv4 address range assigned to this host.
HostType string The host type, which may have any of the values returned by the asgs230.getAllHostTypes method.
Room string The host's specific location within its building, or an empty string if the specific location is unknown.
Vendor string The hardware vendor.
Model string The hardware model, or an empty string if the model is unknown.
ORG string The host's FinMIS Organizational Unit number, or an empty string if the ORG number is unknown. This member must be specified if the RequireORG attribute in the Global attribute group of the user's permissions has a true value. Otherwise it may be omitted at the client's discretion, and if the AllowORG attribute in the Global attribute group of the user's permissions has a false value then the server will ignore this member even if it is specified.
BudgetCode string 26 digit university budgetcode or an empty string to use range default
AccountID string AccountID or an empty string to use range default
HostContact string The name of a contact list responsible for administration of the host.
DNSContact string The name of a contact list responsible for the host's DNS records.
EndUser string The host's primary end user, or an empty string if the end user is unknown.
Remarks string Human-readable remarks, or an empty string.
ATTL int The TTL for an A record update, or -1 for the zone's default TTL.
PTRTTL int The TTL for a PTR record update, or -1 for the zone's default TTL.
PublishA boolean True if and only if an A record is to be published for this host.
PublishPTR boolean True if and only if a PTR record is to be published for this host.

An array describing one IPv4 address range contains the following values:
Type Description
string The first IPv4 address in the range.
string The last IPv4 address in the range.
string The domain name.
string The three-letter building code.
string BudgetCode*
string AccountID*
*The server expects that the BudgetCode and AccountID are the last two elements

4.29.3. Example methodCall

4.29.3.1. Record Creation

<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.updateHost</methodName>
<params>
    <param>
        <value><array><data>
        </data></array></value>
    </param>
    <param>
        <value><array><data>
            <value><string>SERVER-01.SERVICES.MAGPI.NET</string></value>
            <value><string></string></value>
        </data></array></value>
    </param>
    <param>
        <value><struct>
            <member>
                <name>Model</name>
                <value><string>DS10</string></value>
            </member>
            <member>
                <name>DNSContact</name>
                <value><string>MAGPI: Operations</string></value>
            </member>
            <member>
                <name>Remarks</name>
                <value><string></string></value>
            </member>
            <member>
                <name>ATTL</name>
                <value><int>-1</int></value>
            </member>
            <member>
                <name>Vendor</name>
                <value><string>Compaq</string></value>
            </member>
            <member>
                <name>PublishA</name>
                <value><boolean>1</boolean></value>
            </member>
            <member>
                <name>IPv4Range</name>
                <value><array><data>
                    <value><string>198.32.42.33</string></value>
                    <value><string>198.32.42.46</string></value>
                    <value><string>magpi.net</string></value>
                    <value><string>COL</string></value>
                    <value><string></string></value>
                    <value><string>College Hall</string></value>
                    <value><string>00000000000000530900000000</string></value>
                    <value><string>Admin</string></value>
                </data></array></value>
            </member>
            <member>
                <name>HostType</name>
                <value><string>end-user workstation</string></value>
            </member>
            <member>
                <name>PublishPTR</name>
                <value><boolean>1</boolean></value>
            </member>
            <member>
                <name>Room</name>
                <value><string></string></value>
            </member>
            <member>
                <name>ORG</name>
                <value><string></string></value>
            </member>
            <member>
                <name>BudgetCode</name>
                <value><string>000000010000530900000000</string></value>
            </member>
            <member>
                <name>AccountID</name>
                <value><string>ADMIN</string></value>
            </member>
            <member>
                <name>EndUser</name>
                <value><string></string></value>
            </member>
            <member>
                <name>HostContact</name>
                <value><string>MAGPI: Operations</string></value>
            </member>
        </struct></value>
    </param>
</params>
</methodCall>

4.29.3.2. Record Replacement

<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.updateHost</methodName>
<params>
    <param>
        <value><array><data>
            <value><string>SERVER-01.SERVICES.MAGPI.NET</string></value>
            <value><string>198.32.42.38</string></value>
        </data></array></value>
    </param>
    <param>
        <value><array><data>
            <value><string>SERVER-01.SERVICES.MAGPI.NET</string></value>
            <value><string>198.32.42.38</string></value>
        </data></array></value>
    </param>
    <param>
        <value><struct>
            <member>
                <name>Model</name>
                <value><string>DS10</string></value>
            </member>
            <member>
                <name>DNSContact</name>
                <value><string>MAGPI: Operations</string></value>
            </member>
            <member>
                <name>Remarks</name>
                <value><string>This is the backup server for MAGPI.</string></value>
            </member>
            <member>
                <name>ATTL</name>
                <value><int>43200</int></value>
            </member>
            <member>
                <name>Vendor</name>
                <value><string>Compaq</string></value>
            </member>
            <member>
                <name>PublishA</name>
                <value><boolean>1</boolean></value>
            </member>
            <member>
                <name>IPv4Range</name>
                <value><array><data>
                    <value><string>198.32.42.33</string></value>
                    <value><string>198.32.42.46</string></value>
                    <value><string>magpi.net</string></value>
                    <value><string>COL</string></value>
                    <value><string></string></value>
                    <value><string>College Hall</string></value>
                    <value><string>00000000000000530900000000</string></value>
                    <value><string>Admin</string></value>
                </data></array></value>
            </member>
            <member>
                <name>HostType</name>
                <value><string>server</string></value>
            </member>
            <member>
                <name>PublishPTR</name>
                <value><boolean>1</boolean></value>
            </member>
            <member>
                <name>Room</name>
                <value><string>CHNR</string></value>
            </member>
            <member>
                <name>ORG</name>
                <value><string></string></value>
            </member>
            <member>
                <name>BudgetCode</name>
                <value><string>000000010000530900000000</string></value>
            </member>
            <member>
                <name>AccountID</name>
                <value><string>ADMIN</string></value>
            </member>
            <member>
                <name>EndUser</name>
                <value><string></string></value>
            </member>
            <member>
                <name>HostContact</name>
                <value><string>MAGPI: Operations</string></value>
            </member>
        </struct></value>
    </param>
</params>
</methodCall>

4.29.3.3. Record Renaming

<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.updateHost</methodName>
<params>
    <param>
        <value><array><data>
            <value><string>SERVER-01.SERVICES.MAGPI.NET</string></value>
            <value><string>198.32.42.38</string></value>
        </data></array></value>
    </param>
    <param>
        <value><array><data>
            <value><string>SERVER-02.SERVICES.MAGPI.NET</string></value>
            <value><string>198.32.42.38</string></value>
        </data></array></value>
    </param>
    <param>
        <value><struct>
            <member>
                <name>Model</name>
                <value><string>DS10</string></value>
            </member>
            <member>
                <name>DNSContact</name>
                <value><string>MAGPI: Operations</string></value>
            </member>
            <member>
                <name>Remarks</name>
                <value><string>This is the backup server for MAGPI.</string></value>
            </member>
            <member>
                <name>ATTL</name>
                <value><int>43200</int></value>
            </member>
            <member>
                <name>Vendor</name>
                <value><string>Compaq</string></value>
            </member>
            <member>
                <name>PublishA</name>
                <value><boolean>1</boolean></value>
            </member>
            <member>
                <name>IPv4Range</name>
                <value><array><data>
                    <value><string>198.32.42.33</string></value>
                    <value><string>198.32.42.46</string></value>
                    <value><string>magpi.net</string></value>
                    <value><string>COL</string></value>
                    <value><string></string></value>
                    <value><string>College Hall</string></value>
                    <value><string>00000000000000530900000000</string></value>
                    <value><string>Admin</string></value>
                </data></array></value>
            </member>
            <member>
                <name>HostType</name>
                <value><string>server</string></value>
            </member>
            <member>
                <name>PublishPTR</name>
                <value><boolean>1</boolean></value>
            </member>
            <member>
                <name>Room</name>
                <value><string>CHNR</string></value>
            </member>
            <member>
                <name>ORG</name>
                <value><string></string></value>
            </member>
            <member>
                <name>BudgetCode</name>
                <value><string>000000010000530900000000</string></value>
            </member>
            <member>
                <name>AccountID</name>
                <value><string>ADMIN</string></value>
            </member>
            <member>
                <name>EndUser</name>
                <value><string></string></value>
            </member>
            <member>
                <name>HostContact</name>
                <value><string>MAGPI: Operations</string></value>
            </member>
        </struct></value>
    </param>
</params>
</methodCall>

4.29.3.4. Record Renumbering

<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.updateHost</methodName>
<params>
    <param>
        <value><array><data>
            <value><string>SERVER-02.SERVICES.MAGPI.NET</string></value>
            <value><string>198.32.42.38</string></value>
        </data></array></value>
    </param>
    <param>
        <value><array><data>
            <value><string>SERVER-02.SERVICES.MAGPI.NET</string></value>
            <value><string>198.32.42.39</string></value>
        </data></array></value>
    </param>
    <param>
        <value><struct>
            <member>
                <name>Model</name>
                <value><string>DS10</string></value>
            </member>
            <member>
                <name>DNSContact</name>
                <value><string>MAGPI: Operations</string></value>
            </member>
            <member>
                <name>Remarks</name>
                <value><string>This is the backup server for MAGPI.</string></value>
            </member>
            <member>
                <name>ATTL</name>
                <value><int>43200</int></value>
            </member>
            <member>
                <name>Vendor</name>
                <value><string>Compaq</string></value>
            </member>
            <member>
                <name>PublishA</name>
                <value><boolean>1</boolean></value>
            </member>
            <member>
                <name>IPv4Range</name>
                <value><array><data>
                    <value><string>198.32.42.33</string></value>
                    <value><string>198.32.42.46</string></value>
                    <value><string>magpi.net</string></value>
                    <value><string>COL</string></value>
                    <value><string></string></value>
                    <value><string>College Hall</string></value>
                    <value><string>00000000000000530900000000</string></value>
                    <value><string>Admin</string></value>
                </data></array></value>
            </member>
            <member>
                <name>HostType</name>
                <value><string>server</string></value>
            </member>
            <member>
                <name>PublishPTR</name>
                <value><boolean>1</boolean></value>
            </member>
            <member>
                <name>Room</name>
                <value><string>CHNR</string></value>
            </member>
            <member>
                <name>ORG</name>
                <value><string></string></value>
            </member>
            <member>
                <name>BudgetCode</name>
                <value><string>000000010000530900000000</string></value>
            </member>
            <member>
                <name>AccountID</name>
                <value><string>ADMIN</string></value>
            </member>
            <member>
                <name>EndUser</name>
                <value><string></string></value>
            </member>
            <member>
                <name>HostContact</name>
                <value><string>MAGPI: Operations</string></value>
            </member>
        </struct></value>
    </param>
</params>
</methodCall>

4.29.3.5. Record Deletion

<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.updateHost</methodName>
<params>
    <param>
        <value><array><data>
            <value><string>SERVER-02.SERVICES.MAGPI.NET</string></value>
            <value><string>198.32.42.39</string></value>
        </data></array></value>
    </param>
    <param>
        <value><array><data>
        </data></array></value>
    </param>
</params>
</methodCall>

4.29.4. methodResponse Parameter

The response parameter is an array of four values:

Type Description
string A human-readable string acknowledging completion of the operation.
string The IPv4 address of the record.
string The subnet mask for this host, or an empty string if the subnet mask is unknown.
string The default gateway address for this host, or an empty string if the default gateway address is unknown.

4.29.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
    <value><array><data>
        <value><string>The record for SERVER-01.SERVICES.MAGPI.NET has been created. Its IP address is 198.32.42.38. Its netmask is 255.255.255.240. Its gateway address is 198.32.42.34.</string></value>
        <value><string>198.32.42.38</string></value>
        <value><string>255.255.255.240</string></value>
        <value><string>198.32.42.34</string></value>
    </data></array></value>
</param>
</params>
</methodResponse>

4.30. methodName asgs230.updateIPv4AddressRange

4.30.1. Description

[to be added]

4.30.2. methodCall Parameters

[to be added]

4.30.3. Example methodCall

[to be added]


4.30.4. methodResponse Parameter

[to be added]

4.30.5. Example methodResponse

[to be added]


4.31. methodName asgs230.updateMX

4.31.1. Description

This method creates, replaces, renames, or deletes an MX record set.

4.31.2. methodCall Parameters

Type Description
string The owner of the MX record set to be updated, or an empty string if a new MX record set is to be created.
string The new owner of the MX record set, or an empty string if an existing MX record set is to be deleted.
array The new set of mail exchangers in the MX record set. Each value in this array is an array describing one mail exchanger. This parameter may be omitted if the record set is to be deleted.
int The new TTL for the MX record set, or -1 for the zone's default TTL. This parameter may be omitted if the record is to be deleted.

An array describing one mail exchanger contains the following values:
Type Description
int The mail exchanger's preference.
string The mail exchanger's domain name.

4.31.3. Example methodCall

4.31.3.1. Record Creation

<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.updateMX</methodName>
<params>
    <param>
        <value><string></string></value>
    </param>
    <param>
        <value><string>magpi.net</string></value>
    </param>
    <param>
        <value><array><data>
            <value><array><data>
                <value><int>0</int></value>
                <value><string>server-01.services.magpi.net</string></value>
            </data></array></value>
        </data></array></value>
    </param>
    <param>
        <value><int>-1</int></value>
    </param>
</params>
</methodCall>

4.31.3.1. Record Replacement

<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.updateMX</methodName>
<params>
    <param>
        <value><string>magpi.net</string></value>
    </param>
    <param>
        <value><string>magpi.net</string></value>
    </param>
    <param>
        <value><array><data>
            <value><array><data>
                <value><int>0</int></value>
                <value><string>server-01.services.magpi.net</string></value>
            </data></array></value>
            <value><array><data>
                <value><int>0</int></value>
                <value><string>server-02.services.magpi.net</string></value>
            </data></array></value>
        </data></array></value>
    </param>
    <param>
        <value><int>-1</int></value>
    </param>
</params>
</methodCall>

4.31.3.1. Record Renaming

<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.updateMX</methodName>
<params>
    <param>
        <value><string>magpi.net</string></value>
    </param>
    <param>
        <value><string>magpi.org</string></value>
    </param>
    <param>
        <value><array><data>
            <value><array><data>
                <value><int>0</int></value>
                <value><string>server-01.services.magpi.net</string></value>
            </data></array></value>
            <value><array><data>
                <value><int>0</int></value>
                <value><string>server-02.services.magpi.net</string></value>
            </data></array></value>
        </data></array></value>
    </param>
    <param>
        <value><int>-1</int></value>
    </param>
</params>
</methodCall>

4.31.3.1. Record Deletion

<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.updateMX</methodName>
<params>
    <param>
        <value><string>magpi.org</string></value>
    </param>
    <param>
        <value><string></string></value>
    </param>
</params>
</methodCall>

4.31.4. methodResponse Parameter

The response parameter is a human-readable string acknowledging completion of the operation.

4.31.5. Example methodResponse


<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><string>The Mail Exchanger list for 'magpi.net' has been created.</string></value>
</param>
</params>
</methodResponse>

4.32. methodName asgs230.updateSRV

4.32.1. Description

This method creates, replaces, renames, or deletes an MX record set. [to be added

4.32.2. methodCall Parameters

Type Description
string The owner of the SRV record set to be updated, or an empty string if a new MX record set is to be created.
string The new owner of the SRV record set, or an empty string if an existing SRV record set is to be deleted.
array The new set of service records in the SRV record set. Each value in this array is an array describing one SRV record. This parameter may be omitted if the record set is to be deleted.
int The new TTL for the SRV record set, or -1 for the zone's default TTL. This parameter may be omitted if the record is to be deleted.

An array describing one service record contains the following values:
Type Description
string service name
string service protocol
int The SRV record priority.
int The SRV record weight.
string The SRV record domain name.
int The SRV port number.

[to be added]

4.32.3. Example methodCall

4.32.3.1 Record Creation

<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.updateSRV</methodName>
<params>
    <param>
        <value><string></string></value>
    </param>
    <param>
         <value><string>asgstest.net.isc.private.invalid</string></value>
    </param>
    <param>
        <value><array><data>
    <value><array><data>
    <value><string>_chen</string></value>
<value><string>_tcp</string></value>
<value><int>0</int></value>
<value><int>0</int></value>
<value><string>crackhed.asgstest.net.isc.private.invalid</string></value>
<value><int>2002</int></value>
</data></array></value>
</data></array></value>
</param>
<param>
<value><int>86400</int></value>
</param>
</params>
</methodCall>

4.32.3.1 Record Replacement

<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.updateSRV</methodName>
<params>
<param>
<value><string>asgstest.net.isc.private.invalid</string></value>
</param>
<param>
<value><string>asgstest.net.isc.private.invalid</string></value>
</param>
<param>
<value><array><data>
<value><array><data>
<value><string>_chen</string></value>
<value><string>_tcp</string></value>
<value><int>0</int></value>
<value><int>0</int></value>
<value><string>crackhed.asgstest.net.isc.private.invalid</string></value>
<value><int>2002</int></value>
</data></array></value>
<value><array><data>
<value><string>_chen</string></value>
<value><string>_tcp</string></value>
<value><int>0</int></value>
<value><int>0</int></value>
<value><string>junki.asgstest.net.isc.private.invalid</string></value>
<value><int>1998</int></value>
</data></array></value>
</data></array></value>
</param>
<param>
<value><int>86400</int></value>
</param>
</params>
</methodCall>

4.32.3.1 Record Deletion

<?xml version='1.0'?>
<methodCall>
<methodName>asgs230.updateSRV</methodName>
<params>
<param>
<value><string>asgstest.net.isc.private.invalid</string></value>
</param>
<param>
<value><string></string></value>
</param>
</params>
</methodCall>

4.32.4. methodResponse Parameter

The response parameter is a human-readable string acknowledging completion of the operation. [to be added]

4.32.5. Example methodResponse

<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><string>The SRV list for 'asgstest.net.isc.private.invalid' has been created.</string><
/value>
</param>
</params>
</methodResponse>
[to be added]


4.33. methodName asgs230.updateUser

4.33.1. Description

[to be added]

4.33.2. methodCall Parameters

[to be added]

4.33.3. Example methodCall

[to be added]


4.33.4. methodResponse Parameter

[to be added]

4.33.5. Example methodResponse

[to be added]


4.34. methodName asgs230.updateVendor

4.34.1. Description

[to be added]

4.34.2. methodCall Parameters

[to be added]

4.34.3. Example methodCall

[to be added]


4.34.4. methodResponse Parameter

[to be added]

4.34.5. Example methodResponse

[to be added]


5. User Profile Attributes

5.1. Permissions

[to be added]

5.2. Preferences

[to be added]

6. References

[1] RFC 2068

[1] SASL over HTTP/1.1 draft 05

[3] <URL:http://www.xmlrpc.com/spec/>. Many implementations of XML-RPC are available from <URL:http://www.xmlrpc.com/>.

top

Information Systems and Computing
University of Pennsylvania
Comments & Questions


University of Pennsylvania Penn Computing University of Pennsylvania Information Systems & Computing (ISC)
Information Systems and Computing, University of Pennsylvania