diff --git a/sdk/netapp/azure-resourcemanager-netapp/CHANGELOG.md b/sdk/netapp/azure-resourcemanager-netapp/CHANGELOG.md index a306ca689ed1..cab5183c9b99 100644 --- a/sdk/netapp/azure-resourcemanager-netapp/CHANGELOG.md +++ b/sdk/netapp/azure-resourcemanager-netapp/CHANGELOG.md @@ -1,7 +1,8 @@ # Release History -## 1.0.0-beta.2 (Unreleased) +## 1.0.0-beta.1 (2021-03-04) +- Azure Resource Manager NetAppFiles client library for Java. This package contains Microsoft Azure SDK for NetAppFiles Management SDK. Microsoft NetApp Files Azure Resource Provider specification. Package tag package-netapp-2020-12-01. 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-02-22) diff --git a/sdk/netapp/azure-resourcemanager-netapp/README.md b/sdk/netapp/azure-resourcemanager-netapp/README.md index 37875068edb0..5a59e81494fa 100644 --- a/sdk/netapp/azure-resourcemanager-netapp/README.md +++ b/sdk/netapp/azure-resourcemanager-netapp/README.md @@ -2,7 +2,7 @@ Azure Resource Manager NetAppFiles client library for Java. -This package contains Microsoft Azure SDK for NetAppFiles Management SDK. Microsoft NetApp Files Azure Resource Provider specification. Package tag package-netapp-2020-11-01. 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 NetAppFiles Management SDK. Microsoft NetApp Files Azure Resource Provider specification. Package tag package-netapp-2020-12-01. 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-netapp - 1.0.0-beta.1 + 1.0.0-beta.2 ``` [//]: # ({x-version-update-end}) diff --git a/sdk/netapp/azure-resourcemanager-netapp/pom.xml b/sdk/netapp/azure-resourcemanager-netapp/pom.xml index 84ec8e2e232d..f5422bb1579b 100644 --- a/sdk/netapp/azure-resourcemanager-netapp/pom.xml +++ b/sdk/netapp/azure-resourcemanager-netapp/pom.xml @@ -13,7 +13,7 @@ jar Microsoft Azure SDK for NetAppFiles Management - This package contains Microsoft Azure SDK for NetAppFiles Management SDK. Microsoft NetApp Files Azure Resource Provider specification. Package tag package-netapp-2020-11-01. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt + This package contains Microsoft Azure SDK for NetAppFiles Management SDK. Microsoft NetApp Files Azure Resource Provider specification. Package tag package-netapp-2020-12-01. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt https://github.com/Azure/azure-sdk-for-java diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/NetAppFilesManager.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/NetAppFilesManager.java index 72934467b65e..f437e90c14b7 100644 --- a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/NetAppFilesManager.java +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/NetAppFilesManager.java @@ -32,6 +32,7 @@ import com.azure.resourcemanager.netapp.implementation.SnapshotPoliciesImpl; import com.azure.resourcemanager.netapp.implementation.SnapshotsImpl; import com.azure.resourcemanager.netapp.implementation.VaultsImpl; +import com.azure.resourcemanager.netapp.implementation.VolumeBackupStatusImpl; import com.azure.resourcemanager.netapp.implementation.VolumesImpl; import com.azure.resourcemanager.netapp.models.AccountBackups; import com.azure.resourcemanager.netapp.models.Accounts; @@ -43,6 +44,7 @@ import com.azure.resourcemanager.netapp.models.SnapshotPolicies; import com.azure.resourcemanager.netapp.models.Snapshots; import com.azure.resourcemanager.netapp.models.Vaults; +import com.azure.resourcemanager.netapp.models.VolumeBackupStatus; import com.azure.resourcemanager.netapp.models.Volumes; import java.time.Duration; import java.time.temporal.ChronoUnit; @@ -66,6 +68,8 @@ public final class NetAppFilesManager { private SnapshotPolicies snapshotPolicies; + private VolumeBackupStatus volumeBackupStatus; + private AccountBackups accountBackups; private Backups backups; @@ -292,6 +296,14 @@ public SnapshotPolicies snapshotPolicies() { return snapshotPolicies; } + /** @return Resource collection API of VolumeBackupStatus. */ + public VolumeBackupStatus volumeBackupStatus() { + if (this.volumeBackupStatus == null) { + this.volumeBackupStatus = new VolumeBackupStatusImpl(clientObject.getVolumeBackupStatus(), this); + } + return volumeBackupStatus; + } + /** @return Resource collection API of AccountBackups. */ public AccountBackups accountBackups() { if (this.accountBackups == null) { diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/fluent/NetAppManagementClient.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/fluent/NetAppManagementClient.java index 2a596c2c3844..4eda614c754b 100644 --- a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/fluent/NetAppManagementClient.java +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/fluent/NetAppManagementClient.java @@ -94,6 +94,13 @@ public interface NetAppManagementClient { */ SnapshotPoliciesClient getSnapshotPolicies(); + /** + * Gets the VolumeBackupStatusClient object to access its operations. + * + * @return the VolumeBackupStatusClient object. + */ + VolumeBackupStatusClient getVolumeBackupStatus(); + /** * Gets the AccountBackupsClient object to access its operations. * diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/fluent/VolumeBackupStatusClient.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/fluent/VolumeBackupStatusClient.java new file mode 100644 index 000000000000..c2685f841d22 --- /dev/null +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/fluent/VolumeBackupStatusClient.java @@ -0,0 +1,46 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.netapp.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.netapp.fluent.models.BackupStatusInner; + +/** An instance of this class provides access to all the operations defined in VolumeBackupStatusClient. */ +public interface VolumeBackupStatusClient { + /** + * Get the status of the backup for a volume. + * + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account. + * @param poolName The name of the capacity pool. + * @param volumeName The name of the volume. + * @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 status of the backup for a volume. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + BackupStatusInner get(String resourceGroupName, String accountName, String poolName, String volumeName); + + /** + * Get the status of the backup for a volume. + * + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account. + * @param poolName The name of the capacity pool. + * @param volumeName The name of the volume. + * @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 status of the backup for a volume. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse( + String resourceGroupName, String accountName, String poolName, String volumeName, Context context); +} diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/fluent/models/BackupInner.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/fluent/models/BackupInner.java index 003ff018b511..bf5e66981bb0 100644 --- a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/fluent/models/BackupInner.java +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/fluent/models/BackupInner.java @@ -66,6 +66,12 @@ public class BackupInner extends ProxyResource { @JsonProperty(value = "properties.failureReason", access = JsonProperty.Access.WRITE_ONLY) private String failureReason; + /* + * Volume name + */ + @JsonProperty(value = "properties.volumeName", access = JsonProperty.Access.WRITE_ONLY) + private String volumeName; + /** * Get the location property: Resource location. * @@ -160,6 +166,15 @@ public String failureReason() { return this.failureReason; } + /** + * Get the volumeName property: Volume name. + * + * @return the volumeName value. + */ + public String volumeName() { + return this.volumeName; + } + /** * Validates the instance. * diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/fluent/models/BackupStatusInner.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/fluent/models/BackupStatusInner.java new file mode 100644 index 000000000000..a3830f13ebec --- /dev/null +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/fluent/models/BackupStatusInner.java @@ -0,0 +1,101 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.netapp.fluent.models; + +import com.azure.core.annotation.Immutable; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.netapp.models.MirrorState; +import com.azure.resourcemanager.netapp.models.RelationshipStatus; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Backup status. */ +@Immutable +public final class BackupStatusInner { + @JsonIgnore private final ClientLogger logger = new ClientLogger(BackupStatusInner.class); + + /* + * Backup health status + */ + @JsonProperty(value = "healthy", access = JsonProperty.Access.WRITE_ONLY) + private Boolean healthy; + + /* + * Status of the backup mirror relationship + */ + @JsonProperty(value = "relationshipStatus", access = JsonProperty.Access.WRITE_ONLY) + private RelationshipStatus relationshipStatus; + + /* + * The status of the backup + */ + @JsonProperty(value = "mirrorState", access = JsonProperty.Access.WRITE_ONLY) + private MirrorState mirrorState; + + /* + * Reason for the unhealthy backup relationship + */ + @JsonProperty(value = "unhealthyReason", access = JsonProperty.Access.WRITE_ONLY) + private String unhealthyReason; + + /* + * Displays error message if the backup is in an error state + */ + @JsonProperty(value = "errorMessage", access = JsonProperty.Access.WRITE_ONLY) + private String errorMessage; + + /** + * Get the healthy property: Backup health status. + * + * @return the healthy value. + */ + public Boolean healthy() { + return this.healthy; + } + + /** + * Get the relationshipStatus property: Status of the backup mirror relationship. + * + * @return the relationshipStatus value. + */ + public RelationshipStatus relationshipStatus() { + return this.relationshipStatus; + } + + /** + * Get the mirrorState property: The status of the backup. + * + * @return the mirrorState value. + */ + public MirrorState mirrorState() { + return this.mirrorState; + } + + /** + * Get the unhealthyReason property: Reason for the unhealthy backup relationship. + * + * @return the unhealthyReason value. + */ + public String unhealthyReason() { + return this.unhealthyReason; + } + + /** + * Get the errorMessage property: Displays error message if the backup is in an error state. + * + * @return the errorMessage value. + */ + public String errorMessage() { + return this.errorMessage; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/fluent/models/VolumeInner.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/fluent/models/VolumeInner.java index e5a1231a8c97..8a74a86689d3 100644 --- a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/fluent/models/VolumeInner.java +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/fluent/models/VolumeInner.java @@ -167,6 +167,12 @@ public class VolumeInner extends Resource { @JsonProperty(value = "properties.encryptionKeySource") private String encryptionKeySource; + /* + * Specifies whether LDAP is enabled or not for a given NFS volume. + */ + @JsonProperty(value = "properties.ldapEnabled") + private Boolean ldapEnabled; + /** * Get the fileSystemId property: Unique FileSystem Identifier. * @@ -579,6 +585,26 @@ public VolumeInner withEncryptionKeySource(String encryptionKeySource) { return this; } + /** + * Get the ldapEnabled property: Specifies whether LDAP is enabled or not for a given NFS volume. + * + * @return the ldapEnabled value. + */ + public Boolean ldapEnabled() { + return this.ldapEnabled; + } + + /** + * Set the ldapEnabled property: Specifies whether LDAP is enabled or not for a given NFS volume. + * + * @param ldapEnabled the ldapEnabled value to set. + * @return the VolumeInner object itself. + */ + public VolumeInner withLdapEnabled(Boolean ldapEnabled) { + this.ldapEnabled = ldapEnabled; + return this; + } + /** {@inheritDoc} */ @Override public VolumeInner withLocation(String location) { diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/BackupImpl.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/BackupImpl.java index 884b2ffa0e35..466e05739cb5 100644 --- a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/BackupImpl.java +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/BackupImpl.java @@ -62,6 +62,10 @@ public String failureReason() { return this.innerModel().failureReason(); } + public String volumeName() { + return this.innerModel().volumeName(); + } + public Region region() { return Region.fromName(this.regionName()); } diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/BackupStatusImpl.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/BackupStatusImpl.java new file mode 100644 index 000000000000..bc02cc9d8f8e --- /dev/null +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/BackupStatusImpl.java @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.netapp.implementation; + +import com.azure.resourcemanager.netapp.NetAppFilesManager; +import com.azure.resourcemanager.netapp.fluent.models.BackupStatusInner; +import com.azure.resourcemanager.netapp.models.BackupStatus; +import com.azure.resourcemanager.netapp.models.MirrorState; +import com.azure.resourcemanager.netapp.models.RelationshipStatus; + +public final class BackupStatusImpl implements BackupStatus { + private BackupStatusInner innerObject; + + private final NetAppFilesManager serviceManager; + + BackupStatusImpl(BackupStatusInner innerObject, NetAppFilesManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public Boolean healthy() { + return this.innerModel().healthy(); + } + + public RelationshipStatus relationshipStatus() { + return this.innerModel().relationshipStatus(); + } + + public MirrorState mirrorState() { + return this.innerModel().mirrorState(); + } + + public String unhealthyReason() { + return this.innerModel().unhealthyReason(); + } + + public String errorMessage() { + return this.innerModel().errorMessage(); + } + + public BackupStatusInner innerModel() { + return this.innerObject; + } + + private NetAppFilesManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/NetAppManagementClientImpl.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/NetAppManagementClientImpl.java index b21e83c98c2a..524e5e8e9427 100644 --- a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/NetAppManagementClientImpl.java +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/NetAppManagementClientImpl.java @@ -32,6 +32,7 @@ import com.azure.resourcemanager.netapp.fluent.SnapshotPoliciesClient; import com.azure.resourcemanager.netapp.fluent.SnapshotsClient; import com.azure.resourcemanager.netapp.fluent.VaultsClient; +import com.azure.resourcemanager.netapp.fluent.VolumeBackupStatusClient; import com.azure.resourcemanager.netapp.fluent.VolumesClient; import java.io.IOException; import java.lang.reflect.Type; @@ -208,6 +209,18 @@ public SnapshotPoliciesClient getSnapshotPolicies() { return this.snapshotPolicies; } + /** The VolumeBackupStatusClient object to access its operations. */ + private final VolumeBackupStatusClient volumeBackupStatus; + + /** + * Gets the VolumeBackupStatusClient object to access its operations. + * + * @return the VolumeBackupStatusClient object. + */ + public VolumeBackupStatusClient getVolumeBackupStatus() { + return this.volumeBackupStatus; + } + /** The AccountBackupsClient object to access its operations. */ private final AccountBackupsClient accountBackups; @@ -279,7 +292,7 @@ public VaultsClient getVaults() { this.defaultPollInterval = defaultPollInterval; this.subscriptionId = subscriptionId; this.endpoint = endpoint; - this.apiVersion = "2020-11-01"; + this.apiVersion = "2020-12-01"; this.operations = new OperationsClientImpl(this); this.netAppResources = new NetAppResourcesClientImpl(this); this.accounts = new AccountsClientImpl(this); @@ -287,6 +300,7 @@ public VaultsClient getVaults() { this.volumes = new VolumesClientImpl(this); this.snapshots = new SnapshotsClientImpl(this); this.snapshotPolicies = new SnapshotPoliciesClientImpl(this); + this.volumeBackupStatus = new VolumeBackupStatusClientImpl(this); this.accountBackups = new AccountBackupsClientImpl(this); this.backups = new BackupsClientImpl(this); this.backupPolicies = new BackupPoliciesClientImpl(this); diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/VolumeBackupStatusClientImpl.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/VolumeBackupStatusClientImpl.java new file mode 100644 index 000000000000..9bb9baf79ce7 --- /dev/null +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/VolumeBackupStatusClientImpl.java @@ -0,0 +1,250 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.netapp.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.netapp.fluent.VolumeBackupStatusClient; +import com.azure.resourcemanager.netapp.fluent.models.BackupStatusInner; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in VolumeBackupStatusClient. */ +public final class VolumeBackupStatusClientImpl implements VolumeBackupStatusClient { + private final ClientLogger logger = new ClientLogger(VolumeBackupStatusClientImpl.class); + + /** The proxy service used to perform REST calls. */ + private final VolumeBackupStatusService service; + + /** The service client containing this operation class. */ + private final NetAppManagementClientImpl client; + + /** + * Initializes an instance of VolumeBackupStatusClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + VolumeBackupStatusClientImpl(NetAppManagementClientImpl client) { + this.service = + RestProxy.create(VolumeBackupStatusService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for NetAppManagementClientVolumeBackupStatus to be used by the proxy + * service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "NetAppManagementClie") + private interface VolumeBackupStatusService { + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp" + + "/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/backupStatus") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("resourceGroupName") String resourceGroupName, + @PathParam("accountName") String accountName, + @PathParam("poolName") String poolName, + @PathParam("volumeName") String volumeName, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get the status of the backup for a volume. + * + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account. + * @param poolName The name of the capacity pool. + * @param volumeName The name of the volume. + * @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 status of the backup for a volume. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String resourceGroupName, String accountName, String poolName, String volumeName) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() 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 (accountName == null) { + return Mono.error(new IllegalArgumentException("Parameter accountName is required and cannot be null.")); + } + if (poolName == null) { + return Mono.error(new IllegalArgumentException("Parameter poolName is required and cannot be null.")); + } + if (volumeName == null) { + return Mono.error(new IllegalArgumentException("Parameter volumeName is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .get( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + resourceGroupName, + accountName, + poolName, + volumeName, + this.client.getApiVersion(), + accept, + context)) + .subscriberContext(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()))); + } + + /** + * Get the status of the backup for a volume. + * + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account. + * @param poolName The name of the capacity pool. + * @param volumeName The name of the volume. + * @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 status of the backup for a volume. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String resourceGroupName, String accountName, String poolName, String volumeName, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() 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 (accountName == null) { + return Mono.error(new IllegalArgumentException("Parameter accountName is required and cannot be null.")); + } + if (poolName == null) { + return Mono.error(new IllegalArgumentException("Parameter poolName is required and cannot be null.")); + } + if (volumeName == null) { + return Mono.error(new IllegalArgumentException("Parameter volumeName is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .get( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + resourceGroupName, + accountName, + poolName, + volumeName, + this.client.getApiVersion(), + accept, + context); + } + + /** + * Get the status of the backup for a volume. + * + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account. + * @param poolName The name of the capacity pool. + * @param volumeName The name of the volume. + * @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 status of the backup for a volume. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync( + String resourceGroupName, String accountName, String poolName, String volumeName) { + return getWithResponseAsync(resourceGroupName, accountName, poolName, volumeName) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get the status of the backup for a volume. + * + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account. + * @param poolName The name of the capacity pool. + * @param volumeName The name of the volume. + * @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 status of the backup for a volume. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public BackupStatusInner get(String resourceGroupName, String accountName, String poolName, String volumeName) { + return getAsync(resourceGroupName, accountName, poolName, volumeName).block(); + } + + /** + * Get the status of the backup for a volume. + * + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account. + * @param poolName The name of the capacity pool. + * @param volumeName The name of the volume. + * @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 status of the backup for a volume. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse( + String resourceGroupName, String accountName, String poolName, String volumeName, Context context) { + return getWithResponseAsync(resourceGroupName, accountName, poolName, volumeName, context).block(); + } +} diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/VolumeBackupStatusImpl.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/VolumeBackupStatusImpl.java new file mode 100644 index 000000000000..602e60ac3888 --- /dev/null +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/VolumeBackupStatusImpl.java @@ -0,0 +1,61 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.netapp.implementation; + +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.SimpleResponse; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.netapp.NetAppFilesManager; +import com.azure.resourcemanager.netapp.fluent.VolumeBackupStatusClient; +import com.azure.resourcemanager.netapp.fluent.models.BackupStatusInner; +import com.azure.resourcemanager.netapp.models.BackupStatus; +import com.azure.resourcemanager.netapp.models.VolumeBackupStatus; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class VolumeBackupStatusImpl implements VolumeBackupStatus { + @JsonIgnore private final ClientLogger logger = new ClientLogger(VolumeBackupStatusImpl.class); + + private final VolumeBackupStatusClient innerClient; + + private final NetAppFilesManager serviceManager; + + public VolumeBackupStatusImpl(VolumeBackupStatusClient innerClient, NetAppFilesManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public BackupStatus get(String resourceGroupName, String accountName, String poolName, String volumeName) { + BackupStatusInner inner = this.serviceClient().get(resourceGroupName, accountName, poolName, volumeName); + if (inner != null) { + return new BackupStatusImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getWithResponse( + String resourceGroupName, String accountName, String poolName, String volumeName, Context context) { + Response inner = + this.serviceClient().getWithResponse(resourceGroupName, accountName, poolName, volumeName, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new BackupStatusImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + private VolumeBackupStatusClient serviceClient() { + return this.innerClient; + } + + private NetAppFilesManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/VolumeImpl.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/VolumeImpl.java index 425bcc714e50..f857a311d5ef 100644 --- a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/VolumeImpl.java +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/implementation/VolumeImpl.java @@ -153,6 +153,10 @@ public String encryptionKeySource() { return this.innerModel().encryptionKeySource(); } + public Boolean ldapEnabled() { + return this.innerModel().ldapEnabled(); + } + public Region region() { return Region.fromName(this.regionName()); } @@ -444,6 +448,11 @@ public VolumeImpl withEncryptionKeySource(String encryptionKeySource) { return this; } + public VolumeImpl withLdapEnabled(Boolean ldapEnabled) { + this.innerModel().withLdapEnabled(ldapEnabled); + return this; + } + public VolumeImpl withUsageThreshold(Long usageThreshold) { this.updateBody.withUsageThreshold(usageThreshold); return this; diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/AccountEncryption.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/AccountEncryption.java index 58949eb0f823..c1aabf218b63 100644 --- a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/AccountEncryption.java +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/AccountEncryption.java @@ -18,14 +18,14 @@ public final class AccountEncryption { * Encryption Key Source. Possible values are: 'Microsoft.NetApp'. */ @JsonProperty(value = "keySource") - private KeySource keySource; + private String keySource; /** * Get the keySource property: Encryption Key Source. Possible values are: 'Microsoft.NetApp'. * * @return the keySource value. */ - public KeySource keySource() { + public String keySource() { return this.keySource; } @@ -35,7 +35,7 @@ public KeySource keySource() { * @param keySource the keySource value to set. * @return the AccountEncryption object itself. */ - public AccountEncryption withKeySource(KeySource keySource) { + public AccountEncryption withKeySource(String keySource) { this.keySource = keySource; return this; } diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/ActiveDirectory.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/ActiveDirectory.java index df64aede95ce..446b92572f3b 100644 --- a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/ActiveDirectory.java +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/ActiveDirectory.java @@ -135,6 +135,13 @@ public final class ActiveDirectory { @JsonProperty(value = "ldapOverTLS") private Boolean ldapOverTls; + /* + * If enabled, NFS client local users can also (in addition to LDAP users) + * access the NFS volumes. + */ + @JsonProperty(value = "allowLocalNfsFSUsersWithLdap") + private Boolean allowLocalNfsFSUsersWithLdap; + /** * Get the activeDirectoryId property: Id of the Active Directory. * @@ -493,6 +500,28 @@ public ActiveDirectory withLdapOverTls(Boolean ldapOverTls) { return this; } + /** + * Get the allowLocalNfsFSUsersWithLdap property: If enabled, NFS client local users can also (in addition to LDAP + * users) access the NFS volumes. + * + * @return the allowLocalNfsFSUsersWithLdap value. + */ + public Boolean allowLocalNfsFSUsersWithLdap() { + return this.allowLocalNfsFSUsersWithLdap; + } + + /** + * Set the allowLocalNfsFSUsersWithLdap property: If enabled, NFS client local users can also (in addition to LDAP + * users) access the NFS volumes. + * + * @param allowLocalNfsFSUsersWithLdap the allowLocalNfsFSUsersWithLdap value to set. + * @return the ActiveDirectory object itself. + */ + public ActiveDirectory withAllowLocalNfsFSUsersWithLdap(Boolean allowLocalNfsFSUsersWithLdap) { + this.allowLocalNfsFSUsersWithLdap = allowLocalNfsFSUsersWithLdap; + return this; + } + /** * Validates the instance. * diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/Backup.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/Backup.java index 0373bc49d7db..94944beb7330 100644 --- a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/Backup.java +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/Backup.java @@ -89,6 +89,13 @@ public interface Backup { */ String failureReason(); + /** + * Gets the volumeName property: Volume name. + * + * @return the volumeName value. + */ + String volumeName(); + /** * Gets the region of the resource. * diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/BackupPatch.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/BackupPatch.java index e2da0a4bac75..f547e121565e 100644 --- a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/BackupPatch.java +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/BackupPatch.java @@ -66,6 +66,12 @@ public class BackupPatch { @JsonProperty(value = "properties.failureReason", access = JsonProperty.Access.WRITE_ONLY) private String failureReason; + /* + * Volume name + */ + @JsonProperty(value = "properties.volumeName", access = JsonProperty.Access.WRITE_ONLY) + private String volumeName; + /** * Get the tags property: Resource tags. * @@ -160,6 +166,15 @@ public String failureReason() { return this.failureReason; } + /** + * Get the volumeName property: Volume name. + * + * @return the volumeName value. + */ + public String volumeName() { + return this.volumeName; + } + /** * Validates the instance. * diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/BackupStatus.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/BackupStatus.java new file mode 100644 index 000000000000..9b8a8950767e --- /dev/null +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/BackupStatus.java @@ -0,0 +1,52 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.netapp.models; + +import com.azure.resourcemanager.netapp.fluent.models.BackupStatusInner; + +/** An immutable client-side representation of BackupStatus. */ +public interface BackupStatus { + /** + * Gets the healthy property: Backup health status. + * + * @return the healthy value. + */ + Boolean healthy(); + + /** + * Gets the relationshipStatus property: Status of the backup mirror relationship. + * + * @return the relationshipStatus value. + */ + RelationshipStatus relationshipStatus(); + + /** + * Gets the mirrorState property: The status of the backup. + * + * @return the mirrorState value. + */ + MirrorState mirrorState(); + + /** + * Gets the unhealthyReason property: Reason for the unhealthy backup relationship. + * + * @return the unhealthyReason value. + */ + String unhealthyReason(); + + /** + * Gets the errorMessage property: Displays error message if the backup is in an error state. + * + * @return the errorMessage value. + */ + String errorMessage(); + + /** + * Gets the inner com.azure.resourcemanager.netapp.fluent.models.BackupStatusInner object. + * + * @return the inner object. + */ + BackupStatusInner innerModel(); +} diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/KeySource.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/KeySource.java deleted file mode 100644 index 07bd9cf92ef5..000000000000 --- a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/KeySource.java +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. - -package com.azure.resourcemanager.netapp.models; - -import com.azure.core.util.ExpandableStringEnum; -import com.fasterxml.jackson.annotation.JsonCreator; -import java.util.Collection; - -/** Defines values for KeySource. */ -public final class KeySource extends ExpandableStringEnum { - /** Static value Microsoft.NetApp for KeySource. */ - public static final KeySource MICROSOFT_NET_APP = fromString("Microsoft.NetApp"); - - /** - * Creates or finds a KeySource from its string representation. - * - * @param name a name to look for. - * @return the corresponding KeySource. - */ - @JsonCreator - public static KeySource fromString(String name) { - return fromString(name, KeySource.class); - } - - /** @return known KeySource values. */ - public static Collection values() { - return values(KeySource.class); - } -} diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/SnapshotPolicyPatch.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/SnapshotPolicyPatch.java index 5e7e990aa49f..fbdfa7a6d260 100644 --- a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/SnapshotPolicyPatch.java +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/SnapshotPolicyPatch.java @@ -47,12 +47,6 @@ public class SnapshotPolicyPatch { @JsonProperty(value = "tags") private Map tags; - /* - * Snapshot policy name - */ - @JsonProperty(value = "properties.name", access = JsonProperty.Access.WRITE_ONLY) - private String namePropertiesName; - /* * Schedule for hourly snapshots */ @@ -156,15 +150,6 @@ public SnapshotPolicyPatch withTags(Map tags) { return this; } - /** - * Get the namePropertiesName property: Snapshot policy name. - * - * @return the namePropertiesName value. - */ - public String namePropertiesName() { - return this.namePropertiesName; - } - /** * Get the hourlySchedule property: Schedule for hourly snapshots. * diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/Volume.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/Volume.java index dc9eea800e0d..e95a327f4a72 100644 --- a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/Volume.java +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/Volume.java @@ -209,6 +209,13 @@ public interface Volume { */ String encryptionKeySource(); + /** + * Gets the ldapEnabled property: Specifies whether LDAP is enabled or not for a given NFS volume. + * + * @return the ldapEnabled value. + */ + Boolean ldapEnabled(); + /** * Gets the region of the resource. * @@ -330,7 +337,8 @@ interface WithCreate DefinitionStages.WithSmbEncryption, DefinitionStages.WithSmbContinuouslyAvailable, DefinitionStages.WithThroughputMibps, - DefinitionStages.WithEncryptionKeySource { + DefinitionStages.WithEncryptionKeySource, + DefinitionStages.WithLdapEnabled { /** * Executes the create request. * @@ -519,6 +527,16 @@ interface WithEncryptionKeySource { */ WithCreate withEncryptionKeySource(String encryptionKeySource); } + /** The stage of the Volume definition allowing to specify ldapEnabled. */ + interface WithLdapEnabled { + /** + * Specifies the ldapEnabled property: Specifies whether LDAP is enabled or not for a given NFS volume.. + * + * @param ldapEnabled Specifies whether LDAP is enabled or not for a given NFS volume. + * @return the next definition stage. + */ + WithCreate withLdapEnabled(Boolean ldapEnabled); + } } /** * Begins update for the Volume resource. diff --git a/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/VolumeBackupStatus.java b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/VolumeBackupStatus.java new file mode 100644 index 000000000000..ced98c3ab435 --- /dev/null +++ b/sdk/netapp/azure-resourcemanager-netapp/src/main/java/com/azure/resourcemanager/netapp/models/VolumeBackupStatus.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.netapp.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of VolumeBackupStatus. */ +public interface VolumeBackupStatus { + /** + * Get the status of the backup for a volume. + * + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account. + * @param poolName The name of the capacity pool. + * @param volumeName The name of the volume. + * @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 status of the backup for a volume. + */ + BackupStatus get(String resourceGroupName, String accountName, String poolName, String volumeName); + + /** + * Get the status of the backup for a volume. + * + * @param resourceGroupName The name of the resource group. + * @param accountName The name of the NetApp account. + * @param poolName The name of the capacity pool. + * @param volumeName The name of the volume. + * @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 status of the backup for a volume. + */ + Response getWithResponse( + String resourceGroupName, String accountName, String poolName, String volumeName, Context context); +}