Go to main content

man pages section 3: Remote Administration Daemon Module Interfaces

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

archivemgr-1 (3rad)

Name

archivemgr-1 - API for creation of and interaction with a Solaris Unified Archive

Synopsis

#include <rad/client/1/archivemgr.h>
cc [ flag... ] file... -larchivemgr1_client [ library... ]

interface ArchiveManager
const char * archiveRadLogPath ; (ro)

rc_err_t archivemgr_ArchiveManager_exit(rc_instance_t *inst);

rc_err_t archivemgr_ArchiveManager_createArchive(rc_instance_t *inst,
const char *path,
const char **zones,
int zones_count,
const char **excludeZones,
int excludeZones_count,
const char **excludeDataset,
int excludeDataset_count,
boolean_t *recovery,
boolean_t *skipCheck,
boolean_t *excludeMedia,
boolean_t *rootOnly,
boolean_t *dehydrate,
const char **dehydratedPublishers,
int dehydratedPublishers_count,
archivemgr_ArchiveRADError_t **error);

rc_err_t archivemgr_ArchiveManager_getArchive(rc_instance_t *inst,
const char *path,
const char *key,
const char *cert,
const char *cacert,
rc_instance_t **result,
archivemgr_ArchiveRADError_t **error);

typedef void (*archivemgr_ArchiveManager_ArchiveCreationProgress_cb_f)(rc_instance_t *inst,
archivemgr_ArchiveCreationProgress_t *payload,
struct timespec ts,
void *arg);

rc_err_t archivemgr_ArchiveManager_subscribe_ArchiveCreationProgress(rc_instance_t *inst,
archivemgr_ArchiveManager_ArchiveCreationProgress_cb_f cb,
void *arg);

rc_err_t archivemgr_ArchiveManager_unsubscribe_ArchiveCreationProgress(rc_instance_t *inst,
void **arg);

typedef void (*archivemgr_ArchiveManager_ArchiveCreationStatus_cb_f)(rc_instance_t *inst,
archivemgr_ArchiveCreationStatus_t *payload,
struct timespec ts,
void *arg);

rc_err_t archivemgr_ArchiveManager_subscribe_ArchiveCreationStatus(rc_instance_t *inst,
archivemgr_ArchiveManager_ArchiveCreationStatus_cb_f cb,
void *arg);

rc_err_t archivemgr_ArchiveManager_unsubscribe_ArchiveCreationStatus(rc_instance_t *inst,
void **arg);

interface UnifiedArchive
const char * archiveUUID ; (ro)
archivemgr_ArchiveType_t archiveType ; (ro)
const char * archiveVersion ; (ro)
const char * creationTime ; (ro)
const char ** dehydratedPublishers ; (ro)
archivemgr_ISA_t isa ; (ro)
const char * originTargetInfo ; (ro)
const char * originTargetVerboseInfo ; (ro)
const char * osName ; (ro)
const char * hostOSVersion ; (ro)
const char * hostOSBranch ; (ro)
const char * path ; (ro)
const char * sourceHost ; (ro)
const char ** systems ; (ro)

rc_err_t archivemgr_UnifiedArchive_getArchivedSystems(rc_instance_t *inst,
const char **systems,
int systems_count,
rc_instance_t ***result,
int *result_cnt,
archivemgr_ArchiveRADError_t **error);

rc_err_t archivemgr_UnifiedArchive_createMedia(rc_instance_t *inst,
const char *mediaPath,
const char *zone,
const char *source,
const char *key,
const char *cert,
const char *dataset,
archivemgr_MediaFormat_t *mediaFormat,
archivemgr_ArchiveRADError_t **error);

rc_err_t archivemgr_UnifiedArchive_rehydrateArchive(rc_instance_t *inst,
const char *rehydratePath,
archivemgr_ArchiveRADError_t **error);

typedef void (*archivemgr_UnifiedArchive_MediaCreationProgress_cb_f)(rc_instance_t *inst,
archivemgr_MediaCreationProgress_t *payload,
struct timespec ts,
void *arg);

rc_err_t archivemgr_UnifiedArchive_subscribe_MediaCreationProgress(rc_instance_t *inst,
archivemgr_UnifiedArchive_MediaCreationProgress_cb_f cb,
void *arg);

rc_err_t archivemgr_UnifiedArchive_unsubscribe_MediaCreationProgress(rc_instance_t *inst,
void **arg);

typedef void (*archivemgr_UnifiedArchive_MediaCreationStatus_cb_f)(rc_instance_t *inst,
archivemgr_MediaCreationStatus_t *payload,
struct timespec ts,
void *arg);

rc_err_t archivemgr_UnifiedArchive_subscribe_MediaCreationStatus(rc_instance_t *inst,
archivemgr_UnifiedArchive_MediaCreationStatus_cb_f cb,
void *arg);

rc_err_t archivemgr_UnifiedArchive_unsubscribe_MediaCreationStatus(rc_instance_t *inst,
void **arg);

typedef void (*archivemgr_UnifiedArchive_RehydrateProgress_cb_f)(rc_instance_t *inst,
archivemgr_RehydrateProgress_t *payload,
struct timespec ts,
void *arg);

rc_err_t archivemgr_UnifiedArchive_subscribe_RehydrateProgress(rc_instance_t *inst,
archivemgr_UnifiedArchive_RehydrateProgress_cb_f cb,
void *arg);

rc_err_t archivemgr_UnifiedArchive_unsubscribe_RehydrateProgress(rc_instance_t *inst,
void **arg);

typedef void (*archivemgr_UnifiedArchive_RehydrateStatus_cb_f)(rc_instance_t *inst,
archivemgr_RehydrateStatus_t *payload,
struct timespec ts,
void *arg);

rc_err_t archivemgr_UnifiedArchive_subscribe_RehydrateStatus(rc_instance_t *inst,
archivemgr_UnifiedArchive_RehydrateStatus_cb_f cb,
void *arg);

rc_err_t archivemgr_UnifiedArchive_unsubscribe_RehydrateStatus(rc_instance_t *inst,
void **arg);

interface ArchivedSystem
const char * activeBE ; (ro)
const char * aiMedia ; (ro)
const char * brand ; (ro)
const char ** embeddedZones ; (ro)
const char * name ; (ro)
const char * osBranch ; (ro)
const char * osVersion ; (ro)
boolean_t rootOnly ; (ro)
long long size ; (ro)
const char * systemUUID ; (ro)
const char * originTargetInfo ; (ro)
const char * originTargetVerboseInfo ; (ro)

Enumerated Types
enum ArchiveRADErrType

typedef enum archivemgr_ArchiveRADErrType {
AARADET_ARCHIVE_OPTION_ERR = 0,
AARADET_INVALID_ARG_VALUE = 1,
AARADET_ARCHIVE_ERR = 2,
AARADET_RUNTIME_ERR = 3,
AARADET_LOCKFILE_ERR = 4,
} archivemgr_ArchiveRADErrType_t;

enum ArchiveOpExecStatus

typedef enum archivemgr_ArchiveOpExecStatus {
AAOES_EXEC_SUCCESSFUL = 0,
AAOES_EXEC_FAILED = 1,
AAOES_EXEC_CANCELED = 2,
} archivemgr_ArchiveOpExecStatus_t;

