API Documentation

HPE Data Fabric supports public APIs for file system, HPE Data Fabric Database, and HPE Data Fabric Streams. These APIs are available for application-development purposes.

IMPORTANT
Development using HPE Data Fabric non-public (private or internal) APIs is not supported.
Table 1. HPE Data Fabric API Document List with Links
Feature Language Link to Location Description
HPE Data Fabric Streams Administration Java For source Java APIs, see:

See HPE Data Fabric Streams Java Applications for streams and topics information for application development.

HPE Data Fabric Streams Java API for performing administrative tasks on streams and topics, setting values for the attributes of streams, and accessing streams for analytics purposes.

HPE Data Fabric modified Kafka interfaces, classes, and packages used for HPE Data Fabric streams API. This library is a HPE Data Fabric modified version of the open source Kafka library.

HPE Data Fabric Database JSON Client Java HPE Data Fabric Database JSON Client API
NOTE
Beginning with core version 6.0, the HPE Data Fabric Database Table interface in the HPE Data Fabric Database JSON Client API is deprecated and replaced by the DocumentStore interface in the OJAI API library. For details, see the next row.
Java API for administration and management of HPE Data Fabric Database JSON tables.
Java OJAI Client Java Java OJAI Client API OJAI is a general-purpose JSON access layer that sits on databases, file systems, and message streams and enables access to structured, semi-structured and unstructured data using a common API. Used for working with HPE Data Fabric Database JSON.
Java OJAI Thin Client Java Java OJAI Client API Allows you to write OJAI applications in Java to access HPE Data Fabric Database JSON. This is the thin client version of the Java OJAI Client.
OJAI REST API REST Using the HPE Data Fabric Database JSON REST API Provides an alternative to writing a Java OJAI application. Using HTTP calls, you can perform basic operations on HPE Data Fabric Database JSON tables.
Node.js OJAI Client Node.js Node.js OJAI Client API provides the Node.js API documentation. Allows you to write OJAI applications in Node.js to access HPE Data Fabric Database JSON.
Python OJAI Client Python

Python OJAI Client API provides the Python API documentation.

