typedef enum osn__flags {
OSN_CMN_FLAG_NONE = 0x00000000,
OSN_CMN_FLAG_ASYNC = 0x00000001,
OSN_CMN_FLAG_FORCE = 0x00000002,
OSN_CMN_FLAG_RESCAN = 0x00000004,
OSN_CMN_FLAG_GENERATE_NAME = 0x00000008,
OSN_CMN_FLAG_SYNC_PRIMARY = 0x00000010,
OSN_CMN_FLAG_SYNC_SECONDARY = 0x00000020,
OSN_CMN_FLAG_REDIRECT = 0x00000040,
OSN_CMN_FLAG_SUPPRESS_ALARMS = 0x00000080,
OSN_CMN_FLAG_STOP_VERIFY = 0x00000100,
OSN_CMN_FLAG_USE_GUID_IQN = 0x00000200,
OSN_CMN_FLAG_EXPORT = 0x00000400,
OSN_CMN_FLAG_RESCUE_MODE = 0x00000800,
OSN_CMN_FLAG_START_REPAIR = 0x00001000,
OSN_CMN_FLAG_SPARES_ONLY = 0x00002000,
OSN_CMN_FLAG_LAZY = 0x00004000,
OSN_CMN_FLAG_SW_CONTROLLER = 0x00008000,
OSN_CMN_FLAG_WAIT_FOR_SIGNAL = 0x00010000,
OSN_CMN_FLAG_MINIMAL = 0x00020000,
OSN_CMN_FLAG_RECURSIVE = 0x00040000,
OSN_CMN_FLAG_FREE_UNUSED_LUNS = 0x00080000,
OSN_CMN_FLAG_INSECURE = 0x00100000,
OSN_CMN_FLAG_VASA_SUPPORT = 0x00200000,
OSN_CMN_FLAG_METADATA = 0x00400000,
OSN_CMN_FLAG_MAX = 0x00400000
} osn__flags_t;
//--spares-only args.hasArg("spares-only") ? flags | OSN_CMN_FLAG_SPARES_ONLY : flags
typedef enum osn__ethPortNaming
{
OSN_CMN_ETHPORT_NAMING_NOCHANGE,
OSN_CMN_ETHPORT_NAMING_LEGACY_ETH,
OSN_CMN_ETHPORT_NAMING_PREDICTABLE
} osn__ethPortNaming_t;
typedef enum osn__modifyType {
OSN_CMN_MOD_OP_ADD = 0,
OSN_CMN_MOD_OP_REMOVE = 1,
OSN_CMN_MOD_OP_SET = 2
} osn__modifyType_t;
typedef enum osn__nfsNamespaceModeType {
OSN_CMN_NFS_NAMESPACE_MODE_FLAT = 0,
OSN_CMN_NFS_NAMESPACE_MODE_GROUPED = 1,
OSN_CMN_NFS_NAMESPACE_MODE_DISABLED = 2
} osn__nfsNamespaceModeType_t;
typedef enum osn__dfsNamespaceModeType {
OSN_CMN_DFS_NAMESPACE_MODE_GROUPED = 0,
OSN_CMN_DFS_NAMESPACE_MODE_FLAT = 1,
OSN_CMN_DFS_NAMESPACE_MODE_DISABLED = 2
} osn__dfsNamespaceModeType_t;
typedef enum osn__blinkType {
OSN_CMN_BLINK_SECS = 0,
OSN_CMN_BLINK_ON = 1,
OSN_CMN_BLINK_OFF = 2
} osn__blinkType_t;
typedef enum osn__alertHandlerWebhookType
{
OSN_ALERTHANDLER_WEBHOOK_SLACK,
OSN_ALERTHANDLER_WEBHOOK_MATTERMOST
} osn__alertHandlerWebhookType_t;
typedef enum osn__providerRegistrationScope {
OSN_REGISTRATION_SCOPE_LOCAL = 0,
OSN_REGISTRATION_SCOPE_CLUSTER_WIDE = 1
} osn__providerRegistrationScope_t;
typedef enum osn__blinkReason {
OSN_CMN_BLINKREASON_UNKNOWN = 0x00,
OSN_CMN_BLINKREASON_MANUAL = 0x01,
OSN_CMN_BLINKREASON_SPD_FAULT = 0x02,
OSN_CMN_BLINKREASON_PD_FAULT = 0x04,
OSN_CMN_BLINKREASON_HWD_FAULT = 0x08,
OSN_CMN_BLINKREASON_OSD_FAULT = 0x10,
OSN_CMN_BLINKREASON_BRICK_FAULT = 0x20,
OSN_CMN_BLINKREASON_OTHER = 0x40
} osn__blinkReason_t;
typedef enum osn__tunableOption {
OSN_CMN_TUNABLE_NONE = 0x00,
OSN_CMN_TUNABLE_RESET_TO_DEFAULTS = 0x01,
} osn__tunableOption_t;
typedef enum osn__tunableDataType {
OSN_CMN_TUNABLE_RANGE = 0x00,
OSN_CMN_TUNABLE_PERCENTAGE = 0x01,
OSN_CMN_TUNABLE_BOOLEAN = 0x02,
} osn__tunableDataType_t;
typedef enum osn__diskStateDetail {
OSN_CMN_DISKSTATEDETAIL_UNKNOWN = 0x00,
OSN_CMN_DISKSTATEDETAIL_SPD_FAULT = 0x01,
OSN_CMN_DISKSTATEDETAIL_TEMPERATURE = 0x02,
OSN_CMN_DISKSTATEDETAIL_HEALTH = 0x04,
OSN_CMN_DISKSTATEDETAIL_PREDICTIVE_FAILURE = 0x08,
OSN_CMN_DISKSTATEDETAIL_MEDIA_ERROR_COUNT = 0x10,
OSN_CMN_DISKSTATEDETAIL_OTHER = 0x20
} osn__diskStateDetail_t;
typedef enum osn__lunAssignmentPolicy {
OSN_CMN_LUN_ASSIGN_DYNAMIC = 0,
OSN_CMN_LUN_ASSIGN_STATIC = 1
} osn__lunAssignmentPolicy_t;
typedef enum osn__nfsServiceMode {
OSN_CMN_NFS_MODE_V3 = 0,
OSN_CMN_NFS_MODE_V4 = 1,
OSN_CMN_NFS_MODE_GLUSTER = 2
} osn__nfsServiceMode_t;
typedef enum osn__nfsKerberosMode {
OSN_CMN_NFS_KRB5I = 0,
OSN_CMN_NFS_KRB5P = 1,
OSN_CMN_NFS_KRB5 = 2
} osn__nfsKerberosMode_t;
typedef enum osn__networkShareSessionType {
OSN_CMN_SHARE_SESSION_SMB = 0,
OSN_CMN_SHARE_SESSION_NFS = 1
} osn__networkShareSessionType_t;
typedef enum osn__dataShredMode {
OSN_CMN_DATA_SHRED_MODE_DONT_SHRED = 0, //does not scrub the datas
OSN_CMN_DATA_SHRED_MODE_USARMY = 1, //usarmy is the US Army AR380-19
OSN_CMN_DATA_SHRED_MODE_DOD = 2, //dod selects patterns compliant with DoD 5220.22-M
OSN_CMN_DATA_SHRED_MODE_NNSA = 3, //nnsa selects patterns compliant with NNSA Policy Letter NAP-14.1-C
OSN_CMN_DATA_SHRED_MODE_RANDOM = 4, //single pass of random data
OSN_CMN_DATA_SHRED_MODE_ZEROS = 5 //single pass of zeros
} osn__dataShredMode_t;
typedef enum osn__haClientConnectivityPolicy {
OSN_CMN_HA_CLIENT_FAILOVER_DISABLED = 0,
OSN_CMN_HA_CLIENT_FAILOVER_IF_NO_MAJORITY = 1,
OSN_CMN_HA_CLIENT_FAILOVER_IF_NO_RESPONSE = 2,
OSN_CMN_HA_CLIENT_FAILOVER_MAX = 3
} osn__haClientConnectivityPolicy_t;
typedef enum osn__securityWebAccessMode {
OSN_CMN_WEBACCESSMODE_HTTP_ENABLED = 0,
OSN_CMN_WEBACCESSMODE_HTTP_DISABLED = 1,
OSN_CMN_WEBACCESSMODE_HTTP_REDIRECTED = 2
} osn__securityWebAccessMode_t;
typedef enum osn__multiFactorAuthProvider {
OSN_CMN_MFA_PROVIDER_NONE = 0,
OSN_CMN_MFA_PROVIDER_DUO = 1,
OSN_CMN_MFA_PROVIDER_GOOGLE = 2
} osn__multiFactorAuthProvider_t;
typedef enum osn__multiFactorAuthMode {
OSN_CMN_MFA_MODE_NONE = 0,
OSN_CMN_MFA_MODE_PUSH = 1,
OSN_CMN_MFA_MODE_SMS = 2,
OSN_CMN_MFA_MODE_PHONE = 3,
OSN_CMN_MFA_MODE_TOKEN = 4,
OSN_CMN_MFA_MODE_PROMPT = 5,
OSN_CMN_MFA_MODE_MAX = 6
} osn__multiFactorAuthMode_t;
typedef enum osn__multiFactorAuthStatus {
OSN_CMN_MFA_STATUS_NONE = 0,
OSN_CMN_MFA_STATUS_PENDING = 1,
OSN_CMN_MFA_STATUS_RUNNING = 2,
OSN_CMN_MFA_STATUS_SUCCESS = 3,
OSN_CMN_MFA_STATUS_FAIL = 4,
OSN_CMN_MFA_STATUS_DENY = 5,
OSN_CMN_MFA_STATUS_ERR = 6,
OSN_CMN_MFA_STATUS_ENROLL = 7,
OSN_CMN_MFA_STATUS_SENT = 8
} osn__multiFactorAuthStatus_t;
typedef enum osn__haLinkStateFailoverPolicy {
OSN_CMN_HA_LINKSTATE_FAILOVER_IF_ALL_LINKDOWN = 0,
OSN_CMN_HA_LINKSTATE_FAILOVER_IF_MAJORITY_LINKDOWN = 1,
OSN_CMN_HA_LINKSTATE_FAILOVER_IF_ANY_LINKDOWN = 2,
OSN_CMN_HA_LINKSTATE_FAILOVER_IGNORE_LINKDOWN = 3,
OSN_CMN_HA_LINKSTATE_FAILOVER_FAILOVER_MAX = 4
} osn__haLinkStateFailoverPolicy_t;
typedef enum osn__sambaIdmapMode {
OSN_CMN_SAMBA_IDMAP_TDB = 0,
OSN_CMN_SAMBA_IDMAP_RID = 1,
OSN_CMN_SAMBA_IDMAP_AD = 2,
OSN_CMN_SAMBA_IDMAP_AUTORID = 4,
OSN_CMN_SAMBA_IDMAP_AD_RFC2307 = 8
} osn__sambaIdmapMode_t;
typedef enum osn__wuiTabDisable {
OSN_CMN_WUI_TAB_DISABLE_NONE = 0x0000,
OSN_CMN_WUI_TAB_DISABLE_INHERIT = 0x0001,
OSN_CMN_WUI_TAB_DISABLE_STORAGE_MGMT = 0x0002,
OSN_CMN_WUI_TAB_DISABLE_USERS_GROUPS = 0x0004,
OSN_CMN_WUI_TAB_DISABLE_REMOTE_REPLICATION = 0x0008,
OSN_CMN_WUI_TAB_DISABLE_CLOUD_CONTAINERS = 0x0010,
OSN_CMN_WUI_TAB_DISABLE_CLUSTER_MGMT = 0x0020,
OSN_CMN_WUI_TAB_DISABLE_SCALE_OUT_NAS_MGMT = 0x0040,
OSN_CMN_WUI_TAB_DISABLE_SCALE_OUT_OBJ_MGMT = 0x0080,
OSN_CMN_WUI_TAB_DISABLE_MULTITENANCY = 0x0100,
OSN_CMN_WUI_TAB_DISABLE_GRID_DASHBOARD = 0x0200,
OSN_CMN_WUI_TAB_DISABLE_MAX = 0x0400
} osn__wuiTabDisable_t;
typedef enum osn__wuiSectionDisable {
OSN_CMN_WUI_SECTION_DISABLE_NONE = 0x0000,
OSN_CMN_WUI_SECTION_DISABLE_INHERIT = 0x0001,
OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_PHYS_DISKS = 0x0002,
OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_HARDWARE = 0x0004,
OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_POOLS = 0x0008,
OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_SHARES = 0x0010,
OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_VOLUMES = 0x0020,
OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_SNAP_SCHED = 0x0040,
OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_HOSTS = 0x0080,
OSN_CMN_WUI_SECTION_DISABLE_MAX = 0x0100
} osn__wuiSectionDisable_t;
typedef enum osn__poolEnclosureRedundancy {
OSN_CMN_POOL_ENCLOSURE_REDUNDANCY_UNKNOWN,
OSN_CMN_POOL_ENCLOSURE_REDUNDANCY_VERIFIED,
OSN_CMN_POOL_ENCLOSURE_NOT_REDUNDANT,
OSN_CMN_POOL_ENCLOSURE_REDUNDANCY_NA,
OSN_CMN_POOL_ENCLOSURE_REDUNDANCY_PARTIAL
} osn__poolEnclosureRedundancy_t;
typedef enum osn__accessType { OSN_CMN_ACCESSTYPE_READWRITE, OSN_CMN_ACCESSTYPE_READONLY, OSN_CMN_ACCESSTYPE_NONE } osn__accessType_t;
typedef enum osn__configAnalysisReportCategory
{
OSN_CMN_CONFIG_ANALYSIS_CATEGORY_ALL = 0x0000,
OSN_CMN_CONFIG_ANALYSIS_CATEGORY_NETWORKING = 0x0001,
OSN_CMN_CONFIG_ANALYSIS_CATEGORY_HIGH_AVAILABILITY = 0x0004,
OSN_CMN_CONFIG_ANALYSIS_CATEGORY_REMOTE_REPLICATION = 0x0008,
OSN_CMN_CONFIG_ANALYSIS_CATEGORY_CEPH = 0x0010,
OSN_CMN_CONFIG_ANALYSIS_CATEGORY_ZFS = 0x0020,
OSN_CMN_CONFIG_ANALYSIS_CATEGORY_GLUSTER = 0x0040,
OSN_CMN_CONFIG_ANALYSIS_CATEGORY_HA_CLUSTER_CONFIG = 0x0080,
OSN_CMN_CONFIG_ANALYSIS_CATEGORY_STORAGE_GRID = 0x0100,
OSN_CMN_CONFIG_ANALYSIS_CATEGORY_SECURITY = 0x0200,
OSN_CMN_CONFIG_ANALYSIS_CATEGORY_GENERAL = 0x0400,
OSN_CMN_CONFIG_ANALYSIS_CATEGORY_MAX = 0x0800
} osn__configAnalysisReportCategory_t;
typedef enum osn__configAnalysisReportImpact
{
OSN_CMN_CONFIG_ANALYSIS_IMPACT_ALL = 0x0000,
OSN_CMN_CONFIG_ANALYSIS_IMPACT_STABILITY = 0x0001,
OSN_CMN_CONFIG_ANALYSIS_IMPACT_PERFORMANCE = 0x0002,
OSN_CMN_CONFIG_ANALYSIS_IMPACT_SECURITY = 0x0004,
OSN_CMN_CONFIG_ANALYSIS_IMPACT_MAX = 0x0008
} osn__configAnalysisReportImpact_t;
typedef enum osn__configAnalysisReportSeverity
{
OSN_CMN_CONFIG_ANALYSIS_SEVERITY_INFORMATIONAL = 0x0000,
OSN_CMN_CONFIG_ANALYSIS_SEVERITY_MINOR = 0x0001,
OSN_CMN_CONFIG_ANALYSIS_SEVERITY_MAJOR = 0x0002,
OSN_CMN_CONFIG_ANALYSIS_SEVERITY_CRITICAL = 0x0004,
OSN_CMN_CONFIG_ANALYSIS_SEVERITY_MAX = 0x0008
} osn__configAnalysisReportSeverity_t;
typedef enum osn__cifsUserAccessMode {
OSN_CMN_CIFS_USER_ACCESS_NONE,
OSN_CMN_CIFS_USER_ACCESS_VALID,
OSN_CMN_CIFS_USER_ACCESS_ADMIN,
OSN_CMN_CIFS_USER_ACCESS_INVALID
} osn__cifsUserAccessMode_t;
typedef enum osn__passwordComplexityReq
{
OSN_PW_COMPLEXITY_WEAK,
OSN_PW_COMPLEXITY_STANDARD,
OSN_PW_COMPLEXITY_STRONG
} osn__passwordComplexityReq_t;
typedef enum osn__resourceDomainTypes
{
OSN_RESOURCE_DOMAIN_REGION,
OSN_RESOURCE_DOMAIN_SITE,
OSN_RESOURCE_DOMAIN_BUILDING,
OSN_RESOURCE_DOMAIN_RACK,
OSN_RESOURCE_DOMAIN_SERVER,
OSN_RESOURCE_DOMAIN_MAX
} osn__resourceDomainTypes_t;
typedef enum osn__consistencyCheck {
OSN_CONSISTENCY_CHECK_NA,
OSN_CONSISTENCY_CHECK_UNVERIFIED,
OSN_CONSISTENCY_CHECK_VERIFIED,
} osn__consistencyCheck_t;
// The enums are ordered such that we can still use the bit 1 to indicate encrypted and bit 2 to indicate compression
// We have the linkType in builds before 4.3, so to maintain backward compatibility we have to keep linkType=0 as encrypted and uncompressed
// OSN_LINK_TYPE_ENCRYPT_UNCOMP = 00
// OSN_LINK_TYPE_UNENCRYPT_UNCOMP = 01
// OSN_LINK_TYPE_ENCRYPT_COMP = 10
// OSN_LINK_TYPE_UENCRYPT_COMP = 11
// This way we can use the bits to figure out each flag (encrption and compression)
typedef enum osn__storageSystemLinkType {
OSN_LINK_TYPE_ENCRYPT_UNCOMP,
OSN_LINK_TYPE_UNENCRYPT_UNCOMP,
OSN_LINK_TYPE_ENCRYPT_COMP,
OSN_LINK_TYPE_UENCRYPT_COMP
} osn__storageSystemLinkType_t;
typedef enum osn__cacheType { OSN_CMN_ACCESSTYPE_WRITETHRU, OSN_CMN_ACCESSTYPE_WRITEBACK } osn__cacheType_t;
typedef enum osn__hwCachePolicy {
OSN_HWCACHE_UNKNOWN = 0x0,
OSN_HWCACHE_READAHEAD = 0x1,
OSN_HWCACHE_NOREADAHEAD = 0x2,
OSN_HWCACHE_WRITEBACK = 0x4,
OSN_HWCACHE_ALWAYSWRITEBACK = 0x8,
OSN_HWCACHE_WRITETHROUGH = 0x10,
OSN_HWCACHE_CACHED = 0x20,
OSN_HWCACHE_DIRECT = 0x40
} osn__hwCachePolicy_t;
typedef enum osn__syncPolicy {
OSN_CMN_SYNCTYPE_STANDARD,
OSN_CMN_SYNCTYPE_ALWAYS,
OSN_CMN_SYNCTYPE_DISABLED,
OSN_CMN_SYNCTYPE_AUTO
} osn__syncPolicy_t;
typedef enum osn__networkShareFileOplock {
OSN_CMN_FILE_OPLOCK_TYPE_NONE,
OSN_CMN_FILE_OPLOCK_TYPE_LEVEL_II,
OSN_CMN_FILE_OPLOCK_TYPE_LEASE,
OSN_CMN_FILE_OPLOCK_TYPE_EXCLUSIVE,
OSN_CMN_FILE_OPLOCK_TYPE_UNKNOWN
} osn__networkShareFileOplock_t;
typedef enum osn__networkShareFileAccess {
OSN_CMN_FILE_ACCESS_TYPE_READONLY,
OSN_CMN_FILE_ACCESS_TYPE_READWRITE
} osn__networkShareFileAccess_t;
typedef enum osn__chapPolicy {
OSN_CHAP_DISABLED = 0,
OSN_CHAP_USE_TARGET_CHAP = 1,
OSN_CHAP_USE_USER_CHAP_DEFAULTS = 2,
OSN_CHAP_USE_TARGET_AND_USER_CHAP = 3,
OSN_CHAP_USE_STORAGE_CLOUD_CHAP_DEFAULTS = 4
} osn__chapPolicy_t;
typedef enum osn__cephUseCase {
OSN_CEPH_USE_CASE_RGW,
OSN_CEPH_USE_CASE_RGW_OPENSTACK,
} osn__cephUseCase_t;
// RuleType = 2 is not set in ceph.
typedef enum osn__cephCrushRuleType {
OSN_CEPH_CRUSH_RULE_REPLICATED = 1,
OSN_CEPH_CRUSH_RULE_ERASURE_CODED = 3
} osn__cephCrushRuleType_t;
typedef enum osn__cephCrushDeviceClass {
OSN_CEPH_CRUSH_DEVICE_CLASS_HDD = 0,
OSN_CEPH_CRUSH_DEVICE_CLASS_SSD = 1,
OSN_CEPH_CRUSH_DEVICE_CLASS_NVME = 2
} osn__cephCrushDeviceClass_t;
typedef enum osn__cephECPlugin {
OSN_CEPH_EC_PLUGIN_JERASURE = 0,
OSN_CEPH_EC_PLUGIN_ISA = 1,
OSN_CEPH_EC_PLUGIN_LRC = 2,
OSN_CEPH_EC_PLUGIN_SHEC = 3
} osn__cephECPlugin_t;
typedef enum osn__cephECTechnique {
OSN_CEPH_EC_TECHNIQUE_REED_SOL_VAN = 0,
OSN_CEPH_EC_TECHNIQUE_REED_SOL_R6_OP = 1,
OSN_CEPH_EC_TECHNIQUE_CAUCHY_ORIG = 2,
OSN_CEPH_EC_TECHNIQUE_CAUCHY_GOOD = 3,
OSN_CEPH_EC_TECHNIQUE_LIBERATION= 4 ,
OSN_CEPH_EC_TECHNIQUE_BLAUM_ROTH = 5,
OSN_CEPH_EC_TECHNIQUE_LIBER_8_TION = 6
} osn__cephECTechnique_t;
typedef enum osn__cephFailureDomain {
OSN_CEPH_FAILURE_DOMAIN_OSD = 0,
OSN_CEPH_FAILURE_DOMAIN_HOST = 1,
OSN_CEPH_FAILURE_DOMAIN_RACK = 2,
OSN_CEPH_FAILURE_DOMAIN_CHASSIS = 3,
OSN_CEPH_FAILURE_DOMAIN_DATACENTER = 4
} osn__cephFailureDomain_t;
typedef enum osn__quotaPolicy {
OSN_CMN_QUOTA_POLICY_SOFT,
OSN_CMN_QUOTA_POLICY_HARD
} osn__quotaPolicy_t;
typedef enum osn__initiatorType {
OSN_CMN_INITIATOR_ISCSI = 0,
OSN_CMN_INITIATOR_FCP = 1,
OSN_CMN_INITIATOR_IB = 2
} osn__initiatorType_t;
typedef enum osn__linkState {
OSN_CMN_LINKSTATE_UP,
OSN_CMN_LINKSTATE_DOWN,
OSN_CMN_LINKSTATE_UNKNOWN
} osn__linkState_t;
typedef enum osn__iscsiConnectionState {
OSN_CMN_ISCSI_CONNECTION_STATE_UNKNOWN,
OSN_CMN_ISCSI_CONNECTION_STATE_FREE,
OSN_CMN_ISCSI_CONNECTION_STATE_TRANSPORT_WAIT,
OSN_CMN_ISCSI_CONNECTION_STATE_IN_LOGIN,
OSN_CMN_ISCSI_CONNECTION_STATE_LOGGED_IN,
OSN_CMN_ISCSI_CONNECTION_STATE_IN_LOGOUT,
OSN_CMN_ISCSI_CONNECTION_STATE_LOGOUT_REQUESTED,
OSN_CMN_ISCSI_CONNECTION_STATE_CLEANUP_WAIT,
OSN_CMN_ISCSI_CONNECTION_STATE_MAX
} osn__iscsiConnectionState_t;
typedef enum osn__iscsiSessionState {
OSN_CMN_ISCSI_SESSION_STATE_UNKNOWN,
OSN_CMN_ISCSI_SESSION_STATE_NO_CHANGE,
OSN_CMN_ISCSI_SESSION_STATE_CLEANUP,
OSN_CMN_ISCSI_SESSION_STATE_REOPEN,
OSN_CMN_ISCSI_SESSION_STATE_REDIRECT,
OSN_CMN_ISCSI_SESSION_STATE_MAX
} osn__iscsiSessionState_t;
typedef enum osn__userAccountType {
OSN_CMN_USER_ACCOUNT_STANDARD,
OSN_CMN_USER_ACCOUNT_EMERGENCY,
OSN_CMN_USER_ACCOUNT_TEMPORARY
} osn__userAccountType_t;
typedef enum osn__objectState {
OSN_CMN_OBJSTATE_NORMAL,
OSN_CMN_OBJSTATE_WARNING,
OSN_CMN_OBJSTATE_BUSY,
OSN_CMN_OBJSTATE_ERROR,
OSN_CMN_OBJSTATE_INITIALIZING,
OSN_CMN_OBJSTATE_MISSING,
OSN_CMN_OBJSTATE_OFFLINE,
OSN_CMN_OBJSTATE_DISCONNECTED,
OSN_CMN_OBJSTATE_PAUSED
} osn__objectState_t;
typedef enum osn__licenseState {
OSN_CMN_LICSTATE_NORMAL,
OSN_CMN_LICSTATE_WARNING,
OSN_CMN_LICSTATE_BUSY,
OSN_CMN_LICSTATE_ERROR,
OSN_CMN_LICSTATE_INITALIZING,
OSN_CMN_LICSTATE_MISSING,
OSN_CMN_LICSTATE_OFFLINE,
OSN_CMN_LICSTATE_RETIRED
} osn__licenseState_t;
typedef enum osn__dataType { OSN_CMN_DATATYPE_STRING, OSN_CMN_DATATYPE_INT, OSN_CMN_DATATYPE_TIME, OSN_CMN_DATATYPE_FLOAT, OSN_CMN_DATATYPE_MAX } osn__dataType_t;
typedef enum osn__eventType { OSN_CMN_EVENTTYPE_ADD, OSN_CMN_EVENTTYPE_REMOVE, OSN_CMN_EVENTTYPE_MODIFY } osn__eventType_t;
typedef enum osn__eventListenerType {
OSN_CMN_LISTENERTYPE_OBSERVER = 0,
OSN_CMN_LISTENERTYPE_SECONDARY = 1,
OSN_CMN_LISTENERTYPE_PRIMARY = 2
} osn__eventListenerType_t;
typedef enum osn__eventListenerMode {
OSN_CMN_LISTENERMODE_ENQUEUE = 0,
OSN_CMN_LISTENERMODE_PROCESS = 1,
OSN_CMN_LISTENERMODE_FLUSH = 2
} osn__eventListenerMode_t;
typedef enum osn__replicaAssocType { OSN_CMN_REPLICA_CHILD, OSN_CMN_REPLICA_HEAD } osn__replicaAssocType_t;
typedef enum osn__replicationActionType {
OSN_CMN_REPLICATION_SETUP,
OSN_CMN_REPLICATION_CONNECT,
OSN_CMN_REPLICATION_DISCONNECT,
OSN_CMN_REPLICATION_RECONNECT,
OSN_CMN_REPLICATION_ADJUST
} osn__replicationActionType_t;
typedef enum osn__replicationCongestionPolicy {
OSN_CMN_REPLICATION_CONGESTION_POLICY_SYNC,
OSN_CMN_REPLICATION_CONGESTION_POLICY_PULL_AHEAD
} osn__replicationCongestionPolicy_t;
typedef enum osn__initPriorityType {
OSN_INITPRIORITY_DEFAULT,
OSN_INITPRIORITY_LOW,
OSN_INITPRIORITY_MEDIUM,
OSN_INITPRIORITY_HIGH
} osn__initPriorityType_t;
//
// NOTE: NOTE: NOTE: New object types should always be added towards the end of the *enum only*, just before the
// "OSN_CMN_OBJECTTYPE_MAX". Adding a new type in-between is a big *no-no*.
//
typedef enum osn__objectType {
OSN_CMN_OBJECTTYPE_UNKNOWN,
OSN_CMN_OBJECTTYPE_SNAPSHOT_SCHEDULE,
OSN_CMN_OBJECTTYPE_SNAPSHOT_SCHEDULE_ASSOC,
OSN_CMN_OBJECTTYPE_STORAGE_VOLUME,
OSN_CMN_OBJECTTYPE_STORAGE_VOLUME_UTILIZATION,
OSN_CMN_OBJECTTYPE_STORAGE_VOLUME_GROUP,
OSN_CMN_OBJECTTYPE_STORAGE_VOLUME_GROUP_ASSOC,
OSN_CMN_OBJECTTYPE_STORAGE_POOL,
OSN_CMN_OBJECTTYPE_STORAGE_POOL_DEVICE,
OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM,
OSN_CMN_OBJECTTYPE_STORAGE_VOLUME_ACL,
OSN_CMN_OBJECTTYPE_HOST,
OSN_CMN_OBJECTTYPE_HOST_GROUP,
OSN_CMN_OBJECTTYPE_INITIATOR_PORT,
OSN_CMN_OBJECTTYPE_TARGET_PORT,
OSN_CMN_OBJECTTYPE_PHYSICAL_DISK,
OSN_CMN_OBJECTTYPE_TASK,
OSN_CMN_OBJECTTYPE_AUDIT_ENTRY,
OSN_CMN_OBJECTTYPE_AUDIT_SETTINGS,
OSN_CMN_OBJECTTYPE_ALERT,
OSN_CMN_OBJECTTYPE_ALERT_CONFIG_SETTINGS,
OSN_CMN_OBJECTTYPE_LICENSE,
OSN_CMN_OBJECTTYPE_LICENSE_ACTIVATION,
OSN_CMN_OBJECTTYPE_USER,
OSN_CMN_OBJECTTYPE_USER_PERMISSION_ASSIGNMENT,
OSN_CMN_OBJECTTYPE_USER_GROUP,
OSN_CMN_OBJECTTYPE_USER_GROUP_ASSOC,
OSN_CMN_OBJECTTYPE_ROLE,
OSN_CMN_OBJECTTYPE_ROLE_PERMISSION_ASSIGNMENT,
OSN_CMN_OBJECTTYPE_ROLE_SUBJECT_ASSOC,
OSN_CMN_OBJECTTYPE_PERMISSION_DEFINITION,
OSN_CMN_OBJECTTYPE_STORAGE_CLOUD,
OSN_CMN_OBJECTTYPE_STORAGE_CLOUD_ASSOC,
OSN_CMN_OBJECTTYPE_STORAGE_CLOUD_SUBJECT_ASSOC,
OSN_CMN_OBJECTTYPE_SESSION,
OSN_CMN_OBJECTTYPE_STORAGE_TIER,
OSN_CMN_OBJECTTYPE_STORAGE_TIER_ASSOC,
OSN_CMN_OBJECTTYPE_STORAGE_QUOTA,
OSN_CMN_OBJECTTYPE_STORAGE_QUOTA_ASSOC,
OSN_CMN_OBJECTTYPE_ACL,
OSN_CMN_OBJECTTYPE_OBJECT_PROPERTY,
OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_LINK,
OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_GROUP,
OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_GROUP_ASSOC,
OSN_CMN_OBJECTTYPE_REPLICA_ASSOC,
OSN_CMN_OBJECTTYPE_PHYSICAL_DISK_PATH_ASSOC,
OSN_CMN_OBJECTTYPE_HW_ALARM,
OSN_CMN_OBJECTTYPE_HW_BBU,
OSN_CMN_OBJECTTYPE_HW_DISK,
OSN_CMN_OBJECTTYPE_HW_UNIT,
OSN_CMN_OBJECTTYPE_HW_ENCLOSURE,
OSN_CMN_OBJECTTYPE_HW_CONTROLLER,
OSN_CMN_OBJECTTYPE_HW_CONTROLLER_GROUP,
OSN_CMN_OBJECTTYPE_NETWORK_SHARE,
OSN_CMN_OBJECTTYPE_NETWORK_SHARE_CLIENT,
OSN_CMN_OBJECTTYPE_REPLICATION_SCHEDULE,
OSN_CMN_OBJECTTYPE_REPLICATION_SCHEDULE_ASSOC,
OSN_CMN_OBJECTTYPE_HW_LOGICAL_DRIVE,
OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_RECOVERY_POINT,
OSN_CMN_OBJECTTYPE_CLOUD_CONTAINER,
OSN_CMN_OBJECTTYPE_CLOUD_PROVIDER,
OSN_CMN_OBJECTTYPE_CLOUD_PROVIDER_CREDENTIALS,
OSN_CMN_OBJECTTYPE_CLOUD_BACKUP_SCHEDULE,
OSN_CMN_OBJECTTYPE_CLOUD_BACKUP_SCHEDULE_ASSOC,
OSN_CMN_OBJECTTYPE_CLOUD_PROVIDER_LOCATION,
OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_CLUSTER,
OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_CLUSTER_ASSOC,
OSN_CMN_OBJECTTYPE_CLUSTER_FAILOVER_GROUP,
OSN_CMN_OBJECTTYPE_FC_TARGET_PORT,
OSN_CMN_OBJECTTYPE_NETWORK_SHARE_SERVICE_CONFIG,
OSN_CMN_OBJECTTYPE_WIDGET,
OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_LINK_KEY,
OSN_CMN_OBJECTTYPE_STORAGE_POOL_PROFILE,
OSN_CMN_OBJECTTYPE_STORAGE_QUOTA_SHARE_ASSOC,
OSN_CMN_OBJECTTYPE_SITE_CLUSTER,
OSN_CMN_OBJECTTYPE_SITE_CLUSTER_ASSOC,
OSN_CMN_OBJECTTYPE_VIRTUAL_INTERFACE_ASSOC,
OSN_CMN_OBJECTTYPE_IB_TARGET_PORT,
OSN_CMN_OBJECTTYPE_HW_SWITCH_CREDENTIALS,
OSN_CMN_OBJECTTYPE_HW_SWITCH,
OSN_CMN_OBJECTTYPE_HW_SWITCH_ZONESET,
OSN_CMN_OBJECTTYPE_HW_SWITCH_ADAPTER,
OSN_CMN_OBJECTTYPE_HW_SWITCH_FAILOVER_GROUP,
OSN_CMN_OBJECTTYPE_HW_SWITCH_FAILOVER_GROUP_POOL_ASSOC,
OSN_CMN_OBJECTTYPE_HW_SWITCH_FAILOVER_GROUP_SYSTEM_ASSOC,
OSN_CMN_OBJECTTYPE_HW_SWITCH_CREDENTIALS_SYSTEM_ASSOC,
OSN_CMN_OBJECTTYPE_LIBRATO_METRICS_CONFIG,
OSN_CMN_OBJECTTYPE_STORAGE_POOL_REPLICATION_CONFIG,
OSN_CMN_OBJECTTYPE_GLUSTER_VOLUME,
OSN_CMN_OBJECTTYPE_GLUSTER_BRICK,
OSN_CMN_OBJECTTYPE_GLUSTER_PEER,
OSN_CMN_OBJECTTYPE_NETWORK_SHARE_USER_ACCESS,
OSN_CMN_OBJECTTYPE_NETWORK_SHARE_CIFS_OPTION,
OSN_CMN_OBJECTTYPE_ALERT_TRIGGER,
OSN_CMN_OBJECTTYPE_HW_ENCLOSURE_LAYOUT,
OSN_CMN_OBJECTTYPE_HW_UNIT_DISK_ASSOC,
OSN_CMN_OBJECTTYPE_STORAGE_POOL_HA_FAILOVER_GROUP,
OSN_CMN_OBJECTTYPE_STORAGE_POOL_HA_FAILOVER_INTERFACE,
OSN_CMN_OBJECTTYPE_STORAGE_POOL_HA_FAILOVER_MODULE,
OSN_CMN_OBJECTTYPE_BACKUP_POLICY,
OSN_CMN_OBJECTTYPE_BACKUP_JOB,
OSN_CMN_OBJECTTYPE_GLUSTER_HA_FAILOVER_INTERFACE,
OSN_CMN_OBJECTTYPE_CEPH_POOL,
OSN_CMN_OBJECTTYPE_CEPH_OSD,
OSN_CMN_OBJECTTYPE_CEPH_POOL_OSD_ASSOC,
OSN_CMN_OBJECTTYPE_CEPH_CLUSTER,
OSN_CMN_OBJECTTYPE_CEPH_MONITOR,
OSN_CMN_OBJECTTYPE_CEPH_HA_FAILOVER_INTERFACE,
OSN_CMN_OBJECTTYPE_CEPH_BLOCK_DEVICE,
OSN_CMN_OBJECTTYPE_PHYSICAL_DISK_HOTSPARE_MARKER,
OSN_CMN_OBJECTTYPE_SITE_VIF_RESOURCE,
OSN_CMN_OBJECTTYPE_CLUSTER_RING,
OSN_CMN_OBJECTTYPE_CLUSTER_RING_MEMBER,
OSN_CMN_OBJECTTYPE_CEPH_CLUSTER_MEMBER,
OSN_CMN_OBJECTTYPE_SW_CONTROLLER,
OSN_CMN_OBJECTTYPE_SW_CONTROLLER_GROUP,
OSN_CMN_OBJECTTYPE_SW_CONTROLLER_TARGET,
OSN_CMN_OBJECTTYPE_SW_DISK_SESSION,
OSN_CMN_OBJECTTYPE_QOS_POLICY,
OSN_CMN_OBJECTTYPE_CEPH_PG_SET,
OSN_CMN_OBJECTTYPE_CEPH_JOURNAL_DEVICE,
OSN_CMN_OBJECTTYPE_RESOURCE_DOMAIN,
OSN_CMN_OBJECTTYPE_CEPH_OBJECT_POOL_GROUP,
OSN_CMN_OBJECTTYPE_CEPH_USER_ACCESS_ENTRY,
OSN_CMN_OBJECTTYPE_RESOURCE_DOMAIN_ASSOC,
OSN_CMN_OBJECTTYPE_NETWORK_SHARE_NAMESPACE,
OSN_CMN_OBJECTTYPE_NETWORK_SHARE_NAMESPACE_SYSTEM_ASSOC,
OSN_CMN_OBJECTTYPE_NETWORK_SHARE_NAMESPACE_SHARE_ASSOC,
OSN_CMN_OBJECTTYPE_CEPH_POOL_PROFILE,
OSN_CMN_OBJECTTYPE_NETWORK_SHARE_SESSION,
OSN_CMN_OBJECTTYPE_PASSWORD_POLICY,
OSN_CMN_OBJECTTYPE_MULTIPATH_CONFIG,
OSN_CMN_OBJECTTYPE_REPLICA_REPORT_ENTRY,
OSN_CMN_OBJECTTYPE_REPLICA_REPORT_SUMMARY,
OSN_CMN_OBJECTTYPE_STORAGE_POOL_DEVICE_GROUP,
OSN_CMN_OBJECTTYPE_NETWORK_SHARE_FILE_LOCK,
OSN_CMN_OBJECTTYPE_MULTIFACTORAUTH_CONFIG,
OSN_CMN_OBJECTTYPE_PROVIDER_APP,
OSN_CMN_OBJECTTYPE_USER_APP_TOKEN,
OSN_CMN_OBJECTTYPE_ALERT_TYPE,
OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_HW_CONFIG,
OSN_CMN_OBJECTTYPE_MULTIFACTORAUTH_DEVICE,
OSN_CMN_OBJECTTYPE_CEPH_RADOS_GATEWAY,
OSN_CMN_OBJECTTYPE_CEPH_CRUSH_RULE,
OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_TUNABLE,
OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_TUNABLE_PROFILE,
OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_TUNABLE_ASSOC,
OSN_CMN_OBJECTTYPE_MAX
} osn__objectType_t;
typedef enum osn__ipmiHealthState {
OSN_IPMI_STATE_OK,
OSN_IPMI_STATE_NO_SENSOR,
OSN_IPMI_STATE_NON_CRITICAL,
OSN_IPMI_STATE_CRITICAL,
OSN_IPMI_STATE_NON_RECOVERABLE
} osn__ipmiHealthState_t;
typedef enum osn__cephJournalDeviceType {
OSN_CMN_CEPH_JOURNAL_DEVICE_PARTITION = 0x0000,
OSN_CMN_CEPH_JOURNAL_ENTIRE_DEVICE = 0x0001,
OSN_CMN_CEPH_JOURNAL_POOL_FILE = 0x0002
} osn__cephJournalDeviceType_t;
typedef enum osn__cephJournalMode {
OSN_CMN_CEPH_JOURNAL_MODE_UNUSED = 0x0000,
OSN_CMN_CEPH_JOURNAL_MODE_LEGACY_JOURNAL = 0x0001,
OSN_CMN_CEPH_JOURNAL_MODE_WAL = 0x0002,
OSN_CMN_CEPH_JOURNAL_MODE_DB = 0x0004,
OSN_CMN_CEPH_JOURNAL_MODE_UNKNOWN = 0xffff
} osn__cephJournalMode_t;
typedef enum osn__cephOsdWeightPolicy {
OSN_CMN_CEPH_WEIGHT_POLICY_LEGACY = 0x0000,
OSN_CMN_CEPH_WEIGHT_POLICY_BY_SIZE = 0x0001
} osn__cephOsdWeightPolicy_t;
typedef enum osn__cephOsdType {
OSN_CMN_FLAG_CEPH_OSD_LEGACY_FILESTORE = 0x0000,
OSN_CMN_FLAG_CEPH_OSD_BLUESTORE = 0x0001,
OSN_CMN_FLAG_CEPH_OSD_AUTO_SELECT = 0x000f,
OSN_CMN_FLAG_CEPH_OSD_UNKNOWN = 0xffff
} osn__cephOsdType_t;
typedef enum osn__cephUserAccessOpMask
{
OSN_USER_ACCESS_OPMASK_NONE = 0x0000,
OSN_USER_ACCESS_OPMASK_READ = 0x0001,
OSN_USER_ACCESS_OPMASK_WRITE = 0x0002,
OSN_USER_ACCESS_OPMASK_DELETE = 0x0004,
OSN_USER_ACCESS_OPMASK_MAX = 0x0008
} osn__cephUserAccessOpMask_t;
//
// Enter and Exit maintenance mode enum's go in lock-step.
// For a given sub-system, all even number value denote
// enter-maintenance, and odd-number's denote exit-maintenance.
// This is done, to handle better default behavior handling.
//
typedef enum osn__enterMaintenanceModeMask
{
OSN_MAINTENANCE_MODE_ENTER_ALL = 0x0000,
OSN_MAINTENANCE_MODE_CEPH_ENTER = 0x0002,
OSN_MAINTENANCE_MODE_COROSYNC_ENTER = 0x0004
} osn_enterMaintenanceModeMask_t;
typedef enum osn__scheduleTimerType
{
OSN_SCHEDULE_TIMER_CALENDAR_BASED = 0x0000,
OSN_SCHEDULE_TIMER_INTERVAL_BASED = 0x0001,
OSN_SCHEDULE_TIMER_MAX = 0x0002
} osn__scheduleTimerType_t;
typedef enum osn__exitMaintenanceModeMask
{
OSN_MAINTENANCE_MODE_CEPH_EXIT = 0x0001,
OSN_MAINTENANCE_MODE_COROSYNC_EXIT = 0x0003,
OSN_MAINTENANCE_MODE_CLEAR_ALL = 0xFFFF
} osn_exitMaintenanceModeMask_t;
typedef enum osn__backupJobStage {
OSN_CMN_BACKUP_STAGE_INITIALIZING = 0x0000,
OSN_CMN_BACKUP_STAGE_SCANNING = 0x0001,
OSN_CMN_BACKUP_STAGE_COPYING = 0x0002,
OSN_CMN_BACKUP_STAGE_PURGING = 0x0003,
OSN_CMN_BACKUP_STAGE_COMPLETED = 0x0004,
OSN_CMN_BACKUP_STAGE_FAILED = 0x0005,
} osn__backupJobStage_t;
typedef enum osn__backupPurgePolicy {
OSN_CMN_BACKUP_PURGE_POLICY_NEVER = 0x0000,
OSN_CMN_BACKUP_PURGE_POLICY_AFTER_BACKUP = 0x0001,
OSN_CMN_BACKUP_PURGE_POLICY_DAILY = 0x0002,
OSN_CMN_BACKUP_PURGE_POLICY_WEEKLY = 0x0003,
OSN_CMN_BACKUP_PURGE_POLICY_MAX = 0x0004
} osn__backupPurgePolicy_t;
typedef enum osn__backupPolicyType {
OSN_CMN_BACKUP_POLICY_TYPE_COPY_INBOUND = 0x0000,
OSN_CMN_BACKUP_POLICY_TYPE_COPY_OUTBOUND = 0x0001,
OSN_CMN_BACKUP_POLICY_TYPE_MOVE_INBOUND = 0x0002,
OSN_CMN_BACKUP_POLICY_TYPE_MOVE_OUTBOUND = 0x0003,
OSN_CMN_BACKUP_POLICY_TYPE_MAX = 0x0004
} osn__backupPolicyType_t;
typedef enum osn__backupPolicyMountType {
OSN_CMN_BACKUP_POLICY_MOUNT_NFS = 0x0000,
OSN_CMN_BACKUP_POLICY_MOUNT_GLUSTER = 0x0001,
OSN_CMN_BACKUP_POLICY_MOUNT_OCFS2 = 0x0002,
OSN_CMN_BACKUP_POLICY_MOUNT_CIFS = 0x0003,
} osn__backupPolicyMountType_t;
typedef enum osn__backupPolicyRetentionCriteria {
OSN_CMN_BACKUP_POLICY_RETENTION_ACCESS_TIME = 0x0001,
OSN_CMN_BACKUP_POLICY_RETENTION_MODIFY_TIME = 0x0002,
OSN_CMN_BACKUP_POLICY_RETENTION_CREATE_TIME = 0x0004,
} osn__backupPolicyRetentionCriteria_t;
typedef enum osn__replicaRetentionTag {
OSN_CMN_REPLICATION_RETENTION_TAG_NONE = 0x0000,
OSN_CMN_REPLICATION_RETENTION_TAG_DELTA = 0x0001,
OSN_CMN_REPLICATION_RETENTION_TAG_DAILY = 0x0002,
OSN_CMN_REPLICATION_RETENTION_TAG_WEEKLY = 0x0004,
OSN_CMN_REPLICATION_RETENTION_TAG_BIWEEKLY = 0x0008,
OSN_CMN_REPLICATION_RETENTION_TAG_MONTHLY = 0x0010,
OSN_CMN_REPLICATION_RETENTION_TAG_BIMONTHLY = 0x0020,
OSN_CMN_REPLICATION_RETENTION_TAG_QUARTERLY = 0x0040,
OSN_CMN_REPLICATION_RETENTION_TAG_YEARLY = 0x0080,
OSN_CMN_REPLICATION_RETENTION_TAG_HOURLY = 0x0100,
} osn__replicaRetentionTag_t;
typedef enum osn__alertSubscription {
OSN_CMN_ALERT_SUBSCRIPTION_NONE = 0,
OSN_CMN_ALERT_SUBSCRIPTION_CRITICAL = 1,
OSN_CMN_ALERT_SUBSCRIPTION_ERROR = 2,
OSN_CMN_ALERT_SUBSCRIPTION_WARNING = 4,
OSN_CMN_ALERT_SUBSCRIPTION_INFO = 8
} osn__alertSubscription_t;
typedef enum osn__errorLevel {
OSN_CMN_SEVERITY_ALWAYS = 0,
OSN_CMN_SEVERITY_CRITICAL = 1,
OSN_CMN_SEVERITY_ERROR = 2,
OSN_CMN_SEVERITY_WARNING = 3,
OSN_CMN_SEVERITY_INFO = 4,
OSN_CMN_SEVERITY_DEBUG = 5,
OSN_CMN_SEVERITY_VERBOSE = 6,
OSN_CMN_SEVERITY_DEBUG2 = 7
} osn__errorLevel_t;
typedef enum osn__taskState {
OSN_TASKSTATE_INITIALIZING,
OSN_TASKSTATE_QUEUED,
OSN_TASKSTATE_RUNNING,
OSN_TASKSTATE_FAILED,
OSN_TASKSTATE_CANCELLED,
OSN_TASKSTATE_COMPLETED,
OSN_TASKSTATE_WAITING,
OSN_TASKSTATE_RECOVERED
} osn__taskState_t;
typedef enum osn__hostType {
OSN_HOSTTYPE_UNKNOWN,
OSN_HOSTTYPE_AIX,
OSN_HOSTTYPE_HPUX,
OSN_HOSTTYPE_LINUX,
OSN_HOSTTYPE_SOLARIS,
OSN_HOSTTYPE_VMWARE,
OSN_HOSTTYPE_WINDOWS,
OSN_HOSTTYPE_XENSERVER,
OSN_HOSTTYPE_OTHER,
OSN_HOSTTYPE_MAC,
OSN_HOSTTYPE_MAX
} osn__hostType_t;
typedef enum osn__shareSettingsInheritance {
OSN_SHARE_INHERITS_NONE = 0,
OSN_SHARE_INHERITS_CIFS_ACCESS = 1,
OSN_SHARE_INHERITS_NFS_ACCESS = 2
} osn__shareSettingsInheritance_t;
typedef enum osn__retentionTag {
OSN_RETENTIONTAG_NONE = 0,
OSN_RETENTIONTAG_DAY = 1,
OSN_RETENTIONTAG_WEEK = 2,
OSN_RETENTIONTAG_MONTH = 4,
OSN_RETENTIONTAG_YEARLY = 8,
OSN_RETENTIONTAG_MAX = 9
} osn__retentionTag_t;
typedef enum osn__networkShareType {
OSN_NETWORKSHARETYPE_STANDARD,
OSN_NETWORKSHARETYPE_SUBVOL_BTRFS,
OSN_NETWORKSHARETYPE_CLOUD,
OSN_NETWORKSHARETYPE_SUBVOL_ZFS,
OSN_NETWORKSHARETYPE_GLUSTER_VOLUME,
OSN_NETWORKSHARETYPE_ALIAS,
OSN_NETWORKSHARETYPE_SUBSHARE
} osn__networkShareType_t;
typedef enum osn__storageVolumeType {
OSN_STORAGEVOLUMETYPE_FILE,
OSN_STORAGEVOLUMETYPE_FILE_BTRFS,
OSN_STORAGEVOLUMETYPE_FILE_EXT3,
OSN_STORAGEVOLUMETYPE_FILE_EXT4,
OSN_STORAGEVOLUMETYPE_RAW_DEVICE,
OSN_STORAGEVOLUMETYPE_FILE_ZFS,
OSN_STORAGEVOLUMETYPE_FILE_XFS,
OSN_STORAGEVOLUMETYPE_FILE_S3QL,
OSN_STORAGEVOLUMETYPE_FILE_JFS,
OSN_STORAGEVOLUMETYPE_CEPH_RBD
} osn__storageVolumeType_t;
typedef enum osn__hwEnclosureLayoutFlow {
OSN_ENCLOSURELAYOUT_FLOW_T2B_L2R,
OSN_ENCLOSURELAYOUT_FLOW_T2B_R2L,
OSN_ENCLOSURELAYOUT_FLOW_B2T_L2R,
OSN_ENCLOSURELAYOUT_FLOW_B2T_R2L,
OSN_ENCLOSURELAYOUT_FLOW_R2L_T2B,
OSN_ENCLOSURELAYOUT_FLOW_R2L_B2T,
OSN_ENCLOSURELAYOUT_FLOW_L2R_T2B,
OSN_ENCLOSURELAYOUT_FLOW_L2R_B2T
} osn__hwEnclosureLayoutFlow_t;
typedef enum osn__replicationState {
OSN_CMN_REPLICATION_STATE_PREPARING,
OSN_CMN_REPLICATION_STATE_INITIALIZING,
OSN_CMN_REPLICATION_STATE_SYNCHRONIZING,
OSN_CMN_REPLICATION_STATE_SYNCHRONIZED,
OSN_CMN_REPLICATION_STATE_RESYNCHRONIZING,
OSN_CMN_REPLICATION_STATE_PAUSED,
OSN_CMN_REPLICATION_STATE_INIT_FAILED,
OSN_CMN_REPLICATION_STATE_SYNC_FAILED,
OSN_CMN_REPLICATION_STATE_RESYNC_FAILED,
OSN_CMN_REPLICATION_STATE_SKIPPED
} osn__replicationState_t;
typedef enum osn__remoteReplicaFlags {
OSN_CMN_REPLICA_FLAG_NONE,
OSN_CMN_REPLICA_FLAG_SOURCE,
OSN_CMN_REPLICA_FLAG_TARGET,
OSN_CMN_REPLICA_FLAG_SOURCE_AND_TARGET
} osn__remoteReplicaFlags_t;
typedef enum osn__raidType {
OSN_RAIDTYPE_RAID0 = 0,
OSN_RAIDTYPE_RAID1 = 1,
OSN_RAIDTYPE_RAID2 = 2,
OSN_RAIDTYPE_RAID3 = 3,
OSN_RAIDTYPE_RAID4 = 4,
OSN_RAIDTYPE_RAID5 = 5,
OSN_RAIDTYPE_RAID6 = 6,
OSN_RAIDTYPE_RAID7 = 7,
OSN_RAIDTYPE_RAID8 = 8,
OSN_RAIDTYPE_RAID9 = 9,
OSN_RAIDTYPE_RAID10 = 10,
OSN_RAIDTYPE_RAID_AUTO = 11,
OSN_RAIDTYPE_SINGLE = 12,
OSN_RAIDTYPE_JBOD = 13,
OSN_RAIDTYPE_RAID50 = 14,
OSN_RAIDTYPE_RAID60 = 15,
OSN_RAIDTYPE_RAID70 = 16,
OSN_RAIDTYPE_MULTIPLE = 17,
OSN_RAIDTYPE_MAX = 18
} osn__raidType_t;
typedef enum osn__storagePoolType {
OSN_STORAGEPOOLTYPE_BTRFS,
OSN_STORAGEPOOLTYPE_EXT3,
OSN_STORAGEPOOLTYPE_EXT4,
OSN_STORAGEPOOLTYPE_XFS,
OSN_STORAGEPOOLTYPE_S3QL,
OSN_STORAGEPOOLTYPE_JFS,
OSN_STORAGEPOOLTYPE_ZFS,
OSN_STORAGEPOOLTYPE_CEPH,
OSN_STORAGEPOOLTYPE_SWAP,
OSN_STORAGEPOOLTYPE_PASSTHRU,
OSN_STORAGEPOOLTYPE_LOCAL,
OSN_STORAGEPOOLTYPE_UNKNOWN,
OSN_STORAGEPOOLTYPE_MAX
} osn__storagePoolType_t;
typedef enum osn__vdevType {
OSN_VDEVTYPE_NA = 0,
OSN_VDEVTYPE_DATA = 1,
OSN_VDEVTYPE_LOGS = 2,
OSN_VDEVTYPE_CACHE = 3,
OSN_VDEVTYPE_SPARES = 4,
OSN_VDEVTYPE_MAX = 5
} osn__vdevType_t;
typedef enum osn__storagePoolCacheType {
OSN_STORAGEPOOLCACHETYPE_READCACHE = 1,
OSN_STORAGEPOOLCACHETYPE_WRITELOG = 2,
} osn__storagePoolCacheType_t;
typedef enum osn__hotsparePoolRepairPolicy {
OSN_HOTSPARE_POOL_REPAIR_POLICY_USE_ASSIGNED_AND_GLOBAL = 0,
OSN_HOTSPARE_POOL_REPAIR_POLICY_USE_ASSIGNED_ONLY = 1,
OSN_HOTSPARE_POOL_REPAIR_POLICY_USE_EXACTMATCH = 2,
OSN_HOTSPARE_POOL_REPAIR_POLICY_USE_ASSIGNED_ONLY_EXACTMATCH = 3,
OSN_HOTSPARE_POOL_REPAIR_POLICY_MANUAL_REPAIR = 4,
OSN_HOTSPARE_POOL_REPAIR_POLICY_MAX = 5
} osn__hotsparePoolRepairPolicy_t;
typedef enum osn__hotsparePoolRepairState {
OSN_HOTSPARE_POOL_REPAIR_STATE_HEALTHY = 0,
OSN_HOTSPARE_POOL_REPAIR_STATE_REPAIR_NEEDED = 1,
OSN_HOTSPARE_POOL_REPAIR_STATE_REPAIR_NEEDED_OPERATOR_APPROVAL_REQUIRED = 2,
OSN_HOTSPARE_POOL_REPAIR_STATE_AUTO_REPAIR_IN_PROGRESS = 3,
OSN_HOTSPARE_POOL_REPAIR_STATE_MAX = 4
} osn__hotsparePoolRepairState_t;
typedef enum osn__arpFilterStatus {
OSN_ARP_FILTERING_ENABLED,
OSN_ARP_FILTERING_DISABLED
} osn__arpFilterStatus_t;
typedef enum osn__multipathConfigMode {
OSN_MULTIPATH_AUTOCONFIG_DISABLED,
OSN_MULTIPATH_AUTOCONFIG_ENABLED,
OSN_MULTIPATH_AUTOCONFIG_MAX
} osn__multipathConfigMode_t;
typedef enum osn__logCollectionMode {
OSN_LOG_COLLECTION_NEVER,
OSN_LOG_COLLECTION_WEEKLY,
OSN_LOG_COLLECTION_BIWEEKLY,
OSN_LOG_COLLECTION_MONTHLY,
OSN_LOG_COLLECTION_MAX
} osn__logCollectionMode_t;
typedef enum osn__quotaSubjectType {
OSN_QUOTA_SUBJECT_POSIX_USER = 0,
OSN_QUOTA_SUBJECT_POSIX_GROUP = 1,
OSN_QUOTA_SUBJECT_AD_USER = 2,
OSN_QUOTA_SUBJECT_AD_GROUP = 3
} osn__quotaSubjectType_t;
typedef enum osn__arpFilterMode {
OSN_ARP_FILTER_MODE_AUTO,
OSN_ARP_FILTER_MODE_ENABLED,
OSN_ARP_FILTER_MODE_DISABLED,
OSN_ARP_FILTER_MODE_MAX
} osn__arpFilterMode_t;
typedef enum osn__bondMode {
OSN_BOND_MODE_ROUND_ROBIN = 0x000000,
OSN_BOND_MODE_ACTIVE_BACKUP = 0x000001,
OSN_BOND_MODE_BALANCE_XOR = 0x000002,
OSN_BOND_MODE_BROADCAST = 0x000003,
OSN_BOND_MODE_LACP = 0x000004,
OSN_BOND_MODE_BALANCE_TLB = 0x000005,
OSN_BOND_MODE_BALANCE_TRLB = 0x000006,
OSN_BOND_MODE_LACP_LAYER34 = 0x010004,
OSN_BOND_MODE_MAX = 0x010008
} osn__bondMode_t;
typedef enum osn__permissionScope {
OSN_SCOPE_NONE = 0,
OSN_SCOPE_USER = 1,
OSN_SCOPE_STORAGE_CLOUD = 2,
OSN_SCOPE_SYSTEM = 3,
OSN_SCOPE_GRID = 4
} osn__permissionScope_t;
typedef enum osn__resourceAccessRequestType {
OSN_CMN_REQUEST_VIEW,
OSN_CMN_REQUEST_UTILIZE,
OSN_CMN_REQUEST_MODIFY
} osn__resourceRequestType_t;
// todo: needs to be refactored
typedef enum osn__resourceAccessMode {
OSN_CMN_RESOURCEACCESS_AUTO = 0x0000,
OSN_CMN_RESOURCEACCESS_MULTIGROUP_SHARED = 0x0001,
OSN_CMN_RESOURCEACCESS_GROUP_EXCLUSIVE = 0x0002,
OSN_CMN_RESOURCEACCESS_IMMUTABLE = 0x0004,
OSN_CMN_RESOURCEACCESS_MULTIGROUP_SHARED_IMMUTABLE = 0x0005,
OSN_CMN_RESOURCEACCESS_GROUP_EXCLUSIVE_IMMUTABLE = 0x0006,
} osn__resourceAccessMode_t;
typedef enum osn__diskCategory {
OSN_DISKCAT_ANY = 0,
OSN_DISKCAT_HDD = 1,
OSN_DISKCAT_SSD = 2
} osn__diskCategory_t;
typedef enum osn__diskType {
OSN_DISKTYPE_UNKNOWN = 0,
OSN_DISKTYPE_IDE = 1,
OSN_DISKTYPE_SATA = 2,
OSN_DISKTYPE_SCSI = 3, //general SCSI devices & HW RAID cards with SCSI drives
OSN_DISKTYPE_SSD = 4,
OSN_DISKTYPE_SSHD = 5,
OSN_DISKTYPE_AOE = 6,
OSN_DISKTYPE_MULTI = 7,
OSN_DISKTYPE_SAS = 8, //only used for HBA SCSI devices
OSN_DISKTYPE_PMEM = 9,
OSN_DISKTYPE_NVME = 10,
} osn__diskType_t;
typedef enum osn__correlationDiskType {
OSN_CORRELATIONDISKTYPE_UNKNOWN = 0,
OSN_CORRELATIONDISKTYPE_HWUNIT = 1,
OSN_CORRELATIONDISKTYPE_HWDISK = 2,
} osn__correlationDiskType_t;
typedef enum osn__licenseEdition {
OSN_LICENSE_EDITION_FREE,
OSN_LICENSE_EDITION_TRIAL,
OSN_LICENSE_EDITION_STANDARD,
OSN_LICENSE_EDITION_ENTERPRISE,
OSN_LICENSE_EDITION_PLATINUM,
OSN_LICENSE_EDITION_CLOUD,
OSN_LICENSE_EDITION_MIGRATION
} osn__licenseEdition_t;
typedef enum osn__licenseDuration { OSN_LICENSE_DURATION_PERPETUAL, OSN_LICENSE_DURATION_TIMELIMITED } osn__licenseDuration_t;
typedef enum osn__licenseCategory {
OSN_LICENSE_CATEGORY_SYSTEM,
OSN_LICENSE_CATEGORY_FEATURE,
OSN_LICENSE_CATEGORY_FEATURE_TERABYTES,
OSN_LICENSE_CATEGORY_FEATURE_VOLUMES,
OSN_LICENSE_CATEGORY_FEATURE_SNAPSHOTS,
OSN_LICENSE_CATEGORY_FEATURE_CLOUDS,
OSN_LICENSE_CATEGORY_FEATURE_NODES,
OSN_LICENSE_CATEGORY_FEATURE_USERS,
OSN_LICENSE_CATEGORY_FEATURE_SSD,
OSN_LICENSE_CATEGORY_FEATURE_REPLICATION,
OSN_LICENSE_CATEGORY_SUPPORT
} osn__licenseCategory_t;
typedef enum osn__licenseType { OSN_LICENSE_TYPE_NODE, OSN_LICENSE_TYPE_VOLUME, OSN_LICENSE_TYPE_SITE } osn__licenseType_t;
typedef enum osn__lockType { OSN_LOCK_SHARED, OSN_LOCK_PROTECTED, OSN_LOCK_EXCLUSIVE } osn__lockType_t;
typedef enum osn__cloudProviderType {
OSN_CLOUD_PROVIDER_AMAZON_S3,
OSN_CLOUD_PROVIDER_SFTP,
OSN_CLOUD_PROVIDER_GOOGLE,
OSN_CLOUD_PROVIDER_MICROSOFT_AZURE,
OSN_CLOUD_PROVIDER_OPENSTACK_SWIFT,
OSN_CLOUD_PROVIDER_DROPBOX,
OSN_CLOUD_PROVIDER_CEPH,
OSN_CLOUD_PROVIDER_IBMCOS,
OSN_CLOUD_PROVIDER_BACKBLAZE_B2
} osn__cloudProviderType_t;
typedef enum osn__cloudContainerType {
OSN_CLOUD_CONTAINER_S3QL=0,
OSN_CLOUD_CONTAINER_S3FS=1, // Deprecated
OSN_CLOUD_CONTAINER_RCLONE=2
} osn__cloudContainerType_t;
typedef enum osn__hwControllerCapabilities {
HW_CONTROLLER_API_NONE = 0x00000000,
HW_CONTROLLER_API_RESCAN = 0x00000001,
HW_CONTROLLER_API_CREATE_UNIT = 0x00000002, //HBAs do not set this, only RAID cards
HW_CONTROLLER_API_GROW_UNIT = 0x00000004,
HW_CONTROLLER_API_GROW_UNIT_ADV_STRIPE = 0x00000008,
HW_CONTROLLER_API_GROW_UNIT_ADV_PRIORITY = 0x00000010,
HW_CONTROLLER_API_CREATE_SSD_CACHE = 0x00000020,
HW_CONTROLLER_API_SUPPORTS_SSD_CACHE_RAID = 0x00000040,
HW_CONTROLLER_API_SUPPORTS_UNIT_DISK_CORRELATION = 0x00000080,
HW_CONTROLLER_API_SUPPORTS_ENCRYPTION = 0x00000100,
HW_CONTROLLER_API_DISK_PASSTHRU = 0x00000200,
HW_CONTROLLER_API_SUPPORTS_RAID = 0x00000400,
HW_CONTROLLER_API_SUPPORTS_JBOD = 0x00000800
} osn__hwControllerCapabilities_t;
typedef enum osn__hwDiskCapabilities {
HW_DISK_API_NONE = 0,
HW_DISK_API_MARK_HOT_SPARE = 1,
HW_DISK_API_IDENTIFY = 2,
HW_DISK_API_REMOVE_DISK = 4,
HW_DISK_API_SUPPORTS_ENCRYPTION = 8
} osn__hwDiskCapabilities_t;
typedef enum osn__hwUnitCapabilities {
HW_UNIT_API_NONE = 0,
HW_UNIT_API_IDENTIFY = 1,
HW_UNIT_API_DELETE = 2,
HW_UNIT_API_SUPPORTS_ENCRYPTION = 8
} osn__hwUnitCapabilities_t;
typedef enum osn__aclType { OSN_ACL_TYPE_POSIX, OSN_ACL_TYPE_OFF } osn__aclType_t;
typedef enum osn__vvolType {
OSN_VVOL_TYPE_NONE = 0,
OSN_VVOL_TYPE_SUBVOL_CONFIG = 1,
OSN_VVOL_TYPE_SUBVOL_DATA = 2,
OSN_VVOL_TYPE_SUBVOL_SWAP = 3,
OSN_VVOL_TYPE_PE = 4
} osn__vvolType_t;
typedef enum osn__capabilityValType {
OSN_CAPABILITY_VAL_TYPE_SET = 0,
OSN_CAPABILITY_VAL_TYPE_RANGE = 1
} osn__capabilityValType_t;
typedef enum osn__providerType { OSN_PROVIDER_TYPE_NONE, OSN_PROVIDER_TYPE_VMWARE_VASA } osn__providerType_t;
typedef enum osn__activeDirSearchStatus {
OSN_CMN_AD_STAT_SUCCESS,
OSN_CMN_AD_STAT_TOO_MANY_HITS,
OSN_CMN_AD_STAT_NOT_FOUND,
} osn__activeDirSearchStatus_t;
typedef enum osn__userAppTokenAccessMode {
OSN_APPTOKEN_DISABLED,
OSN_APPTOKEN_LOCAL_ONLY,
OSN_APPTOKEN_REMOTE_ONLY,
OSN_APPTOKEN_ALL
} osn__userAppTokenAccessMode_t;
typedef enum osn__managerClass {
OSN_MANAGERCLASS_NONE,
OSN_MANAGERCLASS_ALUACONFIG,
OSN_MANAGERCLASS_BLINK,
OSN_MANAGERCLASS_CEPH,
OSN_MANAGERCLASS_DISK,
OSN_MANAGERCLASS_FABRIC,
OSN_MANAGERCLASS_FIREWALL,
OSN_MANAGERCLASS_GLUSTER,
OSN_MANAGERCLASS_GRIDSYNC,
OSN_MANAGERCLASS_HACONNECTIVITY,
OSN_MANAGERCLASS_HAFAILOVER,
OSN_MANAGERCLASS_HARDWARE,
OSN_MANAGERCLASS_HOTSPARE,
OSN_MANAGERCLASS_INFINIBAND,
OSN_MANAGERCLASS_LIBRATO,
OSN_MANAGERCLASS_POOL,
OSN_MANAGERCLASS_REPLICATION,
OSN_MANAGERCLASS_SHARENAMESPACE,
OSN_MANAGERCLASS_SMART,
OSN_MANAGERCLASS_STATS,
OSN_MANAGERCLASS_TARGETPORT,
OSN_MANAGERCLASS_MAX
} osn__managerClass_t;
//
// Common structs
//
struct osn__keyValuePair
{
xsd__string key;
xsd__string value;
xsd__unsignedInt type;
};
class osn__objectProperty
{
xsd__string objectId;
xsd__unsignedInt objectType;
xsd__string key;
xsd__string value;
xsd__unsignedInt type;
};
struct osn__i18nString
{
xsd__string messageId;
xsd__string messageText;
std::list<struct osn__keyValuePair> insertionParams;
};
struct osn__errorMessage
{
xsd__unsignedInt severity;
struct osn__i18nString message;
xsd__unsignedInt errorCode;
xsd__string file;
xsd__unsignedInt line;
xsd__string function;
};
//
// Common objects / base classes
//
class osn__acl
{
public:
xsd__string objectId;
xsd__unsignedInt objectType;
xsd__string ownerId;
xsd__unsignedInt ownerType;
xsd__unsignedInt accessLevel;
xsd__unsignedInt reserved;
};
class osn__resourceHealthCheck
{
public:
xsd__string id;
xsd__string name;
xsd__unsignedInt type;
xsd__unsignedInt state;
std::list<xsd__string> stateDetail;
};
class osn__object
{
public:
xsd__string id;
xsd__string name;
xsd__string customId;
xsd__unsignedInt state;
xsd__string stateDetail;
xsd__unsignedInt type;
xsd__dateTime createdTimeStamp;
xsd__string createdByUserId;
xsd__dateTime modifiedTimeStamp;
xsd__string modifiedByUserId;
xsd__boolean isRemote;
xsd__string storageSystemId;
xsd__unsignedInt ownershipRevision;
std::list<osn__acl> acls;
std::list<osn__objectProperty> properties;
};
class osn__nodeAssoc
{
xsd__string storageSystemId;
xsd__boolean isRemote;
};
class osn__event : public osn__object
{
public:
xsd__unsignedInt index;
xsd__string operation;
xsd__unsignedInt objectType;
xsd__string objectId;
xsd__string parentId;
xsd__string parentId2;
xsd__string category;
xsd__dateTime serviceTimeStamp;
xsd__dateTime timeStamp;
xsd__string eventId;
xsd__string originId;
xsd__boolean isSync;
xsd__boolean isRebroadcast;
std::list<xsd__string> objectIdList;
std::list<xsd__string> objectDataList;
std::list<struct osn__keyValuePair> params;
};
class osn__eventListener
{
public:
xsd__string processorSystemId;
xsd__string broadcasterSystemId;
xsd__string preferredIpAddress;
std::list<xsd__string> ipAddressList;
xsd__unsignedInt listenerType;
xsd__unsignedInt listenerMode;
xsd__string listenerId;
xsd__dateTime serviceTimeStamp;
xsd__dateTime lastRegistrationRequest;
xsd__dateTime lastRegistrationStamp;
xsd__unsignedInt maxEvents;
xsd__unsignedInt state;
std::list<xsd__string> resyncList;
};
class osn__alert : public osn__object
{
public:
xsd__string objectId;
xsd__unsignedInt objectType;
xsd__unsignedInt severity;
xsd__dateTime timeStamp;
xsd__string title;
xsd__string description;
xsd__unsignedInt snmpTrapType;
xsd__string storageSystemName;
};
class osn__alertType : public osn__object
{
public:
xsd__string description;
xsd__unsignedInt objectType;
xsd__dateTime pauseUntilDate;
xsd__unsignedInt snmpTrapType;
xsd__unsignedInt severity;
};
class osn__task : public osn__object
{
public:
xsd__dateTime startTimeStamp;
xsd__dateTime finishTimeStamp;
xsd__unsignedInt progress;
xsd__unsignedInt taskState;
xsd__string description;
xsd__string parentId;
xsd__string operation;
xsd__string objectType;
xsd__string clientIpAddress;
struct osn__i18nString i18nDescription;
struct osn__errorMessage errorMessage;
xsd__unsignedInt retainState;
};
class osn__lock : public osn__object
{
public:
std::string objectId;
unsigned int objectType;
unsigned int lockType;
std::string taskId;
};
class osn__auditEntry : public osn__task
{
public:
// same fields as the task object
// additional properties may be set in osn__object
};
class osn__auditSettings
{
public:
xsd__string id;
xsd__boolean isEnabled;
};
class osn__timeZone
{
public:
xsd__string countryCode;
xsd__string tz;
xsd__string comments;
};