enum ArchiveType

typedef enum archivemgr_ArchiveType {
AAT_RECOVERY = 0,
AAT_CLONE = 1,
} archivemgr_ArchiveType_t;

enum ISA

typedef enum archivemgr_ISA {
AISA_SPARC = 0,
AISA_I386 = 1,
} archivemgr_ISA_t;

enum MediaFormat

typedef enum archivemgr_MediaFormat {
AMF_ISO = 0,
AMF_USB = 1,
} archivemgr_MediaFormat_t;

Structured Types
struct ArchiveRADError

typedef struct archivemgr_ArchiveRADError
archivemgr_ArchiveRADError_t;

struct archivemgr_ArchiveRADError {
archivemgr_ArchiveRADErrType_t aarade_errType;
char *aarade_info;
};


void archivemgr_ArchiveRADError_free(archivemgr_ArchiveRADError_t *in);

struct ArchiveCreationProgress

typedef struct archivemgr_ArchiveCreationProgress
archivemgr_ArchiveCreationProgress_t;

struct archivemgr_ArchiveCreationProgress {
int aacp_percent;
char *aacp_message;
boolean_t aacp_is_error;
};


void archivemgr_ArchiveCreationProgress_free(archivemgr_ArchiveCreationProgress_t *in);

struct MediaCreationProgress

typedef struct archivemgr_MediaCreationProgress
archivemgr_MediaCreationProgress_t;

struct archivemgr_MediaCreationProgress {
int amcp_percent;
char *amcp_message;
};


void archivemgr_MediaCreationProgress_free(archivemgr_MediaCreationProgress_t *in);

struct RehydrateProgress

typedef struct archivemgr_RehydrateProgress
archivemgr_RehydrateProgress_t;

struct archivemgr_RehydrateProgress {
int arp_percent;
char *arp_message;
};


void archivemgr_RehydrateProgress_free(archivemgr_RehydrateProgress_t *in);

struct ArchiveCreationStatus

typedef struct archivemgr_ArchiveCreationStatus
archivemgr_ArchiveCreationStatus_t;

struct archivemgr_ArchiveCreationStatus {
archivemgr_ArchiveOpExecStatus_t aacs_status;
archivemgr_ArchiveRADErrType_t *aacs_errType;
char *aacs_errorMessage;
};


void archivemgr_ArchiveCreationStatus_free(archivemgr_ArchiveCreationStatus_t *in);

struct MediaCreationStatus

typedef struct archivemgr_MediaCreationStatus
archivemgr_MediaCreationStatus_t;

struct archivemgr_MediaCreationStatus {
archivemgr_ArchiveOpExecStatus_t amcs_status;
archivemgr_ArchiveRADErrType_t *amcs_errType;
char *amcs_errorMessage;
};


void archivemgr_MediaCreationStatus_free(archivemgr_MediaCreationStatus_t *in);

struct RehydrateStatus

typedef struct archivemgr_RehydrateStatus
archivemgr_RehydrateStatus_t;

struct archivemgr_RehydrateStatus {
archivemgr_ArchiveOpExecStatus_t ars_status;
archivemgr_ArchiveRADErrType_t *ars_errType;
char *ars_errorMessage;
};


void archivemgr_RehydrateStatus_free(archivemgr_RehydrateStatus_t *in);

Description

ARCHIVEMGR-1(3rad)          RAD Module Definitions          ARCHIVEMGR-1(3rad)



NAME
       archivemgr - API for creation of and interaction with a Solaris Unified
       Archive

SYNOPSIS
       #include <rad/client/1/archivemgr.h>
       cc [ flag... ] file... -larchivemgr1_client [ library... ]

   interface ArchiveManager
       const char * archiveRadLogPath ; (ro)

       rc_err_t archivemgr_ArchiveManager_exit(rc_instance_t *inst);

       rc_err_t archivemgr_ArchiveManager_createArchive(rc_instance_t *inst,
                                                        const char *path,
                                                        const char **zones,
                                                        int zones_count,
                                                        const char **excludeZones,
                                                        int excludeZones_count,
                                                        const char **excludeDataset,
                                                        int excludeDataset_count,
                                                        boolean_t *recovery,
                                                        boolean_t *skipCheck,
                                                        boolean_t *excludeMedia,
                                                        boolean_t *rootOnly,
                                                        boolean_t *dehydrate,
                                                        const char **dehydratedPublishers,
                                                        int dehydratedPublishers_count,
                                                        archivemgr_ArchiveRADError_t **error);

       rc_err_t archivemgr_ArchiveManager_getArchive(rc_instance_t *inst,
                                                     const char *path,
                                                     const char *key,
                                                     const char *cert,
                                                     const char *cacert,
                                                     rc_instance_t **result,
                                                     archivemgr_ArchiveRADError_t **error);

       typedef void (*archivemgr_ArchiveManager_ArchiveCreationProgress_cb_f)(rc_instance_t *inst,
                                                                              archivemgr_ArchiveCreationProgress_t *payload,
                                                                              struct timespec ts,
                                                                              void *arg);

       rc_err_t archivemgr_ArchiveManager_subscribe_ArchiveCreationProgress(rc_instance_t *inst,
                                                                            archivemgr_ArchiveManager_ArchiveCreationProgress_cb_f cb,
                                                                            void *arg);

       rc_err_t archivemgr_ArchiveManager_unsubscribe_ArchiveCreationProgress(rc_instance_t *inst,
                                                                              void **arg);

       typedef void (*archivemgr_ArchiveManager_ArchiveCreationStatus_cb_f)(rc_instance_t *inst,
                                                                            archivemgr_ArchiveCreationStatus_t *payload,
                                                                            struct timespec ts,
                                                                            void *arg);

       rc_err_t archivemgr_ArchiveManager_subscribe_ArchiveCreationStatus(rc_instance_t *inst,
                                                                          archivemgr_ArchiveManager_ArchiveCreationStatus_cb_f cb,
                                                                          void *arg);

       rc_err_t archivemgr_ArchiveManager_unsubscribe_ArchiveCreationStatus(rc_instance_t *inst,
                                                                            void **arg);

   interface UnifiedArchive
       const char * archiveUUID ; (ro)
       archivemgr_ArchiveType_t archiveType ; (ro)
       const char * archiveVersion ; (ro)
       const char * creationTime ; (ro)
       const char ** dehydratedPublishers ; (ro)
       archivemgr_ISA_t isa ; (ro)
       const char * originTargetInfo ; (ro)
       const char * originTargetVerboseInfo ; (ro)
       const char * osName ; (ro)
       const char * hostOSVersion ; (ro)
       const char * hostOSBranch ; (ro)
       const char * path ; (ro)
       const char * sourceHost ; (ro)
       const char ** systems ; (ro)

       rc_err_t archivemgr_UnifiedArchive_getArchivedSystems(rc_instance_t *inst,
                                                             const char **systems,
                                                             int systems_count,
                                                             rc_instance_t ***result,
                                                             int *result_cnt,
                                                             archivemgr_ArchiveRADError_t **error);

       rc_err_t archivemgr_UnifiedArchive_createMedia(rc_instance_t *inst,
                                                      const char *mediaPath,
                                                      const char *zone,
                                                      const char *source,
                                                      const char *key,
                                                      const char *cert,
                                                      const char *dataset,
                                                      archivemgr_MediaFormat_t *mediaFormat,
                                                      archivemgr_ArchiveRADError_t **error);

       rc_err_t archivemgr_UnifiedArchive_rehydrateArchive(rc_instance_t *inst,
                                                           const char *rehydratePath,
                                                           archivemgr_ArchiveRADError_t **error);

       typedef void (*archivemgr_UnifiedArchive_MediaCreationProgress_cb_f)(rc_instance_t *inst,
                                                                            archivemgr_MediaCreationProgress_t *payload,
                                                                            struct timespec ts,
                                                                            void *arg);

       rc_err_t archivemgr_UnifiedArchive_subscribe_MediaCreationProgress(rc_instance_t *inst,
                                                                          archivemgr_UnifiedArchive_MediaCreationProgress_cb_f cb,
                                                                          void *arg);

       rc_err_t archivemgr_UnifiedArchive_unsubscribe_MediaCreationProgress(rc_instance_t *inst,
                                                                            void **arg);

       typedef void (*archivemgr_UnifiedArchive_MediaCreationStatus_cb_f)(rc_instance_t *inst,
                                                                          archivemgr_MediaCreationStatus_t *payload,
                                                                          struct timespec ts,
                                                                          void *arg);

       rc_err_t archivemgr_UnifiedArchive_subscribe_MediaCreationStatus(rc_instance_t *inst,
                                                                        archivemgr_UnifiedArchive_MediaCreationStatus_cb_f cb,
                                                                        void *arg);

       rc_err_t archivemgr_UnifiedArchive_unsubscribe_MediaCreationStatus(rc_instance_t *inst,
                                                                          void **arg);

       typedef void (*archivemgr_UnifiedArchive_RehydrateProgress_cb_f)(rc_instance_t *inst,
                                                                        archivemgr_RehydrateProgress_t *payload,
                                                                        struct timespec ts,
                                                                        void *arg);

       rc_err_t archivemgr_UnifiedArchive_subscribe_RehydrateProgress(rc_instance_t *inst,
                                                                      archivemgr_UnifiedArchive_RehydrateProgress_cb_f cb,
                                                                      void *arg);

       rc_err_t archivemgr_UnifiedArchive_unsubscribe_RehydrateProgress(rc_instance_t *inst,
                                                                        void **arg);

       typedef void (*archivemgr_UnifiedArchive_RehydrateStatus_cb_f)(rc_instance_t *inst,
                                                                      archivemgr_RehydrateStatus_t *payload,
                                                                      struct timespec ts,
                                                                      void *arg);

       rc_err_t archivemgr_UnifiedArchive_subscribe_RehydrateStatus(rc_instance_t *inst,
                                                                    archivemgr_UnifiedArchive_RehydrateStatus_cb_f cb,
                                                                    void *arg);

       rc_err_t archivemgr_UnifiedArchive_unsubscribe_RehydrateStatus(rc_instance_t *inst,
                                                                      void **arg);

   interface ArchivedSystem
       const char * activeBE ; (ro)
       const char * aiMedia ; (ro)
       const char * brand ; (ro)
       const char ** embeddedZones ; (ro)
       const char * name ; (ro)
       const char * osBranch ; (ro)
       const char * osVersion ; (ro)
       boolean_t rootOnly ; (ro)
       long long size ; (ro)
       const char * systemUUID ; (ro)
       const char * originTargetInfo ; (ro)
       const char * originTargetVerboseInfo ; (ro)

   Enumerated Types
       enum ArchiveRADErrType

           typedef enum archivemgr_ArchiveRADErrType {
                AARADET_ARCHIVE_OPTION_ERR = 0,
                AARADET_INVALID_ARG_VALUE = 1,
                AARADET_ARCHIVE_ERR = 2,
                AARADET_RUNTIME_ERR = 3,
                AARADET_LOCKFILE_ERR = 4,
           } archivemgr_ArchiveRADErrType_t;

       enum ArchiveOpExecStatus

           typedef enum archivemgr_ArchiveOpExecStatus {
                AAOES_EXEC_SUCCESSFUL = 0,
                AAOES_EXEC_FAILED = 1,
                AAOES_EXEC_CANCELED = 2,
           } archivemgr_ArchiveOpExecStatus_t;

       enum ArchiveType

           typedef enum archivemgr_ArchiveType {
                AAT_RECOVERY = 0,
                AAT_CLONE = 1,
           } archivemgr_ArchiveType_t;

       enum ISA

           typedef enum archivemgr_ISA {
                AISA_SPARC = 0,
                AISA_I386 = 1,
           } archivemgr_ISA_t;

       enum MediaFormat

           typedef enum archivemgr_MediaFormat {
                AMF_ISO = 0,
                AMF_USB = 1,
           } archivemgr_MediaFormat_t;

   Structured Types
       struct ArchiveRADError

           typedef struct archivemgr_ArchiveRADError
           archivemgr_ArchiveRADError_t;

           struct archivemgr_ArchiveRADError {
                archivemgr_ArchiveRADErrType_t aarade_errType;
                char *aarade_info;
           };


           void archivemgr_ArchiveRADError_free(archivemgr_ArchiveRADError_t *in);

       struct ArchiveCreationProgress

           typedef struct archivemgr_ArchiveCreationProgress
           archivemgr_ArchiveCreationProgress_t;

           struct archivemgr_ArchiveCreationProgress {
                int aacp_percent;
                char *aacp_message;
                boolean_t aacp_is_error;
           };


           void archivemgr_ArchiveCreationProgress_free(archivemgr_ArchiveCreationProgress_t *in);

       struct MediaCreationProgress

           typedef struct archivemgr_MediaCreationProgress
           archivemgr_MediaCreationProgress_t;

           struct archivemgr_MediaCreationProgress {
                int amcp_percent;
                char *amcp_message;
           };


           void archivemgr_MediaCreationProgress_free(archivemgr_MediaCreationProgress_t *in);

       struct RehydrateProgress

           typedef struct archivemgr_RehydrateProgress
           archivemgr_RehydrateProgress_t;

           struct archivemgr_RehydrateProgress {
                int arp_percent;
                char *arp_message;
           };


           void archivemgr_RehydrateProgress_free(archivemgr_RehydrateProgress_t *in);

       struct ArchiveCreationStatus

           typedef struct archivemgr_ArchiveCreationStatus
           archivemgr_ArchiveCreationStatus_t;

           struct archivemgr_ArchiveCreationStatus {
                archivemgr_ArchiveOpExecStatus_t aacs_status;
                archivemgr_ArchiveRADErrType_t *aacs_errType;
                char *aacs_errorMessage;
           };


           void archivemgr_ArchiveCreationStatus_free(archivemgr_ArchiveCreationStatus_t *in);

       struct MediaCreationStatus

           typedef struct archivemgr_MediaCreationStatus
           archivemgr_MediaCreationStatus_t;

           struct archivemgr_MediaCreationStatus {
                archivemgr_ArchiveOpExecStatus_t amcs_status;
                archivemgr_ArchiveRADErrType_t *amcs_errType;
                char *amcs_errorMessage;
           };


           void archivemgr_MediaCreationStatus_free(archivemgr_MediaCreationStatus_t *in);

       struct RehydrateStatus

           typedef struct archivemgr_RehydrateStatus
           archivemgr_RehydrateStatus_t;

           struct archivemgr_RehydrateStatus {
                archivemgr_ArchiveOpExecStatus_t ars_status;
                archivemgr_ArchiveRADErrType_t *ars_errType;
                char *ars_errorMessage;
           };


           void archivemgr_RehydrateStatus_free(archivemgr_RehydrateStatus_t *in);

DESCRIPTION
       API com.oracle.solaris.rad.archivemgr [1]

       This API provides functionality for the creation of and interaction
       with a Solaris Unified Archive.

INTERFACES
   interface ArchiveManager
       The ArchiveManager interface is a RAD singleton, and is the main and
       only entry point to this RAD module. It provides the interfaces for
       creating a new Unified Archive and fetching an existing Unified
       Archive.

       ArchiveManager Properties
           const char * archiveRadLogPath (read-only) -- The location of the
           archive log that is generated by this Archive RAD Module.

               rc_err_t archivemgr_ArchiveManager_get_archiveRadLogPath(rc_instance_t *inst,
                                                                        char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

       ArchiveManager Methods
           rc_err_t archivemgr_ArchiveManager_exit(rc_instance_t *inst);

               Clear all checkpoints, clean up temporary files and exit.

               Arguments:

               inst -- RAD instance

           rc_err_t archivemgr_ArchiveManager_createArchive(rc_instance_t *inst,
                                                            const char *path,
                                                            const char **zones,
                                                            int zones_count,
                                                            const char **excludeZones,
                                                            int excludeZones_count,
                                                            const char **excludeDataset,
                                                            int excludeDataset_count,
                                                            boolean_t *recovery,
                                                            boolean_t *skipCheck,
                                                            boolean_t *excludeMedia,
                                                            boolean_t *rootOnly,
                                                            boolean_t *dehydrate,
                                                            const char **dehydratedPublishers,
                                                            int dehydratedPublishers_count,
                                                            archivemgr_ArchiveRADError_t **error);

               Create a new Solaris Unified Archive with the path and options
               given. Similar to the "create" subcommand in archiveadm(8).

               Note: The createArchive method submits the requested parameters
               for the resulting archive, and returns immediately, without
               waiting for the actual archive creation to complete. Users
               should register for the "ArchiveCreationProgress" and
               "ArchiveCreationStatus" events to observe the state of the
               archive creation request.

               Arguments:

               inst -- RAD instance

               path -- The location and name of the new Unified Archive. The
               path must be an absolute path.

               zones (nullable) -- Optional: a list of zonenames to be
               archived, implicitly excluding all other systems from being
               archived.

               zones_count -- Number of items in zones array

               excludeZones (nullable) -- Optional: a list of zonenames to be
               excluded from the archive, implicitly including all other
               systems. 'zones' and 'excludeZones' are mutually exclusive, and
               'excludeZones' is not valid when 'recovery' is set to True.

               excludeZones_count -- Number of items in excludeZones array

               excludeDataset (nullable) -- Optional: a list of dataset names
               to be recursively excluded from the archive.

               excludeDataset_count -- Number of items in excludeDataset array

               recovery (nullable) -- Optional: If specified, create a
               "recovery archive", which is suitable for system recovery.
               "recovery" by default is False.

               skipCheck (nullable) -- Optional: If specified, skip the
               capacity check in the staging directory prior to archive stream
               creation. "skipCheck" by default is False.

               excludeMedia (nullable) -- Optional: If specified, skip the
               generation of bootable media for each global zone in the
               Unified Archive. "excludeMedia" by default is False.

               rootOnly (nullable) -- Optional: If specified, exclude all
               non-root pool data. Each non-root pool is excluded recursively
               from the resulting archive image. This is useful when a
               root-only archive is desired and the list of non-root pools is
               not known. "rootOnly" by default is False.

               dehydrate (nullable) -- Optional: If specified, dehydrate the
               publishers from the archive. If the publishers argument is
               specified only dehydrate those publishers listed. Otherwise by
               default, all publishers will be dehydrated. This is useful when
               trying to create an archive of minimal size.

               dehydratedPublishers (nullable) -- Optional: Provides a list of
               publishers to be dehydrated. This option may only be used when
               the dehydrate option is specified. This is useful when trying
               to dehydrate select publishers from an archive.

               dehydratedPublishers_count -- Number of items in
               dehydratedPublishers array

               error

           rc_err_t archivemgr_ArchiveManager_getArchive(rc_instance_t *inst,
                                                         const char *path,
                                                         const char *key,
                                                         const char *cert,
                                                         const char *cacert,
                                                         rc_instance_t **result,
                                                         archivemgr_ArchiveRADError_t **error);

               Fetch the Unified Archive that matches the path given. Returns
               a handle to a UnifiedArchive object for RAD Client programs to
               interact with.

               Arguments:

               inst -- RAD instance

               path -- The path to the Unified Archive. The path must be an
               absolute path.

               key (nullable) -- Optional: SSL key, for use with HTTPS URIs.

               cert (nullable) -- Optional: SSL cert, for use with HTTPS URIs.

               cacert (nullable) -- Optional: CA cert, for use with HTTPS
               URIs.

               result -- A UnifiedArchive object representing the Unified
               Archive that was just fetched.

               error

       ArchiveManager Retrieve
           rc_err_t archivemgr_ArchiveManager__rad_get_name(adr_name_t **result,
                                                            int n,
                                                            ...);

               Obtain RAD name of a ArchiveManager object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t archivemgr_ArchiveManager__rad_lookup(rc_conn_t *c,
                                                          boolean_t strict,
                                                          rc_instance_t **result,
                                                          int n,
                                                          ...);

               Lookup a ArchiveManager instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t archivemgr_ArchiveManager__rad_list(rc_conn_t *c,
                                                        boolean_t strict,
                                                        adr_pattern_scheme_t scheme,
                                                        adr_name_t ***result,
                                                        int *result_count,
                                                        int n,
                                                        ...);

               List RAD names of a available ArchiveManager instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

       ArchiveManager Events
           ArchiveCreationProgress -- Event that is dispatched during archive
           creation, which passes progress messages to client for consumption
           by user.

               typedef void (*archivemgr_ArchiveManager_ArchiveCreationProgress_cb_f)(rc_instance_t *inst,
                                                                                      archivemgr_ArchiveCreationProgress_t *payload,
                                                                                      struct timespec ts,
                                                                                      void *arg);

                   Function invoked when event "ArchiveCreationProgress"
                   occurs.

                   Arguments:

                   inst -- RAD instance that generated the event

                   payload -- Event payload

                   ts -- Time stamp

                   arg -- User data: custom parameter to invoke the function
                   with

               rc_err_t archivemgr_ArchiveManager_subscribe_ArchiveCreationProgress(rc_instance_t *inst,
                                                                                    archivemgr_ArchiveManager_ArchiveCreationProgress_cb_f cb,
                                                                                    void *arg);

                   Subscribe to event "ArchiveCreationProgress".

                   Arguments:

                   inst -- RAD instance

                   cb -- Event callback function

                   arg -- User data: custom parameter to invoke the function
                   with

               rc_err_t archivemgr_ArchiveManager_unsubscribe_ArchiveCreationProgress(rc_instance_t *inst,
                                                                                      void **arg);

                   Unsubscribe from event "ArchiveCreationProgress".

                   Arguments:

                   inst -- RAD instance

                   arg -- User data returned

           ArchiveCreationStatus -- Event that is dispatched when archive
           creation operation completes.

               typedef void (*archivemgr_ArchiveManager_ArchiveCreationStatus_cb_f)(rc_instance_t *inst,
                                                                                    archivemgr_ArchiveCreationStatus_t *payload,
                                                                                    struct timespec ts,
                                                                                    void *arg);

                   Function invoked when event "ArchiveCreationStatus" occurs.

                   Arguments:

                   inst -- RAD instance that generated the event

                   payload -- Event payload

                   ts -- Time stamp

                   arg -- User data: custom parameter to invoke the function
                   with

               rc_err_t archivemgr_ArchiveManager_subscribe_ArchiveCreationStatus(rc_instance_t *inst,
                                                                                  archivemgr_ArchiveManager_ArchiveCreationStatus_cb_f cb,
                                                                                  void *arg);

                   Subscribe to event "ArchiveCreationStatus".

                   Arguments:

                   inst -- RAD instance

                   cb -- Event callback function

                   arg -- User data: custom parameter to invoke the function
                   with

               rc_err_t archivemgr_ArchiveManager_unsubscribe_ArchiveCreationStatus(rc_instance_t *inst,
                                                                                    void **arg);

                   Unsubscribe from event "ArchiveCreationStatus".

                   Arguments:

                   inst -- RAD instance

                   arg -- User data returned

   interface UnifiedArchive
       Interface describing a RAD UnifiedArchive object, which represents a
       Solaris Unified Archive. It provides the interfaces for creating
       bootable media from a Unified Archive, as well as interfaces for
       getting property information from a Unified Archive.

       UnifiedArchive Properties
           const char * archiveUUID (read-only) -- The 128-bit unique
           identifier for this Unified Archive.

               rc_err_t archivemgr_UnifiedArchive_get_archiveUUID(rc_instance_t *inst,
                                                                  char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           archivemgr_ArchiveType_t archiveType (read-only) -- The type of
           this Unified Archive, which is a value from the ArchiveType enum.

               rc_err_t archivemgr_UnifiedArchive_get_archiveType(rc_instance_t *inst,
                                                                  archivemgr_ArchiveType_t *result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * archiveVersion (read-only) -- The version of this
           Unified Archive.

               rc_err_t archivemgr_UnifiedArchive_get_archiveVersion(rc_instance_t *inst,
                                                                     char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * creationTime (read-only) -- The creation timestamp
           (UTC) of this Unified Archive.

               rc_err_t archivemgr_UnifiedArchive_get_creationTime(rc_instance_t *inst,
                                                                   char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char ** dehydratedPublishers (read-only) -- The dehydrated
           publishers of an archive.

               rc_err_t archivemgr_UnifiedArchive_get_dehydratedPublishers(rc_instance_t *inst,
                                                                           char ***result,
                                                                           int *result_cnt);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

                   result_cnt -- Number of items in result array

           archivemgr_ISA_t isa (read-only) -- The architecture type of the
           systems that are archived in this Unified Archive. A value from the
           ISA enum.

               rc_err_t archivemgr_UnifiedArchive_get_isa(rc_instance_t *inst,
                                                          archivemgr_ISA_t *result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * originTargetInfo (read-only)

               The XML of the origin system's target discovery output, it is
               valid for an ai_manifest(5). It can be used as a starting point
               for creating a custom ai_manifest(5) target section.

               rc_err_t archivemgr_UnifiedArchive_get_originTargetInfo(rc_instance_t *inst,
                                                                       char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * originTargetVerboseInfo (read-only)

               The XML of the origin system's target discovery verbose output,
               which includes additional disk name attributes (such as devid,
               devpath, etc.) that may be useful, but will not be valid for an
               ai_manifest(5).

               rc_err_t archivemgr_UnifiedArchive_get_originTargetVerboseInfo(rc_instance_t *inst,
                                                                              char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * osName (read-only) -- Provides the Solaris release and
           architecture. e.g. 'Oracle Solaris 11.4 X86'.

               rc_err_t archivemgr_UnifiedArchive_get_osName(rc_instance_t *inst,
                                                             char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * hostOSVersion (read-only) -- The version of Solaris
           installed on the host system, e.g. '11.4'.

               rc_err_t archivemgr_UnifiedArchive_get_hostOSVersion(rc_instance_t *inst,
                                                                    char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * hostOSBranch (read-only) -- The os branch of
           osnet-incorporation installed on the host system, e.g.
           '11.4.0.0.0.100.0'.

               rc_err_t archivemgr_UnifiedArchive_get_hostOSBranch(rc_instance_t *inst,
                                                                   char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * path (read-only) -- Path to this Unified Archive
           (URI).

               rc_err_t archivemgr_UnifiedArchive_get_path(rc_instance_t *inst,
                                                           char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * sourceHost (read-only) -- The host name of the origin
           archived system.

               rc_err_t archivemgr_UnifiedArchive_get_sourceHost(rc_instance_t *inst,
                                                                 char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char ** systems (read-only) -- The deployable archived
           systems contained in this Unified Archive. The output is a list of
           strings of system names.

               rc_err_t archivemgr_UnifiedArchive_get_systems(rc_instance_t *inst,
                                                              char ***result,
                                                              int *result_cnt);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

                   result_cnt -- Number of items in result array

       UnifiedArchive Methods
           rc_err_t archivemgr_UnifiedArchive_getArchivedSystems(rc_instance_t *inst,
                                                                 const char **systems,
                                                                 int systems_count,
                                                                 rc_instance_t ***result,
                                                                 int *result_cnt,
                                                                 archivemgr_ArchiveRADError_t **error);

               Get a list of the deployable systems contained in this Unified
               Archive.

               Arguments:

               inst -- RAD instance

               systems (nullable) -- Optional: a list of system names to query
               from the Unified Archive. If the user does not specify any
               systems, all the systems contained in the archive will be
               returned.

               systems_count -- Number of items in systems array

               result -- List of ArchivedSystem objects.

               result_cnt -- Number of items in result array

               error

           rc_err_t archivemgr_UnifiedArchive_createMedia(rc_instance_t *inst,
                                                          const char *mediaPath,
                                                          const char *zone,
                                                          const char *source,
                                                          const char *key,
                                                          const char *cert,
                                                          const char *dataset,
                                                          archivemgr_MediaFormat_t *mediaFormat,
                                                          archivemgr_ArchiveRADError_t **error);

               Create bootable media from a Solaris Unified Archive. Similar
               to the "create-media" subcommand in archiveadm(8).

               Note: The createMedia method submits the requested parameters
               for the resulting media, and returns immediately, without
               waiting for the actual media creation to complete. Users should
               register for the "MediaCreationProgress" and
               "MediaCreationStatus" events to observe the state of the media
               creation request.

               Arguments:

               inst -- RAD instance

               mediaPath -- The name of the resulting media image file. The
               mediaPath must be an absolute path.

               zone (nullable) -- Optional: selects the global zone from which
               media is created. If not specified, the host global zone is
               used.

               source (nullable) -- Optional: provides a source for an AI
               image. Valid sources are either a path to a compatible Solaris
               Automated Install ISO image file or the URI of a Solaris IPS
               repository which contains a compatible
               pkg:/install-image/solaris-auto-install package. Compatibility
               is based upon the version of Solaris. If source is not
               specified, all IPS publishers which are set on the system for
               which media is being created will be searched for a compatible
               version of the solaris-auto-install package.

               key (nullable) -- Optional: SSL key, this argument is used to
               pass HTTPS credentials to the source when the source provided
               is an HTTPS URI.

               cert (nullable) -- Optional: SSL cert, this argument is used to
               pass HTTPS credentials to the source when the source provided
               is an HTTPS URI.

               dataset (nullable) -- Optional: provides a ZFS dataset to be
               used as a staging area for media creation. If this is not
               passed, a default staging area on rpool is used. The staging
               area will be cleaned up and removed at the end of media
               creation.

               mediaFormat (nullable) -- Optional: a value from the
               MediaFormat enum, selects the format of the resulting bootable
               media, either ISO or USB image file. If not specified, the USB
               format is used. If the resulting media image will be larger
               than 4GB, only the USB format is supported.

               error

           rc_err_t archivemgr_UnifiedArchive_rehydrateArchive(rc_instance_t *inst,
                                                               const char *rehydratePath,
                                                               archivemgr_ArchiveRADError_t **error);

               Create a rehydrated Solaris Unified Archive from a dehydrated
               Solaris Unified Archive.

               Note: The rehydrateArchive method submits the requested
               parameters for the resulting rehydrated archive, and returns
               immediately, without waiting for the actual rehydration to
               complete. Users should register for the "RehydrateProgress" and
               "RehydrateStatus" events to observe the state of the rehydrate
               request.

               Arguments:

               inst -- RAD instance

               rehydratePath -- The name of the resulting rehydrated Solaris
               Unified Archive. The rehydratePath must be an absolute path.

               error

       UnifiedArchive Retrieve
           rc_err_t archivemgr_UnifiedArchive__rad_get_name(adr_name_t **result,
                                                            int n,
                                                            ...);

               Obtain RAD name of a UnifiedArchive object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t archivemgr_UnifiedArchive__rad_lookup(rc_conn_t *c,
                                                          boolean_t strict,
                                                          rc_instance_t **result,
                                                          int n,
                                                          ...);

               Lookup a UnifiedArchive instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t archivemgr_UnifiedArchive__rad_list(rc_conn_t *c,
                                                        boolean_t strict,
                                                        adr_pattern_scheme_t scheme,
                                                        adr_name_t ***result,
                                                        int *result_count,
                                                        int n,
                                                        ...);

               List RAD names of a available UnifiedArchive instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

       UnifiedArchive Events
           MediaCreationProgress -- Event that is dispatched during archive
           media creation, which passes progress messages to client for
           consumption by user.

               typedef void (*archivemgr_UnifiedArchive_MediaCreationProgress_cb_f)(rc_instance_t *inst,
                                                                                    archivemgr_MediaCreationProgress_t *payload,
                                                                                    struct timespec ts,
                                                                                    void *arg);

                   Function invoked when event "MediaCreationProgress" occurs.

                   Arguments:

                   inst -- RAD instance that generated the event

                   payload -- Event payload

                   ts -- Time stamp

                   arg -- User data: custom parameter to invoke the function
                   with

               rc_err_t archivemgr_UnifiedArchive_subscribe_MediaCreationProgress(rc_instance_t *inst,
                                                                                  archivemgr_UnifiedArchive_MediaCreationProgress_cb_f cb,
                                                                                  void *arg);

                   Subscribe to event "MediaCreationProgress".

                   Arguments:

                   inst -- RAD instance

                   cb -- Event callback function

                   arg -- User data: custom parameter to invoke the function
                   with

               rc_err_t archivemgr_UnifiedArchive_unsubscribe_MediaCreationProgress(rc_instance_t *inst,
                                                                                    void **arg);

                   Unsubscribe from event "MediaCreationProgress".

                   Arguments:

                   inst -- RAD instance

                   arg -- User data returned

           MediaCreationStatus -- Event that is dispatched when media creation
           operation completes.

               typedef void (*archivemgr_UnifiedArchive_MediaCreationStatus_cb_f)(rc_instance_t *inst,
                                                                                  archivemgr_MediaCreationStatus_t *payload,
                                                                                  struct timespec ts,
                                                                                  void *arg);

                   Function invoked when event "MediaCreationStatus" occurs.

                   Arguments:

                   inst -- RAD instance that generated the event

                   payload -- Event payload

                   ts -- Time stamp

                   arg -- User data: custom parameter to invoke the function
                   with

               rc_err_t archivemgr_UnifiedArchive_subscribe_MediaCreationStatus(rc_instance_t *inst,
                                                                                archivemgr_UnifiedArchive_MediaCreationStatus_cb_f cb,
                                                                                void *arg);

                   Subscribe to event "MediaCreationStatus".

                   Arguments:

                   inst -- RAD instance

                   cb -- Event callback function

                   arg -- User data: custom parameter to invoke the function
                   with

               rc_err_t archivemgr_UnifiedArchive_unsubscribe_MediaCreationStatus(rc_instance_t *inst,
                                                                                  void **arg);

                   Unsubscribe from event "MediaCreationStatus".

                   Arguments:

                   inst -- RAD instance

                   arg -- User data returned

           RehydrateProgress -- Event that is dispatched during archive
           rehydrate, which passes progress messages to client for consumption
           by user.

               typedef void (*archivemgr_UnifiedArchive_RehydrateProgress_cb_f)(rc_instance_t *inst,
                                                                                archivemgr_RehydrateProgress_t *payload,
                                                                                struct timespec ts,
                                                                                void *arg);

                   Function invoked when event "RehydrateProgress" occurs.

                   Arguments:

                   inst -- RAD instance that generated the event

                   payload -- Event payload

                   ts -- Time stamp

                   arg -- User data: custom parameter to invoke the function
                   with

               rc_err_t archivemgr_UnifiedArchive_subscribe_RehydrateProgress(rc_instance_t *inst,
                                                                              archivemgr_UnifiedArchive_RehydrateProgress_cb_f cb,
                                                                              void *arg);

                   Subscribe to event "RehydrateProgress".

                   Arguments:

                   inst -- RAD instance

                   cb -- Event callback function

                   arg -- User data: custom parameter to invoke the function
                   with

               rc_err_t archivemgr_UnifiedArchive_unsubscribe_RehydrateProgress(rc_instance_t *inst,
                                                                                void **arg);

                   Unsubscribe from event "RehydrateProgress".

                   Arguments:

                   inst -- RAD instance

                   arg -- User data returned

           RehydrateStatus -- Event that is dispatched when the rehydrate
           operation completes.

               typedef void (*archivemgr_UnifiedArchive_RehydrateStatus_cb_f)(rc_instance_t *inst,
                                                                              archivemgr_RehydrateStatus_t *payload,
                                                                              struct timespec ts,
                                                                              void *arg);

                   Function invoked when event "RehydrateStatus" occurs.

                   Arguments:

                   inst -- RAD instance that generated the event

                   payload -- Event payload

                   ts -- Time stamp

                   arg -- User data: custom parameter to invoke the function
                   with

               rc_err_t archivemgr_UnifiedArchive_subscribe_RehydrateStatus(rc_instance_t *inst,
                                                                            archivemgr_UnifiedArchive_RehydrateStatus_cb_f cb,
                                                                            void *arg);

                   Subscribe to event "RehydrateStatus".

                   Arguments:

                   inst -- RAD instance

                   cb -- Event callback function

                   arg -- User data: custom parameter to invoke the function
                   with

               rc_err_t archivemgr_UnifiedArchive_unsubscribe_RehydrateStatus(rc_instance_t *inst,
                                                                              void **arg);

                   Unsubscribe from event "RehydrateStatus".

                   Arguments:

                   inst -- RAD instance

                   arg -- User data returned

   interface ArchivedSystem
       Interface describing a RAD ArchivedSystem object, which represents a
       single deployable system contained in the Unified Archive. Information
       about the deployable system's properties can be accessed.

       ArchivedSystem Properties
           const char * activeBE (read-only) -- The name of the active boot
           environment on this system.

               rc_err_t archivemgr_ArchivedSystem_get_activeBE(rc_instance_t *inst,
                                                               char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * aiMedia (read-only) -- The name of the AI media
           associated with this archived system.

               rc_err_t archivemgr_ArchivedSystem_get_aiMedia(rc_instance_t *inst,
                                                              char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * brand (read-only) -- The brand of the zone that is
           archived, e.g. solaris-kz.

               rc_err_t archivemgr_ArchivedSystem_get_brand(rc_instance_t *inst,
                                                            char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char ** embeddedZones (read-only, nullable) -- The list of
           zones that are embedded in this system. The output is a list of
           zones or None if there are no embedded zones.

               rc_err_t archivemgr_ArchivedSystem_get_embeddedZones(rc_instance_t *inst,
                                                                    char ***result,
                                                                    int *result_cnt);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

                   result_cnt -- Number of items in result array

           const char * name (read-only) -- The name of this system.

               rc_err_t archivemgr_ArchivedSystem_get_name(rc_instance_t *inst,
                                                           char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * osBranch (read-only) -- The os branch of
           osnet-incorporation, e.g. '11.4.0.0.0.55.0'.

               rc_err_t archivemgr_ArchivedSystem_get_osBranch(rc_instance_t *inst,
                                                               char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * osVersion (read-only) -- The version of Solaris
           installed on this system, e.g. '11.4'.

               rc_err_t archivemgr_ArchivedSystem_get_osVersion(rc_instance_t *inst,
                                                                char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           boolean_t rootOnly (read-only) -- True if this system contains only
           root data; Otherwise False.

               rc_err_t archivemgr_ArchivedSystem_get_rootOnly(rc_instance_t *inst,
                                                               boolean_t *result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           long long size (read-only) -- The size needed to deploy this
           system, byte-count output.

               rc_err_t archivemgr_ArchivedSystem_get_size(rc_instance_t *inst,
                                                           long long *result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * systemUUID (read-only) -- The 128-bit unique
           identifier for this system.

               rc_err_t archivemgr_ArchivedSystem_get_systemUUID(rc_instance_t *inst,
                                                                 char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * originTargetInfo (read-only)

               The XML of the system's target discovery output, it is valid
               for an ai_manifest(5). It can be used as a starting point for
               creating a custom ai_manifest(5) target section.

               rc_err_t archivemgr_ArchivedSystem_get_originTargetInfo(rc_instance_t *inst,
                                                                       char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char * originTargetVerboseInfo (read-only)

               The XML of the system's target discovery verbose output, which
               may include additional disk name attributes (such as devid,
               devpath, etc.) that might be useful, but will not be valid for
               an ai_manifest(5).

               rc_err_t archivemgr_ArchivedSystem_get_originTargetVerboseInfo(rc_instance_t *inst,
                                                                              char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

       ArchivedSystem Retrieve
           rc_err_t archivemgr_ArchivedSystem__rad_get_name(adr_name_t **result,
                                                            int n,
                                                            ...);

               Obtain RAD name of a ArchivedSystem object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t archivemgr_ArchivedSystem__rad_lookup(rc_conn_t *c,
                                                          boolean_t strict,
                                                          rc_instance_t **result,
                                                          int n,
                                                          ...);

               Lookup a ArchivedSystem instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t archivemgr_ArchivedSystem__rad_list(rc_conn_t *c,
                                                        boolean_t strict,
                                                        adr_pattern_scheme_t scheme,
                                                        adr_name_t ***result,
                                                        int *result_count,
                                                        int n,
                                                        ...);

               List RAD names of a available ArchivedSystem instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

ENUMERATED TYPES
       enum ArchiveRADErrType -- Possible error types returned by the Archive
       RAD Module.

           typedef enum archivemgr_ArchiveRADErrType {
                AARADET_ARCHIVE_OPTION_ERR = 0,
                AARADET_INVALID_ARG_VALUE = 1,
                AARADET_ARCHIVE_ERR = 2,
                AARADET_RUNTIME_ERR = 3,
                AARADET_LOCKFILE_ERR = 4,
           } archivemgr_ArchiveRADErrType_t;

           When the Archive RAD Module encounters an error, it will return a
           payload containing both an error type and an error message. This
           enum defines the possible error types.

           AARADET_ARCHIVE_OPTION_ERR (0) -- This error type will be raised
           when a user specified invalid or conflicting options.

           AARADET_INVALID_ARG_VALUE (1) -- This error type will be raised
           when a method has been called with an invalid argument.

           AARADET_ARCHIVE_ERR (2) -- This error type represents a general
           exception raised by the archive library.

           AARADET_RUNTIME_ERR (3) -- This error type will be raised when an
           error is detected that does not fall in any of the other
           categories.

           AARADET_LOCKFILE_ERR (4) -- This error type will be raised when the
           Lockfile is unable to acquire a lock.

       enum ArchiveOpExecStatus -- Indicates the execution status of an
       archive operation.

           typedef enum archivemgr_ArchiveOpExecStatus {
                AAOES_EXEC_SUCCESSFUL = 0,
                AAOES_EXEC_FAILED = 1,
                AAOES_EXEC_CANCELED = 2,
           } archivemgr_ArchiveOpExecStatus_t;

           AAOES_EXEC_SUCCESSFUL (0) -- The archive operation has executed
           successfully.

           AAOES_EXEC_FAILED (1) -- The archive operation execution has
           failed.

           AAOES_EXEC_CANCELED (2) -- The archive operation execution has been
           canceled.

       enum ArchiveType -- The type of a Unified Archive.

           typedef enum archivemgr_ArchiveType {
                AAT_RECOVERY = 0,
                AAT_CLONE = 1,
           } archivemgr_ArchiveType_t;

           AAT_RECOVERY (0)

           AAT_CLONE (1)

       enum ISA -- The architecture type of the systems that are archived in a
       Unified Archive.

           typedef enum archivemgr_ISA {
                AISA_SPARC = 0,
                AISA_I386 = 1,
           } archivemgr_ISA_t;

           AISA_SPARC (0)

           AISA_I386 (1)

       enum MediaFormat -- The format of a bootable media.

           typedef enum archivemgr_MediaFormat {
                AMF_ISO = 0,
                AMF_USB = 1,
           } archivemgr_MediaFormat_t;

           AMF_ISO (0)

           AMF_USB (1)

STRUCTURED TYPES
       struct ArchiveRADError -- Contains information about an error that
       occurred in the Archive RAD Module.

           typedef struct archivemgr_ArchiveRADError
           archivemgr_ArchiveRADError_t;

           struct archivemgr_ArchiveRADError {
                archivemgr_ArchiveRADErrType_t aarade_errType;
                char *aarade_info;
           };


           void archivemgr_ArchiveRADError_free(archivemgr_ArchiveRADError_t *in);

           Fields:

           aarade_errType -- The error type is an enum value of
           ArchiveRADErrType.

           aarade_info -- This field contains the error message, which is a
           human readable string detailing the cause of the error.

       struct ArchiveCreationProgress -- Event that is dispatched whenever
       there is a progress message to be passed to the client during archive
       creation.

           typedef struct archivemgr_ArchiveCreationProgress
           archivemgr_ArchiveCreationProgress_t;

           struct archivemgr_ArchiveCreationProgress {
                int aacp_percent;
                char *aacp_message;
                boolean_t aacp_is_error;
           };


           void archivemgr_ArchiveCreationProgress_free(archivemgr_ArchiveCreationProgress_t *in);

           Fields:

           aacp_percent -- The percentage integer describing the current
           progress status of an archive creation.

           aacp_message -- The progress message.

           aacp_is_error -- Information if this message should be logged to
           stderr.

       struct MediaCreationProgress -- Event that is dispatched whenever there
       is a progress message to be passed to the client during media creation.

           typedef struct archivemgr_MediaCreationProgress
           archivemgr_MediaCreationProgress_t;

           struct archivemgr_MediaCreationProgress {
                int amcp_percent;
                char *amcp_message;
           };


           void archivemgr_MediaCreationProgress_free(archivemgr_MediaCreationProgress_t *in);

           Fields:

           amcp_percent -- The percentage integer describing the current
           progress status of a media creation.

           amcp_message -- The progress message.

       struct RehydrateProgress -- Event that is dispatched whenever there is
       a progress message to be passed to the client during rehydration.

           typedef struct archivemgr_RehydrateProgress
           archivemgr_RehydrateProgress_t;

           struct archivemgr_RehydrateProgress {
                int arp_percent;
                char *arp_message;
           };


           void archivemgr_RehydrateProgress_free(archivemgr_RehydrateProgress_t *in);

           Fields:

           arp_percent -- The percentage integer describing the current
           progress status of rehydration.

           arp_message -- The progress message.

       struct ArchiveCreationStatus -- Event that is dispatched when the long
       running archive creation operation completes. Return the status of the
       operation.

           typedef struct archivemgr_ArchiveCreationStatus
           archivemgr_ArchiveCreationStatus_t;

           struct archivemgr_ArchiveCreationStatus {
                archivemgr_ArchiveOpExecStatus_t aacs_status;
                archivemgr_ArchiveRADErrType_t *aacs_errType;
                char *aacs_errorMessage;
           };


           void archivemgr_ArchiveCreationStatus_free(archivemgr_ArchiveCreationStatus_t *in);

           Fields:

           aacs_status

               The archive creation operation status, indicates whether the
               operation is "EXEC_SUCCESSFUL", "EXEC_FAILED" or
               "EXEC_CANCELED". The status is an enum value of
               ArchiveOpExecStatus.

           aacs_errType -- This field is used if the status is "EXEC_FAILED".
           The error type is an enum value of ArchiveRADErrType.

           aacs_errorMessage -- This field is used if the status is
           "EXEC_FAILED". This field contains the message that describes the
           reason for the failure.

       struct MediaCreationStatus -- Event that is dispatched when the long
       running media creation operation completes. Return the status of the
       operation.

           typedef struct archivemgr_MediaCreationStatus
           archivemgr_MediaCreationStatus_t;

           struct archivemgr_MediaCreationStatus {
                archivemgr_ArchiveOpExecStatus_t amcs_status;
                archivemgr_ArchiveRADErrType_t *amcs_errType;
                char *amcs_errorMessage;
           };


           void archivemgr_MediaCreationStatus_free(archivemgr_MediaCreationStatus_t *in);

           Fields:

           amcs_status

               The archive media creation operation status, indicates whether
               the operation is "EXEC_SUCCESSFUL", "EXEC_FAILED" or
               "EXEC_CANCELED". The status is an enum value of
               ArchiveOpExecStatus.

           amcs_errType -- This field is used if the status is "EXEC_FAILED".
           The error type is an enum value of ArchiveRADErrType.

           amcs_errorMessage -- This field is used if the status is
           "EXEC_FAILED". This field contains the message that describes the
           reason for the failure.

       struct RehydrateStatus -- Event that is dispatched when the long
       running rehydrate operation completes. Return the status of the
       operation.

           typedef struct archivemgr_RehydrateStatus
           archivemgr_RehydrateStatus_t;

           struct archivemgr_RehydrateStatus {
                archivemgr_ArchiveOpExecStatus_t ars_status;
                archivemgr_ArchiveRADErrType_t *ars_errType;
                char *ars_errorMessage;
           };


           void archivemgr_RehydrateStatus_free(archivemgr_RehydrateStatus_t *in);

           Fields:

           ars_status

               The archive rehydrate operation status, indicates whether the
               operation is "EXEC_SUCCESSFUL", "EXEC_FAILED" or
               "EXEC_CANCELED". The status is an enum value of
               ArchiveOpExecStatus.

           ars_errType -- This field is used if the status is "EXEC_FAILED".
           The error type is an enum value of ArchiveRADErrType.

           ars_errorMessage -- This field is used if the status is
           "EXEC_FAILED". This field contains the message that describes the
           reason for the failure.

VERSION
       1.0

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       +--------------------+---------------------------------------------+
       |  ATTRIBUTE TYPE    |               ATTRIBUTE VALUE               |
       +--------------------+---------------------------------------------+
       |Availability        | system/management/rad/module/rad-archivemgr |
       +--------------------+---------------------------------------------+
       |Interface Stability | Private                                     |
       +--------------------+---------------------------------------------+

SEE ALSO
       rad(8)

NOTES
        1. Accessing Python documentation for this module:

           $ pydoc rad.bindings.com.oracle.solaris.rad.archivemgr_1





Solaris 11.4                      2017-02-01                ARCHIVEMGR-1(3rad)