ESDM
Middleware for Earth System Data
s3.h
1 #ifndef ESDM_BACKENDS_S3_H
2 #define ESDM_BACKENDS_S3_H
3 
4 #include <esdm-internal.h>
5 #include <backends-data/generic-perf-model/lat-thr.h>
6 
7 #include <libs3.h>
8 
9 /* Example esdm.conf section:
10  "backends": [
11  {
12  "type": "S3",
13  "id": "p1",
14  "target": "./_posix1",
15  "access-key" : "",
16  "secret-key" : "",
17  "host" : "localhost:9000"
18  }
19  */
20 
21 // Internal functions used by this backend.
22 typedef struct {
23  esdm_config_backend_t *config;
24  esdm_perf_model_lat_thp_t perf_model;
25 
26  char const * access_key;
27  char const * secret_key;
28  char const * host;
29  char const * bucket_prefix;
30  char const * locationConstraint;
31  char const * authRegion;
32 
33  int timeout;
34  int s3_compatible;
35  int use_ssl;
36  S3Protocol s3_protocol;
38 
39 int s3_finalize(esdm_backend_t *backend);
40 esdm_backend_t * s3_backend_init(esdm_config_backend_t *config);
41 
42 #endif
Internal ESDM functionality, not to be used by backends and plugins.
Definition: esdm-datatypes-internal.h:197
Definition: esdm-datatypes-internal.h:252
Definition: lat-thr.h:22
Definition: s3.h:22