Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | uri |
function s3_delete_uri(uri) result(success) character(len=*), intent(in) :: uri logical :: success character(len=:), allocatable :: bucket, key type(s3_config) :: temp_config logical :: uri_parsed success = .false. ! Try to parse as s3:// URI call parse_s3_uri(uri, bucket, key, uri_parsed) if (.not. uri_parsed) then ! Not a s3:// URI, treat as regular key success = s3_delete_object(uri) return end if ! Use parsed bucket if different from current config if (allocated(bucket) .and. len_trim(bucket) > 0) then temp_config = current_config temp_config%bucket = bucket call s3_init(temp_config) success = s3_delete_object(key) ! Restore original config call s3_init(current_config) else success = s3_delete_object(key) end if end function s3_delete_uri