Skip to content

Commit b013ff8

Browse files
author
Sharon Shabtai
authored
Merge pull request #232 from RachelTucker/BP-API-5-3
Generated 5.3.x BP API from contract commit 1996817.
2 parents 7878ca2 + 2fe866b commit b013ff8

File tree

4 files changed

+105
-3
lines changed

4 files changed

+105
-3
lines changed

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ project(libds3)
44
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/modules/")
55

66
set (DS3SDK_VERSION_MAJOR 5)
7-
set (DS3SDK_VERSION_MINOR 2)
8-
set (DS3SDK_VERSION_PATCH 1)
7+
set (DS3SDK_VERSION_MINOR 3)
8+
set (DS3SDK_VERSION_PATCH 0)
99

1010
add_subdirectory(src)

src/ds3.h

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,13 +338,17 @@ typedef enum {
338338
DS3_TAPE_FAILURE_TYPE_DELAYED_OWNERSHIP_FAILURE,
339339
DS3_TAPE_FAILURE_TYPE_DRIVE_CLEAN_FAILED,
340340
DS3_TAPE_FAILURE_TYPE_DRIVE_CLEANED,
341+
DS3_TAPE_FAILURE_TYPE_ENCRYPTION_ERROR,
341342
DS3_TAPE_FAILURE_TYPE_FORMAT_FAILED,
342343
DS3_TAPE_FAILURE_TYPE_GET_TAPE_INFORMATION_FAILED,
344+
DS3_TAPE_FAILURE_TYPE_HARDWARE_ERROR,
343345
DS3_TAPE_FAILURE_TYPE_IMPORT_FAILED,
344346
DS3_TAPE_FAILURE_TYPE_IMPORT_INCOMPLETE,
345347
DS3_TAPE_FAILURE_TYPE_IMPORT_FAILED_DUE_TO_TAKE_OWNERSHIP_FAILURE,
346348
DS3_TAPE_FAILURE_TYPE_IMPORT_FAILED_DUE_TO_DATA_INTEGRITY,
349+
DS3_TAPE_FAILURE_TYPE_INCOMPATIBLE,
347350
DS3_TAPE_FAILURE_TYPE_INSPECT_FAILED,
351+
DS3_TAPE_FAILURE_TYPE_QUIESCING_DRIVE,
348352
DS3_TAPE_FAILURE_TYPE_READ_FAILED,
349353
DS3_TAPE_FAILURE_TYPE_REIMPORT_REQUIRED,
350354
DS3_TAPE_FAILURE_TYPE_SERIAL_NUMBER_MISMATCH,
@@ -436,7 +440,8 @@ typedef enum {
436440
DS3_TARGET_FAILURE_TYPE_WRITE_INITIATE_FAILED,
437441
DS3_TARGET_FAILURE_TYPE_READ_FAILED,
438442
DS3_TARGET_FAILURE_TYPE_READ_INITIATE_FAILED,
439-
DS3_TARGET_FAILURE_TYPE_VERIFY_FAILED
443+
DS3_TARGET_FAILURE_TYPE_VERIFY_FAILED,
444+
DS3_TARGET_FAILURE_TYPE_VERIFY_COMPLETE
440445
}ds3_target_failure_type;
441446
typedef enum {
442447
DS3_TARGET_READ_PREFERENCE_TYPE_MINIMUM_LATENCY,
@@ -593,6 +598,7 @@ typedef enum {
593598
DS3_REST_OPERATION_TYPE_GET_PHYSICAL_PLACEMENT,
594599
DS3_REST_OPERATION_TYPE_IMPORT,
595600
DS3_REST_OPERATION_TYPE_INSPECT,
601+
DS3_REST_OPERATION_TYPE_MARK_FOR_COMPACTION,
596602
DS3_REST_OPERATION_TYPE_ONLINE,
597603
DS3_REST_OPERATION_TYPE_PAIR_BACK,
598604
DS3_REST_OPERATION_TYPE_REGENERATE_SECRET_KEY,
@@ -1251,6 +1257,7 @@ typedef struct {
12511257
ds3_bool force_tape_removal;
12521258
ds3_str* id;
12531259
ds3_str* last_cleaned;
1260+
int max_failed_tapes;
12541261
ds3_str* mfg_serial_number;
12551262
ds3_priority minimum_task_priority;
12561263
ds3_str* partition_id;
@@ -1277,6 +1284,8 @@ typedef struct {
12771284
}ds3_tape_library_response;
12781285
typedef struct {
12791286
ds3_bool auto_compaction_enabled;
1287+
ds3_bool auto_quiesce_enabled;
1288+
int drive_idle_timeout_in_minutes;
12801289
ds3_tape_drive_type drive_type;
12811290
ds3_str* error_message;
12821291
ds3_str* id;
@@ -1528,6 +1537,7 @@ typedef struct {
15281537
ds3_cache_filesystem_response* cache_filesystem;
15291538
ds3_cache_entry_information_response** entries;
15301539
size_t num_entries;
1540+
uint64_t job_locked_cache_in_bytes;
15311541
ds3_str* summary;
15321542
uint64_t total_capacity_in_bytes;
15331543
uint64_t unavailable_capacity_in_bytes;
@@ -1555,6 +1565,8 @@ typedef struct {
15551565
}ds3_delete_object_error_response;
15561566
typedef struct {
15571567
ds3_bool auto_compaction_enabled;
1568+
ds3_bool auto_quiesce_enabled;
1569+
int drive_idle_timeout_in_minutes;
15581570
ds3_tape_drive_type drive_type;
15591571
ds3_tape_drive_type* drive_types;
15601572
size_t num_drive_types;
@@ -1616,6 +1628,8 @@ typedef struct {
16161628
}ds3_health_verification_result_response;
16171629
typedef struct {
16181630
ds3_bool auto_compaction_enabled;
1631+
ds3_bool auto_quiesce_enabled;
1632+
int drive_idle_timeout_in_minutes;
16191633
ds3_tape_drive_type drive_type;
16201634
ds3_tape_drive_type* drive_types;
16211635
size_t num_drive_types;
@@ -2485,6 +2499,7 @@ LIBRARY_API void ds3_request_set_auto_eject_upon_job_cancellation(const ds3_requ
24852499
LIBRARY_API void ds3_request_set_auto_eject_upon_job_completion(const ds3_request* request, ds3_bool value);
24862500
LIBRARY_API void ds3_request_set_auto_eject_upon_media_full(const ds3_request* request, ds3_bool value);
24872501
LIBRARY_API void ds3_request_set_auto_inspect_ds3_auto_inspect_mode(const ds3_request* request, const ds3_auto_inspect_mode value);
2502+
LIBRARY_API void ds3_request_set_auto_quiesce_enabled(const ds3_request* request, ds3_bool value);
24882503
LIBRARY_API void ds3_request_set_auto_reclaim_initiate_threshold(const ds3_request* request, const float value);
24892504
LIBRARY_API void ds3_request_set_auto_reclaim_terminate_threshold(const ds3_request* request, const float value);
24902505
LIBRARY_API void ds3_request_set_auto_verify_frequency_in_days(const ds3_request* request, const int value);
@@ -2521,6 +2536,7 @@ LIBRARY_API void ds3_request_set_default_verify_job_priority_ds3_priority(const
25212536
LIBRARY_API void ds3_request_set_delimiter(const ds3_request* request, const char * const value);
25222537
LIBRARY_API void ds3_request_set_density_ds3_tape_drive_type(const ds3_request* request, const ds3_tape_drive_type value);
25232538
LIBRARY_API void ds3_request_set_dns_name(const ds3_request* request, const char * const value);
2539+
LIBRARY_API void ds3_request_set_drive_idle_timeout_in_minutes(const ds3_request* request, const int value);
25242540
LIBRARY_API void ds3_request_set_ds3_replication_rule_id(const ds3_request* request, const char * const value);
25252541
LIBRARY_API void ds3_request_set_eject_label(const ds3_request* request, const char * const value);
25262542
LIBRARY_API void ds3_request_set_eject_location(const ds3_request* request, const char * const value);
@@ -2559,6 +2575,7 @@ LIBRARY_API void ds3_request_set_marker(const ds3_request* request, const char *
25592575
LIBRARY_API void ds3_request_set_max_blob_part_size_in_bytes(const ds3_request* request, const uint64_t value);
25602576
LIBRARY_API void ds3_request_set_max_buckets(const ds3_request* request, const int value);
25612577
LIBRARY_API void ds3_request_set_max_capacity_in_bytes(const ds3_request* request, const uint64_t value);
2578+
LIBRARY_API void ds3_request_set_max_failed_tapes(const ds3_request* request, const int value);
25622579
LIBRARY_API void ds3_request_set_max_keys(const ds3_request* request, const int value);
25632580
LIBRARY_API void ds3_request_set_max_parts(const ds3_request* request, const int value);
25642581
LIBRARY_API void ds3_request_set_max_tape_fragmentation_percent(const ds3_request* request, const int value);
@@ -4701,11 +4718,14 @@ LIBRARY_API ds3_error* ds3_inspect_all_tapes_spectra_s3_request(const ds3_client
47014718
*/
47024719
LIBRARY_API ds3_request* ds3_init_inspect_tape_spectra_s3_request(const char *const resource_id);
47034720
LIBRARY_API ds3_error* ds3_inspect_tape_spectra_s3_request(const ds3_client* client, const ds3_request* request, ds3_tape_response** response);
4721+
LIBRARY_API ds3_request* ds3_init_mark_tape_for_compaction_spectra_s3_request(const char *const resource_id);
4722+
LIBRARY_API ds3_error* ds3_mark_tape_for_compaction_spectra_s3_request(const ds3_client* client, const ds3_request* request, ds3_tape_response** response);
47044723
LIBRARY_API ds3_request* ds3_init_modify_all_tape_partitions_spectra_s3_request(const ds3_quiesced quiesced);
47054724
LIBRARY_API ds3_error* ds3_modify_all_tape_partitions_spectra_s3_request(const ds3_client* client, const ds3_request* request);
47064725
/**
47074726
* Optional Request Modifiers for ds3_init_modify_tape_drive_spectra_s3_request
47084727
*
4728+
* void ds3_request_set_max_failed_tapes(const ds3_request* request, const int value)
47094729
* void ds3_request_set_minimum_task_priority_ds3_priority(const ds3_request* request, const ds3_priority value)
47104730
* void ds3_request_set_quiesced_ds3_quiesced(const ds3_request* request, const ds3_quiesced value)
47114731
* void ds3_request_set_reserved_task_type_ds3_reserved_task_type(const ds3_request* request, const ds3_reserved_task_type value)
@@ -4716,6 +4736,8 @@ LIBRARY_API ds3_error* ds3_modify_tape_drive_spectra_s3_request(const ds3_client
47164736
* Optional Request Modifiers for ds3_init_modify_tape_partition_spectra_s3_request
47174737
*
47184738
* void ds3_request_set_auto_compaction_enabled(const ds3_request* request, ds3_bool value)
4739+
* void ds3_request_set_auto_quiesce_enabled(const ds3_request* request, ds3_bool value)
4740+
* void ds3_request_set_drive_idle_timeout_in_minutes(const ds3_request* request, const int value)
47194741
* void ds3_request_set_minimum_read_reserved_drives(const ds3_request* request, const int value)
47204742
* void ds3_request_set_minimum_write_reserved_drives(const ds3_request* request, const int value)
47214743
* void ds3_request_set_quiesced_ds3_quiesced(const ds3_request* request, const ds3_quiesced value)

src/ds3_init_requests.c

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -558,10 +558,14 @@ static char* _get_ds3_tape_failure_type_str(ds3_tape_failure_type input) {
558558
return "DRIVE_CLEAN_FAILED";
559559
} else if (input == DS3_TAPE_FAILURE_TYPE_DRIVE_CLEANED) {
560560
return "DRIVE_CLEANED";
561+
} else if (input == DS3_TAPE_FAILURE_TYPE_ENCRYPTION_ERROR) {
562+
return "ENCRYPTION_ERROR";
561563
} else if (input == DS3_TAPE_FAILURE_TYPE_FORMAT_FAILED) {
562564
return "FORMAT_FAILED";
563565
} else if (input == DS3_TAPE_FAILURE_TYPE_GET_TAPE_INFORMATION_FAILED) {
564566
return "GET_TAPE_INFORMATION_FAILED";
567+
} else if (input == DS3_TAPE_FAILURE_TYPE_HARDWARE_ERROR) {
568+
return "HARDWARE_ERROR";
565569
} else if (input == DS3_TAPE_FAILURE_TYPE_IMPORT_FAILED) {
566570
return "IMPORT_FAILED";
567571
} else if (input == DS3_TAPE_FAILURE_TYPE_IMPORT_INCOMPLETE) {
@@ -570,8 +574,12 @@ static char* _get_ds3_tape_failure_type_str(ds3_tape_failure_type input) {
570574
return "IMPORT_FAILED_DUE_TO_TAKE_OWNERSHIP_FAILURE";
571575
} else if (input == DS3_TAPE_FAILURE_TYPE_IMPORT_FAILED_DUE_TO_DATA_INTEGRITY) {
572576
return "IMPORT_FAILED_DUE_TO_DATA_INTEGRITY";
577+
} else if (input == DS3_TAPE_FAILURE_TYPE_INCOMPATIBLE) {
578+
return "INCOMPATIBLE";
573579
} else if (input == DS3_TAPE_FAILURE_TYPE_INSPECT_FAILED) {
574580
return "INSPECT_FAILED";
581+
} else if (input == DS3_TAPE_FAILURE_TYPE_QUIESCING_DRIVE) {
582+
return "QUIESCING_DRIVE";
575583
} else if (input == DS3_TAPE_FAILURE_TYPE_READ_FAILED) {
576584
return "READ_FAILED";
577585
} else if (input == DS3_TAPE_FAILURE_TYPE_REIMPORT_REQUIRED) {
@@ -682,6 +690,8 @@ static char* _get_ds3_target_failure_type_str(ds3_target_failure_type input) {
682690
return "READ_INITIATE_FAILED";
683691
} else if (input == DS3_TARGET_FAILURE_TYPE_VERIFY_FAILED) {
684692
return "VERIFY_FAILED";
693+
} else if (input == DS3_TARGET_FAILURE_TYPE_VERIFY_COMPLETE) {
694+
return "VERIFY_COMPLETE";
685695
} else {
686696
return "";
687697
}
@@ -966,6 +976,10 @@ void ds3_request_set_auto_eject_upon_media_full(const ds3_request* request, ds3_
966976
void ds3_request_set_auto_inspect_ds3_auto_inspect_mode(const ds3_request* request, const ds3_auto_inspect_mode value) {
967977
_set_query_param(request, "auto_inspect", (const char*)_get_ds3_auto_inspect_mode_str(value));
968978

979+
}
980+
void ds3_request_set_auto_quiesce_enabled(const ds3_request* request, ds3_bool value) {
981+
_set_query_param_flag(request, "auto_quiesce_enabled", value);
982+
969983
}
970984
void ds3_request_set_auto_reclaim_initiate_threshold(const ds3_request* request, const float value) {
971985
_set_query_param_float(request, "auto_reclaim_initiate_threshold", value);
@@ -1110,6 +1124,10 @@ void ds3_request_set_density_ds3_tape_drive_type(const ds3_request* request, con
11101124
void ds3_request_set_dns_name(const ds3_request* request, const char * const value) {
11111125
_set_query_param(request, "dns_name", value);
11121126

1127+
}
1128+
void ds3_request_set_drive_idle_timeout_in_minutes(const ds3_request* request, const int value) {
1129+
_set_query_param_int(request, "drive_idle_timeout_in_minutes", value);
1130+
11131131
}
11141132
void ds3_request_set_ds3_replication_rule_id(const ds3_request* request, const char * const value) {
11151133
_set_query_param(request, "ds3_replication_rule_id", value);
@@ -1262,6 +1280,10 @@ void ds3_request_set_max_buckets(const ds3_request* request, const int value) {
12621280
void ds3_request_set_max_capacity_in_bytes(const ds3_request* request, const uint64_t value) {
12631281
_set_query_param_uint64_t(request, "max_capacity_in_bytes", value);
12641282

1283+
}
1284+
void ds3_request_set_max_failed_tapes(const ds3_request* request, const int value) {
1285+
_set_query_param_int(request, "max_failed_tapes", value);
1286+
12651287
}
12661288
void ds3_request_set_max_keys(const ds3_request* request, const int value) {
12671289
_set_query_param_int(request, "max_keys", value);
@@ -3409,6 +3431,12 @@ ds3_request* ds3_init_inspect_tape_spectra_s3_request(const char *const resource
34093431

34103432
return (ds3_request*) request;
34113433
}
3434+
ds3_request* ds3_init_mark_tape_for_compaction_spectra_s3_request(const char *const resource_id) {
3435+
struct _ds3_request* request = _common_request_init(HTTP_PUT, _build_path("/_rest_/tape/", resource_id, NULL));
3436+
_set_query_param((ds3_request*) request, "operation", "MARK_FOR_COMPACTION");
3437+
3438+
return (ds3_request*) request;
3439+
}
34123440
ds3_request* ds3_init_modify_all_tape_partitions_spectra_s3_request(const ds3_quiesced quiesced) {
34133441
struct _ds3_request* request = _common_request_init(HTTP_PUT, _build_path("/_rest_/tape_partition/", NULL, NULL));
34143442
_set_query_param((ds3_request*) request, "quiesced", _get_ds3_quiesced_str(quiesced));

0 commit comments

Comments
 (0)