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(); + } } }