diff --git a/sdk/databox/azure-resourcemanager-databox/CHANGELOG.md b/sdk/databox/azure-resourcemanager-databox/CHANGELOG.md
index 95f9217c5a82..fbed26a1a1bb 100644
--- a/sdk/databox/azure-resourcemanager-databox/CHANGELOG.md
+++ b/sdk/databox/azure-resourcemanager-databox/CHANGELOG.md
@@ -1,7 +1,8 @@
# Release History
-## 1.0.0-beta.2 (Unreleased)
+## 1.0.0-beta.1 (2021-09-24)
+- Azure Resource Manager DataBox client library for Java. This package contains Microsoft Azure SDK for DataBox Management SDK. Package tag package-2021-08-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
## 1.0.0-beta.1 (2021-04-14)
diff --git a/sdk/databox/azure-resourcemanager-databox/README.md b/sdk/databox/azure-resourcemanager-databox/README.md
index 848c2965820b..c2463d2c65fa 100644
--- a/sdk/databox/azure-resourcemanager-databox/README.md
+++ b/sdk/databox/azure-resourcemanager-databox/README.md
@@ -2,7 +2,7 @@
Azure Resource Manager DataBox client library for Java.
-This package contains Microsoft Azure SDK for DataBox Management SDK. Package tag package-2021-03. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
+This package contains Microsoft Azure SDK for DataBox Management SDK. Package tag package-2021-08-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
## We'd love to hear your feedback
@@ -32,7 +32,7 @@ Various documentation is available to help you get started
com.azure.resourcemanager
azure-resourcemanager-databox
- 1.0.0-beta.1
+ 1.0.0-beta.2
```
[//]: # ({x-version-update-end})
@@ -74,6 +74,8 @@ See [API design][design] for general introduction on design and key concepts on
## Examples
+
+
## Troubleshooting
## Next steps
diff --git a/sdk/databox/azure-resourcemanager-databox/pom.xml b/sdk/databox/azure-resourcemanager-databox/pom.xml
index 91b89bc8dbd1..259bcfd69671 100644
--- a/sdk/databox/azure-resourcemanager-databox/pom.xml
+++ b/sdk/databox/azure-resourcemanager-databox/pom.xml
@@ -1,67 +1,86 @@
- 4.0.0
-
- com.azure
- azure-client-sdk-parent
- 1.7.0
- ../../parents/azure-client-sdk-parent
-
+ 4.0.0
+
+ com.azure
+ azure-client-sdk-parent
+ 1.7.0
+ ../../parents/azure-client-sdk-parent
+
- com.azure.resourcemanager
- azure-resourcemanager-databox
- 1.0.0-beta.2
- jar
+ com.azure.resourcemanager
+ azure-resourcemanager-databox
+ 1.0.0-beta.2
+ jar
- Microsoft Azure SDK for DataBox Management
- This package contains Microsoft Azure SDK for DataBox Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Package tag package-2021-03.
- https://github.com/Azure/azure-sdk-for-java
+ Microsoft Azure SDK for DataBox Management
+ This package contains Microsoft Azure SDK for DataBox Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Package tag package-2021-08-preview.
+ https://github.com/Azure/azure-sdk-for-java
-
-
- The MIT License (MIT)
- http://opensource.org/licenses/MIT
- repo
-
-
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
-
- https://github.com/Azure/azure-sdk-for-java
- scm:git:git@github.com:Azure/azure-sdk-for-java.git
- scm:git:git@github.com:Azure/azure-sdk-for-java.git
- HEAD
-
-
-
- microsoft
- Microsoft
-
-
-
- UTF-8
-
-
-
-
- com.azure
- azure-core
- 1.20.0
-
-
- com.azure
- azure-core-management
- 1.4.1
-
-
-
-
-
- org.jacoco
- jacoco-maven-plugin
- 0.8.5
-
- true
-
-
-
-
+
+ https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+
+ microsoft
+ Microsoft
+
+
+
+ UTF-8
+
+
+
+
+ com.azure
+ azure-core
+ 1.20.0
+
+
+ com.azure
+ azure-core-management
+ 1.4.1
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.5
+
+ true
+
+
+
+ org.revapi
+ revapi-maven-plugin
+ 0.11.2
+
+
+
+ -
+
java.method.addedToInterface
+
+ -
+ true
+
.*
+ com\.azure\.resourcemanager(\.[^.]+)+\.fluent(\.[^.]+)*
+
+
+
+
+
+
+
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/DataBoxManager.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/DataBoxManager.java
index dcc1eadb4a88..2fd7a4cbd3d2 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/DataBoxManager.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/DataBoxManager.java
@@ -9,7 +9,6 @@
import com.azure.core.http.HttpPipeline;
import com.azure.core.http.HttpPipelineBuilder;
import com.azure.core.http.policy.AddDatePolicy;
-import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
import com.azure.core.http.policy.HttpLogOptions;
import com.azure.core.http.policy.HttpLoggingPolicy;
import com.azure.core.http.policy.HttpPipelinePolicy;
@@ -17,6 +16,7 @@
import com.azure.core.http.policy.RequestIdPolicy;
import com.azure.core.http.policy.RetryPolicy;
import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy;
import com.azure.core.management.profile.AzureProfile;
import com.azure.core.util.Configuration;
import com.azure.core.util.logging.ClientLogger;
@@ -89,6 +89,7 @@ public static final class Configurable {
private HttpClient httpClient;
private HttpLogOptions httpLogOptions;
private final List policies = new ArrayList<>();
+ private final List scopes = new ArrayList<>();
private RetryPolicy retryPolicy;
private Duration defaultPollInterval;
@@ -128,6 +129,17 @@ public Configurable withPolicy(HttpPipelinePolicy policy) {
return this;
}
+ /**
+ * Adds the scope to permission sets.
+ *
+ * @param scope the scope.
+ * @return the configurable object itself.
+ */
+ public Configurable withScope(String scope) {
+ this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
+ return this;
+ }
+
/**
* Sets the retry policy to the HTTP pipeline.
*
@@ -184,6 +196,9 @@ public DataBoxManager authenticate(TokenCredential credential, AzureProfile prof
userAgentBuilder.append(" (auto-generated)");
}
+ if (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
if (retryPolicy == null) {
retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
}
@@ -193,10 +208,7 @@ public DataBoxManager authenticate(TokenCredential credential, AzureProfile prof
HttpPolicyProviders.addBeforeRetryPolicies(policies);
policies.add(retryPolicy);
policies.add(new AddDatePolicy());
- policies
- .add(
- new BearerTokenAuthenticationPolicy(
- credential, profile.getEnvironment().getManagementEndpoint() + "/.default"));
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
policies.addAll(this.policies);
HttpPolicyProviders.addAfterRetryPolicies(policies);
policies.add(new HttpLoggingPolicy(httpLogOptions));
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/fluent/JobsClient.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/fluent/JobsClient.java
index c7ea07334dc9..3d137b3f05ca 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/fluent/JobsClient.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/fluent/JobsClient.java
@@ -16,6 +16,7 @@
import com.azure.resourcemanager.databox.fluent.models.UnencryptedCredentialsInner;
import com.azure.resourcemanager.databox.models.CancellationReason;
import com.azure.resourcemanager.databox.models.JobResourceUpdateParameter;
+import com.azure.resourcemanager.databox.models.MarkDevicesShippedRequest;
import com.azure.resourcemanager.databox.models.ShipmentPickUpRequest;
/** An instance of this class provides access to all the operations defined in JobsClient. */
@@ -43,6 +44,38 @@ public interface JobsClient {
@ServiceMethod(returns = ReturnType.COLLECTION)
PagedIterable list(String skipToken, Context context);
+ /**
+ * Request to mark devices for a given job as shipped.
+ *
+ * @param jobName The name of the job Resource within the specified resource group. job names must be between 3 and
+ * 24 characters in length and use any alphanumeric and underscore only.
+ * @param resourceGroupName The Resource Group Name.
+ * @param markDevicesShippedRequest Mark Devices Shipped Request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void markDevicesShipped(
+ String jobName, String resourceGroupName, MarkDevicesShippedRequest markDevicesShippedRequest);
+
+ /**
+ * Request to mark devices for a given job as shipped.
+ *
+ * @param jobName The name of the job Resource within the specified resource group. job names must be between 3 and
+ * 24 characters in length and use any alphanumeric and underscore only.
+ * @param resourceGroupName The Resource Group Name.
+ * @param markDevicesShippedRequest Mark Devices Shipped Request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response markDevicesShippedWithResponse(
+ String jobName, String resourceGroupName, MarkDevicesShippedRequest markDevicesShippedRequest, Context context);
+
/**
* Lists all the jobs available under the given resource group.
*
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/fluent/models/RegionConfigurationResponseInner.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/fluent/models/RegionConfigurationResponseInner.java
index f6142529fe45..57d24300a0e3 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/fluent/models/RegionConfigurationResponseInner.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/fluent/models/RegionConfigurationResponseInner.java
@@ -6,6 +6,7 @@
import com.azure.core.annotation.Immutable;
import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.databox.models.DatacenterAddressResponse;
import com.azure.resourcemanager.databox.models.ScheduleAvailabilityResponse;
import com.azure.resourcemanager.databox.models.TransportAvailabilityResponse;
import com.fasterxml.jackson.annotation.JsonIgnore;
@@ -28,6 +29,12 @@ public final class RegionConfigurationResponseInner {
@JsonProperty(value = "transportAvailabilityResponse", access = JsonProperty.Access.WRITE_ONLY)
private TransportAvailabilityResponse transportAvailabilityResponse;
+ /*
+ * Datacenter address for given sku in a region.
+ */
+ @JsonProperty(value = "datacenterAddressResponse", access = JsonProperty.Access.WRITE_ONLY)
+ private DatacenterAddressResponse datacenterAddressResponse;
+
/**
* Get the scheduleAvailabilityResponse property: Schedule availability for given sku in a region.
*
@@ -46,6 +53,15 @@ public TransportAvailabilityResponse transportAvailabilityResponse() {
return this.transportAvailabilityResponse;
}
+ /**
+ * Get the datacenterAddressResponse property: Datacenter address for given sku in a region.
+ *
+ * @return the datacenterAddressResponse value.
+ */
+ public DatacenterAddressResponse datacenterAddressResponse() {
+ return this.datacenterAddressResponse;
+ }
+
/**
* Validates the instance.
*
@@ -58,5 +74,8 @@ public void validate() {
if (transportAvailabilityResponse() != null) {
transportAvailabilityResponse().validate();
}
+ if (datacenterAddressResponse() != null) {
+ datacenterAddressResponse().validate();
+ }
}
}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/DataBoxManagementClientImpl.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/DataBoxManagementClientImpl.java
index 906b858913c1..0e40ae36cb11 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/DataBoxManagementClientImpl.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/DataBoxManagementClientImpl.java
@@ -183,7 +183,7 @@ public ServicesClient getServices() {
this.defaultPollInterval = defaultPollInterval;
this.subscriptionId = subscriptionId;
this.endpoint = endpoint;
- this.apiVersion = "2021-03-01";
+ this.apiVersion = "2021-08-01-preview";
this.operations = new OperationsClientImpl(this);
this.jobs = new JobsClientImpl(this);
this.resourceProviders = new ResourceProvidersClientImpl(this);
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/JobResourceImpl.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/JobResourceImpl.java
index 0796988c8944..76ef4bcd04a7 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/JobResourceImpl.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/JobResourceImpl.java
@@ -17,6 +17,7 @@
import com.azure.resourcemanager.databox.models.JobDetails;
import com.azure.resourcemanager.databox.models.JobResource;
import com.azure.resourcemanager.databox.models.JobResourceUpdateParameter;
+import com.azure.resourcemanager.databox.models.MarkDevicesShippedRequest;
import com.azure.resourcemanager.databox.models.ResourceIdentity;
import com.azure.resourcemanager.databox.models.ShipmentPickUpRequest;
import com.azure.resourcemanager.databox.models.ShipmentPickUpResponse;
@@ -226,6 +227,17 @@ public JobResource refresh(Context context) {
return this;
}
+ public void markDevicesShipped(MarkDevicesShippedRequest markDevicesShippedRequest) {
+ serviceManager.jobs().markDevicesShipped(jobName, resourceGroupName, markDevicesShippedRequest);
+ }
+
+ public Response markDevicesShippedWithResponse(
+ MarkDevicesShippedRequest markDevicesShippedRequest, Context context) {
+ return serviceManager
+ .jobs()
+ .markDevicesShippedWithResponse(jobName, resourceGroupName, markDevicesShippedRequest, context);
+ }
+
public ShipmentPickUpResponse bookShipmentPickUp(ShipmentPickUpRequest shipmentPickUpRequest) {
return serviceManager.jobs().bookShipmentPickUp(resourceGroupName, jobName, shipmentPickUpRequest);
}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/JobsClientImpl.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/JobsClientImpl.java
index 8fa80fdd8093..8428b7f793a2 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/JobsClientImpl.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/JobsClientImpl.java
@@ -41,6 +41,7 @@
import com.azure.resourcemanager.databox.models.CancellationReason;
import com.azure.resourcemanager.databox.models.JobResourceList;
import com.azure.resourcemanager.databox.models.JobResourceUpdateParameter;
+import com.azure.resourcemanager.databox.models.MarkDevicesShippedRequest;
import com.azure.resourcemanager.databox.models.ShipmentPickUpRequest;
import com.azure.resourcemanager.databox.models.UnencryptedCredentialsList;
import java.nio.ByteBuffer;
@@ -86,6 +87,22 @@ Mono> list(
@HeaderParam("Accept") String accept,
Context context);
+ @Headers({"Content-Type: application/json"})
+ @Post(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs"
+ + "/{jobName}/markDevicesShipped")
+ @ExpectedResponses({204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> markDevicesShipped(
+ @HostParam("$host") String endpoint,
+ @PathParam("jobName") String jobName,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") MarkDevicesShippedRequest markDevicesShippedRequest,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
@Headers({"Content-Type: application/json"})
@Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs")
@ExpectedResponses({200})
@@ -394,6 +411,184 @@ public PagedIterable list(String skipToken, Context context) {
return new PagedIterable<>(listAsync(skipToken, context));
}
+ /**
+ * Request to mark devices for a given job as shipped.
+ *
+ * @param jobName The name of the job Resource within the specified resource group. job names must be between 3 and
+ * 24 characters in length and use any alphanumeric and underscore only.
+ * @param resourceGroupName The Resource Group Name.
+ * @param markDevicesShippedRequest Mark Devices Shipped Request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> markDevicesShippedWithResponseAsync(
+ String jobName, String resourceGroupName, MarkDevicesShippedRequest markDevicesShippedRequest) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (jobName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter jobName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (markDevicesShippedRequest == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter markDevicesShippedRequest is required and cannot be null."));
+ } else {
+ markDevicesShippedRequest.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .markDevicesShipped(
+ this.client.getEndpoint(),
+ jobName,
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ markDevicesShippedRequest,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Request to mark devices for a given job as shipped.
+ *
+ * @param jobName The name of the job Resource within the specified resource group. job names must be between 3 and
+ * 24 characters in length and use any alphanumeric and underscore only.
+ * @param resourceGroupName The Resource Group Name.
+ * @param markDevicesShippedRequest Mark Devices Shipped Request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> markDevicesShippedWithResponseAsync(
+ String jobName,
+ String resourceGroupName,
+ MarkDevicesShippedRequest markDevicesShippedRequest,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (jobName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter jobName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (markDevicesShippedRequest == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter markDevicesShippedRequest is required and cannot be null."));
+ } else {
+ markDevicesShippedRequest.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .markDevicesShipped(
+ this.client.getEndpoint(),
+ jobName,
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ markDevicesShippedRequest,
+ accept,
+ context);
+ }
+
+ /**
+ * Request to mark devices for a given job as shipped.
+ *
+ * @param jobName The name of the job Resource within the specified resource group. job names must be between 3 and
+ * 24 characters in length and use any alphanumeric and underscore only.
+ * @param resourceGroupName The Resource Group Name.
+ * @param markDevicesShippedRequest Mark Devices Shipped Request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono markDevicesShippedAsync(
+ String jobName, String resourceGroupName, MarkDevicesShippedRequest markDevicesShippedRequest) {
+ return markDevicesShippedWithResponseAsync(jobName, resourceGroupName, markDevicesShippedRequest)
+ .flatMap((Response res) -> Mono.empty());
+ }
+
+ /**
+ * Request to mark devices for a given job as shipped.
+ *
+ * @param jobName The name of the job Resource within the specified resource group. job names must be between 3 and
+ * 24 characters in length and use any alphanumeric and underscore only.
+ * @param resourceGroupName The Resource Group Name.
+ * @param markDevicesShippedRequest Mark Devices Shipped Request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void markDevicesShipped(
+ String jobName, String resourceGroupName, MarkDevicesShippedRequest markDevicesShippedRequest) {
+ markDevicesShippedAsync(jobName, resourceGroupName, markDevicesShippedRequest).block();
+ }
+
+ /**
+ * Request to mark devices for a given job as shipped.
+ *
+ * @param jobName The name of the job Resource within the specified resource group. job names must be between 3 and
+ * 24 characters in length and use any alphanumeric and underscore only.
+ * @param resourceGroupName The Resource Group Name.
+ * @param markDevicesShippedRequest Mark Devices Shipped Request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response markDevicesShippedWithResponse(
+ String jobName,
+ String resourceGroupName,
+ MarkDevicesShippedRequest markDevicesShippedRequest,
+ Context context) {
+ return markDevicesShippedWithResponseAsync(jobName, resourceGroupName, markDevicesShippedRequest, context)
+ .block();
+ }
+
/**
* Lists all the jobs available under the given resource group.
*
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/JobsImpl.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/JobsImpl.java
index a1b270e846c8..a3332d9a458f 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/JobsImpl.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/JobsImpl.java
@@ -16,6 +16,7 @@
import com.azure.resourcemanager.databox.models.CancellationReason;
import com.azure.resourcemanager.databox.models.JobResource;
import com.azure.resourcemanager.databox.models.Jobs;
+import com.azure.resourcemanager.databox.models.MarkDevicesShippedRequest;
import com.azure.resourcemanager.databox.models.ShipmentPickUpRequest;
import com.azure.resourcemanager.databox.models.ShipmentPickUpResponse;
import com.azure.resourcemanager.databox.models.UnencryptedCredentials;
@@ -43,6 +44,21 @@ public PagedIterable list(String skipToken, Context context) {
return Utils.mapPage(inner, inner1 -> new JobResourceImpl(inner1, this.manager()));
}
+ public void markDevicesShipped(
+ String jobName, String resourceGroupName, MarkDevicesShippedRequest markDevicesShippedRequest) {
+ this.serviceClient().markDevicesShipped(jobName, resourceGroupName, markDevicesShippedRequest);
+ }
+
+ public Response markDevicesShippedWithResponse(
+ String jobName,
+ String resourceGroupName,
+ MarkDevicesShippedRequest markDevicesShippedRequest,
+ Context context) {
+ return this
+ .serviceClient()
+ .markDevicesShippedWithResponse(jobName, resourceGroupName, markDevicesShippedRequest, context);
+ }
+
public PagedIterable listByResourceGroup(String resourceGroupName) {
PagedIterable inner = this.serviceClient().listByResourceGroup(resourceGroupName);
return Utils.mapPage(inner, inner1 -> new JobResourceImpl(inner1, this.manager()));
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/RegionConfigurationResponseImpl.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/RegionConfigurationResponseImpl.java
index c353222533c1..5b072243eaf9 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/RegionConfigurationResponseImpl.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/implementation/RegionConfigurationResponseImpl.java
@@ -5,6 +5,7 @@
package com.azure.resourcemanager.databox.implementation;
import com.azure.resourcemanager.databox.fluent.models.RegionConfigurationResponseInner;
+import com.azure.resourcemanager.databox.models.DatacenterAddressResponse;
import com.azure.resourcemanager.databox.models.RegionConfigurationResponse;
import com.azure.resourcemanager.databox.models.ScheduleAvailabilityResponse;
import com.azure.resourcemanager.databox.models.TransportAvailabilityResponse;
@@ -28,6 +29,10 @@ public TransportAvailabilityResponse transportAvailabilityResponse() {
return this.innerModel().transportAvailabilityResponse();
}
+ public DatacenterAddressResponse datacenterAddressResponse() {
+ return this.innerModel().datacenterAddressResponse();
+ }
+
public RegionConfigurationResponseInner innerModel() {
return this.innerObject;
}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/ClassDiscriminator.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/ClassDiscriminator.java
index ed8c15ed4f9b..9fb5101aba91 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/ClassDiscriminator.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/ClassDiscriminator.java
@@ -16,7 +16,10 @@ public enum ClassDiscriminator {
DATA_BOX_DISK("DataBoxDisk"),
/** Enum value DataBoxHeavy. */
- DATA_BOX_HEAVY("DataBoxHeavy");
+ DATA_BOX_HEAVY("DataBoxHeavy"),
+
+ /** Enum value DataBoxCustomerDisk. */
+ DATA_BOX_CUSTOMER_DISK("DataBoxCustomerDisk");
/** The actual serialized value for a ClassDiscriminator instance. */
private final String value;
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CopyLogDetails.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CopyLogDetails.java
index a0993099f911..bee70587dd41 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CopyLogDetails.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CopyLogDetails.java
@@ -20,6 +20,7 @@
@JsonTypeName("CopyLogDetails")
@JsonSubTypes({
@JsonSubTypes.Type(name = "DataBox", value = DataBoxAccountCopyLogDetails.class),
+ @JsonSubTypes.Type(name = "DataBoxCustomerDisk", value = DataBoxCustomerDiskCopyLogDetails.class),
@JsonSubTypes.Type(name = "DataBoxDisk", value = DataBoxDiskCopyLogDetails.class),
@JsonSubTypes.Type(name = "DataBoxHeavy", value = DataBoxHeavyAccountCopyLogDetails.class)
})
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CopyProgress.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CopyProgress.java
index 3a2ed7377975..414b32c4e79c 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CopyProgress.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CopyProgress.java
@@ -11,7 +11,7 @@
/** Copy progress. */
@Immutable
-public final class CopyProgress {
+public class CopyProgress {
@JsonIgnore private final ClientLogger logger = new ClientLogger(CopyProgress.class);
/*
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CopyStatus.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CopyStatus.java
index 0cd8c193a3c1..106947799743 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CopyStatus.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CopyStatus.java
@@ -4,71 +4,79 @@
package com.azure.resourcemanager.databox.models;
+import com.azure.core.util.ExpandableStringEnum;
import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonValue;
+import java.util.Collection;
/** Defines values for CopyStatus. */
-public enum CopyStatus {
- /** Enum value NotStarted. */
- NOT_STARTED("NotStarted"),
+public final class CopyStatus extends ExpandableStringEnum {
+ /** Static value NotStarted for CopyStatus. */
+ public static final CopyStatus NOT_STARTED = fromString("NotStarted");
- /** Enum value InProgress. */
- IN_PROGRESS("InProgress"),
+ /** Static value InProgress for CopyStatus. */
+ public static final CopyStatus IN_PROGRESS = fromString("InProgress");
- /** Enum value Completed. */
- COMPLETED("Completed"),
+ /** Static value Completed for CopyStatus. */
+ public static final CopyStatus COMPLETED = fromString("Completed");
- /** Enum value CompletedWithErrors. */
- COMPLETED_WITH_ERRORS("CompletedWithErrors"),
+ /** Static value CompletedWithErrors for CopyStatus. */
+ public static final CopyStatus COMPLETED_WITH_ERRORS = fromString("CompletedWithErrors");
- /** Enum value Failed. */
- FAILED("Failed"),
+ /** Static value Failed for CopyStatus. */
+ public static final CopyStatus FAILED = fromString("Failed");
- /** Enum value NotReturned. */
- NOT_RETURNED("NotReturned"),
+ /** Static value NotReturned for CopyStatus. */
+ public static final CopyStatus NOT_RETURNED = fromString("NotReturned");
- /** Enum value HardwareError. */
- HARDWARE_ERROR("HardwareError"),
+ /** Static value HardwareError for CopyStatus. */
+ public static final CopyStatus HARDWARE_ERROR = fromString("HardwareError");
- /** Enum value DeviceFormatted. */
- DEVICE_FORMATTED("DeviceFormatted"),
+ /** Static value DeviceFormatted for CopyStatus. */
+ public static final CopyStatus DEVICE_FORMATTED = fromString("DeviceFormatted");
- /** Enum value DeviceMetadataModified. */
- DEVICE_METADATA_MODIFIED("DeviceMetadataModified"),
+ /** Static value DeviceMetadataModified for CopyStatus. */
+ public static final CopyStatus DEVICE_METADATA_MODIFIED = fromString("DeviceMetadataModified");
- /** Enum value StorageAccountNotAccessible. */
- STORAGE_ACCOUNT_NOT_ACCESSIBLE("StorageAccountNotAccessible"),
+ /** Static value StorageAccountNotAccessible for CopyStatus. */
+ public static final CopyStatus STORAGE_ACCOUNT_NOT_ACCESSIBLE = fromString("StorageAccountNotAccessible");
- /** Enum value UnsupportedData. */
- UNSUPPORTED_DATA("UnsupportedData");
+ /** Static value UnsupportedData for CopyStatus. */
+ public static final CopyStatus UNSUPPORTED_DATA = fromString("UnsupportedData");
- /** The actual serialized value for a CopyStatus instance. */
- private final String value;
+ /** Static value DriveNotReceived for CopyStatus. */
+ public static final CopyStatus DRIVE_NOT_RECEIVED = fromString("DriveNotReceived");
- CopyStatus(String value) {
- this.value = value;
- }
+ /** Static value UnsupportedDrive for CopyStatus. */
+ public static final CopyStatus UNSUPPORTED_DRIVE = fromString("UnsupportedDrive");
+
+ /** Static value OtherServiceError for CopyStatus. */
+ public static final CopyStatus OTHER_SERVICE_ERROR = fromString("OtherServiceError");
+
+ /** Static value OtherUserError for CopyStatus. */
+ public static final CopyStatus OTHER_USER_ERROR = fromString("OtherUserError");
+
+ /** Static value DriveNotDetected for CopyStatus. */
+ public static final CopyStatus DRIVE_NOT_DETECTED = fromString("DriveNotDetected");
+
+ /** Static value DriveCorrupted for CopyStatus. */
+ public static final CopyStatus DRIVE_CORRUPTED = fromString("DriveCorrupted");
+
+ /** Static value MetadataFilesModifiedOrRemoved for CopyStatus. */
+ public static final CopyStatus METADATA_FILES_MODIFIED_OR_REMOVED = fromString("MetadataFilesModifiedOrRemoved");
/**
- * Parses a serialized value to a CopyStatus instance.
+ * Creates or finds a CopyStatus from its string representation.
*
- * @param value the serialized value to parse.
- * @return the parsed CopyStatus object, or null if unable to parse.
+ * @param name a name to look for.
+ * @return the corresponding CopyStatus.
*/
@JsonCreator
- public static CopyStatus fromString(String value) {
- CopyStatus[] items = CopyStatus.values();
- for (CopyStatus item : items) {
- if (item.toString().equalsIgnoreCase(value)) {
- return item;
- }
- }
- return null;
+ public static CopyStatus fromString(String name) {
+ return fromString(name, CopyStatus.class);
}
- @JsonValue
- @Override
- public String toString() {
- return this.value;
+ /** @return known CopyStatus values. */
+ public static Collection values() {
+ return values(CopyStatus.class);
}
}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CreateJobValidations.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CreateJobValidations.java
index 9f38df9a6765..1ec66277103f 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CreateJobValidations.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CreateJobValidations.java
@@ -4,7 +4,7 @@
package com.azure.resourcemanager.databox.models;
-import com.azure.core.annotation.Immutable;
+import com.azure.core.annotation.Fluent;
import com.azure.core.util.logging.ClientLogger;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
@@ -14,7 +14,7 @@
/** It does all pre-job creation validations. */
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "validationCategory")
@JsonTypeName("JobCreationValidation")
-@Immutable
+@Fluent
public final class CreateJobValidations extends ValidationRequest {
@JsonIgnore private final ClientLogger logger = new ClientLogger(CreateJobValidations.class);
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CustomerDiskJobSecrets.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CustomerDiskJobSecrets.java
new file mode 100644
index 000000000000..e9c63eff85d1
--- /dev/null
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/CustomerDiskJobSecrets.java
@@ -0,0 +1,64 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.databox.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import java.util.List;
+
+/** The secrets related to customer disk job. */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "jobSecretsType")
+@JsonTypeName("DataBoxCustomerDisk")
+@Immutable
+public final class CustomerDiskJobSecrets extends JobSecrets {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(CustomerDiskJobSecrets.class);
+
+ /*
+ * Contains the list of secrets object for that device.
+ */
+ @JsonProperty(value = "diskSecrets", access = JsonProperty.Access.WRITE_ONLY)
+ private List diskSecrets;
+
+ /*
+ * Carrier Account Number of the customer
+ */
+ @JsonProperty(value = "carrierAccountNumber", access = JsonProperty.Access.WRITE_ONLY)
+ private String carrierAccountNumber;
+
+ /**
+ * Get the diskSecrets property: Contains the list of secrets object for that device.
+ *
+ * @return the diskSecrets value.
+ */
+ public List diskSecrets() {
+ return this.diskSecrets;
+ }
+
+ /**
+ * Get the carrierAccountNumber property: Carrier Account Number of the customer.
+ *
+ * @return the carrierAccountNumber value.
+ */
+ public String carrierAccountNumber() {
+ return this.carrierAccountNumber;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (diskSecrets() != null) {
+ diskSecrets().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataBoxCustomerDiskCopyLogDetails.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataBoxCustomerDiskCopyLogDetails.java
new file mode 100644
index 000000000000..d7f95166ed80
--- /dev/null
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataBoxCustomerDiskCopyLogDetails.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.databox.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/** Copy Log Details for customer disk. */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "copyLogDetailsType")
+@JsonTypeName("DataBoxCustomerDisk")
+@Immutable
+public final class DataBoxCustomerDiskCopyLogDetails extends CopyLogDetails {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DataBoxCustomerDiskCopyLogDetails.class);
+
+ /*
+ * Disk Serial Number.
+ */
+ @JsonProperty(value = "serialNumber", access = JsonProperty.Access.WRITE_ONLY)
+ private String serialNumber;
+
+ /*
+ * Link for copy error logs.
+ */
+ @JsonProperty(value = "errorLogLink", access = JsonProperty.Access.WRITE_ONLY)
+ private String errorLogLink;
+
+ /*
+ * Link for copy verbose logs.
+ */
+ @JsonProperty(value = "verboseLogLink", access = JsonProperty.Access.WRITE_ONLY)
+ private String verboseLogLink;
+
+ /**
+ * Get the serialNumber property: Disk Serial Number.
+ *
+ * @return the serialNumber value.
+ */
+ public String serialNumber() {
+ return this.serialNumber;
+ }
+
+ /**
+ * Get the errorLogLink property: Link for copy error logs.
+ *
+ * @return the errorLogLink value.
+ */
+ public String errorLogLink() {
+ return this.errorLogLink;
+ }
+
+ /**
+ * Get the verboseLogLink property: Link for copy verbose logs.
+ *
+ * @return the verboseLogLink value.
+ */
+ public String verboseLogLink() {
+ return this.verboseLogLink;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataBoxCustomerDiskCopyProgress.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataBoxCustomerDiskCopyProgress.java
new file mode 100644
index 000000000000..564e2eee19c8
--- /dev/null
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataBoxCustomerDiskCopyProgress.java
@@ -0,0 +1,56 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.databox.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** DataBox CustomerDisk Copy Progress. */
+@Immutable
+public final class DataBoxCustomerDiskCopyProgress extends CopyProgress {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DataBoxCustomerDiskCopyProgress.class);
+
+ /*
+ * Disk Serial Number.
+ */
+ @JsonProperty(value = "serialNumber", access = JsonProperty.Access.WRITE_ONLY)
+ private String serialNumber;
+
+ /*
+ * The Status of the copy
+ */
+ @JsonProperty(value = "copyStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private CopyStatus copyStatus;
+
+ /**
+ * Get the serialNumber property: Disk Serial Number.
+ *
+ * @return the serialNumber value.
+ */
+ public String serialNumber() {
+ return this.serialNumber;
+ }
+
+ /**
+ * Get the copyStatus property: The Status of the copy.
+ *
+ * @return the copyStatus value.
+ */
+ public CopyStatus copyStatus() {
+ return this.copyStatus;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataBoxCustomerDiskJobDetails.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataBoxCustomerDiskJobDetails.java
new file mode 100644
index 000000000000..c3827277da61
--- /dev/null
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataBoxCustomerDiskJobDetails.java
@@ -0,0 +1,252 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.databox.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import java.util.List;
+import java.util.Map;
+
+/** Customer disk job details. */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "jobDetailsType")
+@JsonTypeName("DataBoxCustomerDisk")
+@Fluent
+public final class DataBoxCustomerDiskJobDetails extends JobDetails {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DataBoxCustomerDiskJobDetails.class);
+
+ /*
+ * Contains the map of disk serial number to the disk details for import
+ * jobs.
+ */
+ @JsonProperty(value = "importDiskDetailsCollection")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map importDiskDetailsCollection;
+
+ /*
+ * Contains the map of disk serial number to the disk details for export
+ * jobs.
+ */
+ @JsonProperty(value = "exportDiskDetailsCollection", access = JsonProperty.Access.WRITE_ONLY)
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map exportDiskDetailsCollection;
+
+ /*
+ * Copy progress per disk.
+ */
+ @JsonProperty(value = "copyProgress", access = JsonProperty.Access.WRITE_ONLY)
+ private List copyProgress;
+
+ /*
+ * Delivery package shipping details.
+ */
+ @JsonProperty(value = "deliverToDcPackageDetails", access = JsonProperty.Access.WRITE_ONLY)
+ private PackageCarrierInfo deliverToDcPackageDetails;
+
+ /*
+ * Return package shipping details.
+ */
+ @JsonProperty(value = "returnToCustomerPackageDetails", required = true)
+ private PackageCarrierDetails returnToCustomerPackageDetails;
+
+ /*
+ * Flag to indicate if disk manifest should be backed-up in the Storage
+ * Account.
+ */
+ @JsonProperty(value = "enableManifestBackup")
+ private Boolean enableManifestBackup;
+
+ /**
+ * Get the importDiskDetailsCollection property: Contains the map of disk serial number to the disk details for
+ * import jobs.
+ *
+ * @return the importDiskDetailsCollection value.
+ */
+ public Map importDiskDetailsCollection() {
+ return this.importDiskDetailsCollection;
+ }
+
+ /**
+ * Set the importDiskDetailsCollection property: Contains the map of disk serial number to the disk details for
+ * import jobs.
+ *
+ * @param importDiskDetailsCollection the importDiskDetailsCollection value to set.
+ * @return the DataBoxCustomerDiskJobDetails object itself.
+ */
+ public DataBoxCustomerDiskJobDetails withImportDiskDetailsCollection(
+ Map importDiskDetailsCollection) {
+ this.importDiskDetailsCollection = importDiskDetailsCollection;
+ return this;
+ }
+
+ /**
+ * Get the exportDiskDetailsCollection property: Contains the map of disk serial number to the disk details for
+ * export jobs.
+ *
+ * @return the exportDiskDetailsCollection value.
+ */
+ public Map exportDiskDetailsCollection() {
+ return this.exportDiskDetailsCollection;
+ }
+
+ /**
+ * Get the copyProgress property: Copy progress per disk.
+ *
+ * @return the copyProgress value.
+ */
+ public List copyProgress() {
+ return this.copyProgress;
+ }
+
+ /**
+ * Get the deliverToDcPackageDetails property: Delivery package shipping details.
+ *
+ * @return the deliverToDcPackageDetails value.
+ */
+ public PackageCarrierInfo deliverToDcPackageDetails() {
+ return this.deliverToDcPackageDetails;
+ }
+
+ /**
+ * Get the returnToCustomerPackageDetails property: Return package shipping details.
+ *
+ * @return the returnToCustomerPackageDetails value.
+ */
+ public PackageCarrierDetails returnToCustomerPackageDetails() {
+ return this.returnToCustomerPackageDetails;
+ }
+
+ /**
+ * Set the returnToCustomerPackageDetails property: Return package shipping details.
+ *
+ * @param returnToCustomerPackageDetails the returnToCustomerPackageDetails value to set.
+ * @return the DataBoxCustomerDiskJobDetails object itself.
+ */
+ public DataBoxCustomerDiskJobDetails withReturnToCustomerPackageDetails(
+ PackageCarrierDetails returnToCustomerPackageDetails) {
+ this.returnToCustomerPackageDetails = returnToCustomerPackageDetails;
+ return this;
+ }
+
+ /**
+ * Get the enableManifestBackup property: Flag to indicate if disk manifest should be backed-up in the Storage
+ * Account.
+ *
+ * @return the enableManifestBackup value.
+ */
+ public Boolean enableManifestBackup() {
+ return this.enableManifestBackup;
+ }
+
+ /**
+ * Set the enableManifestBackup property: Flag to indicate if disk manifest should be backed-up in the Storage
+ * Account.
+ *
+ * @param enableManifestBackup the enableManifestBackup value to set.
+ * @return the DataBoxCustomerDiskJobDetails object itself.
+ */
+ public DataBoxCustomerDiskJobDetails withEnableManifestBackup(Boolean enableManifestBackup) {
+ this.enableManifestBackup = enableManifestBackup;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public DataBoxCustomerDiskJobDetails withContactDetails(ContactDetails contactDetails) {
+ super.withContactDetails(contactDetails);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public DataBoxCustomerDiskJobDetails withShippingAddress(ShippingAddress shippingAddress) {
+ super.withShippingAddress(shippingAddress);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public DataBoxCustomerDiskJobDetails withDataImportDetails(List dataImportDetails) {
+ super.withDataImportDetails(dataImportDetails);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public DataBoxCustomerDiskJobDetails withDataExportDetails(List dataExportDetails) {
+ super.withDataExportDetails(dataExportDetails);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public DataBoxCustomerDiskJobDetails withPreferences(Preferences preferences) {
+ super.withPreferences(preferences);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public DataBoxCustomerDiskJobDetails withKeyEncryptionKey(KeyEncryptionKey keyEncryptionKey) {
+ super.withKeyEncryptionKey(keyEncryptionKey);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public DataBoxCustomerDiskJobDetails withExpectedDataSizeInTeraBytes(Integer expectedDataSizeInTeraBytes) {
+ super.withExpectedDataSizeInTeraBytes(expectedDataSizeInTeraBytes);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (importDiskDetailsCollection() != null) {
+ importDiskDetailsCollection()
+ .values()
+ .forEach(
+ e -> {
+ if (e != null) {
+ e.validate();
+ }
+ });
+ }
+ if (exportDiskDetailsCollection() != null) {
+ exportDiskDetailsCollection()
+ .values()
+ .forEach(
+ e -> {
+ if (e != null) {
+ e.validate();
+ }
+ });
+ }
+ if (copyProgress() != null) {
+ copyProgress().forEach(e -> e.validate());
+ }
+ if (deliverToDcPackageDetails() != null) {
+ deliverToDcPackageDetails().validate();
+ }
+ if (returnToCustomerPackageDetails() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property returnToCustomerPackageDetails in model"
+ + " DataBoxCustomerDiskJobDetails"));
+ } else {
+ returnToCustomerPackageDetails().validate();
+ }
+ }
+}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataBoxDiskJobDetails.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataBoxDiskJobDetails.java
index 1d1cfb6fd582..be660de77991 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataBoxDiskJobDetails.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataBoxDiskJobDetails.java
@@ -7,6 +7,7 @@
import com.azure.core.annotation.Fluent;
import com.azure.core.util.logging.ClientLogger;
import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.JsonTypeName;
@@ -26,6 +27,7 @@ public final class DataBoxDiskJobDetails extends JobDetails {
* size. Key is string but will be checked against an int.
*/
@JsonProperty(value = "preferredDisks")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
private Map preferredDisks;
/*
@@ -39,6 +41,7 @@ public final class DataBoxDiskJobDetails extends JobDetails {
* the job. Is returned only after the disks are shipped to the customer.
*/
@JsonProperty(value = "disksAndSizeDetails", access = JsonProperty.Access.WRITE_ONLY)
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
private Map disksAndSizeDetails;
/*
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataBoxScheduleAvailabilityRequest.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataBoxScheduleAvailabilityRequest.java
index fa4bae81f8ac..a5a3835c35b9 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataBoxScheduleAvailabilityRequest.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataBoxScheduleAvailabilityRequest.java
@@ -4,7 +4,7 @@
package com.azure.resourcemanager.databox.models;
-import com.azure.core.annotation.Immutable;
+import com.azure.core.annotation.Fluent;
import com.azure.core.util.logging.ClientLogger;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
@@ -13,7 +13,7 @@
/** Request body to get the availability for scheduling data box orders orders. */
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "skuName")
@JsonTypeName("DataBox")
-@Immutable
+@Fluent
public final class DataBoxScheduleAvailabilityRequest extends ScheduleAvailabilityRequest {
@JsonIgnore private final ClientLogger logger = new ClientLogger(DataBoxScheduleAvailabilityRequest.class);
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataCenterCode.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataCenterCode.java
new file mode 100644
index 000000000000..7f182ee52a76
--- /dev/null
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataCenterCode.java
@@ -0,0 +1,178 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.databox.models;
+
+import com.azure.core.util.ExpandableStringEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import java.util.Collection;
+
+/** Defines values for DataCenterCode. */
+public final class DataCenterCode extends ExpandableStringEnum {
+ /** Static value Invalid for DataCenterCode. */
+ public static final DataCenterCode INVALID = fromString("Invalid");
+
+ /** Static value BY2 for DataCenterCode. */
+ public static final DataCenterCode BY2 = fromString("BY2");
+
+ /** Static value BY1 for DataCenterCode. */
+ public static final DataCenterCode BY1 = fromString("BY1");
+
+ /** Static value ORK70 for DataCenterCode. */
+ public static final DataCenterCode ORK70 = fromString("ORK70");
+
+ /** Static value AM2 for DataCenterCode. */
+ public static final DataCenterCode AM2 = fromString("AM2");
+
+ /** Static value AMS20 for DataCenterCode. */
+ public static final DataCenterCode AMS20 = fromString("AMS20");
+
+ /** Static value BY21 for DataCenterCode. */
+ public static final DataCenterCode BY21 = fromString("BY21");
+
+ /** Static value BY24 for DataCenterCode. */
+ public static final DataCenterCode BY24 = fromString("BY24");
+
+ /** Static value MWH01 for DataCenterCode. */
+ public static final DataCenterCode MWH01 = fromString("MWH01");
+
+ /** Static value AMS06 for DataCenterCode. */
+ public static final DataCenterCode AMS06 = fromString("AMS06");
+
+ /** Static value SSE90 for DataCenterCode. */
+ public static final DataCenterCode SSE90 = fromString("SSE90");
+
+ /** Static value SYD03 for DataCenterCode. */
+ public static final DataCenterCode SYD03 = fromString("SYD03");
+
+ /** Static value SYD23 for DataCenterCode. */
+ public static final DataCenterCode SYD23 = fromString("SYD23");
+
+ /** Static value CBR20 for DataCenterCode. */
+ public static final DataCenterCode CBR20 = fromString("CBR20");
+
+ /** Static value YTO20 for DataCenterCode. */
+ public static final DataCenterCode YTO20 = fromString("YTO20");
+
+ /** Static value CWL20 for DataCenterCode. */
+ public static final DataCenterCode CWL20 = fromString("CWL20");
+
+ /** Static value LON24 for DataCenterCode. */
+ public static final DataCenterCode LON24 = fromString("LON24");
+
+ /** Static value BOM01 for DataCenterCode. */
+ public static final DataCenterCode BOM01 = fromString("BOM01");
+
+ /** Static value BL20 for DataCenterCode. */
+ public static final DataCenterCode BL20 = fromString("BL20");
+
+ /** Static value BL7 for DataCenterCode. */
+ public static final DataCenterCode BL7 = fromString("BL7");
+
+ /** Static value SEL20 for DataCenterCode. */
+ public static final DataCenterCode SEL20 = fromString("SEL20");
+
+ /** Static value TYO01 for DataCenterCode. */
+ public static final DataCenterCode TYO01 = fromString("TYO01");
+
+ /** Static value BN1 for DataCenterCode. */
+ public static final DataCenterCode BN1 = fromString("BN1");
+
+ /** Static value SN5 for DataCenterCode. */
+ public static final DataCenterCode SN5 = fromString("SN5");
+
+ /** Static value CYS04 for DataCenterCode. */
+ public static final DataCenterCode CYS04 = fromString("CYS04");
+
+ /** Static value TYO22 for DataCenterCode. */
+ public static final DataCenterCode TYO22 = fromString("TYO22");
+
+ /** Static value YTO21 for DataCenterCode. */
+ public static final DataCenterCode YTO21 = fromString("YTO21");
+
+ /** Static value YQB20 for DataCenterCode. */
+ public static final DataCenterCode YQB20 = fromString("YQB20");
+
+ /** Static value FRA22 for DataCenterCode. */
+ public static final DataCenterCode FRA22 = fromString("FRA22");
+
+ /** Static value MAA01 for DataCenterCode. */
+ public static final DataCenterCode MAA01 = fromString("MAA01");
+
+ /** Static value CPQ02 for DataCenterCode. */
+ public static final DataCenterCode CPQ02 = fromString("CPQ02");
+
+ /** Static value CPQ20 for DataCenterCode. */
+ public static final DataCenterCode CPQ20 = fromString("CPQ20");
+
+ /** Static value SIN20 for DataCenterCode. */
+ public static final DataCenterCode SIN20 = fromString("SIN20");
+
+ /** Static value HKG20 for DataCenterCode. */
+ public static final DataCenterCode HKG20 = fromString("HKG20");
+
+ /** Static value SG2 for DataCenterCode. */
+ public static final DataCenterCode SG2 = fromString("SG2");
+
+ /** Static value MEL23 for DataCenterCode. */
+ public static final DataCenterCode MEL23 = fromString("MEL23");
+
+ /** Static value SEL21 for DataCenterCode. */
+ public static final DataCenterCode SEL21 = fromString("SEL21");
+
+ /** Static value OSA20 for DataCenterCode. */
+ public static final DataCenterCode OSA20 = fromString("OSA20");
+
+ /** Static value SHA03 for DataCenterCode. */
+ public static final DataCenterCode SHA03 = fromString("SHA03");
+
+ /** Static value BJB for DataCenterCode. */
+ public static final DataCenterCode BJB = fromString("BJB");
+
+ /** Static value JNB22 for DataCenterCode. */
+ public static final DataCenterCode JNB22 = fromString("JNB22");
+
+ /** Static value JNB21 for DataCenterCode. */
+ public static final DataCenterCode JNB21 = fromString("JNB21");
+
+ /** Static value MNZ21 for DataCenterCode. */
+ public static final DataCenterCode MNZ21 = fromString("MNZ21");
+
+ /** Static value SN8 for DataCenterCode. */
+ public static final DataCenterCode SN8 = fromString("SN8");
+
+ /** Static value AUH20 for DataCenterCode. */
+ public static final DataCenterCode AUH20 = fromString("AUH20");
+
+ /** Static value ZRH20 for DataCenterCode. */
+ public static final DataCenterCode ZRH20 = fromString("ZRH20");
+
+ /** Static value PUS20 for DataCenterCode. */
+ public static final DataCenterCode PUS20 = fromString("PUS20");
+
+ /** Static value AdHoc for DataCenterCode. */
+ public static final DataCenterCode AD_HOC = fromString("AdHoc");
+
+ /** Static value CH1 for DataCenterCode. */
+ public static final DataCenterCode CH1 = fromString("CH1");
+
+ /** Static value DSM05 for DataCenterCode. */
+ public static final DataCenterCode DSM05 = fromString("DSM05");
+
+ /**
+ * Creates or finds a DataCenterCode from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding DataCenterCode.
+ */
+ @JsonCreator
+ public static DataCenterCode fromString(String name) {
+ return fromString(name, DataCenterCode.class);
+ }
+
+ /** @return known DataCenterCode values. */
+ public static Collection values() {
+ return values(DataCenterCode.class);
+ }
+}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataImportDetails.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataImportDetails.java
index f86b61b6df67..d6f9c189234f 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataImportDetails.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DataImportDetails.java
@@ -20,6 +20,12 @@ public final class DataImportDetails {
@JsonProperty(value = "accountDetails", required = true)
private DataAccountDetails accountDetails;
+ /*
+ * Level of the logs to be collected.
+ */
+ @JsonProperty(value = "logCollectionLevel")
+ private LogCollectionLevel logCollectionLevel;
+
/**
* Get the accountDetails property: Account details of the data to be transferred.
*
@@ -40,6 +46,26 @@ public DataImportDetails withAccountDetails(DataAccountDetails accountDetails) {
return this;
}
+ /**
+ * Get the logCollectionLevel property: Level of the logs to be collected.
+ *
+ * @return the logCollectionLevel value.
+ */
+ public LogCollectionLevel logCollectionLevel() {
+ return this.logCollectionLevel;
+ }
+
+ /**
+ * Set the logCollectionLevel property: Level of the logs to be collected.
+ *
+ * @param logCollectionLevel the logCollectionLevel value to set.
+ * @return the DataImportDetails object itself.
+ */
+ public DataImportDetails withLogCollectionLevel(LogCollectionLevel logCollectionLevel) {
+ this.logCollectionLevel = logCollectionLevel;
+ return this;
+ }
+
/**
* Validates the instance.
*
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DatacenterAddressInstructionResponse.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DatacenterAddressInstructionResponse.java
new file mode 100644
index 000000000000..0969792f6352
--- /dev/null
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DatacenterAddressInstructionResponse.java
@@ -0,0 +1,45 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.databox.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/** Datacenter instruction for given storage location. */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "datacenterAddressType")
+@JsonTypeName("DatacenterAddressInstruction")
+@Immutable
+public final class DatacenterAddressInstructionResponse extends DatacenterAddressResponse {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DatacenterAddressInstructionResponse.class);
+
+ /*
+ * Data center communication instruction
+ */
+ @JsonProperty(value = "communicationInstruction", access = JsonProperty.Access.WRITE_ONLY)
+ private String communicationInstruction;
+
+ /**
+ * Get the communicationInstruction property: Data center communication instruction.
+ *
+ * @return the communicationInstruction value.
+ */
+ public String communicationInstruction() {
+ return this.communicationInstruction;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DatacenterAddressLocationResponse.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DatacenterAddressLocationResponse.java
new file mode 100644
index 000000000000..8b448c364616
--- /dev/null
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DatacenterAddressLocationResponse.java
@@ -0,0 +1,225 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.databox.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/** Datacenter address for given storage location. */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "datacenterAddressType")
+@JsonTypeName("DatacenterAddressLocation")
+@Immutable
+public final class DatacenterAddressLocationResponse extends DatacenterAddressResponse {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DatacenterAddressLocationResponse.class);
+
+ /*
+ * Contact person name
+ */
+ @JsonProperty(value = "contactPersonName", access = JsonProperty.Access.WRITE_ONLY)
+ private String contactPersonName;
+
+ /*
+ * Company name
+ */
+ @JsonProperty(value = "company", access = JsonProperty.Access.WRITE_ONLY)
+ private String company;
+
+ /*
+ * Street address line 1
+ */
+ @JsonProperty(value = "street1", access = JsonProperty.Access.WRITE_ONLY)
+ private String street1;
+
+ /*
+ * Street address line 2
+ */
+ @JsonProperty(value = "street2", access = JsonProperty.Access.WRITE_ONLY)
+ private String street2;
+
+ /*
+ * Street address line 3
+ */
+ @JsonProperty(value = "street3", access = JsonProperty.Access.WRITE_ONLY)
+ private String street3;
+
+ /*
+ * City name
+ */
+ @JsonProperty(value = "city", access = JsonProperty.Access.WRITE_ONLY)
+ private String city;
+
+ /*
+ * name of the state
+ */
+ @JsonProperty(value = "state", access = JsonProperty.Access.WRITE_ONLY)
+ private String state;
+
+ /*
+ * Zip code
+ */
+ @JsonProperty(value = "zip", access = JsonProperty.Access.WRITE_ONLY)
+ private String zip;
+
+ /*
+ * name of the country
+ */
+ @JsonProperty(value = "country", access = JsonProperty.Access.WRITE_ONLY)
+ private String country;
+
+ /*
+ * Phone number
+ */
+ @JsonProperty(value = "phone", access = JsonProperty.Access.WRITE_ONLY)
+ private String phone;
+
+ /*
+ * Phone extension
+ */
+ @JsonProperty(value = "phoneExtension", access = JsonProperty.Access.WRITE_ONLY)
+ private String phoneExtension;
+
+ /*
+ * Address type
+ */
+ @JsonProperty(value = "addressType", access = JsonProperty.Access.WRITE_ONLY)
+ private String addressType;
+
+ /*
+ * Special instruction for shipping
+ */
+ @JsonProperty(value = "additionalShippingInformation", access = JsonProperty.Access.WRITE_ONLY)
+ private String additionalShippingInformation;
+
+ /**
+ * Get the contactPersonName property: Contact person name.
+ *
+ * @return the contactPersonName value.
+ */
+ public String contactPersonName() {
+ return this.contactPersonName;
+ }
+
+ /**
+ * Get the company property: Company name.
+ *
+ * @return the company value.
+ */
+ public String company() {
+ return this.company;
+ }
+
+ /**
+ * Get the street1 property: Street address line 1.
+ *
+ * @return the street1 value.
+ */
+ public String street1() {
+ return this.street1;
+ }
+
+ /**
+ * Get the street2 property: Street address line 2.
+ *
+ * @return the street2 value.
+ */
+ public String street2() {
+ return this.street2;
+ }
+
+ /**
+ * Get the street3 property: Street address line 3.
+ *
+ * @return the street3 value.
+ */
+ public String street3() {
+ return this.street3;
+ }
+
+ /**
+ * Get the city property: City name.
+ *
+ * @return the city value.
+ */
+ public String city() {
+ return this.city;
+ }
+
+ /**
+ * Get the state property: name of the state.
+ *
+ * @return the state value.
+ */
+ public String state() {
+ return this.state;
+ }
+
+ /**
+ * Get the zip property: Zip code.
+ *
+ * @return the zip value.
+ */
+ public String zip() {
+ return this.zip;
+ }
+
+ /**
+ * Get the country property: name of the country.
+ *
+ * @return the country value.
+ */
+ public String country() {
+ return this.country;
+ }
+
+ /**
+ * Get the phone property: Phone number.
+ *
+ * @return the phone value.
+ */
+ public String phone() {
+ return this.phone;
+ }
+
+ /**
+ * Get the phoneExtension property: Phone extension.
+ *
+ * @return the phoneExtension value.
+ */
+ public String phoneExtension() {
+ return this.phoneExtension;
+ }
+
+ /**
+ * Get the addressType property: Address type.
+ *
+ * @return the addressType value.
+ */
+ public String addressType() {
+ return this.addressType;
+ }
+
+ /**
+ * Get the additionalShippingInformation property: Special instruction for shipping.
+ *
+ * @return the additionalShippingInformation value.
+ */
+ public String additionalShippingInformation() {
+ return this.additionalShippingInformation;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DatacenterAddressRequest.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DatacenterAddressRequest.java
new file mode 100644
index 000000000000..d08cfb600993
--- /dev/null
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DatacenterAddressRequest.java
@@ -0,0 +1,91 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.databox.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Request body to get the datacenter address. */
+@Fluent
+public final class DatacenterAddressRequest {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DatacenterAddressRequest.class);
+
+ /*
+ * Storage location. For locations check:
+ * https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01
+ */
+ @JsonProperty(value = "storageLocation", required = true)
+ private String storageLocation;
+
+ /*
+ * Sku Name for which the data center address requested.
+ */
+ @JsonProperty(value = "skuName", required = true)
+ private SkuName skuName;
+
+ /**
+ * Get the storageLocation property: Storage location. For locations check:
+ * https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01.
+ *
+ * @return the storageLocation value.
+ */
+ public String storageLocation() {
+ return this.storageLocation;
+ }
+
+ /**
+ * Set the storageLocation property: Storage location. For locations check:
+ * https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01.
+ *
+ * @param storageLocation the storageLocation value to set.
+ * @return the DatacenterAddressRequest object itself.
+ */
+ public DatacenterAddressRequest withStorageLocation(String storageLocation) {
+ this.storageLocation = storageLocation;
+ return this;
+ }
+
+ /**
+ * Get the skuName property: Sku Name for which the data center address requested.
+ *
+ * @return the skuName value.
+ */
+ public SkuName skuName() {
+ return this.skuName;
+ }
+
+ /**
+ * Set the skuName property: Sku Name for which the data center address requested.
+ *
+ * @param skuName the skuName value to set.
+ * @return the DatacenterAddressRequest object itself.
+ */
+ public DatacenterAddressRequest withSkuName(SkuName skuName) {
+ this.skuName = skuName;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (storageLocation() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property storageLocation in model DatacenterAddressRequest"));
+ }
+ if (skuName() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property skuName in model DatacenterAddressRequest"));
+ }
+ }
+}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DatacenterAddressResponse.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DatacenterAddressResponse.java
new file mode 100644
index 000000000000..77d157efdbf1
--- /dev/null
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DatacenterAddressResponse.java
@@ -0,0 +1,68 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.databox.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import java.util.List;
+
+/** Datacenter address for given storage location. */
+@JsonTypeInfo(
+ use = JsonTypeInfo.Id.NAME,
+ include = JsonTypeInfo.As.PROPERTY,
+ property = "datacenterAddressType",
+ defaultImpl = DatacenterAddressResponse.class)
+@JsonTypeName("DatacenterAddressResponse")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "DatacenterAddressInstruction", value = DatacenterAddressInstructionResponse.class),
+ @JsonSubTypes.Type(name = "DatacenterAddressLocation", value = DatacenterAddressLocationResponse.class)
+})
+@Immutable
+public class DatacenterAddressResponse {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DatacenterAddressResponse.class);
+
+ /*
+ * List of supported carriers for return shipment.
+ */
+ @JsonProperty(value = "supportedCarriersForReturnShipment", access = JsonProperty.Access.WRITE_ONLY)
+ private List supportedCarriersForReturnShipment;
+
+ /*
+ * Azure Location where the Data Center serves primarily.
+ */
+ @JsonProperty(value = "dataCenterAzureLocation", access = JsonProperty.Access.WRITE_ONLY)
+ private String dataCenterAzureLocation;
+
+ /**
+ * Get the supportedCarriersForReturnShipment property: List of supported carriers for return shipment.
+ *
+ * @return the supportedCarriersForReturnShipment value.
+ */
+ public List supportedCarriersForReturnShipment() {
+ return this.supportedCarriersForReturnShipment;
+ }
+
+ /**
+ * Get the dataCenterAzureLocation property: Azure Location where the Data Center serves primarily.
+ *
+ * @return the dataCenterAzureLocation value.
+ */
+ public String dataCenterAzureLocation() {
+ return this.dataCenterAzureLocation;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DatacenterAddressType.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DatacenterAddressType.java
new file mode 100644
index 000000000000..6301a535988c
--- /dev/null
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/DatacenterAddressType.java
@@ -0,0 +1,47 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.databox.models;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/** Defines values for DatacenterAddressType. */
+public enum DatacenterAddressType {
+ /** Enum value DatacenterAddressLocation. */
+ DATACENTER_ADDRESS_LOCATION("DatacenterAddressLocation"),
+
+ /** Enum value DatacenterAddressInstruction. */
+ DATACENTER_ADDRESS_INSTRUCTION("DatacenterAddressInstruction");
+
+ /** The actual serialized value for a DatacenterAddressType instance. */
+ private final String value;
+
+ DatacenterAddressType(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a DatacenterAddressType instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed DatacenterAddressType object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static DatacenterAddressType fromString(String value) {
+ DatacenterAddressType[] items = DatacenterAddressType.values();
+ for (DatacenterAddressType item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/ExportDiskDetails.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/ExportDiskDetails.java
new file mode 100644
index 000000000000..02e8f97fad79
--- /dev/null
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/ExportDiskDetails.java
@@ -0,0 +1,71 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.databox.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Export disk details. */
+@Immutable
+public final class ExportDiskDetails {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ExportDiskDetails.class);
+
+ /*
+ * The relative path of the manifest file on the disk.
+ */
+ @JsonProperty(value = "manifestFile", access = JsonProperty.Access.WRITE_ONLY)
+ private String manifestFile;
+
+ /*
+ * The Base16-encoded MD5 hash of the manifest file on the disk.
+ */
+ @JsonProperty(value = "manifestHash", access = JsonProperty.Access.WRITE_ONLY)
+ private String manifestHash;
+
+ /*
+ * Path to backed up manifest, only returned if enableManifestBackup is
+ * true.
+ */
+ @JsonProperty(value = "backupManifestCloudPath", access = JsonProperty.Access.WRITE_ONLY)
+ private String backupManifestCloudPath;
+
+ /**
+ * Get the manifestFile property: The relative path of the manifest file on the disk.
+ *
+ * @return the manifestFile value.
+ */
+ public String manifestFile() {
+ return this.manifestFile;
+ }
+
+ /**
+ * Get the manifestHash property: The Base16-encoded MD5 hash of the manifest file on the disk.
+ *
+ * @return the manifestHash value.
+ */
+ public String manifestHash() {
+ return this.manifestHash;
+ }
+
+ /**
+ * Get the backupManifestCloudPath property: Path to backed up manifest, only returned if enableManifestBackup is
+ * true.
+ *
+ * @return the backupManifestCloudPath value.
+ */
+ public String backupManifestCloudPath() {
+ return this.backupManifestCloudPath;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/HeavyScheduleAvailabilityRequest.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/HeavyScheduleAvailabilityRequest.java
index 18a1a3222c30..c4eae1fadd45 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/HeavyScheduleAvailabilityRequest.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/HeavyScheduleAvailabilityRequest.java
@@ -4,7 +4,7 @@
package com.azure.resourcemanager.databox.models;
-import com.azure.core.annotation.Immutable;
+import com.azure.core.annotation.Fluent;
import com.azure.core.util.logging.ClientLogger;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
@@ -13,7 +13,7 @@
/** Request body to get the availability for scheduling heavy orders. */
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "skuName")
@JsonTypeName("DataBoxHeavy")
-@Immutable
+@Fluent
public final class HeavyScheduleAvailabilityRequest extends ScheduleAvailabilityRequest {
@JsonIgnore private final ClientLogger logger = new ClientLogger(HeavyScheduleAvailabilityRequest.class);
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/ImportDiskDetails.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/ImportDiskDetails.java
new file mode 100644
index 000000000000..165ac6c6a9c7
--- /dev/null
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/ImportDiskDetails.java
@@ -0,0 +1,134 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.databox.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Import disk details. */
+@Fluent
+public final class ImportDiskDetails {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ImportDiskDetails.class);
+
+ /*
+ * The relative path of the manifest file on the disk.
+ */
+ @JsonProperty(value = "manifestFile", required = true)
+ private String manifestFile;
+
+ /*
+ * The Base16-encoded MD5 hash of the manifest file on the disk.
+ */
+ @JsonProperty(value = "manifestHash", required = true)
+ private String manifestHash;
+
+ /*
+ * BitLocker key used to encrypt the disk.
+ */
+ @JsonProperty(value = "bitLockerKey", required = true)
+ private String bitLockerKey;
+
+ /*
+ * Path to backed up manifest, only returned if enableManifestBackup is
+ * true.
+ */
+ @JsonProperty(value = "backupManifestCloudPath", access = JsonProperty.Access.WRITE_ONLY)
+ private String backupManifestCloudPath;
+
+ /**
+ * Get the manifestFile property: The relative path of the manifest file on the disk.
+ *
+ * @return the manifestFile value.
+ */
+ public String manifestFile() {
+ return this.manifestFile;
+ }
+
+ /**
+ * Set the manifestFile property: The relative path of the manifest file on the disk.
+ *
+ * @param manifestFile the manifestFile value to set.
+ * @return the ImportDiskDetails object itself.
+ */
+ public ImportDiskDetails withManifestFile(String manifestFile) {
+ this.manifestFile = manifestFile;
+ return this;
+ }
+
+ /**
+ * Get the manifestHash property: The Base16-encoded MD5 hash of the manifest file on the disk.
+ *
+ * @return the manifestHash value.
+ */
+ public String manifestHash() {
+ return this.manifestHash;
+ }
+
+ /**
+ * Set the manifestHash property: The Base16-encoded MD5 hash of the manifest file on the disk.
+ *
+ * @param manifestHash the manifestHash value to set.
+ * @return the ImportDiskDetails object itself.
+ */
+ public ImportDiskDetails withManifestHash(String manifestHash) {
+ this.manifestHash = manifestHash;
+ return this;
+ }
+
+ /**
+ * Get the bitLockerKey property: BitLocker key used to encrypt the disk.
+ *
+ * @return the bitLockerKey value.
+ */
+ public String bitLockerKey() {
+ return this.bitLockerKey;
+ }
+
+ /**
+ * Set the bitLockerKey property: BitLocker key used to encrypt the disk.
+ *
+ * @param bitLockerKey the bitLockerKey value to set.
+ * @return the ImportDiskDetails object itself.
+ */
+ public ImportDiskDetails withBitLockerKey(String bitLockerKey) {
+ this.bitLockerKey = bitLockerKey;
+ return this;
+ }
+
+ /**
+ * Get the backupManifestCloudPath property: Path to backed up manifest, only returned if enableManifestBackup is
+ * true.
+ *
+ * @return the backupManifestCloudPath value.
+ */
+ public String backupManifestCloudPath() {
+ return this.backupManifestCloudPath;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (manifestFile() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property manifestFile in model ImportDiskDetails"));
+ }
+ if (manifestHash() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property manifestHash in model ImportDiskDetails"));
+ }
+ if (bitLockerKey() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property bitLockerKey in model ImportDiskDetails"));
+ }
+ }
+}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/JobDetails.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/JobDetails.java
index ffd7b72d547e..e241a8be9101 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/JobDetails.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/JobDetails.java
@@ -21,6 +21,7 @@
defaultImpl = JobDetails.class)
@JsonTypeName("JobDetails")
@JsonSubTypes({
+ @JsonSubTypes.Type(name = "DataBoxCustomerDisk", value = DataBoxCustomerDiskJobDetails.class),
@JsonSubTypes.Type(name = "DataBoxDisk", value = DataBoxDiskJobDetails.class),
@JsonSubTypes.Type(name = "DataBoxHeavy", value = DataBoxHeavyJobDetails.class),
@JsonSubTypes.Type(name = "DataBox", value = DataBoxJobDetails.class)
@@ -120,6 +121,18 @@ public class JobDetails {
@JsonProperty(value = "lastMitigationActionOnJob", access = JsonProperty.Access.WRITE_ONLY)
private LastMitigationActionOnJob lastMitigationActionOnJob;
+ /*
+ * Datacenter address to ship to, for the given sku and storage location.
+ */
+ @JsonProperty(value = "datacenterAddress", access = JsonProperty.Access.WRITE_ONLY)
+ private DatacenterAddressResponse datacenterAddress;
+
+ /*
+ * DataCenter code.
+ */
+ @JsonProperty(value = "dataCenterCode", access = JsonProperty.Access.WRITE_ONLY)
+ private DataCenterCode dataCenterCode;
+
/**
* Get the jobStages property: List of stages that run in the job.
*
@@ -334,6 +347,24 @@ public LastMitigationActionOnJob lastMitigationActionOnJob() {
return this.lastMitigationActionOnJob;
}
+ /**
+ * Get the datacenterAddress property: Datacenter address to ship to, for the given sku and storage location.
+ *
+ * @return the datacenterAddress value.
+ */
+ public DatacenterAddressResponse datacenterAddress() {
+ return this.datacenterAddress;
+ }
+
+ /**
+ * Get the dataCenterCode property: DataCenter code.
+ *
+ * @return the dataCenterCode value.
+ */
+ public DataCenterCode dataCenterCode() {
+ return this.dataCenterCode;
+ }
+
/**
* Validates the instance.
*
@@ -377,5 +408,8 @@ public void validate() {
if (lastMitigationActionOnJob() != null) {
lastMitigationActionOnJob().validate();
}
+ if (datacenterAddress() != null) {
+ datacenterAddress().validate();
+ }
}
}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/JobResource.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/JobResource.java
index a4909f3bbcce..2da50ec6e393 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/JobResource.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/JobResource.java
@@ -409,6 +409,28 @@ interface WithIfMatch {
*/
JobResource refresh(Context context);
+ /**
+ * Request to mark devices for a given job as shipped.
+ *
+ * @param markDevicesShippedRequest Mark Devices Shipped Request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ void markDevicesShipped(MarkDevicesShippedRequest markDevicesShippedRequest);
+
+ /**
+ * Request to mark devices for a given job as shipped.
+ *
+ * @param markDevicesShippedRequest Mark Devices Shipped Request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ Response markDevicesShippedWithResponse(MarkDevicesShippedRequest markDevicesShippedRequest, Context context);
+
/**
* Book shipment pick up.
*
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/JobResourceUpdateParameter.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/JobResourceUpdateParameter.java
index 15b225e52f56..77e9ead07ddc 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/JobResourceUpdateParameter.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/JobResourceUpdateParameter.java
@@ -8,6 +8,7 @@
import com.azure.core.annotation.JsonFlatten;
import com.azure.core.util.logging.ClientLogger;
import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.Map;
@@ -22,6 +23,7 @@ public class JobResourceUpdateParameter {
* be used in viewing and grouping this resource (across resource groups).
*/
@JsonProperty(value = "tags")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
private Map tags;
/*
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/JobSecrets.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/JobSecrets.java
index 35a61793e93b..e227dc207ab9 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/JobSecrets.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/JobSecrets.java
@@ -20,6 +20,7 @@
defaultImpl = JobSecrets.class)
@JsonTypeName("JobSecrets")
@JsonSubTypes({
+ @JsonSubTypes.Type(name = "DataBoxCustomerDisk", value = CustomerDiskJobSecrets.class),
@JsonSubTypes.Type(name = "DataBoxDisk", value = DataBoxDiskJobSecrets.class),
@JsonSubTypes.Type(name = "DataBoxHeavy", value = DataBoxHeavyJobSecrets.class),
@JsonSubTypes.Type(name = "DataBox", value = DataboxJobSecrets.class)
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/Jobs.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/Jobs.java
index 0983bba6aa1a..4c656e4d87eb 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/Jobs.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/Jobs.java
@@ -31,6 +31,36 @@ public interface Jobs {
*/
PagedIterable list(String skipToken, Context context);
+ /**
+ * Request to mark devices for a given job as shipped.
+ *
+ * @param jobName The name of the job Resource within the specified resource group. job names must be between 3 and
+ * 24 characters in length and use any alphanumeric and underscore only.
+ * @param resourceGroupName The Resource Group Name.
+ * @param markDevicesShippedRequest Mark Devices Shipped Request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ void markDevicesShipped(
+ String jobName, String resourceGroupName, MarkDevicesShippedRequest markDevicesShippedRequest);
+
+ /**
+ * Request to mark devices for a given job as shipped.
+ *
+ * @param jobName The name of the job Resource within the specified resource group. job names must be between 3 and
+ * 24 characters in length and use any alphanumeric and underscore only.
+ * @param resourceGroupName The Resource Group Name.
+ * @param markDevicesShippedRequest Mark Devices Shipped Request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ Response markDevicesShippedWithResponse(
+ String jobName, String resourceGroupName, MarkDevicesShippedRequest markDevicesShippedRequest, Context context);
+
/**
* Lists all the jobs available under the given resource group.
*
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/MarkDevicesShippedRequest.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/MarkDevicesShippedRequest.java
new file mode 100644
index 000000000000..907882ddaf90
--- /dev/null
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/MarkDevicesShippedRequest.java
@@ -0,0 +1,58 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.databox.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The request body to provide the delivery package details of job. */
+@Fluent
+public final class MarkDevicesShippedRequest {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MarkDevicesShippedRequest.class);
+
+ /*
+ * Delivery package details
+ */
+ @JsonProperty(value = "deliverToDcPackageDetails", required = true)
+ private PackageCarrierInfo deliverToDcPackageDetails;
+
+ /**
+ * Get the deliverToDcPackageDetails property: Delivery package details.
+ *
+ * @return the deliverToDcPackageDetails value.
+ */
+ public PackageCarrierInfo deliverToDcPackageDetails() {
+ return this.deliverToDcPackageDetails;
+ }
+
+ /**
+ * Set the deliverToDcPackageDetails property: Delivery package details.
+ *
+ * @param deliverToDcPackageDetails the deliverToDcPackageDetails value to set.
+ * @return the MarkDevicesShippedRequest object itself.
+ */
+ public MarkDevicesShippedRequest withDeliverToDcPackageDetails(PackageCarrierInfo deliverToDcPackageDetails) {
+ this.deliverToDcPackageDetails = deliverToDcPackageDetails;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (deliverToDcPackageDetails() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property deliverToDcPackageDetails in model MarkDevicesShippedRequest"));
+ } else {
+ deliverToDcPackageDetails().validate();
+ }
+ }
+}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/NotificationStageName.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/NotificationStageName.java
index b99a092b5bde..117f1b604a72 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/NotificationStageName.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/NotificationStageName.java
@@ -4,56 +4,49 @@
package com.azure.resourcemanager.databox.models;
+import com.azure.core.util.ExpandableStringEnum;
import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonValue;
+import java.util.Collection;
/** Defines values for NotificationStageName. */
-public enum NotificationStageName {
- /** Enum value DevicePrepared. */
- DEVICE_PREPARED("DevicePrepared"),
+public final class NotificationStageName extends ExpandableStringEnum {
+ /** Static value DevicePrepared for NotificationStageName. */
+ public static final NotificationStageName DEVICE_PREPARED = fromString("DevicePrepared");
- /** Enum value Dispatched. */
- DISPATCHED("Dispatched"),
+ /** Static value Dispatched for NotificationStageName. */
+ public static final NotificationStageName DISPATCHED = fromString("Dispatched");
- /** Enum value Delivered. */
- DELIVERED("Delivered"),
+ /** Static value Delivered for NotificationStageName. */
+ public static final NotificationStageName DELIVERED = fromString("Delivered");
- /** Enum value PickedUp. */
- PICKED_UP("PickedUp"),
+ /** Static value PickedUp for NotificationStageName. */
+ public static final NotificationStageName PICKED_UP = fromString("PickedUp");
- /** Enum value AtAzureDC. */
- AT_AZURE_DC("AtAzureDC"),
+ /** Static value AtAzureDC for NotificationStageName. */
+ public static final NotificationStageName AT_AZURE_DC = fromString("AtAzureDC");
- /** Enum value DataCopy. */
- DATA_COPY("DataCopy");
+ /** Static value DataCopy for NotificationStageName. */
+ public static final NotificationStageName DATA_COPY = fromString("DataCopy");
- /** The actual serialized value for a NotificationStageName instance. */
- private final String value;
+ /** Static value Created for NotificationStageName. */
+ public static final NotificationStageName CREATED = fromString("Created");
- NotificationStageName(String value) {
- this.value = value;
- }
+ /** Static value ShippedToCustomer for NotificationStageName. */
+ public static final NotificationStageName SHIPPED_TO_CUSTOMER = fromString("ShippedToCustomer");
/**
- * Parses a serialized value to a NotificationStageName instance.
+ * Creates or finds a NotificationStageName from its string representation.
*
- * @param value the serialized value to parse.
- * @return the parsed NotificationStageName object, or null if unable to parse.
+ * @param name a name to look for.
+ * @return the corresponding NotificationStageName.
*/
@JsonCreator
- public static NotificationStageName fromString(String value) {
- NotificationStageName[] items = NotificationStageName.values();
- for (NotificationStageName item : items) {
- if (item.toString().equalsIgnoreCase(value)) {
- return item;
- }
- }
- return null;
+ public static NotificationStageName fromString(String name) {
+ return fromString(name, NotificationStageName.class);
}
- @JsonValue
- @Override
- public String toString() {
- return this.value;
+ /** @return known NotificationStageName values. */
+ public static Collection values() {
+ return values(NotificationStageName.class);
}
}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/PackageCarrierDetails.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/PackageCarrierDetails.java
new file mode 100644
index 000000000000..c9718bb6f4e7
--- /dev/null
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/PackageCarrierDetails.java
@@ -0,0 +1,102 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.databox.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Package carrier details. */
+@Fluent
+public final class PackageCarrierDetails {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(PackageCarrierDetails.class);
+
+ /*
+ * Carrier Account Number of customer for customer disk.
+ */
+ @JsonProperty(value = "carrierAccountNumber")
+ private String carrierAccountNumber;
+
+ /*
+ * Name of the carrier.
+ */
+ @JsonProperty(value = "carrierName")
+ private String carrierName;
+
+ /*
+ * Tracking Id of shipment.
+ */
+ @JsonProperty(value = "trackingId")
+ private String trackingId;
+
+ /**
+ * Get the carrierAccountNumber property: Carrier Account Number of customer for customer disk.
+ *
+ * @return the carrierAccountNumber value.
+ */
+ public String carrierAccountNumber() {
+ return this.carrierAccountNumber;
+ }
+
+ /**
+ * Set the carrierAccountNumber property: Carrier Account Number of customer for customer disk.
+ *
+ * @param carrierAccountNumber the carrierAccountNumber value to set.
+ * @return the PackageCarrierDetails object itself.
+ */
+ public PackageCarrierDetails withCarrierAccountNumber(String carrierAccountNumber) {
+ this.carrierAccountNumber = carrierAccountNumber;
+ return this;
+ }
+
+ /**
+ * Get the carrierName property: Name of the carrier.
+ *
+ * @return the carrierName value.
+ */
+ public String carrierName() {
+ return this.carrierName;
+ }
+
+ /**
+ * Set the carrierName property: Name of the carrier.
+ *
+ * @param carrierName the carrierName value to set.
+ * @return the PackageCarrierDetails object itself.
+ */
+ public PackageCarrierDetails withCarrierName(String carrierName) {
+ this.carrierName = carrierName;
+ return this;
+ }
+
+ /**
+ * Get the trackingId property: Tracking Id of shipment.
+ *
+ * @return the trackingId value.
+ */
+ public String trackingId() {
+ return this.trackingId;
+ }
+
+ /**
+ * Set the trackingId property: Tracking Id of shipment.
+ *
+ * @param trackingId the trackingId value to set.
+ * @return the PackageCarrierDetails object itself.
+ */
+ public PackageCarrierDetails withTrackingId(String trackingId) {
+ this.trackingId = trackingId;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/PackageCarrierInfo.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/PackageCarrierInfo.java
new file mode 100644
index 000000000000..8b8b14f44bbe
--- /dev/null
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/PackageCarrierInfo.java
@@ -0,0 +1,76 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.databox.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** package carrier info. */
+@Fluent
+public final class PackageCarrierInfo {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(PackageCarrierInfo.class);
+
+ /*
+ * Name of the carrier.
+ */
+ @JsonProperty(value = "carrierName")
+ private String carrierName;
+
+ /*
+ * Tracking Id of shipment.
+ */
+ @JsonProperty(value = "trackingId")
+ private String trackingId;
+
+ /**
+ * Get the carrierName property: Name of the carrier.
+ *
+ * @return the carrierName value.
+ */
+ public String carrierName() {
+ return this.carrierName;
+ }
+
+ /**
+ * Set the carrierName property: Name of the carrier.
+ *
+ * @param carrierName the carrierName value to set.
+ * @return the PackageCarrierInfo object itself.
+ */
+ public PackageCarrierInfo withCarrierName(String carrierName) {
+ this.carrierName = carrierName;
+ return this;
+ }
+
+ /**
+ * Get the trackingId property: Tracking Id of shipment.
+ *
+ * @return the trackingId value.
+ */
+ public String trackingId() {
+ return this.trackingId;
+ }
+
+ /**
+ * Set the trackingId property: Tracking Id of shipment.
+ *
+ * @param trackingId the trackingId value to set.
+ * @return the PackageCarrierInfo object itself.
+ */
+ public PackageCarrierInfo withTrackingId(String trackingId) {
+ this.trackingId = trackingId;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/PackageShippingDetails.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/PackageShippingDetails.java
index 035994f5048f..98a054dd9d67 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/PackageShippingDetails.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/PackageShippingDetails.java
@@ -9,11 +9,17 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
-/** Shipping details. */
+/** package shipping details. */
@Immutable
public final class PackageShippingDetails {
@JsonIgnore private final ClientLogger logger = new ClientLogger(PackageShippingDetails.class);
+ /*
+ * Url where shipment can be tracked.
+ */
+ @JsonProperty(value = "trackingUrl", access = JsonProperty.Access.WRITE_ONLY)
+ private String trackingUrl;
+
/*
* Name of the carrier.
*/
@@ -26,11 +32,14 @@ public final class PackageShippingDetails {
@JsonProperty(value = "trackingId", access = JsonProperty.Access.WRITE_ONLY)
private String trackingId;
- /*
- * Url where shipment can be tracked.
+ /**
+ * Get the trackingUrl property: Url where shipment can be tracked.
+ *
+ * @return the trackingUrl value.
*/
- @JsonProperty(value = "trackingUrl", access = JsonProperty.Access.WRITE_ONLY)
- private String trackingUrl;
+ public String trackingUrl() {
+ return this.trackingUrl;
+ }
/**
* Get the carrierName property: Name of the carrier.
@@ -50,15 +59,6 @@ public String trackingId() {
return this.trackingId;
}
- /**
- * Get the trackingUrl property: Url where shipment can be tracked.
- *
- * @return the trackingUrl value.
- */
- public String trackingUrl() {
- return this.trackingUrl;
- }
-
/**
* Validates the instance.
*
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/RegionConfigurationRequest.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/RegionConfigurationRequest.java
index 322c418ccb6d..d9f1df5cf4cb 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/RegionConfigurationRequest.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/RegionConfigurationRequest.java
@@ -26,6 +26,12 @@ public final class RegionConfigurationRequest {
@JsonProperty(value = "transportAvailabilityRequest")
private TransportAvailabilityRequest transportAvailabilityRequest;
+ /*
+ * Request body to get the datacenter address for given sku.
+ */
+ @JsonProperty(value = "datacenterAddressRequest")
+ private DatacenterAddressRequest datacenterAddressRequest;
+
/**
* Get the scheduleAvailabilityRequest property: Request body to get the availability for scheduling orders.
*
@@ -68,6 +74,26 @@ public RegionConfigurationRequest withTransportAvailabilityRequest(
return this;
}
+ /**
+ * Get the datacenterAddressRequest property: Request body to get the datacenter address for given sku.
+ *
+ * @return the datacenterAddressRequest value.
+ */
+ public DatacenterAddressRequest datacenterAddressRequest() {
+ return this.datacenterAddressRequest;
+ }
+
+ /**
+ * Set the datacenterAddressRequest property: Request body to get the datacenter address for given sku.
+ *
+ * @param datacenterAddressRequest the datacenterAddressRequest value to set.
+ * @return the RegionConfigurationRequest object itself.
+ */
+ public RegionConfigurationRequest withDatacenterAddressRequest(DatacenterAddressRequest datacenterAddressRequest) {
+ this.datacenterAddressRequest = datacenterAddressRequest;
+ return this;
+ }
+
/**
* Validates the instance.
*
@@ -80,5 +106,8 @@ public void validate() {
if (transportAvailabilityRequest() != null) {
transportAvailabilityRequest().validate();
}
+ if (datacenterAddressRequest() != null) {
+ datacenterAddressRequest().validate();
+ }
}
}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/RegionConfigurationResponse.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/RegionConfigurationResponse.java
index 7e2e17b76938..258f74271e90 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/RegionConfigurationResponse.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/RegionConfigurationResponse.java
@@ -22,6 +22,13 @@ public interface RegionConfigurationResponse {
*/
TransportAvailabilityResponse transportAvailabilityResponse();
+ /**
+ * Gets the datacenterAddressResponse property: Datacenter address for given sku in a region.
+ *
+ * @return the datacenterAddressResponse value.
+ */
+ DatacenterAddressResponse datacenterAddressResponse();
+
/**
* Gets the inner com.azure.resourcemanager.databox.fluent.models.RegionConfigurationResponseInner object.
*
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/ResourceIdentity.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/ResourceIdentity.java
index 63b28374a643..664838ca78c5 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/ResourceIdentity.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/ResourceIdentity.java
@@ -7,6 +7,7 @@
import com.azure.core.annotation.Fluent;
import com.azure.core.util.logging.ClientLogger;
import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.Map;
@@ -37,6 +38,7 @@ public class ResourceIdentity {
* User Assigned Identities
*/
@JsonProperty(value = "userAssignedIdentities")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
private Map userAssignedIdentities;
/**
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/SkuName.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/SkuName.java
index 9f727241afc5..a1aa12b7bbbc 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/SkuName.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/SkuName.java
@@ -16,7 +16,10 @@ public enum SkuName {
DATA_BOX_DISK("DataBoxDisk"),
/** Enum value DataBoxHeavy. */
- DATA_BOX_HEAVY("DataBoxHeavy");
+ DATA_BOX_HEAVY("DataBoxHeavy"),
+
+ /** Enum value DataBoxCustomerDisk. */
+ DATA_BOX_CUSTOMER_DISK("DataBoxCustomerDisk");
/** The actual serialized value for a SkuName instance. */
private final String value;
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/StageName.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/StageName.java
index 7af3e1211144..0688d0adf065 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/StageName.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/StageName.java
@@ -4,86 +4,88 @@
package com.azure.resourcemanager.databox.models;
+import com.azure.core.util.ExpandableStringEnum;
import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonValue;
+import java.util.Collection;
/** Defines values for StageName. */
-public enum StageName {
- /** Enum value DeviceOrdered. */
- DEVICE_ORDERED("DeviceOrdered"),
+public final class StageName extends ExpandableStringEnum {
+ /** Static value DeviceOrdered for StageName. */
+ public static final StageName DEVICE_ORDERED = fromString("DeviceOrdered");
- /** Enum value DevicePrepared. */
- DEVICE_PREPARED("DevicePrepared"),
+ /** Static value DevicePrepared for StageName. */
+ public static final StageName DEVICE_PREPARED = fromString("DevicePrepared");
- /** Enum value Dispatched. */
- DISPATCHED("Dispatched"),
+ /** Static value Dispatched for StageName. */
+ public static final StageName DISPATCHED = fromString("Dispatched");
- /** Enum value Delivered. */
- DELIVERED("Delivered"),
+ /** Static value Delivered for StageName. */
+ public static final StageName DELIVERED = fromString("Delivered");
- /** Enum value PickedUp. */
- PICKED_UP("PickedUp"),
+ /** Static value PickedUp for StageName. */
+ public static final StageName PICKED_UP = fromString("PickedUp");
- /** Enum value AtAzureDC. */
- AT_AZURE_DC("AtAzureDC"),
+ /** Static value AtAzureDC for StageName. */
+ public static final StageName AT_AZURE_DC = fromString("AtAzureDC");
- /** Enum value DataCopy. */
- DATA_COPY("DataCopy"),
+ /** Static value DataCopy for StageName. */
+ public static final StageName DATA_COPY = fromString("DataCopy");
- /** Enum value Completed. */
- COMPLETED("Completed"),
+ /** Static value Completed for StageName. */
+ public static final StageName COMPLETED = fromString("Completed");
- /** Enum value CompletedWithErrors. */
- COMPLETED_WITH_ERRORS("CompletedWithErrors"),
+ /** Static value CompletedWithErrors for StageName. */
+ public static final StageName COMPLETED_WITH_ERRORS = fromString("CompletedWithErrors");
- /** Enum value Cancelled. */
- CANCELLED("Cancelled"),
+ /** Static value Cancelled for StageName. */
+ public static final StageName CANCELLED = fromString("Cancelled");
- /** Enum value Failed_IssueReportedAtCustomer. */
- FAILED_ISSUE_REPORTED_AT_CUSTOMER("Failed_IssueReportedAtCustomer"),
+ /** Static value Failed_IssueReportedAtCustomer for StageName. */
+ public static final StageName FAILED_ISSUE_REPORTED_AT_CUSTOMER = fromString("Failed_IssueReportedAtCustomer");
- /** Enum value Failed_IssueDetectedAtAzureDC. */
- FAILED_ISSUE_DETECTED_AT_AZURE_DC("Failed_IssueDetectedAtAzureDC"),
+ /** Static value Failed_IssueDetectedAtAzureDC for StageName. */
+ public static final StageName FAILED_ISSUE_DETECTED_AT_AZURE_DC = fromString("Failed_IssueDetectedAtAzureDC");
- /** Enum value Aborted. */
- ABORTED("Aborted"),
+ /** Static value Aborted for StageName. */
+ public static final StageName ABORTED = fromString("Aborted");
- /** Enum value CompletedWithWarnings. */
- COMPLETED_WITH_WARNINGS("CompletedWithWarnings"),
+ /** Static value CompletedWithWarnings for StageName. */
+ public static final StageName COMPLETED_WITH_WARNINGS = fromString("CompletedWithWarnings");
- /** Enum value ReadyToDispatchFromAzureDC. */
- READY_TO_DISPATCH_FROM_AZURE_DC("ReadyToDispatchFromAzureDC"),
+ /** Static value ReadyToDispatchFromAzureDC for StageName. */
+ public static final StageName READY_TO_DISPATCH_FROM_AZURE_DC = fromString("ReadyToDispatchFromAzureDC");
- /** Enum value ReadyToReceiveAtAzureDC. */
- READY_TO_RECEIVE_AT_AZURE_DC("ReadyToReceiveAtAzureDC");
+ /** Static value ReadyToReceiveAtAzureDC for StageName. */
+ public static final StageName READY_TO_RECEIVE_AT_AZURE_DC = fromString("ReadyToReceiveAtAzureDC");
- /** The actual serialized value for a StageName instance. */
- private final String value;
+ /** Static value Created for StageName. */
+ public static final StageName CREATED = fromString("Created");
- StageName(String value) {
- this.value = value;
- }
+ /** Static value ShippedToAzureDC for StageName. */
+ public static final StageName SHIPPED_TO_AZURE_DC = fromString("ShippedToAzureDC");
+
+ /** Static value AwaitingShipmentDetails for StageName. */
+ public static final StageName AWAITING_SHIPMENT_DETAILS = fromString("AwaitingShipmentDetails");
+
+ /** Static value PreparingToShipFromAzureDC for StageName. */
+ public static final StageName PREPARING_TO_SHIP_FROM_AZURE_DC = fromString("PreparingToShipFromAzureDC");
+
+ /** Static value ShippedToCustomer for StageName. */
+ public static final StageName SHIPPED_TO_CUSTOMER = fromString("ShippedToCustomer");
/**
- * Parses a serialized value to a StageName instance.
+ * Creates or finds a StageName from its string representation.
*
- * @param value the serialized value to parse.
- * @return the parsed StageName object, or null if unable to parse.
+ * @param name a name to look for.
+ * @return the corresponding StageName.
*/
@JsonCreator
- public static StageName fromString(String value) {
- StageName[] items = StageName.values();
- for (StageName item : items) {
- if (item.toString().equalsIgnoreCase(value)) {
- return item;
- }
- }
- return null;
+ public static StageName fromString(String name) {
+ return fromString(name, StageName.class);
}
- @JsonValue
- @Override
- public String toString() {
- return this.value;
+ /** @return known StageName values. */
+ public static Collection values() {
+ return values(StageName.class);
}
}
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/StageStatus.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/StageStatus.java
index 3ac5d3d6cfca..c1a81b63c9aa 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/StageStatus.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/StageStatus.java
@@ -34,7 +34,16 @@ public enum StageStatus {
WAITING_FOR_CUSTOMER_ACTION("WaitingForCustomerAction"),
/** Enum value SucceededWithWarnings. */
- SUCCEEDED_WITH_WARNINGS("SucceededWithWarnings");
+ SUCCEEDED_WITH_WARNINGS("SucceededWithWarnings"),
+
+ /** Enum value WaitingForCustomerActionForKek. */
+ WAITING_FOR_CUSTOMER_ACTION_FOR_KEK("WaitingForCustomerActionForKek"),
+
+ /** Enum value WaitingForCustomerActionForCleanUp. */
+ WAITING_FOR_CUSTOMER_ACTION_FOR_CLEAN_UP("WaitingForCustomerActionForCleanUp"),
+
+ /** Enum value CustomerActionPerformedForCleanUp. */
+ CUSTOMER_ACTION_PERFORMED_FOR_CLEAN_UP("CustomerActionPerformedForCleanUp");
/** The actual serialized value for a StageStatus instance. */
private final String value;
diff --git a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/UpdateJobDetails.java b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/UpdateJobDetails.java
index aa073ff928f7..627ee52fca99 100644
--- a/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/UpdateJobDetails.java
+++ b/sdk/databox/azure-resourcemanager-databox/src/main/java/com/azure/resourcemanager/databox/models/UpdateJobDetails.java
@@ -32,6 +32,12 @@ public final class UpdateJobDetails {
@JsonProperty(value = "keyEncryptionKey")
private KeyEncryptionKey keyEncryptionKey;
+ /*
+ * Return package details of job.
+ */
+ @JsonProperty(value = "returnToCustomerPackageDetails")
+ private PackageCarrierDetails returnToCustomerPackageDetails;
+
/**
* Get the contactDetails property: Contact details for notification and shipping.
*
@@ -92,6 +98,26 @@ public UpdateJobDetails withKeyEncryptionKey(KeyEncryptionKey keyEncryptionKey)
return this;
}
+ /**
+ * Get the returnToCustomerPackageDetails property: Return package details of job.
+ *
+ * @return the returnToCustomerPackageDetails value.
+ */
+ public PackageCarrierDetails returnToCustomerPackageDetails() {
+ return this.returnToCustomerPackageDetails;
+ }
+
+ /**
+ * Set the returnToCustomerPackageDetails property: Return package details of job.
+ *
+ * @param returnToCustomerPackageDetails the returnToCustomerPackageDetails value to set.
+ * @return the UpdateJobDetails object itself.
+ */
+ public UpdateJobDetails withReturnToCustomerPackageDetails(PackageCarrierDetails returnToCustomerPackageDetails) {
+ this.returnToCustomerPackageDetails = returnToCustomerPackageDetails;
+ return this;
+ }
+
/**
* Validates the instance.
*
@@ -107,5 +133,8 @@ public void validate() {
if (keyEncryptionKey() != null) {
keyEncryptionKey().validate();
}
+ if (returnToCustomerPackageDetails() != null) {
+ returnToCustomerPackageDetails().validate();
+ }
}
}