Allows you to write OJAI applications in Python to access HPE Data Fabric Database JSON.
C# OJAI Client C# C# OJAI Client API provides the C# documentation. Allows you to write OJAI applications in C# to access HPE Data Fabric Database JSON.
Go OJAI Client Go Go OJAI Client API Go OJAI Client API provides the Go documentation. Allows you to write OJAI applications in Go to access HPE Data Fabric Database JSON.
HPE Data Fabric Database Binary tables C Creating C Apps - Binary Tables C API library (libMapRClient) for creating and accessing HPE Data Fabric Database binary tables. This library is a HPE Data Fabric Database-specific version of libhbase.
HPE Data Fabric Database JSON MapReduce Java HPE Data Fabric Database Java API library that extends the Apache Hadoop MapReduce framework. Used to create MapReduce applications that write data from one JSON table to another.
File Access Control Expressions Java File ACE APIs APIs to grant different permissions to multiple users, groups, and roles for files, directories, and whole volume data using boolean expressions and subexpressions.
C FileACE C APIs
File System C Accessing the File System with C Applications HPE Data Fabric Database libMapRClient library supports access to the HPE Data Fabric Database filesystem. This library is a HPE Data Fabric Database modified version of libhdfs. Used to manage file system files.
Java Accessing HPE Data Fabric File Store in Java Applications HPE Data Fabric Database's native maprfs library for accessing the HPE Data Fabric Database filesystem.
Extended Attributes Java Extended Attribute Java API APIs to associate additional metadata with a regular file or directory.
HPE Data Fabric Minio APIs for identity access management related functions Java Data Fabric minio identity management related SDK Java APIs related to S3-based/minio IAM account, credentials, user, group, policy, Other Administrative tasks for HPE Data Fabric Minio.
HPE Data Fabric Minio APIs for S3 bucket management Java Data Fabric minio S3 bucket-related SDK Java API for Bucket create with Account option for HPE Data Fabric Minio.
IAM API Fully Supported Not Supported Partially Supported Map-R backed Additional Information
Groups: CRUD
Create Group True False False Yes CreateGroup admin-handlers-groups.go:14 / group-sys.go:28 -> S3AddGroupProc (CLDB S3 server)
Get Group True False False Yes GetGroup group-sys.go:82 GetGroupInfo (cache from MapR-DB group tables)
List Groups True False False Yes ListGroups group-sys.go:133 (MapR-DB; LDAP-gated -> errIAMActionNotAllowed for LDAP accounts)
UpdateGroup True False False Yes UpdateGroup webhandlers-iam.go:1091 -> attach/detach/UpdateUserGroups (CLDB RPC)
DeleteGroup True False False Yes DeleteGroup group-sys.go:156 -> S3RemoveGroupProc (LDAP-gated)
Groups: Inline Policies
PutGroupPolicy True False False Partial PutGroupPolicy admin-handlers-policies.go:69 -> attachGroupPolicyInDB user-policy-sys.go:75 returns errIAMActionNotAllowed on that path (VERIFY)
GetGroupPolicy True False False Yes GetGroupPolicy group-sys.go:82 GetGroupInfo.Policy (from MapR-DB cache)
ListGroupPolicies True False False Yes ListGroupPolicies group-sys.go:82 GetGroupInfo.Policy
DeleteGroupPolicy True False False Yes DeleteGroupPolicy policy-doc-sys.go:374 -> group-sys.go:269 detach (S3BulkPolicyDetach)
Groups: Managed Policies
AttachGroupPolicy True False False Partial AttachGroupPolicy admin-handlers-policies.go:69 -> attachGroupPolicyInDB user-policy-sys.go:75 errIAMActionNotAllowed on that path (VERIFY)
DetachGroupPolicy True False False Yes DetachGroupPolicy policy-doc-sys.go:374 -> S3DetachPolicyProc (CLDB)
ListAttachedGroupPolicies True False False Yes ListAttachedGroupPolicies group-sys.go:82 GetGroupInfo.Policy
Users: CRUD
CreateUser True False False Yes CreateUser admin-handlers-users.go:312 -> user-sys.go:64 -> S3AddUserProc (CLDB S3 server)
GetUser True False False Yes GetUser webhandlers-iam.go:941 -> user-sys.go:87 GetUserInfo (MapR-DB cache)
ListUsers True False False Yes ListUsers user-sys.go:244 (cache from MapR-DB user tables)
UpdateUser True False False Yes UpdateUser webhandlers-iam.go:646 -> S3ModifyUserProc / S3AttachPolicyProc (CLDB)
DeleteUser True False False Yes DeleteUser user-sys.go:282 -> removeUser (CLDB RPC)
Users: Group Membership
AddUserToGroup True False False Yes AddUserToGroup admin-handlers-users.go:204 -> UpdateUserGroups -> S3ModifyUserProc
RemoveUserFromGroup True False False Yes RemoveUserFromGroup admin-handlers-users.go:204 (IsRemove) -> S3ModifyUserProc
ListGroupsForUser True False False Partial ListGroupsForUser: no dedicated reverse-lookup handler; GetUser returns MemberOf groups only
Users: Inline Policies
PutUserPolicy True False False Yes PutUserPolicy admin-handlers-policies.go:69 -> policy-doc-sys.go:310 -> S3AttachPolicyProc
GetUserPolicy True False False Yes GetUserPolicy user-policy-sys.go:22 GetUserPolicyByUid (MapR-DB cache)
ListUserPolicies True False False Yes ListUserPolicies admin-handlers-policies.go:257 / iam.go:779 ListPolicies
DeleteUserPolicy True False False Yes DeleteUserPolicy policy-doc-sys.go:374 -> S3DetachPolicyProc
Users: Managed Policies
AttachUserPolicy True False False Yes AttachUserPolicy admin-handlers-policies.go:69 -> S3AttachPolicyProc
DetachUserPolicy True False False Yes DetachUserPolicy admin-handlers-policies.go:115 -> S3DetachPolicyProc
ListAttachedUserPolicies True False False Yes ListAttachedUserPolicies admin-handlers-policies.go:257
Users: Tags
TagUser False False False Not implemented no TagUser handler (AWS user tagging not exposed)
UntagUser False False False Not implemented no UntagUser handler
ListUserTags False False False Not implemented no ListUserTags handler
Users: Permissions Boundary
PutUserPermissionsBoundary False False False Not implemented no PutUserPermissionsBoundary handler
DeleteUserPermissionsBoundary False False False Not implemented no DeleteUserPermissionsBoundary handler
Roles: CRUD
CreateRole True False False Yes CreateRole maprcli IamRolesCommands.java:122 / IAMManager.roleCreate:88 -> PersistenceManager.createRole:382 (roleinfo-table)
GetRole True False False Yes GetRole IamRolesCommands.java:146 / IAMManager.roleInfo:138 -> getRoleInfo:1278
ListRoles True False False Yes ListRoles IamRolesCommands.java:157 / IAMManager.roleList:154 -> getRoleInfoList:1292
UpdateRole True False False Partial UpdateRole IAMManager.roleModify:114 -> modifyRoleInfo:1206 supports description only
DeleteRole True False False Yes DeleteRole IamRolesCommands.java:169 / IAMManager.roleRemove:178 -> removeRoleEntry:525
UpdateRoleDescription True False False Yes UpdateRoleDescription via roleModify:114 -> modifyRoleInfo:1206 (roleinfo-table)
Roles: Trust Policy
UpdateAssumeRolePolicy False True False Not Implemented UpdateAssumeRolePolicy (trust policy) not implemented in IAMManager
Roles: Inline Policies
PutRolePolicy True False False Not Implemented PutRolePolicy (AWS inline) absent; MapR role model attaches identities, not inline policies (DIFFERS from sheet)
GetRolePolicy True False False Not Implemented GetRolePolicy absent (see PutRolePolicy)
ListRolePolicies True False False Not Implemented ListRolePolicies absent
DeleteRolePolicy True False False Not Implemented DeleteRolePolicy absent
Roles: Managed Policies
AttachRolePolicy True False False Partial AttachRolePolicy: IAMManager.roleAttach:211 attaches role to users/groups (identities), not managed policies (DIFFERS from AWS semantics)
DetachRolePolicy True False False Partial DetachRolePolicy: IAMManager.roleDetach:235 detaches role from identities, not policies
ListAttachedRolePolicies True False False Not Implemented ListAttachedRolePolicies absent
Roles: Permissions Boundary
PutRolePermissionsBoundary False True False Not Implemented PutRolePermissionsBoundary absent
DeleteRolePermissionsBoundary False True False Not Implemented DeleteRolePermissionsBoundary absent
Roles: Tags
TagRole True False False Not Implemented TagRole not found in IAMManager/maprcli (DIFFERS from sheet ,'True')
UntagRole True False False Not Implemented UntagRole not found (DIFFERS from sheet 'True')
ListRoleTags True False False Not Implemented ListRoleTags not found (DIFFERS from sheet 'True')
Managed Policies: CRUD
CreatePolicy True False False Yes CreatePolicy maprcli IdentityPolicyCommands.java:262 / PolicyServer.createIdentityPolicy:700 -> IdentityPolicyOperations:101 (CLDB)
GetPolicy True False False Yes GetPolicy PolicyServer.infoIdentityPolicy -> IdentityPolicyOperations.infoIdentityPolicy:365
ListPolicies True False False Yes ListPolicies PolicyServer.listIdentityPolicy -> listIdentityPolicy:385
DeletePolicy True False False Yes DeletePolicy PolicyServer.deleteIdentityPolicy:752 -> deleteIdentityPolicy:208
Managed Policies: Versions
CreatePolicyVersion True False False Not Implemented CreatePolicyVersion: version int auto-increments on modify but no explicit version API (DIFFERS from sheet)
GetPolicyVersion True False False Not Implemented GetPolicyVersion no RPC proc (DIFFERS from sheet)
ListPolicyVersions True False False Not Implemented ListPolicyVersions no RPC proc (DIFFERS from sheet)
DeletePolicyVersion True False False Not Implemented DeletePolicyVersion no RPC proc (DIFFERS from sheet)
SetDefaultPolicyVersion False False False Not Implemented SetDefaultPolicyVersion no RPC proc
Managed Policies: Relationships
ListEntitiesforPolicy False False False Not Implemented ListEntitiesForPolicy absent; MapR has getIdentityPolicyMappings (policy->identities) as a related op
Managed Policies: Tags
TagPolicy True False False Not Implemented TagPolicy no tagging support (DIFFERS from sheet)
UntagPolicy True False False Not Implemented UntagPolicy no tagging support (DIFFERS from sheet)
ListPolicyTags True False False Not Implemented ListPolicyTags no tagging support (DIFFERS from sheet)
Access Keys: Management
CreateAccessKey False True False Yes CreateAccessKey admin-handlers-creds.go:8 -> accesskey-manager.go:41 -> S3 CreateKey RPC (CLDB). User/account-level, not AWS-IAM semantics
ListAccessKeys False True False Yes ListAccessKeys admin-handlers-creds.go:66 -> accesskey-manager.go:146 (credentials table)
UpdateAccessKey False True False Not Implemented UpdateAccessKey (rotate) absent; only enable/disable via SetAccessKeyStatus
DeleteAccessKey False True False Yes DeleteAccessKey admin-handlers-creds.go:145 -> accesskey-manager.go:257 -> account-sys.go:228
GetAccessKeyLastUsed False True False Partial GetAccessKeyLastUsed: LastUsed only returned via ListAccessKeys; no standalone API
Reporting: Credential Reports
GenerateCredentialReport False True False Not Implemented GenerateCredentialReport absent in MOSS/CLDB
GetCredentialReport False True False Not Implemented GetCredentialReport absent in MOSS/CLDB