diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/CHANGELOG.md b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/CHANGELOG.md
index c81c7232d255..31513367fb80 100644
--- a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/CHANGELOG.md
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/CHANGELOG.md
@@ -1,14 +1,347 @@
# Release History
-## 1.1.0-beta.1 (Unreleased)
+## 1.1.0-beta.1 (2026-07-29)
-### Features Added
+- Azure Resource Manager Pure Storage Block client library for Java. This package contains Microsoft Azure SDK for Pure Storage Block Management SDK. Package api-version 2026-05-01-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
### Breaking Changes
-### Bugs Fixed
+#### `models.AvsVmVolumeUpdateProperties` was modified
+
+* `validate()` was removed
+
+#### `models.ReservationUpdate` was modified
+
+* `validate()` was removed
+
+#### `models.ManagedServiceIdentity` was modified
+
+* `validate()` was removed
+
+#### `models.RangeLimits` was modified
+
+* `validate()` was removed
+
+#### `models.AvsDiskDetails` was modified
+
+* `validate()` was removed
+
+#### `models.OperationDisplay` was modified
+
+* `validate()` was removed
+
+#### `models.PerformancePolicyLimits` was modified
+
+* `validate()` was removed
+
+#### `models.HealthDetails` was modified
+
+* `validate()` was removed
+
+#### `models.VolumeProperties` was modified
+
+* `validate()` was removed
+
+#### `models.AvsStorageContainerProperties` was modified
+
+* `validate()` was removed
+
+#### `models.AzureVmwareService` was modified
+
+* `validate()` was removed
+
+#### `models.UserAssignedIdentity` was modified
+
+* `validate()` was removed
+
+#### `models.Address` was modified
+
+* `validate()` was removed
+
+#### `models.AvsVmProperties` was modified
+
+* `validate()` was removed
+
+#### `models.MarketplaceDetails` was modified
+
+* `validate()` was removed
+
+#### `models.CompanyDetails` was modified
+
+* `validate()` was removed
+
+#### `models.StoragePoolUpdate` was modified
+
+* `validate()` was removed
+
+#### `models.AvsVmDetails` was modified
+
+* `validate()` was removed
+
+#### `models.BillingUsageProperty` was modified
+
+* `validate()` was removed
+
+#### `models.ReservationPropertiesBaseResourceProperties` was modified
+
+* `validate()` was removed
+
+#### `models.OfferDetails` was modified
+
+* `validate()` was removed
+
+#### `models.SoftDeletion` was modified
+
+* `validate()` was removed
+
+#### `models.StoragePoolFinalizeAvsConnectionPost` was modified
+
+* `validate()` was removed
+
+#### `models.StoragePoolUpdateProperties` was modified
+
+* `validate()` was removed
+
+#### `models.StoragePoolEnableAvsConnectionPost` was modified
+
+* `validate()` was removed
+
+#### `models.AvsStorageContainerVolumeUpdate` was modified
+
+* `validate()` was removed
+
+#### `models.ServiceInitializationHandle` was modified
+
+* `validate()` was removed
+
+#### `models.AvsVmVolumeUpdate` was modified
+
+* `validate()` was removed
+
+#### `models.IopsUsage` was modified
+
+* `validate()` was removed
+
+#### `models.ReservationUpdateProperties` was modified
+
+* `validate()` was removed
+
+#### `models.AvsVmUpdate` was modified
+
+* `validate()` was removed
+
+#### `models.Space` was modified
+
+* `validate()` was removed
+
+#### `models.UserDetails` was modified
+
+* `validate()` was removed
+
+#### `models.VolumeLimits` was modified
+
+* `validate()` was removed
+
+#### `models.AvsStorageContainerVolumeUpdateProperties` was modified
+
+* `validate()` was removed
+
+#### `models.Alert` was modified
+
+* `validate()` was removed
+
+#### `models.StoragePoolLimits` was modified
+
+* `validate()` was removed
+
+#### `models.AvsVmUpdateProperties` was modified
+
+* `validate()` was removed
+
+#### `models.ProtectionPolicyLimits` was modified
+
+* `validate()` was removed
+
+#### `models.ServiceInitializationInfo` was modified
+
+* `validate()` was removed
+
+#### `models.BandwidthUsage` was modified
+
+* `validate()` was removed
+
+#### `models.StoragePoolProperties` was modified
+
+* `validate()` was removed
+
+#### `models.VnetInjection` was modified
+
+* `validate()` was removed
+
+### Features Added
+
+* `models.VolumeGroup$UpdateStages` was added
+
+* `models.SaaSResourceDetailsResponse` was added
+
+* `models.VolumeGroupSnapshotProperties` was added
+
+* `models.ProtectionParameters` was added
+
+* `models.LinkSaaSRequest` was added
+
+* `models.RecoverableVolumeGroups` was added
+
+* `models.PlatformConsoleActivationCode` was added
+
+* `models.VolumeGroupSnapshots` was added
+
+* `models.VolumeGroupSnapshot$Definition` was added
+
+* `models.SshPlatformConsoleAuthConfig` was added
+
+* `models.RecoverableVolumeGroupProperties` was added
+
+* `models.VolumeGroups` was added
+
+* `models.VolumeGroup$Definition` was added
+
+* `models.IscsiConnectionParameters` was added
+
+* `models.VolumeGroupProperties` was added
+
+* `models.Volume$Definition` was added
+
+* `models.PlatformConsoleSubnet` was added
+
+* `models.VolumeGroup$DefinitionStages` was added
+
+* `models.VolumeGroupSnapshotListRequest` was added
+
+* `models.PlatformConsoleAuthResult` was added
+
+* `models.VolumeGroupSnapshotPostListResult` was added
+
+* `models.SshPlatformConsoleAuthResult` was added
+
+* `models.VolumeGroupSnapshot$DefinitionStages` was added
+
+* `models.VolumeSourceType` was added
+
+* `models.VolumeOverwriteRequest` was added
+
+* `models.VolumeGroupOverwriteRequest` was added
+
+* `models.LatestLinkedSaaSResponse` was added
+
+* `models.RecoverableVolumeGroup` was added
+
+* `models.VolumeUpdate` was added
+
+* `models.DestroyedStateProperties` was added
+
+* `models.PlatformConsoleRole` was added
+
+* `models.PerformanceParameters` was added
+
+* `models.VolumeGroupSourceType` was added
+
+* `models.VolumeSnapshotSource` was added
+
+* `models.Volume$Update` was added
+
+* `models.VolumeSnapshotInfo` was added
+
+* `models.PlatformConsoleAccessSettings` was added
+
+* `models.Volume$UpdateStages` was added
+
+* `models.PlatformConsoleSettings` was added
+
+* `models.PlatformConsoleAuthConfig` was added
+
+* `models.ActivateSaaSRequest` was added
+
+* `models.VolumeGroup$Update` was added
+
+* `models.ConnectionParametersResponse` was added
+
+* `models.SaaSOperationGroups` was added
+
+* `models.Volume$DefinitionStages` was added
+
+* `models.VolumeGroupUpdate` was added
+
+* `models.Volume` was added
+
+* `models.AzureVolumeProperties` was added
+
+* `models.VolumeGroupSnapshot` was added
+
+* `models.VolumeGroupUpdateProperties` was added
+
+* `models.VolumeUpdateProperties` was added
+
+* `models.PlatformConsoleAuthType` was added
+
+* `models.IscsiEndpoint` was added
+
+* `models.VolumeGroup` was added
+
+* `models.VolumeGroupStatus` was added
+
+* `models.Volumes` was added
+
+#### `models.StoragePool` was modified
+
+* `configurePlatformConsoleAuthWithResponse(models.PlatformConsoleAuthConfig,com.azure.core.util.Context)` was added
+* `listPlatformConsoleActivationCode()` was added
+* `listPlatformConsoleActivationCodeWithResponse(com.azure.core.util.Context)` was added
+* `configurePlatformConsoleAuth(models.PlatformConsoleAuthConfig)` was added
+
+#### `models.MarketplaceDetails` was modified
+
+* `saaSResourceId()` was added
+* `withSaaSResourceId(java.lang.String)` was added
+
+#### `models.StoragePoolUpdateProperties` was modified
+
+* `platformConsoleSettings()` was added
+* `withPlatformConsoleSettings(models.PlatformConsoleSettings)` was added
+
+#### `PureStorageBlockManager` was modified
+
+* `volumeGroupSnapshots()` was added
+* `recoverableVolumeGroups()` was added
+* `volumeGroups()` was added
+* `volumes()` was added
+* `saaSOperationGroups()` was added
+
+#### `models.Reservations` was modified
+
+* `latestLinkedSaaSWithResponse(java.lang.String,java.lang.String,com.azure.core.util.Context)` was added
+* `linkSaaS(java.lang.String,java.lang.String,models.LinkSaaSRequest,com.azure.core.util.Context)` was added
+* `latestLinkedSaaS(java.lang.String,java.lang.String)` was added
+* `linkSaaS(java.lang.String,java.lang.String,models.LinkSaaSRequest)` was added
+
+#### `models.Reservation` was modified
+
+* `linkSaaS(models.LinkSaaSRequest)` was added
+* `linkSaaS(models.LinkSaaSRequest,com.azure.core.util.Context)` was added
+* `latestLinkedSaaSWithResponse(com.azure.core.util.Context)` was added
+* `latestLinkedSaaS()` was added
+
+#### `models.StoragePools` was modified
+
+* `configurePlatformConsoleAuthWithResponse(java.lang.String,java.lang.String,models.PlatformConsoleAuthConfig,com.azure.core.util.Context)` was added
+* `configurePlatformConsoleAuth(java.lang.String,java.lang.String,models.PlatformConsoleAuthConfig)` was added
+* `listPlatformConsoleActivationCode(java.lang.String,java.lang.String)` was added
+* `listPlatformConsoleActivationCodeWithResponse(java.lang.String,java.lang.String,com.azure.core.util.Context)` was added
+
+#### `models.StoragePoolProperties` was modified
-### Other Changes
+* `platformConsoleSettings()` was added
+* `withPlatformConsoleSettings(models.PlatformConsoleSettings)` was added
## 1.0.0 (2025-06-30)
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/README.md b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/README.md
index 86c5fe73d19c..ed27c33c37bd 100644
--- a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/README.md
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/README.md
@@ -2,7 +2,7 @@
Azure Resource Manager Pure Storage Block client library for Java.
-This package contains Microsoft Azure SDK for Pure Storage Block Management SDK. Package api-version 2024-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 Pure Storage Block Management SDK. Package api-version 2026-05-01-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-purestorageblock
- 1.0.0
+ 1.1.0-beta.1
```
[//]: # ({x-version-update-end})
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/SAMPLE.md b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/SAMPLE.md
index 4cda39e76df9..8dd5d8eb0d9c 100644
--- a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/SAMPLE.md
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/SAMPLE.md
@@ -32,14 +32,33 @@
- [List](#operations_list)
+## RecoverableVolumeGroups
+
+- [Delete](#recoverablevolumegroups_delete)
+- [Get](#recoverablevolumegroups_get)
+- [ListByStoragePool](#recoverablevolumegroups_listbystoragepool)
+
## Reservations
+- [Create](#reservations_create)
+- [Delete](#reservations_delete)
- [GetBillingReport](#reservations_getbillingreport)
- [GetBillingStatus](#reservations_getbillingstatus)
+- [GetByResourceGroup](#reservations_getbyresourcegroup)
- [GetResourceLimits](#reservations_getresourcelimits)
+- [LatestLinkedSaaS](#reservations_latestlinkedsaas)
+- [LinkSaaS](#reservations_linksaas)
+- [List](#reservations_list)
+- [ListByResourceGroup](#reservations_listbyresourcegroup)
+- [Update](#reservations_update)
+
+## SaaSOperationGroup
+
+- [ActivateResource](#saasoperationgroup_activateresource)
## StoragePools
+- [ConfigurePlatformConsoleAuth](#storagepools_configureplatformconsoleauth)
- [Create](#storagepools_create)
- [Delete](#storagepools_delete)
- [DisableAvsConnection](#storagepools_disableavsconnection)
@@ -51,8 +70,37 @@
- [GetHealthStatus](#storagepools_gethealthstatus)
- [List](#storagepools_list)
- [ListByResourceGroup](#storagepools_listbyresourcegroup)
+- [ListPlatformConsoleActivationCode](#storagepools_listplatformconsoleactivationcode)
- [RepairAvsConnection](#storagepools_repairavsconnection)
- [Update](#storagepools_update)
+
+## VolumeGroupSnapshots
+
+- [Create](#volumegroupsnapshots_create)
+- [Delete](#volumegroupsnapshots_delete)
+- [Get](#volumegroupsnapshots_get)
+- [ListByVolumeGroup](#volumegroupsnapshots_listbyvolumegroup)
+- [ListSnapshots](#volumegroupsnapshots_listsnapshots)
+
+## VolumeGroups
+
+- [Create](#volumegroups_create)
+- [Delete](#volumegroups_delete)
+- [Get](#volumegroups_get)
+- [GetStatus](#volumegroups_getstatus)
+- [ListByStoragePool](#volumegroups_listbystoragepool)
+- [ListConnectionParameters](#volumegroups_listconnectionparameters)
+- [Overwrite](#volumegroups_overwrite)
+- [Update](#volumegroups_update)
+
+## Volumes
+
+- [Create](#volumes_create)
+- [Delete](#volumes_delete)
+- [Get](#volumes_get)
+- [ListByVolumeGroup](#volumes_listbyvolumegroup)
+- [Overwrite](#volumes_overwrite)
+- [Update](#volumes_update)
### AvsStorageContainerVolumes_Delete
```java
@@ -61,7 +109,7 @@
*/
public final class AvsStorageContainerVolumesDeleteSamples {
/*
- * x-ms-original-file: 2024-11-01/AvsStorageContainerVolumes_Delete_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/AvsStorageContainerVolumes_Delete_MaximumSet_Gen.json
*/
/**
* Sample code: AvsStorageContainerVolumes_Delete.
@@ -71,7 +119,8 @@ public final class AvsStorageContainerVolumesDeleteSamples {
public static void
avsStorageContainerVolumesDelete(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.avsStorageContainerVolumes()
- .delete("rgpurestorage", "storagePoolname", "name", "cbdec-ddbb", com.azure.core.util.Context.NONE);
+ .delete("rgpurestorage", "storagepool-01", "container-01", "a1b2c3d4-e5f6",
+ com.azure.core.util.Context.NONE);
}
}
```
@@ -84,7 +133,7 @@ public final class AvsStorageContainerVolumesDeleteSamples {
*/
public final class AvsStorageContainerVolumesGetSamples {
/*
- * x-ms-original-file: 2024-11-01/AvsStorageContainerVolumes_Get_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/AvsStorageContainerVolumes_Get_MaximumSet_Gen.json
*/
/**
* Sample code: AvsStorageContainerVolumes_Get.
@@ -94,7 +143,7 @@ public final class AvsStorageContainerVolumesGetSamples {
public static void
avsStorageContainerVolumesGet(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.avsStorageContainerVolumes()
- .getWithResponse("rgpurestorage", "storagePoolname", "name", "cbdec-ddbb",
+ .getWithResponse("rgpurestorage", "storagepool-01", "container-01", "a1b2c3d4-e5f6",
com.azure.core.util.Context.NONE);
}
}
@@ -108,7 +157,7 @@ public final class AvsStorageContainerVolumesGetSamples {
*/
public final class AvsStorageContainerVolumesListByAvsStorageContainerSamples {
/*
- * x-ms-original-file: 2024-11-01/AvsStorageContainerVolumes_ListByAvsStorageContainer_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/AvsStorageContainerVolumes_ListByAvsStorageContainer_MaximumSet_Gen.json
*/
/**
* Sample code: AvsStorageContainerVolumes_ListByAvsStorageContainer.
@@ -118,7 +167,8 @@ public final class AvsStorageContainerVolumesListByAvsStorageContainerSamples {
public static void avsStorageContainerVolumesListByAvsStorageContainer(
com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.avsStorageContainerVolumes()
- .listByAvsStorageContainer("rgpurestorage", "storagePoolname", "name", com.azure.core.util.Context.NONE);
+ .listByAvsStorageContainer("rgpurestorage", "storagepool-01", "container-01",
+ com.azure.core.util.Context.NONE);
}
}
```
@@ -135,7 +185,7 @@ import com.azure.resourcemanager.purestorageblock.models.SoftDeletion;
*/
public final class AvsStorageContainerVolumesUpdateSamples {
/*
- * x-ms-original-file: 2024-11-01/AvsStorageContainerVolumes_Update_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/AvsStorageContainerVolumes_Update_MaximumSet_Gen.json
*/
/**
* Sample code: AvsStorageContainerVolumes_Update.
@@ -145,7 +195,7 @@ public final class AvsStorageContainerVolumesUpdateSamples {
public static void
avsStorageContainerVolumesUpdate(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.avsStorageContainerVolumes()
- .update("rgpurestorage", "storagePoolname", "name", "cbdec-ddbb",
+ .update("rgpurestorage", "storagepool-01", "container-01", "a1b2c3d4-e5f6",
new AvsStorageContainerVolumeUpdate().withProperties(new AvsStorageContainerVolumeUpdateProperties()
.withSoftDeletion(new SoftDeletion().withDestroyed(true))),
com.azure.core.util.Context.NONE);
@@ -161,7 +211,7 @@ public final class AvsStorageContainerVolumesUpdateSamples {
*/
public final class AvsStorageContainersDeleteSamples {
/*
- * x-ms-original-file: 2024-11-01/AvsStorageContainers_Delete_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/AvsStorageContainers_Delete_MaximumSet_Gen.json
*/
/**
* Sample code: AvsStorageContainers_Delete.
@@ -171,7 +221,7 @@ public final class AvsStorageContainersDeleteSamples {
public static void
avsStorageContainersDelete(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.avsStorageContainers()
- .delete("rgpurestorage", "storagePoolName", "storageContainerName", com.azure.core.util.Context.NONE);
+ .delete("rgpurestorage", "storagepool-01", "container-01", com.azure.core.util.Context.NONE);
}
}
```
@@ -184,7 +234,7 @@ public final class AvsStorageContainersDeleteSamples {
*/
public final class AvsStorageContainersGetSamples {
/*
- * x-ms-original-file: 2024-11-01/AvsStorageContainers_Get_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/AvsStorageContainers_Get_MaximumSet_Gen.json
*/
/**
* Sample code: AvsStorageContainers_Get.
@@ -194,8 +244,7 @@ public final class AvsStorageContainersGetSamples {
public static void
avsStorageContainersGet(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.avsStorageContainers()
- .getWithResponse("rgpurestorage", "storagePoolName", "storageContainerName",
- com.azure.core.util.Context.NONE);
+ .getWithResponse("rgpurestorage", "storagepool-01", "container-01", com.azure.core.util.Context.NONE);
}
}
```
@@ -208,7 +257,7 @@ public final class AvsStorageContainersGetSamples {
*/
public final class AvsStorageContainersListByStoragePoolSamples {
/*
- * x-ms-original-file: 2024-11-01/AvsStorageContainers_ListByStoragePool_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/AvsStorageContainers_ListByStoragePool_MaximumSet_Gen.json
*/
/**
* Sample code: AvsStorageContainers_ListByStoragePool.
@@ -230,7 +279,7 @@ public final class AvsStorageContainersListByStoragePoolSamples {
*/
public final class AvsVmVolumesDeleteSamples {
/*
- * x-ms-original-file: 2024-11-01/AvsVmVolumes_Delete_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/AvsVmVolumes_Delete_MaximumSet_Gen.json
*/
/**
* Sample code: AvsVmVolumes_Delete.
@@ -239,7 +288,8 @@ public final class AvsVmVolumesDeleteSamples {
*/
public static void avsVmVolumesDelete(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.avsVmVolumes()
- .delete("rgpurestorage", "storagePoolname", "cbdec-ddbb", "cbdec-ddbb", com.azure.core.util.Context.NONE);
+ .delete("rgpurestorage", "storagepool-01", "abc123def456", "a1b2c3d4-e5f6",
+ com.azure.core.util.Context.NONE);
}
}
```
@@ -252,7 +302,7 @@ public final class AvsVmVolumesDeleteSamples {
*/
public final class AvsVmVolumesGetSamples {
/*
- * x-ms-original-file: 2024-11-01/AvsVmVolumes_Get_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/AvsVmVolumes_Get_MaximumSet_Gen.json
*/
/**
* Sample code: AvsVmVolumes_Get.
@@ -261,7 +311,7 @@ public final class AvsVmVolumesGetSamples {
*/
public static void avsVmVolumesGet(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.avsVmVolumes()
- .getWithResponse("rgpurestorage", "storagePoolname", "cbdec-ddbb", "cbdec-ddbb",
+ .getWithResponse("rgpurestorage", "storagepool-01", "abc123def456", "a1b2c3d4-e5f6",
com.azure.core.util.Context.NONE);
}
}
@@ -275,7 +325,7 @@ public final class AvsVmVolumesGetSamples {
*/
public final class AvsVmVolumesListByAvsVmSamples {
/*
- * x-ms-original-file: 2024-11-01/AvsVmVolumes_ListByAvsVm_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/AvsVmVolumes_ListByAvsVm_MaximumSet_Gen.json
*/
/**
* Sample code: AvsVmVolumes_ListByAvsVm.
@@ -285,7 +335,7 @@ public final class AvsVmVolumesListByAvsVmSamples {
public static void
avsVmVolumesListByAvsVm(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.avsVmVolumes()
- .listByAvsVm("rgpurestorage", "storagePoolname", "cbdec-ddbb", com.azure.core.util.Context.NONE);
+ .listByAvsVm("rgpurestorage", "storagepool-01", "abc123def456", com.azure.core.util.Context.NONE);
}
}
```
@@ -302,7 +352,7 @@ import com.azure.resourcemanager.purestorageblock.models.SoftDeletion;
*/
public final class AvsVmVolumesUpdateSamples {
/*
- * x-ms-original-file: 2024-11-01/AvsVmVolumes_Update_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/AvsVmVolumes_Update_MaximumSet_Gen.json
*/
/**
* Sample code: AvsVmVolumes_Update.
@@ -311,7 +361,7 @@ public final class AvsVmVolumesUpdateSamples {
*/
public static void avsVmVolumesUpdate(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.avsVmVolumes()
- .update("rgpurestorage", "storagePoolname", "cbdec-ddbb", "cbdec-ddbb",
+ .update("rgpurestorage", "storagepool-01", "abc123def456", "a1b2c3d4-e5f6",
new AvsVmVolumeUpdate().withProperties(
new AvsVmVolumeUpdateProperties().withSoftDeletion(new SoftDeletion().withDestroyed(true))),
com.azure.core.util.Context.NONE);
@@ -327,7 +377,7 @@ public final class AvsVmVolumesUpdateSamples {
*/
public final class AvsVmsDeleteSamples {
/*
- * x-ms-original-file: 2024-11-01/AvsVms_Delete_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/AvsVms_Delete_MaximumSet_Gen.json
*/
/**
* Sample code: AvsVms_Delete.
@@ -335,7 +385,7 @@ public final class AvsVmsDeleteSamples {
* @param manager Entry point to PureStorageBlockManager.
*/
public static void avsVmsDelete(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
- manager.avsVms().delete("rgpurestorage", "storagePoolname", "cbdec-ddbb", com.azure.core.util.Context.NONE);
+ manager.avsVms().delete("rgpurestorage", "storagepool-01", "abc123def456", com.azure.core.util.Context.NONE);
}
}
```
@@ -348,7 +398,7 @@ public final class AvsVmsDeleteSamples {
*/
public final class AvsVmsGetSamples {
/*
- * x-ms-original-file: 2024-11-01/AvsVms_Get_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/AvsVms_Get_MaximumSet_Gen.json
*/
/**
* Sample code: AvsVms_Get.
@@ -357,7 +407,7 @@ public final class AvsVmsGetSamples {
*/
public static void avsVmsGet(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.avsVms()
- .getWithResponse("rgpurestorage", "storagePoolname", "cbdec-ddbb", com.azure.core.util.Context.NONE);
+ .getWithResponse("rgpurestorage", "storagepool-01", "abc123def456", com.azure.core.util.Context.NONE);
}
}
```
@@ -370,7 +420,7 @@ public final class AvsVmsGetSamples {
*/
public final class AvsVmsListByStoragePoolSamples {
/*
- * x-ms-original-file: 2024-11-01/AvsVms_ListByStoragePool_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/AvsVms_ListByStoragePool_MaximumSet_Gen.json
*/
/**
* Sample code: AvsVms_ListByStoragePool.
@@ -379,7 +429,7 @@ public final class AvsVmsListByStoragePoolSamples {
*/
public static void
avsVmsListByStoragePool(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
- manager.avsVms().listByStoragePool("rgpurestorage", "storagePoolname", com.azure.core.util.Context.NONE);
+ manager.avsVms().listByStoragePool("rgpurestorage", "storagepool-01", com.azure.core.util.Context.NONE);
}
}
```
@@ -396,7 +446,7 @@ import com.azure.resourcemanager.purestorageblock.models.SoftDeletion;
*/
public final class AvsVmsUpdateSamples {
/*
- * x-ms-original-file: 2024-11-01/AvsVms_Update_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/AvsVms_Update_MaximumSet_Gen.json
*/
/**
* Sample code: AvsVms_Update.
@@ -405,7 +455,7 @@ public final class AvsVmsUpdateSamples {
*/
public static void avsVmsUpdate(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.avsVms()
- .update("rgpurestorage", "storagePoolname", "cbdec-ddbb",
+ .update("rgpurestorage", "storagepool-01", "abc123def456",
new AvsVmUpdate().withProperties(
new AvsVmUpdateProperties().withSoftDeletion(new SoftDeletion().withDestroyed(true))),
com.azure.core.util.Context.NONE);
@@ -421,7 +471,7 @@ public final class AvsVmsUpdateSamples {
*/
public final class OperationsListSamples {
/*
- * x-ms-original-file: 2024-11-01/Operations_List_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/Operations_List_MaximumSet_Gen.json
*/
/**
* Sample code: Operations_List.
@@ -433,7 +483,7 @@ public final class OperationsListSamples {
}
/*
- * x-ms-original-file: 2024-11-01/Operations_List_MinimumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/Operations_List_MinimumSet_Gen.json
*/
/**
* Sample code: Operations_List_MinimumGen_Set.
@@ -447,6 +497,165 @@ public final class OperationsListSamples {
}
```
+### RecoverableVolumeGroups_Delete
+
+```java
+/**
+ * Samples for RecoverableVolumeGroups Delete.
+ */
+public final class RecoverableVolumeGroupsDeleteSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/RecoverableVolumeGroups_Delete_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: RecoverableVolumeGroups_Delete.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void
+ recoverableVolumeGroupsDelete(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.recoverableVolumeGroups()
+ .delete("rgpurestorage", "storagepool-01", "volumegroup-01", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### RecoverableVolumeGroups_Get
+
+```java
+/**
+ * Samples for RecoverableVolumeGroups Get.
+ */
+public final class RecoverableVolumeGroupsGetSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/RecoverableVolumeGroups_Get_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: RecoverableVolumeGroups_Get.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void
+ recoverableVolumeGroupsGet(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.recoverableVolumeGroups()
+ .getWithResponse("rgpurestorage", "storagepool-01", "volumegroup-01", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### RecoverableVolumeGroups_ListByStoragePool
+
+```java
+/**
+ * Samples for RecoverableVolumeGroups ListByStoragePool.
+ */
+public final class RecoverableVolumeGroupsListByStoragePoolSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/RecoverableVolumeGroups_ListByStoragePool_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: RecoverableVolumeGroups_ListByStoragePool.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void recoverableVolumeGroupsListByStoragePool(
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.recoverableVolumeGroups()
+ .listByStoragePool("rgpurestorage", "storagepool-01", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Reservations_Create
+
+```java
+import com.azure.resourcemanager.purestorageblock.models.Address;
+import com.azure.resourcemanager.purestorageblock.models.CompanyDetails;
+import com.azure.resourcemanager.purestorageblock.models.MarketplaceDetails;
+import com.azure.resourcemanager.purestorageblock.models.MarketplaceSubscriptionStatus;
+import com.azure.resourcemanager.purestorageblock.models.OfferDetails;
+import com.azure.resourcemanager.purestorageblock.models.ReservationPropertiesBaseResourceProperties;
+import com.azure.resourcemanager.purestorageblock.models.UserDetails;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Samples for Reservations Create.
+ */
+public final class ReservationsCreateSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/Reservations_Create_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Reservations_Create.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void reservationsCreate(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.reservations()
+ .define("reservation-01")
+ .withRegion("eastus")
+ .withExistingResourceGroup("rgpurestorage")
+ .withTags(mapOf("environment", "production"))
+ .withProperties(new ReservationPropertiesBaseResourceProperties()
+ .withMarketplace(new MarketplaceDetails()
+ .withSubscriptionStatus(MarketplaceSubscriptionStatus.PENDING_FULFILLMENT_START)
+ .withOfferDetails(new OfferDetails().withPublisherId("pure_storage")
+ .withOfferId("purestorage-block-offer")
+ .withPlanId("standard-plan")
+ .withPlanName("Standard Plan")
+ .withTermUnit("month")
+ .withTermId("12-month-term")))
+ .withUser(new UserDetails().withFirstName("John")
+ .withLastName("Doe")
+ .withEmailAddress("john.doe@contoso.com")
+ .withUpn("john.doe@contoso.com")
+ .withPhoneNumber("+1-425-555-1234")
+ .withCompanyDetails(new CompanyDetails().withCompanyName("Contoso Ltd.")
+ .withAddress(new Address().withAddressLine1("1 Microsoft Way")
+ .withAddressLine2("Suite 100")
+ .withCity("Redmond")
+ .withState("Washington")
+ .withCountry("United States")
+ .withPostalCode("fakeTokenPlaceholder")))))
+ .create();
+ }
+
+ // Use "Map.of" if available
+ @SuppressWarnings("unchecked")
+ private static Map mapOf(Object... inputs) {
+ Map map = new HashMap<>();
+ for (int i = 0; i < inputs.length; i += 2) {
+ String key = (String) inputs[i];
+ T value = (T) inputs[i + 1];
+ map.put(key, value);
+ }
+ return map;
+ }
+}
+```
+
+### Reservations_Delete
+
+```java
+/**
+ * Samples for Reservations Delete.
+ */
+public final class ReservationsDeleteSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/Reservations_Delete_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Reservations_Delete.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void reservationsDelete(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.reservations().delete("rgpurestorage", "storagepool-01", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
### Reservations_GetBillingReport
```java
@@ -455,7 +664,7 @@ public final class OperationsListSamples {
*/
public final class ReservationsGetBillingReportSamples {
/*
- * x-ms-original-file: 2024-11-01/Reservations_GetBillingReport_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/Reservations_GetBillingReport_MaximumSet_Gen.json
*/
/**
* Sample code: Reservations_GetBillingReport_MaximumSet.
@@ -478,7 +687,7 @@ public final class ReservationsGetBillingReportSamples {
*/
public final class ReservationsGetBillingStatusSamples {
/*
- * x-ms-original-file: 2024-11-01/Reservations_GetBillingStatus_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/Reservations_GetBillingStatus_MaximumSet_Gen.json
*/
/**
* Sample code: Reservations_GetBillingStatus_MaximumSet.
@@ -493,6 +702,28 @@ public final class ReservationsGetBillingStatusSamples {
}
```
+### Reservations_GetByResourceGroup
+
+```java
+/**
+ * Samples for Reservations GetByResourceGroup.
+ */
+public final class ReservationsGetByResourceGroupSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/Reservations_Get_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Reservations_Get.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void reservationsGet(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.reservations()
+ .getByResourceGroupWithResponse("rgpurestorage", "storagepool-01", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
### Reservations_GetResourceLimits
```java
@@ -501,7 +732,7 @@ public final class ReservationsGetBillingStatusSamples {
*/
public final class ReservationsGetResourceLimitsSamples {
/*
- * x-ms-original-file: 2024-11-01/Reservations_GetResourceLimits_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/Reservations_GetResourceLimits_MaximumSet_Gen.json
*/
/**
* Sample code: Reservations_GetResourceLimits.
@@ -511,7 +742,216 @@ public final class ReservationsGetResourceLimitsSamples {
public static void
reservationsGetResourceLimits(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.reservations()
- .getResourceLimitsWithResponse("rgpurestorage", "storagePoolname", com.azure.core.util.Context.NONE);
+ .getResourceLimitsWithResponse("rgpurestorage", "storagepool-01", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Reservations_LatestLinkedSaaS
+
+```java
+/**
+ * Samples for Reservations LatestLinkedSaaS.
+ */
+public final class ReservationsLatestLinkedSaaSSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/Reservations_LatestLinkedSaaS_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Reservations_LatestLinkedSaaS.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void
+ reservationsLatestLinkedSaaS(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.reservations()
+ .latestLinkedSaaSWithResponse("rgpurestorage", "reservation-01", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Reservations_LinkSaaS
+
+```java
+import com.azure.resourcemanager.purestorageblock.models.LinkSaaSRequest;
+
+/**
+ * Samples for Reservations LinkSaaS.
+ */
+public final class ReservationsLinkSaaSSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/Reservations_LinkSaaS_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Reservations_LinkSaaS.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void
+ reservationsLinkSaaS(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.reservations()
+ .linkSaaS("rgpurestorage", "reservation-01", new LinkSaaSRequest().withSaaSResourceId(
+ "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rgpurestorage/providers/Microsoft.SaaS/resources/saas-resource-01"),
+ com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Reservations_List
+
+```java
+/**
+ * Samples for Reservations List.
+ */
+public final class ReservationsListSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/Reservations_ListBySubscription_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Reservations_ListBySubscription.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void
+ reservationsListBySubscription(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.reservations().list(com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Reservations_ListByResourceGroup
+
+```java
+/**
+ * Samples for Reservations ListByResourceGroup.
+ */
+public final class ReservationsListByResourceGroupSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/Reservations_ListByResourceGroup_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Reservations_ListByResourceGroup.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void
+ reservationsListByResourceGroup(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.reservations().listByResourceGroup("rgpurestorage", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Reservations_Update
+
+```java
+import com.azure.resourcemanager.purestorageblock.models.Address;
+import com.azure.resourcemanager.purestorageblock.models.CompanyDetails;
+import com.azure.resourcemanager.purestorageblock.models.Reservation;
+import com.azure.resourcemanager.purestorageblock.models.ReservationUpdateProperties;
+import com.azure.resourcemanager.purestorageblock.models.UserDetails;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Samples for Reservations Update.
+ */
+public final class ReservationsUpdateSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/Reservations_Update_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Reservations_Update.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void reservationsUpdate(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ Reservation resource = manager.reservations()
+ .getByResourceGroupWithResponse("rgpurestorage", "storagepool-01", com.azure.core.util.Context.NONE)
+ .getValue();
+ resource.update()
+ .withTags(mapOf("key8751", "fakeTokenPlaceholder"))
+ .withProperties(
+ new ReservationUpdateProperties().withUser(new UserDetails().withFirstName("sjzquetrvxcrajxdfwfeuro")
+ .withLastName("qimvqxnlbclfouwzfk")
+ .withEmailAddress("john.doe@contoso.com")
+ .withUpn("pvafwnbigmhuigxfu")
+ .withPhoneNumber("jfljnoxsfsplwczwgvmlurfnorimvl")
+ .withCompanyDetails(new CompanyDetails().withCompanyName("uleytbkckdhaiykwjjcjqmnlik")
+ .withAddress(new Address().withAddressLine1("ryaasdffnhwialrgmukpiwtcjgbb")
+ .withAddressLine2("cvyuuqnvuqfrpkoplfzmhnwrqsbsgn")
+ .withCity("kdpzfxfbgozxwunkkhjthqdsnmce")
+ .withState("fygrbnektar")
+ .withCountry("trmpjpxsfmxprlnv")
+ .withPostalCode("fakeTokenPlaceholder")))))
+ .apply();
+ }
+
+ // Use "Map.of" if available
+ @SuppressWarnings("unchecked")
+ private static Map mapOf(Object... inputs) {
+ Map map = new HashMap<>();
+ for (int i = 0; i < inputs.length; i += 2) {
+ String key = (String) inputs[i];
+ T value = (T) inputs[i + 1];
+ map.put(key, value);
+ }
+ return map;
+ }
+}
+```
+
+### SaaSOperationGroup_ActivateResource
+
+```java
+import com.azure.resourcemanager.purestorageblock.models.ActivateSaaSRequest;
+
+/**
+ * Samples for SaaSOperationGroup ActivateResource.
+ */
+public final class SaaSOperationGroupActivateResourceSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/SaaSOperationGroup_ActivateSaaS_MaximumSet.json
+ */
+ /**
+ * Sample code: SaaSOperationGroup_ActivateResource.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void
+ saaSOperationGroupActivateResource(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.saaSOperationGroups()
+ .activateResource(new ActivateSaaSRequest().withSaasGuid("12345678-1234-5678-1234-567812345678")
+ .withPublisherId("purestorage1234567890"), com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### StoragePools_ConfigurePlatformConsoleAuth
+
+```java
+import com.azure.resourcemanager.purestorageblock.models.PlatformConsoleRole;
+import com.azure.resourcemanager.purestorageblock.models.SshPlatformConsoleAuthConfig;
+
+/**
+ * Samples for StoragePools ConfigurePlatformConsoleAuth.
+ */
+public final class StoragePoolsConfigurePlatformConsoleAuthSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/StoragePools_ConfigurePlatformConsoleAuth_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: StoragePools_ConfigurePlatformConsoleAuth.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void storagePoolsConfigurePlatformConsoleAuth(
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.storagePools()
+ .configurePlatformConsoleAuthWithResponse("rgpurestorage", "storagepool-01",
+ new SshPlatformConsoleAuthConfig().withUsername("alice")
+ .withPublicKey("fakeTokenPlaceholder")
+ .withRole(PlatformConsoleRole.STORAGE_ADMIN),
+ com.azure.core.util.Context.NONE);
}
}
```
@@ -532,7 +972,7 @@ import java.util.Map;
*/
public final class StoragePoolsCreateSamples {
/*
- * x-ms-original-file: 2024-11-01/StoragePools_Create_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/StoragePools_Create_MaximumSet_Gen.json
*/
/**
* Sample code: StoragePools_Create.
@@ -541,17 +981,20 @@ public final class StoragePoolsCreateSamples {
*/
public static void storagePoolsCreate(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.storagePools()
- .define("storagePoolname")
- .withRegion("lonlc")
+ .define("storagepool-01")
+ .withRegion("eastus")
.withExistingResourceGroup("rgpurestorage")
- .withTags(mapOf("key7593", "fakeTokenPlaceholder"))
- .withProperties(new StoragePoolProperties().withAvailabilityZone("vknyl")
- .withVnetInjection(new VnetInjection().withSubnetId("tnlctolrxdvnkjiphlrdxq")
- .withVnetId("zbumtytyqwewjcyckwqchiypshv"))
+ .withTags(mapOf("environment", "production"))
+ .withProperties(new StoragePoolProperties().withAvailabilityZone("1")
+ .withVnetInjection(new VnetInjection().withSubnetId(
+ "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rgpurestorage/providers/Microsoft.Network/virtualNetworks/vnet-01/subnets/subnet-01")
+ .withVnetId(
+ "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rgpurestorage/providers/Microsoft.Network/virtualNetworks/vnet-01"))
.withProvisionedBandwidthMbPerSec(17L)
- .withReservationResourceId("xiowoxnbtcotutcmmrofvgdi"))
+ .withReservationResourceId(
+ "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rgpurestorage/providers/PureStorage.Block/reservations/reservation-01"))
.withIdentity(new ManagedServiceIdentity().withType(ManagedServiceIdentityType.NONE)
- .withUserAssignedIdentities(mapOf("key4211", new UserAssignedIdentity())))
+ .withUserAssignedIdentities(mapOf("identity-01", new UserAssignedIdentity())))
.create();
}
@@ -577,7 +1020,7 @@ public final class StoragePoolsCreateSamples {
*/
public final class StoragePoolsDeleteSamples {
/*
- * x-ms-original-file: 2024-11-01/StoragePools_Delete_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/StoragePools_Delete_MaximumSet_Gen.json
*/
/**
* Sample code: StoragePools_Delete.
@@ -585,7 +1028,7 @@ public final class StoragePoolsDeleteSamples {
* @param manager Entry point to PureStorageBlockManager.
*/
public static void storagePoolsDelete(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
- manager.storagePools().delete("rgpurestorage", "storagePoolname", com.azure.core.util.Context.NONE);
+ manager.storagePools().delete("rgpurestorage", "storagepool-01", com.azure.core.util.Context.NONE);
}
}
```
@@ -598,7 +1041,7 @@ public final class StoragePoolsDeleteSamples {
*/
public final class StoragePoolsDisableAvsConnectionSamples {
/*
- * x-ms-original-file: 2024-11-01/StoragePools_DisableAvsConnection_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/StoragePools_DisableAvsConnection_MaximumSet_Gen.json
*/
/**
* Sample code: StoragePools_DisableAvsConnection.
@@ -608,7 +1051,7 @@ public final class StoragePoolsDisableAvsConnectionSamples {
public static void
storagePoolsDisableAvsConnection(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.storagePools()
- .disableAvsConnection("rgpurestorage", "storagePoolname", com.azure.core.util.Context.NONE);
+ .disableAvsConnection("rgpurestorage", "storagepool-01", com.azure.core.util.Context.NONE);
}
}
```
@@ -623,7 +1066,7 @@ import com.azure.resourcemanager.purestorageblock.models.StoragePoolEnableAvsCon
*/
public final class StoragePoolsEnableAvsConnectionSamples {
/*
- * x-ms-original-file: 2024-11-01/StoragePools_EnableAvsConnection_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/StoragePools_EnableAvsConnection_MaximumSet_Gen.json
*/
/**
* Sample code: StoragePools_EnableAvsConnection.
@@ -633,7 +1076,7 @@ public final class StoragePoolsEnableAvsConnectionSamples {
public static void
storagePoolsEnableAvsConnection(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.storagePools()
- .enableAvsConnection("rgpurestorage", "storagePoolname",
+ .enableAvsConnection("rgpurestorage", "storagepool-01",
new StoragePoolEnableAvsConnectionPost().withClusterResourceId("tghkgktlddwlszbeh"),
com.azure.core.util.Context.NONE);
}
@@ -651,7 +1094,7 @@ import com.azure.resourcemanager.purestorageblock.models.StoragePoolFinalizeAvsC
*/
public final class StoragePoolsFinalizeAvsConnectionSamples {
/*
- * x-ms-original-file: 2024-11-01/StoragePools_FinalizeAvsConnection_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/StoragePools_FinalizeAvsConnection_MaximumSet_Gen.json
*/
/**
* Sample code: StoragePools_FinalizeAvsConnection.
@@ -661,7 +1104,7 @@ public final class StoragePoolsFinalizeAvsConnectionSamples {
public static void
storagePoolsFinalizeAvsConnection(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.storagePools()
- .finalizeAvsConnection("rgpurestorage", "storagePoolname",
+ .finalizeAvsConnection("rgpurestorage", "storagepool-01",
new StoragePoolFinalizeAvsConnectionPost().withServiceInitializationDataEnc("hlgzaxrohv")
.withServiceInitializationData(new ServiceInitializationInfo().withServiceAccountUsername("axchgm")
.withServiceAccountPassword("fakeTokenPlaceholder")
@@ -680,7 +1123,7 @@ public final class StoragePoolsFinalizeAvsConnectionSamples {
*/
public final class StoragePoolsGetAvsConnectionSamples {
/*
- * x-ms-original-file: 2024-11-01/StoragePools_GetAvsConnection_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/StoragePools_GetAvsConnection_MaximumSet_Gen.json
*/
/**
* Sample code: StoragePools_GetAvsConnection.
@@ -690,7 +1133,7 @@ public final class StoragePoolsGetAvsConnectionSamples {
public static void
storagePoolsGetAvsConnection(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.storagePools()
- .getAvsConnectionWithResponse("rgpurestorage", "storagePoolname", com.azure.core.util.Context.NONE);
+ .getAvsConnectionWithResponse("rgpurestorage", "storagepool-01", com.azure.core.util.Context.NONE);
}
}
```
@@ -703,7 +1146,7 @@ public final class StoragePoolsGetAvsConnectionSamples {
*/
public final class StoragePoolsGetAvsStatusSamples {
/*
- * x-ms-original-file: 2024-11-01/StoragePools_GetAvsStatus_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/StoragePools_GetAvsStatus_MaximumSet_Gen.json
*/
/**
* Sample code: StoragePools_GetAvsStatus.
@@ -713,7 +1156,7 @@ public final class StoragePoolsGetAvsStatusSamples {
public static void
storagePoolsGetAvsStatus(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.storagePools()
- .getAvsStatusWithResponse("rgpurestorage", "storagePoolname", com.azure.core.util.Context.NONE);
+ .getAvsStatusWithResponse("rgpurestorage", "storagepool-01", com.azure.core.util.Context.NONE);
}
}
```
@@ -726,7 +1169,7 @@ public final class StoragePoolsGetAvsStatusSamples {
*/
public final class StoragePoolsGetByResourceGroupSamples {
/*
- * x-ms-original-file: 2024-11-01/StoragePools_Get_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/StoragePools_Get_MaximumSet_Gen.json
*/
/**
* Sample code: StoragePools_Get.
@@ -735,7 +1178,7 @@ public final class StoragePoolsGetByResourceGroupSamples {
*/
public static void storagePoolsGet(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.storagePools()
- .getByResourceGroupWithResponse("rgpurestorage", "storagePoolname", com.azure.core.util.Context.NONE);
+ .getByResourceGroupWithResponse("rgpurestorage", "storagepool-01", com.azure.core.util.Context.NONE);
}
}
```
@@ -748,7 +1191,7 @@ public final class StoragePoolsGetByResourceGroupSamples {
*/
public final class StoragePoolsGetHealthStatusSamples {
/*
- * x-ms-original-file: 2024-11-01/StoragePools_GetHealthStatus_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/StoragePools_GetHealthStatus_MaximumSet_Gen.json
*/
/**
* Sample code: StoragePools_GetHealthStatus.
@@ -758,7 +1201,7 @@ public final class StoragePoolsGetHealthStatusSamples {
public static void
storagePoolsGetHealthStatus(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.storagePools()
- .getHealthStatusWithResponse("rgpurestorage", "storagePoolname", com.azure.core.util.Context.NONE);
+ .getHealthStatusWithResponse("rgpurestorage", "storagepool-01", com.azure.core.util.Context.NONE);
}
}
```
@@ -771,7 +1214,7 @@ public final class StoragePoolsGetHealthStatusSamples {
*/
public final class StoragePoolsListSamples {
/*
- * x-ms-original-file: 2024-11-01/StoragePools_ListBySubscription_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/StoragePools_ListBySubscription_MaximumSet_Gen.json
*/
/**
* Sample code: StoragePools_ListBySubscription.
@@ -793,7 +1236,7 @@ public final class StoragePoolsListSamples {
*/
public final class StoragePoolsListByResourceGroupSamples {
/*
- * x-ms-original-file: 2024-11-01/StoragePools_ListByResourceGroup_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/StoragePools_ListByResourceGroup_MaximumSet_Gen.json
*/
/**
* Sample code: StoragePools_ListByResourceGroup.
@@ -807,33 +1250,56 @@ public final class StoragePoolsListByResourceGroupSamples {
}
```
-### StoragePools_RepairAvsConnection
+### StoragePools_ListPlatformConsoleActivationCode
```java
/**
- * Samples for StoragePools RepairAvsConnection.
+ * Samples for StoragePools ListPlatformConsoleActivationCode.
*/
-public final class StoragePoolsRepairAvsConnectionSamples {
+public final class StoragePoolsListPlatformConsoleActivationCodeSamples {
/*
- * x-ms-original-file: 2024-11-01/StoragePools_RepairAvsConnection_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/StoragePools_ListPlatformConsoleActivationCode_MaximumSet_Gen.json
*/
/**
- * Sample code: StoragePools_RepairAvsConnection.
+ * Sample code: StoragePools_ListPlatformConsoleActivationCode.
*
* @param manager Entry point to PureStorageBlockManager.
*/
- public static void
- storagePoolsRepairAvsConnection(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ public static void storagePoolsListPlatformConsoleActivationCode(
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
manager.storagePools()
- .repairAvsConnection("rgpurestorage", "storagePoolname", com.azure.core.util.Context.NONE);
+ .listPlatformConsoleActivationCodeWithResponse("rgpurestorage", "storagepool-01",
+ com.azure.core.util.Context.NONE);
}
}
```
-### StoragePools_Update
+### StoragePools_RepairAvsConnection
```java
-import com.azure.resourcemanager.purestorageblock.models.ManagedServiceIdentity;
+/**
+ * Samples for StoragePools RepairAvsConnection.
+ */
+public final class StoragePoolsRepairAvsConnectionSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/StoragePools_RepairAvsConnection_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: StoragePools_RepairAvsConnection.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void
+ storagePoolsRepairAvsConnection(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.storagePools().repairAvsConnection("rgpurestorage", "storagepool-01", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### StoragePools_Update
+
+```java
+import com.azure.resourcemanager.purestorageblock.models.ManagedServiceIdentity;
import com.azure.resourcemanager.purestorageblock.models.ManagedServiceIdentityType;
import com.azure.resourcemanager.purestorageblock.models.StoragePool;
import com.azure.resourcemanager.purestorageblock.models.StoragePoolUpdateProperties;
@@ -846,7 +1312,7 @@ import java.util.Map;
*/
public final class StoragePoolsUpdateSamples {
/*
- * x-ms-original-file: 2024-11-01/StoragePools_Update_MaximumSet_Gen.json
+ * x-ms-original-file: 2026-05-01-preview/StoragePools_Update_MaximumSet_Gen.json
*/
/**
* Sample code: StoragePools_Update.
@@ -855,12 +1321,12 @@ public final class StoragePoolsUpdateSamples {
*/
public static void storagePoolsUpdate(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
StoragePool resource = manager.storagePools()
- .getByResourceGroupWithResponse("rgpurestorage", "storagePoolname", com.azure.core.util.Context.NONE)
+ .getByResourceGroupWithResponse("rgpurestorage", "storagepool-01", com.azure.core.util.Context.NONE)
.getValue();
resource.update()
.withTags(mapOf("key9065", "fakeTokenPlaceholder"))
.withIdentity(new ManagedServiceIdentity().withType(ManagedServiceIdentityType.NONE)
- .withUserAssignedIdentities(mapOf("key4211", new UserAssignedIdentity())))
+ .withUserAssignedIdentities(mapOf("identity-01", new UserAssignedIdentity())))
.withProperties(new StoragePoolUpdateProperties().withProvisionedBandwidthMbPerSec(23L))
.apply();
}
@@ -879,3 +1345,542 @@ public final class StoragePoolsUpdateSamples {
}
```
+### VolumeGroupSnapshots_Create
+
+```java
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupSnapshotProperties;
+
+/**
+ * Samples for VolumeGroupSnapshots Create.
+ */
+public final class VolumeGroupSnapshotsCreateSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/VolumeGroupSnapshots_Create_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: VolumeGroupSnapshots_Create.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void
+ volumeGroupSnapshotsCreate(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.volumeGroupSnapshots()
+ .define("snapshot-01")
+ .withExistingVolumeGroup("rgpurestorage", "storagepool-01", "volumegroup-01")
+ .withProperties(new VolumeGroupSnapshotProperties().withSourceSnapshotResourceId(
+ "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rgpurestorage/providers/PureStorage.Block/storagePools/storagepool-01/volumeGroups/volumegroup-01/snapshots/snapshot-01"))
+ .create();
+ }
+}
+```
+
+### VolumeGroupSnapshots_Delete
+
+```java
+/**
+ * Samples for VolumeGroupSnapshots Delete.
+ */
+public final class VolumeGroupSnapshotsDeleteSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/VolumeGroupSnapshots_Delete_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: VolumeGroupSnapshots_Delete.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void
+ volumeGroupSnapshotsDelete(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.volumeGroupSnapshots()
+ .delete("rgpurestorage", "storagepool-01", "volumegroup-01", "snapshotdd",
+ com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### VolumeGroupSnapshots_Get
+
+```java
+/**
+ * Samples for VolumeGroupSnapshots Get.
+ */
+public final class VolumeGroupSnapshotsGetSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/VolumeGroupSnapshots_Get_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: VolumeGroupSnapshots_Get.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void
+ volumeGroupSnapshotsGet(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.volumeGroupSnapshots()
+ .getWithResponse("rgpurestorage", "storagepool-01", "volumegroup-01", "01",
+ com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### VolumeGroupSnapshots_ListByVolumeGroup
+
+```java
+/**
+ * Samples for VolumeGroupSnapshots ListByVolumeGroup.
+ */
+public final class VolumeGroupSnapshotsListByVolumeGroupSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/VolumeGroupSnapshots_ListByVolumeGroup_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: VolumeGroupSnapshots_ListByVolumeGroup.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void volumeGroupSnapshotsListByVolumeGroup(
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.volumeGroupSnapshots()
+ .listByVolumeGroup("rgpurestorage", "storagepool-01", "volumegroup-01", null, null, null, null,
+ com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### VolumeGroupSnapshots_ListSnapshots
+
+```java
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupSnapshotListRequest;
+
+/**
+ * Samples for VolumeGroupSnapshots ListSnapshots.
+ */
+public final class VolumeGroupSnapshotsListSnapshotsSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/VolumeGroupSnapshots_ListSnapshots_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: VolumeGroupSnapshots_ListSnapshots.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void
+ volumeGroupSnapshotsListSnapshots(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.volumeGroupSnapshots()
+ .listSnapshotsWithResponse("rgpurestorage", "storagepool-01", "volumegroup-01",
+ new VolumeGroupSnapshotListRequest().withFilter("substringof('snapshot', name)")
+ .withOrderby("name asc")
+ .withTop(10)
+ .withSkip(0),
+ com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### VolumeGroups_Create
+
+```java
+import com.azure.resourcemanager.purestorageblock.models.PerformanceParameters;
+import com.azure.resourcemanager.purestorageblock.models.ProtectionParameters;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupProperties;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupSourceType;
+import java.time.Duration;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Samples for VolumeGroups Create.
+ */
+public final class VolumeGroupsCreateSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/VolumeGroups_Create_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: VolumeGroups_Create.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void volumeGroupsCreate(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.volumeGroups()
+ .define("volumegroup-01")
+ .withRegion("eastus")
+ .withExistingStoragePool("rgpurestorage", "storagepool-01")
+ .withTags(mapOf("environment", "production"))
+ .withProperties(new VolumeGroupProperties().withSourceType(VolumeGroupSourceType.SNAPSHOT)
+ .withSourceSnapshotResourceId(
+ "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rgpurestorage/providers/PureStorage.Block/storagePools/storagepool-01/volumeGroups/volumegroup-src/snapshots/snapshot-01")
+ .withPerformanceParameters(
+ new PerformanceParameters().withBandwidthLimitMbPerSec(500L).withIopsLimit(10000L))
+ .withProtectionParameters(new ProtectionParameters().withRetention(Duration.parse("P7D"))
+ .withFrequency(Duration.parse("PT1H"))))
+ .create();
+ }
+
+ // Use "Map.of" if available
+ @SuppressWarnings("unchecked")
+ private static Map mapOf(Object... inputs) {
+ Map map = new HashMap<>();
+ for (int i = 0; i < inputs.length; i += 2) {
+ String key = (String) inputs[i];
+ T value = (T) inputs[i + 1];
+ map.put(key, value);
+ }
+ return map;
+ }
+}
+```
+
+### VolumeGroups_Delete
+
+```java
+/**
+ * Samples for VolumeGroups Delete.
+ */
+public final class VolumeGroupsDeleteSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/VolumeGroups_Delete_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: VolumeGroups_Delete.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void volumeGroupsDelete(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.volumeGroups()
+ .delete("rgpurestorage", "storagepool-01", "volumegroup-01", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### VolumeGroups_Get
+
+```java
+/**
+ * Samples for VolumeGroups Get.
+ */
+public final class VolumeGroupsGetSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/VolumeGroups_Get_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: VolumeGroups_Get.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void volumeGroupsGet(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.volumeGroups()
+ .getWithResponse("rgpurestorage", "storagepool-01", "volumegroup-01", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### VolumeGroups_GetStatus
+
+```java
+/**
+ * Samples for VolumeGroups GetStatus.
+ */
+public final class VolumeGroupsGetStatusSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/VolumeGroups_GetStatus_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: VolumeGroups_GetStatus.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void
+ volumeGroupsGetStatus(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.volumeGroups()
+ .getStatusWithResponse("rgpurestorage", "storagepool-01", "volumegroup-01",
+ com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### VolumeGroups_ListByStoragePool
+
+```java
+/**
+ * Samples for VolumeGroups ListByStoragePool.
+ */
+public final class VolumeGroupsListByStoragePoolSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/VolumeGroups_ListByStoragePool_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: VolumeGroups_ListByStoragePool.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void
+ volumeGroupsListByStoragePool(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.volumeGroups().listByStoragePool("rgpurestorage", "storagepool-01", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### VolumeGroups_ListConnectionParameters
+
+```java
+/**
+ * Samples for VolumeGroups ListConnectionParameters.
+ */
+public final class VolumeGroupsListConnectionParametersSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/VolumeGroups_ListConnectionParameters_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: VolumeGroups_ListConnectionParameters.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void volumeGroupsListConnectionParameters(
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.volumeGroups()
+ .listConnectionParametersWithResponse("rgpurestorage", "storagepool-01", "volumegroup-01",
+ com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### VolumeGroups_Overwrite
+
+```java
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupOverwriteRequest;
+
+/**
+ * Samples for VolumeGroups Overwrite.
+ */
+public final class VolumeGroupsOverwriteSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/VolumeGroups_Overwrite_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: VolumeGroups_Overwrite.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void
+ volumeGroupsOverwrite(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.volumeGroups()
+ .overwrite("rgpurestorage", "storagepool-01", "volumegroup-01", new VolumeGroupOverwriteRequest()
+ .withSourceSnapshotResourceId(
+ "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rgpurestorage/providers/PureStorage.Block/storagePools/storagepool-01/volumeGroups/volumegroup-01/snapshots/snapshot-01")
+ .withSourceVolumeGroupResourceId(
+ "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rgpurestorage/providers/PureStorage.Block/storagePools/storagepool-01/volumeGroups/volumegroup-01"),
+ com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### VolumeGroups_Update
+
+```java
+import com.azure.resourcemanager.purestorageblock.models.PerformanceParameters;
+import com.azure.resourcemanager.purestorageblock.models.ProtectionParameters;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroup;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupUpdateProperties;
+import java.time.Duration;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Samples for VolumeGroups Update.
+ */
+public final class VolumeGroupsUpdateSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/VolumeGroups_Update_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: VolumeGroups_Update.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void volumeGroupsUpdate(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ VolumeGroup resource = manager.volumeGroups()
+ .getWithResponse("rgpurestorage", "storagepool-01", "volumegroup-01", com.azure.core.util.Context.NONE)
+ .getValue();
+ resource.update()
+ .withTags(mapOf("environment", "production"))
+ .withProperties(new VolumeGroupUpdateProperties()
+ .withPerformanceParameters(
+ new PerformanceParameters().withBandwidthLimitMbPerSec(750L).withIopsLimit(15000L))
+ .withProtectionParameters(new ProtectionParameters().withRetention(Duration.parse("P14D"))
+ .withFrequency(Duration.parse("PT2H"))))
+ .apply();
+ }
+
+ // Use "Map.of" if available
+ @SuppressWarnings("unchecked")
+ private static Map mapOf(Object... inputs) {
+ Map map = new HashMap<>();
+ for (int i = 0; i < inputs.length; i += 2) {
+ String key = (String) inputs[i];
+ T value = (T) inputs[i + 1];
+ map.put(key, value);
+ }
+ return map;
+ }
+}
+```
+
+### Volumes_Create
+
+```java
+import com.azure.resourcemanager.purestorageblock.models.AzureVolumeProperties;
+import com.azure.resourcemanager.purestorageblock.models.VolumeSourceType;
+
+/**
+ * Samples for Volumes Create.
+ */
+public final class VolumesCreateSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/Volumes_Create_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Volumes_Create.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void volumesCreate(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.volumes()
+ .define("volume-01")
+ .withExistingVolumeGroup("rgpurestorage", "storagepool-01", "volumegroup-01")
+ .withProperties(new AzureVolumeProperties().withProvisionedSize(10737418240L)
+ .withSourceVolumeResourceId(
+ "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rgpurestorage/providers/PureStorage.Block/storagePools/storagepool-01/volumeGroups/volumegroup-01/volumes/source-volume")
+ .withSourceType(VolumeSourceType.VOLUME))
+ .create();
+ }
+}
+```
+
+### Volumes_Delete
+
+```java
+/**
+ * Samples for Volumes Delete.
+ */
+public final class VolumesDeleteSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/Volumes_Delete_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Volumes_Delete.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void volumesDelete(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.volumes()
+ .delete("rgpurestorage", "storagepool-01", "volumegroup-01", "volume-01", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Volumes_Get
+
+```java
+/**
+ * Samples for Volumes Get.
+ */
+public final class VolumesGetSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/Volumes_Get_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Volumes_Get.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void volumesGet(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.volumes()
+ .getWithResponse("rgpurestorage", "storagepool-01", "volumegroup-01", "volume-01",
+ com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Volumes_ListByVolumeGroup
+
+```java
+/**
+ * Samples for Volumes ListByVolumeGroup.
+ */
+public final class VolumesListByVolumeGroupSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/Volumes_ListByVolumeGroup_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Volumes_ListByVolumeGroup.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void
+ volumesListByVolumeGroup(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.volumes()
+ .listByVolumeGroup("rgpurestorage", "storagepool-01", "volumegroup-01", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Volumes_Overwrite
+
+```java
+import com.azure.resourcemanager.purestorageblock.models.VolumeOverwriteRequest;
+import com.azure.resourcemanager.purestorageblock.models.VolumeSnapshotSource;
+import com.azure.resourcemanager.purestorageblock.models.VolumeSourceType;
+
+/**
+ * Samples for Volumes Overwrite.
+ */
+public final class VolumesOverwriteSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/Volumes_Overwrite_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Volumes_Overwrite.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void volumesOverwrite(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ manager.volumes()
+ .overwrite("rgpurestorage", "storagepool-01", "volumegroup-01", "volume-01", new VolumeOverwriteRequest()
+ .withSourceType(VolumeSourceType.SNAPSHOT)
+ .withSourceVolumeGroupResourceId(
+ "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rgpurestorage/providers/PureStorage.Block/storagePools/storagepool-01/volumeGroups/volumegroup-01")
+ .withSourceVolumeSnapshot(new VolumeSnapshotSource().withVolumeGroupSnapshotResourceId(
+ "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rgpurestorage/providers/PureStorage.Block/storagePools/storagepool-01/volumeGroups/volumegroup-01/snapshots/snapshot-01")
+ .withVolumeSnapshotName("volume-01")),
+ com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Volumes_Update
+
+```java
+import com.azure.resourcemanager.purestorageblock.models.Volume;
+import com.azure.resourcemanager.purestorageblock.models.VolumeUpdateProperties;
+
+/**
+ * Samples for Volumes Update.
+ */
+public final class VolumesUpdateSamples {
+ /*
+ * x-ms-original-file: 2026-05-01-preview/Volumes_Update_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Volumes_Update.
+ *
+ * @param manager Entry point to PureStorageBlockManager.
+ */
+ public static void volumesUpdate(com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager) {
+ Volume resource = manager.volumes()
+ .getWithResponse("rgpurestorage", "storagepool-01", "volumegroup-01", "volume-01",
+ com.azure.core.util.Context.NONE)
+ .getValue();
+ resource.update().withProperties(new VolumeUpdateProperties().withProvisionedSize(21474836480L)).apply();
+ }
+}
+```
+
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/pom.xml b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/pom.xml
index 0d9c4d485480..2cbf8f80dacf 100644
--- a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/pom.xml
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/pom.xml
@@ -3,7 +3,7 @@
~ Licensed under the MIT License.
~ Code generated by Microsoft (R) TypeSpec Code Generator.
-->
-
+
4.0.0
com.azure
@@ -18,7 +18,7 @@
jar
Microsoft Azure SDK for Pure Storage Block Management
- This package contains Microsoft Azure SDK for Pure Storage Block Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Package api-version 2024-11-01.
+ This package contains Microsoft Azure SDK for Pure Storage Block Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Package api-version 2026-05-01-preview.
https://github.com/Azure/azure-sdk-for-java
@@ -45,6 +45,7 @@
UTF-8
0
0
+ true
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/PureStorageBlockManager.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/PureStorageBlockManager.java
index be7b9cef74fa..882da1949294 100644
--- a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/PureStorageBlockManager.java
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/PureStorageBlockManager.java
@@ -31,15 +31,25 @@
import com.azure.resourcemanager.purestorageblock.implementation.AvsVmsImpl;
import com.azure.resourcemanager.purestorageblock.implementation.OperationsImpl;
import com.azure.resourcemanager.purestorageblock.implementation.PureStorageBlockMgmtClientBuilder;
+import com.azure.resourcemanager.purestorageblock.implementation.RecoverableVolumeGroupsImpl;
import com.azure.resourcemanager.purestorageblock.implementation.ReservationsImpl;
+import com.azure.resourcemanager.purestorageblock.implementation.SaaSOperationGroupsImpl;
import com.azure.resourcemanager.purestorageblock.implementation.StoragePoolsImpl;
+import com.azure.resourcemanager.purestorageblock.implementation.VolumeGroupSnapshotsImpl;
+import com.azure.resourcemanager.purestorageblock.implementation.VolumeGroupsImpl;
+import com.azure.resourcemanager.purestorageblock.implementation.VolumesImpl;
import com.azure.resourcemanager.purestorageblock.models.AvsStorageContainerVolumes;
import com.azure.resourcemanager.purestorageblock.models.AvsStorageContainers;
import com.azure.resourcemanager.purestorageblock.models.AvsVmVolumes;
import com.azure.resourcemanager.purestorageblock.models.AvsVms;
import com.azure.resourcemanager.purestorageblock.models.Operations;
+import com.azure.resourcemanager.purestorageblock.models.RecoverableVolumeGroups;
import com.azure.resourcemanager.purestorageblock.models.Reservations;
+import com.azure.resourcemanager.purestorageblock.models.SaaSOperationGroups;
import com.azure.resourcemanager.purestorageblock.models.StoragePools;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupSnapshots;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroups;
+import com.azure.resourcemanager.purestorageblock.models.Volumes;
import java.time.Duration;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
@@ -66,6 +76,16 @@ public final class PureStorageBlockManager {
private AvsVmVolumes avsVmVolumes;
+ private VolumeGroups volumeGroups;
+
+ private Volumes volumes;
+
+ private RecoverableVolumeGroups recoverableVolumeGroups;
+
+ private SaaSOperationGroups saaSOperationGroups;
+
+ private VolumeGroupSnapshots volumeGroupSnapshots;
+
private final PureStorageBlockMgmtClient clientObject;
private PureStorageBlockManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
@@ -366,6 +386,67 @@ public AvsVmVolumes avsVmVolumes() {
return avsVmVolumes;
}
+ /**
+ * Gets the resource collection API of VolumeGroups. It manages VolumeGroup.
+ *
+ * @return Resource collection API of VolumeGroups.
+ */
+ public VolumeGroups volumeGroups() {
+ if (this.volumeGroups == null) {
+ this.volumeGroups = new VolumeGroupsImpl(clientObject.getVolumeGroups(), this);
+ }
+ return volumeGroups;
+ }
+
+ /**
+ * Gets the resource collection API of Volumes. It manages Volume.
+ *
+ * @return Resource collection API of Volumes.
+ */
+ public Volumes volumes() {
+ if (this.volumes == null) {
+ this.volumes = new VolumesImpl(clientObject.getVolumes(), this);
+ }
+ return volumes;
+ }
+
+ /**
+ * Gets the resource collection API of RecoverableVolumeGroups.
+ *
+ * @return Resource collection API of RecoverableVolumeGroups.
+ */
+ public RecoverableVolumeGroups recoverableVolumeGroups() {
+ if (this.recoverableVolumeGroups == null) {
+ this.recoverableVolumeGroups
+ = new RecoverableVolumeGroupsImpl(clientObject.getRecoverableVolumeGroups(), this);
+ }
+ return recoverableVolumeGroups;
+ }
+
+ /**
+ * Gets the resource collection API of SaaSOperationGroups.
+ *
+ * @return Resource collection API of SaaSOperationGroups.
+ */
+ public SaaSOperationGroups saaSOperationGroups() {
+ if (this.saaSOperationGroups == null) {
+ this.saaSOperationGroups = new SaaSOperationGroupsImpl(clientObject.getSaaSOperationGroups(), this);
+ }
+ return saaSOperationGroups;
+ }
+
+ /**
+ * Gets the resource collection API of VolumeGroupSnapshots. It manages VolumeGroupSnapshot.
+ *
+ * @return Resource collection API of VolumeGroupSnapshots.
+ */
+ public VolumeGroupSnapshots volumeGroupSnapshots() {
+ if (this.volumeGroupSnapshots == null) {
+ this.volumeGroupSnapshots = new VolumeGroupSnapshotsImpl(clientObject.getVolumeGroupSnapshots(), this);
+ }
+ return volumeGroupSnapshots;
+ }
+
/**
* Gets wrapped service client PureStorageBlockMgmtClient providing direct access to the underlying auto-generated
* API implementation, based on Azure REST API.
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/PureStorageBlockMgmtClient.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/PureStorageBlockMgmtClient.java
index 82cad8f93ef0..c90719e9c2af 100644
--- a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/PureStorageBlockMgmtClient.java
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/PureStorageBlockMgmtClient.java
@@ -94,4 +94,39 @@ public interface PureStorageBlockMgmtClient {
* @return the AvsVmVolumesClient object.
*/
AvsVmVolumesClient getAvsVmVolumes();
+
+ /**
+ * Gets the VolumeGroupsClient object to access its operations.
+ *
+ * @return the VolumeGroupsClient object.
+ */
+ VolumeGroupsClient getVolumeGroups();
+
+ /**
+ * Gets the VolumesClient object to access its operations.
+ *
+ * @return the VolumesClient object.
+ */
+ VolumesClient getVolumes();
+
+ /**
+ * Gets the RecoverableVolumeGroupsClient object to access its operations.
+ *
+ * @return the RecoverableVolumeGroupsClient object.
+ */
+ RecoverableVolumeGroupsClient getRecoverableVolumeGroups();
+
+ /**
+ * Gets the SaaSOperationGroupsClient object to access its operations.
+ *
+ * @return the SaaSOperationGroupsClient object.
+ */
+ SaaSOperationGroupsClient getSaaSOperationGroups();
+
+ /**
+ * Gets the VolumeGroupSnapshotsClient object to access its operations.
+ *
+ * @return the VolumeGroupSnapshotsClient object.
+ */
+ VolumeGroupSnapshotsClient getVolumeGroupSnapshots();
}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/RecoverableVolumeGroupsClient.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/RecoverableVolumeGroupsClient.java
new file mode 100644
index 000000000000..8265d8acc06d
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/RecoverableVolumeGroupsClient.java
@@ -0,0 +1,136 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.purestorageblock.fluent.models.RecoverableVolumeGroupInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in RecoverableVolumeGroupsClient.
+ */
+public interface RecoverableVolumeGroupsClient {
+ /**
+ * Get a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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 a recoverable volume group along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String storagePoolName,
+ String recoverableVolumeGroupName, Context context);
+
+ /**
+ * Get a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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 a recoverable volume group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecoverableVolumeGroupInner get(String resourceGroupName, String storagePoolName,
+ String recoverableVolumeGroupName);
+
+ /**
+ * List all recoverable volume groups in a storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @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 of a RecoverableVolumeGroup list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByStoragePool(String resourceGroupName, String storagePoolName);
+
+ /**
+ * List all recoverable volume groups in a storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @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 of a RecoverableVolumeGroup list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByStoragePool(String resourceGroupName, String storagePoolName,
+ Context context);
+
+ /**
+ * Eradicate a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String storagePoolName,
+ String recoverableVolumeGroupName);
+
+ /**
+ * Eradicate a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String storagePoolName,
+ String recoverableVolumeGroupName, Context context);
+
+ /**
+ * Eradicate a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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 delete(String resourceGroupName, String storagePoolName, String recoverableVolumeGroupName);
+
+ /**
+ * Eradicate a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String storagePoolName, String recoverableVolumeGroupName, Context context);
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/ReservationsClient.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/ReservationsClient.java
index a98a4ffc040c..72ec675a20c6 100644
--- a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/ReservationsClient.java
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/ReservationsClient.java
@@ -11,10 +11,12 @@
import com.azure.core.management.polling.PollResult;
import com.azure.core.util.Context;
import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.purestorageblock.fluent.models.LatestLinkedSaaSResponseInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.LimitDetailsInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.ReservationBillingStatusInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.ReservationBillingUsageReportInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.ReservationInner;
+import com.azure.resourcemanager.purestorageblock.models.LinkSaaSRequest;
import com.azure.resourcemanager.purestorageblock.models.ReservationUpdate;
/**
@@ -354,4 +356,100 @@ Response getBillingReportWithResponse(String
*/
@ServiceMethod(returns = ReturnType.SINGLE)
ReservationBillingUsageReportInner getBillingReport(String resourceGroupName, String reservationName);
+
+ /**
+ * Links a new SaaS to the reservation.
+ *
+ * A long-running resource action.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @param body The content of the action 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.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ReservationInner> beginLinkSaaS(String resourceGroupName,
+ String reservationName, LinkSaaSRequest body);
+
+ /**
+ * Links a new SaaS to the reservation.
+ *
+ * A long-running resource action.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @param body The content of the action 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ReservationInner> beginLinkSaaS(String resourceGroupName,
+ String reservationName, LinkSaaSRequest body, Context context);
+
+ /**
+ * Links a new SaaS to the reservation.
+ *
+ * A long-running resource action.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @param body The content of the action 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.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ReservationInner linkSaaS(String resourceGroupName, String reservationName, LinkSaaSRequest body);
+
+ /**
+ * Links a new SaaS to the reservation.
+ *
+ * A long-running resource action.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @param body The content of the action 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)
+ ReservationInner linkSaaS(String resourceGroupName, String reservationName, LinkSaaSRequest body, Context context);
+
+ /**
+ * Returns the latest SaaS linked to the reservation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @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 response of get latest linked SaaS resource operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response latestLinkedSaaSWithResponse(String resourceGroupName,
+ String reservationName, Context context);
+
+ /**
+ * Returns the latest SaaS linked to the reservation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @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 response of get latest linked SaaS resource operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LatestLinkedSaaSResponseInner latestLinkedSaaS(String resourceGroupName, String reservationName);
}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/SaaSOperationGroupsClient.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/SaaSOperationGroupsClient.java
new file mode 100644
index 000000000000..53e35cce3c0e
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/SaaSOperationGroupsClient.java
@@ -0,0 +1,70 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.purestorageblock.fluent.models.SaaSResourceDetailsResponseInner;
+import com.azure.resourcemanager.purestorageblock.models.ActivateSaaSRequest;
+
+/**
+ * An instance of this class provides access to all the operations defined in SaaSOperationGroupsClient.
+ */
+public interface SaaSOperationGroupsClient {
+ /**
+ * Activate the SaaS resource.
+ *
+ * @param body The request body.
+ * @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 {@link SyncPoller} for polling of marketplace SaaS resource details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SaaSResourceDetailsResponseInner>
+ beginActivateResource(ActivateSaaSRequest body);
+
+ /**
+ * Activate the SaaS resource.
+ *
+ * @param body The request body.
+ * @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 {@link SyncPoller} for polling of marketplace SaaS resource details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SaaSResourceDetailsResponseInner>
+ beginActivateResource(ActivateSaaSRequest body, Context context);
+
+ /**
+ * Activate the SaaS resource.
+ *
+ * @param body The request body.
+ * @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 marketplace SaaS resource details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SaaSResourceDetailsResponseInner activateResource(ActivateSaaSRequest body);
+
+ /**
+ * Activate the SaaS resource.
+ *
+ * @param body The request body.
+ * @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 marketplace SaaS resource details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SaaSResourceDetailsResponseInner activateResource(ActivateSaaSRequest body, Context context);
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/StoragePoolsClient.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/StoragePoolsClient.java
index e8241397e854..686c7884025c 100644
--- a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/StoragePoolsClient.java
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/StoragePoolsClient.java
@@ -13,8 +13,11 @@
import com.azure.core.util.polling.SyncPoller;
import com.azure.resourcemanager.purestorageblock.fluent.models.AvsConnectionInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.AvsStatusInner;
+import com.azure.resourcemanager.purestorageblock.fluent.models.PlatformConsoleActivationCodeInner;
+import com.azure.resourcemanager.purestorageblock.fluent.models.PlatformConsoleAuthResultInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.StoragePoolHealthInfoInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.StoragePoolInner;
+import com.azure.resourcemanager.purestorageblock.models.PlatformConsoleAuthConfig;
import com.azure.resourcemanager.purestorageblock.models.StoragePoolEnableAvsConnectionPost;
import com.azure.resourcemanager.purestorageblock.models.StoragePoolFinalizeAvsConnectionPost;
import com.azure.resourcemanager.purestorageblock.models.StoragePoolUpdate;
@@ -581,4 +584,64 @@ SyncPoller, Void> beginRepairAvsConnection(String resourceGroup
*/
@ServiceMethod(returns = ReturnType.SINGLE)
void repairAvsConnection(String resourceGroupName, String storagePoolName, Context context);
+
+ /**
+ * Returns a one-time activation code for platform console access to the storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @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 one-time activation code for platform console access along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listPlatformConsoleActivationCodeWithResponse(String resourceGroupName,
+ String storagePoolName, Context context);
+
+ /**
+ * Returns a one-time activation code for platform console access to the storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @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 one-time activation code for platform console access.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PlatformConsoleActivationCodeInner listPlatformConsoleActivationCode(String resourceGroupName,
+ String storagePoolName);
+
+ /**
+ * Configure authentication settings for platform console access to the storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param config Platform console authentication configuration.
+ * @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 base model for platform console authentication result along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response configurePlatformConsoleAuthWithResponse(String resourceGroupName,
+ String storagePoolName, PlatformConsoleAuthConfig config, Context context);
+
+ /**
+ * Configure authentication settings for platform console access to the storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param config Platform console authentication configuration.
+ * @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 base model for platform console authentication result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PlatformConsoleAuthResultInner configurePlatformConsoleAuth(String resourceGroupName, String storagePoolName,
+ PlatformConsoleAuthConfig config);
}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/VolumeGroupSnapshotsClient.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/VolumeGroupSnapshotsClient.java
new file mode 100644
index 000000000000..c4d806902b48
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/VolumeGroupSnapshotsClient.java
@@ -0,0 +1,261 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.purestorageblock.fluent.models.VolumeGroupSnapshotInner;
+import com.azure.resourcemanager.purestorageblock.fluent.models.VolumeGroupSnapshotPostListResultInner;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupSnapshotListRequest;
+
+/**
+ * An instance of this class provides access to all the operations defined in VolumeGroupSnapshotsClient.
+ */
+public interface VolumeGroupSnapshotsClient {
+ /**
+ * Get a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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 a volume group snapshot along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String snapshotName, Context context);
+
+ /**
+ * Get a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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 a volume group snapshot.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VolumeGroupSnapshotInner get(String resourceGroupName, String storagePoolName, String volumeGroupName,
+ String snapshotName);
+
+ /**
+ * Create a manual snapshot of a volume group, or recover from an existing snapshot by providing
+ * sourceSnapshotResourceId.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @param resource Resource create parameters.
+ * @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 {@link SyncPoller} for polling of a snapshot of a volume group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VolumeGroupSnapshotInner> beginCreate(String resourceGroupName,
+ String storagePoolName, String volumeGroupName, String snapshotName, VolumeGroupSnapshotInner resource);
+
+ /**
+ * Create a manual snapshot of a volume group, or recover from an existing snapshot by providing
+ * sourceSnapshotResourceId.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @param resource Resource create parameters.
+ * @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 {@link SyncPoller} for polling of a snapshot of a volume group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VolumeGroupSnapshotInner> beginCreate(String resourceGroupName,
+ String storagePoolName, String volumeGroupName, String snapshotName, VolumeGroupSnapshotInner resource,
+ Context context);
+
+ /**
+ * Create a manual snapshot of a volume group, or recover from an existing snapshot by providing
+ * sourceSnapshotResourceId.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @param resource Resource create parameters.
+ * @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 a snapshot of a volume group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VolumeGroupSnapshotInner create(String resourceGroupName, String storagePoolName, String volumeGroupName,
+ String snapshotName, VolumeGroupSnapshotInner resource);
+
+ /**
+ * Create a manual snapshot of a volume group, or recover from an existing snapshot by providing
+ * sourceSnapshotResourceId.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @param resource Resource create parameters.
+ * @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 a snapshot of a volume group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VolumeGroupSnapshotInner create(String resourceGroupName, String storagePoolName, String volumeGroupName,
+ String snapshotName, VolumeGroupSnapshotInner resource, Context context);
+
+ /**
+ * Delete a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String snapshotName);
+
+ /**
+ * Delete a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String snapshotName, Context context);
+
+ /**
+ * Delete a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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 delete(String resourceGroupName, String storagePoolName, String volumeGroupName, String snapshotName);
+
+ /**
+ * Delete a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String storagePoolName, String volumeGroupName, String snapshotName,
+ Context context);
+
+ /**
+ * List all snapshots for a given volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @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 paged list result for volume group snapshots as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByVolumeGroup(String resourceGroupName, String storagePoolName,
+ String volumeGroupName);
+
+ /**
+ * List all snapshots for a given volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param filter OData filter expression (e.g. $filter=substringof('sna', name) and space/unique gt 1000).
+ * @param orderby OData order-by expression (e.g. $orderby=name asc).
+ * @param top Maximum number of results to return per page.
+ * @param skip Number of results to skip (page offset).
+ * @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 paged list result for volume group snapshots as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByVolumeGroup(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String filter, String orderby, Integer top, Integer skip, Context context);
+
+ /**
+ * List all snapshots for a given volume group using POST with the same request and response contract.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param properties Snapshot list request payload.
+ * @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 list result for volume group snapshots returned by the listSnapshots POST action along with
+ * {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listSnapshotsWithResponse(String resourceGroupName,
+ String storagePoolName, String volumeGroupName, VolumeGroupSnapshotListRequest properties, Context context);
+
+ /**
+ * List all snapshots for a given volume group using POST with the same request and response contract.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param properties Snapshot list request payload.
+ * @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 list result for volume group snapshots returned by the listSnapshots POST action.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VolumeGroupSnapshotPostListResultInner listSnapshots(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, VolumeGroupSnapshotListRequest properties);
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/VolumeGroupsClient.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/VolumeGroupsClient.java
new file mode 100644
index 000000000000..9d73fae1c40a
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/VolumeGroupsClient.java
@@ -0,0 +1,396 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.purestorageblock.fluent.models.ConnectionParametersResponseInner;
+import com.azure.resourcemanager.purestorageblock.fluent.models.VolumeGroupInner;
+import com.azure.resourcemanager.purestorageblock.fluent.models.VolumeGroupStatusInner;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupOverwriteRequest;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupUpdate;
+
+/**
+ * An instance of this class provides access to all the operations defined in VolumeGroupsClient.
+ */
+public interface VolumeGroupsClient {
+ /**
+ * Get a volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @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 a volume group along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String storagePoolName, String volumeGroupName,
+ Context context);
+
+ /**
+ * Get a volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @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 a volume group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VolumeGroupInner get(String resourceGroupName, String storagePoolName, String volumeGroupName);
+
+ /**
+ * Create a volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param resource Resource create parameters.
+ * @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 {@link SyncPoller} for polling of volume Group resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VolumeGroupInner> beginCreate(String resourceGroupName,
+ String storagePoolName, String volumeGroupName, VolumeGroupInner resource);
+
+ /**
+ * Create a volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param resource Resource create parameters.
+ * @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 {@link SyncPoller} for polling of volume Group resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VolumeGroupInner> beginCreate(String resourceGroupName,
+ String storagePoolName, String volumeGroupName, VolumeGroupInner resource, Context context);
+
+ /**
+ * Create a volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param resource Resource create parameters.
+ * @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 volume Group resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VolumeGroupInner create(String resourceGroupName, String storagePoolName, String volumeGroupName,
+ VolumeGroupInner resource);
+
+ /**
+ * Create a volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param resource Resource create parameters.
+ * @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 volume Group resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VolumeGroupInner create(String resourceGroupName, String storagePoolName, String volumeGroupName,
+ VolumeGroupInner resource, Context context);
+
+ /**
+ * Update a volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param properties The resource properties to be updated.
+ * @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 {@link SyncPoller} for polling of volume Group resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VolumeGroupInner> beginUpdate(String resourceGroupName,
+ String storagePoolName, String volumeGroupName, VolumeGroupUpdate properties);
+
+ /**
+ * Update a volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param properties The resource properties to be updated.
+ * @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 {@link SyncPoller} for polling of volume Group resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VolumeGroupInner> beginUpdate(String resourceGroupName,
+ String storagePoolName, String volumeGroupName, VolumeGroupUpdate properties, Context context);
+
+ /**
+ * Update a volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param properties The resource properties to be updated.
+ * @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 volume Group resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VolumeGroupInner update(String resourceGroupName, String storagePoolName, String volumeGroupName,
+ VolumeGroupUpdate properties);
+
+ /**
+ * Update a volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param properties The resource properties to be updated.
+ * @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 volume Group resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VolumeGroupInner update(String resourceGroupName, String storagePoolName, String volumeGroupName,
+ VolumeGroupUpdate properties, Context context);
+
+ /**
+ * Delete a volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String storagePoolName,
+ String volumeGroupName);
+
+ /**
+ * Delete a volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, Context context);
+
+ /**
+ * Delete a volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @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 delete(String resourceGroupName, String storagePoolName, String volumeGroupName);
+
+ /**
+ * Delete a volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String storagePoolName, String volumeGroupName, Context context);
+
+ /**
+ * List volume groups by storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @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 of a VolumeGroup list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByStoragePool(String resourceGroupName, String storagePoolName);
+
+ /**
+ * List volume groups by storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @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 of a VolumeGroup list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByStoragePool(String resourceGroupName, String storagePoolName,
+ Context context);
+
+ /**
+ * Get connection parameters for ISCSI connection to the volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @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 connection parameters for ISCSI connection to the volume group along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listConnectionParametersWithResponse(String resourceGroupName,
+ String storagePoolName, String volumeGroupName, Context context);
+
+ /**
+ * Get connection parameters for ISCSI connection to the volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @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 connection parameters for ISCSI connection to the volume group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectionParametersResponseInner listConnectionParameters(String resourceGroupName, String storagePoolName,
+ String volumeGroupName);
+
+ /**
+ * Get current status and space information of the volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @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 current status and space information of the volume group along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getStatusWithResponse(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, Context context);
+
+ /**
+ * Get current status and space information of the volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @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 current status and space information of the volume group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VolumeGroupStatusInner getStatus(String resourceGroupName, String storagePoolName, String volumeGroupName);
+
+ /**
+ * Restores a volume group to a specific snapshot state, including volume structure and data.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param body The content of the action 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.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginOverwrite(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, VolumeGroupOverwriteRequest body);
+
+ /**
+ * Restores a volume group to a specific snapshot state, including volume structure and data.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param body The content of the action 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginOverwrite(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, VolumeGroupOverwriteRequest body, Context context);
+
+ /**
+ * Restores a volume group to a specific snapshot state, including volume structure and data.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param body The content of the action 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 overwrite(String resourceGroupName, String storagePoolName, String volumeGroupName,
+ VolumeGroupOverwriteRequest body);
+
+ /**
+ * Restores a volume group to a specific snapshot state, including volume structure and data.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param body The content of the action 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void overwrite(String resourceGroupName, String storagePoolName, String volumeGroupName,
+ VolumeGroupOverwriteRequest body, Context context);
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/VolumesClient.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/VolumesClient.java
new file mode 100644
index 000000000000..6987a076aab4
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/VolumesClient.java
@@ -0,0 +1,373 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.purestorageblock.fluent.models.VolumeInner;
+import com.azure.resourcemanager.purestorageblock.models.VolumeOverwriteRequest;
+import com.azure.resourcemanager.purestorageblock.models.VolumeUpdate;
+
+/**
+ * An instance of this class provides access to all the operations defined in VolumesClient.
+ */
+public interface VolumesClient {
+ /**
+ * Get a volume.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param volumeName Name of the volume. Maximum length is 40 characters during creation; names up to 64 characters
+ * may appear in list and get responses for system-generated volumes.
+ * @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 a volume along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String storagePoolName, String volumeGroupName,
+ String volumeName, Context context);
+
+ /**
+ * Get a volume.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param volumeName Name of the volume. Maximum length is 40 characters during creation; names up to 64 characters
+ * may appear in list and get responses for system-generated volumes.
+ * @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 a volume.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VolumeInner get(String resourceGroupName, String storagePoolName, String volumeGroupName, String volumeName);
+
+ /**
+ * Create a volume.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param volumeName Name of the volume. Maximum length is 40 characters during creation; names up to 64 characters
+ * may appear in list and get responses for system-generated volumes.
+ * @param resource Resource create parameters.
+ * @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 {@link SyncPoller} for polling of azure Volume resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VolumeInner> beginCreate(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String volumeName, VolumeInner resource);
+
+ /**
+ * Create a volume.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param volumeName Name of the volume. Maximum length is 40 characters during creation; names up to 64 characters
+ * may appear in list and get responses for system-generated volumes.
+ * @param resource Resource create parameters.
+ * @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 {@link SyncPoller} for polling of azure Volume resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VolumeInner> beginCreate(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String volumeName, VolumeInner resource, Context context);
+
+ /**
+ * Create a volume.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param volumeName Name of the volume. Maximum length is 40 characters during creation; names up to 64 characters
+ * may appear in list and get responses for system-generated volumes.
+ * @param resource Resource create parameters.
+ * @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 azure Volume resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VolumeInner create(String resourceGroupName, String storagePoolName, String volumeGroupName, String volumeName,
+ VolumeInner resource);
+
+ /**
+ * Create a volume.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param volumeName Name of the volume. Maximum length is 40 characters during creation; names up to 64 characters
+ * may appear in list and get responses for system-generated volumes.
+ * @param resource Resource create parameters.
+ * @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 azure Volume resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VolumeInner create(String resourceGroupName, String storagePoolName, String volumeGroupName, String volumeName,
+ VolumeInner resource, Context context);
+
+ /**
+ * Update a volume.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param volumeName Name of the volume. Maximum length is 40 characters during creation; names up to 64 characters
+ * may appear in list and get responses for system-generated volumes.
+ * @param properties The resource properties to be updated.
+ * @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 {@link SyncPoller} for polling of azure Volume resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VolumeInner> beginUpdate(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String volumeName, VolumeUpdate properties);
+
+ /**
+ * Update a volume.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param volumeName Name of the volume. Maximum length is 40 characters during creation; names up to 64 characters
+ * may appear in list and get responses for system-generated volumes.
+ * @param properties The resource properties to be updated.
+ * @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 {@link SyncPoller} for polling of azure Volume resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VolumeInner> beginUpdate(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String volumeName, VolumeUpdate properties, Context context);
+
+ /**
+ * Update a volume.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param volumeName Name of the volume. Maximum length is 40 characters during creation; names up to 64 characters
+ * may appear in list and get responses for system-generated volumes.
+ * @param properties The resource properties to be updated.
+ * @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 azure Volume resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VolumeInner update(String resourceGroupName, String storagePoolName, String volumeGroupName, String volumeName,
+ VolumeUpdate properties);
+
+ /**
+ * Update a volume.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param volumeName Name of the volume. Maximum length is 40 characters during creation; names up to 64 characters
+ * may appear in list and get responses for system-generated volumes.
+ * @param properties The resource properties to be updated.
+ * @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 azure Volume resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VolumeInner update(String resourceGroupName, String storagePoolName, String volumeGroupName, String volumeName,
+ VolumeUpdate properties, Context context);
+
+ /**
+ * Delete a volume.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param volumeName Name of the volume. Maximum length is 40 characters during creation; names up to 64 characters
+ * may appear in list and get responses for system-generated volumes.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String volumeName);
+
+ /**
+ * Delete a volume.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param volumeName Name of the volume. Maximum length is 40 characters during creation; names up to 64 characters
+ * may appear in list and get responses for system-generated volumes.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String volumeName, Context context);
+
+ /**
+ * Delete a volume.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param volumeName Name of the volume. Maximum length is 40 characters during creation; names up to 64 characters
+ * may appear in list and get responses for system-generated volumes.
+ * @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 delete(String resourceGroupName, String storagePoolName, String volumeGroupName, String volumeName);
+
+ /**
+ * Delete a volume.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param volumeName Name of the volume. Maximum length is 40 characters during creation; names up to 64 characters
+ * may appear in list and get responses for system-generated volumes.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String storagePoolName, String volumeGroupName, String volumeName,
+ Context context);
+
+ /**
+ * List volumes by volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @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 of a Volume list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByVolumeGroup(String resourceGroupName, String storagePoolName,
+ String volumeGroupName);
+
+ /**
+ * List volumes by volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @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 of a Volume list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByVolumeGroup(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, Context context);
+
+ /**
+ * Overwrites the content of a volume from another volume or a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param volumeName Name of the volume. Maximum length is 40 characters during creation; names up to 64 characters
+ * may appear in list and get responses for system-generated volumes.
+ * @param body The content of the action 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.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginOverwrite(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String volumeName, VolumeOverwriteRequest body);
+
+ /**
+ * Overwrites the content of a volume from another volume or a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param volumeName Name of the volume. Maximum length is 40 characters during creation; names up to 64 characters
+ * may appear in list and get responses for system-generated volumes.
+ * @param body The content of the action 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginOverwrite(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String volumeName, VolumeOverwriteRequest body, Context context);
+
+ /**
+ * Overwrites the content of a volume from another volume or a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param volumeName Name of the volume. Maximum length is 40 characters during creation; names up to 64 characters
+ * may appear in list and get responses for system-generated volumes.
+ * @param body The content of the action 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 overwrite(String resourceGroupName, String storagePoolName, String volumeGroupName, String volumeName,
+ VolumeOverwriteRequest body);
+
+ /**
+ * Overwrites the content of a volume from another volume or a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param volumeName Name of the volume. Maximum length is 40 characters during creation; names up to 64 characters
+ * may appear in list and get responses for system-generated volumes.
+ * @param body The content of the action 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void overwrite(String resourceGroupName, String storagePoolName, String volumeGroupName, String volumeName,
+ VolumeOverwriteRequest body, Context context);
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/ConnectionParametersResponseInner.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/ConnectionParametersResponseInner.java
new file mode 100644
index 000000000000..ccfa2e444893
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/ConnectionParametersResponseInner.java
@@ -0,0 +1,77 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.purestorageblock.models.IscsiConnectionParameters;
+import java.io.IOException;
+
+/**
+ * Connection parameters response.
+ */
+@Immutable
+public final class ConnectionParametersResponseInner implements JsonSerializable {
+ /*
+ * ISCSI connection parameters
+ */
+ private IscsiConnectionParameters iscsi;
+
+ /**
+ * Creates an instance of ConnectionParametersResponseInner class.
+ */
+ private ConnectionParametersResponseInner() {
+ }
+
+ /**
+ * Get the iscsi property: ISCSI connection parameters.
+ *
+ * @return the iscsi value.
+ */
+ public IscsiConnectionParameters iscsi() {
+ return this.iscsi;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("iscsi", this.iscsi);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ConnectionParametersResponseInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ConnectionParametersResponseInner if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the ConnectionParametersResponseInner.
+ */
+ public static ConnectionParametersResponseInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ConnectionParametersResponseInner deserializedConnectionParametersResponseInner
+ = new ConnectionParametersResponseInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("iscsi".equals(fieldName)) {
+ deserializedConnectionParametersResponseInner.iscsi = IscsiConnectionParameters.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedConnectionParametersResponseInner;
+ });
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/LatestLinkedSaaSResponseInner.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/LatestLinkedSaaSResponseInner.java
new file mode 100644
index 000000000000..38bd3d12994d
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/LatestLinkedSaaSResponseInner.java
@@ -0,0 +1,92 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Response of get latest linked SaaS resource operation.
+ */
+@Immutable
+public final class LatestLinkedSaaSResponseInner implements JsonSerializable {
+ /*
+ * SaaS resource id
+ */
+ private String saaSResourceId;
+
+ /*
+ * Flag indicating if the SaaS resource is hidden
+ */
+ private Boolean isHiddenSaaS;
+
+ /**
+ * Creates an instance of LatestLinkedSaaSResponseInner class.
+ */
+ private LatestLinkedSaaSResponseInner() {
+ }
+
+ /**
+ * Get the saaSResourceId property: SaaS resource id.
+ *
+ * @return the saaSResourceId value.
+ */
+ public String saaSResourceId() {
+ return this.saaSResourceId;
+ }
+
+ /**
+ * Get the isHiddenSaaS property: Flag indicating if the SaaS resource is hidden.
+ *
+ * @return the isHiddenSaaS value.
+ */
+ public Boolean isHiddenSaaS() {
+ return this.isHiddenSaaS;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("saaSResourceId", this.saaSResourceId);
+ jsonWriter.writeBooleanField("isHiddenSaaS", this.isHiddenSaaS);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of LatestLinkedSaaSResponseInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of LatestLinkedSaaSResponseInner if the JsonReader was pointing to an instance of it, or null
+ * if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the LatestLinkedSaaSResponseInner.
+ */
+ public static LatestLinkedSaaSResponseInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ LatestLinkedSaaSResponseInner deserializedLatestLinkedSaaSResponseInner
+ = new LatestLinkedSaaSResponseInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("saaSResourceId".equals(fieldName)) {
+ deserializedLatestLinkedSaaSResponseInner.saaSResourceId = reader.getString();
+ } else if ("isHiddenSaaS".equals(fieldName)) {
+ deserializedLatestLinkedSaaSResponseInner.isHiddenSaaS = reader.getNullable(JsonReader::getBoolean);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedLatestLinkedSaaSResponseInner;
+ });
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/PlatformConsoleActivationCodeInner.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/PlatformConsoleActivationCodeInner.java
new file mode 100644
index 000000000000..16b48d021e4f
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/PlatformConsoleActivationCodeInner.java
@@ -0,0 +1,115 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.CoreUtils;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
+
+/**
+ * One-time activation code for platform console access.
+ */
+@Immutable
+public final class PlatformConsoleActivationCodeInner implements JsonSerializable {
+ /*
+ * Username to use when activating the console session
+ */
+ private String username;
+
+ /*
+ * One-time activation code for platform console access
+ */
+ private String activationCode;
+
+ /*
+ * Expiry time of the activation code in RFC3339 format
+ */
+ private OffsetDateTime expiresAt;
+
+ /**
+ * Creates an instance of PlatformConsoleActivationCodeInner class.
+ */
+ private PlatformConsoleActivationCodeInner() {
+ }
+
+ /**
+ * Get the username property: Username to use when activating the console session.
+ *
+ * @return the username value.
+ */
+ public String username() {
+ return this.username;
+ }
+
+ /**
+ * Get the activationCode property: One-time activation code for platform console access.
+ *
+ * @return the activationCode value.
+ */
+ public String activationCode() {
+ return this.activationCode;
+ }
+
+ /**
+ * Get the expiresAt property: Expiry time of the activation code in RFC3339 format.
+ *
+ * @return the expiresAt value.
+ */
+ public OffsetDateTime expiresAt() {
+ return this.expiresAt;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("username", this.username);
+ jsonWriter.writeStringField("activationCode", this.activationCode);
+ jsonWriter.writeStringField("expiresAt",
+ this.expiresAt == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.expiresAt));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of PlatformConsoleActivationCodeInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of PlatformConsoleActivationCodeInner if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the PlatformConsoleActivationCodeInner.
+ */
+ public static PlatformConsoleActivationCodeInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ PlatformConsoleActivationCodeInner deserializedPlatformConsoleActivationCodeInner
+ = new PlatformConsoleActivationCodeInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("username".equals(fieldName)) {
+ deserializedPlatformConsoleActivationCodeInner.username = reader.getString();
+ } else if ("activationCode".equals(fieldName)) {
+ deserializedPlatformConsoleActivationCodeInner.activationCode = reader.getString();
+ } else if ("expiresAt".equals(fieldName)) {
+ deserializedPlatformConsoleActivationCodeInner.expiresAt = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedPlatformConsoleActivationCodeInner;
+ });
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/PlatformConsoleAuthResultInner.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/PlatformConsoleAuthResultInner.java
new file mode 100644
index 000000000000..fcaffdacf843
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/PlatformConsoleAuthResultInner.java
@@ -0,0 +1,103 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.purestorageblock.models.PlatformConsoleAuthType;
+import com.azure.resourcemanager.purestorageblock.models.SshPlatformConsoleAuthResult;
+import java.io.IOException;
+
+/**
+ * Base model for platform console authentication result. Actual type depends on the authType used in the request.
+ */
+@Immutable
+public class PlatformConsoleAuthResultInner implements JsonSerializable {
+ /*
+ * Authentication type discriminator
+ */
+ private PlatformConsoleAuthType authType = PlatformConsoleAuthType.fromString("PlatformConsoleAuthResult");
+
+ /**
+ * Creates an instance of PlatformConsoleAuthResultInner class.
+ */
+ protected PlatformConsoleAuthResultInner() {
+ }
+
+ /**
+ * Get the authType property: Authentication type discriminator.
+ *
+ * @return the authType value.
+ */
+ public PlatformConsoleAuthType authType() {
+ return this.authType;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("authType", this.authType == null ? null : this.authType.toString());
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of PlatformConsoleAuthResultInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of PlatformConsoleAuthResultInner if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the PlatformConsoleAuthResultInner.
+ */
+ public static PlatformConsoleAuthResultInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ String discriminatorValue = null;
+ try (JsonReader readerToUse = reader.bufferObject()) {
+ readerToUse.nextToken(); // Prepare for reading
+ while (readerToUse.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = readerToUse.getFieldName();
+ readerToUse.nextToken();
+ if ("authType".equals(fieldName)) {
+ discriminatorValue = readerToUse.getString();
+ break;
+ } else {
+ readerToUse.skipChildren();
+ }
+ }
+ // Use the discriminator value to determine which subtype should be deserialized.
+ if ("ssh".equals(discriminatorValue)) {
+ return SshPlatformConsoleAuthResult.fromJson(readerToUse.reset());
+ } else {
+ return fromJsonKnownDiscriminator(readerToUse.reset());
+ }
+ }
+ });
+ }
+
+ static PlatformConsoleAuthResultInner fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ PlatformConsoleAuthResultInner deserializedPlatformConsoleAuthResultInner
+ = new PlatformConsoleAuthResultInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("authType".equals(fieldName)) {
+ deserializedPlatformConsoleAuthResultInner.authType
+ = PlatformConsoleAuthType.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedPlatformConsoleAuthResultInner;
+ });
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/RecoverableVolumeGroupInner.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/RecoverableVolumeGroupInner.java
new file mode 100644
index 000000000000..4ab128255ef6
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/RecoverableVolumeGroupInner.java
@@ -0,0 +1,145 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.purestorageblock.models.RecoverableVolumeGroupProperties;
+import java.io.IOException;
+
+/**
+ * A destroyed volume group that is pending eradication.
+ */
+@Immutable
+public final class RecoverableVolumeGroupInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private RecoverableVolumeGroupProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of RecoverableVolumeGroupInner class.
+ */
+ private RecoverableVolumeGroupInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public RecoverableVolumeGroupProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of RecoverableVolumeGroupInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of RecoverableVolumeGroupInner if the JsonReader was pointing to an instance of it, or null
+ * if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the RecoverableVolumeGroupInner.
+ */
+ public static RecoverableVolumeGroupInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ RecoverableVolumeGroupInner deserializedRecoverableVolumeGroupInner = new RecoverableVolumeGroupInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedRecoverableVolumeGroupInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedRecoverableVolumeGroupInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedRecoverableVolumeGroupInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedRecoverableVolumeGroupInner.properties
+ = RecoverableVolumeGroupProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedRecoverableVolumeGroupInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedRecoverableVolumeGroupInner;
+ });
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/SaaSResourceDetailsResponseInner.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/SaaSResourceDetailsResponseInner.java
new file mode 100644
index 000000000000..f96140a9b248
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/SaaSResourceDetailsResponseInner.java
@@ -0,0 +1,144 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Marketplace SaaS resource details.
+ */
+@Immutable
+public final class SaaSResourceDetailsResponseInner extends ProxyResource {
+ /*
+ * Id of the Marketplace SaaS Resource
+ */
+ private String saasId;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of SaaSResourceDetailsResponseInner class.
+ */
+ private SaaSResourceDetailsResponseInner() {
+ }
+
+ /**
+ * Get the saasId property: Id of the Marketplace SaaS Resource.
+ *
+ * @return the saasId value.
+ */
+ public String saasId() {
+ return this.saasId;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("saasId", this.saasId);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SaaSResourceDetailsResponseInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SaaSResourceDetailsResponseInner if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the SaaSResourceDetailsResponseInner.
+ */
+ public static SaaSResourceDetailsResponseInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SaaSResourceDetailsResponseInner deserializedSaaSResourceDetailsResponseInner
+ = new SaaSResourceDetailsResponseInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedSaaSResourceDetailsResponseInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedSaaSResourceDetailsResponseInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedSaaSResourceDetailsResponseInner.type = reader.getString();
+ } else if ("saasId".equals(fieldName)) {
+ deserializedSaaSResourceDetailsResponseInner.saasId = reader.getString();
+ } else if ("systemData".equals(fieldName)) {
+ deserializedSaaSResourceDetailsResponseInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSaaSResourceDetailsResponseInner;
+ });
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/VolumeGroupInner.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/VolumeGroupInner.java
new file mode 100644
index 000000000000..0742fd9cf84c
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/VolumeGroupInner.java
@@ -0,0 +1,181 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupProperties;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * Volume Group resource.
+ */
+@Fluent
+public final class VolumeGroupInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private VolumeGroupProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of VolumeGroupInner class.
+ */
+ public VolumeGroupInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public VolumeGroupProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the VolumeGroupInner object itself.
+ */
+ public VolumeGroupInner withProperties(VolumeGroupProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public VolumeGroupInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public VolumeGroupInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("location", location());
+ jsonWriter.writeMapField("tags", tags(), (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of VolumeGroupInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of VolumeGroupInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the VolumeGroupInner.
+ */
+ public static VolumeGroupInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ VolumeGroupInner deserializedVolumeGroupInner = new VolumeGroupInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedVolumeGroupInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedVolumeGroupInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedVolumeGroupInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedVolumeGroupInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedVolumeGroupInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedVolumeGroupInner.properties = VolumeGroupProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedVolumeGroupInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedVolumeGroupInner;
+ });
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/VolumeGroupSnapshotInner.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/VolumeGroupSnapshotInner.java
new file mode 100644
index 000000000000..4ae0b12ee8a7
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/VolumeGroupSnapshotInner.java
@@ -0,0 +1,155 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupSnapshotProperties;
+import java.io.IOException;
+
+/**
+ * A snapshot of a volume group.
+ */
+@Fluent
+public final class VolumeGroupSnapshotInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private VolumeGroupSnapshotProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of VolumeGroupSnapshotInner class.
+ */
+ public VolumeGroupSnapshotInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public VolumeGroupSnapshotProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the VolumeGroupSnapshotInner object itself.
+ */
+ public VolumeGroupSnapshotInner withProperties(VolumeGroupSnapshotProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of VolumeGroupSnapshotInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of VolumeGroupSnapshotInner if the JsonReader was pointing to an instance of it, or null if
+ * it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the VolumeGroupSnapshotInner.
+ */
+ public static VolumeGroupSnapshotInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ VolumeGroupSnapshotInner deserializedVolumeGroupSnapshotInner = new VolumeGroupSnapshotInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedVolumeGroupSnapshotInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedVolumeGroupSnapshotInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedVolumeGroupSnapshotInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedVolumeGroupSnapshotInner.properties = VolumeGroupSnapshotProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedVolumeGroupSnapshotInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedVolumeGroupSnapshotInner;
+ });
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/VolumeGroupSnapshotPostListResultInner.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/VolumeGroupSnapshotPostListResultInner.java
new file mode 100644
index 000000000000..5346e78be542
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/VolumeGroupSnapshotPostListResultInner.java
@@ -0,0 +1,115 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * List result for volume group snapshots returned by the listSnapshots POST action.
+ */
+@Immutable
+public final class VolumeGroupSnapshotPostListResultInner
+ implements JsonSerializable {
+ /*
+ * Array of volume group snapshots
+ */
+ private List value;
+
+ /*
+ * Number of snapshots in this response page
+ */
+ private Integer count;
+
+ /*
+ * Total number of snapshots
+ */
+ private Integer totalCount;
+
+ /**
+ * Creates an instance of VolumeGroupSnapshotPostListResultInner class.
+ */
+ private VolumeGroupSnapshotPostListResultInner() {
+ }
+
+ /**
+ * Get the value property: Array of volume group snapshots.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Get the count property: Number of snapshots in this response page.
+ *
+ * @return the count value.
+ */
+ public Integer count() {
+ return this.count;
+ }
+
+ /**
+ * Get the totalCount property: Total number of snapshots.
+ *
+ * @return the totalCount value.
+ */
+ public Integer totalCount() {
+ return this.totalCount;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeNumberField("count", this.count);
+ jsonWriter.writeNumberField("totalCount", this.totalCount);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of VolumeGroupSnapshotPostListResultInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of VolumeGroupSnapshotPostListResultInner if the JsonReader was pointing to an instance of
+ * it, or null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the VolumeGroupSnapshotPostListResultInner.
+ */
+ public static VolumeGroupSnapshotPostListResultInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ VolumeGroupSnapshotPostListResultInner deserializedVolumeGroupSnapshotPostListResultInner
+ = new VolumeGroupSnapshotPostListResultInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("value".equals(fieldName)) {
+ List value
+ = reader.readArray(reader1 -> VolumeGroupSnapshotInner.fromJson(reader1));
+ deserializedVolumeGroupSnapshotPostListResultInner.value = value;
+ } else if ("count".equals(fieldName)) {
+ deserializedVolumeGroupSnapshotPostListResultInner.count = reader.getNullable(JsonReader::getInt);
+ } else if ("totalCount".equals(fieldName)) {
+ deserializedVolumeGroupSnapshotPostListResultInner.totalCount
+ = reader.getNullable(JsonReader::getInt);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedVolumeGroupSnapshotPostListResultInner;
+ });
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/VolumeGroupStatusInner.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/VolumeGroupStatusInner.java
new file mode 100644
index 000000000000..3c4233b9dff4
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/VolumeGroupStatusInner.java
@@ -0,0 +1,93 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.purestorageblock.models.Space;
+import java.io.IOException;
+
+/**
+ * Volume group status information.
+ */
+@Immutable
+public final class VolumeGroupStatusInner implements JsonSerializable {
+ /*
+ * Storage space usage for the volume group
+ */
+ private Space space;
+
+ /*
+ * Number of hosts currently connected to the volume group
+ */
+ private int connectedHostCount;
+
+ /**
+ * Creates an instance of VolumeGroupStatusInner class.
+ */
+ private VolumeGroupStatusInner() {
+ }
+
+ /**
+ * Get the space property: Storage space usage for the volume group.
+ *
+ * @return the space value.
+ */
+ public Space space() {
+ return this.space;
+ }
+
+ /**
+ * Get the connectedHostCount property: Number of hosts currently connected to the volume group.
+ *
+ * @return the connectedHostCount value.
+ */
+ public int connectedHostCount() {
+ return this.connectedHostCount;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("space", this.space);
+ jsonWriter.writeIntField("connectedHostCount", this.connectedHostCount);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of VolumeGroupStatusInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of VolumeGroupStatusInner if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the VolumeGroupStatusInner.
+ */
+ public static VolumeGroupStatusInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ VolumeGroupStatusInner deserializedVolumeGroupStatusInner = new VolumeGroupStatusInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("space".equals(fieldName)) {
+ deserializedVolumeGroupStatusInner.space = Space.fromJson(reader);
+ } else if ("connectedHostCount".equals(fieldName)) {
+ deserializedVolumeGroupStatusInner.connectedHostCount = reader.getInt();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedVolumeGroupStatusInner;
+ });
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/VolumeInner.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/VolumeInner.java
new file mode 100644
index 000000000000..6395f6eb9716
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/fluent/models/VolumeInner.java
@@ -0,0 +1,155 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.purestorageblock.models.AzureVolumeProperties;
+import java.io.IOException;
+
+/**
+ * Azure Volume resource.
+ */
+@Fluent
+public final class VolumeInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private AzureVolumeProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of VolumeInner class.
+ */
+ public VolumeInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public AzureVolumeProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the VolumeInner object itself.
+ */
+ public VolumeInner withProperties(AzureVolumeProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of VolumeInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of VolumeInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the VolumeInner.
+ */
+ public static VolumeInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ VolumeInner deserializedVolumeInner = new VolumeInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedVolumeInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedVolumeInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedVolumeInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedVolumeInner.properties = AzureVolumeProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedVolumeInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedVolumeInner;
+ });
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/ConnectionParametersResponseImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/ConnectionParametersResponseImpl.java
new file mode 100644
index 000000000000..1cbfa4e016e4
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/ConnectionParametersResponseImpl.java
@@ -0,0 +1,33 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.implementation;
+
+import com.azure.resourcemanager.purestorageblock.fluent.models.ConnectionParametersResponseInner;
+import com.azure.resourcemanager.purestorageblock.models.ConnectionParametersResponse;
+import com.azure.resourcemanager.purestorageblock.models.IscsiConnectionParameters;
+
+public final class ConnectionParametersResponseImpl implements ConnectionParametersResponse {
+ private ConnectionParametersResponseInner innerObject;
+
+ private final com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager;
+
+ ConnectionParametersResponseImpl(ConnectionParametersResponseInner innerObject,
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public IscsiConnectionParameters iscsi() {
+ return this.innerModel().iscsi();
+ }
+
+ public ConnectionParametersResponseInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/LatestLinkedSaaSResponseImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/LatestLinkedSaaSResponseImpl.java
new file mode 100644
index 000000000000..396abb28cda7
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/LatestLinkedSaaSResponseImpl.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.implementation;
+
+import com.azure.resourcemanager.purestorageblock.fluent.models.LatestLinkedSaaSResponseInner;
+import com.azure.resourcemanager.purestorageblock.models.LatestLinkedSaaSResponse;
+
+public final class LatestLinkedSaaSResponseImpl implements LatestLinkedSaaSResponse {
+ private LatestLinkedSaaSResponseInner innerObject;
+
+ private final com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager;
+
+ LatestLinkedSaaSResponseImpl(LatestLinkedSaaSResponseInner innerObject,
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String saaSResourceId() {
+ return this.innerModel().saaSResourceId();
+ }
+
+ public Boolean isHiddenSaaS() {
+ return this.innerModel().isHiddenSaaS();
+ }
+
+ public LatestLinkedSaaSResponseInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/PlatformConsoleActivationCodeImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/PlatformConsoleActivationCodeImpl.java
new file mode 100644
index 000000000000..efd080a45707
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/PlatformConsoleActivationCodeImpl.java
@@ -0,0 +1,41 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.implementation;
+
+import com.azure.resourcemanager.purestorageblock.fluent.models.PlatformConsoleActivationCodeInner;
+import com.azure.resourcemanager.purestorageblock.models.PlatformConsoleActivationCode;
+import java.time.OffsetDateTime;
+
+public final class PlatformConsoleActivationCodeImpl implements PlatformConsoleActivationCode {
+ private PlatformConsoleActivationCodeInner innerObject;
+
+ private final com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager;
+
+ PlatformConsoleActivationCodeImpl(PlatformConsoleActivationCodeInner innerObject,
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String username() {
+ return this.innerModel().username();
+ }
+
+ public String activationCode() {
+ return this.innerModel().activationCode();
+ }
+
+ public OffsetDateTime expiresAt() {
+ return this.innerModel().expiresAt();
+ }
+
+ public PlatformConsoleActivationCodeInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/PlatformConsoleAuthResultImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/PlatformConsoleAuthResultImpl.java
new file mode 100644
index 000000000000..84fbde3c3756
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/PlatformConsoleAuthResultImpl.java
@@ -0,0 +1,33 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.implementation;
+
+import com.azure.resourcemanager.purestorageblock.fluent.models.PlatformConsoleAuthResultInner;
+import com.azure.resourcemanager.purestorageblock.models.PlatformConsoleAuthResult;
+import com.azure.resourcemanager.purestorageblock.models.PlatformConsoleAuthType;
+
+public final class PlatformConsoleAuthResultImpl implements PlatformConsoleAuthResult {
+ private PlatformConsoleAuthResultInner innerObject;
+
+ private final com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager;
+
+ PlatformConsoleAuthResultImpl(PlatformConsoleAuthResultInner innerObject,
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public PlatformConsoleAuthType authType() {
+ return this.innerModel().authType();
+ }
+
+ public PlatformConsoleAuthResultInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/PureStorageBlockMgmtClientImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/PureStorageBlockMgmtClientImpl.java
index b25071543052..ae5ecebacb37 100644
--- a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/PureStorageBlockMgmtClientImpl.java
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/PureStorageBlockMgmtClientImpl.java
@@ -32,8 +32,13 @@
import com.azure.resourcemanager.purestorageblock.fluent.AvsVmsClient;
import com.azure.resourcemanager.purestorageblock.fluent.OperationsClient;
import com.azure.resourcemanager.purestorageblock.fluent.PureStorageBlockMgmtClient;
+import com.azure.resourcemanager.purestorageblock.fluent.RecoverableVolumeGroupsClient;
import com.azure.resourcemanager.purestorageblock.fluent.ReservationsClient;
+import com.azure.resourcemanager.purestorageblock.fluent.SaaSOperationGroupsClient;
import com.azure.resourcemanager.purestorageblock.fluent.StoragePoolsClient;
+import com.azure.resourcemanager.purestorageblock.fluent.VolumeGroupSnapshotsClient;
+import com.azure.resourcemanager.purestorageblock.fluent.VolumeGroupsClient;
+import com.azure.resourcemanager.purestorageblock.fluent.VolumesClient;
import java.io.IOException;
import java.lang.reflect.Type;
import java.nio.ByteBuffer;
@@ -230,6 +235,76 @@ public AvsVmVolumesClient getAvsVmVolumes() {
return this.avsVmVolumes;
}
+ /**
+ * The VolumeGroupsClient object to access its operations.
+ */
+ private final VolumeGroupsClient volumeGroups;
+
+ /**
+ * Gets the VolumeGroupsClient object to access its operations.
+ *
+ * @return the VolumeGroupsClient object.
+ */
+ public VolumeGroupsClient getVolumeGroups() {
+ return this.volumeGroups;
+ }
+
+ /**
+ * The VolumesClient object to access its operations.
+ */
+ private final VolumesClient volumes;
+
+ /**
+ * Gets the VolumesClient object to access its operations.
+ *
+ * @return the VolumesClient object.
+ */
+ public VolumesClient getVolumes() {
+ return this.volumes;
+ }
+
+ /**
+ * The RecoverableVolumeGroupsClient object to access its operations.
+ */
+ private final RecoverableVolumeGroupsClient recoverableVolumeGroups;
+
+ /**
+ * Gets the RecoverableVolumeGroupsClient object to access its operations.
+ *
+ * @return the RecoverableVolumeGroupsClient object.
+ */
+ public RecoverableVolumeGroupsClient getRecoverableVolumeGroups() {
+ return this.recoverableVolumeGroups;
+ }
+
+ /**
+ * The SaaSOperationGroupsClient object to access its operations.
+ */
+ private final SaaSOperationGroupsClient saaSOperationGroups;
+
+ /**
+ * Gets the SaaSOperationGroupsClient object to access its operations.
+ *
+ * @return the SaaSOperationGroupsClient object.
+ */
+ public SaaSOperationGroupsClient getSaaSOperationGroups() {
+ return this.saaSOperationGroups;
+ }
+
+ /**
+ * The VolumeGroupSnapshotsClient object to access its operations.
+ */
+ private final VolumeGroupSnapshotsClient volumeGroupSnapshots;
+
+ /**
+ * Gets the VolumeGroupSnapshotsClient object to access its operations.
+ *
+ * @return the VolumeGroupSnapshotsClient object.
+ */
+ public VolumeGroupSnapshotsClient getVolumeGroupSnapshots() {
+ return this.volumeGroupSnapshots;
+ }
+
/**
* Initializes an instance of PureStorageBlockMgmtClient client.
*
@@ -247,7 +322,7 @@ public AvsVmVolumesClient getAvsVmVolumes() {
this.defaultPollInterval = defaultPollInterval;
this.endpoint = endpoint;
this.subscriptionId = subscriptionId;
- this.apiVersion = "2024-11-01";
+ this.apiVersion = "2026-05-01-preview";
this.operations = new OperationsClientImpl(this);
this.reservations = new ReservationsClientImpl(this);
this.storagePools = new StoragePoolsClientImpl(this);
@@ -255,6 +330,11 @@ public AvsVmVolumesClient getAvsVmVolumes() {
this.avsStorageContainerVolumes = new AvsStorageContainerVolumesClientImpl(this);
this.avsVms = new AvsVmsClientImpl(this);
this.avsVmVolumes = new AvsVmVolumesClientImpl(this);
+ this.volumeGroups = new VolumeGroupsClientImpl(this);
+ this.volumes = new VolumesClientImpl(this);
+ this.recoverableVolumeGroups = new RecoverableVolumeGroupsClientImpl(this);
+ this.saaSOperationGroups = new SaaSOperationGroupsClientImpl(this);
+ this.volumeGroupSnapshots = new VolumeGroupSnapshotsClientImpl(this);
}
/**
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/RecoverableVolumeGroupImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/RecoverableVolumeGroupImpl.java
new file mode 100644
index 000000000000..e69cb55ce18d
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/RecoverableVolumeGroupImpl.java
@@ -0,0 +1,50 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.implementation;
+
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.purestorageblock.fluent.models.RecoverableVolumeGroupInner;
+import com.azure.resourcemanager.purestorageblock.models.RecoverableVolumeGroup;
+import com.azure.resourcemanager.purestorageblock.models.RecoverableVolumeGroupProperties;
+
+public final class RecoverableVolumeGroupImpl implements RecoverableVolumeGroup {
+ private RecoverableVolumeGroupInner innerObject;
+
+ private final com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager;
+
+ RecoverableVolumeGroupImpl(RecoverableVolumeGroupInner innerObject,
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public RecoverableVolumeGroupProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public RecoverableVolumeGroupInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/RecoverableVolumeGroupsClientImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/RecoverableVolumeGroupsClientImpl.java
new file mode 100644
index 000000000000..df8f39a7cdf7
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/RecoverableVolumeGroupsClientImpl.java
@@ -0,0 +1,569 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.implementation;
+
+import com.azure.core.annotation.Delete;
+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.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+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.management.polling.PollResult;
+import com.azure.core.util.BinaryData;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.purestorageblock.fluent.RecoverableVolumeGroupsClient;
+import com.azure.resourcemanager.purestorageblock.fluent.models.RecoverableVolumeGroupInner;
+import com.azure.resourcemanager.purestorageblock.implementation.models.RecoverableVolumeGroupListResult;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in RecoverableVolumeGroupsClient.
+ */
+public final class RecoverableVolumeGroupsClientImpl implements RecoverableVolumeGroupsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final RecoverableVolumeGroupsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final PureStorageBlockMgmtClientImpl client;
+
+ /**
+ * Initializes an instance of RecoverableVolumeGroupsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ RecoverableVolumeGroupsClientImpl(PureStorageBlockMgmtClientImpl client) {
+ this.service = RestProxy.create(RecoverableVolumeGroupsService.class, client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for PureStorageBlockMgmtClientRecoverableVolumeGroups to be used by the
+ * proxy service to perform REST calls.
+ */
+ @Host("{endpoint}")
+ @ServiceInterface(name = "PureStorageBlockMgmtClientRecoverableVolumeGroups")
+ public interface RecoverableVolumeGroupsService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/recoverableVolumeGroups/{recoverableVolumeGroupName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName,
+ @PathParam("recoverableVolumeGroupName") String recoverableVolumeGroupName,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/recoverableVolumeGroups/{recoverableVolumeGroupName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response getSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName,
+ @PathParam("recoverableVolumeGroupName") String recoverableVolumeGroupName,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/recoverableVolumeGroups")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByStoragePool(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/recoverableVolumeGroups")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listByStoragePoolSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/recoverableVolumeGroups/{recoverableVolumeGroupName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName,
+ @PathParam("recoverableVolumeGroupName") String recoverableVolumeGroupName, Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/recoverableVolumeGroups/{recoverableVolumeGroupName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response deleteSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName,
+ @PathParam("recoverableVolumeGroupName") String recoverableVolumeGroupName, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByStoragePoolNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listByStoragePoolNextSync(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * Get a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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 a recoverable volume group along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String resourceGroupName,
+ String storagePoolName, String recoverableVolumeGroupName) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.get(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, recoverableVolumeGroupName, accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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 a recoverable volume group on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String resourceGroupName, String storagePoolName,
+ String recoverableVolumeGroupName) {
+ return getWithResponseAsync(resourceGroupName, storagePoolName, recoverableVolumeGroupName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Get a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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 a recoverable volume group along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(String resourceGroupName, String storagePoolName,
+ String recoverableVolumeGroupName, Context context) {
+ final String accept = "application/json";
+ return service.getSync(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, storagePoolName, recoverableVolumeGroupName, accept, context);
+ }
+
+ /**
+ * Get a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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 a recoverable volume group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public RecoverableVolumeGroupInner get(String resourceGroupName, String storagePoolName,
+ String recoverableVolumeGroupName) {
+ return getWithResponse(resourceGroupName, storagePoolName, recoverableVolumeGroupName, Context.NONE).getValue();
+ }
+
+ /**
+ * List all recoverable volume groups in a storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @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 of a RecoverableVolumeGroup list operation along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByStoragePoolSinglePageAsync(String resourceGroupName,
+ String storagePoolName) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByStoragePool(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(),
+ res.getStatusCode(), res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * List all recoverable volume groups in a storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @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 of a RecoverableVolumeGroup list operation as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByStoragePoolAsync(String resourceGroupName,
+ String storagePoolName) {
+ return new PagedFlux<>(() -> listByStoragePoolSinglePageAsync(resourceGroupName, storagePoolName),
+ nextLink -> listByStoragePoolNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List all recoverable volume groups in a storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @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 of a RecoverableVolumeGroup list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByStoragePoolSinglePage(String resourceGroupName,
+ String storagePoolName) {
+ final String accept = "application/json";
+ Response res
+ = service.listByStoragePoolSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * List all recoverable volume groups in a storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @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 of a RecoverableVolumeGroup list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByStoragePoolSinglePage(String resourceGroupName,
+ String storagePoolName, Context context) {
+ final String accept = "application/json";
+ Response res
+ = service.listByStoragePoolSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * List all recoverable volume groups in a storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @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 of a RecoverableVolumeGroup list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByStoragePool(String resourceGroupName,
+ String storagePoolName) {
+ return new PagedIterable<>(() -> listByStoragePoolSinglePage(resourceGroupName, storagePoolName),
+ nextLink -> listByStoragePoolNextSinglePage(nextLink));
+ }
+
+ /**
+ * List all recoverable volume groups in a storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @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 of a RecoverableVolumeGroup list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByStoragePool(String resourceGroupName,
+ String storagePoolName, Context context) {
+ return new PagedIterable<>(() -> listByStoragePoolSinglePage(resourceGroupName, storagePoolName, context),
+ nextLink -> listByStoragePoolNextSinglePage(nextLink, context));
+ }
+
+ /**
+ * Eradicate a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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 {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(String resourceGroupName, String storagePoolName,
+ String recoverableVolumeGroupName) {
+ return FluxUtil.withContext(context -> service.delete(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, recoverableVolumeGroupName, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Eradicate a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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 body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response deleteWithResponse(String resourceGroupName, String storagePoolName,
+ String recoverableVolumeGroupName) {
+ return service.deleteSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, recoverableVolumeGroupName,
+ Context.NONE);
+ }
+
+ /**
+ * Eradicate a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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 body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response deleteWithResponse(String resourceGroupName, String storagePoolName,
+ String recoverableVolumeGroupName, Context context) {
+ return service.deleteSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, recoverableVolumeGroupName, context);
+ }
+
+ /**
+ * Eradicate a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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 {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String storagePoolName,
+ String recoverableVolumeGroupName) {
+ Mono>> mono
+ = deleteWithResponseAsync(resourceGroupName, storagePoolName, recoverableVolumeGroupName);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Eradicate a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String storagePoolName,
+ String recoverableVolumeGroupName) {
+ Response response
+ = deleteWithResponse(resourceGroupName, storagePoolName, recoverableVolumeGroupName);
+ return this.client.getLroResult(response, Void.class, Void.class, Context.NONE);
+ }
+
+ /**
+ * Eradicate a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String storagePoolName,
+ String recoverableVolumeGroupName, Context context) {
+ Response response
+ = deleteWithResponse(resourceGroupName, storagePoolName, recoverableVolumeGroupName, context);
+ return this.client.getLroResult(response, Void.class, Void.class, context);
+ }
+
+ /**
+ * Eradicate a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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 A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String storagePoolName,
+ String recoverableVolumeGroupName) {
+ return beginDeleteAsync(resourceGroupName, storagePoolName, recoverableVolumeGroupName).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Eradicate a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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 delete(String resourceGroupName, String storagePoolName, String recoverableVolumeGroupName) {
+ beginDelete(resourceGroupName, storagePoolName, recoverableVolumeGroupName).getFinalResult();
+ }
+
+ /**
+ * Eradicate a recoverable volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param recoverableVolumeGroupName Name of the recoverable volume group.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String storagePoolName, String recoverableVolumeGroupName,
+ Context context) {
+ beginDelete(resourceGroupName, storagePoolName, recoverableVolumeGroupName, context).getFinalResult();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @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 of a RecoverableVolumeGroup list operation along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByStoragePoolNextSinglePageAsync(String nextLink) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByStoragePoolNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(),
+ res.getStatusCode(), res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @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 of a RecoverableVolumeGroup list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByStoragePoolNextSinglePage(String nextLink) {
+ final String accept = "application/json";
+ Response res
+ = service.listByStoragePoolNextSync(nextLink, this.client.getEndpoint(), accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @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 of a RecoverableVolumeGroup list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByStoragePoolNextSinglePage(String nextLink,
+ Context context) {
+ final String accept = "application/json";
+ Response res
+ = service.listByStoragePoolNextSync(nextLink, this.client.getEndpoint(), accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/RecoverableVolumeGroupsImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/RecoverableVolumeGroupsImpl.java
new file mode 100644
index 000000000000..2f2a5df1bbb7
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/RecoverableVolumeGroupsImpl.java
@@ -0,0 +1,78 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+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.purestorageblock.fluent.RecoverableVolumeGroupsClient;
+import com.azure.resourcemanager.purestorageblock.fluent.models.RecoverableVolumeGroupInner;
+import com.azure.resourcemanager.purestorageblock.models.RecoverableVolumeGroup;
+import com.azure.resourcemanager.purestorageblock.models.RecoverableVolumeGroups;
+
+public final class RecoverableVolumeGroupsImpl implements RecoverableVolumeGroups {
+ private static final ClientLogger LOGGER = new ClientLogger(RecoverableVolumeGroupsImpl.class);
+
+ private final RecoverableVolumeGroupsClient innerClient;
+
+ private final com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager;
+
+ public RecoverableVolumeGroupsImpl(RecoverableVolumeGroupsClient innerClient,
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response getWithResponse(String resourceGroupName, String storagePoolName,
+ String recoverableVolumeGroupName, Context context) {
+ Response inner = this.serviceClient()
+ .getWithResponse(resourceGroupName, storagePoolName, recoverableVolumeGroupName, context);
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new RecoverableVolumeGroupImpl(inner.getValue(), this.manager()));
+ }
+
+ public RecoverableVolumeGroup get(String resourceGroupName, String storagePoolName,
+ String recoverableVolumeGroupName) {
+ RecoverableVolumeGroupInner inner
+ = this.serviceClient().get(resourceGroupName, storagePoolName, recoverableVolumeGroupName);
+ if (inner != null) {
+ return new RecoverableVolumeGroupImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public PagedIterable listByStoragePool(String resourceGroupName, String storagePoolName) {
+ PagedIterable inner
+ = this.serviceClient().listByStoragePool(resourceGroupName, storagePoolName);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new RecoverableVolumeGroupImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByStoragePool(String resourceGroupName, String storagePoolName,
+ Context context) {
+ PagedIterable inner
+ = this.serviceClient().listByStoragePool(resourceGroupName, storagePoolName, context);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new RecoverableVolumeGroupImpl(inner1, this.manager()));
+ }
+
+ public void delete(String resourceGroupName, String storagePoolName, String recoverableVolumeGroupName) {
+ this.serviceClient().delete(resourceGroupName, storagePoolName, recoverableVolumeGroupName);
+ }
+
+ public void delete(String resourceGroupName, String storagePoolName, String recoverableVolumeGroupName,
+ Context context) {
+ this.serviceClient().delete(resourceGroupName, storagePoolName, recoverableVolumeGroupName, context);
+ }
+
+ private RecoverableVolumeGroupsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/ReservationImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/ReservationImpl.java
index b51c9f4e9040..5d51655f076b 100644
--- a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/ReservationImpl.java
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/ReservationImpl.java
@@ -9,7 +9,9 @@
import com.azure.core.management.SystemData;
import com.azure.core.util.Context;
import com.azure.resourcemanager.purestorageblock.fluent.models.ReservationInner;
+import com.azure.resourcemanager.purestorageblock.models.LatestLinkedSaaSResponse;
import com.azure.resourcemanager.purestorageblock.models.LimitDetails;
+import com.azure.resourcemanager.purestorageblock.models.LinkSaaSRequest;
import com.azure.resourcemanager.purestorageblock.models.Reservation;
import com.azure.resourcemanager.purestorageblock.models.ReservationBillingStatus;
import com.azure.resourcemanager.purestorageblock.models.ReservationBillingUsageReport;
@@ -175,6 +177,22 @@ public ReservationBillingUsageReport getBillingReport() {
return serviceManager.reservations().getBillingReport(resourceGroupName, reservationName);
}
+ public Reservation linkSaaS(LinkSaaSRequest body) {
+ return serviceManager.reservations().linkSaaS(resourceGroupName, reservationName, body);
+ }
+
+ public Reservation linkSaaS(LinkSaaSRequest body, Context context) {
+ return serviceManager.reservations().linkSaaS(resourceGroupName, reservationName, body, context);
+ }
+
+ public Response latestLinkedSaaSWithResponse(Context context) {
+ return serviceManager.reservations().latestLinkedSaaSWithResponse(resourceGroupName, reservationName, context);
+ }
+
+ public LatestLinkedSaaSResponse latestLinkedSaaS() {
+ return serviceManager.reservations().latestLinkedSaaS(resourceGroupName, reservationName);
+ }
+
public ReservationImpl withRegion(Region location) {
this.innerModel().withLocation(location.toString());
return this;
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/ReservationsClientImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/ReservationsClientImpl.java
index 9ce492057185..573ab27e8edb 100644
--- a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/ReservationsClientImpl.java
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/ReservationsClientImpl.java
@@ -35,11 +35,13 @@
import com.azure.core.util.polling.PollerFlux;
import com.azure.core.util.polling.SyncPoller;
import com.azure.resourcemanager.purestorageblock.fluent.ReservationsClient;
+import com.azure.resourcemanager.purestorageblock.fluent.models.LatestLinkedSaaSResponseInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.LimitDetailsInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.ReservationBillingStatusInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.ReservationBillingUsageReportInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.ReservationInner;
import com.azure.resourcemanager.purestorageblock.implementation.models.ReservationListResult;
+import com.azure.resourcemanager.purestorageblock.models.LinkSaaSRequest;
import com.azure.resourcemanager.purestorageblock.models.ReservationUpdate;
import java.nio.ByteBuffer;
import reactor.core.publisher.Flux;
@@ -249,6 +251,44 @@ Response getBillingReportSync(@HostParam("en
@PathParam("reservationName") String reservationName, @HeaderParam("Accept") String accept,
Context context);
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/reservations/{reservationName}/linkSaaS")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> linkSaaS(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("reservationName") String reservationName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") LinkSaaSRequest body, Context context);
+
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/reservations/{reservationName}/linkSaaS")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response linkSaaSSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("reservationName") String reservationName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") LinkSaaSRequest body, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/reservations/{reservationName}/latestLinkedSaaS")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> latestLinkedSaaS(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("reservationName") String reservationName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/reservations/{reservationName}/latestLinkedSaaS")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response latestLinkedSaaSSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("reservationName") String reservationName, @HeaderParam("Accept") String accept,
+ Context context);
+
@Headers({ "Content-Type: application/json" })
@Get("{nextLink}")
@ExpectedResponses({ 200 })
@@ -1269,6 +1309,269 @@ public ReservationBillingUsageReportInner getBillingReport(String resourceGroupN
return getBillingReportWithResponse(resourceGroupName, reservationName, Context.NONE).getValue();
}
+ /**
+ * Links a new SaaS to the reservation.
+ *
+ * A long-running resource action.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @param body The content of the action 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 response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> linkSaaSWithResponseAsync(String resourceGroupName, String reservationName,
+ LinkSaaSRequest body) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.linkSaaS(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, reservationName, contentType, accept, body, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Links a new SaaS to the reservation.
+ *
+ * A long-running resource action.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @param body The content of the action 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 response body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response linkSaaSWithResponse(String resourceGroupName, String reservationName,
+ LinkSaaSRequest body) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.linkSaaSSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, reservationName, contentType, accept, body,
+ Context.NONE);
+ }
+
+ /**
+ * Links a new SaaS to the reservation.
+ *
+ * A long-running resource action.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @param body The content of the action 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 body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response linkSaaSWithResponse(String resourceGroupName, String reservationName,
+ LinkSaaSRequest body, Context context) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.linkSaaSSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, reservationName, contentType, accept, body, context);
+ }
+
+ /**
+ * Links a new SaaS to the reservation.
+ *
+ * A long-running resource action.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @param body The content of the action 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 {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, ReservationInner> beginLinkSaaSAsync(String resourceGroupName,
+ String reservationName, LinkSaaSRequest body) {
+ Mono>> mono = linkSaaSWithResponseAsync(resourceGroupName, reservationName, body);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(),
+ ReservationInner.class, ReservationInner.class, this.client.getContext());
+ }
+
+ /**
+ * Links a new SaaS to the reservation.
+ *
+ * A long-running resource action.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @param body The content of the action 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, ReservationInner> beginLinkSaaS(String resourceGroupName,
+ String reservationName, LinkSaaSRequest body) {
+ Response response = linkSaaSWithResponse(resourceGroupName, reservationName, body);
+ return this.client.getLroResult(response, ReservationInner.class,
+ ReservationInner.class, Context.NONE);
+ }
+
+ /**
+ * Links a new SaaS to the reservation.
+ *
+ * A long-running resource action.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @param body The content of the action 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, ReservationInner> beginLinkSaaS(String resourceGroupName,
+ String reservationName, LinkSaaSRequest body, Context context) {
+ Response response = linkSaaSWithResponse(resourceGroupName, reservationName, body, context);
+ return this.client.getLroResult(response, ReservationInner.class,
+ ReservationInner.class, context);
+ }
+
+ /**
+ * Links a new SaaS to the reservation.
+ *
+ * A long-running resource action.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @param body The content of the action 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 response body on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono linkSaaSAsync(String resourceGroupName, String reservationName,
+ LinkSaaSRequest body) {
+ return beginLinkSaaSAsync(resourceGroupName, reservationName, body).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Links a new SaaS to the reservation.
+ *
+ * A long-running resource action.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @param body The content of the action 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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ReservationInner linkSaaS(String resourceGroupName, String reservationName, LinkSaaSRequest body) {
+ return beginLinkSaaS(resourceGroupName, reservationName, body).getFinalResult();
+ }
+
+ /**
+ * Links a new SaaS to the reservation.
+ *
+ * A long-running resource action.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @param body The content of the action 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 ReservationInner linkSaaS(String resourceGroupName, String reservationName, LinkSaaSRequest body,
+ Context context) {
+ return beginLinkSaaS(resourceGroupName, reservationName, body, context).getFinalResult();
+ }
+
+ /**
+ * Returns the latest SaaS linked to the reservation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @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 response of get latest linked SaaS resource operation along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> latestLinkedSaaSWithResponseAsync(String resourceGroupName,
+ String reservationName) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.latestLinkedSaaS(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, reservationName, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Returns the latest SaaS linked to the reservation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @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 response of get latest linked SaaS resource operation on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono latestLinkedSaaSAsync(String resourceGroupName,
+ String reservationName) {
+ return latestLinkedSaaSWithResponseAsync(resourceGroupName, reservationName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Returns the latest SaaS linked to the reservation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @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 response of get latest linked SaaS resource operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response latestLinkedSaaSWithResponse(String resourceGroupName,
+ String reservationName, Context context) {
+ final String accept = "application/json";
+ return service.latestLinkedSaaSSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, reservationName, accept, context);
+ }
+
+ /**
+ * Returns the latest SaaS linked to the reservation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param reservationName Name of the reservation.
+ * @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 response of get latest linked SaaS resource operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LatestLinkedSaaSResponseInner latestLinkedSaaS(String resourceGroupName, String reservationName) {
+ return latestLinkedSaaSWithResponse(resourceGroupName, reservationName, Context.NONE).getValue();
+ }
+
/**
* Get the next page of items.
*
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/ReservationsImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/ReservationsImpl.java
index e5cd60e93330..9a7964ecf2fa 100644
--- a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/ReservationsImpl.java
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/ReservationsImpl.java
@@ -10,11 +10,14 @@
import com.azure.core.util.Context;
import com.azure.core.util.logging.ClientLogger;
import com.azure.resourcemanager.purestorageblock.fluent.ReservationsClient;
+import com.azure.resourcemanager.purestorageblock.fluent.models.LatestLinkedSaaSResponseInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.LimitDetailsInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.ReservationBillingStatusInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.ReservationBillingUsageReportInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.ReservationInner;
+import com.azure.resourcemanager.purestorageblock.models.LatestLinkedSaaSResponse;
import com.azure.resourcemanager.purestorageblock.models.LimitDetails;
+import com.azure.resourcemanager.purestorageblock.models.LinkSaaSRequest;
import com.azure.resourcemanager.purestorageblock.models.Reservation;
import com.azure.resourcemanager.purestorageblock.models.ReservationBillingStatus;
import com.azure.resourcemanager.purestorageblock.models.ReservationBillingUsageReport;
@@ -130,6 +133,42 @@ public ReservationBillingUsageReport getBillingReport(String resourceGroupName,
}
}
+ public Reservation linkSaaS(String resourceGroupName, String reservationName, LinkSaaSRequest body) {
+ ReservationInner inner = this.serviceClient().linkSaaS(resourceGroupName, reservationName, body);
+ if (inner != null) {
+ return new ReservationImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Reservation linkSaaS(String resourceGroupName, String reservationName, LinkSaaSRequest body,
+ Context context) {
+ ReservationInner inner = this.serviceClient().linkSaaS(resourceGroupName, reservationName, body, context);
+ if (inner != null) {
+ return new ReservationImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response latestLinkedSaaSWithResponse(String resourceGroupName,
+ String reservationName, Context context) {
+ Response inner
+ = this.serviceClient().latestLinkedSaaSWithResponse(resourceGroupName, reservationName, context);
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new LatestLinkedSaaSResponseImpl(inner.getValue(), this.manager()));
+ }
+
+ public LatestLinkedSaaSResponse latestLinkedSaaS(String resourceGroupName, String reservationName) {
+ LatestLinkedSaaSResponseInner inner = this.serviceClient().latestLinkedSaaS(resourceGroupName, reservationName);
+ if (inner != null) {
+ return new LatestLinkedSaaSResponseImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
public Reservation getById(String id) {
String resourceGroupName = ResourceManagerUtils.getValueFromIdByName(id, "resourceGroups");
if (resourceGroupName == null) {
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/SaaSOperationGroupsClientImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/SaaSOperationGroupsClientImpl.java
new file mode 100644
index 000000000000..45848b2efecb
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/SaaSOperationGroupsClientImpl.java
@@ -0,0 +1,233 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Post;
+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.management.polling.PollResult;
+import com.azure.core.util.BinaryData;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.purestorageblock.fluent.SaaSOperationGroupsClient;
+import com.azure.resourcemanager.purestorageblock.fluent.models.SaaSResourceDetailsResponseInner;
+import com.azure.resourcemanager.purestorageblock.models.ActivateSaaSRequest;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in SaaSOperationGroupsClient.
+ */
+public final class SaaSOperationGroupsClientImpl implements SaaSOperationGroupsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final SaaSOperationGroupsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final PureStorageBlockMgmtClientImpl client;
+
+ /**
+ * Initializes an instance of SaaSOperationGroupsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ SaaSOperationGroupsClientImpl(PureStorageBlockMgmtClientImpl client) {
+ this.service = RestProxy.create(SaaSOperationGroupsService.class, client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for PureStorageBlockMgmtClientSaaSOperationGroups to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{endpoint}")
+ @ServiceInterface(name = "PureStorageBlockMgmtClientSaaSOperationGroups")
+ public interface SaaSOperationGroupsService {
+ @Post("/subscriptions/{subscriptionId}/providers/PureStorage.Block/activateSaaS")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> activateResource(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") ActivateSaaSRequest body, Context context);
+
+ @Post("/subscriptions/{subscriptionId}/providers/PureStorage.Block/activateSaaS")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response activateResourceSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") ActivateSaaSRequest body, Context context);
+ }
+
+ /**
+ * Activate the SaaS resource.
+ *
+ * @param body The request body.
+ * @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 marketplace SaaS resource details along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> activateResourceWithResponseAsync(ActivateSaaSRequest body) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.activateResource(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), contentType, accept, body, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Activate the SaaS resource.
+ *
+ * @param body The request body.
+ * @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 marketplace SaaS resource details along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response activateResourceWithResponse(ActivateSaaSRequest body) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.activateResourceSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), contentType, accept, body, Context.NONE);
+ }
+
+ /**
+ * Activate the SaaS resource.
+ *
+ * @param body The request body.
+ * @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 marketplace SaaS resource details along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response activateResourceWithResponse(ActivateSaaSRequest body, Context context) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.activateResourceSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), contentType, accept, body, context);
+ }
+
+ /**
+ * Activate the SaaS resource.
+ *
+ * @param body The request body.
+ * @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 {@link PollerFlux} for polling of marketplace SaaS resource details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, SaaSResourceDetailsResponseInner>
+ beginActivateResourceAsync(ActivateSaaSRequest body) {
+ Mono>> mono = activateResourceWithResponseAsync(body);
+ return this.client.getLroResult(mono,
+ this.client.getHttpPipeline(), SaaSResourceDetailsResponseInner.class,
+ SaaSResourceDetailsResponseInner.class, this.client.getContext());
+ }
+
+ /**
+ * Activate the SaaS resource.
+ *
+ * @param body The request body.
+ * @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 {@link SyncPoller} for polling of marketplace SaaS resource details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, SaaSResourceDetailsResponseInner>
+ beginActivateResource(ActivateSaaSRequest body) {
+ Response response = activateResourceWithResponse(body);
+ return this.client.getLroResult(response,
+ SaaSResourceDetailsResponseInner.class, SaaSResourceDetailsResponseInner.class, Context.NONE);
+ }
+
+ /**
+ * Activate the SaaS resource.
+ *
+ * @param body The request body.
+ * @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 {@link SyncPoller} for polling of marketplace SaaS resource details.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, SaaSResourceDetailsResponseInner>
+ beginActivateResource(ActivateSaaSRequest body, Context context) {
+ Response response = activateResourceWithResponse(body, context);
+ return this.client.getLroResult(response,
+ SaaSResourceDetailsResponseInner.class, SaaSResourceDetailsResponseInner.class, context);
+ }
+
+ /**
+ * Activate the SaaS resource.
+ *
+ * @param body The request body.
+ * @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 marketplace SaaS resource details on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono activateResourceAsync(ActivateSaaSRequest body) {
+ return beginActivateResourceAsync(body).last().flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Activate the SaaS resource.
+ *
+ * @param body The request body.
+ * @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 marketplace SaaS resource details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SaaSResourceDetailsResponseInner activateResource(ActivateSaaSRequest body) {
+ return beginActivateResource(body).getFinalResult();
+ }
+
+ /**
+ * Activate the SaaS resource.
+ *
+ * @param body The request body.
+ * @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 marketplace SaaS resource details.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SaaSResourceDetailsResponseInner activateResource(ActivateSaaSRequest body, Context context) {
+ return beginActivateResource(body, context).getFinalResult();
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/SaaSOperationGroupsImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/SaaSOperationGroupsImpl.java
new file mode 100644
index 000000000000..792f529c6032
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/SaaSOperationGroupsImpl.java
@@ -0,0 +1,53 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.implementation;
+
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.purestorageblock.fluent.SaaSOperationGroupsClient;
+import com.azure.resourcemanager.purestorageblock.fluent.models.SaaSResourceDetailsResponseInner;
+import com.azure.resourcemanager.purestorageblock.models.ActivateSaaSRequest;
+import com.azure.resourcemanager.purestorageblock.models.SaaSOperationGroups;
+import com.azure.resourcemanager.purestorageblock.models.SaaSResourceDetailsResponse;
+
+public final class SaaSOperationGroupsImpl implements SaaSOperationGroups {
+ private static final ClientLogger LOGGER = new ClientLogger(SaaSOperationGroupsImpl.class);
+
+ private final SaaSOperationGroupsClient innerClient;
+
+ private final com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager;
+
+ public SaaSOperationGroupsImpl(SaaSOperationGroupsClient innerClient,
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public SaaSResourceDetailsResponse activateResource(ActivateSaaSRequest body) {
+ SaaSResourceDetailsResponseInner inner = this.serviceClient().activateResource(body);
+ if (inner != null) {
+ return new SaaSResourceDetailsResponseImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public SaaSResourceDetailsResponse activateResource(ActivateSaaSRequest body, Context context) {
+ SaaSResourceDetailsResponseInner inner = this.serviceClient().activateResource(body, context);
+ if (inner != null) {
+ return new SaaSResourceDetailsResponseImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ private SaaSOperationGroupsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/SaaSResourceDetailsResponseImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/SaaSResourceDetailsResponseImpl.java
new file mode 100644
index 000000000000..568c5256250d
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/SaaSResourceDetailsResponseImpl.java
@@ -0,0 +1,49 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.implementation;
+
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.purestorageblock.fluent.models.SaaSResourceDetailsResponseInner;
+import com.azure.resourcemanager.purestorageblock.models.SaaSResourceDetailsResponse;
+
+public final class SaaSResourceDetailsResponseImpl implements SaaSResourceDetailsResponse {
+ private SaaSResourceDetailsResponseInner innerObject;
+
+ private final com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager;
+
+ SaaSResourceDetailsResponseImpl(SaaSResourceDetailsResponseInner innerObject,
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String saasId() {
+ return this.innerModel().saasId();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public SaaSResourceDetailsResponseInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/StoragePoolImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/StoragePoolImpl.java
index c3a330e2d3b7..1bc3ddda1a3a 100644
--- a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/StoragePoolImpl.java
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/StoragePoolImpl.java
@@ -12,6 +12,9 @@
import com.azure.resourcemanager.purestorageblock.models.AvsConnection;
import com.azure.resourcemanager.purestorageblock.models.AvsStatus;
import com.azure.resourcemanager.purestorageblock.models.ManagedServiceIdentity;
+import com.azure.resourcemanager.purestorageblock.models.PlatformConsoleActivationCode;
+import com.azure.resourcemanager.purestorageblock.models.PlatformConsoleAuthConfig;
+import com.azure.resourcemanager.purestorageblock.models.PlatformConsoleAuthResult;
import com.azure.resourcemanager.purestorageblock.models.StoragePool;
import com.azure.resourcemanager.purestorageblock.models.StoragePoolEnableAvsConnectionPost;
import com.azure.resourcemanager.purestorageblock.models.StoragePoolFinalizeAvsConnectionPost;
@@ -214,6 +217,25 @@ public void repairAvsConnection(Context context) {
serviceManager.storagePools().repairAvsConnection(resourceGroupName, storagePoolName, context);
}
+ public Response listPlatformConsoleActivationCodeWithResponse(Context context) {
+ return serviceManager.storagePools()
+ .listPlatformConsoleActivationCodeWithResponse(resourceGroupName, storagePoolName, context);
+ }
+
+ public PlatformConsoleActivationCode listPlatformConsoleActivationCode() {
+ return serviceManager.storagePools().listPlatformConsoleActivationCode(resourceGroupName, storagePoolName);
+ }
+
+ public Response
+ configurePlatformConsoleAuthWithResponse(PlatformConsoleAuthConfig config, Context context) {
+ return serviceManager.storagePools()
+ .configurePlatformConsoleAuthWithResponse(resourceGroupName, storagePoolName, config, context);
+ }
+
+ public PlatformConsoleAuthResult configurePlatformConsoleAuth(PlatformConsoleAuthConfig config) {
+ return serviceManager.storagePools().configurePlatformConsoleAuth(resourceGroupName, storagePoolName, config);
+ }
+
public StoragePoolImpl withRegion(Region location) {
this.innerModel().withLocation(location.toString());
return this;
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/StoragePoolsClientImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/StoragePoolsClientImpl.java
index 1cb7fbb4e4d7..5f0d3af687b5 100644
--- a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/StoragePoolsClientImpl.java
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/StoragePoolsClientImpl.java
@@ -37,9 +37,12 @@
import com.azure.resourcemanager.purestorageblock.fluent.StoragePoolsClient;
import com.azure.resourcemanager.purestorageblock.fluent.models.AvsConnectionInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.AvsStatusInner;
+import com.azure.resourcemanager.purestorageblock.fluent.models.PlatformConsoleActivationCodeInner;
+import com.azure.resourcemanager.purestorageblock.fluent.models.PlatformConsoleAuthResultInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.StoragePoolHealthInfoInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.StoragePoolInner;
import com.azure.resourcemanager.purestorageblock.implementation.models.StoragePoolListResult;
+import com.azure.resourcemanager.purestorageblock.models.PlatformConsoleAuthConfig;
import com.azure.resourcemanager.purestorageblock.models.StoragePoolEnableAvsConnectionPost;
import com.azure.resourcemanager.purestorageblock.models.StoragePoolFinalizeAvsConnectionPost;
import com.azure.resourcemanager.purestorageblock.models.StoragePoolUpdate;
@@ -327,6 +330,50 @@ Response repairAvsConnectionSync(@HostParam("endpoint") String endpo
@PathParam("resourceGroupName") String resourceGroupName,
@PathParam("storagePoolName") String storagePoolName, Context context);
+ @Headers({ "Content-Type: application/json" })
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/listPlatformConsoleActivationCode")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listPlatformConsoleActivationCode(
+ @HostParam("endpoint") String endpoint, @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/listPlatformConsoleActivationCode")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listPlatformConsoleActivationCodeSync(
+ @HostParam("endpoint") String endpoint, @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/configurePlatformConsoleAuth")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> configurePlatformConsoleAuth(
+ @HostParam("endpoint") String endpoint, @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") PlatformConsoleAuthConfig config,
+ Context context);
+
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/configurePlatformConsoleAuth")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response configurePlatformConsoleAuthSync(
+ @HostParam("endpoint") String endpoint, @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") PlatformConsoleAuthConfig config,
+ Context context);
+
@Headers({ "Content-Type: application/json" })
@Get("{nextLink}")
@ExpectedResponses({ 200 })
@@ -1984,6 +2031,162 @@ public void repairAvsConnection(String resourceGroupName, String storagePoolName
beginRepairAvsConnection(resourceGroupName, storagePoolName, context).getFinalResult();
}
+ /**
+ * Returns a one-time activation code for platform console access to the storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @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 one-time activation code for platform console access along with {@link Response} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ listPlatformConsoleActivationCodeWithResponseAsync(String resourceGroupName, String storagePoolName) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listPlatformConsoleActivationCode(this.client.getEndpoint(),
+ this.client.getApiVersion(), this.client.getSubscriptionId(), resourceGroupName, storagePoolName,
+ accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Returns a one-time activation code for platform console access to the storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @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 one-time activation code for platform console access on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono listPlatformConsoleActivationCodeAsync(String resourceGroupName,
+ String storagePoolName) {
+ return listPlatformConsoleActivationCodeWithResponseAsync(resourceGroupName, storagePoolName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Returns a one-time activation code for platform console access to the storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @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 one-time activation code for platform console access along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response listPlatformConsoleActivationCodeWithResponse(
+ String resourceGroupName, String storagePoolName, Context context) {
+ final String accept = "application/json";
+ return service.listPlatformConsoleActivationCodeSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, accept, context);
+ }
+
+ /**
+ * Returns a one-time activation code for platform console access to the storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @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 one-time activation code for platform console access.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PlatformConsoleActivationCodeInner listPlatformConsoleActivationCode(String resourceGroupName,
+ String storagePoolName) {
+ return listPlatformConsoleActivationCodeWithResponse(resourceGroupName, storagePoolName, Context.NONE)
+ .getValue();
+ }
+
+ /**
+ * Configure authentication settings for platform console access to the storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param config Platform console authentication configuration.
+ * @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 base model for platform console authentication result along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> configurePlatformConsoleAuthWithResponseAsync(
+ String resourceGroupName, String storagePoolName, PlatformConsoleAuthConfig config) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.configurePlatformConsoleAuth(this.client.getEndpoint(),
+ this.client.getApiVersion(), this.client.getSubscriptionId(), resourceGroupName, storagePoolName,
+ contentType, accept, config, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Configure authentication settings for platform console access to the storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param config Platform console authentication configuration.
+ * @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 base model for platform console authentication result on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono configurePlatformConsoleAuthAsync(String resourceGroupName,
+ String storagePoolName, PlatformConsoleAuthConfig config) {
+ return configurePlatformConsoleAuthWithResponseAsync(resourceGroupName, storagePoolName, config)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Configure authentication settings for platform console access to the storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param config Platform console authentication configuration.
+ * @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 base model for platform console authentication result along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response configurePlatformConsoleAuthWithResponse(String resourceGroupName,
+ String storagePoolName, PlatformConsoleAuthConfig config, Context context) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.configurePlatformConsoleAuthSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, contentType, accept, config, context);
+ }
+
+ /**
+ * Configure authentication settings for platform console access to the storage pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param config Platform console authentication configuration.
+ * @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 base model for platform console authentication result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PlatformConsoleAuthResultInner configurePlatformConsoleAuth(String resourceGroupName, String storagePoolName,
+ PlatformConsoleAuthConfig config) {
+ return configurePlatformConsoleAuthWithResponse(resourceGroupName, storagePoolName, config, Context.NONE)
+ .getValue();
+ }
+
/**
* Get the next page of items.
*
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/StoragePoolsImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/StoragePoolsImpl.java
index 3fe460e9f6c8..251031fe7956 100644
--- a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/StoragePoolsImpl.java
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/StoragePoolsImpl.java
@@ -12,10 +12,15 @@
import com.azure.resourcemanager.purestorageblock.fluent.StoragePoolsClient;
import com.azure.resourcemanager.purestorageblock.fluent.models.AvsConnectionInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.AvsStatusInner;
+import com.azure.resourcemanager.purestorageblock.fluent.models.PlatformConsoleActivationCodeInner;
+import com.azure.resourcemanager.purestorageblock.fluent.models.PlatformConsoleAuthResultInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.StoragePoolHealthInfoInner;
import com.azure.resourcemanager.purestorageblock.fluent.models.StoragePoolInner;
import com.azure.resourcemanager.purestorageblock.models.AvsConnection;
import com.azure.resourcemanager.purestorageblock.models.AvsStatus;
+import com.azure.resourcemanager.purestorageblock.models.PlatformConsoleActivationCode;
+import com.azure.resourcemanager.purestorageblock.models.PlatformConsoleAuthConfig;
+import com.azure.resourcemanager.purestorageblock.models.PlatformConsoleAuthResult;
import com.azure.resourcemanager.purestorageblock.models.StoragePool;
import com.azure.resourcemanager.purestorageblock.models.StoragePoolEnableAvsConnectionPost;
import com.azure.resourcemanager.purestorageblock.models.StoragePoolFinalizeAvsConnectionPost;
@@ -167,6 +172,44 @@ public void repairAvsConnection(String resourceGroupName, String storagePoolName
this.serviceClient().repairAvsConnection(resourceGroupName, storagePoolName, context);
}
+ public Response listPlatformConsoleActivationCodeWithResponse(
+ String resourceGroupName, String storagePoolName, Context context) {
+ Response inner = this.serviceClient()
+ .listPlatformConsoleActivationCodeWithResponse(resourceGroupName, storagePoolName, context);
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new PlatformConsoleActivationCodeImpl(inner.getValue(), this.manager()));
+ }
+
+ public PlatformConsoleActivationCode listPlatformConsoleActivationCode(String resourceGroupName,
+ String storagePoolName) {
+ PlatformConsoleActivationCodeInner inner
+ = this.serviceClient().listPlatformConsoleActivationCode(resourceGroupName, storagePoolName);
+ if (inner != null) {
+ return new PlatformConsoleActivationCodeImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response configurePlatformConsoleAuthWithResponse(String resourceGroupName,
+ String storagePoolName, PlatformConsoleAuthConfig config, Context context) {
+ Response inner = this.serviceClient()
+ .configurePlatformConsoleAuthWithResponse(resourceGroupName, storagePoolName, config, context);
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new PlatformConsoleAuthResultImpl(inner.getValue(), this.manager()));
+ }
+
+ public PlatformConsoleAuthResult configurePlatformConsoleAuth(String resourceGroupName, String storagePoolName,
+ PlatformConsoleAuthConfig config) {
+ PlatformConsoleAuthResultInner inner
+ = this.serviceClient().configurePlatformConsoleAuth(resourceGroupName, storagePoolName, config);
+ if (inner != null) {
+ return new PlatformConsoleAuthResultImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
public StoragePool getById(String id) {
String resourceGroupName = ResourceManagerUtils.getValueFromIdByName(id, "resourceGroups");
if (resourceGroupName == null) {
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupImpl.java
new file mode 100644
index 000000000000..938d7dde3f02
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupImpl.java
@@ -0,0 +1,218 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.implementation;
+
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.Region;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.purestorageblock.fluent.models.VolumeGroupInner;
+import com.azure.resourcemanager.purestorageblock.models.ConnectionParametersResponse;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroup;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupOverwriteRequest;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupProperties;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupStatus;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupUpdate;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupUpdateProperties;
+import java.util.Collections;
+import java.util.Map;
+
+public final class VolumeGroupImpl implements VolumeGroup, VolumeGroup.Definition, VolumeGroup.Update {
+ private VolumeGroupInner innerObject;
+
+ private final com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public Map tags() {
+ Map inner = this.innerModel().tags();
+ if (inner != null) {
+ return Collections.unmodifiableMap(inner);
+ } else {
+ return Collections.emptyMap();
+ }
+ }
+
+ public VolumeGroupProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public VolumeGroupInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String storagePoolName;
+
+ private String volumeGroupName;
+
+ private VolumeGroupUpdate updateProperties;
+
+ public VolumeGroupImpl withExistingStoragePool(String resourceGroupName, String storagePoolName) {
+ this.resourceGroupName = resourceGroupName;
+ this.storagePoolName = storagePoolName;
+ return this;
+ }
+
+ public VolumeGroup create() {
+ this.innerObject = serviceManager.serviceClient()
+ .getVolumeGroups()
+ .create(resourceGroupName, storagePoolName, volumeGroupName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public VolumeGroup create(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getVolumeGroups()
+ .create(resourceGroupName, storagePoolName, volumeGroupName, this.innerModel(), context);
+ return this;
+ }
+
+ VolumeGroupImpl(String name, com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager) {
+ this.innerObject = new VolumeGroupInner();
+ this.serviceManager = serviceManager;
+ this.volumeGroupName = name;
+ }
+
+ public VolumeGroupImpl update() {
+ this.updateProperties = new VolumeGroupUpdate();
+ return this;
+ }
+
+ public VolumeGroup apply() {
+ this.innerObject = serviceManager.serviceClient()
+ .getVolumeGroups()
+ .update(resourceGroupName, storagePoolName, volumeGroupName, updateProperties, Context.NONE);
+ return this;
+ }
+
+ public VolumeGroup apply(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getVolumeGroups()
+ .update(resourceGroupName, storagePoolName, volumeGroupName, updateProperties, context);
+ return this;
+ }
+
+ VolumeGroupImpl(VolumeGroupInner innerObject,
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.storagePoolName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "storagePools");
+ this.volumeGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "volumeGroups");
+ }
+
+ public VolumeGroup refresh() {
+ this.innerObject = serviceManager.serviceClient()
+ .getVolumeGroups()
+ .getWithResponse(resourceGroupName, storagePoolName, volumeGroupName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public VolumeGroup refresh(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getVolumeGroups()
+ .getWithResponse(resourceGroupName, storagePoolName, volumeGroupName, context)
+ .getValue();
+ return this;
+ }
+
+ public Response listConnectionParametersWithResponse(Context context) {
+ return serviceManager.volumeGroups()
+ .listConnectionParametersWithResponse(resourceGroupName, storagePoolName, volumeGroupName, context);
+ }
+
+ public ConnectionParametersResponse listConnectionParameters() {
+ return serviceManager.volumeGroups()
+ .listConnectionParameters(resourceGroupName, storagePoolName, volumeGroupName);
+ }
+
+ public Response getStatusWithResponse(Context context) {
+ return serviceManager.volumeGroups()
+ .getStatusWithResponse(resourceGroupName, storagePoolName, volumeGroupName, context);
+ }
+
+ public VolumeGroupStatus getStatus() {
+ return serviceManager.volumeGroups().getStatus(resourceGroupName, storagePoolName, volumeGroupName);
+ }
+
+ public void overwrite(VolumeGroupOverwriteRequest body) {
+ serviceManager.volumeGroups().overwrite(resourceGroupName, storagePoolName, volumeGroupName, body);
+ }
+
+ public void overwrite(VolumeGroupOverwriteRequest body, Context context) {
+ serviceManager.volumeGroups().overwrite(resourceGroupName, storagePoolName, volumeGroupName, body, context);
+ }
+
+ public VolumeGroupImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public VolumeGroupImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public VolumeGroupImpl withTags(Map tags) {
+ if (isInCreateMode()) {
+ this.innerModel().withTags(tags);
+ return this;
+ } else {
+ this.updateProperties.withTags(tags);
+ return this;
+ }
+ }
+
+ public VolumeGroupImpl withProperties(VolumeGroupProperties properties) {
+ this.innerModel().withProperties(properties);
+ return this;
+ }
+
+ public VolumeGroupImpl withProperties(VolumeGroupUpdateProperties properties) {
+ this.updateProperties.withProperties(properties);
+ return this;
+ }
+
+ private boolean isInCreateMode() {
+ return this.innerModel() == null || this.innerModel().id() == null;
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupSnapshotImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupSnapshotImpl.java
new file mode 100644
index 000000000000..7d39aee6db67
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupSnapshotImpl.java
@@ -0,0 +1,109 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.implementation;
+
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.purestorageblock.fluent.models.VolumeGroupSnapshotInner;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupSnapshot;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupSnapshotProperties;
+
+public final class VolumeGroupSnapshotImpl implements VolumeGroupSnapshot, VolumeGroupSnapshot.Definition {
+ private VolumeGroupSnapshotInner innerObject;
+
+ private final com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager;
+
+ VolumeGroupSnapshotImpl(VolumeGroupSnapshotInner innerObject,
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public VolumeGroupSnapshotProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public VolumeGroupSnapshotInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String storagePoolName;
+
+ private String volumeGroupName;
+
+ private String snapshotName;
+
+ public VolumeGroupSnapshotImpl withExistingVolumeGroup(String resourceGroupName, String storagePoolName,
+ String volumeGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ this.storagePoolName = storagePoolName;
+ this.volumeGroupName = volumeGroupName;
+ return this;
+ }
+
+ public VolumeGroupSnapshot create() {
+ this.innerObject = serviceManager.serviceClient()
+ .getVolumeGroupSnapshots()
+ .create(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public VolumeGroupSnapshot create(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getVolumeGroupSnapshots()
+ .create(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, this.innerModel(), context);
+ return this;
+ }
+
+ VolumeGroupSnapshotImpl(String name,
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager) {
+ this.innerObject = new VolumeGroupSnapshotInner();
+ this.serviceManager = serviceManager;
+ this.snapshotName = name;
+ }
+
+ public VolumeGroupSnapshot refresh() {
+ this.innerObject = serviceManager.serviceClient()
+ .getVolumeGroupSnapshots()
+ .getWithResponse(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public VolumeGroupSnapshot refresh(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getVolumeGroupSnapshots()
+ .getWithResponse(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, context)
+ .getValue();
+ return this;
+ }
+
+ public VolumeGroupSnapshotImpl withProperties(VolumeGroupSnapshotProperties properties) {
+ this.innerModel().withProperties(properties);
+ return this;
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupSnapshotPostListResultImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupSnapshotPostListResultImpl.java
new file mode 100644
index 000000000000..2779eb264d14
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupSnapshotPostListResultImpl.java
@@ -0,0 +1,52 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.implementation;
+
+import com.azure.resourcemanager.purestorageblock.fluent.models.VolumeGroupSnapshotInner;
+import com.azure.resourcemanager.purestorageblock.fluent.models.VolumeGroupSnapshotPostListResultInner;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupSnapshot;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupSnapshotPostListResult;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public final class VolumeGroupSnapshotPostListResultImpl implements VolumeGroupSnapshotPostListResult {
+ private VolumeGroupSnapshotPostListResultInner innerObject;
+
+ private final com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager;
+
+ VolumeGroupSnapshotPostListResultImpl(VolumeGroupSnapshotPostListResultInner innerObject,
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public List value() {
+ List inner = this.innerModel().value();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner.stream()
+ .map(inner1 -> new VolumeGroupSnapshotImpl(inner1, this.manager()))
+ .collect(Collectors.toList()));
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public Integer count() {
+ return this.innerModel().count();
+ }
+
+ public Integer totalCount() {
+ return this.innerModel().totalCount();
+ }
+
+ public VolumeGroupSnapshotPostListResultInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupSnapshotsClientImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupSnapshotsClientImpl.java
new file mode 100644
index 000000000000..5d878b51ea34
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupSnapshotsClientImpl.java
@@ -0,0 +1,991 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+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.Post;
+import com.azure.core.annotation.Put;
+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.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+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.management.polling.PollResult;
+import com.azure.core.util.BinaryData;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.purestorageblock.fluent.VolumeGroupSnapshotsClient;
+import com.azure.resourcemanager.purestorageblock.fluent.models.VolumeGroupSnapshotInner;
+import com.azure.resourcemanager.purestorageblock.fluent.models.VolumeGroupSnapshotPostListResultInner;
+import com.azure.resourcemanager.purestorageblock.implementation.models.VolumeGroupSnapshotListResult;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupSnapshotListRequest;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in VolumeGroupSnapshotsClient.
+ */
+public final class VolumeGroupSnapshotsClientImpl implements VolumeGroupSnapshotsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final VolumeGroupSnapshotsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final PureStorageBlockMgmtClientImpl client;
+
+ /**
+ * Initializes an instance of VolumeGroupSnapshotsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ VolumeGroupSnapshotsClientImpl(PureStorageBlockMgmtClientImpl client) {
+ this.service = RestProxy.create(VolumeGroupSnapshotsService.class, client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for PureStorageBlockMgmtClientVolumeGroupSnapshots to be used by the
+ * proxy service to perform REST calls.
+ */
+ @Host("{endpoint}")
+ @ServiceInterface(name = "PureStorageBlockMgmtClientVolumeGroupSnapshots")
+ public interface VolumeGroupSnapshotsService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/volumeGroups/{volumeGroupName}/snapshots/{snapshotName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName, @PathParam("volumeGroupName") String volumeGroupName,
+ @PathParam("snapshotName") String snapshotName, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/volumeGroups/{volumeGroupName}/snapshots/{snapshotName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response getSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName, @PathParam("volumeGroupName") String volumeGroupName,
+ @PathParam("snapshotName") String snapshotName, @HeaderParam("Accept") String accept, Context context);
+
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/volumeGroups/{volumeGroupName}/snapshots/{snapshotName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> create(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName, @PathParam("volumeGroupName") String volumeGroupName,
+ @PathParam("snapshotName") String snapshotName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") VolumeGroupSnapshotInner resource,
+ Context context);
+
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/volumeGroups/{volumeGroupName}/snapshots/{snapshotName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response createSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName, @PathParam("volumeGroupName") String volumeGroupName,
+ @PathParam("snapshotName") String snapshotName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") VolumeGroupSnapshotInner resource,
+ Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/volumeGroups/{volumeGroupName}/snapshots/{snapshotName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName, @PathParam("volumeGroupName") String volumeGroupName,
+ @PathParam("snapshotName") String snapshotName, Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/volumeGroups/{volumeGroupName}/snapshots/{snapshotName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response deleteSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName, @PathParam("volumeGroupName") String volumeGroupName,
+ @PathParam("snapshotName") String snapshotName, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/volumeGroups/{volumeGroupName}/snapshots")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByVolumeGroup(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName, @PathParam("volumeGroupName") String volumeGroupName,
+ @QueryParam("$filter") String filter, @QueryParam("$orderby") String orderby,
+ @QueryParam("$top") Integer top, @QueryParam("$skip") Integer skip, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/volumeGroups/{volumeGroupName}/snapshots")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listByVolumeGroupSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName, @PathParam("volumeGroupName") String volumeGroupName,
+ @QueryParam("$filter") String filter, @QueryParam("$orderby") String orderby,
+ @QueryParam("$top") Integer top, @QueryParam("$skip") Integer skip, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/volumeGroups/{volumeGroupName}/listSnapshots")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listSnapshots(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName, @PathParam("volumeGroupName") String volumeGroupName,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") VolumeGroupSnapshotListRequest properties, Context context);
+
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/volumeGroups/{volumeGroupName}/listSnapshots")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listSnapshotsSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName, @PathParam("volumeGroupName") String volumeGroupName,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") VolumeGroupSnapshotListRequest properties, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByVolumeGroupNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listByVolumeGroupNextSync(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * Get a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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 a volume group snapshot along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String resourceGroupName,
+ String storagePoolName, String volumeGroupName, String snapshotName) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.get(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, volumeGroupName, snapshotName,
+ accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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 a volume group snapshot on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String snapshotName) {
+ return getWithResponseAsync(resourceGroupName, storagePoolName, volumeGroupName, snapshotName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Get a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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 a volume group snapshot along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String snapshotName, Context context) {
+ final String accept = "application/json";
+ return service.getSync(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, storagePoolName, volumeGroupName, snapshotName, accept, context);
+ }
+
+ /**
+ * Get a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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 a volume group snapshot.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public VolumeGroupSnapshotInner get(String resourceGroupName, String storagePoolName, String volumeGroupName,
+ String snapshotName) {
+ return getWithResponse(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, Context.NONE)
+ .getValue();
+ }
+
+ /**
+ * Create a manual snapshot of a volume group, or recover from an existing snapshot by providing
+ * sourceSnapshotResourceId.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @param resource Resource create parameters.
+ * @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 a snapshot of a volume group along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createWithResponseAsync(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String snapshotName, VolumeGroupSnapshotInner resource) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.create(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, volumeGroupName, snapshotName,
+ contentType, accept, resource, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Create a manual snapshot of a volume group, or recover from an existing snapshot by providing
+ * sourceSnapshotResourceId.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @param resource Resource create parameters.
+ * @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 a snapshot of a volume group along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response createWithResponse(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String snapshotName, VolumeGroupSnapshotInner resource) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.createSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, volumeGroupName, snapshotName,
+ contentType, accept, resource, Context.NONE);
+ }
+
+ /**
+ * Create a manual snapshot of a volume group, or recover from an existing snapshot by providing
+ * sourceSnapshotResourceId.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @param resource Resource create parameters.
+ * @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 a snapshot of a volume group along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response createWithResponse(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String snapshotName, VolumeGroupSnapshotInner resource, Context context) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.createSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, volumeGroupName, snapshotName,
+ contentType, accept, resource, context);
+ }
+
+ /**
+ * Create a manual snapshot of a volume group, or recover from an existing snapshot by providing
+ * sourceSnapshotResourceId.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @param resource Resource create parameters.
+ * @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 {@link PollerFlux} for polling of a snapshot of a volume group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, VolumeGroupSnapshotInner> beginCreateAsync(
+ String resourceGroupName, String storagePoolName, String volumeGroupName, String snapshotName,
+ VolumeGroupSnapshotInner resource) {
+ Mono>> mono
+ = createWithResponseAsync(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, resource);
+ return this.client.getLroResult(mono,
+ this.client.getHttpPipeline(), VolumeGroupSnapshotInner.class, VolumeGroupSnapshotInner.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Create a manual snapshot of a volume group, or recover from an existing snapshot by providing
+ * sourceSnapshotResourceId.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @param resource Resource create parameters.
+ * @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 {@link SyncPoller} for polling of a snapshot of a volume group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, VolumeGroupSnapshotInner> beginCreate(
+ String resourceGroupName, String storagePoolName, String volumeGroupName, String snapshotName,
+ VolumeGroupSnapshotInner resource) {
+ Response response
+ = createWithResponse(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, resource);
+ return this.client.getLroResult(response,
+ VolumeGroupSnapshotInner.class, VolumeGroupSnapshotInner.class, Context.NONE);
+ }
+
+ /**
+ * Create a manual snapshot of a volume group, or recover from an existing snapshot by providing
+ * sourceSnapshotResourceId.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @param resource Resource create parameters.
+ * @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 {@link SyncPoller} for polling of a snapshot of a volume group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, VolumeGroupSnapshotInner> beginCreate(
+ String resourceGroupName, String storagePoolName, String volumeGroupName, String snapshotName,
+ VolumeGroupSnapshotInner resource, Context context) {
+ Response response
+ = createWithResponse(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, resource, context);
+ return this.client.getLroResult(response,
+ VolumeGroupSnapshotInner.class, VolumeGroupSnapshotInner.class, context);
+ }
+
+ /**
+ * Create a manual snapshot of a volume group, or recover from an existing snapshot by providing
+ * sourceSnapshotResourceId.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @param resource Resource create parameters.
+ * @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 a snapshot of a volume group on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String snapshotName, VolumeGroupSnapshotInner resource) {
+ return beginCreateAsync(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, resource).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Create a manual snapshot of a volume group, or recover from an existing snapshot by providing
+ * sourceSnapshotResourceId.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @param resource Resource create parameters.
+ * @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 a snapshot of a volume group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public VolumeGroupSnapshotInner create(String resourceGroupName, String storagePoolName, String volumeGroupName,
+ String snapshotName, VolumeGroupSnapshotInner resource) {
+ return beginCreate(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, resource)
+ .getFinalResult();
+ }
+
+ /**
+ * Create a manual snapshot of a volume group, or recover from an existing snapshot by providing
+ * sourceSnapshotResourceId.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @param resource Resource create parameters.
+ * @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 a snapshot of a volume group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public VolumeGroupSnapshotInner create(String resourceGroupName, String storagePoolName, String volumeGroupName,
+ String snapshotName, VolumeGroupSnapshotInner resource, Context context) {
+ return beginCreate(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, resource, context)
+ .getFinalResult();
+ }
+
+ /**
+ * Delete a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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 {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String snapshotName) {
+ return FluxUtil
+ .withContext(context -> service.delete(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, volumeGroupName, snapshotName,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Delete a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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 body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response deleteWithResponse(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String snapshotName) {
+ return service.deleteSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, volumeGroupName, snapshotName,
+ Context.NONE);
+ }
+
+ /**
+ * Delete a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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 body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response deleteWithResponse(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String snapshotName, Context context) {
+ return service.deleteSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, volumeGroupName, snapshotName,
+ context);
+ }
+
+ /**
+ * Delete a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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 {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String snapshotName) {
+ Mono>> mono
+ = deleteWithResponseAsync(resourceGroupName, storagePoolName, volumeGroupName, snapshotName);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Delete a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String snapshotName) {
+ Response response
+ = deleteWithResponse(resourceGroupName, storagePoolName, volumeGroupName, snapshotName);
+ return this.client.getLroResult(response, Void.class, Void.class, Context.NONE);
+ }
+
+ /**
+ * Delete a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String snapshotName, Context context) {
+ Response response
+ = deleteWithResponse(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, context);
+ return this.client.getLroResult(response, Void.class, Void.class, context);
+ }
+
+ /**
+ * Delete a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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 A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String storagePoolName, String volumeGroupName,
+ String snapshotName) {
+ return beginDeleteAsync(resourceGroupName, storagePoolName, volumeGroupName, snapshotName).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Delete a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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 delete(String resourceGroupName, String storagePoolName, String volumeGroupName, String snapshotName) {
+ beginDelete(resourceGroupName, storagePoolName, volumeGroupName, snapshotName).getFinalResult();
+ }
+
+ /**
+ * Delete a volume group snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param snapshotName Name of the volume group snapshot.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String storagePoolName, String volumeGroupName, String snapshotName,
+ Context context) {
+ beginDelete(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, context).getFinalResult();
+ }
+
+ /**
+ * List all snapshots for a given volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param filter OData filter expression (e.g. $filter=substringof('sna', name) and space/unique gt 1000).
+ * @param orderby OData order-by expression (e.g. $orderby=name asc).
+ * @param top Maximum number of results to return per page.
+ * @param skip Number of results to skip (page offset).
+ * @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 paged list result for volume group snapshots along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByVolumeGroupSinglePageAsync(String resourceGroupName,
+ String storagePoolName, String volumeGroupName, String filter, String orderby, Integer top, Integer skip) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByVolumeGroup(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, volumeGroupName, filter, orderby,
+ top, skip, accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(),
+ res.getStatusCode(), res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * List all snapshots for a given volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param filter OData filter expression (e.g. $filter=substringof('sna', name) and space/unique gt 1000).
+ * @param orderby OData order-by expression (e.g. $orderby=name asc).
+ * @param top Maximum number of results to return per page.
+ * @param skip Number of results to skip (page offset).
+ * @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 paged list result for volume group snapshots as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByVolumeGroupAsync(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String filter, String orderby, Integer top, Integer skip) {
+ return new PagedFlux<>(() -> listByVolumeGroupSinglePageAsync(resourceGroupName, storagePoolName,
+ volumeGroupName, filter, orderby, top, skip), nextLink -> listByVolumeGroupNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List all snapshots for a given volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @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 paged list result for volume group snapshots as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByVolumeGroupAsync(String resourceGroupName, String storagePoolName,
+ String volumeGroupName) {
+ final String filter = null;
+ final String orderby = null;
+ final Integer top = null;
+ final Integer skip = null;
+ return new PagedFlux<>(() -> listByVolumeGroupSinglePageAsync(resourceGroupName, storagePoolName,
+ volumeGroupName, filter, orderby, top, skip), nextLink -> listByVolumeGroupNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List all snapshots for a given volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param filter OData filter expression (e.g. $filter=substringof('sna', name) and space/unique gt 1000).
+ * @param orderby OData order-by expression (e.g. $orderby=name asc).
+ * @param top Maximum number of results to return per page.
+ * @param skip Number of results to skip (page offset).
+ * @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 paged list result for volume group snapshots along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByVolumeGroupSinglePage(String resourceGroupName,
+ String storagePoolName, String volumeGroupName, String filter, String orderby, Integer top, Integer skip) {
+ final String accept = "application/json";
+ Response res = service.listByVolumeGroupSync(this.client.getEndpoint(),
+ this.client.getApiVersion(), this.client.getSubscriptionId(), resourceGroupName, storagePoolName,
+ volumeGroupName, filter, orderby, top, skip, accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * List all snapshots for a given volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param filter OData filter expression (e.g. $filter=substringof('sna', name) and space/unique gt 1000).
+ * @param orderby OData order-by expression (e.g. $orderby=name asc).
+ * @param top Maximum number of results to return per page.
+ * @param skip Number of results to skip (page offset).
+ * @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 paged list result for volume group snapshots along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByVolumeGroupSinglePage(String resourceGroupName,
+ String storagePoolName, String volumeGroupName, String filter, String orderby, Integer top, Integer skip,
+ Context context) {
+ final String accept = "application/json";
+ Response res = service.listByVolumeGroupSync(this.client.getEndpoint(),
+ this.client.getApiVersion(), this.client.getSubscriptionId(), resourceGroupName, storagePoolName,
+ volumeGroupName, filter, orderby, top, skip, accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * List all snapshots for a given volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @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 paged list result for volume group snapshots as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByVolumeGroup(String resourceGroupName, String storagePoolName,
+ String volumeGroupName) {
+ final String filter = null;
+ final String orderby = null;
+ final Integer top = null;
+ final Integer skip = null;
+ return new PagedIterable<>(() -> listByVolumeGroupSinglePage(resourceGroupName, storagePoolName,
+ volumeGroupName, filter, orderby, top, skip), nextLink -> listByVolumeGroupNextSinglePage(nextLink));
+ }
+
+ /**
+ * List all snapshots for a given volume group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param filter OData filter expression (e.g. $filter=substringof('sna', name) and space/unique gt 1000).
+ * @param orderby OData order-by expression (e.g. $orderby=name asc).
+ * @param top Maximum number of results to return per page.
+ * @param skip Number of results to skip (page offset).
+ * @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 paged list result for volume group snapshots as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByVolumeGroup(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String filter, String orderby, Integer top, Integer skip, Context context) {
+ return new PagedIterable<>(() -> listByVolumeGroupSinglePage(resourceGroupName, storagePoolName,
+ volumeGroupName, filter, orderby, top, skip, context),
+ nextLink -> listByVolumeGroupNextSinglePage(nextLink, context));
+ }
+
+ /**
+ * List all snapshots for a given volume group using POST with the same request and response contract.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param properties Snapshot list request payload.
+ * @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 list result for volume group snapshots returned by the listSnapshots POST action along with
+ * {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSnapshotsWithResponseAsync(
+ String resourceGroupName, String storagePoolName, String volumeGroupName,
+ VolumeGroupSnapshotListRequest properties) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listSnapshots(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, volumeGroupName, contentType,
+ accept, properties, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * List all snapshots for a given volume group using POST with the same request and response contract.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param properties Snapshot list request payload.
+ * @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 list result for volume group snapshots returned by the listSnapshots POST action on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono listSnapshotsAsync(String resourceGroupName,
+ String storagePoolName, String volumeGroupName, VolumeGroupSnapshotListRequest properties) {
+ return listSnapshotsWithResponseAsync(resourceGroupName, storagePoolName, volumeGroupName, properties)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * List all snapshots for a given volume group using POST with the same request and response contract.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param properties Snapshot list request payload.
+ * @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 list result for volume group snapshots returned by the listSnapshots POST action along with
+ * {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response listSnapshotsWithResponse(String resourceGroupName,
+ String storagePoolName, String volumeGroupName, VolumeGroupSnapshotListRequest properties, Context context) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.listSnapshotsSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, storagePoolName, volumeGroupName, contentType, accept,
+ properties, context);
+ }
+
+ /**
+ * List all snapshots for a given volume group using POST with the same request and response contract.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storagePoolName Name of the storage pool.
+ * @param volumeGroupName Name of the volume group.
+ * @param properties Snapshot list request payload.
+ * @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 list result for volume group snapshots returned by the listSnapshots POST action.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public VolumeGroupSnapshotPostListResultInner listSnapshots(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, VolumeGroupSnapshotListRequest properties) {
+ return listSnapshotsWithResponse(resourceGroupName, storagePoolName, volumeGroupName, properties, Context.NONE)
+ .getValue();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @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 paged list result for volume group snapshots along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByVolumeGroupNextSinglePageAsync(String nextLink) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByVolumeGroupNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(),
+ res.getStatusCode(), res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @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 paged list result for volume group snapshots along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByVolumeGroupNextSinglePage(String nextLink) {
+ final String accept = "application/json";
+ Response res
+ = service.listByVolumeGroupNextSync(nextLink, this.client.getEndpoint(), accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @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 paged list result for volume group snapshots along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByVolumeGroupNextSinglePage(String nextLink, Context context) {
+ final String accept = "application/json";
+ Response res
+ = service.listByVolumeGroupNextSync(nextLink, this.client.getEndpoint(), accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupSnapshotsImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupSnapshotsImpl.java
new file mode 100644
index 000000000000..64b8aeebc401
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupSnapshotsImpl.java
@@ -0,0 +1,203 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+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.purestorageblock.fluent.VolumeGroupSnapshotsClient;
+import com.azure.resourcemanager.purestorageblock.fluent.models.VolumeGroupSnapshotInner;
+import com.azure.resourcemanager.purestorageblock.fluent.models.VolumeGroupSnapshotPostListResultInner;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupSnapshot;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupSnapshotListRequest;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupSnapshotPostListResult;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupSnapshots;
+
+public final class VolumeGroupSnapshotsImpl implements VolumeGroupSnapshots {
+ private static final ClientLogger LOGGER = new ClientLogger(VolumeGroupSnapshotsImpl.class);
+
+ private final VolumeGroupSnapshotsClient innerClient;
+
+ private final com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager;
+
+ public VolumeGroupSnapshotsImpl(VolumeGroupSnapshotsClient innerClient,
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response getWithResponse(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String snapshotName, Context context) {
+ Response inner = this.serviceClient()
+ .getWithResponse(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, context);
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new VolumeGroupSnapshotImpl(inner.getValue(), this.manager()));
+ }
+
+ public VolumeGroupSnapshot get(String resourceGroupName, String storagePoolName, String volumeGroupName,
+ String snapshotName) {
+ VolumeGroupSnapshotInner inner
+ = this.serviceClient().get(resourceGroupName, storagePoolName, volumeGroupName, snapshotName);
+ if (inner != null) {
+ return new VolumeGroupSnapshotImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public void delete(String resourceGroupName, String storagePoolName, String volumeGroupName, String snapshotName) {
+ this.serviceClient().delete(resourceGroupName, storagePoolName, volumeGroupName, snapshotName);
+ }
+
+ public void delete(String resourceGroupName, String storagePoolName, String volumeGroupName, String snapshotName,
+ Context context) {
+ this.serviceClient().delete(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, context);
+ }
+
+ public PagedIterable listByVolumeGroup(String resourceGroupName, String storagePoolName,
+ String volumeGroupName) {
+ PagedIterable inner
+ = this.serviceClient().listByVolumeGroup(resourceGroupName, storagePoolName, volumeGroupName);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new VolumeGroupSnapshotImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByVolumeGroup(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, String filter, String orderby, Integer top, Integer skip, Context context) {
+ PagedIterable inner = this.serviceClient()
+ .listByVolumeGroup(resourceGroupName, storagePoolName, volumeGroupName, filter, orderby, top, skip,
+ context);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new VolumeGroupSnapshotImpl(inner1, this.manager()));
+ }
+
+ public Response listSnapshotsWithResponse(String resourceGroupName,
+ String storagePoolName, String volumeGroupName, VolumeGroupSnapshotListRequest properties, Context context) {
+ Response inner = this.serviceClient()
+ .listSnapshotsWithResponse(resourceGroupName, storagePoolName, volumeGroupName, properties, context);
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new VolumeGroupSnapshotPostListResultImpl(inner.getValue(), this.manager()));
+ }
+
+ public VolumeGroupSnapshotPostListResult listSnapshots(String resourceGroupName, String storagePoolName,
+ String volumeGroupName, VolumeGroupSnapshotListRequest properties) {
+ VolumeGroupSnapshotPostListResultInner inner
+ = this.serviceClient().listSnapshots(resourceGroupName, storagePoolName, volumeGroupName, properties);
+ if (inner != null) {
+ return new VolumeGroupSnapshotPostListResultImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public VolumeGroupSnapshot getById(String id) {
+ String resourceGroupName = ResourceManagerUtils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String storagePoolName = ResourceManagerUtils.getValueFromIdByName(id, "storagePools");
+ if (storagePoolName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'storagePools'.", id)));
+ }
+ String volumeGroupName = ResourceManagerUtils.getValueFromIdByName(id, "volumeGroups");
+ if (volumeGroupName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'volumeGroups'.", id)));
+ }
+ String snapshotName = ResourceManagerUtils.getValueFromIdByName(id, "snapshots");
+ if (snapshotName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'snapshots'.", id)));
+ }
+ return this.getWithResponse(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, Context.NONE)
+ .getValue();
+ }
+
+ public Response getByIdWithResponse(String id, Context context) {
+ String resourceGroupName = ResourceManagerUtils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String storagePoolName = ResourceManagerUtils.getValueFromIdByName(id, "storagePools");
+ if (storagePoolName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'storagePools'.", id)));
+ }
+ String volumeGroupName = ResourceManagerUtils.getValueFromIdByName(id, "volumeGroups");
+ if (volumeGroupName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'volumeGroups'.", id)));
+ }
+ String snapshotName = ResourceManagerUtils.getValueFromIdByName(id, "snapshots");
+ if (snapshotName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'snapshots'.", id)));
+ }
+ return this.getWithResponse(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, context);
+ }
+
+ public void deleteById(String id) {
+ String resourceGroupName = ResourceManagerUtils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String storagePoolName = ResourceManagerUtils.getValueFromIdByName(id, "storagePools");
+ if (storagePoolName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'storagePools'.", id)));
+ }
+ String volumeGroupName = ResourceManagerUtils.getValueFromIdByName(id, "volumeGroups");
+ if (volumeGroupName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'volumeGroups'.", id)));
+ }
+ String snapshotName = ResourceManagerUtils.getValueFromIdByName(id, "snapshots");
+ if (snapshotName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'snapshots'.", id)));
+ }
+ this.delete(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, Context.NONE);
+ }
+
+ public void deleteByIdWithResponse(String id, Context context) {
+ String resourceGroupName = ResourceManagerUtils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String storagePoolName = ResourceManagerUtils.getValueFromIdByName(id, "storagePools");
+ if (storagePoolName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'storagePools'.", id)));
+ }
+ String volumeGroupName = ResourceManagerUtils.getValueFromIdByName(id, "volumeGroups");
+ if (volumeGroupName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'volumeGroups'.", id)));
+ }
+ String snapshotName = ResourceManagerUtils.getValueFromIdByName(id, "snapshots");
+ if (snapshotName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'snapshots'.", id)));
+ }
+ this.delete(resourceGroupName, storagePoolName, volumeGroupName, snapshotName, context);
+ }
+
+ private VolumeGroupSnapshotsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager() {
+ return this.serviceManager;
+ }
+
+ public VolumeGroupSnapshotImpl define(String name) {
+ return new VolumeGroupSnapshotImpl(name, this.manager());
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupStatusImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupStatusImpl.java
new file mode 100644
index 000000000000..cbe094af6e31
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupStatusImpl.java
@@ -0,0 +1,37 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.implementation;
+
+import com.azure.resourcemanager.purestorageblock.fluent.models.VolumeGroupStatusInner;
+import com.azure.resourcemanager.purestorageblock.models.Space;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupStatus;
+
+public final class VolumeGroupStatusImpl implements VolumeGroupStatus {
+ private VolumeGroupStatusInner innerObject;
+
+ private final com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager;
+
+ VolumeGroupStatusImpl(VolumeGroupStatusInner innerObject,
+ com.azure.resourcemanager.purestorageblock.PureStorageBlockManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public Space space() {
+ return this.innerModel().space();
+ }
+
+ public int connectedHostCount() {
+ return this.innerModel().connectedHostCount();
+ }
+
+ public VolumeGroupStatusInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.purestorageblock.PureStorageBlockManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupsClientImpl.java b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupsClientImpl.java
new file mode 100644
index 000000000000..0b37b0fce84e
--- /dev/null
+++ b/sdk/purestorageblock/azure-resourcemanager-purestorageblock/src/main/java/com/azure/resourcemanager/purestorageblock/implementation/VolumeGroupsClientImpl.java
@@ -0,0 +1,1384 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.purestorageblock.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+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.Patch;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Post;
+import com.azure.core.annotation.Put;
+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.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+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.management.polling.PollResult;
+import com.azure.core.util.BinaryData;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.purestorageblock.fluent.VolumeGroupsClient;
+import com.azure.resourcemanager.purestorageblock.fluent.models.ConnectionParametersResponseInner;
+import com.azure.resourcemanager.purestorageblock.fluent.models.VolumeGroupInner;
+import com.azure.resourcemanager.purestorageblock.fluent.models.VolumeGroupStatusInner;
+import com.azure.resourcemanager.purestorageblock.implementation.models.VolumeGroupListResult;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupOverwriteRequest;
+import com.azure.resourcemanager.purestorageblock.models.VolumeGroupUpdate;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in VolumeGroupsClient.
+ */
+public final class VolumeGroupsClientImpl implements VolumeGroupsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final VolumeGroupsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final PureStorageBlockMgmtClientImpl client;
+
+ /**
+ * Initializes an instance of VolumeGroupsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ VolumeGroupsClientImpl(PureStorageBlockMgmtClientImpl client) {
+ this.service
+ = RestProxy.create(VolumeGroupsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for PureStorageBlockMgmtClientVolumeGroups to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{endpoint}")
+ @ServiceInterface(name = "PureStorageBlockMgmtClientVolumeGroups")
+ public interface VolumeGroupsService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/volumeGroups/{volumeGroupName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName, @PathParam("volumeGroupName") String volumeGroupName,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/volumeGroups/{volumeGroupName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response getSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("storagePoolName") String storagePoolName, @PathParam("volumeGroupName") String volumeGroupName,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/PureStorage.Block/storagePools/{storagePoolName}/volumeGroups/{volumeGroupName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono