From cb190b5c61d835fc30f63735d5d32712fb031488 Mon Sep 17 00:00:00 2001 From: Asha Pillai Date: Tue, 15 Sep 2026 09:54:51 -0600 Subject: [PATCH 1/2] sdk changes for lumos Signed-off-by: Asha Pillai --- ...ModifyDataPathBackendSpectraS3Request.java | 70 +++++++++++++++++++ .../ds3client/models/DataPathBackend.java | 60 ++++++++++++++++ .../ds3client/models/DlmStatus.java | 23 ++++++ .../ds3client/models/LibraryHealthStatus.java | 24 +++++++ .../ds3client/models/TapeDrive.java | 24 +++++++ .../ds3client/models/TapeLibrary.java | 24 +++++++ .../ds3client/models/TapeRole.java | 3 +- 7 files changed, 227 insertions(+), 1 deletion(-) create mode 100644 ds3-sdk/src/main/java/com/spectralogic/ds3client/models/DlmStatus.java create mode 100644 ds3-sdk/src/main/java/com/spectralogic/ds3client/models/LibraryHealthStatus.java diff --git a/ds3-sdk/src/main/java/com/spectralogic/ds3client/commands/spectrads3/ModifyDataPathBackendSpectraS3Request.java b/ds3-sdk/src/main/java/com/spectralogic/ds3client/commands/spectrads3/ModifyDataPathBackendSpectraS3Request.java index 4fecfa487..127312997 100644 --- a/ds3-sdk/src/main/java/com/spectralogic/ds3client/commands/spectrads3/ModifyDataPathBackendSpectraS3Request.java +++ b/ds3-sdk/src/main/java/com/spectralogic/ds3client/commands/spectrads3/ModifyDataPathBackendSpectraS3Request.java @@ -37,6 +37,8 @@ public class ModifyDataPathBackendSpectraS3Request extends AbstractRequest { private AutoInspectMode autoInspect; + private boolean automaticTapeDecommissionEnabled; + private int cacheAvailableRetryAfterInSeconds; private Priority defaultVerifyDataAfterImport; @@ -55,6 +57,14 @@ public class ModifyDataPathBackendSpectraS3Request extends AbstractRequest { private boolean poolSafetyEnabled; + private boolean stopDriveIoWhenImpaired; + + private int tapeDecommissionThreshold; + + private boolean tapeRetireEnabled; + + private int tapeRetireThreshold; + private UnavailableMediaUsagePolicy unavailableMediaPolicy; private int unavailablePoolMaxJobRetryInMins; @@ -105,6 +115,13 @@ public ModifyDataPathBackendSpectraS3Request withAutoInspect(final AutoInspectMo } + public ModifyDataPathBackendSpectraS3Request withAutomaticTapeDecommissionEnabled(final boolean automaticTapeDecommissionEnabled) { + this.automaticTapeDecommissionEnabled = automaticTapeDecommissionEnabled; + this.updateQueryParam("automatic_tape_decommission_enabled", automaticTapeDecommissionEnabled); + return this; + } + + public ModifyDataPathBackendSpectraS3Request withCacheAvailableRetryAfterInSeconds(final int cacheAvailableRetryAfterInSeconds) { this.cacheAvailableRetryAfterInSeconds = cacheAvailableRetryAfterInSeconds; this.updateQueryParam("cache_available_retry_after_in_seconds", cacheAvailableRetryAfterInSeconds); @@ -168,6 +185,34 @@ public ModifyDataPathBackendSpectraS3Request withPoolSafetyEnabled(final boolean } + public ModifyDataPathBackendSpectraS3Request withStopDriveIoWhenImpaired(final boolean stopDriveIoWhenImpaired) { + this.stopDriveIoWhenImpaired = stopDriveIoWhenImpaired; + this.updateQueryParam("stop_drive_io_when_impaired", stopDriveIoWhenImpaired); + return this; + } + + + public ModifyDataPathBackendSpectraS3Request withTapeDecommissionThreshold(final int tapeDecommissionThreshold) { + this.tapeDecommissionThreshold = tapeDecommissionThreshold; + this.updateQueryParam("tape_decommission_threshold", tapeDecommissionThreshold); + return this; + } + + + public ModifyDataPathBackendSpectraS3Request withTapeRetireEnabled(final boolean tapeRetireEnabled) { + this.tapeRetireEnabled = tapeRetireEnabled; + this.updateQueryParam("tape_retire_enabled", tapeRetireEnabled); + return this; + } + + + public ModifyDataPathBackendSpectraS3Request withTapeRetireThreshold(final int tapeRetireThreshold) { + this.tapeRetireThreshold = tapeRetireThreshold; + this.updateQueryParam("tape_retire_threshold", tapeRetireThreshold); + return this; + } + + public ModifyDataPathBackendSpectraS3Request withUnavailableMediaPolicy(final UnavailableMediaUsagePolicy unavailableMediaPolicy) { this.unavailableMediaPolicy = unavailableMediaPolicy; this.updateQueryParam("unavailable_media_policy", unavailableMediaPolicy); @@ -232,6 +277,11 @@ public AutoInspectMode getAutoInspect() { } + public boolean getAutomaticTapeDecommissionEnabled() { + return this.automaticTapeDecommissionEnabled; + } + + public int getCacheAvailableRetryAfterInSeconds() { return this.cacheAvailableRetryAfterInSeconds; } @@ -277,6 +327,26 @@ public boolean getPoolSafetyEnabled() { } + public boolean getStopDriveIoWhenImpaired() { + return this.stopDriveIoWhenImpaired; + } + + + public int getTapeDecommissionThreshold() { + return this.tapeDecommissionThreshold; + } + + + public boolean getTapeRetireEnabled() { + return this.tapeRetireEnabled; + } + + + public int getTapeRetireThreshold() { + return this.tapeRetireThreshold; + } + + public UnavailableMediaUsagePolicy getUnavailableMediaPolicy() { return this.unavailableMediaPolicy; } diff --git a/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/DataPathBackend.java b/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/DataPathBackend.java index bc50ee382..ff11f128a 100644 --- a/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/DataPathBackend.java +++ b/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/DataPathBackend.java @@ -40,6 +40,9 @@ public class DataPathBackend { @JsonProperty("AutoInspect") private AutoInspectMode autoInspect; + @JsonProperty("AutomaticTapeDecommissionEnabled") + private boolean automaticTapeDecommissionEnabled; + @JsonProperty("CacheAvailableRetryAfterInSeconds") private int cacheAvailableRetryAfterInSeconds; @@ -76,6 +79,18 @@ public class DataPathBackend { @JsonProperty("PoolSafetyEnabled") private boolean poolSafetyEnabled; + @JsonProperty("StopDriveIoWhenImpaired") + private boolean stopDriveIoWhenImpaired; + + @JsonProperty("TapeDecommissionThreshold") + private int tapeDecommissionThreshold; + + @JsonProperty("TapeRetireEnabled") + private boolean tapeRetireEnabled; + + @JsonProperty("TapeRetireThreshold") + private int tapeRetireThreshold; + @JsonProperty("UnavailableMediaPolicy") private UnavailableMediaUsagePolicy unavailableMediaPolicy; @@ -140,6 +155,15 @@ public void setAutoInspect(final AutoInspectMode autoInspect) { } + public boolean getAutomaticTapeDecommissionEnabled() { + return this.automaticTapeDecommissionEnabled; + } + + public void setAutomaticTapeDecommissionEnabled(final boolean automaticTapeDecommissionEnabled) { + this.automaticTapeDecommissionEnabled = automaticTapeDecommissionEnabled; + } + + public int getCacheAvailableRetryAfterInSeconds() { return this.cacheAvailableRetryAfterInSeconds; } @@ -248,6 +272,42 @@ public void setPoolSafetyEnabled(final boolean poolSafetyEnabled) { } + public boolean getStopDriveIoWhenImpaired() { + return this.stopDriveIoWhenImpaired; + } + + public void setStopDriveIoWhenImpaired(final boolean stopDriveIoWhenImpaired) { + this.stopDriveIoWhenImpaired = stopDriveIoWhenImpaired; + } + + + public int getTapeDecommissionThreshold() { + return this.tapeDecommissionThreshold; + } + + public void setTapeDecommissionThreshold(final int tapeDecommissionThreshold) { + this.tapeDecommissionThreshold = tapeDecommissionThreshold; + } + + + public boolean getTapeRetireEnabled() { + return this.tapeRetireEnabled; + } + + public void setTapeRetireEnabled(final boolean tapeRetireEnabled) { + this.tapeRetireEnabled = tapeRetireEnabled; + } + + + public int getTapeRetireThreshold() { + return this.tapeRetireThreshold; + } + + public void setTapeRetireThreshold(final int tapeRetireThreshold) { + this.tapeRetireThreshold = tapeRetireThreshold; + } + + public UnavailableMediaUsagePolicy getUnavailableMediaPolicy() { return this.unavailableMediaPolicy; } diff --git a/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/DlmStatus.java b/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/DlmStatus.java new file mode 100644 index 000000000..b8c43e061 --- /dev/null +++ b/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/DlmStatus.java @@ -0,0 +1,23 @@ +/* + * ****************************************************************************** + * Copyright 2014-2019 Spectra Logic Corporation. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify +package com.spectralogic.ds3client.models; + +public enum DlmStatus { + OK, + IMPAIRED, + NO_COMMUNICATION +} diff --git a/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/LibraryHealthStatus.java b/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/LibraryHealthStatus.java new file mode 100644 index 000000000..e4efdfcef --- /dev/null +++ b/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/LibraryHealthStatus.java @@ -0,0 +1,24 @@ +/* + * ****************************************************************************** + * Copyright 2014-2019 Spectra Logic Corporation. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * **************************************************************************** + */ + +// This code is auto-generated, do not modify +package com.spectralogic.ds3client.models; + +public enum LibraryHealthStatus { + READY, + INITIALIZING, + MANUAL_INTERVENTION_REQUIRED, + NO_COMMUNICATION +} diff --git a/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/TapeDrive.java b/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/TapeDrive.java index 539e48dda..ed82eeaa8 100644 --- a/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/TapeDrive.java +++ b/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/TapeDrive.java @@ -31,6 +31,12 @@ public class TapeDrive { @JsonProperty("CleaningRequired") private boolean cleaningRequired; + @JsonProperty("DlmStatus") + private DlmStatus dlmStatus; + + @JsonProperty("DlmStatusMessage") + private String dlmStatusMessage; + @JsonProperty("ErrorMessage") private String errorMessage; @@ -98,6 +104,24 @@ public void setCleaningRequired(final boolean cleaningRequired) { } + public DlmStatus getDlmStatus() { + return this.dlmStatus; + } + + public void setDlmStatus(final DlmStatus dlmStatus) { + this.dlmStatus = dlmStatus; + } + + + public String getDlmStatusMessage() { + return this.dlmStatusMessage; + } + + public void setDlmStatusMessage(final String dlmStatusMessage) { + this.dlmStatusMessage = dlmStatusMessage; + } + + public String getErrorMessage() { return this.errorMessage; } diff --git a/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/TapeLibrary.java b/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/TapeLibrary.java index f1228a635..77162963c 100644 --- a/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/TapeLibrary.java +++ b/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/TapeLibrary.java @@ -27,6 +27,12 @@ public class TapeLibrary { @JsonProperty("Id") private UUID id; + @JsonProperty("LibraryHealthStatus") + private LibraryHealthStatus libraryHealthStatus; + + @JsonProperty("LibraryHealthStatusMessage") + private String libraryHealthStatusMessage; + @JsonProperty("ManagementUrl") private String managementUrl; @@ -52,6 +58,24 @@ public void setId(final UUID id) { } + public LibraryHealthStatus getLibraryHealthStatus() { + return this.libraryHealthStatus; + } + + public void setLibraryHealthStatus(final LibraryHealthStatus libraryHealthStatus) { + this.libraryHealthStatus = libraryHealthStatus; + } + + + public String getLibraryHealthStatusMessage() { + return this.libraryHealthStatusMessage; + } + + public void setLibraryHealthStatusMessage(final String libraryHealthStatusMessage) { + this.libraryHealthStatusMessage = libraryHealthStatusMessage; + } + + public String getManagementUrl() { return this.managementUrl; } diff --git a/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/TapeRole.java b/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/TapeRole.java index 61e09f2f1..0da532ded 100644 --- a/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/TapeRole.java +++ b/ds3-sdk/src/main/java/com/spectralogic/ds3client/models/TapeRole.java @@ -18,5 +18,6 @@ public enum TapeRole { NORMAL, - TEST + TEST, + DECOMMISSIONED } \ No newline at end of file From 63385dfdf2d05d90e9d51ca871177c508960570e Mon Sep 17 00:00:00 2001 From: Asha Pillai Date: Tue, 15 Sep 2026 10:12:03 -0600 Subject: [PATCH 2/2] Adding compute checksum request updates Signed-off-by: Asha Pillai --- .../spectrads3/RawImportTapeSpectraS3Request.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/ds3-sdk/src/main/java/com/spectralogic/ds3client/commands/spectrads3/RawImportTapeSpectraS3Request.java b/ds3-sdk/src/main/java/com/spectralogic/ds3client/commands/spectrads3/RawImportTapeSpectraS3Request.java index 265a76568..680b36a5f 100644 --- a/ds3-sdk/src/main/java/com/spectralogic/ds3client/commands/spectrads3/RawImportTapeSpectraS3Request.java +++ b/ds3-sdk/src/main/java/com/spectralogic/ds3client/commands/spectrads3/RawImportTapeSpectraS3Request.java @@ -29,6 +29,8 @@ public class RawImportTapeSpectraS3Request extends AbstractRequest { private final String bucketId; + private boolean computeChecksums; + private String storageDomainId; private Priority taskPriority; @@ -57,6 +59,13 @@ public RawImportTapeSpectraS3Request(final String bucketId, final String tapeId) } + public RawImportTapeSpectraS3Request withComputeChecksums(final boolean computeChecksums) { + this.computeChecksums = computeChecksums; + this.updateQueryParam("compute_checksums", computeChecksums); + return this; + } + + public RawImportTapeSpectraS3Request withStorageDomainId(final UUID storageDomainId) { this.storageDomainId = storageDomainId.toString(); this.updateQueryParam("storage_domain_id", storageDomainId); @@ -99,6 +108,11 @@ public String getBucketId() { } + public boolean getComputeChecksums() { + return this.computeChecksums; + } + + public String getStorageDomainId() { return this.storageDomainId; }