s3_init Subroutine

public subroutine s3_init(config)

Initialize the S3 HTTP module with configuration.

This subroutine must be called before any S3 operations can be performed. It stores the provided configuration for use by all subsequent operations.

@param[in] config S3 configuration containing bucket, endpoint, and credentials

Example

type(s3_config) :: config
config%bucket = 'my-bucket'
config%region = 'us-east-1'
config%use_https = .true.
call s3_init(config)

Arguments

Type IntentOptional Attributes Name
type(s3_config), intent(in) :: config

Source Code

    subroutine s3_init(config)
        type(s3_config), intent(in) :: config
        character(len=256) :: msg

        ! Initialize logger from environment
        call s3_init_logger()

        current_config = config
        initialized = .true.

        call s3_log_info('S3 library initialized')
        write(msg, '(A,A)') 'Bucket: ', trim(config%bucket)
        call s3_log_debug(trim(msg))
        write(msg, '(A,A)') 'Endpoint: ', trim(config%endpoint)
        call s3_log_debug(trim(msg))
        write(msg, '(A,A)') 'Region: ', trim(config%region)
        call s3_log_debug(trim(msg))
        write(msg, '(A,L1)') 'HTTPS: ', config%use_https
        call s3_log_debug(trim(msg))
        write(msg, '(A,L1)') 'Streaming available: ', is_streaming_available()
        call s3_log_info(trim(msg))
    end subroutine s3_init