Please, help us to better serve our user community by answering the following short survey: https://www.hdfgroup.org/website-survey/
HDF5 Last Updated on 2025-07-01
The HDF5 Field Guide
Loading...
Searching...
No Matches
H5FD_ros3_fapl_t Struct Reference

#include <src/H5FDros3.h>

Detailed Description

Configuration structure for H5Pset_fapl_ros3() / H5Pget_fapl_ros3().

H5FD_ros3_fapl_t is a public structure that is used to pass configuration data to the H5FD_ROS3 driver via a File Access Property List. A pointer to an instance of this structure is a parameter to H5Pset_fapl_ros3() and H5Pget_fapl_ros3().

Data Fields

int32_t version
 
hbool_t authenticate
 
char aws_region [32+1]
 
char secret_id [128+1]
 
char secret_key [128+1]
 

Field Documentation

◆ authenticate

hbool_t authenticate

A Boolean which specifies if security credentials from this structure should be used for accessing a S3 bucket.

If true, ALL credentials must come from the FAPL and no attempt will be made to load credentials from other places. In this case, both secret_id and secret_key must be non-empty strings. If only one of secret_id or secret_key are non-empty strings while the other is an empty string, an error will be returned when opening a file. If a session token is to be used in this case, it must be specified with H5Pset_fapl_ros3_token().

If false, the ROS3 VFD will instead attempt to load credentials from several different places, in this order:

  • From the environment, by checking AWS environment variables such as AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN and AWS_ACCOUNT_ID
  • From the AWS profile files, by reading from ~/.aws/config and ~/.aws/credentials, by default. The specific files read from can be overridden with the AWS_CONFIG_FILE and AWS_SHARED_CREDENTIALS_FILE environment variables.
  • From STS, by using AssumeRoleWithWebIdentity
  • From EC2 instance metadata

If the ROS3 VFD cannot source credentials from any of these locations, it will fallback to using anonymous credentials.

◆ aws_region

char aws_region[32+1]

A string which specifies the AWS region of the S3 bucket, e.g. "us-east-1". Specifying an AWS region is always required for the ROS3 VFD, though it does not need to be specified here in the FAPL. The ROS3 VFD looks for the AWS region in the following places, in order:

  • The FAPL, if aws_region is not an empty string
  • The AWS_REGION environment variable
  • The AWS_DEFAULT_REGION environment variable
  • The AWS configuration file (~/.aws/config by default)
    • The 'default' profile from this file is used, unless a different profile is specified with the AWS_PROFILE environment variable

If the ROS3 VFD cannot determine an AWS region from one of these locations, an error will be returned when opening a file.

◆ secret_id

char secret_id[128+1]

A string which specifies the security ID.

◆ secret_key

char secret_key[128+1]

A string which specifies the security key.

◆ version

int32_t version

Version number of the H5FD_ros3_fapl_t structure. Any instance passed to H5Pset_fapl_ros3() / H5Pget_fapl_ros3() must have a recognized version number or an error will be raised. Currently, this field should be set to H5FD_CURR_ROS3_FAPL_T_VERSION.


The documentation for this struct was generated from the following file: