ips-1 - API for pkg operations in IPS
#include <rad/client/1/ips.h>
cc [ flag... ] file... -lips1_client [ library... ]
interface PkgSource
const char * URI ; (ro)
const char * type ; (ro)
const char * status ; (ro)
const char ** proxies ; (ro)
const char * cert_effective_date ; (ro)
const char * cert_expiration_date ; (ro)
const char * SSL_key ; (ro)
const char * SSL_cert ; (ro)
interface PkgPublisher
const char * prefix ; (ro)
const char * alias ; (ro)
const char * client_UUID ; (ro)
const char * cat_updated_time ; (ro)
const char * enabled ; (ro)
const char * sticky ; (ro)
const char * syspub ; (ro)
const rc_instance_t ** mirrors ; (ro)
const rc_instance_t ** origins ; (ro)
ips_PkgProperty_t ** properties ; (ro)
const char ** approved_CAs ; (ro)
const char ** revoked_CAs ; (ro)
interface PkgFmri
rc_err_t ips_PkgFmri_get_name(rc_instance_t *inst,
char **result);
rc_err_t ips_PkgFmri_get_publisher(rc_instance_t *inst,
char **result);
rc_err_t ips_PkgFmri_get_pkg_stem(rc_instance_t *inst,
boolean_t *no_publisher,
boolean_t *include_scheme,
char **result);
rc_err_t ips_PkgFmri_get_fmri(rc_instance_t *inst,
const char *default_publisher,
boolean_t *no_publisher,
boolean_t *include_scheme,
boolean_t *include_build,
boolean_t *include_timestamp,
char **result);
rc_err_t ips_PkgFmri_get_version(rc_instance_t *inst,
char **result);
rc_err_t ips_PkgFmri_get_timestamp(rc_instance_t *inst,
char **result);
interface PkgInfo
const char * pkg_name ; (ro)
const char * summary ; (ro)
const char * description ; (ro)
const char * category ; (ro)
const char * state ; (ro)
const char * renamed_to ; (ro)
const char * publisher ; (ro)
const char * last_install_time ; (ro)
const char * last_update_time ; (ro)
const char * size ; (ro)
const rc_instance_t * fmri ; (ro)
const char ** licenses ; (ro)
interface PkgImage
const char * image_path ; (ro)
const char * mode ; (rw)
float progress_interval ; (rw)
rc_err_t ips_PkgImage_list_packages(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
boolean_t *refresh_catalogs,
const char **origins,
int origins_count,
boolean_t *list_installed_newest,
boolean_t *list_all,
boolean_t *list_newest,
boolean_t *list_upgradable,
const char *mode,
rc_instance_t ***result,
int *result_cnt,
ips_PkgError_t **error);
rc_err_t ips_PkgImage_install(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
const char *backup_be_name,
const char *be_name,
boolean_t *deny_new_be,
boolean_t *no_backup_be,
boolean_t *be_activate,
boolean_t *require_backup_be,
boolean_t *require_new_be,
int *concurrency,
boolean_t *accept,
boolean_t *show_licenses,
const char **reject_pats,
int reject_pats_count,
boolean_t *update_index,
boolean_t *refresh_catalogs,
boolean_t *noexecute,
int *parsable_version,
const char **origins,
int origins_count,
boolean_t *li_erecurse_all,
const char **li_erecurse_list,
int li_erecurse_list_count,
const char **li_erecurse_excl,
int li_erecurse_excl_count,
boolean_t *sync_act,
int *act_timeout,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);
rc_err_t ips_PkgImage_exact_install(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
const char *backup_be_name,
const char *be_name,
boolean_t *deny_new_be,
boolean_t *no_backup_be,
boolean_t *be_activate,
boolean_t *require_backup_be,
boolean_t *require_new_be,
int *concurrency,
boolean_t *accept,
boolean_t *show_licenses,
const char **reject_pats,
int reject_pats_count,
boolean_t *update_index,
boolean_t *refresh_catalogs,
boolean_t *noexecute,
int *parsable_version,
const char **origins,
int origins_count,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);
rc_err_t ips_PkgImage_update(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
const char *backup_be_name,
const char *be_name,
boolean_t *deny_new_be,
boolean_t *no_backup_be,
boolean_t *be_activate,
boolean_t *require_backup_be,
boolean_t *require_new_be,
int *concurrency,
boolean_t *accept,
boolean_t *show_licenses,
const char **reject_pats,
int reject_pats_count,
boolean_t *update_index,
boolean_t *refresh_catalogs,
boolean_t *noexecute,
int *parsable_version,
const char **origins,
int origins_count,
boolean_t *li_erecurse_all,
const char **li_erecurse_list,
int li_erecurse_list_count,
const char **li_erecurse_excl,
int li_erecurse_excl_count,
boolean_t *sync_act,
int *act_timeout,
boolean_t *ignore_missing,
boolean_t *force,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);
rc_err_t ips_PkgImage_uninstall(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
const char *backup_be_name,
const char *be_name,
boolean_t *deny_new_be,
boolean_t *no_backup_be,
boolean_t *be_activate,
boolean_t *require_backup_be,
boolean_t *require_new_be,
int *concurrency,
boolean_t *update_index,
boolean_t *refresh_catalogs,
boolean_t *noexecute,
int *parsable_version,
boolean_t *li_erecurse_all,
const char **li_erecurse_list,
int li_erecurse_list_count,
const char **li_erecurse_excl,
int li_erecurse_excl_count,
boolean_t *sync_act,
int *act_timeout,
boolean_t *ignore_missing,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);
rc_err_t ips_PkgImage_info(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
boolean_t *license_only,
boolean_t *info_local,
boolean_t *info_remote,
const char **origins,
int origins_count,
const char *mode,
rc_instance_t ***result,
int *result_cnt,
ips_PkgError_t **error);
rc_err_t ips_PkgImage_publisher(rc_instance_t *inst,
const char **publishers,
int publishers_count,
boolean_t *preferred_only,
boolean_t *include_disabled,
const char *mode,
rc_instance_t ***result,
int *result_cnt,
ips_PkgError_t **error);
rc_err_t ips_PkgImage_set_publisher(rc_instance_t *inst,
const char **publishers,
int publishers_count,
const char *ssl_key,
const char *ssl_cert,
const char **approved_ca_certs,
int approved_ca_certs_count,
const char **revoked_ca_certs,
int revoked_ca_certs_count,
const char **unset_ca_certs,
int unset_ca_certs_count,
const char *origin_uri,
boolean_t *reset_uuid,
const char **add_mirrors,
int add_mirrors_count,
const char **remove_mirrors,
int remove_mirrors_count,
const char **add_origins,
int add_origins_count,
const char **remove_origins,
int remove_origins_count,
boolean_t *refresh_allowed,
boolean_t *disable,
boolean_t *sticky,
const char *repo_uri,
const char *proxy_uri,
const char **set_props,
int set_props_count,
const char **add_prop_values,
int add_prop_values_count,
const char **remove_prop_values,
int remove_prop_values_count,
const char **unset_props,
int unset_props_count,
const char *search_before,
const char *search_after,
const char *search_first,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);
rc_err_t ips_PkgImage_unset_publisher(rc_instance_t *inst,
const char **publishers,
int publishers_count,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);
typedef void (*ips_PkgImage_progress_cb_f)(rc_instance_t *inst,
ips_PkgProgress_t *payload,
struct timespec ts,
void *arg);
rc_err_t ips_PkgImage_subscribe_progress(rc_instance_t *inst,
ips_PkgImage_progress_cb_f cb,
void *arg);
rc_err_t ips_PkgImage_unsubscribe_progress(rc_instance_t *inst,
void **arg);
interface IPSManager
rc_err_t ips_IPSManager_image_create(rc_instance_t *inst,
const char *image_path,
rc_instance_t **result,
ips_PkgError_t **error);
rc_err_t ips_IPSManager_image_remove(rc_instance_t *inst,
const adr_name_t *name,
ips_PkgError_t **error);
rc_err_t ips_IPSManager_image_open(rc_instance_t *inst,
const char *image_path,
rc_instance_t **result,
ips_PkgError_t **error);
Enumerated Types
enum PkgRetErrCode
typedef enum ips_PkgRetErrCode {
IPREC_OK = 0,
IPREC_GENERAL_ERROR = 1,
IPREC_BAD_ARGS = 2,
IPREC_PARTIAL_SUCCEED = 3,
IPREC_NO_OP = 4,
IPREC_NO_PERMIT_LIVE = 5,
IPREC_LICENSE_ACCEPT = 6,
IPREC_IMAGE_LOCKED = 7,
IPREC_ACTUATOR_TIMEOUT = 8,
IPREC_UNANTICIPATED = 99,
} ips_PkgRetErrCode_t;
Structured Types
struct PkgProgress
typedef struct ips_PkgProgress ips_PkgProgress_t;
struct ips_PkgProgress {
char *ipp_phase;
char *ipp_message;
char *ipp_time_taken;
char *ipp_time_unit;
char *ipp_action_type;
char *ipp_processed_items;
char *ipp_goal_items;
char *ipp_percent_done;
char *ipp_item_unit;
char *ipp_speed;
char **ipp_running;
int ipp_running_count;
char *ipp_goal_processed_items;
char *ipp_reversioned_items;
char *ipp_goal_reversion_items;
char *ipp_adjusted_items;
char **ipp_li_output;
int ipp_li_output_count;
char **ipp_li_errors;
int ipp_li_errors_count;
};
void ips_PkgProgress_free(ips_PkgProgress_t *in);
struct PkgError
typedef struct ips_PkgError ips_PkgError_t;
struct ips_PkgError {
ips_PkgRetErrCode_t ipe_error_code;
char *ipe_error_message;
};
void ips_PkgError_free(ips_PkgError_t *in);
struct PkgProperty
typedef struct ips_PkgProperty ips_PkgProperty_t;
struct ips_PkgProperty {
char *ipp_name;
char **ipp_value;
int ipp_value_count;
};
void ips_PkgProperty_free(ips_PkgProperty_t *in);
struct PkgReturn
typedef struct ips_PkgReturn ips_PkgReturn_t;
struct ips_PkgReturn {
ips_PkgRetErrCode_t ipr_return_code;
char *ipr_parsable_data;
};
void ips_PkgReturn_free(ips_PkgReturn_t *in);
IPS-1(3rad) RAD Module Definitions IPS-1(3rad)
NAME
ips - API for pkg operations in IPS
SYNOPSIS
#include <rad/client/1/ips.h>
cc [ flag... ] file... -lips1_client [ library... ]
interface PkgSource
const char * URI ; (ro)
const char * type ; (ro)
const char * status ; (ro)
const char ** proxies ; (ro)
const char * cert_effective_date ; (ro)
const char * cert_expiration_date ; (ro)
const char * SSL_key ; (ro)
const char * SSL_cert ; (ro)
interface PkgPublisher
const char * prefix ; (ro)
const char * alias ; (ro)
const char * client_UUID ; (ro)
const char * cat_updated_time ; (ro)
const char * enabled ; (ro)
const char * sticky ; (ro)
const char * syspub ; (ro)
const rc_instance_t ** mirrors ; (ro)
const rc_instance_t ** origins ; (ro)
ips_PkgProperty_t ** properties ; (ro)
const char ** approved_CAs ; (ro)
const char ** revoked_CAs ; (ro)
interface PkgFmri
rc_err_t ips_PkgFmri_get_name(rc_instance_t *inst,
char **result);
rc_err_t ips_PkgFmri_get_publisher(rc_instance_t *inst,
char **result);
rc_err_t ips_PkgFmri_get_pkg_stem(rc_instance_t *inst,
boolean_t *no_publisher,
boolean_t *include_scheme,
char **result);
rc_err_t ips_PkgFmri_get_fmri(rc_instance_t *inst,
const char *default_publisher,
boolean_t *no_publisher,
boolean_t *include_scheme,
boolean_t *include_build,
boolean_t *include_timestamp,
char **result);
rc_err_t ips_PkgFmri_get_version(rc_instance_t *inst,
char **result);
rc_err_t ips_PkgFmri_get_timestamp(rc_instance_t *inst,
char **result);
interface PkgInfo
const char * pkg_name ; (ro)
const char * summary ; (ro)
const char * description ; (ro)
const char * category ; (ro)
const char * state ; (ro)
const char * renamed_to ; (ro)
const char * publisher ; (ro)
const char * last_install_time ; (ro)
const char * last_update_time ; (ro)
const char * size ; (ro)
const rc_instance_t * fmri ; (ro)
const char ** licenses ; (ro)
interface PkgImage
const char * image_path ; (ro)
const char * mode ; (rw)
float progress_interval ; (rw)
rc_err_t ips_PkgImage_list_packages(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
boolean_t *refresh_catalogs,
const char **origins,
int origins_count,
boolean_t *list_installed_newest,
boolean_t *list_all,
boolean_t *list_newest,
boolean_t *list_upgradable,
const char *mode,
rc_instance_t ***result,
int *result_cnt,
ips_PkgError_t **error);
rc_err_t ips_PkgImage_install(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
const char *backup_be_name,
const char *be_name,
boolean_t *deny_new_be,
boolean_t *no_backup_be,
boolean_t *be_activate,
boolean_t *require_backup_be,
boolean_t *require_new_be,
int *concurrency,
boolean_t *accept,
boolean_t *show_licenses,
const char **reject_pats,
int reject_pats_count,
boolean_t *update_index,
boolean_t *refresh_catalogs,
boolean_t *noexecute,
int *parsable_version,
const char **origins,
int origins_count,
boolean_t *li_erecurse_all,
const char **li_erecurse_list,
int li_erecurse_list_count,
const char **li_erecurse_excl,
int li_erecurse_excl_count,
boolean_t *sync_act,
int *act_timeout,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);
rc_err_t ips_PkgImage_exact_install(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
const char *backup_be_name,
const char *be_name,
boolean_t *deny_new_be,
boolean_t *no_backup_be,
boolean_t *be_activate,
boolean_t *require_backup_be,
boolean_t *require_new_be,
int *concurrency,
boolean_t *accept,
boolean_t *show_licenses,
const char **reject_pats,
int reject_pats_count,
boolean_t *update_index,
boolean_t *refresh_catalogs,
boolean_t *noexecute,
int *parsable_version,
const char **origins,
int origins_count,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);
rc_err_t ips_PkgImage_update(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
const char *backup_be_name,
const char *be_name,
boolean_t *deny_new_be,
boolean_t *no_backup_be,
boolean_t *be_activate,
boolean_t *require_backup_be,
boolean_t *require_new_be,
int *concurrency,
boolean_t *accept,
boolean_t *show_licenses,
const char **reject_pats,
int reject_pats_count,
boolean_t *update_index,
boolean_t *refresh_catalogs,
boolean_t *noexecute,
int *parsable_version,
const char **origins,
int origins_count,
boolean_t *li_erecurse_all,
const char **li_erecurse_list,
int li_erecurse_list_count,
const char **li_erecurse_excl,
int li_erecurse_excl_count,
boolean_t *sync_act,
int *act_timeout,
boolean_t *ignore_missing,
boolean_t *force,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);
rc_err_t ips_PkgImage_uninstall(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
const char *backup_be_name,
const char *be_name,
boolean_t *deny_new_be,
boolean_t *no_backup_be,
boolean_t *be_activate,
boolean_t *require_backup_be,
boolean_t *require_new_be,
int *concurrency,
boolean_t *update_index,
boolean_t *refresh_catalogs,
boolean_t *noexecute,
int *parsable_version,
boolean_t *li_erecurse_all,
const char **li_erecurse_list,
int li_erecurse_list_count,
const char **li_erecurse_excl,
int li_erecurse_excl_count,
boolean_t *sync_act,
int *act_timeout,
boolean_t *ignore_missing,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);
rc_err_t ips_PkgImage_info(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
boolean_t *license_only,
boolean_t *info_local,
boolean_t *info_remote,
const char **origins,
int origins_count,
const char *mode,
rc_instance_t ***result,
int *result_cnt,
ips_PkgError_t **error);
rc_err_t ips_PkgImage_publisher(rc_instance_t *inst,
const char **publishers,
int publishers_count,
boolean_t *preferred_only,
boolean_t *include_disabled,
const char *mode,
rc_instance_t ***result,
int *result_cnt,
ips_PkgError_t **error);
rc_err_t ips_PkgImage_set_publisher(rc_instance_t *inst,
const char **publishers,
int publishers_count,
const char *ssl_key,
const char *ssl_cert,
const char **approved_ca_certs,
int approved_ca_certs_count,
const char **revoked_ca_certs,
int revoked_ca_certs_count,
const char **unset_ca_certs,
int unset_ca_certs_count,
const char *origin_uri,
boolean_t *reset_uuid,
const char **add_mirrors,
int add_mirrors_count,
const char **remove_mirrors,
int remove_mirrors_count,
const char **add_origins,
int add_origins_count,
const char **remove_origins,
int remove_origins_count,
boolean_t *refresh_allowed,
boolean_t *disable,
boolean_t *sticky,
const char *repo_uri,
const char *proxy_uri,
const char **set_props,
int set_props_count,
const char **add_prop_values,
int add_prop_values_count,
const char **remove_prop_values,
int remove_prop_values_count,
const char **unset_props,
int unset_props_count,
const char *search_before,
const char *search_after,
const char *search_first,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);
rc_err_t ips_PkgImage_unset_publisher(rc_instance_t *inst,
const char **publishers,
int publishers_count,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);
typedef void (*ips_PkgImage_progress_cb_f)(rc_instance_t *inst,
ips_PkgProgress_t *payload,
struct timespec ts,
void *arg);
rc_err_t ips_PkgImage_subscribe_progress(rc_instance_t *inst,
ips_PkgImage_progress_cb_f cb,
void *arg);
rc_err_t ips_PkgImage_unsubscribe_progress(rc_instance_t *inst,
void **arg);
interface IPSManager
rc_err_t ips_IPSManager_image_create(rc_instance_t *inst,
const char *image_path,
rc_instance_t **result,
ips_PkgError_t **error);
rc_err_t ips_IPSManager_image_remove(rc_instance_t *inst,
const adr_name_t *name,
ips_PkgError_t **error);
rc_err_t ips_IPSManager_image_open(rc_instance_t *inst,
const char *image_path,
rc_instance_t **result,
ips_PkgError_t **error);
Enumerated Types
enum PkgRetErrCode
typedef enum ips_PkgRetErrCode {
IPREC_OK = 0,
IPREC_GENERAL_ERROR = 1,
IPREC_BAD_ARGS = 2,
IPREC_PARTIAL_SUCCEED = 3,
IPREC_NO_OP = 4,
IPREC_NO_PERMIT_LIVE = 5,
IPREC_LICENSE_ACCEPT = 6,
IPREC_IMAGE_LOCKED = 7,
IPREC_ACTUATOR_TIMEOUT = 8,
IPREC_UNANTICIPATED = 99,
} ips_PkgRetErrCode_t;
Structured Types
struct PkgProgress
typedef struct ips_PkgProgress ips_PkgProgress_t;
struct ips_PkgProgress {
char *ipp_phase;
char *ipp_message;
char *ipp_time_taken;
char *ipp_time_unit;
char *ipp_action_type;
char *ipp_processed_items;
char *ipp_goal_items;
char *ipp_percent_done;
char *ipp_item_unit;
char *ipp_speed;
char **ipp_running;
int ipp_running_count;
char *ipp_goal_processed_items;
char *ipp_reversioned_items;
char *ipp_goal_reversion_items;
char *ipp_adjusted_items;
char **ipp_li_output;
int ipp_li_output_count;
char **ipp_li_errors;
int ipp_li_errors_count;
};
void ips_PkgProgress_free(ips_PkgProgress_t *in);
struct PkgError
typedef struct ips_PkgError ips_PkgError_t;
struct ips_PkgError {
ips_PkgRetErrCode_t ipe_error_code;
char *ipe_error_message;
};
void ips_PkgError_free(ips_PkgError_t *in);
struct PkgProperty
typedef struct ips_PkgProperty ips_PkgProperty_t;
struct ips_PkgProperty {
char *ipp_name;
char **ipp_value;
int ipp_value_count;
};
void ips_PkgProperty_free(ips_PkgProperty_t *in);
struct PkgReturn
typedef struct ips_PkgReturn ips_PkgReturn_t;
struct ips_PkgReturn {
ips_PkgRetErrCode_t ipr_return_code;
char *ipr_parsable_data;
};
void ips_PkgReturn_free(ips_PkgReturn_t *in);
DESCRIPTION
API com.oracle.solaris.rad.ips [1]
This API exposes common pkg(1) operations in IPS to rad(8) clients.
The following six interfaces are provided:
1. IPSManager - Singleton interface that provides management of pkg
images instances.
2. PkgSource - Interface provides access to publisher source such as
publisher origins or mirrors.
3. PkgPublisher - Interface provides access to publisher information.
4. PkgFmri - Interface provides access to package fmri.
5. PkgInfo - Interface provides access to package information.
6. PkgImage - Interface provides access to image operations.
A limited number of pkg operations is accessible through rad(8)PkgImage
instances.
The following is a complete client example:
INTERFACES
interface PkgSource
Interface to provide publisher source information.
PkgSource Properties
const char * URI (read-only, nullable) -- Source URI.
rc_err_t ips_PkgSource_get_URI(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
Read Error: void **
const char * type (read-only, nullable) -- Source type: origin or
mirror.
rc_err_t ips_PkgSource_get_type(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
Read Error: void **
const char * status (read-only, nullable) -- Source status. Valid
values are 'online' and 'disabled'.
rc_err_t ips_PkgSource_get_status(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
Read Error: void **
const char ** proxies (read-only, nullable) -- Source proxies.
rc_err_t ips_PkgSource_get_proxies(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
Read Error: void **
const char * cert_effective_date (read-only, nullable) -- Source
certificate effective date.
rc_err_t ips_PkgSource_get_cert_effective_date(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
Read Error: void **
const char * cert_expiration_date (read-only, nullable) -- Source
certificate expiration date.
rc_err_t ips_PkgSource_get_cert_expiration_date(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
Read Error: void **
const char * SSL_key (read-only, nullable) -- Source SSL key.
rc_err_t ips_PkgSource_get_SSL_key(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
Read Error: void **
const char * SSL_cert (read-only, nullable) -- Source SSL
certificate.
rc_err_t ips_PkgSource_get_SSL_cert(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
Read Error: void **
PkgSource Retrieve
rc_err_t ips_PkgSource__rad_get_name(adr_name_t **result,
int n,
...);
Obtain RAD name of a PkgSource 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 ips_PkgSource__rad_lookup(rc_conn_t *c,
boolean_t strict,
rc_instance_t **result,
int n,
...);
Lookup a PkgSource 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 ips_PkgSource__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 PkgSource 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
interface PkgPublisher
A package publisher.
PkgPublisher Properties
const char * prefix (read-only, nullable) -- Publisher prefix.
rc_err_t ips_PkgPublisher_get_prefix(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
Read Error: void **
const char * alias (read-only, nullable) -- Publisher alias.
rc_err_t ips_PkgPublisher_get_alias(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
Read Error: void **
const char * client_UUID (read-only, nullable) -- Publisher client
UUID.
rc_err_t ips_PkgPublisher_get_client_UUID(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
Read Error: void **
const char * cat_updated_time (read-only, nullable) -- Time the
catalog was last updated.
rc_err_t ips_PkgPublisher_get_cat_updated_time(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
Read Error: void **
const char * enabled (read-only, nullable) -- Publisher is enabled
flag.
rc_err_t ips_PkgPublisher_get_enabled(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
Read Error: void **
const char * sticky (read-only, nullable) -- Publisher is sticky
flag.
rc_err_t ips_PkgPublisher_get_sticky(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
Read Error: void **
const char * syspub (read-only, nullable) -- Publisher is a system
publisher flag.
rc_err_t ips_PkgPublisher_get_syspub(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
Read Error: void **
const rc_instance_t ** mirrors (read-only, nullable) -- A list of
mirror type PkgSource instances.
rc_err_t ips_PkgPublisher_get_mirrors(rc_instance_t *inst,
rc_instance_t ***result,
int *result_cnt);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
result_cnt -- Number of items in result array
Read Error: void **
const rc_instance_t ** origins (read-only, nullable) -- A list of
origin type PkgSource instances.
rc_err_t ips_PkgPublisher_get_origins(rc_instance_t *inst,
rc_instance_t ***result,
int *result_cnt);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
result_cnt -- Number of items in result array
Read Error: void **
ips_PkgProperty_t ** properties (read-only, nullable) -- A list of
PkgProperty structs.
rc_err_t ips_PkgPublisher_get_properties(rc_instance_t *inst,
ips_PkgProperty_t ***result,
int *result_cnt);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
result_cnt -- Number of items in result array
Read Error: void **
const char ** approved_CAs (read-only, nullable) -- A list approved
CAs.
rc_err_t ips_PkgPublisher_get_approved_CAs(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
Read Error: void **
const char ** revoked_CAs (read-only, nullable) -- A list of
revoked CAs.
rc_err_t ips_PkgPublisher_get_revoked_CAs(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
Read Error: void **
PkgPublisher Retrieve
rc_err_t ips_PkgPublisher__rad_get_name(adr_name_t **result,
int n,
...);
Obtain RAD name of a PkgPublisher 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 ips_PkgPublisher__rad_lookup(rc_conn_t *c,
boolean_t strict,
rc_instance_t **result,
int n,
...);
Lookup a PkgPublisher 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 ips_PkgPublisher__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 PkgPublisher 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
interface PkgFmri
A package FMRI.
PkgFmri Methods
rc_err_t ips_PkgFmri_get_name(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
rc_err_t ips_PkgFmri_get_publisher(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
rc_err_t ips_PkgFmri_get_pkg_stem(rc_instance_t *inst,
boolean_t *no_publisher,
boolean_t *include_scheme,
char **result);
Get property value.
Arguments:
inst -- RAD instance
no_publisher (nullable) -- Property value returned
include_scheme (nullable)
result -- Package stem.
rc_err_t ips_PkgFmri_get_fmri(rc_instance_t *inst,
const char *default_publisher,
boolean_t *no_publisher,
boolean_t *include_scheme,
boolean_t *include_build,
boolean_t *include_timestamp,
char **result);
Get property value.
Arguments:
inst -- RAD instance
default_publisher (nullable) -- Provide a default publisher
name if the FMRI does not have one.
no_publisher (nullable) -- Flag to include the publisher in the
FMRI.
include_scheme (nullable) -- Flag to include the scheme such as
(pkg:/) in the FMRI.
include_build (nullable) -- Flag to include build number in the
FMRI.
include_timestamp (nullable) -- Flag to include time stamp in
the FMRI.
result -- A package FMRI.
rc_err_t ips_PkgFmri_get_version(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
rc_err_t ips_PkgFmri_get_timestamp(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
PkgFmri Retrieve
rc_err_t ips_PkgFmri__rad_get_name(adr_name_t **result,
int n,
...);
Obtain RAD name of a PkgFmri 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 ips_PkgFmri__rad_lookup(rc_conn_t *c,
boolean_t strict,
rc_instance_t **result,
int n,
...);
Lookup a PkgFmri 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 ips_PkgFmri__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 PkgFmri 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
interface PkgInfo
Collect package-related in formation.
PkgInfo Properties
const char * pkg_name (read-only, nullable) -- Package name.
rc_err_t ips_PkgInfo_get_pkg_name(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
const char * summary (read-only, nullable) -- Package summary.
rc_err_t ips_PkgInfo_get_summary(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
const char * description (read-only, nullable) -- Package
description.
rc_err_t ips_PkgInfo_get_description(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
const char * category (read-only, nullable) -- Package category.
rc_err_t ips_PkgInfo_get_category(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
const char * state (read-only, nullable) -- Package state.
rc_err_t ips_PkgInfo_get_state(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
const char * renamed_to (read-only, nullable) -- New name of a
renamed package.
rc_err_t ips_PkgInfo_get_renamed_to(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
const char * publisher (read-only, nullable) -- Package publisher.
rc_err_t ips_PkgInfo_get_publisher(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
const char * last_install_time (read-only, nullable) -- Package
last install time.
rc_err_t ips_PkgInfo_get_last_install_time(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
const char * last_update_time (read-only, nullable) -- Package last
update time.
rc_err_t ips_PkgInfo_get_last_update_time(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
const char * size (read-only, nullable) -- Package size.
rc_err_t ips_PkgInfo_get_size(rc_instance_t *inst,
char **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
const rc_instance_t * fmri (read-only, nullable) -- Package FMRI.
rc_err_t ips_PkgInfo_get_fmri(rc_instance_t *inst,
rc_instance_t **result);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
const char ** licenses (read-only, nullable) -- Package licenses.
rc_err_t ips_PkgInfo_get_licenses(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
PkgInfo Retrieve
rc_err_t ips_PkgInfo__rad_get_name(adr_name_t **result,
int n,
...);
Obtain RAD name of a PkgInfo 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 ips_PkgInfo__rad_lookup(rc_conn_t *c,
boolean_t strict,
rc_instance_t **result,
int n,
...);
Lookup a PkgInfo 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 ips_PkgInfo__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 PkgInfo 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
interface PkgImage
A package image.
A collection of methods similar to the pkg commands, including
representations of command options. See the pkg(1) man page for option
details.
PkgImage Properties
const char * image_path (read-only, nullable) -- The image path to
operate on.
rc_err_t ips_PkgImage_get_image_path(rc_instance_t *inst,
char **result,
char **error);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
error
Read Error: char **
const char * mode (read-write, nullable) -- The running mode.
This property has two valid values: native and fork. native
allows the pkg command to be invoked within the same process as
the RAD connection. fork means the pkg command will be invoked
within a subprocess. This global mode can be overwritten by
mode for a particular operation.
rc_err_t ips_PkgImage_get_mode(rc_instance_t *inst,
char **result,
ips_PkgError_t **error);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
error
rc_err_t ips_PkgImage_set_mode(rc_instance_t *inst,
const char *mode,
ips_PkgError_t **error);
Set property value.
Arguments:
inst -- RAD instance
mode -- Property value written
error
Read-Write Error: ips_PkgError_t **
float progress_interval (read-write) -- The progress delay in
seconds.
Enables the client to control how often periodic progress
events are reported. For example, if many pieces of data are
downloaded, this property can be used to sample the download
status to avoid generating too many progress events. The
default value is 5 seconds.
rc_err_t ips_PkgImage_get_progress_interval(rc_instance_t *inst,
float *result,
ips_PkgError_t **error);
Get property value.
Arguments:
inst -- RAD instance
result -- Property value returned
error
rc_err_t ips_PkgImage_set_progress_interval(rc_instance_t *inst,
float progress_interval,
ips_PkgError_t **error);
Set property value.
Arguments:
inst -- RAD instance
progress_interval -- Property value written
error
Read-Write Error: ips_PkgError_t **
PkgImage Methods
rc_err_t ips_PkgImage_list_packages(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
boolean_t *refresh_catalogs,
const char **origins,
int origins_count,
boolean_t *list_installed_newest,
boolean_t *list_all,
boolean_t *list_newest,
boolean_t *list_upgradable,
const char *mode,
rc_instance_t ***result,
int *result_cnt,
ips_PkgError_t **error);
Arguments:
inst -- RAD instance
pkg_fmri_patterns (nullable) -- Packages to be listed.
pkg_fmri_patterns_count -- Number of items in pkg_fmri_patterns
array
refresh_catalogs (nullable) -- Equivalent to --no-refresh.
Default: True.
origins (nullable) -- Equivalent to -g. Default: None.
origins_count -- Number of items in origins array
list_installed_newest (nullable) -- Equivalent to -a. Default:
False.
list_all (nullable) -- Equivalent to -f. Default: False. Must
be used with list_installed_newest.
list_newest (nullable) -- Equivalent to -n. Default: False.
list_upgradable (nullable) -- Equivalent to -u. Default: False.
mode (nullable) -- The running mode. see PkgImage.mode property
for valid values.
result -- A list of PkgFmri objects.
result_cnt -- Number of items in result array
error
rc_err_t ips_PkgImage_install(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
const char *backup_be_name,
const char *be_name,
boolean_t *deny_new_be,
boolean_t *no_backup_be,
boolean_t *be_activate,
boolean_t *require_backup_be,
boolean_t *require_new_be,
int *concurrency,
boolean_t *accept,
boolean_t *show_licenses,
const char **reject_pats,
int reject_pats_count,
boolean_t *update_index,
boolean_t *refresh_catalogs,
boolean_t *noexecute,
int *parsable_version,
const char **origins,
int origins_count,
boolean_t *li_erecurse_all,
const char **li_erecurse_list,
int li_erecurse_list_count,
const char **li_erecurse_excl,
int li_erecurse_excl_count,
boolean_t *sync_act,
int *act_timeout,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);
Operation to install packages.
Operation for installing packages. This operation is equivalent
to the pkg install command.
Arguments:
inst -- RAD instance
pkg_fmri_patterns (nullable) -- Packages to install.
pkg_fmri_patterns_count -- Number of items in pkg_fmri_patterns
array
backup_be_name (nullable) -- Equivalent to --backup-be-name.
Default: None.
be_name (nullable) -- Equivalent to --be-name. Default: None.
deny_new_be (nullable) -- Equivalent to --deny-new-be. Default:
False.
no_backup_be (nullable) -- Equivalent to --no-backup-be.
Default: False.
be_activate (nullable) -- Opposite to --no-be-activate.
Default: True.
require_backup_be (nullable) -- Equivalent to
--require-backup-be. Default: False.
require_new_be (nullable) -- Equivalent to --require-new-be.
Default: False.
concurrency (nullable) -- Equivalent to -C. Default: None.
Minimum: 0.
accept (nullable) -- Equivalent to --accept. Default: False.
show_licenses (nullable) -- Equivalent to --licenses. Default:
False.
reject_pats (nullable) -- Equivalent to --reject. Default:
None.
reject_pats_count -- Number of items in reject_pats array
update_index (nullable) -- Opposite to --no-index. Default:
True.
refresh_catalogs (nullable) -- Opposite to --no-refresh.
Default: True.
noexecute (nullable) -- Equivalent to -n. Default: False.
parsable_version (nullable) -- Required to show licenses to be
accepted. Default: None. The only acceptable value is 0.
For software with licenses that must be viewed and
accepted, the RAD client must specify the parsable_version
and accept options to allow the RAD server to return the
parsable version of the image plan that contains software
licenses, and to set licenses as accepted.
origins (nullable) -- Equivalent to -g. Default: None.
origins_count -- Number of items in origins array
li_erecurse_all (nullable) -- Equivalent to -r. Default: False.
li_erecurse_list (nullable) -- Equivalent to -z. Default: None.
li_erecurse_list_count -- Number of items in li_erecurse_list
array
li_erecurse_excl (nullable) -- Equivalent to -Z. Default: None.
li_erecurse_excl_count -- Number of items in li_erecurse_excl
array
sync_act (nullable) -- Equivalent to --sync-actuators. Default:
False.
act_timeout (nullable) -- Equivalent to
--sync-actuators-timeout. Default: None. Minimum: 0.
mode (nullable) -- The running mode. see PkgImage.mode property
for valid values.
result -- The returned data.
error
rc_err_t ips_PkgImage_exact_install(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
const char *backup_be_name,
const char *be_name,
boolean_t *deny_new_be,
boolean_t *no_backup_be,
boolean_t *be_activate,
boolean_t *require_backup_be,
boolean_t *require_new_be,
int *concurrency,
boolean_t *accept,
boolean_t *show_licenses,
const char **reject_pats,
int reject_pats_count,
boolean_t *update_index,
boolean_t *refresh_catalogs,
boolean_t *noexecute,
int *parsable_version,
const char **origins,
int origins_count,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);
Operation to install only named packages and their
dependencies.
Operation for installing only packages specified by
pkg_fmri_patterns and their dependencies. This operation is
equivalent to the pkg exact-install command.
Arguments:
inst -- RAD instance
pkg_fmri_patterns (nullable) -- Packages to be installed.
pkg_fmri_patterns_count -- Number of items in pkg_fmri_patterns
array
backup_be_name (nullable) -- Equivalent to --backup-be-name.
Default: None.
be_name (nullable) -- Equivalent to --be-name. Default: None.
deny_new_be (nullable) -- Equivalent to --deny-new-be. Default:
False.
no_backup_be (nullable) -- Equivalent to --no-backup-be.
Default: False.
be_activate (nullable) -- Opposite to --no-be-activate.
Default: True.
require_backup_be (nullable) -- Equivalent to
--require-backup-be. Default: False.
require_new_be (nullable) -- Equivalent to --require-new-be.
Default: False.
concurrency (nullable) -- Equivalent to -C. Default: None.
Minimum: 0.
accept (nullable) -- Equivalent to --accept. Default: False.
show_licenses (nullable) -- Equivalent to --licenses. Default:
False.
reject_pats (nullable) -- Equivalent to --reject. Default:
None.
reject_pats_count -- Number of items in reject_pats array
update_index (nullable) -- Opposite to --no-index. Default:
True.
refresh_catalogs (nullable) -- Opposite to --no-refresh.
Default: True.
noexecute (nullable) -- Equivalent to -n. Default: False.
parsable_version (nullable) -- Required to show licenses to be
accepted. Default: None. The only acceptable value is 0.
For software with licenses that must be viewed and
accepted, the RAD client must specify the parsable_version
and accept options to allow the RAD server to return the
parsable version of the image plan that contains software
licenses, and to set licenses as accepted.
origins (nullable) -- Equivalent to -g. Default: None.
origins_count -- Number of items in origins array
mode (nullable) -- The running mode. see PkgImage.mode property
for valid values.
result -- The returned data.
error
rc_err_t ips_PkgImage_update(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
const char *backup_be_name,
const char *be_name,
boolean_t *deny_new_be,
boolean_t *no_backup_be,
boolean_t *be_activate,
boolean_t *require_backup_be,
boolean_t *require_new_be,
int *concurrency,
boolean_t *accept,
boolean_t *show_licenses,
const char **reject_pats,
int reject_pats_count,
boolean_t *update_index,
boolean_t *refresh_catalogs,
boolean_t *noexecute,
int *parsable_version,
const char **origins,
int origins_count,
boolean_t *li_erecurse_all,
const char **li_erecurse_list,
int li_erecurse_list_count,
const char **li_erecurse_excl,
int li_erecurse_excl_count,
boolean_t *sync_act,
int *act_timeout,
boolean_t *ignore_missing,
boolean_t *force,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);
Operation to update packages.
Operation for updating packages. This operation is equivalent
to the pkg update command.
Arguments:
inst -- RAD instance
pkg_fmri_patterns (nullable) -- Packages to update.
pkg_fmri_patterns_count -- Number of items in pkg_fmri_patterns
array
backup_be_name (nullable) -- Equivalent to --backup-be-name.
Default: None.
be_name (nullable) -- Equivalent to --be-name. Default: None.
deny_new_be (nullable) -- Equivalent to --deny-new-be. Default:
False.
no_backup_be (nullable) -- Equivalent to --no-backup-be.
Default: False.
be_activate (nullable) -- Opposite to --no-be-activate.
Default: True.
require_backup_be (nullable) -- Equivalent to
--require-backup-be. Default: False.
require_new_be (nullable) -- Equivalent to --require-new-be.
Default: False.
concurrency (nullable) -- Equivalent to -C. Default: None.
Minimum: 0.
accept (nullable) -- Equivalent to --accept. Default: False.
show_licenses (nullable) -- Equivalent to --licenses. Default:
False.
reject_pats (nullable) -- Equivalent to --reject. Default:
None.
reject_pats_count -- Number of items in reject_pats array
update_index (nullable) -- Opposite to --no-index. Default:
True.
refresh_catalogs (nullable) -- Opposite to --no-refresh.
Default: True.
noexecute (nullable) -- Equivalent to -n. Default: False.
parsable_version (nullable) -- Required to show licenses to be
accepted. Default: None. The only acceptable value is 0.
For software with licenses that must be viewed and
accepted, the RAD client must specify the parsable_version
and accept options to allow the RAD server to return the
parsable version of the image plan that contains software
licenses, and to set licenses as accepted.
origins (nullable) -- Equivalent to -g. Default: None.
origins_count -- Number of items in origins array
li_erecurse_all (nullable) -- Equivalent to -r. Default: False.
li_erecurse_list (nullable) -- Equivalent to -z. Default: None.
li_erecurse_list_count -- Number of items in li_erecurse_list
array
li_erecurse_excl (nullable) -- Equivalent to -Z. Default: None.
li_erecurse_excl_count -- Number of items in li_erecurse_excl
array
sync_act (nullable) -- Equivalent to --sync-actuators. Default:
False.
act_timeout (nullable) -- Equivalent to
--sync-actuators-timeout. Default: None. Minimum: 0.
ignore_missing (nullable) -- Equivalent to --ignore-missing.
Default: False.
force (nullable) -- Equivalent to -f. Default: False.
mode (nullable) -- The running mode. see PkgImage.mode property
for valid values.
result -- The returned data.
error
rc_err_t ips_PkgImage_uninstall(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
const char *backup_be_name,
const char *be_name,
boolean_t *deny_new_be,
boolean_t *no_backup_be,
boolean_t *be_activate,
boolean_t *require_backup_be,
boolean_t *require_new_be,
int *concurrency,
boolean_t *update_index,
boolean_t *refresh_catalogs,
boolean_t *noexecute,
int *parsable_version,
boolean_t *li_erecurse_all,
const char **li_erecurse_list,
int li_erecurse_list_count,
const char **li_erecurse_excl,
int li_erecurse_excl_count,
boolean_t *sync_act,
int *act_timeout,
boolean_t *ignore_missing,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);
Operation to uninstall packages.
Operation for uninstalling packages. This operation is
equivalent to the pkg uninstall command.
Arguments:
inst -- RAD instance
pkg_fmri_patterns (nullable) -- Packages to uninstall.
pkg_fmri_patterns_count -- Number of items in pkg_fmri_patterns
array
backup_be_name (nullable) -- Equivalent to --backup-be-name.
Default: None.
be_name (nullable) -- Equivalent to --be-name. Default: None.
deny_new_be (nullable) -- Equivalent to --deny-new-be. Default:
False.
no_backup_be (nullable) -- Equivalent to --no-backup-be.
Default: False.
be_activate (nullable) -- Opposite to --no-be-activate.
Default: True.
require_backup_be (nullable) -- Equivalent to
--require-backup-be. Default: False.
require_new_be (nullable) -- Equivalent to --require-new-be.
Default: False.
concurrency (nullable) -- Equivalent to -C. Default: None.
Minimum: 0.
update_index (nullable) -- Opposite to --no-index. Default:
True.
refresh_catalogs (nullable) -- Opposite to --no-refresh.
Default: True.
noexecute (nullable) -- Equivalent to -n. Default: False.
parsable_version (nullable) -- Required to show licenses to be
accepted. Default: None. The only acceptable value is 0.
For software with licenses that must be viewed and
accepted, the RAD client must specify the parsable_version
and accept options to allow the RAD server to return the
parsable version of the image plan that contains software
licenses, and to set licenses as accepted.
li_erecurse_all (nullable) -- Equivalent to -r. Default: False.
li_erecurse_list (nullable) -- Equivalent to -z. Default: None.
li_erecurse_list_count -- Number of items in li_erecurse_list
array
li_erecurse_excl (nullable) -- Equivalent to -Z. Default: None.
li_erecurse_excl_count -- Number of items in li_erecurse_excl
array
sync_act (nullable) -- Equivalent to --sync-actuators. Default:
False.
act_timeout (nullable) -- Equivalent to
--sync-actuators-timeout. Default: None. Minimum: 0.
ignore_missing (nullable) -- Equivalent to --ignore-missing.
Default: False.
mode (nullable) -- The running mode. see PkgImage.mode property
for valid values.
result -- The returned data.
error
rc_err_t ips_PkgImage_info(rc_instance_t *inst,
const char **pkg_fmri_patterns,
int pkg_fmri_patterns_count,
boolean_t *license_only,
boolean_t *info_local,
boolean_t *info_remote,
const char **origins,
int origins_count,
const char *mode,
rc_instance_t ***result,
int *result_cnt,
ips_PkgError_t **error);
Operation to retrieve information about packages.
Operation for getting package information. This operation is
equivalent to the pkg info command.
Arguments:
inst -- RAD instance
pkg_fmri_patterns (nullable) -- Packages for which you want
information.
pkg_fmri_patterns_count -- Number of items in pkg_fmri_patterns
array
license_only (nullable) -- Equivalent to --license. Default:
False.
info_local (nullable) -- Equivalent to -l. Default: True.
info_remote (nullable) -- Equivalent to -r. Default: False.
origins (nullable) -- Equivalent to -g. Default: None.
origins_count -- Number of items in origins array
mode (nullable) -- The running mode. see PkgImage.mode property
for valid values.
result -- Return a list of PkgInfo objects.
result_cnt -- Number of items in result array
error
rc_err_t ips_PkgImage_publisher(rc_instance_t *inst,
const char **publishers,
int publishers_count,
boolean_t *preferred_only,
boolean_t *include_disabled,
const char *mode,
rc_instance_t ***result,
int *result_cnt,
ips_PkgError_t **error);
Operation to list publishers.
Operation for listing publishers and some of their attributes
Equivalent to the pkg publisher command.
Arguments:
inst -- RAD instance
publishers (nullable) -- Publishers to list.
publishers_count -- Number of items in publishers array
preferred_only (nullable) -- Equivalent to -P. Default: False.
include_disabled (nullable) -- Opposite to -n. Default: True.
mode (nullable) -- The running mode. see PkgImage.mode property
for valid values.
result -- Return a list of PkgPublisher objects.
result_cnt -- Number of items in result array
error
rc_err_t ips_PkgImage_set_publisher(rc_instance_t *inst,
const char **publishers,
int publishers_count,
const char *ssl_key,
const char *ssl_cert,
const char **approved_ca_certs,
int approved_ca_certs_count,
const char **revoked_ca_certs,
int revoked_ca_certs_count,
const char **unset_ca_certs,
int unset_ca_certs_count,
const char *origin_uri,
boolean_t *reset_uuid,
const char **add_mirrors,
int add_mirrors_count,
const char **remove_mirrors,
int remove_mirrors_count,
const char **add_origins,
int add_origins_count,
const char **remove_origins,
int remove_origins_count,
boolean_t *refresh_allowed,
boolean_t *disable,
boolean_t *sticky,
const char *repo_uri,
const char *proxy_uri,
const char **set_props,
int set_props_count,
const char **add_prop_values,
int add_prop_values_count,
const char **remove_prop_values,
int remove_prop_values_count,
const char **unset_props,
int unset_props_count,
const char *search_before,
const char *search_after,
const char *search_first,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);
Set property value.
Arguments:
inst -- RAD instance
publishers (nullable) -- Publishers to set.
publishers_count -- Number of items in publishers array
ssl_key (nullable) -- Equivalent to -k. Default: None.
ssl_cert (nullable) -- Equivalent to -c. Default: None.
approved_ca_certs (nullable) -- Equivalent to
--approve-ca-cert. Default: None.
approved_ca_certs_count -- Number of items in approved_ca_certs
array
revoked_ca_certs (nullable) -- Equivalent to --revoke-ca-cert.
Default: None.
revoked_ca_certs_count -- Number of items in revoked_ca_certs
array
unset_ca_certs (nullable) -- Equivalent to --unset-ca-cert.
Default: None.
unset_ca_certs_count -- Number of items in unset_ca_certs array
origin_uri (nullable) -- Add a single origin or replace
existing origins with the one specified. Compare with
add_origins. Default: None.
reset_uuid (nullable) -- Equivalent to --reset-uuid. Default:
False.
add_mirrors (nullable) -- Equivalent to -m. Default: None.
add_mirrors_count -- Number of items in add_mirrors array
remove_mirrors (nullable) -- Equivalent to -M. Default: None.
remove_mirrors_count -- Number of items in remove_mirrors array
add_origins (nullable) -- Equivalent to -g. Default: None.
add_origins_count -- Number of items in add_origins array
remove_origins (nullable) -- Equivalent to -G. Default: None.
remove_origins_count -- Number of items in remove_origins array
refresh_allowed (nullable) -- Opposite to --no-refresh.
Default: True.
disable (nullable) -- Equivalent to --disable. Default: False.
sticky (nullable) -- Equivalent to --sticky. Default: True.
repo_uri (nullable) -- Equivalent to --p. Default: None.
proxy_uri (nullable) -- Equivalent to --proxy. Default: None.
set_props (nullable) -- Equivalent to --set-property. Default:
None.
set_props_count -- Number of items in set_props array
add_prop_values (nullable) -- Equivalent to
--add-property-value. Default: None.
add_prop_values_count -- Number of items in add_prop_values
array
remove_prop_values (nullable) -- Equivalent to
--remove-property-value. Default: None.
remove_prop_values_count -- Number of items in
remove_prop_values array
unset_props (nullable) -- Equivalent to --unset-property.
Default: None.
unset_props_count -- Number of items in unset_props array
search_before (nullable) -- Equivalent to --search-before.
Default: None.
search_after (nullable) -- Equivalent to --search-after.
Default: None.
search_first (nullable) -- Equivalent to --search-first.
Default: None.
mode (nullable) -- The running mode. see PkgImage.mode property
for valid values.
result -- The returned data.
error
rc_err_t ips_PkgImage_unset_publisher(rc_instance_t *inst,
const char **publishers,
int publishers_count,
const char *mode,
ips_PkgReturn_t **result,
ips_PkgError_t **error);
Unsetting publishers operation.
Operation for removing a publisher. Equivalent to the pkg
unset-publisher command.
Arguments:
inst -- RAD instance
publishers (nullable) -- Publishers to be removed.
publishers_count -- Number of items in publishers array
mode (nullable) -- The running mode. see PkgImage.mode property
for valid values.
result -- The returned data.
error
PkgImage Retrieve
rc_err_t ips_PkgImage__rad_get_name(adr_name_t **result,
int n,
...);
Obtain RAD name of a PkgImage 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 ips_PkgImage__rad_lookup(rc_conn_t *c,
boolean_t strict,
rc_instance_t **result,
int n,
...);
Lookup a PkgImage 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 ips_PkgImage__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 PkgImage 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
PkgImage Events
progress
Report pkg operation progress. This event is used for
time-consuming operations such as 'install', 'update', and
'uninstall'. The event payload is a PkgProgress struct
typedef void (*ips_PkgImage_progress_cb_f)(rc_instance_t *inst,
ips_PkgProgress_t *payload,
struct timespec ts,
void *arg);
Function invoked when event "progress" 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 ips_PkgImage_subscribe_progress(rc_instance_t *inst,
ips_PkgImage_progress_cb_f cb,
void *arg);
Subscribe to event "progress".
Arguments:
inst -- RAD instance
cb -- Event callback function
arg -- User data: custom parameter to invoke the function
with
rc_err_t ips_PkgImage_unsubscribe_progress(rc_instance_t *inst,
void **arg);
Unsubscribe from event "progress".
Arguments:
inst -- RAD instance
arg -- User data returned
interface IPSManager
Singleton interface providing package image-related operations. serves
as an entry point.
IPSManager Methods
rc_err_t ips_IPSManager_image_create(rc_instance_t *inst,
const char *image_path,
rc_instance_t **result,
ips_PkgError_t **error);
Create a package image on the disk and create a corresponding
PkgImage instance.
Arguments:
inst -- RAD instance
image_path -- Image path for creating an image.
result
error
rc_err_t ips_IPSManager_image_remove(rc_instance_t *inst,
const adr_name_t *name,
ips_PkgError_t **error);
Remove a package image on the disk and also remove the
corresponding PkgImage instance.
Arguments:
inst -- RAD instance
name -- RAD ADR name object for removing the associated
PkgImage instance.
error
rc_err_t ips_IPSManager_image_open(rc_instance_t *inst,
const char *image_path,
rc_instance_t **result,
ips_PkgError_t **error);
Create a PkgImage instance based on an existing pkg image on
the disk.
Arguments:
inst -- RAD instance
image_path -- Image path to create a PkgImage instance for an
existing image on the disk.
result
error
IPSManager Retrieve
rc_err_t ips_IPSManager__rad_get_name(adr_name_t **result,
int n,
...);
Obtain RAD name of a IPSManager 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 ips_IPSManager__rad_lookup(rc_conn_t *c,
boolean_t strict,
rc_instance_t **result,
int n,
...);
Lookup a IPSManager 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 ips_IPSManager__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 IPSManager 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 PkgRetErrCode -- This enum contains a list of codes for pkg
operation return or error.
typedef enum ips_PkgRetErrCode {
IPREC_OK = 0,
IPREC_GENERAL_ERROR = 1,
IPREC_BAD_ARGS = 2,
IPREC_PARTIAL_SUCCEED = 3,
IPREC_NO_OP = 4,
IPREC_NO_PERMIT_LIVE = 5,
IPREC_LICENSE_ACCEPT = 6,
IPREC_IMAGE_LOCKED = 7,
IPREC_ACTUATOR_TIMEOUT = 8,
IPREC_UNANTICIPATED = 99,
} ips_PkgRetErrCode_t;
IPREC_OK (0) -- Operation succeeded.
IPREC_GENERAL_ERROR (1) -- General error.
IPREC_BAD_ARGS (2) -- Argument usage error.
IPREC_PARTIAL_SUCCEED (3) -- Multiple operations were requested,
but not all succeeded.
IPREC_NO_OP (4) -- Nothing to do.
IPREC_NO_PERMIT_LIVE (5) -- The requested operation cannot be
performed on a live image.
IPREC_LICENSE_ACCEPT (6) -- License acceptance required for
requested operation.
IPREC_IMAGE_LOCKED (7) -- Image is currently locked by another
process.
IPREC_ACTUATOR_TIMEOUT (8) -- Actuator timed out.
IPREC_UNANTICIPATED (99) -- An unanticipated error occurred.
STRUCTURED TYPES
struct PkgProgress -- This struct is used as the progress event
payload.
typedef struct ips_PkgProgress ips_PkgProgress_t;
struct ips_PkgProgress {
char *ipp_phase;
char *ipp_message;
char *ipp_time_taken;
char *ipp_time_unit;
char *ipp_action_type;
char *ipp_processed_items;
char *ipp_goal_items;
char *ipp_percent_done;
char *ipp_item_unit;
char *ipp_speed;
char **ipp_running;
int ipp_running_count;
char *ipp_goal_processed_items;
char *ipp_reversioned_items;
char *ipp_goal_reversion_items;
char *ipp_adjusted_items;
char **ipp_li_output;
int ipp_li_output_count;
char **ipp_li_errors;
int ipp_li_errors_count;
};
void ips_PkgProgress_free(ips_PkgProgress_t *in);
Phase and message fields always have content. Examples of phases
include Planning, Download, Actions. 'Utility' indicates a pkg
utility operation is running. Other fields are optional and null in
most cases. Those fields are documented in per field section. The
particular implementation should be able to cope with those
optional fields defensively.
Fields:
ipp_phase -- Current operating phase.
ipp_message -- Event message for a phase.
ipp_time_taken -- Indicate the total time taken. Currently expected
on some task complete events including planning, downloading,
action activities and archiving. Note a phase ending event does not
necessarily set this field. A phase usually contains several tasks.
Therefore setting this field sometimes occurs within a phase.
ipp_time_unit -- Units for a time value. A time_unit is always
provided with time_taken. Example value: second
ipp_action_type -- The action type for an action activity. The
action_type is only provided with phases involving action
activities.
ipp_processed_items -- Current number of items processed, where the
items are countable items such as manifests, actions, packages,
bytes and linked images.
ipp_goal_items -- Total number of items to process for an event,
where the items are countable items such as manifests, actions,
bytes and linked images.
ipp_percent_done -- Percent complete for the current task. For
tasks such as fetching manifests, downloading and archiving.
ipp_item_unit -- The unit of an item, which can be the same as the
type of the item. Example values: byte, action and manifest. Always
provided with item related fields.
ipp_speed -- The speed for a phase. Currently only on download
phase. Example value: cache, -- and M/s. cache indicates source is
from cache. -- indicates no speed available.
ipp_running -- Indicate which linked images the operations is
running. Only provided with event reporting linked image status.
ipp_running_count
ipp_goal_processed_items -- Total number of items to process for a
reversion task. Compare with goal_items and goal_reversion_items.
ipp_reversioned_items -- Current number of items reversioned for a
reversion task. Compare with processed_items and
goal_processed_items.
ipp_goal_reversion_items -- Total number of items to reversion for
a reversion task. Compare with goal_items.
ipp_adjusted_items -- Current number of items adjusted for a
reversion task.
ipp_li_output -- Linked image output. This is a list of output
lines.
ipp_li_output_count
ipp_li_errors -- Linked image errors output. This is a list of
error output lines.
ipp_li_errors_count
struct PkgError -- This struct is used as general error payload for
pkg-related methods.
typedef struct ips_PkgError ips_PkgError_t;
struct ips_PkgError {
ips_PkgRetErrCode_t ipe_error_code;
char *ipe_error_message;
};
void ips_PkgError_free(ips_PkgError_t *in);
Fields:
ipe_error_code -- Error code.
Current possible values are listed in PkgRetErrCode enum but
not include values OK, NO_OP and ACTUATOR_TIMEOUT.
ipe_error_message -- Error message.
struct PkgProperty -- This struct is used to represent a
PkgPublisher-related property.
typedef struct ips_PkgProperty ips_PkgProperty_t;
struct ips_PkgProperty {
char *ipp_name;
char **ipp_value;
int ipp_value_count;
};
void ips_PkgProperty_free(ips_PkgProperty_t *in);
Fields:
ipp_name -- Property name.
ipp_value -- Property value.
ipp_value_count
struct PkgReturn -- Served as a general pkg-related method return value
for operations such as install and uninstall.
typedef struct ips_PkgReturn ips_PkgReturn_t;
struct ips_PkgReturn {
ips_PkgRetErrCode_t ipr_return_code;
char *ipr_parsable_data;
};
void ips_PkgReturn_free(ips_PkgReturn_t *in);
Fields:
ipr_return_code -- Return code.
Current possible values are OK, NO_OP and ACTUATOR_TIMEOUT.
ipr_parsable_data -- Parsable return data as JSON formatted string.
VERSION
1.0
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+--------------------+--------------------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+--------------------------------------+
|Availability | system/management/rad/module/rad-ips |
+--------------------+--------------------------------------+
|Interface Stability | Private |
+--------------------+--------------------------------------+
SEE ALSO
rad(8)
NOTES
1. Accessing Python documentation for this module:
$ pydoc rad.bindings.com.oracle.solaris.rad.ips_1
Solaris 11.4 2017-02-01 IPS-1(3rad)