Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Release History

## 1.5.0 (2026-03-17)
## 1.5.0 (2026-04-06)

- Azure Resource Manager Storage Mover client library for Java. This package contains Microsoft Azure SDK for Storage Mover Management SDK. The Azure Storage Mover REST API. Package api-version 2025-12-01. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).

Expand All @@ -18,6 +18,8 @@

* `models.Connection` was added

* `models.SchedulerTime` was added

Comment thread
weidongxu-microsoft marked this conversation as resolved.
* `models.AzureKeyVaultS3WithHmacCredentials` was added

* `models.S3WithHmacEndpointUpdateProperties` was added
Expand Down Expand Up @@ -52,8 +54,8 @@

#### `models.EndpointBaseProperties` was modified

* `withEndpointKind(models.EndpointKind)` was added
* `endpointKind()` was added
* `withEndpointKind(models.EndpointKind)` was added

#### `models.AzureStorageNfsFileShareEndpointProperties` was modified

Expand All @@ -70,6 +72,8 @@
#### `models.JobDefinitionUpdateParameters` was modified

* `dataIntegrityValidation()` was added
* `schedule()` was added
* `withSchedule(models.ScheduleInfo)` was added
* `withDataIntegrityValidation(models.DataIntegrityValidation)` was added
* `connections()` was added
* `withConnections(java.util.List)` was added
Expand All @@ -80,28 +84,29 @@

#### `models.JobDefinition` was modified

* `connections()` was added
* `dataIntegrityValidation()` was added
* `schedule()` was added
* `preservePermissions()` was added
* `schedule()` was added
* `connections()` was added

#### `models.JobDefinition$Update` was modified

* `withDataIntegrityValidation(models.DataIntegrityValidation)` was added
* `withConnections(java.util.List)` was added
* `withSchedule(models.ScheduleInfo)` was added

#### `models.JobRun` was modified

* `warnings()` was added
* `scheduledExecutionTime()` was added
* `triggerType()` was added
* `warnings()` was added

#### `models.JobDefinition$Definition` was modified

* `withDataIntegrityValidation(models.DataIntegrityValidation)` was added
* `withPreservePermissions(java.lang.Boolean)` was added
* `withConnections(java.util.List)` was added
* `withSchedule(models.ScheduleInfo)` was added
* `withPreservePermissions(java.lang.Boolean)` was added

#### `models.EndpointType` was modified

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -796,7 +796,7 @@ import com.azure.resourcemanager.storagemover.models.Frequency;
import com.azure.resourcemanager.storagemover.models.JobType;
import com.azure.resourcemanager.storagemover.models.Minute;
import com.azure.resourcemanager.storagemover.models.ScheduleInfo;
import com.azure.resourcemanager.storagemover.models.Time;
import com.azure.resourcemanager.storagemover.models.SchedulerTime;
import java.time.OffsetDateTime;
import java.util.Arrays;

Expand Down Expand Up @@ -829,7 +829,7 @@ public final class JobDefinitionsCreateOrUpdateSamples {
"/subscriptions/60bcfc77-6589-4da2-b7fd-f9ec9322cf95/resourceGroups/examples-rg/providers/Microsoft.StorageMover/storageMovers/examples-storageMoverName/connections/example-connection"))
.withSchedule(new ScheduleInfo().withFrequency(Frequency.WEEKLY)
.withIsActive(true)
.withExecutionTime(new Time().withHour(9).withMinute(Minute.ZERO))
.withExecutionTime(new SchedulerTime().withHour(9).withMinute(Minute.ZERO))
.withStartDate(OffsetDateTime.parse("2025-12-01T00:00:00Z"))
.withDaysOfWeek(Arrays.asList("Monday", "Wednesday", "Friday"))
.withEndDate(OffsetDateTime.parse("2025-12-31T12:00:00Z")))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import com.azure.json.JsonWriter;
import com.azure.resourcemanager.storagemover.models.CopyMode;
import com.azure.resourcemanager.storagemover.models.DataIntegrityValidation;
import com.azure.resourcemanager.storagemover.models.ScheduleInfo;
import java.io.IOException;
import java.util.List;

Expand Down Expand Up @@ -44,6 +45,11 @@ public final class JobDefinitionUpdateProperties implements JsonSerializable<Job
*/
private DataIntegrityValidation dataIntegrityValidation;

/*
* Schedule information for the Job Definition.
*/
private ScheduleInfo schedule;

