6 The Unbreakable Linux Network API
WARNING:
Oracle Linux 7 is now in Extended Support. See Oracle Linux Extended Support and Oracle Open Source Support Policies for more information.
Migrate applications and data to Oracle Linux 8 or Oracle Linux 9 as soon as possible.
Note:
This documentation is specific to Oracle Linux 6 and Oracle Linux 7. If you're using Oracle Linux 8 or Oracle Linux 9, see Oracle Linux: Managing Software on Oracle Linux.This appendix describes the XML-RPC methods that the API provides for access to the Unbreakable Linux Network (ULN).
This API is based on XML-RPC, which enables applications to perform remote operations by encoding the procedure calls in XML and transmitting them over HTTP. For more information about XML-RPC, see http://www.xmlrpc.com/.
The API is accessed at the server entry point URL at https://linux-update.oracle.com/XMLRPC.
The following method namespaces are available:
-
auth
-
Contains methods for authenticating with ULN. See Authentication Methods.
-
channel
-
Contains methods for listing software channels on ULN. See Channel Methods.
-
channel.software
-
Contains methods for querying packages available within different channels on ULN. See Channel Software Methods.
-
errata
-
Contains methods for interacting with errata on ULN. See Errata Methods.
-
packages
-
Contains methods for querying package information for specified packages on ULN. See Packages Methods.
-
system
-
Contains methods for managing systems registered with ULN. See System Methods.
Authentication Methods
Authentication methods are provided in the auth
namespace. The following methods are provided for authenticating
with ULN:
auth.login
The login
method logs in to ULN using a
specified user name and password.
The input parameters are as follows:
Input Parameters
-
string username
-
The Oracle Account user name to use for the session, for example:
myuser@example.com
-
string password
-
The password to use for the session, for example:
secret
Return Parameters
-
string sessionKey
-
The session key for the session. All other methods use the session key for the duration of the session. For example:
JyUVNoT74BFaRJ6fRjDIQ5idPmCaj5UJLb76E2f45Gc
auth.logout
The logout
method logs out of the ULN session
specified by the session key.
Input Parameters
-
string sessionKey
-
The session key of the session to be terminated. For example:
JyUVNoT74BFaRJ6fRjDIQ5idPmCaj5UJLb76E2f45Gc
Return Parameters
-
int
-
The method returns an
int
error code, which indicates whether the session terminated correctly. A value of1
indicates a successful return.
Channel Methods
Channel methods are available in the channel
namespace. The following method is provided for listing software
channels that are available on ULN:
channel.listSoftwareChannels
The listSoftwareChannels
method returns a
list of software channels that are available to a session on
ULN.
Input Parameters
-
string sessionKey
-
The session key for the session. For example:
JyUVNoT74BFaRJ6fRjDIQ5idPmCaj5UJLb76E2f45Gc
Return Parameters
-
array
-
An array of channels with:
-
struct (channel)
-
A structure containing the following strings:
-
string channel_arch
-
The channel architecture. For example:
x86_64
-
string channel_end_of_life
-
The channel end of life. Currently unused on ULN.
-
string channel_label
-
The channel label. For example:
ol7_x86_64_latest
-
string channel_name
-
The channel name. For example:
Oracle Linux 7 Latest (x86_64)
-
string channel_parent_label
-
The channel parent label. Currently unused on ULN.
-
-
Channel Software Methods
Channel software methods are available in the
channel.software
namespace. The following
methods can by used to query the packages that are available to a
session from a channel on ULN.
channel.software.getDetails
The getDetails
method returns the details of
the given channel.
Input Parameters
-
string sessionKey
-
The session key for the session. For example:
JyUVNoT74BFaRJ6fRjDIQ5idPmCaj5UJLb76E2f45Gc
-
string channelLabel
-
The channel label for the channel that you wish to query. For example:
ol7_x86_64_latest
Return Parameters
-
string channel_arch_name
-
The channel architecture name. For example:
x86_64
-
string channel_description
-
The channel description. For example:
All packages released for Oracle Linux 7 (x86_64) including the latest errata packages. (x86_64)
-
string channel_summary
-
The channel summary, usually the same as the channel name. For example:
Oracle Linux 7 Latest (x86_64)
-
struct metadata_urls
-
A dictionary or associative array of metadata locations and checksum information, including the URLs to download channel metadata.
-
struct filelists
-
-
string checksum_type
-
The hashing algorithm used to generate the checksum. For example:
sha
-
string checksum
-
The checksum for the filelists metadata file. For example:
abc4ef3d6e6b2bc3246e56ee4756ed5c245b60b0
-
string file_name
-
The file name for the filelists metadata at the channel location. For example:
repodata/filelists.xml.gz
-
string url
-
The URL where the filelists metadata can be accessed. For example:
https://uln.oracle.com/XMLRPC/GET-REQ/ol7_x86_64_latest/repodata/filelists.xml.gz
-
-
struct group
-
This structure is returned optionally if this information is available.
-
string checksum_type
-
The hashing algorithm used to generate the checksum. For example:
sha
-
string checksum
-
The checksum for the group metadata file. For example:
90acbe6860bbcd4e40ee71cec9d2397dceccbca6
-
string file_name
-
The file name for the group metadata at the channel location. For example:
repodata/comps.xml
-
string url
-
The URL where the group metadata can be accessed. For example:
https://uln.oracle.com/XMLRPC/GET-REQ/ol7_x86_64_latest/repodata/comps.xml
-
-
struct other
-
-
string checksum_type
-
The hashing algorithm used to generate the checksum. For example:
sha
-
string checksum
-
The checksum for the other metadata file. For example:
20f6b193cd9376d650cf96c8c01995cf7f02163a
-
string file_name
-
The file name for the other metadata at the channel location. For example:
repodata/other.xml.gz
-
string url
-
The URL where the other metadata can be accessed. For example:
https://uln.oracle.com/XMLRPC/GET-REQ/ol7_x86_64_latest/repodata/other.xml.gz
-
-
struct primary
-
-
string checksum_type
-
The hashing algorithm used to generate the checksum. For example:
sha
-
string checksum
-
The checksum for the primary metadata file. For example:
3992e1e77d476d09eb1dcb16fd106263aaa84bb4
-
string file_name
-
The file name for the primary metadata at the channel location. For example:
repodata/primary.xml.gz
-
string url
-
The URL where the primary metadata can be accessed. For example:
https://uln.oracle.com/XMLRPC/GET-REQ/ol7_x86_64_latest/repodata/primary.xml.gz
-
-
struct repomd
-
-
string file_name
-
The file name for the repomd metadata at the channel location. For example:
repodata/repomd.xml
-
string url
-
The URL where the repomd metadata can be accessed. For example:
https://uln.oracle.com/XMLRPC/GET-REQ/ol7_x86_64_latest/repodata/repomd.xml
-
-
struct updateinfo
-
This structure is returned optionally if this information is available.
-
string checksum_type
-
The hashing algorithm used to generate the checksum. For example:
sha
-
string checksum
-
The checksum for the updateinfo metadata file. For example:
6d11ecbceb58515be79a2adff9ff911f8a839069
-
string file_name
-
The file name for the updateinfo metadata at the channel location. For example:
repodata/updateinfo.xml.gz
-
string url
-
The URL where the updateinfo metadata can be accessed. For example:
https://uln.oracle.com/XMLRPC/GET-REQ/ol7_x86_64_latest/repodata/updateinfo.xml.gz
-
-
channel.software.listAllPackages
The listAllPackages
method returns a list of
all packages that are available from a channel, including
packages that are not the latest.
Input Parameters
-
string sessionKey
-
The session key for the session. For example:
JyUVNoT74BFaRJ6fRjDIQ5idPmCaj5UJLb76E2f45Gc
. -
string channelLabel
-
The channel label for the channel that you wish to query.
Return Parameters
-
array
-
An array of all packages:
-
struct (package)
-
A structure containing the following strings:
-
string package_arch_label
-
The package architecture label. For example:
noarch
-
string package_epoch
-
The package epoch value, if specified. The epoch value can help RPM determine package version ordering if the versioning does not make sense or does not follow sequentially. For example:
1
-
string package_id
-
The package ID within the ULN infrastructure. For example:
11776733
-
string package_last_modified
-
The date and timestamp for when a package was last modified. For example:
2018-09-27 19:31:13
-
string package_name
-
The name of the package. For example:
selinux-policy-mls
-
string package_release
-
The package release information. For example:
192.0.6.el7_5.6
-
string package_version
-
The package version number. For example:
3.13.1
-
-
channel.software.listErrata
The listErrata
method returns a list of all
errata that are associated with a channel.
Input Parameters
-
string sessionKey
-
The session key for the session. For example:
JyUVNoT74BFaRJ6fRjDIQ5idPmCaj5UJLb76E2f45Gc
. -
string channelLabel
-
The channel label for the channel that you wish to query. For example:
ol7_x86_64_latest
Return Parameters
-
array
-
An array of all errata associated with the channel label:
-
struct (errata)
-
A structure containing the following strings:
-
string errata_advisory_type
-
The errata advisory type. For example:
Bug Fix Advisory
-
string errata_advisory
-
The errata advisory label. For example:
ELBA-2018-4255
-
string errata_issue_date
-
The date the errata was issued. For example:
2018-10-17 00:00:00
-
string errata_last_modified_date
-
The date the errata was last modified . For example:
2018-10-17 00:00:00
-
string errata_synopsis
-
A brief synopsis of the errata. For example:
glibc bug fix update
-
string errata_update_date
-
The errata update date. For example:
2018-10-17 00:00:00
-
-
channel.software.listLatestPackages
The listLatestPackages
method returns a list
of the latest packages that are available from a channel.
Input Parameters
-
string sessionKey
-
The session key for the session. For example:
JyUVNoT74BFaRJ6fRjDIQ5idPmCaj5UJLb76E2f45Gc
. -
string channelLabel
-
The channel label for the channel that you wish to query. For example:
ol7_x86_64_latest
Return Parameters
-
array
-
An array of latest packages:
-
struct (package)
-
A structure containing the following strings:
-
string package_arch_label
-
The package architecture label. For example:
noarch
-
string package_epoch
-
The package epoch value, if specified. The epoch value can help RPM determine package version ordering if the versioning does not make sense or does not follow sequentially. For example:
1
-
string package_id
-
The package ID within the ULN infrastructure. For example:
11776733
-
string package_name
-
The name of the package. For example:
selinux-policy-mls
-
string package_release
-
The package release information. For example:
192.0.6.el7_5.6
-
string package_version
-
The package version number. For example:
3.13.1
-
-
Errata Methods
Errata methods are available in the channel
namespace. The following methods are provided for interacting with
errata that are available on ULN:
errata.applicableToChannels
The applicableToChannels
method returns a
list of all channels to which the specified erratum applies. .
Input Parameters
-
string sessionKey
-
The session key for the session. For example:
JyUVNoT74BFaRJ6fRjDIQ5idPmCaj5UJLb76E2f45Gc
. -
string advisoryName
-
The name of the erratum (for example,
ELSA-2013-0269
).
Return Parameters
-
array
-
An array of channels:
-
struct (channel)
-
A structure containing the following strings:
-
string channel_id
-
The identifier for a channel in the ULN infrastructure. For example:
1844
-
string channel_label
-
The label for the channel. For example:
ol7_x86_64_latest
-
string channel_name
-
The full name for the channel. For example:
Oracle Linux 7 Latest (x86_64)
-
string parent_channel_label
-
The parent channel label. Not currently used on ULN.
-
-
errata.getDetails
The getDetails
method returns detailed
information for the specified erratum. Note that the method only
fills in the errata_severity field for security errata.
Input Parameters
-
string sessionKey
-
The session key for the session. For example:
JyUVNoT74BFaRJ6fRjDIQ5idPmCaj5UJLb76E2f45Gc
-
string advisoryName
-
The name of the erratum. For example:
ELSA-2013-0269
Return Parameters
-
array
-
An array of detailed information associated with the erratum:
-
struct (erratum)
-
A structure containing the following strings:
-
string errata_description
-
The detailed description of the erratum. For example:
[0:1.2.1-7.3]\n- Add missing connection hostname check against X.509 certificate name\n- Resolves: CVE-2012-5784
-
string errata_issue_date
-
The date the erratum was issued. For example:
2/19/13
-
string errata_last_modified_date
-
The date the erratum was last modified: For example:
2013-02-19 00:00:00
-
string errata_notes
-
Notes associated with the erratum. Usually empty.
-
string errata_references
-
References of the erratum. Usually empty.
-
string errata_severity
-
The severity level set for the erratum . For example:
Moderate
-
string errata_synopsis
-
A brief synopsis of the erratum. For example:
axis security update
-
string errata_topic
-
The topic for the erratum. Usually empty.
-
string errata_type
-
The type for the erratum. For example:
Security Advisory
-
string errata_update_date
-
The errata update date. For example:
2/19/13
-
-
errata.listCves
The listCves
method returns a list of Common
Vulnerabilities and Exposures (CVE) IDs that are applicable to
the specified erratum ID.
Input Parameters
-
string sessionKey
-
The session key for the session. For example:
JyUVNoT74BFaRJ6fRjDIQ5idPmCaj5UJLb76E2f45Gc
-
string advisoryName
-
The name of the erratum. For example:
ELSA-2018-2942
Return Parameters
-
array
-
An array of CVE IDs. If no matching CVE IDs are found, the array is empty.:
-
string cve_name
-
The CVE ID associated with the erratum ID. For example:
CVE-2018-3136
-
errata.listPackages
The listPackage
method returns a list of all
packages applicable to the specified erratum ID.
Input Parameters
-
string sessionKey
-
The session key for the session. For example:
JyUVNoT74BFaRJ6fRjDIQ5idPmCaj5UJLb76E2f45Gc
-
string advisoryName
-
The name of the erratum. For example:
ELSA-2018-2942
Return Parameters
-
array
-
An array of packages:
-
struct (package)
-
A structure containing the following strings:
-
array download_urls
-
An array of URLs where the package can be downloaded from.
-
string url
-
URL value. For example:
https://uln.oracle.com/XMLRPC/GET-REQ/ol7_x86_64_latest/java-1.8.0-openjdk-demo-1.8.0.191.b12-0.el7_5.i686.rpm
-
-
array providing_channels
-
An array listing channels providing this package.
-
string label
-
A string with the channel label as a value. For example:
ol7_x86_64_latest
-
-
string package_arch_label
-
The package architecture label. For example:
i686
-
string package_build_date
-
The date and timestamp for when the package was built. For example:
2018-10-17 16:39:10
-
string package_build_host
-
For example:
x86-ol7-builder-02.us.oracle.com
-
string package_cookie
-
The package cookie value. Usually empty.
-
string package_description
-
The full description of the package. For example:
The OpenJDK demos.
-
string package_epoch
-
The package epoch value, if specified. The epoch value can help RPM determine package version ordering if the versioning does not make sense or does not follow sequentially. For example:
1
-
string package_file
-
The package filename. For example:
java-1.8.0-openjdk-demo-1.8.0.191.b12-0.el7_5.i686.rpm
-
string package_id
-
For example:
11807834
-
string package_last_modified_date
-
The date and timestamp for when the package was last modified. For example:
2018-10-17 16:39:10
-
string package_license
-
The license or licenses that a package is released under. For example:
ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv2.0 and Public Domain and W3C and zlib
-
string package_md5sum
-
The package md5sum value. For example:
1508de7bafe0d6fe0814d216cbbb354b
-
string package_name
-
The package name. For example:
java-1.8.0-openjdk-demo
-
string package_payload_size
-
The package payload size in bytes. For example:
4412184
-
string package_release
-
The package release value. For example:
0.el7_5
-
string package_size
-
The package size in bytes. For example:
4293131
-
string package_summary
-
A summary of the contents of the package. For example:
OpenJDK Demos
-
string package_vendor
-
The package vendor name. For example:
Oracle America
-
string package_version
-
The package version. For example:
1.8.0.191.b12
-
struct package_checksums
-
A structure, listing package checksum values by type:
-
string md5
-
The md5 hash for the package checksum value. For example:
1508de7bafe0d6fe0814d216cbbb354b
-
-
-
Packages Methods
Packages methods are available in the packages
namespace. These methods are used for extracting information about
the packages that are available to a session on the ULN. The
following methods are provided for interacting with packages that
are available on ULN:
packages.getDetails
The getDetails
method returns detailed
information about the specified package.
Input Parameters
-
string sessionKey
-
The session key for the session. For example:
JyUVNoT74BFaRJ6fRjDIQ5idPmCaj5UJLb76E2f45Gc
-
int pid
-
The package identifier that should be queried, specified as an integer. For example:
11807834
Return Parameters
-
array
-
An array of channels with:
-
struct (package)
-
A structure containing the following strings:
-
array download_urls
-
An array of URLs where the package can be downloaded from.
-
string url
-
URL value. For example:
https://uln.oracle.com/XMLRPC/GET-REQ/ol7_x86_64_latest/java-1.8.0-openjdk-demo-1.8.0.191.b12-0.el7_5.i686.rpm
-
-
array providing_channels
-
An array listing channels providing this package.
-
string label
-
A string with the channel label as a value. For example:
ol7_x86_64_latest
-
-
string package_arch_label
-
The package architecture label. For example:
i686
-
string package_build_date
-
The date and timestamp for when the package was built. For example:
2018-10-17 16:39:10
-
string package_build_host
-
The host where the package was built. For example:
x86-ol7-builder-02.us.oracle.com
-
string package_cookie
-
The package cookie value. Usually empty.
-
string package_description
-
The full description of the package. For example:
The OpenJDK demos.
-
string package_epoch
-
The package epoch value, if specified. The epoch value can help RPM determine package version ordering if the versioning does not make sense or does not follow sequentially. For example:
1
-
string package_file
-
The package filename. For example:
java-1.8.0-openjdk-demo-1.8.0.191.b12-0.el7_5.i686.rpm
-
string package_id
-
For example:
11807834
-
string package_last_modified_date
-
The date and timestamp for when the package was last modified. For example:
2018-10-17 16:39:10
-
string package_license
-
The license or licenses that a package is released under. For example:
ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv2.0 and Public Domain and W3C and zlib
-
string package_md5sum
-
The package md5sum value. For example:
1508de7bafe0d6fe0814d216cbbb354b
-
string package_name
-
The package name. For example:
java-1.8.0-openjdk-demo
-
string package_payload_size
-
The package payload size in bytes. For example:
4412184
-
string package_release
-
The package release value. For example:
0.el7_5
-
string package_size
-
The package size in bytes. For example:
4293131
-
string package_summary
-
A summary of the contents of the package. For example:
OpenJDK Demos
-
string package_vendor
-
The package vendor name. For example:
Oracle America
-
string package_version
-
The package version. For example:
1.8.0.191.b12
-
struct package_checksums
-
A structure, listing package checksum values by type:
-
string md5
-
The md5 hash for the package checksum value. For example:
1508de7bafe0d6fe0814d216cbbb354b
-
-
-
packages.listProvidingErrata
The listProvidingErrata
method returns a list
of the errata that are associated with a package.
Input Parameters
-
string sessionKey
-
The session key for the session. For example:
JyUVNoT74BFaRJ6fRjDIQ5idPmCaj5UJLb76E2f45Gc
-
int pid
-
The package identifier that should be queried, specified as an integer. For example:
11807834
Return Parameters
-
array
-
An array of all errata associated with the package:
-
struct (errata)
-
A structure containing the following strings:
-
string errata_advisory_type
-
The errata advisory type. For example:
Security Advisory
-
string errata_advisory
-
The errata advisory label. For example:
ELSA-2018-2942
-
string errata_issue_date
-
The date the errata was issued. For example:
2018-10-17 00:00:00
-
string errata_last_modified_date
-
The date the errata was last modified . For example:
2018-10-17 00:00:00
-
string errata_synopsis
-
A brief synopsis of the errata. For example:
java-1.8.0-openjdk security update
-
string errata_update_date
-
The errata update date. For example:
2018-10-17 00:00:00
-
-
System Methods
System methods are available in the system
namespace. These methods are used for managing systems that are
registered on ULN. The following methods are available:
system.deleteSystems
The deleteSystems
method removes a system
from ULN, given its system ID.
Input Parameters
-
string sessionKey
-
The session key for the session. For example:
JyUVNoT74BFaRJ6fRjDIQ5idPmCaj5UJLb76E2f45Gc
. -
string serverId
-
The system identifier that should be removed. This needs to be the id value within ULN. For example:
330213
Return Parameters
-
int
-
The method returns an
int
error code, which indicates whether the system was deleted or not. A value of0
indicates that the system was successfully removed from ULN.