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.
| 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 |