/**
* Creates an instance of JobDefinitionUpdateProperties class.
*/
Expand Down Expand Up @@ -150,6 +156,26 @@ public JobDefinitionUpdateProperties withDataIntegrityValidation(DataIntegrityVa
return this;
}

/**
* Get the schedule property: Schedule information for the Job Definition.
*
* @return the schedule value.
*/
public ScheduleInfo schedule() {
return this.schedule;
}

/**
* Set the schedule property: Schedule information for the Job Definition.
*
* @param schedule the schedule value to set.
* @return the JobDefinitionUpdateProperties object itself.
*/
public JobDefinitionUpdateProperties withSchedule(ScheduleInfo schedule) {
this.schedule = schedule;
return this;
}

/**
* {@inheritDoc}
*/
Expand All @@ -162,6 +188,7 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeArrayField("connections", this.connections, (writer, element) -> writer.writeString(element));
jsonWriter.writeStringField("dataIntegrityValidation",
this.dataIntegrityValidation == null ? null : this.dataIntegrityValidation.toString());
jsonWriter.writeJsonField("schedule", this.schedule);
return jsonWriter.writeEndObject();
}

Expand Down Expand Up @@ -193,6 +220,8 @@ public static JobDefinitionUpdateProperties fromJson(JsonReader jsonReader) thro
} else if ("dataIntegrityValidation".equals(fieldName)) {
deserializedJobDefinitionUpdateProperties.dataIntegrityValidation
= DataIntegrityValidation.fromString(reader.getString());
} else if ("schedule".equals(fieldName)) {
deserializedJobDefinitionUpdateProperties.schedule = ScheduleInfo.fromJson(reader);
} else {
reader.skipChildren();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -321,8 +321,13 @@ public JobDefinitionImpl withConnections(List<String> connections) {
}

public JobDefinitionImpl withSchedule(ScheduleInfo schedule) {
this.innerModel().withSchedule(schedule);
return this;
if (isInCreateMode()) {
this.innerModel().withSchedule(schedule);
return this;
} else {
this.updateJobDefinition.withSchedule(schedule);
return this;
}
}

public JobDefinitionImpl withDataIntegrityValidation(DataIntegrityValidation dataIntegrityValidation) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,11 @@ public final class Frequency extends ExpandableStringEnum<Frequency> {
*/
public static final Frequency ONETIME = fromString("Onetime");

/**
* No schedule frequency. The job definition will not run on a schedule.
*/
public static final Frequency NONE = fromString("None");

/**
* Creates a new instance of Frequency value.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -439,7 +439,7 @@ interface WithPreservePermissions {
* The template for JobDefinition update.
*/
interface Update extends UpdateStages.WithDescription, UpdateStages.WithCopyMode, UpdateStages.WithAgentName,
UpdateStages.WithConnections, UpdateStages.WithDataIntegrityValidation {
UpdateStages.WithConnections, UpdateStages.WithDataIntegrityValidation, UpdateStages.WithSchedule {
/**
* Executes the update request.
*
Expand Down Expand Up @@ -524,6 +524,19 @@ interface WithDataIntegrityValidation {
*/
Update withDataIntegrityValidation(DataIntegrityValidation dataIntegrityValidation);
}

/**
* The stage of the JobDefinition update allowing to specify schedule.
*/
interface WithSchedule {
/**
* Specifies the schedule property: Schedule information for the Job Definition..
*
Comment thread
weidongxu-microsoft marked this conversation as resolved.
* @param schedule Schedule information for the Job Definition.
* @return the next definition stage.
*/
Update withSchedule(ScheduleInfo schedule);
}
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,29 @@ public JobDefinitionUpdateParameters withDataIntegrityValidation(DataIntegrityVa
return this;
}

/**
* Get the schedule property: Schedule information for the Job Definition.
*
* @return the schedule value.
*/
public ScheduleInfo schedule() {
return this.innerProperties() == null ? null : this.innerProperties().schedule();
}

/**
* Set the schedule property: Schedule information for the Job Definition.
*
* @param schedule the schedule value to set.
* @return the JobDefinitionUpdateParameters object itself.
*/
public JobDefinitionUpdateParameters withSchedule(ScheduleInfo schedule) {
if (this.innerProperties() == null) {
this.innerProperties = new JobDefinitionUpdateProperties();
}
this.innerProperties().withSchedule(schedule);
return this;
}

/**
* {@inheritDoc}
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,24 +17,29 @@ public final class S3WithHmacSourceType extends ExpandableStringEnum<S3WithHmacS
public static final S3WithHmacSourceType MINIO = fromString("MINIO");

/**
* Static value BACKBLAZE for S3WithHmacSourceType.
* Static value IBM for S3WithHmacSourceType.
*/
public static final S3WithHmacSourceType BACKBLAZE = fromString("BACKBLAZE");
public static final S3WithHmacSourceType IBM = fromString("IBM");

/**
* Static value IBM for S3WithHmacSourceType.
* Static value GCS for S3WithHmacSourceType.
*/
public static final S3WithHmacSourceType IBM = fromString("IBM");
public static final S3WithHmacSourceType GCS = fromString("GCS");

/**
* Static value CLOUDFLARE for S3WithHmacSourceType.
* Static value ALIBABA for S3WithHmacSourceType.
*/
public static final S3WithHmacSourceType CLOUDFLARE = fromString("CLOUDFLARE");
public static final S3WithHmacSourceType ALIBABA = fromString("ALIBABA");

/**
* Static value GCS for S3WithHmacSourceType.
* Static value DELL_EMC for S3WithHmacSourceType.
*/
public static final S3WithHmacSourceType GCS = fromString("GCS");
public static final S3WithHmacSourceType DELL_EMC = fromString("DELL_EMC");

/**
Comment thread
weidongxu-microsoft marked this conversation as resolved.
* Static value OTHER for S3WithHmacSourceType.
*/
public static final S3WithHmacSourceType OTHER = fromString("OTHER");

/**
* Creates a new instance of S3WithHmacSourceType value.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ public final class ScheduleInfo implements JsonSerializable<ScheduleInfo> {
/*
* Whether the schedule is currently active
*/
private boolean isActive;
private Boolean isActive;

/*
* Time of day to execute (hours and minutes)
*/
private Time executionTime;
private SchedulerTime executionTime;

Comment thread
weidongxu-microsoft marked this conversation as resolved.
/*
* Specific one-time execution date and time
Expand Down Expand Up @@ -91,7 +91,7 @@ public ScheduleInfo withFrequency(Frequency frequency) {
*
* @return the isActive value.
*/
public boolean isActive() {
public Boolean isActive() {
return this.isActive;
}

Expand All @@ -101,7 +101,7 @@ public boolean isActive() {
* @param isActive the isActive value to set.
* @return the ScheduleInfo object itself.
*/
public ScheduleInfo withIsActive(boolean isActive) {
public ScheduleInfo withIsActive(Boolean isActive) {
this.isActive = isActive;
return this;
}
Expand All @@ -111,7 +111,7 @@ public ScheduleInfo withIsActive(boolean isActive) {
*
* @return the executionTime value.
*/
public Time executionTime() {
public SchedulerTime executionTime() {
return this.executionTime;
}

Expand All @@ -121,7 +121,7 @@ public Time executionTime() {
* @param executionTime the executionTime value to set.
* @return the ScheduleInfo object itself.
*/
public ScheduleInfo withExecutionTime(Time executionTime) {
public ScheduleInfo withExecutionTime(SchedulerTime executionTime) {
this.executionTime = executionTime;
return this;
}
Expand Down Expand Up @@ -251,7 +251,6 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
* @param jsonReader The JsonReader being read.
* @return An instance of ScheduleInfo if the JsonReader was pointing to an instance of it, or null if it was
* pointing to JSON null.
* @throws IllegalStateException If the deserialized JSON object was missing any required properties.
* @throws IOException If an error occurs while reading the ScheduleInfo.
*/
public static ScheduleInfo fromJson(JsonReader jsonReader) throws IOException {
Expand All @@ -264,9 +263,9 @@ public static ScheduleInfo fromJson(JsonReader jsonReader) throws IOException {
if ("frequency".equals(fieldName)) {
deserializedScheduleInfo.frequency = Frequency.fromString(reader.getString());
} else if ("isActive".equals(fieldName)) {
deserializedScheduleInfo.isActive = reader.getBoolean();
deserializedScheduleInfo.isActive = reader.getNullable(JsonReader::getBoolean);
} else if ("executionTime".equals(fieldName)) {
deserializedScheduleInfo.executionTime = Time.fromJson(reader);
deserializedScheduleInfo.executionTime = SchedulerTime.fromJson(reader);
} else if ("startDate".equals(fieldName)) {
deserializedScheduleInfo.startDate = reader
.getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
Expand Down
Loading