PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
kcenon::pacs::storage::cloud_storage_config Struct Reference

Configuration for S3-compatible cloud storage. More...

#include <s3_storage.h>

Collaboration diagram for kcenon::pacs::storage::cloud_storage_config:
Collaboration graph

Public Attributes

std::string bucket_name
 S3 bucket name for storing DICOM files.
 
std::string region {"us-east-1"}
 AWS region (e.g., "us-east-1", "eu-west-1")
 
std::string access_key_id
 AWS access key ID for authentication.
 
std::string secret_access_key
 AWS secret access key for authentication.
 
std::optional< std::string > endpoint_url
 Optional custom endpoint URL for MinIO or S3-compatible services If empty, uses the default AWS S3 endpoint.
 
std::size_t multipart_threshold = 100 * 1024 * 1024
 Threshold for multipart upload in bytes (default: 100MB) Files larger than this will use multipart upload.
 
std::size_t part_size = 10 * 1024 * 1024
 Part size for multipart upload in bytes (default: 10MB)
 
std::size_t max_connections = 25
 Maximum number of concurrent upload connections.
 
std::uint32_t connect_timeout_ms = 3000
 Connection timeout in milliseconds.
 
std::uint32_t request_timeout_ms = 30000
 Request timeout in milliseconds.
 
bool enable_encryption = false
 Enable server-side encryption (SSE-S3)
 
std::string storage_class {"STANDARD"}
 Storage class for S3 objects (STANDARD, INTELLIGENT_TIERING, etc.)
 

Detailed Description

Configuration for S3-compatible cloud storage.

Contains all settings needed to connect to an S3-compatible storage service. Supports AWS S3, MinIO, and other S3-compatible services via endpoint_url.

Definition at line 41 of file s3_storage.h.

Member Data Documentation

◆ access_key_id

std::string kcenon::pacs::storage::cloud_storage_config::access_key_id

AWS access key ID for authentication.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/s3_storage.h.

Definition at line 49 of file s3_storage.h.

◆ bucket_name

std::string kcenon::pacs::storage::cloud_storage_config::bucket_name

S3 bucket name for storing DICOM files.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/s3_storage.h.

Definition at line 43 of file s3_storage.h.

Referenced by kcenon::pacs::storage::s3_storage::bucket_name().

◆ connect_timeout_ms

std::uint32_t kcenon::pacs::storage::cloud_storage_config::connect_timeout_ms = 3000

Connection timeout in milliseconds.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/s3_storage.h.

Definition at line 69 of file s3_storage.h.

◆ enable_encryption

bool kcenon::pacs::storage::cloud_storage_config::enable_encryption = false

Enable server-side encryption (SSE-S3)

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/s3_storage.h.

Definition at line 75 of file s3_storage.h.

◆ endpoint_url

std::optional<std::string> kcenon::pacs::storage::cloud_storage_config::endpoint_url

Optional custom endpoint URL for MinIO or S3-compatible services If empty, uses the default AWS S3 endpoint.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/s3_storage.h.

Definition at line 56 of file s3_storage.h.

◆ max_connections

std::size_t kcenon::pacs::storage::cloud_storage_config::max_connections = 25

Maximum number of concurrent upload connections.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/s3_storage.h.

Definition at line 66 of file s3_storage.h.

◆ multipart_threshold

std::size_t kcenon::pacs::storage::cloud_storage_config::multipart_threshold = 100 * 1024 * 1024

Threshold for multipart upload in bytes (default: 100MB) Files larger than this will use multipart upload.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/s3_storage.h.

Definition at line 60 of file s3_storage.h.

◆ part_size

std::size_t kcenon::pacs::storage::cloud_storage_config::part_size = 10 * 1024 * 1024

Part size for multipart upload in bytes (default: 10MB)

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/s3_storage.h.

Definition at line 63 of file s3_storage.h.

◆ region

std::string kcenon::pacs::storage::cloud_storage_config::region {"us-east-1"}

AWS region (e.g., "us-east-1", "eu-west-1")

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/s3_storage.h.

Definition at line 46 of file s3_storage.h.

46{"us-east-1"};

◆ request_timeout_ms

std::uint32_t kcenon::pacs::storage::cloud_storage_config::request_timeout_ms = 30000

Request timeout in milliseconds.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/s3_storage.h.

Definition at line 72 of file s3_storage.h.

◆ secret_access_key

std::string kcenon::pacs::storage::cloud_storage_config::secret_access_key

AWS secret access key for authentication.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/s3_storage.h.

Definition at line 52 of file s3_storage.h.

◆ storage_class

std::string kcenon::pacs::storage::cloud_storage_config::storage_class {"STANDARD"}

Storage class for S3 objects (STANDARD, INTELLIGENT_TIERING, etc.)

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/storage/s3_storage.h.

Definition at line 78 of file s3_storage.h.

78{"STANDARD"};

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