diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/CHANGELOG.md b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/CHANGELOG.md
index a87f3374d4a5b..6563f2603a23e 100644
--- a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/CHANGELOG.md
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/CHANGELOG.md
@@ -1,14 +1,687 @@
# Release History
-## 1.0.0-beta.2 (Unreleased)
+## 1.0.0-beta.2 (2026-10-19)
-### Features Added
+- Azure Resource Manager Azure Stack Hci Vm client library for Java. This package contains Microsoft Azure SDK for Azure Stack Hci Vm Management SDK. Azure Stack HCI management service. Package api-version 2026-07-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.VmImageRepositoryCredentials` was removed
+
+#### `models.VirtualMachineInstancePropertiesStorageProfileOsDisk` was modified
+
+* `validate()` was removed
+
+#### `models.NetworkSecurityGroupStatus` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineInstancePropertiesHardwareProfileDynamicMemoryConfig` was modified
+
+* `validate()` was removed
+
+#### `models.Subnet` was modified
+
+* `validate()` was removed
+
+#### `models.GalleryImageVersionStorageProfile` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualHardDiskDownloadStatus` was modified
+
+* `validate()` was removed
+
+#### `models.StorageContainerStatusProvisioningStatus` was modified
+
+* `validate()` was removed
+
+#### `models.SubnetIpConfigurationReference` was modified
+
+* `validate()` was removed
+
+#### `models.SshConfiguration` was modified
+
+* `validate()` was removed
+
+#### `models.GalleryOSDiskImage` was modified
+
+* `validate()` was removed
+
+#### `models.NetworkInterfaceStatusProvisioningStatus` was modified
+
+* `validate()` was removed
+
+#### `models.NetworkInterfacesUpdateProperties` was modified
+
+* `validate()` was removed
+
+#### `models.SecurityRuleProperties` was modified
+
+* `validate()` was removed
+
+#### `models.LogicalNetworkArmReference` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineInstanceView` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineInstancePropertiesPlacementProfile` was modified
+
+* `validate()` was removed
+
+#### `models.GuestAgentInstallStatus` was modified
+
+* `validate()` was removed
+
+#### `models.StorageContainerTagsUpdate` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualHardDiskUploadRequest` was modified
+
+* `validate()` was removed
+
+#### `models.LogicalNetworkStatusProvisioningStatus` was modified
+
+* `validate()` was removed
+
+#### `models.SshPublicKey` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineInstanceUpdateRequest` was modified
+
+* `validate()` was removed
+
+#### `models.Route` was modified
+
+* `validate()` was removed
+
+#### `models.LogicalNetworksUpdateRequest` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineInstancePropertiesStorageProfile` was modified
+
+* `validate()` was removed
+
+#### `models.MarketplaceGalleryImageStatusDownloadStatus` was modified
+
+* `validate()` was removed
+
+#### `models.GuestAgentProperties` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualHardDisksUpdateProperties` was modified
+
+* `validate()` was removed
+
+#### `models.AttestationStatusProperties` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineInstancePropertiesHardwareProfile` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineInstancePropertiesSecurityProfileUefiSettings` was modified
+
+* `validate()` was removed
+
+#### `models.ImageArmReference` was modified
+
+* `validate()` was removed
+
+#### `models.NetworkProfileUpdate` was modified
+
+* `validate()` was removed
+
+#### `models.OsProfileUpdate` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineInstanceManagedDiskParameters` was modified
+
+* `validate()` was removed
+
+#### `models.RouteTable` was modified
+
+* `validate()` was removed
+
+#### `models.OsProfileUpdateWindowsConfiguration` was modified
+
+* `validate()` was removed
+
+#### `models.InstanceViewStatus` was modified
+
+* `validate()` was removed
+
+#### `models.GalleryImageStatusProvisioningStatus` was modified
+
+* `validate()` was removed
+
+#### `models.GalleryImageStatus` was modified
+
+* `validate()` was removed
+
+#### `models.StorageProfileUpdate` was modified
+
+* `validate()` was removed
+
+#### `models.GuestCredential` was modified
+
+* `validate()` was removed
+
+#### `models.LogicalNetworkPropertiesDhcpOptions` was modified
+
+* `validate()` was removed
+
+#### `models.NetworkInterfaceProperties` was modified
+
+* `validate()` was removed
+
+#### `models.GalleryImageProperties` was modified
+
+* `vmImageRepositoryCredentials()` was removed
+* `validate()` was removed
+* `withVmImageRepositoryCredentials(models.VmImageRepositoryCredentials)` was removed
+
+#### `models.NetworkSecurityGroupTagsUpdate` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineInstancePropertiesNetworkProfile` was modified
+
+* `validate()` was removed
+
+#### `models.GalleryImageVersion` was modified
+
+* `validate()` was removed
+
+#### `models.HttpProxyConfiguration` was modified
+
+* `validate()` was removed
+
+#### `models.MarketplaceGalleryImageStatusProvisioningStatus` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineInstanceUpdateProperties` was modified
+
+* `validate()` was removed
+
+#### `models.NetworkInterfaceStatus` was modified
+
+* `validate()` was removed
+
+#### `models.GalleryImageTagsUpdate` was modified
+
+* `validate()` was removed
+
+#### `models.MarketplaceGalleryImageTagsUpdate` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineInstancePropertiesOsProfileWindowsConfiguration` was modified
+
+* `validate()` was removed
+
+#### `models.IPPool` was modified
+
+* `validate()` was removed
+
+#### `models.IPConfigurationProperties` was modified
+
+* `validate()` was removed
+
+#### `models.GalleryImageStatusDownloadStatus` was modified
+
+* `validate()` was removed
+
+#### `models.MarketplaceGalleryImageProperties` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineInstancePropertiesSecurityProfile` was modified
+
+* `validate()` was removed
+
+#### `models.NetworkSecurityGroupProperties` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineInstancePropertiesHardwareProfileVirtualMachineGPU` was modified
+
+* `validate()` was removed
+
+#### `models.NetworkInterfacesUpdateRequest` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineConfigAgentInstanceView` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineInstancePropertiesOsProfileLinuxConfiguration` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualHardDiskProperties` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineInstancePropertiesOsProfile` was modified
+
+* `validate()` was removed
+
+#### `models.LogicalNetworkProperties` was modified
+
+* `validate()` was removed
+
+#### `models.StorageContainerStatus` was modified
+
+* `validate()` was removed
+
+#### `models.NetworkSecurityGroupStatusProvisioningStatus` was modified
+
+* `validate()` was removed
+
+#### `models.ExtendedLocation` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualHardDisksUpdateRequest` was modified
+
+* `validate()` was removed
+
+#### `models.OsProfileUpdateLinuxConfiguration` was modified
+
+* `validate()` was removed
+
+#### `models.LogicalNetworkStatus` was modified
+
+* `validate()` was removed
+
+#### `models.UserAssignedIdentity` was modified
+
+* `validate()` was removed
+
+#### `models.VMDiskSecurityProfile` was modified
+
+* `validate()` was removed
+
+#### `models.NetworkInterfaceArmReference` was modified
+
+* `validate()` was removed
+
+#### `models.IPPoolInfo` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineInstanceProperties` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualHardDiskArmReference` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineInstanceStatus` was modified
+
+* `validate()` was removed
+
+#### `models.HardwareProfileUpdate` was modified
+
+* `validate()` was removed
+
+#### `models.HybridIdentityMetadataProperties` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualHardDiskUploadStatus` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualMachineInstanceStatusProvisioningStatus` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualHardDiskStatus` was modified
+
+* `validate()` was removed
+
+#### `models.IPConfiguration` was modified
+
+* `validate()` was removed
+
+#### `models.StorageContainerProperties` was modified
+
+* `validate()` was removed
+
+#### `models.InterfaceDNSSettings` was modified
+
+* `validate()` was removed
+
+#### `models.NetworkSecurityGroupArmReference` was modified
+
+* `validate()` was removed
+
+#### `models.MarketplaceGalleryImageStatus` was modified
+
+* `validate()` was removed
+
+#### `models.GalleryImageIdentifier` was modified
+
+* `validate()` was removed
+
+#### `models.ManagedServiceIdentity` was modified
+
+* `validate()` was removed
+
+#### `models.VirtualHardDiskStatusProvisioningStatus` was modified
+
+* `validate()` was removed
+
+#### `models.Identity` was modified
+
+* `validate()` was removed
+
+### Features Added
+
+* `models.VirtualNetworkDhcpOptions` was added
+
+* `models.VirtualNetwork` was added
+
+* `models.OperationDisplay` was added
+
+* `models.FrontendIPConfigurationProperties` was added
+
+* `models.BackendAddressPoolProperties` was added
+
+* `models.LoadBalancerBackendAddressProperties` was added
+
+* `models.LoadBalancerRuleTransportProtocol` was added
+
+* `models.PublicIPAddress$DefinitionStages` was added
+
+* `models.VirtualNetworkSubnetArmReference` was added
+
+* `models.SnapshotStatusProvisioningStatus` was added
+
+* `models.LoadBalancer` was added
+
+* `models.VirtualNetwork$DefinitionStages` was added
+
+* `models.NatGateway$UpdateStages` was added
+
+* `models.Snapshot$UpdateStages` was added
+
+* `models.OperationStatusResult` was added
+
+* `models.FabricConnectionHealthEnum` was added
+
+* `models.Snapshot$DefinitionStages` was added
+
+* `models.LoadBalancerFrontendIPConfigurationReference` was added
+
+* `models.NatGatewayStatus` was added
+
+* `models.InboundRules` was added
+
+* `models.Operation` was added
+
+* `models.VirtualNetwork$Definition` was added
+
+* `models.PublicIPAddressArmReference` was added
+
+* `models.PowerOffVirtualMachineOptions` was added
+
+* `models.VirtualNetworkSubnetUpdateProperties` was added
+
+* `models.ActionType` was added
+
+* `models.VirtualNetworkAddressSpace` was added
+
+* `models.InboundRule$Definition` was added
+
+* `models.Operations` was added
+
+* `models.VirtualNetworkSubnetIpConfigurationReference` was added
+
+* `models.Snapshot$Update` was added
+
+* `models.PublicIPAddressType` was added
+
+* `models.LoadBalancers` was added
+
+* `models.VirtualNetworkArmReference` was added
+
+* `models.PublicIPAddress$Definition` was added
+
+* `models.PublicIPAddressTagsUpdate` was added
+
+* `models.NatGatewayProperties` was added
+
+* `models.Snapshots` was added
+
+* `models.FabricIssue` was added
+
+* `models.LoadBalancerRuleSessionPersistenceType` was added
+
+* `models.LoadBalancerBackendAddressPoolReference` was added
+
+* `models.ProbeProperties` was added
+
+* `models.IPConfigurationArmReference` was added
+
+* `models.LoadBalancer$UpdateStages` was added
+
+* `models.Snapshot` was added
+
+* `models.NatGateways` was added
+
+* `models.InboundRuleProperties` was added
+
+* `models.VirtualNetwork$Update` was added
+
+* `models.FabricResourceTypeEnum` was added
+
+* `models.LoadBalancer$DefinitionStages` was added
+
+* `models.VirtualNetworkTagsUpdate` was added
+
+* `models.InboundRuleStatus` was added
+
+* `models.SnapshotTagsUpdate` was added
+
+* `models.InboundRuleStatusProvisioningStatus` was added
+
+* `models.VirtualNetworkSubnetUpdateRequest` was added
+
+* `models.InboundRule` was added
+
+* `models.PublicIPAddress` was added
+
+* `models.LoadBalancerTagsUpdate` was added
+
+* `models.VirtualNetwork$UpdateStages` was added
+
+* `models.InboundNATRuleProtocol` was added
+
+* `models.LoadBalancer$Update` was added
+
+* `models.Probe` was added
+
+* `models.VirtualNetworkProperties` was added
+
+* `models.FabricIntegrationStatus` was added
+
+* `models.LoadBalancerRule` was added
+
+* `models.PublicIPAddress$UpdateStages` was added
+
+* `models.LoadBalancerProperties` was added
+
+* `models.LoadBalancerProbeReference` was added
+
+* `models.VirtualNetworks` was added
+
+* `models.NatGateway` was added
+
+* `models.VirtualNetworkSubnet` was added
+
+* `models.VirtualNetworkSubnetStatus` was added
+
+* `models.InboundRule$Update` was added
+
+* `models.SnapshotProperties` was added
+
+* `models.Snapshot$Definition` was added
+
+* `models.PublicIPAddresses` was added
+
+* `models.LoadBalancerBackendAddressAdminState` was added
+
+* `models.VirtualNetworkSubnet$UpdateStages` was added
+
+* `models.VirtualNetworkSubnet$Definition` was added
+
+* `models.FabricIntegrationStateEnum` was added
+
+* `models.LoadBalancerBackendAddress` was added
+
+* `models.VirtualNetworkSubnets` was added
+
+* `models.ManagedNetworkFabricArmReference` was added
+
+* `models.VirtualNetworkStatus` was added
+
+* `models.LoadBalancer$Definition` was added
+
+* `models.LoadBalancerRuleProperties` was added
+
+* `models.LoadBalancerStatusProvisioningStatus` was added
+
+* `models.SnapshotStatus` was added
+
+* `models.NatGateway$DefinitionStages` was added
+
+* `models.Origin` was added
+
+* `models.CreationData` was added
+
+* `models.LoadBalancerProbeProtocol` was added
+
+* `models.FrontendIPConfiguration` was added
+
+* `models.BackendAddressPool` was added
+
+* `models.NatGatewayArmReference` was added
+
+* `models.LoadBalancerStatus` was added
+
+* `models.PublicIPAddress$Update` was added
+
+* `models.VirtualNetworkSubnetStatusProvisioningStatus` was added
+
+* `models.NatGateway$Update` was added
+
+* `models.VirtualNetworkSubnet$DefinitionStages` was added
+
+* `models.OperationStepResult` was added
+
+* `models.DiskCreateOption` was added
+
+* `models.VirtualNetworkStatusProvisioningStatus` was added
+
+* `models.VirtualNetworkSubnetProperties` was added
+
+* `models.VirtualNetworkSubnet$Update` was added
+
+* `models.NatGatewayStatusProvisioningStatus` was added
+
+* `models.NatGateway$Definition` was added
+
+* `models.InboundRule$UpdateStages` was added
+
+* `models.InboundRule$DefinitionStages` was added
+
+* `models.NatGatewayTagsUpdate` was added
+
+* `models.PublicIPAddressProperties` was added
+
+#### `models.VirtualMachineInstancePropertiesHardwareProfileDynamicMemoryConfig` was modified
+
+* `withEnabled(java.lang.Boolean)` was added
+* `enabled()` was added
+
+#### `models.Subnet` was modified
+
+* `provisioningState()` was added
+
+#### `models.NetworkInterfacesUpdateProperties` was modified
+
+* `bypassSdnPolicies()` was added
+* `withBypassSdnPolicies(java.lang.Boolean)` was added
+
+#### `models.VirtualMachineInstances` was modified
+
+* `powerOff(java.lang.String,models.PowerOffVirtualMachineOptions)` was added
+* `powerOff(java.lang.String,models.PowerOffVirtualMachineOptions,com.azure.core.util.Context)` was added
+
+#### `AzureStackHciVmManager` was modified
+
+* `operations()` was added
+* `virtualNetworkSubnets()` was added
+* `natGateways()` was added
+* `snapshots()` was added
+* `loadBalancers()` was added
+* `virtualNetworks()` was added
+* `publicIPAddresses()` was added
+* `inboundRules()` was added
+
+#### `models.NetworkInterfaceProperties` was modified
+
+* `withBypassSdnPolicies(java.lang.Boolean)` was added
+* `bypassSdnPolicies()` was added
+
+#### `models.HyperVGeneration` was modified
+
+* `NA` was added
+
+#### `models.VirtualHardDiskProperties` was modified
+
+* `withLocalVhdPath(java.lang.String)` was added
+* `withCreationData(models.CreationData)` was added
+* `creationData()` was added
+* `localVhdPath()` was added
+
+#### `models.LogicalNetworkProperties` was modified
+
+* `fabricNetworkConfiguration()` was added
+* `withFabricNetworkConfiguration(models.ManagedNetworkFabricArmReference)` was added
+
+#### `models.LogicalNetworkStatus` was modified
+
+* `fabricIntegration()` was added
+
+#### `models.VirtualMachineInstanceProperties` was modified
+
+* `withLocalVmName(java.lang.String)` was added
+* `localVmName()` was added
+
+#### `models.VirtualMachineInstanceStatus` was modified
+
+* `operationDetails()` was added
+
+#### `models.HardwareProfileUpdate` was modified
-### Other Changes
+* `withDynamicMemoryConfig(models.VirtualMachineInstancePropertiesHardwareProfileDynamicMemoryConfig)` was added
+* `dynamicMemoryConfig()` was added
## 1.0.0-beta.1 (2025-08-11)
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/README.md b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/README.md
index c6575f486088b..67caaacb27fb9 100644
--- a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/README.md
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/README.md
@@ -2,7 +2,7 @@
Azure Resource Manager Azure Stack Hci Vm client library for Java.
-This package contains Microsoft Azure SDK for Azure Stack Hci Vm Management SDK. Azure Stack HCI management service. Package api-version 2025-06-01-preview. 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 Azure Stack Hci Vm Management SDK. Azure Stack HCI management service. Package api-version 2026-07-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-azurestackhci-vm
- 1.0.0-beta.1
+ 1.0.0-beta.2
```
[//]: # ({x-version-update-end})
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/SAMPLE.md b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/SAMPLE.md
index 8d1d328812a30..3393bbdcdc1b2 100644
--- a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/SAMPLE.md
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/SAMPLE.md
@@ -26,6 +26,22 @@
- [Get](#hybrididentitymetadata_get)
- [ListByVirtualMachineInstance](#hybrididentitymetadata_listbyvirtualmachineinstance)
+## InboundRules
+
+- [CreateOrUpdate](#inboundrules_createorupdate)
+- [Delete](#inboundrules_delete)
+- [Get](#inboundrules_get)
+- [ListByNatGateway](#inboundrules_listbynatgateway)
+
+## LoadBalancers
+
+- [CreateOrUpdate](#loadbalancers_createorupdate)
+- [Delete](#loadbalancers_delete)
+- [GetByResourceGroup](#loadbalancers_getbyresourcegroup)
+- [List](#loadbalancers_list)
+- [ListByResourceGroup](#loadbalancers_listbyresourcegroup)
+- [UpdateTags](#loadbalancers_updatetags)
+
## LogicalNetworks
- [CreateOrUpdate](#logicalnetworks_createorupdate)
@@ -44,6 +60,15 @@
- [ListByResourceGroup](#marketplacegalleryimages_listbyresourcegroup)
- [Update](#marketplacegalleryimages_update)
+## NatGateways
+
+- [CreateOrUpdate](#natgateways_createorupdate)
+- [Delete](#natgateways_delete)
+- [GetByResourceGroup](#natgateways_getbyresourcegroup)
+- [List](#natgateways_list)
+- [ListByResourceGroup](#natgateways_listbyresourcegroup)
+- [UpdateTags](#natgateways_updatetags)
+
## NetworkInterfaces
- [CreateOrUpdate](#networkinterfaces_createorupdate)
@@ -62,6 +87,19 @@
- [ListByResourceGroup](#networksecuritygroups_listbyresourcegroup)
- [UpdateTags](#networksecuritygroups_updatetags)
+## Operations
+
+- [List](#operations_list)
+
+## PublicIPAddresses
+
+- [CreateOrUpdate](#publicipaddresses_createorupdate)
+- [Delete](#publicipaddresses_delete)
+- [GetByResourceGroup](#publicipaddresses_getbyresourcegroup)
+- [List](#publicipaddresses_list)
+- [ListByResourceGroup](#publicipaddresses_listbyresourcegroup)
+- [UpdateTags](#publicipaddresses_updatetags)
+
## SecurityRules
- [CreateOrUpdate](#securityrules_createorupdate)
@@ -69,6 +107,15 @@
- [Get](#securityrules_get)
- [ListByNetworkSecurityGroup](#securityrules_listbynetworksecuritygroup)
+## Snapshots
+
+- [CreateOrUpdate](#snapshots_createorupdate)
+- [Delete](#snapshots_delete)
+- [GetByResourceGroup](#snapshots_getbyresourcegroup)
+- [List](#snapshots_list)
+- [ListByResourceGroup](#snapshots_listbyresourcegroup)
+- [Update](#snapshots_update)
+
## StorageContainers
- [CreateOrUpdate](#storagecontainers_createorupdate)
@@ -95,11 +142,29 @@
- [Get](#virtualmachineinstances_get)
- [List](#virtualmachineinstances_list)
- [Pause](#virtualmachineinstances_pause)
+- [PowerOff](#virtualmachineinstances_poweroff)
- [Restart](#virtualmachineinstances_restart)
- [Save](#virtualmachineinstances_save)
- [Start](#virtualmachineinstances_start)
- [Stop](#virtualmachineinstances_stop)
- [Update](#virtualmachineinstances_update)
+
+## VirtualNetworkSubnets
+
+- [CreateOrUpdate](#virtualnetworksubnets_createorupdate)
+- [Delete](#virtualnetworksubnets_delete)
+- [Get](#virtualnetworksubnets_get)
+- [ListByVirtualNetwork](#virtualnetworksubnets_listbyvirtualnetwork)
+- [Update](#virtualnetworksubnets_update)
+
+## VirtualNetworks
+
+- [CreateOrUpdate](#virtualnetworks_createorupdate)
+- [Delete](#virtualnetworks_delete)
+- [GetByResourceGroup](#virtualnetworks_getbyresourcegroup)
+- [List](#virtualnetworks_list)
+- [ListByResourceGroup](#virtualnetworks_listbyresourcegroup)
+- [UpdateTags](#virtualnetworks_updatetags)
### AttestationStatuses_Get
```java
@@ -108,7 +173,7 @@
*/
public final class AttestationStatusesGetSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/AttestationStatuses_Get.json
+ * x-ms-original-file: 2026-07-01-preview/AttestationStatuses_Get.json
*/
/**
* Sample code: GetAttestationStatus.
@@ -137,7 +202,7 @@ import com.azure.resourcemanager.azurestackhci.vm.models.OperatingSystemTypes;
*/
public final class GalleryImagesCreateOrUpdateSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/GalleryImages_CreateOrUpdate.json
+ * x-ms-original-file: 2026-07-01-preview/GalleryImages_CreateOrUpdate.json
*/
/**
* Sample code: PutGalleryImage.
@@ -169,7 +234,7 @@ public final class GalleryImagesCreateOrUpdateSamples {
*/
public final class GalleryImagesDeleteSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/GalleryImages_Delete.json
+ * x-ms-original-file: 2026-07-01-preview/GalleryImages_Delete.json
*/
/**
* Sample code: DeleteGalleryImage.
@@ -190,7 +255,7 @@ public final class GalleryImagesDeleteSamples {
*/
public final class GalleryImagesGetByResourceGroupSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/GalleryImages_Get.json
+ * x-ms-original-file: 2026-07-01-preview/GalleryImages_Get.json
*/
/**
* Sample code: GetGalleryImage.
@@ -212,7 +277,7 @@ public final class GalleryImagesGetByResourceGroupSamples {
*/
public final class GalleryImagesListSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/GalleryImages_ListAll.json
+ * x-ms-original-file: 2026-07-01-preview/GalleryImages_ListAll.json
*/
/**
* Sample code: ListGalleryImageBySubscription.
@@ -234,7 +299,7 @@ public final class GalleryImagesListSamples {
*/
public final class GalleryImagesListByResourceGroupSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/GalleryImages_ListByResourceGroup.json
+ * x-ms-original-file: 2026-07-01-preview/GalleryImages_ListByResourceGroup.json
*/
/**
* Sample code: ListGalleryImageByResourceGroup.
@@ -260,7 +325,7 @@ import java.util.Map;
*/
public final class GalleryImagesUpdateSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/GalleryImages_Update.json
+ * x-ms-original-file: 2026-07-01-preview/GalleryImages_Update.json
*/
/**
* Sample code: UpdateGalleryImage.
@@ -301,7 +366,7 @@ import com.azure.resourcemanager.azurestackhci.vm.models.ProvisioningAction;
*/
public final class GuestAgentsCreateSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/GuestAgents_Create.json
+ * x-ms-original-file: 2026-07-01-preview/GuestAgents_Create.json
*/
/**
* Sample code: CreateGuestAgent.
@@ -329,7 +394,7 @@ public final class GuestAgentsCreateSamples {
*/
public final class GuestAgentsDeleteSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/GuestAgents_Delete.json
+ * x-ms-original-file: 2026-07-01-preview/GuestAgents_Delete.json
*/
/**
* Sample code: DeleteGuestAgent.
@@ -353,7 +418,7 @@ public final class GuestAgentsDeleteSamples {
*/
public final class GuestAgentsGetSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/GuestAgents_Get.json
+ * x-ms-original-file: 2026-07-01-preview/GuestAgents_Get.json
*/
/**
* Sample code: GetGuestAgent.
@@ -377,7 +442,7 @@ public final class GuestAgentsGetSamples {
*/
public final class GuestAgentsListByVirtualMachineInstanceSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/GuestAgents_ListByVirtualMachineInstance.json
+ * x-ms-original-file: 2026-07-01-preview/GuestAgents_ListByVirtualMachineInstance.json
*/
/**
* Sample code: GuestAgentListByVirtualMachineInstances.
@@ -402,7 +467,7 @@ public final class GuestAgentsListByVirtualMachineInstanceSamples {
*/
public final class HybridIdentityMetadataGetSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/HybridIdentityMetadataGroup_Get.json
+ * x-ms-original-file: 2026-07-01-preview/HybridIdentityMetadataGroup_Get.json
*/
/**
* Sample code: GetHybridIdentityMetadata.
@@ -427,7 +492,7 @@ public final class HybridIdentityMetadataGetSamples {
*/
public final class HybridIdentityMetadataListByVirtualMachineInstanceSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/HybridIdentityMetadata_ListByVirtualMachineInstance.json
+ * x-ms-original-file: 2026-07-01-preview/HybridIdentityMetadata_ListByVirtualMachineInstance.json
*/
/**
* Sample code: HybridIdentityMetadataListByVirtualMachineInstances.
@@ -444,6 +509,343 @@ public final class HybridIdentityMetadataListByVirtualMachineInstanceSamples {
}
```
+### InboundRules_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.azurestackhci.vm.models.ExtendedLocation;
+import com.azure.resourcemanager.azurestackhci.vm.models.ExtendedLocationTypes;
+import com.azure.resourcemanager.azurestackhci.vm.models.IPConfigurationArmReference;
+import com.azure.resourcemanager.azurestackhci.vm.models.InboundNATRuleProtocol;
+import com.azure.resourcemanager.azurestackhci.vm.models.InboundRuleProperties;
+import com.azure.resourcemanager.azurestackhci.vm.models.PublicIPAddressArmReference;
+
+/**
+ * Samples for InboundRules CreateOrUpdate.
+ */
+public final class InboundRulesCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/InboundRules_CreateOrUpdate.json
+ */
+ /**
+ * Sample code: CreateOrUpdateInboundRule.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ createOrUpdateInboundRule(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.inboundRules()
+ .define("sample-inbound-rule")
+ .withExistingNatGateway("test-rg", "test-nat-gw")
+ .withProperties(new InboundRuleProperties().withProtocol(InboundNATRuleProtocol.TCP)
+ .withFrontendPort(3389)
+ .withBackendPort(3389)
+ .withBackendIPConfiguration(new IPConfigurationArmReference().withResourceId(
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/test-nic/ipConfigurations/ipconfig1"))
+ .withPublicIPAddress(new PublicIPAddressArmReference().withResourceId(
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/publicIPAddresses/test-public-ip")))
+ .withExtendedLocation(new ExtendedLocation().withName(
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location")
+ .withType(ExtendedLocationTypes.CUSTOM_LOCATION))
+ .create();
+ }
+}
+```
+
+### InboundRules_Delete
+
+```java
+/**
+ * Samples for InboundRules Delete.
+ */
+public final class InboundRulesDeleteSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/InboundRules_Delete.json
+ */
+ /**
+ * Sample code: DeleteInboundRule.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void deleteInboundRule(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.inboundRules()
+ .delete("test-rg", "test-nat-gw", "sample-inbound-rule", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### InboundRules_Get
+
+```java
+/**
+ * Samples for InboundRules Get.
+ */
+public final class InboundRulesGetSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/InboundRules_Get.json
+ */
+ /**
+ * Sample code: GetInboundRule.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void getInboundRule(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.inboundRules()
+ .getWithResponse("test-rg", "test-nat-gw", "sample-inbound-rule", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### InboundRules_ListByNatGateway
+
+```java
+/**
+ * Samples for InboundRules ListByNatGateway.
+ */
+public final class InboundRulesListByNatGatewaySamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/InboundRules_ListByNatGateway.json
+ */
+ /**
+ * Sample code: ListInboundRulesByNatGateway.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ listInboundRulesByNatGateway(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.inboundRules().listByNatGateway("test-rg", "test-nat-gw", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### LoadBalancers_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.azurestackhci.vm.models.BackendAddressPool;
+import com.azure.resourcemanager.azurestackhci.vm.models.BackendAddressPoolProperties;
+import com.azure.resourcemanager.azurestackhci.vm.models.ExtendedLocation;
+import com.azure.resourcemanager.azurestackhci.vm.models.ExtendedLocationTypes;
+import com.azure.resourcemanager.azurestackhci.vm.models.FrontendIPConfiguration;
+import com.azure.resourcemanager.azurestackhci.vm.models.FrontendIPConfigurationProperties;
+import com.azure.resourcemanager.azurestackhci.vm.models.IPConfigurationArmReference;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancerBackendAddress;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancerBackendAddressAdminState;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancerBackendAddressPoolReference;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancerBackendAddressProperties;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancerFrontendIPConfigurationReference;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancerProbeProtocol;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancerProbeReference;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancerProperties;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancerRule;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancerRuleProperties;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancerRuleSessionPersistenceType;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancerRuleTransportProtocol;
+import com.azure.resourcemanager.azurestackhci.vm.models.Probe;
+import com.azure.resourcemanager.azurestackhci.vm.models.ProbeProperties;
+import com.azure.resourcemanager.azurestackhci.vm.models.PublicIPAddressArmReference;
+import com.azure.resourcemanager.azurestackhci.vm.models.VirtualNetworkArmReference;
+import java.util.Arrays;
+
+/**
+ * Samples for LoadBalancers CreateOrUpdate.
+ */
+public final class LoadBalancersCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/LoadBalancers_CreateOrUpdate.json
+ */
+ /**
+ * Sample code: PutLoadBalancer.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void putLoadBalancer(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.loadBalancers()
+ .define("test-lb")
+ .withRegion("West US2")
+ .withExistingResourceGroup("test-rg")
+ .withProperties(new LoadBalancerProperties()
+ .withFrontendIPConfigurations(Arrays.asList(new FrontendIPConfiguration().withName("web-frontend")
+ .withProperties(new FrontendIPConfigurationProperties()
+ .withPublicIPAddress(new PublicIPAddressArmReference().withResourceId(
+ "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/azure-local-rg/providers/Microsoft.AzureStackHCI/publicIPs/webPublicIP")))))
+ .withBackendAddressPools(Arrays.asList(new BackendAddressPool().withName("web-backend")
+ .withProperties(new BackendAddressPoolProperties().withLoadBalancerBackendAddresses(Arrays.asList(
+ new LoadBalancerBackendAddress().withName("web-server-1")
+ .withProperties(new LoadBalancerBackendAddressProperties()
+ .withAdminState(LoadBalancerBackendAddressAdminState.UP)
+ .withNetworkInterfaceIPConfiguration(new IPConfigurationArmReference().withResourceId(
+ "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/azure-local-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/web-server-1-nic/ipConfigurations/primary"))),
+ new LoadBalancerBackendAddress().withName("web-server-2")
+ .withProperties(new LoadBalancerBackendAddressProperties()
+ .withAdminState(LoadBalancerBackendAddressAdminState.UP)
+ .withNetworkInterfaceIPConfiguration(new IPConfigurationArmReference().withResourceId(
+ "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/azure-local-rg/providers/Microsoft.AzureStackHCI/networkInterfaces/web-server-2-nic/ipConfigurations/primary")))))
+ .withVirtualNetwork(new VirtualNetworkArmReference().withResourceId(
+ "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/azure-local-rg/providers/Microsoft.AzureStackHCI/virtualNetworks/webVNet")))))
+ .withLoadBalancingRules(Arrays.asList(
+ new LoadBalancerRule().withName("http-rule")
+ .withProperties(new LoadBalancerRuleProperties()
+ .withFrontendIPConfiguration(
+ new LoadBalancerFrontendIPConfigurationReference().withName("web-frontend"))
+ .withBackendAddressPool(
+ new LoadBalancerBackendAddressPoolReference().withName("web-backend"))
+ .withFrontendPort(80)
+ .withBackendPort(80)
+ .withProtocol(LoadBalancerRuleTransportProtocol.TCP)
+ .withProbe(new LoadBalancerProbeReference().withName("http-probe"))
+ .withLoadDistribution(LoadBalancerRuleSessionPersistenceType.DEFAULT)
+ .withIdleTimeoutInMinutes(4)),
+ new LoadBalancerRule().withName("https-rule")
+ .withProperties(new LoadBalancerRuleProperties()
+ .withFrontendIPConfiguration(
+ new LoadBalancerFrontendIPConfigurationReference().withName("web-frontend"))
+ .withBackendAddressPool(
+ new LoadBalancerBackendAddressPoolReference().withName("web-backend"))
+ .withFrontendPort(443)
+ .withBackendPort(443)
+ .withProtocol(LoadBalancerRuleTransportProtocol.TCP)
+ .withLoadDistribution(LoadBalancerRuleSessionPersistenceType.DEFAULT)
+ .withIdleTimeoutInMinutes(4))))
+ .withProbes(Arrays.asList(new Probe().withName("http-probe")
+ .withProperties(new ProbeProperties().withProtocol(LoadBalancerProbeProtocol.HTTP)
+ .withPort(80)
+ .withRequestPath("/health")
+ .withIntervalInSeconds(15)
+ .withNumberOfProbes(2)))))
+ .withExtendedLocation(new ExtendedLocation().withName(
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location")
+ .withType(ExtendedLocationTypes.CUSTOM_LOCATION))
+ .create();
+ }
+}
+```
+
+### LoadBalancers_Delete
+
+```java
+/**
+ * Samples for LoadBalancers Delete.
+ */
+public final class LoadBalancersDeleteSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/LoadBalancers_Delete.json
+ */
+ /**
+ * Sample code: DeleteLoadBalancers.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void deleteLoadBalancers(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.loadBalancers().delete("test-rg", "test-lb", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### LoadBalancers_GetByResourceGroup
+
+```java
+/**
+ * Samples for LoadBalancers GetByResourceGroup.
+ */
+public final class LoadBalancersGetByResourceGroupSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/LoadBalancers_Get.json
+ */
+ /**
+ * Sample code: GetLoadBalancers.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void getLoadBalancers(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.loadBalancers().getByResourceGroupWithResponse("test-rg", "test-lb", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### LoadBalancers_List
+
+```java
+/**
+ * Samples for LoadBalancers List.
+ */
+public final class LoadBalancersListSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/LoadBalancers_ListAll.json
+ */
+ /**
+ * Sample code: ListLoadBalancerBySubscription.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ listLoadBalancerBySubscription(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.loadBalancers().list(com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### LoadBalancers_ListByResourceGroup
+
+```java
+/**
+ * Samples for LoadBalancers ListByResourceGroup.
+ */
+public final class LoadBalancersListByResourceGroupSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/LoadBalancers_ListByResourceGroup.json
+ */
+ /**
+ * Sample code: ListLoadBalancerByResourceGroup.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ listLoadBalancerByResourceGroup(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.loadBalancers().listByResourceGroup("test-rg", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### LoadBalancers_UpdateTags
+
+```java
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancer;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Samples for LoadBalancers UpdateTags.
+ */
+public final class LoadBalancersUpdateTagsSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/LoadBalancers_UpdateTags.json
+ */
+ /**
+ * Sample code: Update LoadBalancers tags.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ updateLoadBalancersTags(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ LoadBalancer resource = manager.loadBalancers()
+ .getByResourceGroupWithResponse("testrg", "test-lb", com.azure.core.util.Context.NONE)
+ .getValue();
+ resource.update().withTags(mapOf("tag1", "value1", "tag2", "value2")).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;
+ }
+}
+```
+
### LogicalNetworks_CreateOrUpdate
```java
@@ -455,7 +857,7 @@ import com.azure.resourcemanager.azurestackhci.vm.models.ExtendedLocationTypes;
*/
public final class LogicalNetworksCreateOrUpdateSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/LogicalNetworks_CreateOrUpdate.json
+ * x-ms-original-file: 2026-07-01-preview/LogicalNetworks_CreateOrUpdate.json
*/
/**
* Sample code: PutLogicalNetwork.
@@ -483,7 +885,7 @@ public final class LogicalNetworksCreateOrUpdateSamples {
*/
public final class LogicalNetworksDeleteSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/LogicalNetworks_Delete.json
+ * x-ms-original-file: 2026-07-01-preview/LogicalNetworks_Delete.json
*/
/**
* Sample code: DeleteLogicalNetwork.
@@ -504,7 +906,7 @@ public final class LogicalNetworksDeleteSamples {
*/
public final class LogicalNetworksGetByResourceGroupSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/LogicalNetworks_Get.json
+ * x-ms-original-file: 2026-07-01-preview/LogicalNetworks_Get.json
*/
/**
* Sample code: GetLogicalNetwork.
@@ -526,7 +928,7 @@ public final class LogicalNetworksGetByResourceGroupSamples {
*/
public final class LogicalNetworksListSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/LogicalNetworks_ListAll.json
+ * x-ms-original-file: 2026-07-01-preview/LogicalNetworks_ListAll.json
*/
/**
* Sample code: ListLogicalNetworkBySubscription.
@@ -548,7 +950,7 @@ public final class LogicalNetworksListSamples {
*/
public final class LogicalNetworksListByResourceGroupSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/LogicalNetworks_ListByResourceGroup.json
+ * x-ms-original-file: 2026-07-01-preview/LogicalNetworks_ListByResourceGroup.json
*/
/**
* Sample code: ListLogicalNetworkByResourceGroup.
@@ -574,7 +976,7 @@ import java.util.Map;
*/
public final class LogicalNetworksUpdateSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/LogicalNetworks_Update.json
+ * x-ms-original-file: 2026-07-01-preview/LogicalNetworks_Update.json
*/
/**
* Sample code: UpdateLogicalNetwork.
@@ -619,7 +1021,7 @@ import com.azure.resourcemanager.azurestackhci.vm.models.OperatingSystemTypes;
*/
public final class MarketplaceGalleryImagesCreateOrUpdateSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/MarketplaceGalleryImages_CreateOrUpdate.json
+ * x-ms-original-file: 2026-07-01-preview/MarketplaceGalleryImages_CreateOrUpdate.json
*/
/**
* Sample code: PutMarketplaceGalleryImage.
@@ -657,7 +1059,7 @@ public final class MarketplaceGalleryImagesCreateOrUpdateSamples {
*/
public final class MarketplaceGalleryImagesDeleteSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/MarketplaceGalleryImages_Delete.json
+ * x-ms-original-file: 2026-07-01-preview/MarketplaceGalleryImages_Delete.json
*/
/**
* Sample code: DeleteMarketplaceGalleryImage.
@@ -680,7 +1082,7 @@ public final class MarketplaceGalleryImagesDeleteSamples {
*/
public final class MarketplaceGalleryImagesGetByResourceGroupSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/MarketplaceGalleryImages_Get.json
+ * x-ms-original-file: 2026-07-01-preview/MarketplaceGalleryImages_Get.json
*/
/**
* Sample code: GetMarketplaceGalleryImage.
@@ -704,7 +1106,7 @@ public final class MarketplaceGalleryImagesGetByResourceGroupSamples {
*/
public final class MarketplaceGalleryImagesListSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/MarketplaceGalleryImages_ListAll.json
+ * x-ms-original-file: 2026-07-01-preview/MarketplaceGalleryImages_ListAll.json
*/
/**
* Sample code: ListMarketplaceGalleryImageBySubscription.
@@ -726,7 +1128,7 @@ public final class MarketplaceGalleryImagesListSamples {
*/
public final class MarketplaceGalleryImagesListByResourceGroupSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/MarketplaceGalleryImages_ListByResourceGroup.json
+ * x-ms-original-file: 2026-07-01-preview/MarketplaceGalleryImages_ListByResourceGroup.json
*/
/**
* Sample code: ListMarketplaceGalleryImageByResourceGroup.
@@ -752,7 +1154,7 @@ import java.util.Map;
*/
public final class MarketplaceGalleryImagesUpdateSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/MarketplaceGalleryImages_Update.json
+ * x-ms-original-file: 2026-07-01-preview/MarketplaceGalleryImages_Update.json
*/
/**
* Sample code: UpdateMarketplaceGalleryImage.
@@ -782,132 +1184,296 @@ public final class MarketplaceGalleryImagesUpdateSamples {
}
```
-### NetworkInterfaces_CreateOrUpdate
+### NatGateways_CreateOrUpdate
```java
import com.azure.resourcemanager.azurestackhci.vm.models.ExtendedLocation;
import com.azure.resourcemanager.azurestackhci.vm.models.ExtendedLocationTypes;
-import com.azure.resourcemanager.azurestackhci.vm.models.IPConfiguration;
-import com.azure.resourcemanager.azurestackhci.vm.models.IPConfigurationProperties;
-import com.azure.resourcemanager.azurestackhci.vm.models.LogicalNetworkArmReference;
-import com.azure.resourcemanager.azurestackhci.vm.models.NetworkInterfaceProperties;
+import com.azure.resourcemanager.azurestackhci.vm.models.NatGatewayProperties;
+import com.azure.resourcemanager.azurestackhci.vm.models.PublicIPAddressArmReference;
import java.util.Arrays;
/**
- * Samples for NetworkInterfaces CreateOrUpdate.
+ * Samples for NatGateways CreateOrUpdate.
*/
-public final class NetworkInterfacesCreateOrUpdateSamples {
+public final class NatGatewaysCreateOrUpdateSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/NetworkInterfaces__CreateOrUpdate_CreateFromLocal.json
+ * x-ms-original-file: 2026-07-01-preview/NatGateways_CreateOrUpdate.json
*/
/**
- * Sample code: CreateNetworkInterfaceFromLocal.
+ * Sample code: PutNatGateway.
*
* @param manager Entry point to AzureStackHciVmManager.
*/
- public static void
- createNetworkInterfaceFromLocal(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
- manager.networkInterfaces()
- .define("test-nic")
- .withRegion("eastus")
+ public static void putNatGateway(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.natGateways()
+ .define("test-nat-gw")
+ .withRegion("West US2")
.withExistingResourceGroup("test-rg")
- .withProperties(new NetworkInterfaceProperties().withIpConfigurations(Arrays.asList(new IPConfiguration()
- .withName("ipconfig-sample")
- .withProperties(new IPConfigurationProperties().withSubnet(new LogicalNetworkArmReference().withId(
- "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/logicalNetworks/test-lnet")))))
- .withCreateFromLocal(true))
+ .withProperties(new NatGatewayProperties()
+ .withPublicIPAddresses(Arrays.asList(new PublicIPAddressArmReference().withResourceId(
+ "/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/azure-local-rg/providers/Microsoft.AzureStackHCI/publicIPAddresses/outbound-pip"))))
.withExtendedLocation(new ExtendedLocation().withName(
- "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location")
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location")
.withType(ExtendedLocationTypes.CUSTOM_LOCATION))
.create();
}
+}
+```
+### NatGateways_Delete
+
+```java
+/**
+ * Samples for NatGateways Delete.
+ */
+public final class NatGatewaysDeleteSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/NetworkInterfaces_CreateOrUpdate.json
+ * x-ms-original-file: 2026-07-01-preview/NatGateways_Delete.json
*/
/**
- * Sample code: PutNetworkInterface.
+ * Sample code: DeleteNatGateway.
*
* @param manager Entry point to AzureStackHciVmManager.
*/
- public static void putNetworkInterface(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
- manager.networkInterfaces()
- .define("test-nic")
- .withRegion("eastus")
- .withExistingResourceGroup("test-rg")
- .withProperties(new NetworkInterfaceProperties().withIpConfigurations(Arrays.asList(new IPConfiguration()
- .withName("ipconfig-sample")
- .withProperties(new IPConfigurationProperties().withSubnet(new LogicalNetworkArmReference().withId(
- "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/logicalNetworks/test-lnet"))))))
- .withExtendedLocation(new ExtendedLocation().withName(
- "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location")
- .withType(ExtendedLocationTypes.CUSTOM_LOCATION))
- .create();
+ public static void deleteNatGateway(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.natGateways().delete("test-rg", "test-nat-gw", com.azure.core.util.Context.NONE);
}
}
```
-### NetworkInterfaces_Delete
+### NatGateways_GetByResourceGroup
```java
/**
- * Samples for NetworkInterfaces Delete.
+ * Samples for NatGateways GetByResourceGroup.
*/
-public final class NetworkInterfacesDeleteSamples {
+public final class NatGatewaysGetByResourceGroupSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/NetworkInterfaces_Delete.json
+ * x-ms-original-file: 2026-07-01-preview/NatGateways_Get.json
*/
/**
- * Sample code: DeleteNetworkInterface.
+ * Sample code: GetNatGateway.
*
* @param manager Entry point to AzureStackHciVmManager.
*/
- public static void
- deleteNetworkInterface(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
- manager.networkInterfaces().delete("test-rg", "test-nic", com.azure.core.util.Context.NONE);
+ public static void getNatGateway(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.natGateways()
+ .getByResourceGroupWithResponse("test-rg", "test-nat-gw", com.azure.core.util.Context.NONE);
}
}
```
-### NetworkInterfaces_GetByResourceGroup
+### NatGateways_List
```java
/**
- * Samples for NetworkInterfaces GetByResourceGroup.
+ * Samples for NatGateways List.
*/
-public final class NetworkInterfacesGetByResourceGroupSamples {
+public final class NatGatewaysListSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/NetworkInterfaces_Get.json
+ * x-ms-original-file: 2026-07-01-preview/NatGateways_ListAll.json
*/
/**
- * Sample code: GetNetworkInterface.
+ * Sample code: ListNatGatewayBySubscription.
*
* @param manager Entry point to AzureStackHciVmManager.
*/
- public static void getNetworkInterface(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
- manager.networkInterfaces()
- .getByResourceGroupWithResponse("test-rg", "test-nic", com.azure.core.util.Context.NONE);
+ public static void
+ listNatGatewayBySubscription(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.natGateways().list(com.azure.core.util.Context.NONE);
}
}
```
-### NetworkInterfaces_List
+### NatGateways_ListByResourceGroup
```java
/**
- * Samples for NetworkInterfaces List.
+ * Samples for NatGateways ListByResourceGroup.
*/
-public final class NetworkInterfacesListSamples {
+public final class NatGatewaysListByResourceGroupSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/NetworkInterfaces_ListAll.json
+ * x-ms-original-file: 2026-07-01-preview/NatGateways_ListByResourceGroup.json
*/
/**
- * Sample code: ListNetworkInterfaceBySubscription.
+ * Sample code: ListNatGatewayByResourceGroup.
*
* @param manager Entry point to AzureStackHciVmManager.
*/
public static void
- listNetworkInterfaceBySubscription(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ listNatGatewayByResourceGroup(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.natGateways().listByResourceGroup("test-rg", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### NatGateways_UpdateTags
+
+```java
+import com.azure.resourcemanager.azurestackhci.vm.models.NatGateway;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Samples for NatGateways UpdateTags.
+ */
+public final class NatGatewaysUpdateTagsSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/NatGateways_UpdateTags.json
+ */
+ /**
+ * Sample code: Update natGateway tags.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void updateNatGatewayTags(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ NatGateway resource = manager.natGateways()
+ .getByResourceGroupWithResponse("testrg", "testnatgw", com.azure.core.util.Context.NONE)
+ .getValue();
+ resource.update().withTags(mapOf("tag1", "value1", "tag2", "value2")).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;
+ }
+}
+```
+
+### NetworkInterfaces_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.azurestackhci.vm.models.ExtendedLocation;
+import com.azure.resourcemanager.azurestackhci.vm.models.ExtendedLocationTypes;
+import com.azure.resourcemanager.azurestackhci.vm.models.IPConfiguration;
+import com.azure.resourcemanager.azurestackhci.vm.models.IPConfigurationProperties;
+import com.azure.resourcemanager.azurestackhci.vm.models.LogicalNetworkArmReference;
+import com.azure.resourcemanager.azurestackhci.vm.models.NetworkInterfaceProperties;
+import java.util.Arrays;
+
+/**
+ * Samples for NetworkInterfaces CreateOrUpdate.
+ */
+public final class NetworkInterfacesCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/NetworkInterfaces__CreateOrUpdate_CreateFromLocal.json
+ */
+ /**
+ * Sample code: CreateNetworkInterfaceFromLocal.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ createNetworkInterfaceFromLocal(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.networkInterfaces()
+ .define("test-nic")
+ .withRegion("eastus")
+ .withExistingResourceGroup("test-rg")
+ .withProperties(new NetworkInterfaceProperties().withIpConfigurations(Arrays.asList(new IPConfiguration()
+ .withName("ipconfig-sample")
+ .withProperties(new IPConfigurationProperties().withSubnet(new LogicalNetworkArmReference().withId(
+ "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/logicalNetworks/test-lnet")))))
+ .withCreateFromLocal(true))
+ .withExtendedLocation(new ExtendedLocation().withName(
+ "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location")
+ .withType(ExtendedLocationTypes.CUSTOM_LOCATION))
+ .create();
+ }
+
+ /*
+ * x-ms-original-file: 2026-07-01-preview/NetworkInterfaces_CreateOrUpdate.json
+ */
+ /**
+ * Sample code: PutNetworkInterface.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void putNetworkInterface(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.networkInterfaces()
+ .define("test-nic")
+ .withRegion("eastus")
+ .withExistingResourceGroup("test-rg")
+ .withProperties(new NetworkInterfaceProperties().withIpConfigurations(Arrays.asList(new IPConfiguration()
+ .withName("ipconfig-sample")
+ .withProperties(new IPConfigurationProperties().withSubnet(new LogicalNetworkArmReference().withId(
+ "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/logicalNetworks/test-lnet"))))))
+ .withExtendedLocation(new ExtendedLocation().withName(
+ "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location")
+ .withType(ExtendedLocationTypes.CUSTOM_LOCATION))
+ .create();
+ }
+}
+```
+
+### NetworkInterfaces_Delete
+
+```java
+/**
+ * Samples for NetworkInterfaces Delete.
+ */
+public final class NetworkInterfacesDeleteSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/NetworkInterfaces_Delete.json
+ */
+ /**
+ * Sample code: DeleteNetworkInterface.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ deleteNetworkInterface(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.networkInterfaces().delete("test-rg", "test-nic", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### NetworkInterfaces_GetByResourceGroup
+
+```java
+/**
+ * Samples for NetworkInterfaces GetByResourceGroup.
+ */
+public final class NetworkInterfacesGetByResourceGroupSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/NetworkInterfaces_Get.json
+ */
+ /**
+ * Sample code: GetNetworkInterface.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void getNetworkInterface(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.networkInterfaces()
+ .getByResourceGroupWithResponse("test-rg", "test-nic", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### NetworkInterfaces_List
+
+```java
+/**
+ * Samples for NetworkInterfaces List.
+ */
+public final class NetworkInterfacesListSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/NetworkInterfaces_ListAll.json
+ */
+ /**
+ * Sample code: ListNetworkInterfaceBySubscription.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ listNetworkInterfaceBySubscription(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
manager.networkInterfaces().list(com.azure.core.util.Context.NONE);
}
}
@@ -921,7 +1487,7 @@ public final class NetworkInterfacesListSamples {
*/
public final class NetworkInterfacesListByResourceGroupSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/NetworkInterfaces_ListByResourceGroup.json
+ * x-ms-original-file: 2026-07-01-preview/NetworkInterfaces_ListByResourceGroup.json
*/
/**
* Sample code: ListNetworkInterfaceByResourceGroup.
@@ -947,7 +1513,7 @@ import java.util.Map;
*/
public final class NetworkInterfacesUpdateSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/NetworkInterfaces_Update.json
+ * x-ms-original-file: 2026-07-01-preview/NetworkInterfaces_Update.json
*/
/**
* Sample code: UpdateNetworkInterface.
@@ -984,7 +1550,7 @@ public final class NetworkInterfacesUpdateSamples {
*/
public final class NetworkSecurityGroupsCreateOrUpdateSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/NetworkSecurityGroups_CreateOrUpdate.json
+ * x-ms-original-file: 2026-07-01-preview/NetworkSecurityGroups_CreateOrUpdate.json
*/
/**
* Sample code: CreateNetworkSecurityGroup.
@@ -1010,7 +1576,7 @@ public final class NetworkSecurityGroupsCreateOrUpdateSamples {
*/
public final class NetworkSecurityGroupsDeleteSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/NetworkSecurityGroups_Delete.json
+ * x-ms-original-file: 2026-07-01-preview/NetworkSecurityGroups_Delete.json
*/
/**
* Sample code: Delete network security group.
@@ -1032,7 +1598,7 @@ public final class NetworkSecurityGroupsDeleteSamples {
*/
public final class NetworkSecurityGroupsGetByResourceGroupSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/NetworkSecurityGroups_Get.json
+ * x-ms-original-file: 2026-07-01-preview/NetworkSecurityGroups_Get.json
*/
/**
* Sample code: Get network security group.
@@ -1055,7 +1621,7 @@ public final class NetworkSecurityGroupsGetByResourceGroupSamples {
*/
public final class NetworkSecurityGroupsListSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/NetworkSecurityGroups_ListAll.json
+ * x-ms-original-file: 2026-07-01-preview/NetworkSecurityGroups_ListAll.json
*/
/**
* Sample code: List all network security groups.
@@ -1077,7 +1643,7 @@ public final class NetworkSecurityGroupsListSamples {
*/
public final class NetworkSecurityGroupsListByResourceGroupSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/NetworkSecurityGroups_ListByResourceGroup.json
+ * x-ms-original-file: 2026-07-01-preview/NetworkSecurityGroups_ListByResourceGroup.json
*/
/**
* Sample code: List network security groups in resource group.
@@ -1103,7 +1669,7 @@ import java.util.Map;
*/
public final class NetworkSecurityGroupsUpdateTagsSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/NetworkSecurityGroups_UpdateTags.json
+ * x-ms-original-file: 2026-07-01-preview/NetworkSecurityGroups_UpdateTags.json
*/
/**
* Sample code: Update network security group tags.
@@ -1132,6 +1698,190 @@ public final class NetworkSecurityGroupsUpdateTagsSamples {
}
```
+### Operations_List
+
+```java
+/**
+ * Samples for Operations List.
+ */
+public final class OperationsListSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/Operations_List.json
+ */
+ /**
+ * Sample code: List the operations for the provider.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ listTheOperationsForTheProvider(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.operations().list(com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### PublicIPAddresses_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.azurestackhci.vm.models.PublicIPAddressProperties;
+import com.azure.resourcemanager.azurestackhci.vm.models.PublicIPAddressType;
+
+/**
+ * Samples for PublicIPAddresses CreateOrUpdate.
+ */
+public final class PublicIPAddressesCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/PublicIPAddresses_CreateOrUpdate.json
+ */
+ /**
+ * Sample code: CreatePublicIPAddress.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ createPublicIPAddress(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.publicIPAddresses()
+ .define("public-ip1")
+ .withRegion("eastus")
+ .withExistingResourceGroup("testrg")
+ .withProperties(new PublicIPAddressProperties().withPublicIPAddressVersion(PublicIPAddressType.IPV4)
+ .withIpAllocationScope(
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.AzureStackHCI/logicalNetworks/lnet1")
+ .withIpAddress("10.100.100.4"))
+ .create();
+ }
+}
+```
+
+### PublicIPAddresses_Delete
+
+```java
+/**
+ * Samples for PublicIPAddresses Delete.
+ */
+public final class PublicIPAddressesDeleteSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/PublicIPAddresses_Delete.json
+ */
+ /**
+ * Sample code: Delete public IP address.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ deletePublicIPAddress(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.publicIPAddresses().delete("test-rg", "test-ip", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### PublicIPAddresses_GetByResourceGroup
+
+```java
+/**
+ * Samples for PublicIPAddresses GetByResourceGroup.
+ */
+public final class PublicIPAddressesGetByResourceGroupSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/PublicIPAddresses_Get.json
+ */
+ /**
+ * Sample code: Get public IP address.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void getPublicIPAddress(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.publicIPAddresses()
+ .getByResourceGroupWithResponse("test-rg", "testip", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### PublicIPAddresses_List
+
+```java
+/**
+ * Samples for PublicIPAddresses List.
+ */
+public final class PublicIPAddressesListSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/PublicIPAddresses_ListALL.json
+ */
+ /**
+ * Sample code: List all public IP addresses.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ listAllPublicIPAddresses(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.publicIPAddresses().list(com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### PublicIPAddresses_ListByResourceGroup
+
+```java
+/**
+ * Samples for PublicIPAddresses ListByResourceGroup.
+ */
+public final class PublicIPAddressesListByResourceGroupSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/PublicIPAddresses_ListByResourceGroup.json
+ */
+ /**
+ * Sample code: List public IPs in resource group.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ listPublicIPsInResourceGroup(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.publicIPAddresses().listByResourceGroup("testrg", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### PublicIPAddresses_UpdateTags
+
+```java
+import com.azure.resourcemanager.azurestackhci.vm.models.PublicIPAddress;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Samples for PublicIPAddresses UpdateTags.
+ */
+public final class PublicIPAddressesUpdateTagsSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/PublicIPAddresses_UpdateTags.json
+ */
+ /**
+ * Sample code: Update public IP addresses tags.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ updatePublicIPAddressesTags(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ PublicIPAddress resource = manager.publicIPAddresses()
+ .getByResourceGroupWithResponse("testrg", "publicip", com.azure.core.util.Context.NONE)
+ .getValue();
+ resource.update().withTags(mapOf("tag1", "value1", "tag2", "value2")).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;
+ }
+}
+```
+
### SecurityRules_CreateOrUpdate
```java
@@ -1148,7 +1898,7 @@ import java.util.Arrays;
*/
public final class SecurityRulesCreateOrUpdateSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/SecurityRules_CreateOrUpdate.json
+ * x-ms-original-file: 2026-07-01-preview/SecurityRules_CreateOrUpdate.json
*/
/**
* Sample code: SecurityRulesCreateOrUpdate.
@@ -1184,7 +1934,7 @@ public final class SecurityRulesCreateOrUpdateSamples {
*/
public final class SecurityRulesDeleteSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/SecurityRules_Delete.json
+ * x-ms-original-file: 2026-07-01-preview/SecurityRules_Delete.json
*/
/**
* Sample code: SecurityRulesDelete.
@@ -1205,7 +1955,7 @@ public final class SecurityRulesDeleteSamples {
*/
public final class SecurityRulesGetSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/SecurityRules_Get.json
+ * x-ms-original-file: 2026-07-01-preview/SecurityRules_Get.json
*/
/**
* Sample code: Get network security rule in network security group.
@@ -1225,18 +1975,199 @@ public final class SecurityRulesGetSamples {
/**
* Samples for SecurityRules ListByNetworkSecurityGroup.
*/
-public final class SecurityRulesListByNetworkSecurityGroupSamples {
+public final class SecurityRulesListByNetworkSecurityGroupSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/SecurityRules_ListByNetworkSecurityGroup.json
+ */
+ /**
+ * Sample code: List network security rules in network security group.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void listNetworkSecurityRulesInNetworkSecurityGroup(
+ com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.securityRules().listByNetworkSecurityGroup("testrg", "testnsg", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Snapshots_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.azurestackhci.vm.models.CreationData;
+import com.azure.resourcemanager.azurestackhci.vm.models.DiskCreateOption;
+import com.azure.resourcemanager.azurestackhci.vm.models.ExtendedLocation;
+import com.azure.resourcemanager.azurestackhci.vm.models.ExtendedLocationTypes;
+import com.azure.resourcemanager.azurestackhci.vm.models.SnapshotProperties;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Samples for Snapshots CreateOrUpdate.
+ */
+public final class SnapshotsCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/Snapshots_CreateOrUpdate.json
+ */
+ /**
+ * Sample code: Create or update a snapshot.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ createOrUpdateASnapshot(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.snapshots()
+ .define("test-snapshot")
+ .withRegion("West US2")
+ .withExistingResourceGroup("test-rg")
+ .withTags(mapOf("environment", "test"))
+ .withProperties(new SnapshotProperties().withCreationData(new CreationData()
+ .withCreateOption(DiskCreateOption.COPY)
+ .withSourceResourceId(
+ "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/virtualHardDisks/source-vhd")))
+ .withExtendedLocation(new ExtendedLocation().withName(
+ "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location")
+ .withType(ExtendedLocationTypes.CUSTOM_LOCATION))
+ .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;
+ }
+}
+```
+
+### Snapshots_Delete
+
+```java
+/**
+ * Samples for Snapshots Delete.
+ */
+public final class SnapshotsDeleteSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/Snapshots_Delete.json
+ */
+ /**
+ * Sample code: Delete a snapshot.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void deleteASnapshot(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.snapshots().delete("test-rg", "test-snapshot", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Snapshots_GetByResourceGroup
+
+```java
+/**
+ * Samples for Snapshots GetByResourceGroup.
+ */
+public final class SnapshotsGetByResourceGroupSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/Snapshots_Get.json
+ */
+ /**
+ * Sample code: Get a snapshot.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void getASnapshot(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.snapshots()
+ .getByResourceGroupWithResponse("test-rg", "test-snapshot", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Snapshots_List
+
+```java
+/**
+ * Samples for Snapshots List.
+ */
+public final class SnapshotsListSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/Snapshots_ListAll.json
+ */
+ /**
+ * Sample code: List all snapshots in a subscription.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ listAllSnapshotsInASubscription(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.snapshots().list(com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Snapshots_ListByResourceGroup
+
+```java
+/**
+ * Samples for Snapshots ListByResourceGroup.
+ */
+public final class SnapshotsListByResourceGroupSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/Snapshots_ListByResourceGroup.json
+ */
+ /**
+ * Sample code: List snapshots by resource group.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ listSnapshotsByResourceGroup(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.snapshots().listByResourceGroup("test-rg", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Snapshots_Update
+
+```java
+import com.azure.resourcemanager.azurestackhci.vm.models.Snapshot;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Samples for Snapshots Update.
+ */
+public final class SnapshotsUpdateSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/SecurityRules_ListByNetworkSecurityGroup.json
+ * x-ms-original-file: 2026-07-01-preview/Snapshots_Update.json
*/
/**
- * Sample code: List network security rules in network security group.
+ * Sample code: Update a snapshot.
*
* @param manager Entry point to AzureStackHciVmManager.
*/
- public static void listNetworkSecurityRulesInNetworkSecurityGroup(
- com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
- manager.securityRules().listByNetworkSecurityGroup("testrg", "testnsg", com.azure.core.util.Context.NONE);
+ public static void updateASnapshot(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ Snapshot resource = manager.snapshots()
+ .getByResourceGroupWithResponse("test-rg", "test-snapshot", com.azure.core.util.Context.NONE)
+ .getValue();
+ resource.update().withTags(mapOf("environment", "production", "tier", "standard")).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;
}
}
```
@@ -1253,7 +2184,7 @@ import com.azure.resourcemanager.azurestackhci.vm.models.StorageContainerPropert
*/
public final class StorageContainersCreateOrUpdateSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/StorageContainers_CreateOrUpdate.json
+ * x-ms-original-file: 2026-07-01-preview/StorageContainers_CreateOrUpdate.json
*/
/**
* Sample code: PutStorageContainer.
@@ -1282,7 +2213,7 @@ public final class StorageContainersCreateOrUpdateSamples {
*/
public final class StorageContainersDeleteSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/StorageContainers_Delete.json
+ * x-ms-original-file: 2026-07-01-preview/StorageContainers_Delete.json
*/
/**
* Sample code: DeleteStorageContainer.
@@ -1304,7 +2235,7 @@ public final class StorageContainersDeleteSamples {
*/
public final class StorageContainersGetByResourceGroupSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/StorageContainers_Get.json
+ * x-ms-original-file: 2026-07-01-preview/StorageContainers_Get.json
*/
/**
* Sample code: GetStorageContainer.
@@ -1326,7 +2257,7 @@ public final class StorageContainersGetByResourceGroupSamples {
*/
public final class StorageContainersListSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/StorageContainers_ListAll.json
+ * x-ms-original-file: 2026-07-01-preview/StorageContainers_ListAll.json
*/
/**
* Sample code: ListStorageContainerBySubscription.
@@ -1348,7 +2279,7 @@ public final class StorageContainersListSamples {
*/
public final class StorageContainersListByResourceGroupSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/StorageContainers_ListByResourceGroup.json
+ * x-ms-original-file: 2026-07-01-preview/StorageContainers_ListByResourceGroup.json
*/
/**
* Sample code: ListStorageContainerByResourceGroup.
@@ -1374,7 +2305,7 @@ import java.util.Map;
*/
public final class StorageContainersUpdateSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/StorageContainers_Update.json
+ * x-ms-original-file: 2026-07-01-preview/StorageContainers_Update.json
*/
/**
* Sample code: UpdateStorageContainer.
@@ -1415,7 +2346,7 @@ import com.azure.resourcemanager.azurestackhci.vm.models.VirtualHardDiskProperti
*/
public final class VirtualHardDisksCreateOrUpdateSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/VirtualHardDisks__CreateOrUpdate_CreateFromLocal.json
+ * x-ms-original-file: 2026-07-01-preview/VirtualHardDisks__CreateOrUpdate_CreateFromLocal.json
*/
/**
* Sample code: CreateVirtualHardDiskFromLocal.
@@ -1425,12 +2356,12 @@ public final class VirtualHardDisksCreateOrUpdateSamples {
public static void
createVirtualHardDiskFromLocal(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
manager.virtualHardDisks()
- .define("test-vhd")
+ .define("rehome-datadisk-1")
.withRegion("West US2")
.withExistingResourceGroup("test-rg")
.withProperties(new VirtualHardDiskProperties().withCreateFromLocal(true)
- .withContainerId(
- "/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/storageContainers/test-storage-container"))
+ .withLocalVhdPath(
+ "C:\\ClusterStorage\\UserStorage_2\\e35803d0bd82d61\\rehome555-dd1-a95612cb-f1fa-4daa-a4fd-272844fa512c-dogfoodarc.vhdx"))
.withExtendedLocation(new ExtendedLocation().withName(
"/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location")
.withType(ExtendedLocationTypes.CUSTOM_LOCATION))
@@ -1438,7 +2369,7 @@ public final class VirtualHardDisksCreateOrUpdateSamples {
}
/*
- * x-ms-original-file: 2025-06-01-preview/VirtualHardDisks_CreateOrUpdate.json
+ * x-ms-original-file: 2026-07-01-preview/VirtualHardDisks_CreateOrUpdate.json
*/
/**
* Sample code: PutVirtualHardDisk.
@@ -1467,7 +2398,7 @@ public final class VirtualHardDisksCreateOrUpdateSamples {
*/
public final class VirtualHardDisksDeleteSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/VirtualHardDisks_Delete.json
+ * x-ms-original-file: 2026-07-01-preview/VirtualHardDisks_Delete.json
*/
/**
* Sample code: DeleteVirtualHardDisk.
@@ -1489,7 +2420,7 @@ public final class VirtualHardDisksDeleteSamples {
*/
public final class VirtualHardDisksGetByResourceGroupSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/VirtualHardDisks_Get.json
+ * x-ms-original-file: 2026-07-01-preview/VirtualHardDisks_Get.json
*/
/**
* Sample code: GetVirtualHardDisk.
@@ -1511,7 +2442,7 @@ public final class VirtualHardDisksGetByResourceGroupSamples {
*/
public final class VirtualHardDisksListSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/VirtualHardDisks_ListAll.json
+ * x-ms-original-file: 2026-07-01-preview/VirtualHardDisks_ListAll.json
*/
/**
* Sample code: ListVirtualHardDiskBySubscription.
@@ -1533,7 +2464,7 @@ public final class VirtualHardDisksListSamples {
*/
public final class VirtualHardDisksListByResourceGroupSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/VirtualHardDisks_ListByResourceGroup.json
+ * x-ms-original-file: 2026-07-01-preview/VirtualHardDisks_ListByResourceGroup.json
*/
/**
* Sample code: ListVirtualHardDiskByResourceGroup.
@@ -1559,7 +2490,7 @@ import java.util.Map;
*/
public final class VirtualHardDisksUpdateSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/VirtualHardDisks_Update.json
+ * x-ms-original-file: 2026-07-01-preview/VirtualHardDisks_Update.json
*/
/**
* Sample code: UpdateVirtualHardDisk.
@@ -1598,7 +2529,7 @@ import com.azure.resourcemanager.azurestackhci.vm.models.VirtualHardDiskUploadRe
*/
public final class VirtualHardDisksUploadSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/VirtualHardDisks_Upload.json
+ * x-ms-original-file: 2026-07-01-preview/VirtualHardDisks_Upload.json
*/
/**
* Sample code: UploadVirtualHardDisk.
@@ -1644,7 +2575,7 @@ import java.util.Arrays;
public final class VirtualMachineInstancesCreateOrUpdateSamples {
/*
* x-ms-original-file:
- * 2025-06-01-preview/VirtualMachineInstances_CreateOrUpdate_Put_Virtual_Machine_Instance_With_Gallery_Image.json
+ * 2026-07-01-preview/VirtualMachineInstances_CreateOrUpdate_Put_Virtual_Machine_Instance_With_Gallery_Image.json
*/
/**
* Sample code: PutVirtualMachineInstanceWithGalleryImage.
@@ -1682,7 +2613,7 @@ public final class VirtualMachineInstancesCreateOrUpdateSamples {
/*
* x-ms-original-file:
- * 2025-06-01-preview/VirtualMachineInstances_CreateOrUpdate_Put_Virtual_Machine_Instance_With_Os_Disk.json
+ * 2026-07-01-preview/VirtualMachineInstances_CreateOrUpdate_Put_Virtual_Machine_Instance_With_Os_Disk.json
*/
/**
* Sample code: PutVirtualMachineInstanceWithOsDisk.
@@ -1715,7 +2646,7 @@ public final class VirtualMachineInstancesCreateOrUpdateSamples {
}
/*
- * x-ms-original-file: 2025-06-01-preview/
+ * x-ms-original-file: 2026-07-01-preview/
* VirtualMachineInstances_CreateOrUpdate_Put_Virtual_Machine_Instance_With_Marketplace_Gallery_Image.json
*/
/**
@@ -1754,7 +2685,7 @@ public final class VirtualMachineInstancesCreateOrUpdateSamples {
/*
* x-ms-original-file:
- * 2025-06-01-preview/VirtualMachineInstances_CreateOrUpdate_Put_Virtual_Machine_Instance_With_Vm_Config_Agent.json
+ * 2026-07-01-preview/VirtualMachineInstances_CreateOrUpdate_Put_Virtual_Machine_Instance_With_Vm_Config_Agent.json
*/
/**
* Sample code: PutVirtualMachineInstanceWithVMConfigAgent.
@@ -1794,7 +2725,7 @@ public final class VirtualMachineInstancesCreateOrUpdateSamples {
/*
* x-ms-original-file:
- * 2025-06-01-preview/VirtualMachineInstances_CreateOrUpdate_Put_Virtual_Machine_Instance_With_Gpu.json
+ * 2026-07-01-preview/VirtualMachineInstances_CreateOrUpdate_Put_Virtual_Machine_Instance_With_Gpu.json
*/
/**
* Sample code: PutVirtualMachineInstanceWithGpu.
@@ -1837,7 +2768,7 @@ public final class VirtualMachineInstancesCreateOrUpdateSamples {
}
/*
- * x-ms-original-file: 2025-06-01-preview/VirtualMachineInstances__CreateOrUpdate_CreateFromLocal.json
+ * x-ms-original-file: 2026-07-01-preview/VirtualMachineInstances__CreateOrUpdate_CreateFromLocal.json
*/
/**
* Sample code: CreateVirtualMachineInstanceFromLocal.
@@ -1856,7 +2787,8 @@ public final class VirtualMachineInstancesCreateOrUpdateSamples {
.withStorageProfile(new VirtualMachineInstancePropertiesStorageProfile()
.withDataDisks(Arrays.asList(new VirtualHardDiskArmReference().withId(
"/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.AzureStackHCI/virtualHardDisks/test-vhd"))))
- .withCreateFromLocal(true))
+ .withCreateFromLocal(true)
+ .withLocalVmName("DemoVM_restored"))
.withExtendedLocation(new ExtendedLocation().withName(
"/subscriptions/a95612cb-f1fa-4daa-a4fd-272844fa512c/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location")
.withType(ExtendedLocationTypes.CUSTOM_LOCATION)),
@@ -1873,7 +2805,7 @@ public final class VirtualMachineInstancesCreateOrUpdateSamples {
*/
public final class VirtualMachineInstancesDeleteSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/VirtualMachineInstances_Delete.json
+ * x-ms-original-file: 2026-07-01-preview/VirtualMachineInstances_Delete.json
*/
/**
* Sample code: DeleteVirtualMachine.
@@ -1897,7 +2829,23 @@ public final class VirtualMachineInstancesDeleteSamples {
*/
public final class VirtualMachineInstancesGetSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/VirtualMachineInstances_Get.json
+ * x-ms-original-file: 2026-07-01-preview/VirtualMachineInstances_Get_OperationFailed.json
+ */
+ /**
+ * Sample code: GetVirtualMachineInstanceWithFailedOperation.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void getVirtualMachineInstanceWithFailedOperation(
+ com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.virtualMachineInstances()
+ .getWithResponse(
+ "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.HybridCompute/machines/DemoVM",
+ com.azure.core.util.Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: 2026-07-01-preview/VirtualMachineInstances_Get.json
*/
/**
* Sample code: GetVirtualMachineInstance.
@@ -1922,7 +2870,7 @@ public final class VirtualMachineInstancesGetSamples {
*/
public final class VirtualMachineInstancesListSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/VirtualMachineInstances_List.json
+ * x-ms-original-file: 2026-07-01-preview/VirtualMachineInstances_List.json
*/
/**
* Sample code: ListVirtualMachineInstances.
@@ -1947,7 +2895,7 @@ public final class VirtualMachineInstancesListSamples {
*/
public final class VirtualMachineInstancesPauseSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/VirtualMachineInstances_Pause.json
+ * x-ms-original-file: 2026-07-01-preview/VirtualMachineInstances_Pause.json
*/
/**
* Sample code: PauseVirtualMachine.
@@ -1963,6 +2911,33 @@ public final class VirtualMachineInstancesPauseSamples {
}
```
+### VirtualMachineInstances_PowerOff
+
+```java
+import com.azure.resourcemanager.azurestackhci.vm.models.PowerOffVirtualMachineOptions;
+
+/**
+ * Samples for VirtualMachineInstances PowerOff.
+ */
+public final class VirtualMachineInstancesPowerOffSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/VirtualMachineInstances_PowerOff.json
+ */
+ /**
+ * Sample code: PowerOffVirtualMachine.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ powerOffVirtualMachine(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.virtualMachineInstances()
+ .powerOff(
+ "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.HybridCompute/machines/DemoVM/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
+ new PowerOffVirtualMachineOptions().withSkipShutdown(false), com.azure.core.util.Context.NONE);
+ }
+}
+```
+
### VirtualMachineInstances_Restart
```java
@@ -1971,7 +2946,7 @@ public final class VirtualMachineInstancesPauseSamples {
*/
public final class VirtualMachineInstancesRestartSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/VirtualMachineInstances_Restart.json
+ * x-ms-original-file: 2026-07-01-preview/VirtualMachineInstances_Restart.json
*/
/**
* Sample code: RestartVirtualMachine.
@@ -1996,7 +2971,7 @@ public final class VirtualMachineInstancesRestartSamples {
*/
public final class VirtualMachineInstancesSaveSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/VirtualMachineInstances_Save.json
+ * x-ms-original-file: 2026-07-01-preview/VirtualMachineInstances_Save.json
*/
/**
* Sample code: SaveVirtualMachine.
@@ -2020,7 +2995,7 @@ public final class VirtualMachineInstancesSaveSamples {
*/
public final class VirtualMachineInstancesStartSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/VirtualMachineInstances_Start.json
+ * x-ms-original-file: 2026-07-01-preview/VirtualMachineInstances_Start.json
*/
/**
* Sample code: StartVirtualMachine.
@@ -2044,7 +3019,7 @@ public final class VirtualMachineInstancesStartSamples {
*/
public final class VirtualMachineInstancesStopSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/VirtualMachineInstances_Stop.json
+ * x-ms-original-file: 2026-07-01-preview/VirtualMachineInstances_Stop.json
*/
/**
* Sample code: StopVirtualMachine.
@@ -2063,8 +3038,10 @@ public final class VirtualMachineInstancesStopSamples {
### VirtualMachineInstances_Update
```java
+import com.azure.resourcemanager.azurestackhci.vm.models.HardwareProfileUpdate;
import com.azure.resourcemanager.azurestackhci.vm.models.StorageProfileUpdate;
import com.azure.resourcemanager.azurestackhci.vm.models.VirtualHardDiskArmReference;
+import com.azure.resourcemanager.azurestackhci.vm.models.VirtualMachineInstancePropertiesHardwareProfileDynamicMemoryConfig;
import com.azure.resourcemanager.azurestackhci.vm.models.VirtualMachineInstanceUpdateProperties;
import com.azure.resourcemanager.azurestackhci.vm.models.VirtualMachineInstanceUpdateRequest;
import java.util.Arrays;
@@ -2074,7 +3051,30 @@ import java.util.Arrays;
*/
public final class VirtualMachineInstancesUpdateSamples {
/*
- * x-ms-original-file: 2025-06-01-preview/VirtualMachineInstances_Update.json
+ * x-ms-original-file: 2026-07-01-preview/VirtualMachineInstances_Update_DynamicMemory.json
+ */
+ /**
+ * Sample code: UpdateVirtualMachineDynamicMemory.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ updateVirtualMachineDynamicMemory(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.virtualMachineInstances()
+ .update(
+ "subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.HybridCompute/machines/DemoVM",
+ new VirtualMachineInstanceUpdateRequest().withProperties(new VirtualMachineInstanceUpdateProperties()
+ .withHardwareProfile(new HardwareProfileUpdate().withDynamicMemoryConfig(
+ new VirtualMachineInstancePropertiesHardwareProfileDynamicMemoryConfig()
+ .withMaximumMemoryMB(8192L)
+ .withMinimumMemoryMB(2048L)
+ .withTargetMemoryBuffer(20)
+ .withEnabled(true)))),
+ com.azure.core.util.Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: 2026-07-01-preview/VirtualMachineInstances_Update.json
*/
/**
* Sample code: UpdateVirtualMachine.
@@ -2094,3 +3094,297 @@ public final class VirtualMachineInstancesUpdateSamples {
}
```
+### VirtualNetworkSubnets_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.azurestackhci.vm.models.VirtualNetworkSubnetProperties;
+
+/**
+ * Samples for VirtualNetworkSubnets CreateOrUpdate.
+ */
+public final class VirtualNetworkSubnetsCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/VirtualNetworkSubnets_CreateOrUpdate.json
+ */
+ /**
+ * Sample code: PutVirtualNetworkSubnet.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ putVirtualNetworkSubnet(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.virtualNetworkSubnets()
+ .define("subnet1")
+ .withExistingVirtualNetwork("test-rg", "test-vnet")
+ .withProperties(new VirtualNetworkSubnetProperties().withAddressPrefix("10.0.0.0/28"))
+ .create();
+ }
+}
+```
+
+### VirtualNetworkSubnets_Delete
+
+```java
+/**
+ * Samples for VirtualNetworkSubnets Delete.
+ */
+public final class VirtualNetworkSubnetsDeleteSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/VirtualNetworkSubnets_Delete.json
+ */
+ /**
+ * Sample code: DeleteVirtualNetworkSubnet.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ deleteVirtualNetworkSubnet(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.virtualNetworkSubnets().delete("test-rg", "test-vnet", "subnet1", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### VirtualNetworkSubnets_Get
+
+```java
+/**
+ * Samples for VirtualNetworkSubnets Get.
+ */
+public final class VirtualNetworkSubnetsGetSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/VirtualNetworkSubnets_Get.json
+ */
+ /**
+ * Sample code: GetVirtualNetworkSubnet.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ getVirtualNetworkSubnet(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.virtualNetworkSubnets()
+ .getWithResponse("test-rg", "test-vnet", "subnet1", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### VirtualNetworkSubnets_ListByVirtualNetwork
+
+```java
+/**
+ * Samples for VirtualNetworkSubnets ListByVirtualNetwork.
+ */
+public final class VirtualNetworkSubnetsListByVirtualNetworkSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/VirtualNetworkSubnets_ListByVirtualNetwork.json
+ */
+ /**
+ * Sample code: ListVirtualNetworkSubnetsByVirtualNetwork.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void listVirtualNetworkSubnetsByVirtualNetwork(
+ com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.virtualNetworkSubnets().listByVirtualNetwork("test-rg", "test-vnet", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### VirtualNetworkSubnets_Update
+
+```java
+import com.azure.resourcemanager.azurestackhci.vm.models.NetworkSecurityGroupArmReference;
+import com.azure.resourcemanager.azurestackhci.vm.models.VirtualNetworkSubnet;
+import com.azure.resourcemanager.azurestackhci.vm.models.VirtualNetworkSubnetUpdateProperties;
+
+/**
+ * Samples for VirtualNetworkSubnets Update.
+ */
+public final class VirtualNetworkSubnetsUpdateSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/VirtualNetworkSubnets_Update.json
+ */
+ /**
+ * Sample code: UpdateVirtualNetworkUpdates.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ updateVirtualNetworkUpdates(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ VirtualNetworkSubnet resource = manager.virtualNetworkSubnets()
+ .getWithResponse("test-rg", "test-vnet", "subnet1", com.azure.core.util.Context.NONE)
+ .getValue();
+ resource.update()
+ .withProperties(new VirtualNetworkSubnetUpdateProperties()
+ .withNetworkSecurityGroup(new NetworkSecurityGroupArmReference().withId(
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.AzureStackHCI/networkSecurityGroups/testnsg")))
+ .apply();
+ }
+}
+```
+
+### VirtualNetworks_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.azurestackhci.vm.models.ExtendedLocation;
+import com.azure.resourcemanager.azurestackhci.vm.models.ExtendedLocationTypes;
+import com.azure.resourcemanager.azurestackhci.vm.models.VirtualNetworkAddressSpace;
+import com.azure.resourcemanager.azurestackhci.vm.models.VirtualNetworkDhcpOptions;
+import com.azure.resourcemanager.azurestackhci.vm.models.VirtualNetworkProperties;
+import java.util.Arrays;
+
+/**
+ * Samples for VirtualNetworks CreateOrUpdate.
+ */
+public final class VirtualNetworksCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/VirtualNetworks_CreateOrUpdate.json
+ */
+ /**
+ * Sample code: PutVirtualNetwork.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void putVirtualNetwork(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.virtualNetworks()
+ .define("test-vnet")
+ .withRegion("West US2")
+ .withExistingResourceGroup("test-rg")
+ .withProperties(new VirtualNetworkProperties()
+ .withAddressSpace(new VirtualNetworkAddressSpace().withAddressPrefixes(Arrays.asList("10.0.0.0/24")))
+ .withDhcpOptions(new VirtualNetworkDhcpOptions().withDnsServers(Arrays.asList())))
+ .withExtendedLocation(new ExtendedLocation().withName(
+ "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/dogfoodarc/providers/Microsoft.ExtendedLocation/customLocations/dogfood-location")
+ .withType(ExtendedLocationTypes.CUSTOM_LOCATION))
+ .create();
+ }
+}
+```
+
+### VirtualNetworks_Delete
+
+```java
+/**
+ * Samples for VirtualNetworks Delete.
+ */
+public final class VirtualNetworksDeleteSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/VirtualNetworks_Delete.json
+ */
+ /**
+ * Sample code: DeleteVirtualNetwork.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void deleteVirtualNetwork(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.virtualNetworks().delete("test-rg", "test-vnet", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### VirtualNetworks_GetByResourceGroup
+
+```java
+/**
+ * Samples for VirtualNetworks GetByResourceGroup.
+ */
+public final class VirtualNetworksGetByResourceGroupSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/VirtualNetworks_Get.json
+ */
+ /**
+ * Sample code: GetVirtualNetwork.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void getVirtualNetwork(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.virtualNetworks()
+ .getByResourceGroupWithResponse("test-rg", "test-vnet", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### VirtualNetworks_List
+
+```java
+/**
+ * Samples for VirtualNetworks List.
+ */
+public final class VirtualNetworksListSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/VirtualNetworks_ListAll.json
+ */
+ /**
+ * Sample code: ListVirtualNetworkBySubscription.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ listVirtualNetworkBySubscription(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.virtualNetworks().list(com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### VirtualNetworks_ListByResourceGroup
+
+```java
+/**
+ * Samples for VirtualNetworks ListByResourceGroup.
+ */
+public final class VirtualNetworksListByResourceGroupSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/VirtualNetworks_ListByResourceGroup.json
+ */
+ /**
+ * Sample code: ListVirtualNetworkByResourceGroup.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ listVirtualNetworkByResourceGroup(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ manager.virtualNetworks().listByResourceGroup("test-rg", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### VirtualNetworks_UpdateTags
+
+```java
+import com.azure.resourcemanager.azurestackhci.vm.models.VirtualNetwork;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Samples for VirtualNetworks UpdateTags.
+ */
+public final class VirtualNetworksUpdateTagsSamples {
+ /*
+ * x-ms-original-file: 2026-07-01-preview/VirtualNetworks_UpdateTags.json
+ */
+ /**
+ * Sample code: Update virtual Network tags.
+ *
+ * @param manager Entry point to AzureStackHciVmManager.
+ */
+ public static void
+ updateVirtualNetworkTags(com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager) {
+ VirtualNetwork resource = manager.virtualNetworks()
+ .getByResourceGroupWithResponse("testrg", "testvnet", com.azure.core.util.Context.NONE)
+ .getValue();
+ resource.update().withTags(mapOf("tag1", "value1", "tag2", "value2")).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;
+ }
+}
+```
+
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/pom.xml b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/pom.xml
index a6308d70f5eec..fd8a1fb9dd076 100644
--- a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/pom.xml
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/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 Azure Stack Hci Vm Management
- This package contains Microsoft Azure SDK for Azure Stack Hci Vm Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Azure Stack HCI management service. Package api-version 2025-06-01-preview.
+ This package contains Microsoft Azure SDK for Azure Stack Hci Vm Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Azure Stack HCI management service. Package api-version 2026-07-01-preview.
https://github.com/Azure/azure-sdk-for-java
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/AzureStackHciVmManager.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/AzureStackHciVmManager.java
index 9f1b405ae3b59..bc651765321fe 100644
--- a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/AzureStackHciVmManager.java
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/AzureStackHciVmManager.java
@@ -30,26 +30,42 @@
import com.azure.resourcemanager.azurestackhci.vm.implementation.GalleryImagesImpl;
import com.azure.resourcemanager.azurestackhci.vm.implementation.GuestAgentsImpl;
import com.azure.resourcemanager.azurestackhci.vm.implementation.HybridIdentityMetadatasImpl;
+import com.azure.resourcemanager.azurestackhci.vm.implementation.InboundRulesImpl;
+import com.azure.resourcemanager.azurestackhci.vm.implementation.LoadBalancersImpl;
import com.azure.resourcemanager.azurestackhci.vm.implementation.LogicalNetworksImpl;
import com.azure.resourcemanager.azurestackhci.vm.implementation.MarketplaceGalleryImagesImpl;
+import com.azure.resourcemanager.azurestackhci.vm.implementation.NatGatewaysImpl;
import com.azure.resourcemanager.azurestackhci.vm.implementation.NetworkInterfacesImpl;
import com.azure.resourcemanager.azurestackhci.vm.implementation.NetworkSecurityGroupsImpl;
+import com.azure.resourcemanager.azurestackhci.vm.implementation.OperationsImpl;
+import com.azure.resourcemanager.azurestackhci.vm.implementation.PublicIPAddressesImpl;
import com.azure.resourcemanager.azurestackhci.vm.implementation.SecurityRulesImpl;
+import com.azure.resourcemanager.azurestackhci.vm.implementation.SnapshotsImpl;
import com.azure.resourcemanager.azurestackhci.vm.implementation.StorageContainersImpl;
import com.azure.resourcemanager.azurestackhci.vm.implementation.VirtualHardDisksImpl;
import com.azure.resourcemanager.azurestackhci.vm.implementation.VirtualMachineInstancesImpl;
+import com.azure.resourcemanager.azurestackhci.vm.implementation.VirtualNetworkSubnetsImpl;
+import com.azure.resourcemanager.azurestackhci.vm.implementation.VirtualNetworksImpl;
import com.azure.resourcemanager.azurestackhci.vm.models.AttestationStatuses;
import com.azure.resourcemanager.azurestackhci.vm.models.GalleryImages;
import com.azure.resourcemanager.azurestackhci.vm.models.GuestAgents;
import com.azure.resourcemanager.azurestackhci.vm.models.HybridIdentityMetadatas;
+import com.azure.resourcemanager.azurestackhci.vm.models.InboundRules;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancers;
import com.azure.resourcemanager.azurestackhci.vm.models.LogicalNetworks;
import com.azure.resourcemanager.azurestackhci.vm.models.MarketplaceGalleryImages;
+import com.azure.resourcemanager.azurestackhci.vm.models.NatGateways;
import com.azure.resourcemanager.azurestackhci.vm.models.NetworkInterfaces;
import com.azure.resourcemanager.azurestackhci.vm.models.NetworkSecurityGroups;
+import com.azure.resourcemanager.azurestackhci.vm.models.Operations;
+import com.azure.resourcemanager.azurestackhci.vm.models.PublicIPAddresses;
import com.azure.resourcemanager.azurestackhci.vm.models.SecurityRules;
+import com.azure.resourcemanager.azurestackhci.vm.models.Snapshots;
import com.azure.resourcemanager.azurestackhci.vm.models.StorageContainers;
import com.azure.resourcemanager.azurestackhci.vm.models.VirtualHardDisks;
import com.azure.resourcemanager.azurestackhci.vm.models.VirtualMachineInstances;
+import com.azure.resourcemanager.azurestackhci.vm.models.VirtualNetworkSubnets;
+import com.azure.resourcemanager.azurestackhci.vm.models.VirtualNetworks;
import java.time.Duration;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
@@ -75,6 +91,8 @@ public final class AzureStackHciVmManager {
private SecurityRules securityRules;
+ private Snapshots snapshots;
+
private StorageContainers storageContainers;
private VirtualHardDisks virtualHardDisks;
@@ -87,6 +105,20 @@ public final class AzureStackHciVmManager {
private GuestAgents guestAgents;
+ private VirtualNetworks virtualNetworks;
+
+ private VirtualNetworkSubnets virtualNetworkSubnets;
+
+ private PublicIPAddresses publicIPAddresses;
+
+ private NatGateways natGateways;
+
+ private InboundRules inboundRules;
+
+ private LoadBalancers loadBalancers;
+
+ private Operations operations;
+
private final AzureStackHciVmMgmtClient clientObject;
private AzureStackHciVmManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
@@ -375,6 +407,18 @@ public SecurityRules securityRules() {
return securityRules;
}
+ /**
+ * Gets the resource collection API of Snapshots. It manages Snapshot.
+ *
+ * @return Resource collection API of Snapshots.
+ */
+ public Snapshots snapshots() {
+ if (this.snapshots == null) {
+ this.snapshots = new SnapshotsImpl(clientObject.getSnapshots(), this);
+ }
+ return snapshots;
+ }
+
/**
* Gets the resource collection API of StorageContainers. It manages StorageContainer.
*
@@ -449,6 +493,90 @@ public GuestAgents guestAgents() {
return guestAgents;
}
+ /**
+ * Gets the resource collection API of VirtualNetworks. It manages VirtualNetwork.
+ *
+ * @return Resource collection API of VirtualNetworks.
+ */
+ public VirtualNetworks virtualNetworks() {
+ if (this.virtualNetworks == null) {
+ this.virtualNetworks = new VirtualNetworksImpl(clientObject.getVirtualNetworks(), this);
+ }
+ return virtualNetworks;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualNetworkSubnets. It manages VirtualNetworkSubnet.
+ *
+ * @return Resource collection API of VirtualNetworkSubnets.
+ */
+ public VirtualNetworkSubnets virtualNetworkSubnets() {
+ if (this.virtualNetworkSubnets == null) {
+ this.virtualNetworkSubnets = new VirtualNetworkSubnetsImpl(clientObject.getVirtualNetworkSubnets(), this);
+ }
+ return virtualNetworkSubnets;
+ }
+
+ /**
+ * Gets the resource collection API of PublicIPAddresses. It manages PublicIPAddress.
+ *
+ * @return Resource collection API of PublicIPAddresses.
+ */
+ public PublicIPAddresses publicIPAddresses() {
+ if (this.publicIPAddresses == null) {
+ this.publicIPAddresses = new PublicIPAddressesImpl(clientObject.getPublicIPAddresses(), this);
+ }
+ return publicIPAddresses;
+ }
+
+ /**
+ * Gets the resource collection API of NatGateways. It manages NatGateway.
+ *
+ * @return Resource collection API of NatGateways.
+ */
+ public NatGateways natGateways() {
+ if (this.natGateways == null) {
+ this.natGateways = new NatGatewaysImpl(clientObject.getNatGateways(), this);
+ }
+ return natGateways;
+ }
+
+ /**
+ * Gets the resource collection API of InboundRules. It manages InboundRule.
+ *
+ * @return Resource collection API of InboundRules.
+ */
+ public InboundRules inboundRules() {
+ if (this.inboundRules == null) {
+ this.inboundRules = new InboundRulesImpl(clientObject.getInboundRules(), this);
+ }
+ return inboundRules;
+ }
+
+ /**
+ * Gets the resource collection API of LoadBalancers. It manages LoadBalancer.
+ *
+ * @return Resource collection API of LoadBalancers.
+ */
+ public LoadBalancers loadBalancers() {
+ if (this.loadBalancers == null) {
+ this.loadBalancers = new LoadBalancersImpl(clientObject.getLoadBalancers(), this);
+ }
+ return loadBalancers;
+ }
+
+ /**
+ * Gets the resource collection API of Operations.
+ *
+ * @return Resource collection API of Operations.
+ */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
/**
* Gets wrapped service client AzureStackHciVmMgmtClient providing direct access to the underlying auto-generated
* API implementation, based on Azure REST API.
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/AzureStackHciVmMgmtClient.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/AzureStackHciVmMgmtClient.java
index 130b991866d45..344f4b4d131fd 100644
--- a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/AzureStackHciVmMgmtClient.java
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/AzureStackHciVmMgmtClient.java
@@ -88,6 +88,13 @@ public interface AzureStackHciVmMgmtClient {
*/
SecurityRulesClient getSecurityRules();
+ /**
+ * Gets the SnapshotsClient object to access its operations.
+ *
+ * @return the SnapshotsClient object.
+ */
+ SnapshotsClient getSnapshots();
+
/**
* Gets the StorageContainersClient object to access its operations.
*
@@ -129,4 +136,53 @@ public interface AzureStackHciVmMgmtClient {
* @return the GuestAgentsClient object.
*/
GuestAgentsClient getGuestAgents();
+
+ /**
+ * Gets the VirtualNetworksClient object to access its operations.
+ *
+ * @return the VirtualNetworksClient object.
+ */
+ VirtualNetworksClient getVirtualNetworks();
+
+ /**
+ * Gets the VirtualNetworkSubnetsClient object to access its operations.
+ *
+ * @return the VirtualNetworkSubnetsClient object.
+ */
+ VirtualNetworkSubnetsClient getVirtualNetworkSubnets();
+
+ /**
+ * Gets the PublicIPAddressesClient object to access its operations.
+ *
+ * @return the PublicIPAddressesClient object.
+ */
+ PublicIPAddressesClient getPublicIPAddresses();
+
+ /**
+ * Gets the NatGatewaysClient object to access its operations.
+ *
+ * @return the NatGatewaysClient object.
+ */
+ NatGatewaysClient getNatGateways();
+
+ /**
+ * Gets the InboundRulesClient object to access its operations.
+ *
+ * @return the InboundRulesClient object.
+ */
+ InboundRulesClient getInboundRules();
+
+ /**
+ * Gets the LoadBalancersClient object to access its operations.
+ *
+ * @return the LoadBalancersClient object.
+ */
+ LoadBalancersClient getLoadBalancers();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/InboundRulesClient.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/InboundRulesClient.java
new file mode 100644
index 0000000000000..887cb26c298ca
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/InboundRulesClient.java
@@ -0,0 +1,206 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.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.azurestackhci.vm.fluent.models.InboundRuleInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in InboundRulesClient.
+ */
+public interface InboundRulesClient {
+ /**
+ * The operation to get an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 inbound rule resource definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String natGatewayName, String inboundRuleName,
+ Context context);
+
+ /**
+ * The operation to get an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 inbound rule resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InboundRuleInner get(String resourceGroupName, String natGatewayName, String inboundRuleName);
+
+ /**
+ * The operation to create or update an inbound rule. Please note some properties can be set only during inbound
+ * rule creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 the inbound rule resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, InboundRuleInner> beginCreateOrUpdate(String resourceGroupName,
+ String natGatewayName, String inboundRuleName, InboundRuleInner resource);
+
+ /**
+ * The operation to create or update an inbound rule. Please note some properties can be set only during inbound
+ * rule creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 the inbound rule resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, InboundRuleInner> beginCreateOrUpdate(String resourceGroupName,
+ String natGatewayName, String inboundRuleName, InboundRuleInner resource, Context context);
+
+ /**
+ * The operation to create or update an inbound rule. Please note some properties can be set only during inbound
+ * rule creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 inbound rule resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InboundRuleInner createOrUpdate(String resourceGroupName, String natGatewayName, String inboundRuleName,
+ InboundRuleInner resource);
+
+ /**
+ * The operation to create or update an inbound rule. Please note some properties can be set only during inbound
+ * rule creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 inbound rule resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InboundRuleInner createOrUpdate(String resourceGroupName, String natGatewayName, String inboundRuleName,
+ InboundRuleInner resource, Context context);
+
+ /**
+ * The operation to delete an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 natGatewayName,
+ String inboundRuleName);
+
+ /**
+ * The operation to delete an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 natGatewayName,
+ String inboundRuleName, Context context);
+
+ /**
+ * The operation to delete an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 natGatewayName, String inboundRuleName);
+
+ /**
+ * The operation to delete an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 natGatewayName, String inboundRuleName, Context context);
+
+ /**
+ * Lists all of the inbound rules in the specified NAT gateway. Use the nextLink property in the response to get the
+ * next page of inbound rules.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 InboundRule list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByNatGateway(String resourceGroupName, String natGatewayName);
+
+ /**
+ * Lists all of the inbound rules in the specified NAT gateway. Use the nextLink property in the response to get the
+ * next page of inbound rules.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 InboundRule list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByNatGateway(String resourceGroupName, String natGatewayName, Context context);
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/LoadBalancersClient.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/LoadBalancersClient.java
new file mode 100644
index 0000000000000..0aa624d67844f
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/LoadBalancersClient.java
@@ -0,0 +1,277 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.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.azurestackhci.vm.fluent.models.LoadBalancerInner;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancerTagsUpdate;
+
+/**
+ * An instance of this class provides access to all the operations defined in LoadBalancersClient.
+ */
+public interface LoadBalancersClient {
+ /**
+ * The operation to get a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 LoadBalancer resource definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String loadBalancerName,
+ Context context);
+
+ /**
+ * The operation to get a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LoadBalancerInner getByResourceGroup(String resourceGroupName, String loadBalancerName);
+
+ /**
+ * The operation to create or update a loadBalancer. Please note some properties can be set only during LoadBalancer
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 the LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LoadBalancerInner> beginCreateOrUpdate(String resourceGroupName,
+ String loadBalancerName, LoadBalancerInner resource);
+
+ /**
+ * The operation to create or update a loadBalancer. Please note some properties can be set only during LoadBalancer
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 the LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LoadBalancerInner> beginCreateOrUpdate(String resourceGroupName,
+ String loadBalancerName, LoadBalancerInner resource, Context context);
+
+ /**
+ * The operation to create or update a loadBalancer. Please note some properties can be set only during LoadBalancer
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LoadBalancerInner createOrUpdate(String resourceGroupName, String loadBalancerName, LoadBalancerInner resource);
+
+ /**
+ * The operation to create or update a loadBalancer. Please note some properties can be set only during LoadBalancer
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LoadBalancerInner createOrUpdate(String resourceGroupName, String loadBalancerName, LoadBalancerInner resource,
+ Context context);
+
+ /**
+ * Updates a loadBalancer tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 the LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LoadBalancerInner> beginUpdateTags(String resourceGroupName,
+ String loadBalancerName, LoadBalancerTagsUpdate properties);
+
+ /**
+ * Updates a loadBalancer tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 the LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, LoadBalancerInner> beginUpdateTags(String resourceGroupName,
+ String loadBalancerName, LoadBalancerTagsUpdate properties, Context context);
+
+ /**
+ * Updates a loadBalancer tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LoadBalancerInner updateTags(String resourceGroupName, String loadBalancerName, LoadBalancerTagsUpdate properties);
+
+ /**
+ * Updates a loadBalancer tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LoadBalancerInner updateTags(String resourceGroupName, String loadBalancerName, LoadBalancerTagsUpdate properties,
+ Context context);
+
+ /**
+ * The operation to delete a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 loadBalancerName);
+
+ /**
+ * The operation to delete a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 loadBalancerName, Context context);
+
+ /**
+ * The operation to delete a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 loadBalancerName);
+
+ /**
+ * The operation to delete a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 loadBalancerName, Context context);
+
+ /**
+ * Lists all of the loadBalancers in the specified resource group. Use the nextLink property in the response to get
+ * the next page of LoadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 LoadBalancer list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all of the loadBalancers in the specified resource group. Use the nextLink property in the response to get
+ * the next page of LoadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 LoadBalancer list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Lists all of the loadBalancers in the specified subscription. Use the nextLink property in the response to get
+ * the next page of LoadBalancer.
+ *
+ * @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 LoadBalancer list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all of the loadBalancers in the specified subscription. Use the nextLink property in the response to get
+ * the next page of LoadBalancer.
+ *
+ * @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 LoadBalancer list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/NatGatewaysClient.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/NatGatewaysClient.java
new file mode 100644
index 0000000000000..ea40bdc0da0a9
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/NatGatewaysClient.java
@@ -0,0 +1,277 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.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.azurestackhci.vm.fluent.models.NatGatewayInner;
+import com.azure.resourcemanager.azurestackhci.vm.models.NatGatewayTagsUpdate;
+
+/**
+ * An instance of this class provides access to all the operations defined in NatGatewaysClient.
+ */
+public interface NatGatewaysClient {
+ /**
+ * The operation to get a natGateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 NatGateway resource definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String natGatewayName,
+ Context context);
+
+ /**
+ * The operation to get a natGateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 NatGateway resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NatGatewayInner getByResourceGroup(String resourceGroupName, String natGatewayName);
+
+ /**
+ * The operation to create or update a natGateway. Please note some properties can be set only during NatGateway
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 the NatGateway resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, NatGatewayInner> beginCreateOrUpdate(String resourceGroupName,
+ String natGatewayName, NatGatewayInner resource);
+
+ /**
+ * The operation to create or update a natGateway. Please note some properties can be set only during NatGateway
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 the NatGateway resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, NatGatewayInner> beginCreateOrUpdate(String resourceGroupName,
+ String natGatewayName, NatGatewayInner resource, Context context);
+
+ /**
+ * The operation to create or update a natGateway. Please note some properties can be set only during NatGateway
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 NatGateway resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NatGatewayInner createOrUpdate(String resourceGroupName, String natGatewayName, NatGatewayInner resource);
+
+ /**
+ * The operation to create or update a natGateway. Please note some properties can be set only during NatGateway
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 NatGateway resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NatGatewayInner createOrUpdate(String resourceGroupName, String natGatewayName, NatGatewayInner resource,
+ Context context);
+
+ /**
+ * Updates a natGateway tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 the NatGateway resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, NatGatewayInner> beginUpdateTags(String resourceGroupName,
+ String natGatewayName, NatGatewayTagsUpdate properties);
+
+ /**
+ * Updates a natGateway tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 the NatGateway resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, NatGatewayInner> beginUpdateTags(String resourceGroupName,
+ String natGatewayName, NatGatewayTagsUpdate properties, Context context);
+
+ /**
+ * Updates a natGateway tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 NatGateway resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NatGatewayInner updateTags(String resourceGroupName, String natGatewayName, NatGatewayTagsUpdate properties);
+
+ /**
+ * Updates a natGateway tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 NatGateway resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NatGatewayInner updateTags(String resourceGroupName, String natGatewayName, NatGatewayTagsUpdate properties,
+ Context context);
+
+ /**
+ * The operation to delete a natGateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 natGatewayName);
+
+ /**
+ * The operation to delete a natGateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 natGatewayName, Context context);
+
+ /**
+ * The operation to delete a natGateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 natGatewayName);
+
+ /**
+ * The operation to delete a natGateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 natGatewayName, Context context);
+
+ /**
+ * Lists all of the natGateways in the specified resource group. Use the nextLink property in the response to get
+ * the next page of NatGateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 NatGateway list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all of the natGateways in the specified resource group. Use the nextLink property in the response to get
+ * the next page of NatGateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 NatGateway list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Lists all of the natGateways in the specified subscription. Use the nextLink property in the response to get the
+ * next page of NatGateway.
+ *
+ * @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 NatGateway list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all of the natGateways in the specified subscription. Use the nextLink property in the response to get the
+ * next page of NatGateway.
+ *
+ * @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 NatGateway list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/OperationsClient.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/OperationsClient.java
new file mode 100644
index 0000000000000..ea1838f312a05
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/OperationsClient.java
@@ -0,0 +1,40 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.azurestackhci.vm.fluent.models.OperationInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in OperationsClient.
+ */
+public interface OperationsClient {
+ /**
+ * List the operations for the provider.
+ *
+ * @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 list of REST API operations supported by an Azure Resource Provider as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List the operations for the provider.
+ *
+ * @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 list of REST API operations supported by an Azure Resource Provider as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/PublicIPAddressesClient.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/PublicIPAddressesClient.java
new file mode 100644
index 0000000000000..b1c20fda828b8
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/PublicIPAddressesClient.java
@@ -0,0 +1,280 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.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.azurestackhci.vm.fluent.models.PublicIPAddressInner;
+import com.azure.resourcemanager.azurestackhci.vm.models.PublicIPAddressTagsUpdate;
+
+/**
+ * An instance of this class provides access to all the operations defined in PublicIPAddressesClient.
+ */
+public interface PublicIPAddressesClient {
+ /**
+ * The operation to get a virtual network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param publicIPAddressName Name of the public IP.
+ * @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 publicIP resource definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String publicIPAddressName,
+ Context context);
+
+ /**
+ * The operation to get a virtual network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param publicIPAddressName Name of the public IP.
+ * @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 publicIP resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PublicIPAddressInner getByResourceGroup(String resourceGroupName, String publicIPAddressName);
+
+ /**
+ * The operation to create or update a publicIPAddress. Please note some properties can be set only during PublicIP
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param publicIPAddressName Name of the public IP.
+ * @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 the publicIP resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PublicIPAddressInner> beginCreateOrUpdate(String resourceGroupName,
+ String publicIPAddressName, PublicIPAddressInner resource);
+
+ /**
+ * The operation to create or update a publicIPAddress. Please note some properties can be set only during PublicIP
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param publicIPAddressName Name of the public IP.
+ * @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 the publicIP resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PublicIPAddressInner> beginCreateOrUpdate(String resourceGroupName,
+ String publicIPAddressName, PublicIPAddressInner resource, Context context);
+
+ /**
+ * The operation to create or update a publicIPAddress. Please note some properties can be set only during PublicIP
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param publicIPAddressName Name of the public IP.
+ * @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 publicIP resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PublicIPAddressInner createOrUpdate(String resourceGroupName, String publicIPAddressName,
+ PublicIPAddressInner resource);
+
+ /**
+ * The operation to create or update a publicIPAddress. Please note some properties can be set only during PublicIP
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param publicIPAddressName Name of the public IP.
+ * @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 publicIP resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PublicIPAddressInner createOrUpdate(String resourceGroupName, String publicIPAddressName,
+ PublicIPAddressInner resource, Context context);
+
+ /**
+ * Updates a publicIPAddress tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param publicIPAddressName Name of the public IP.
+ * @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 the publicIP resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PublicIPAddressInner> beginUpdateTags(String resourceGroupName,
+ String publicIPAddressName, PublicIPAddressTagsUpdate properties);
+
+ /**
+ * Updates a publicIPAddress tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param publicIPAddressName Name of the public IP.
+ * @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 the publicIP resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PublicIPAddressInner> beginUpdateTags(String resourceGroupName,
+ String publicIPAddressName, PublicIPAddressTagsUpdate properties, Context context);
+
+ /**
+ * Updates a publicIPAddress tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param publicIPAddressName Name of the public IP.
+ * @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 publicIP resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PublicIPAddressInner updateTags(String resourceGroupName, String publicIPAddressName,
+ PublicIPAddressTagsUpdate properties);
+
+ /**
+ * Updates a publicIPAddress tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param publicIPAddressName Name of the public IP.
+ * @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 publicIP resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PublicIPAddressInner updateTags(String resourceGroupName, String publicIPAddressName,
+ PublicIPAddressTagsUpdate properties, Context context);
+
+ /**
+ * The operation to delete a publicIPAddresses.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param publicIPAddressName Name of the public IP.
+ * @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 publicIPAddressName);
+
+ /**
+ * The operation to delete a publicIPAddresses.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param publicIPAddressName Name of the public IP.
+ * @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 publicIPAddressName,
+ Context context);
+
+ /**
+ * The operation to delete a publicIPAddresses.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param publicIPAddressName Name of the public IP.
+ * @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 publicIPAddressName);
+
+ /**
+ * The operation to delete a publicIPAddresses.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param publicIPAddressName Name of the public IP.
+ * @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 publicIPAddressName, Context context);
+
+ /**
+ * Lists all of the publicIPAddresses in the specified resource group. Use the nextLink property in the response to
+ * get the next page of PublicIP.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 PublicIPAddress list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all of the publicIPAddresses in the specified resource group. Use the nextLink property in the response to
+ * get the next page of PublicIP.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 PublicIPAddress list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Lists all of the publicIPAddresses in the specified subscription. Use the nextLink property in the response to
+ * get the next page of PublicIP.
+ *
+ * @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 PublicIPAddress list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all of the publicIPAddresses in the specified subscription. Use the nextLink property in the response to
+ * get the next page of PublicIP.
+ *
+ * @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 PublicIPAddress list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/SnapshotsClient.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/SnapshotsClient.java
new file mode 100644
index 0000000000000..e881cb1e7ab1c
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/SnapshotsClient.java
@@ -0,0 +1,276 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.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.azurestackhci.vm.fluent.models.SnapshotInner;
+import com.azure.resourcemanager.azurestackhci.vm.models.SnapshotTagsUpdate;
+
+/**
+ * An instance of this class provides access to all the operations defined in SnapshotsClient.
+ */
+public interface SnapshotsClient {
+ /**
+ * Gets a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param snapshotName Name of the 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 snapshot along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String snapshotName,
+ Context context);
+
+ /**
+ * Gets a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param snapshotName Name of the 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 snapshot.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SnapshotInner getByResourceGroup(String resourceGroupName, String snapshotName);
+
+ /**
+ * The operation to create or update a snapshot. Please note some properties can be set only during snapshot
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param snapshotName Name of the 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 the snapshot resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SnapshotInner> beginCreateOrUpdate(String resourceGroupName,
+ String snapshotName, SnapshotInner resource);
+
+ /**
+ * The operation to create or update a snapshot. Please note some properties can be set only during snapshot
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param snapshotName Name of the 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 the snapshot resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SnapshotInner> beginCreateOrUpdate(String resourceGroupName,
+ String snapshotName, SnapshotInner resource, Context context);
+
+ /**
+ * The operation to create or update a snapshot. Please note some properties can be set only during snapshot
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param snapshotName Name of the 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 snapshot resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SnapshotInner createOrUpdate(String resourceGroupName, String snapshotName, SnapshotInner resource);
+
+ /**
+ * The operation to create or update a snapshot. Please note some properties can be set only during snapshot
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param snapshotName Name of the 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 snapshot resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SnapshotInner createOrUpdate(String resourceGroupName, String snapshotName, SnapshotInner resource,
+ Context context);
+
+ /**
+ * The operation to update a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param snapshotName Name of the snapshot.
+ * @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 the snapshot resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SnapshotInner> beginUpdate(String resourceGroupName, String snapshotName,
+ SnapshotTagsUpdate properties);
+
+ /**
+ * The operation to update a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param snapshotName Name of the snapshot.
+ * @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 the snapshot resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SnapshotInner> beginUpdate(String resourceGroupName, String snapshotName,
+ SnapshotTagsUpdate properties, Context context);
+
+ /**
+ * The operation to update a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param snapshotName Name of the snapshot.
+ * @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 snapshot resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SnapshotInner update(String resourceGroupName, String snapshotName, SnapshotTagsUpdate properties);
+
+ /**
+ * The operation to update a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param snapshotName Name of the snapshot.
+ * @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 snapshot resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SnapshotInner update(String resourceGroupName, String snapshotName, SnapshotTagsUpdate properties, Context context);
+
+ /**
+ * The operation to delete a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param snapshotName Name of the 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 snapshotName);
+
+ /**
+ * The operation to delete a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param snapshotName Name of the 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 snapshotName, Context context);
+
+ /**
+ * The operation to delete a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param snapshotName Name of the 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 snapshotName);
+
+ /**
+ * The operation to delete a snapshot.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param snapshotName Name of the 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 snapshotName, Context context);
+
+ /**
+ * Lists all of the snapshots in the specified resource group. Use the nextLink property in the response to get the
+ * next page of snapshots.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 Snapshot list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all of the snapshots in the specified resource group. Use the nextLink property in the response to get the
+ * next page of snapshots.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 Snapshot list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Lists all of the snapshots in the specified subscription. Use the nextLink property in the response to get the
+ * next page of snapshots.
+ *
+ * @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 Snapshot list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all of the snapshots in the specified subscription. Use the nextLink property in the response to get the
+ * next page of snapshots.
+ *
+ * @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 Snapshot list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/VirtualMachineInstancesClient.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/VirtualMachineInstancesClient.java
index b0df769b500f6..82d1912374afc 100644
--- a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/VirtualMachineInstancesClient.java
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/VirtualMachineInstancesClient.java
@@ -11,7 +11,9 @@
import com.azure.core.management.polling.PollResult;
import com.azure.core.util.Context;
import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.azurestackhci.vm.fluent.models.OperationStatusResultInner;
import com.azure.resourcemanager.azurestackhci.vm.fluent.models.VirtualMachineInstanceInner;
+import com.azure.resourcemanager.azurestackhci.vm.models.PowerOffVirtualMachineOptions;
import com.azure.resourcemanager.azurestackhci.vm.models.VirtualMachineInstanceUpdateRequest;
/**
@@ -473,4 +475,60 @@ VirtualMachineInstanceInner update(String resourceUri, VirtualMachineInstanceUpd
*/
@ServiceMethod(returns = ReturnType.SINGLE)
void save(String resourceUri, Context context);
+
+ /**
+ * The operation to power off a virtual machine instance.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @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 the current status of an async operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OperationStatusResultInner> beginPowerOff(String resourceUri,
+ PowerOffVirtualMachineOptions body);
+
+ /**
+ * The operation to power off a virtual machine instance.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @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 the current status of an async operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OperationStatusResultInner> beginPowerOff(String resourceUri,
+ PowerOffVirtualMachineOptions body, Context context);
+
+ /**
+ * The operation to power off a virtual machine instance.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @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 current status of an async operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OperationStatusResultInner powerOff(String resourceUri, PowerOffVirtualMachineOptions body);
+
+ /**
+ * The operation to power off a virtual machine instance.
+ *
+ * @param resourceUri The fully qualified Azure Resource manager identifier of the resource.
+ * @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 current status of an async operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OperationStatusResultInner powerOff(String resourceUri, PowerOffVirtualMachineOptions body, Context context);
}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/VirtualNetworkSubnetsClient.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/VirtualNetworkSubnetsClient.java
new file mode 100644
index 0000000000000..82f865d7b3fa1
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/VirtualNetworkSubnetsClient.java
@@ -0,0 +1,269 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.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.azurestackhci.vm.fluent.models.VirtualNetworkSubnetInner;
+import com.azure.resourcemanager.azurestackhci.vm.models.VirtualNetworkSubnetUpdateRequest;
+
+/**
+ * An instance of this class provides access to all the operations defined in VirtualNetworkSubnetsClient.
+ */
+public interface VirtualNetworkSubnetsClient {
+ /**
+ * The operation to get a virtual network subnet.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @param subnetName Name of the virtual network subnet.
+ * @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 virtual network resource definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String virtualNetworkName,
+ String subnetName, Context context);
+
+ /**
+ * The operation to get a virtual network subnet.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @param subnetName Name of the virtual network subnet.
+ * @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 virtual network resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualNetworkSubnetInner get(String resourceGroupName, String virtualNetworkName, String subnetName);
+
+ /**
+ * The operation to create or update a virtual network subnet.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @param subnetName Name of the virtual network subnet.
+ * @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 the virtual network resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VirtualNetworkSubnetInner> beginCreateOrUpdate(
+ String resourceGroupName, String virtualNetworkName, String subnetName, VirtualNetworkSubnetInner resource);
+
+ /**
+ * The operation to create or update a virtual network subnet.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @param subnetName Name of the virtual network subnet.
+ * @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 the virtual network resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VirtualNetworkSubnetInner> beginCreateOrUpdate(
+ String resourceGroupName, String virtualNetworkName, String subnetName, VirtualNetworkSubnetInner resource,
+ Context context);
+
+ /**
+ * The operation to create or update a virtual network subnet.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @param subnetName Name of the virtual network subnet.
+ * @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 virtual network resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualNetworkSubnetInner createOrUpdate(String resourceGroupName, String virtualNetworkName, String subnetName,
+ VirtualNetworkSubnetInner resource);
+
+ /**
+ * The operation to create or update a virtual network subnet.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @param subnetName Name of the virtual network subnet.
+ * @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 virtual network resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualNetworkSubnetInner createOrUpdate(String resourceGroupName, String virtualNetworkName, String subnetName,
+ VirtualNetworkSubnetInner resource, Context context);
+
+ /**
+ * The operation to update a virtual network subnet.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @param subnetName Name of the virtual network subnet.
+ * @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 the virtual network resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VirtualNetworkSubnetInner> beginUpdate(String resourceGroupName,
+ String virtualNetworkName, String subnetName, VirtualNetworkSubnetUpdateRequest properties);
+
+ /**
+ * The operation to update a virtual network subnet.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @param subnetName Name of the virtual network subnet.
+ * @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 the virtual network resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VirtualNetworkSubnetInner> beginUpdate(String resourceGroupName,
+ String virtualNetworkName, String subnetName, VirtualNetworkSubnetUpdateRequest properties, Context context);
+
+ /**
+ * The operation to update a virtual network subnet.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @param subnetName Name of the virtual network subnet.
+ * @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 virtual network resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualNetworkSubnetInner update(String resourceGroupName, String virtualNetworkName, String subnetName,
+ VirtualNetworkSubnetUpdateRequest properties);
+
+ /**
+ * The operation to update a virtual network subnet.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @param subnetName Name of the virtual network subnet.
+ * @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 virtual network resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualNetworkSubnetInner update(String resourceGroupName, String virtualNetworkName, String subnetName,
+ VirtualNetworkSubnetUpdateRequest properties, Context context);
+
+ /**
+ * The operation to delete a virtual network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @param subnetName Name of the virtual network subnet.
+ * @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 virtualNetworkName,
+ String subnetName);
+
+ /**
+ * The operation to delete a virtual network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @param subnetName Name of the virtual network subnet.
+ * @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 virtualNetworkName,
+ String subnetName, Context context);
+
+ /**
+ * The operation to delete a virtual network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @param subnetName Name of the virtual network subnet.
+ * @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 virtualNetworkName, String subnetName);
+
+ /**
+ * The operation to delete a virtual network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @param subnetName Name of the virtual network subnet.
+ * @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 virtualNetworkName, String subnetName, Context context);
+
+ /**
+ * Lists all of the virtual network subnets in a virtual network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @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 VirtualNetworkSubnet list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByVirtualNetwork(String resourceGroupName, String virtualNetworkName);
+
+ /**
+ * Lists all of the virtual network subnets in a virtual network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @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 VirtualNetworkSubnet list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByVirtualNetwork(String resourceGroupName, String virtualNetworkName,
+ Context context);
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/VirtualNetworksClient.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/VirtualNetworksClient.java
new file mode 100644
index 0000000000000..618655a151488
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/VirtualNetworksClient.java
@@ -0,0 +1,280 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.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.azurestackhci.vm.fluent.models.VirtualNetworkInner;
+import com.azure.resourcemanager.azurestackhci.vm.models.VirtualNetworkTagsUpdate;
+
+/**
+ * An instance of this class provides access to all the operations defined in VirtualNetworksClient.
+ */
+public interface VirtualNetworksClient {
+ /**
+ * The operation to get a virtual network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @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 virtual network resource definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String virtualNetworkName,
+ Context context);
+
+ /**
+ * The operation to get a virtual network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @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 virtual network resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualNetworkInner getByResourceGroup(String resourceGroupName, String virtualNetworkName);
+
+ /**
+ * The operation to create or update a virtual network. Please note some properties can be set only during
+ * virtualNetwork network creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @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 the virtual network resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VirtualNetworkInner> beginCreateOrUpdate(String resourceGroupName,
+ String virtualNetworkName, VirtualNetworkInner resource);
+
+ /**
+ * The operation to create or update a virtual network. Please note some properties can be set only during
+ * virtualNetwork network creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @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 the virtual network resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VirtualNetworkInner> beginCreateOrUpdate(String resourceGroupName,
+ String virtualNetworkName, VirtualNetworkInner resource, Context context);
+
+ /**
+ * The operation to create or update a virtual network. Please note some properties can be set only during
+ * virtualNetwork network creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @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 virtual network resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualNetworkInner createOrUpdate(String resourceGroupName, String virtualNetworkName,
+ VirtualNetworkInner resource);
+
+ /**
+ * The operation to create or update a virtual network. Please note some properties can be set only during
+ * virtualNetwork network creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @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 virtual network resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualNetworkInner createOrUpdate(String resourceGroupName, String virtualNetworkName,
+ VirtualNetworkInner resource, Context context);
+
+ /**
+ * Updates a virtual network tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @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 the virtual network resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VirtualNetworkInner> beginUpdateTags(String resourceGroupName,
+ String virtualNetworkName, VirtualNetworkTagsUpdate properties);
+
+ /**
+ * Updates a virtual network tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @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 the virtual network resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VirtualNetworkInner> beginUpdateTags(String resourceGroupName,
+ String virtualNetworkName, VirtualNetworkTagsUpdate properties, Context context);
+
+ /**
+ * Updates a virtual network tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @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 virtual network resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualNetworkInner updateTags(String resourceGroupName, String virtualNetworkName,
+ VirtualNetworkTagsUpdate properties);
+
+ /**
+ * Updates a virtual network tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @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 virtual network resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualNetworkInner updateTags(String resourceGroupName, String virtualNetworkName,
+ VirtualNetworkTagsUpdate properties, Context context);
+
+ /**
+ * The operation to delete a virtual network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @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 virtualNetworkName);
+
+ /**
+ * The operation to delete a virtual network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @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 virtualNetworkName,
+ Context context);
+
+ /**
+ * The operation to delete a virtual network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @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 virtualNetworkName);
+
+ /**
+ * The operation to delete a virtual network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param virtualNetworkName Name of the virtual network.
+ * @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 virtualNetworkName, Context context);
+
+ /**
+ * Lists all of the virtual networks in the specified resource group. Use the nextLink property in the response to
+ * get the next page of virtualNetwork networks.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 VirtualNetwork list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all of the virtual networks in the specified resource group. Use the nextLink property in the response to
+ * get the next page of virtualNetwork networks.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 VirtualNetwork list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Lists all of the virtual networks in the specified subscription. Use the nextLink property in the response to get
+ * the next page of virtualNetwork networks.
+ *
+ * @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 VirtualNetwork list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all of the virtual networks in the specified subscription. Use the nextLink property in the response to get
+ * the next page of virtualNetwork networks.
+ *
+ * @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 VirtualNetwork list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/InboundRuleInner.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/InboundRuleInner.java
new file mode 100644
index 0000000000000..bccdb76bb41f3
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/InboundRuleInner.java
@@ -0,0 +1,184 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.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.azurestackhci.vm.models.ExtendedLocation;
+import com.azure.resourcemanager.azurestackhci.vm.models.InboundRuleProperties;
+import java.io.IOException;
+
+/**
+ * The inbound rule resource definition.
+ */
+@Fluent
+public final class InboundRuleInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private InboundRuleProperties properties;
+
+ /*
+ * The extendedLocation of the resource.
+ */
+ private ExtendedLocation extendedLocation;
+
+ /*
+ * 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 InboundRuleInner class.
+ */
+ public InboundRuleInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public InboundRuleProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the InboundRuleInner object itself.
+ */
+ public InboundRuleInner withProperties(InboundRuleProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the extendedLocation property: The extendedLocation of the resource.
+ *
+ * @return the extendedLocation value.
+ */
+ public ExtendedLocation extendedLocation() {
+ return this.extendedLocation;
+ }
+
+ /**
+ * Set the extendedLocation property: The extendedLocation of the resource.
+ *
+ * @param extendedLocation the extendedLocation value to set.
+ * @return the InboundRuleInner object itself.
+ */
+ public InboundRuleInner withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.extendedLocation = extendedLocation;
+ 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);
+ jsonWriter.writeJsonField("extendedLocation", this.extendedLocation);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of InboundRuleInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of InboundRuleInner 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 InboundRuleInner.
+ */
+ public static InboundRuleInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ InboundRuleInner deserializedInboundRuleInner = new InboundRuleInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedInboundRuleInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedInboundRuleInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedInboundRuleInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedInboundRuleInner.properties = InboundRuleProperties.fromJson(reader);
+ } else if ("extendedLocation".equals(fieldName)) {
+ deserializedInboundRuleInner.extendedLocation = ExtendedLocation.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedInboundRuleInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedInboundRuleInner;
+ });
+ }
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/LoadBalancerInner.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/LoadBalancerInner.java
new file mode 100644
index 0000000000000..54aa0f163ac35
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/LoadBalancerInner.java
@@ -0,0 +1,210 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.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.azurestackhci.vm.models.ExtendedLocation;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancerProperties;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * The LoadBalancer resource definition.
+ */
+@Fluent
+public final class LoadBalancerInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private LoadBalancerProperties properties;
+
+ /*
+ * The extendedLocation of the resource.
+ */
+ private ExtendedLocation extendedLocation;
+
+ /*
+ * 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 LoadBalancerInner class.
+ */
+ public LoadBalancerInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public LoadBalancerProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the LoadBalancerInner object itself.
+ */
+ public LoadBalancerInner withProperties(LoadBalancerProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the extendedLocation property: The extendedLocation of the resource.
+ *
+ * @return the extendedLocation value.
+ */
+ public ExtendedLocation extendedLocation() {
+ return this.extendedLocation;
+ }
+
+ /**
+ * Set the extendedLocation property: The extendedLocation of the resource.
+ *
+ * @param extendedLocation the extendedLocation value to set.
+ * @return the LoadBalancerInner object itself.
+ */
+ public LoadBalancerInner withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.extendedLocation = extendedLocation;
+ 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 LoadBalancerInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public LoadBalancerInner 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);
+ jsonWriter.writeJsonField("extendedLocation", this.extendedLocation);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of LoadBalancerInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of LoadBalancerInner 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 LoadBalancerInner.
+ */
+ public static LoadBalancerInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ LoadBalancerInner deserializedLoadBalancerInner = new LoadBalancerInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedLoadBalancerInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedLoadBalancerInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedLoadBalancerInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedLoadBalancerInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedLoadBalancerInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedLoadBalancerInner.properties = LoadBalancerProperties.fromJson(reader);
+ } else if ("extendedLocation".equals(fieldName)) {
+ deserializedLoadBalancerInner.extendedLocation = ExtendedLocation.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedLoadBalancerInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedLoadBalancerInner;
+ });
+ }
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/NatGatewayInner.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/NatGatewayInner.java
new file mode 100644
index 0000000000000..6d1eafd54c977
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/NatGatewayInner.java
@@ -0,0 +1,210 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.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.azurestackhci.vm.models.ExtendedLocation;
+import com.azure.resourcemanager.azurestackhci.vm.models.NatGatewayProperties;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * The NatGateway resource definition.
+ */
+@Fluent
+public final class NatGatewayInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private NatGatewayProperties properties;
+
+ /*
+ * The extendedLocation of the resource.
+ */
+ private ExtendedLocation extendedLocation;
+
+ /*
+ * 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 NatGatewayInner class.
+ */
+ public NatGatewayInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public NatGatewayProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the NatGatewayInner object itself.
+ */
+ public NatGatewayInner withProperties(NatGatewayProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the extendedLocation property: The extendedLocation of the resource.
+ *
+ * @return the extendedLocation value.
+ */
+ public ExtendedLocation extendedLocation() {
+ return this.extendedLocation;
+ }
+
+ /**
+ * Set the extendedLocation property: The extendedLocation of the resource.
+ *
+ * @param extendedLocation the extendedLocation value to set.
+ * @return the NatGatewayInner object itself.
+ */
+ public NatGatewayInner withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.extendedLocation = extendedLocation;
+ 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 NatGatewayInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public NatGatewayInner 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);
+ jsonWriter.writeJsonField("extendedLocation", this.extendedLocation);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of NatGatewayInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of NatGatewayInner 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 NatGatewayInner.
+ */
+ public static NatGatewayInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ NatGatewayInner deserializedNatGatewayInner = new NatGatewayInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedNatGatewayInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedNatGatewayInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedNatGatewayInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedNatGatewayInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedNatGatewayInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedNatGatewayInner.properties = NatGatewayProperties.fromJson(reader);
+ } else if ("extendedLocation".equals(fieldName)) {
+ deserializedNatGatewayInner.extendedLocation = ExtendedLocation.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedNatGatewayInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedNatGatewayInner;
+ });
+ }
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/OperationInner.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/OperationInner.java
new file mode 100644
index 0000000000000..b251c1a7c462b
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/OperationInner.java
@@ -0,0 +1,150 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.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.azurestackhci.vm.models.ActionType;
+import com.azure.resourcemanager.azurestackhci.vm.models.OperationDisplay;
+import com.azure.resourcemanager.azurestackhci.vm.models.Origin;
+import java.io.IOException;
+
+/**
+ * REST API Operation
+ *
+ * Details of a REST API operation, returned from the Resource Provider Operations API.
+ */
+@Immutable
+public final class OperationInner implements JsonSerializable {
+ /*
+ * The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action"
+ */
+ private String name;
+
+ /*
+ * Whether the operation applies to data-plane. This is "true" for data-plane operations and "false" for Azure
+ * Resource Manager/control-plane operations.
+ */
+ private Boolean isDataAction;
+
+ /*
+ * Localized display information for this particular operation.
+ */
+ private OperationDisplay display;
+
+ /*
+ * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default
+ * value is "user,system"
+ */
+ private Origin origin;
+
+ /*
+ * Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
+ */
+ private ActionType actionType;
+
+ /**
+ * Creates an instance of OperationInner class.
+ */
+ private OperationInner() {
+ }
+
+ /**
+ * Get the name property: The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action".
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the isDataAction property: Whether the operation applies to data-plane. This is "true" for data-plane
+ * operations and "false" for Azure Resource Manager/control-plane operations.
+ *
+ * @return the isDataAction value.
+ */
+ public Boolean isDataAction() {
+ return this.isDataAction;
+ }
+
+ /**
+ * Get the display property: Localized display information for this particular operation.
+ *
+ * @return the display value.
+ */
+ public OperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Get the origin property: The intended executor of the operation; as in Resource Based Access Control (RBAC) and
+ * audit logs UX. Default value is "user,system".
+ *
+ * @return the origin value.
+ */
+ public Origin origin() {
+ return this.origin;
+ }
+
+ /**
+ * Get the actionType property: Extensible enum. Indicates the action type. "Internal" refers to actions that are
+ * for internal only APIs.
+ *
+ * @return the actionType value.
+ */
+ public ActionType actionType() {
+ return this.actionType;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("display", this.display);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of OperationInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of OperationInner 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 OperationInner.
+ */
+ public static OperationInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ OperationInner deserializedOperationInner = new OperationInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("name".equals(fieldName)) {
+ deserializedOperationInner.name = reader.getString();
+ } else if ("isDataAction".equals(fieldName)) {
+ deserializedOperationInner.isDataAction = reader.getNullable(JsonReader::getBoolean);
+ } else if ("display".equals(fieldName)) {
+ deserializedOperationInner.display = OperationDisplay.fromJson(reader);
+ } else if ("origin".equals(fieldName)) {
+ deserializedOperationInner.origin = Origin.fromString(reader.getString());
+ } else if ("actionType".equals(fieldName)) {
+ deserializedOperationInner.actionType = ActionType.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedOperationInner;
+ });
+ }
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/OperationStatusResultInner.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/OperationStatusResultInner.java
new file mode 100644
index 0000000000000..cec64714cd654
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/OperationStatusResultInner.java
@@ -0,0 +1,222 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.management.exception.ManagementError;
+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;
+import java.util.List;
+
+/**
+ * The current status of an async operation.
+ */
+@Immutable
+public final class OperationStatusResultInner implements JsonSerializable {
+ /*
+ * Fully qualified ID for the async operation.
+ */
+ private String id;
+
+ /*
+ * Name of the async operation.
+ */
+ private String name;
+
+ /*
+ * Operation status.
+ */
+ private String status;
+
+ /*
+ * Percent of the operation that is complete.
+ */
+ private Double percentComplete;
+
+ /*
+ * The start time of the operation.
+ */
+ private OffsetDateTime startTime;
+
+ /*
+ * The end time of the operation.
+ */
+ private OffsetDateTime endTime;
+
+ /*
+ * The operations list.
+ */
+ private List operations;
+
+ /*
+ * If present, details of the operation error.
+ */
+ private ManagementError error;
+
+ /*
+ * Fully qualified ID of the resource against which the original async operation was started.
+ */
+ private String resourceId;
+
+ /**
+ * Creates an instance of OperationStatusResultInner class.
+ */
+ private OperationStatusResultInner() {
+ }
+
+ /**
+ * Get the id property: Fully qualified ID for the async operation.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: Name of the async operation.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the status property: Operation status.
+ *
+ * @return the status value.
+ */
+ public String status() {
+ return this.status;
+ }
+
+ /**
+ * Get the percentComplete property: Percent of the operation that is complete.
+ *
+ * @return the percentComplete value.
+ */
+ public Double percentComplete() {
+ return this.percentComplete;
+ }
+
+ /**
+ * Get the startTime property: The start time of the operation.
+ *
+ * @return the startTime value.
+ */
+ public OffsetDateTime startTime() {
+ return this.startTime;
+ }
+
+ /**
+ * Get the endTime property: The end time of the operation.
+ *
+ * @return the endTime value.
+ */
+ public OffsetDateTime endTime() {
+ return this.endTime;
+ }
+
+ /**
+ * Get the operations property: The operations list.
+ *
+ * @return the operations value.
+ */
+ public List operations() {
+ return this.operations;
+ }
+
+ /**
+ * Get the error property: If present, details of the operation error.
+ *
+ * @return the error value.
+ */
+ public ManagementError error() {
+ return this.error;
+ }
+
+ /**
+ * Get the resourceId property: Fully qualified ID of the resource against which the original async operation was
+ * started.
+ *
+ * @return the resourceId value.
+ */
+ public String resourceId() {
+ return this.resourceId;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("status", this.status);
+ jsonWriter.writeStringField("id", this.id);
+ jsonWriter.writeStringField("name", this.name);
+ jsonWriter.writeNumberField("percentComplete", this.percentComplete);
+ jsonWriter.writeStringField("startTime",
+ this.startTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.startTime));
+ jsonWriter.writeStringField("endTime",
+ this.endTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.endTime));
+ jsonWriter.writeArrayField("operations", this.operations, (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeJsonField("error", this.error);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of OperationStatusResultInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of OperationStatusResultInner 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 OperationStatusResultInner.
+ */
+ public static OperationStatusResultInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ OperationStatusResultInner deserializedOperationStatusResultInner = new OperationStatusResultInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("status".equals(fieldName)) {
+ deserializedOperationStatusResultInner.status = reader.getString();
+ } else if ("id".equals(fieldName)) {
+ deserializedOperationStatusResultInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedOperationStatusResultInner.name = reader.getString();
+ } else if ("percentComplete".equals(fieldName)) {
+ deserializedOperationStatusResultInner.percentComplete = reader.getNullable(JsonReader::getDouble);
+ } else if ("startTime".equals(fieldName)) {
+ deserializedOperationStatusResultInner.startTime = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else if ("endTime".equals(fieldName)) {
+ deserializedOperationStatusResultInner.endTime = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else if ("operations".equals(fieldName)) {
+ List operations
+ = reader.readArray(reader1 -> OperationStatusResultInner.fromJson(reader1));
+ deserializedOperationStatusResultInner.operations = operations;
+ } else if ("error".equals(fieldName)) {
+ deserializedOperationStatusResultInner.error = ManagementError.fromJson(reader);
+ } else if ("resourceId".equals(fieldName)) {
+ deserializedOperationStatusResultInner.resourceId = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedOperationStatusResultInner;
+ });
+ }
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/PublicIPAddressInner.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/PublicIPAddressInner.java
new file mode 100644
index 0000000000000..cd41bfc84f79b
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/PublicIPAddressInner.java
@@ -0,0 +1,210 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.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.azurestackhci.vm.models.ExtendedLocation;
+import com.azure.resourcemanager.azurestackhci.vm.models.PublicIPAddressProperties;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * The publicIP resource definition.
+ */
+@Fluent
+public final class PublicIPAddressInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private PublicIPAddressProperties properties;
+
+ /*
+ * The extendedLocation of the resource.
+ */
+ private ExtendedLocation extendedLocation;
+
+ /*
+ * 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 PublicIPAddressInner class.
+ */
+ public PublicIPAddressInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public PublicIPAddressProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the PublicIPAddressInner object itself.
+ */
+ public PublicIPAddressInner withProperties(PublicIPAddressProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the extendedLocation property: The extendedLocation of the resource.
+ *
+ * @return the extendedLocation value.
+ */
+ public ExtendedLocation extendedLocation() {
+ return this.extendedLocation;
+ }
+
+ /**
+ * Set the extendedLocation property: The extendedLocation of the resource.
+ *
+ * @param extendedLocation the extendedLocation value to set.
+ * @return the PublicIPAddressInner object itself.
+ */
+ public PublicIPAddressInner withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.extendedLocation = extendedLocation;
+ 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 PublicIPAddressInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public PublicIPAddressInner 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);
+ jsonWriter.writeJsonField("extendedLocation", this.extendedLocation);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of PublicIPAddressInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of PublicIPAddressInner 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 PublicIPAddressInner.
+ */
+ public static PublicIPAddressInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ PublicIPAddressInner deserializedPublicIPAddressInner = new PublicIPAddressInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedPublicIPAddressInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedPublicIPAddressInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedPublicIPAddressInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedPublicIPAddressInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedPublicIPAddressInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedPublicIPAddressInner.properties = PublicIPAddressProperties.fromJson(reader);
+ } else if ("extendedLocation".equals(fieldName)) {
+ deserializedPublicIPAddressInner.extendedLocation = ExtendedLocation.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedPublicIPAddressInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedPublicIPAddressInner;
+ });
+ }
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/SnapshotInner.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/SnapshotInner.java
new file mode 100644
index 0000000000000..242bf76f136c6
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/SnapshotInner.java
@@ -0,0 +1,210 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.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.azurestackhci.vm.models.ExtendedLocation;
+import com.azure.resourcemanager.azurestackhci.vm.models.SnapshotProperties;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * The snapshot resource definition.
+ */
+@Fluent
+public final class SnapshotInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private SnapshotProperties properties;
+
+ /*
+ * The extendedLocation of the resource.
+ */
+ private ExtendedLocation extendedLocation;
+
+ /*
+ * 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 SnapshotInner class.
+ */
+ public SnapshotInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public SnapshotProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the SnapshotInner object itself.
+ */
+ public SnapshotInner withProperties(SnapshotProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the extendedLocation property: The extendedLocation of the resource.
+ *
+ * @return the extendedLocation value.
+ */
+ public ExtendedLocation extendedLocation() {
+ return this.extendedLocation;
+ }
+
+ /**
+ * Set the extendedLocation property: The extendedLocation of the resource.
+ *
+ * @param extendedLocation the extendedLocation value to set.
+ * @return the SnapshotInner object itself.
+ */
+ public SnapshotInner withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.extendedLocation = extendedLocation;
+ 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 SnapshotInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public SnapshotInner 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);
+ jsonWriter.writeJsonField("extendedLocation", this.extendedLocation);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SnapshotInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SnapshotInner 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 SnapshotInner.
+ */
+ public static SnapshotInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SnapshotInner deserializedSnapshotInner = new SnapshotInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedSnapshotInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedSnapshotInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedSnapshotInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedSnapshotInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedSnapshotInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedSnapshotInner.properties = SnapshotProperties.fromJson(reader);
+ } else if ("extendedLocation".equals(fieldName)) {
+ deserializedSnapshotInner.extendedLocation = ExtendedLocation.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedSnapshotInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSnapshotInner;
+ });
+ }
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/SubnetProperties.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/SubnetProperties.java
index 9931c114f1ec9..592b15275b644 100644
--- a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/SubnetProperties.java
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/SubnetProperties.java
@@ -12,6 +12,7 @@
import com.azure.resourcemanager.azurestackhci.vm.models.IPPool;
import com.azure.resourcemanager.azurestackhci.vm.models.IpAllocationMethodEnum;
import com.azure.resourcemanager.azurestackhci.vm.models.NetworkSecurityGroupArmReference;
+import com.azure.resourcemanager.azurestackhci.vm.models.ProvisioningStateEnum;
import com.azure.resourcemanager.azurestackhci.vm.models.RouteTable;
import com.azure.resourcemanager.azurestackhci.vm.models.SubnetIpConfigurationReference;
import java.io.IOException;
@@ -62,6 +63,11 @@ public final class SubnetProperties implements JsonSerializable {
/*
- * The ARM ID for a Virtual Hard Disk.
+ * The Azure Resource ID for a Virtual Hard Disk.
*/
private String virtualHardDiskId;
@@ -34,7 +34,7 @@ private VirtualHardDiskUploadResponseInner() {
}
/**
- * Get the virtualHardDiskId property: The ARM ID for a Virtual Hard Disk.
+ * Get the virtualHardDiskId property: The Azure Resource ID for a Virtual Hard Disk.
*
* @return the virtualHardDiskId value.
*/
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/VirtualNetworkInner.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/VirtualNetworkInner.java
new file mode 100644
index 0000000000000..83c3d963855ae
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/VirtualNetworkInner.java
@@ -0,0 +1,210 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.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.azurestackhci.vm.models.ExtendedLocation;
+import com.azure.resourcemanager.azurestackhci.vm.models.VirtualNetworkProperties;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * The virtual network resource definition.
+ */
+@Fluent
+public final class VirtualNetworkInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private VirtualNetworkProperties properties;
+
+ /*
+ * The extendedLocation of the resource.
+ */
+ private ExtendedLocation extendedLocation;
+
+ /*
+ * 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 VirtualNetworkInner class.
+ */
+ public VirtualNetworkInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public VirtualNetworkProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the VirtualNetworkInner object itself.
+ */
+ public VirtualNetworkInner withProperties(VirtualNetworkProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the extendedLocation property: The extendedLocation of the resource.
+ *
+ * @return the extendedLocation value.
+ */
+ public ExtendedLocation extendedLocation() {
+ return this.extendedLocation;
+ }
+
+ /**
+ * Set the extendedLocation property: The extendedLocation of the resource.
+ *
+ * @param extendedLocation the extendedLocation value to set.
+ * @return the VirtualNetworkInner object itself.
+ */
+ public VirtualNetworkInner withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.extendedLocation = extendedLocation;
+ 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 VirtualNetworkInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public VirtualNetworkInner 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);
+ jsonWriter.writeJsonField("extendedLocation", this.extendedLocation);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of VirtualNetworkInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of VirtualNetworkInner 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 VirtualNetworkInner.
+ */
+ public static VirtualNetworkInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ VirtualNetworkInner deserializedVirtualNetworkInner = new VirtualNetworkInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedVirtualNetworkInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedVirtualNetworkInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedVirtualNetworkInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedVirtualNetworkInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedVirtualNetworkInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedVirtualNetworkInner.properties = VirtualNetworkProperties.fromJson(reader);
+ } else if ("extendedLocation".equals(fieldName)) {
+ deserializedVirtualNetworkInner.extendedLocation = ExtendedLocation.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedVirtualNetworkInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedVirtualNetworkInner;
+ });
+ }
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/VirtualNetworkSubnetInner.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/VirtualNetworkSubnetInner.java
new file mode 100644
index 0000000000000..1a5799fda99d8
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/fluent/models/VirtualNetworkSubnetInner.java
@@ -0,0 +1,184 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.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.azurestackhci.vm.models.ExtendedLocation;
+import com.azure.resourcemanager.azurestackhci.vm.models.VirtualNetworkSubnetProperties;
+import java.io.IOException;
+
+/**
+ * The virtual network resource definition.
+ */
+@Fluent
+public final class VirtualNetworkSubnetInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private VirtualNetworkSubnetProperties properties;
+
+ /*
+ * The extendedLocation of the resource.
+ */
+ private ExtendedLocation extendedLocation;
+
+ /*
+ * 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 VirtualNetworkSubnetInner class.
+ */
+ public VirtualNetworkSubnetInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public VirtualNetworkSubnetProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the VirtualNetworkSubnetInner object itself.
+ */
+ public VirtualNetworkSubnetInner withProperties(VirtualNetworkSubnetProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the extendedLocation property: The extendedLocation of the resource.
+ *
+ * @return the extendedLocation value.
+ */
+ public ExtendedLocation extendedLocation() {
+ return this.extendedLocation;
+ }
+
+ /**
+ * Set the extendedLocation property: The extendedLocation of the resource.
+ *
+ * @param extendedLocation the extendedLocation value to set.
+ * @return the VirtualNetworkSubnetInner object itself.
+ */
+ public VirtualNetworkSubnetInner withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.extendedLocation = extendedLocation;
+ 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);
+ jsonWriter.writeJsonField("extendedLocation", this.extendedLocation);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of VirtualNetworkSubnetInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of VirtualNetworkSubnetInner 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 VirtualNetworkSubnetInner.
+ */
+ public static VirtualNetworkSubnetInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ VirtualNetworkSubnetInner deserializedVirtualNetworkSubnetInner = new VirtualNetworkSubnetInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedVirtualNetworkSubnetInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedVirtualNetworkSubnetInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedVirtualNetworkSubnetInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedVirtualNetworkSubnetInner.properties = VirtualNetworkSubnetProperties.fromJson(reader);
+ } else if ("extendedLocation".equals(fieldName)) {
+ deserializedVirtualNetworkSubnetInner.extendedLocation = ExtendedLocation.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedVirtualNetworkSubnetInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedVirtualNetworkSubnetInner;
+ });
+ }
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/AzureStackHciVmMgmtClientImpl.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/AzureStackHciVmMgmtClientImpl.java
index db820550c6ba2..e09bc932b8495 100644
--- a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/AzureStackHciVmMgmtClientImpl.java
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/AzureStackHciVmMgmtClientImpl.java
@@ -31,14 +31,22 @@
import com.azure.resourcemanager.azurestackhci.vm.fluent.GalleryImagesClient;
import com.azure.resourcemanager.azurestackhci.vm.fluent.GuestAgentsClient;
import com.azure.resourcemanager.azurestackhci.vm.fluent.HybridIdentityMetadatasClient;
+import com.azure.resourcemanager.azurestackhci.vm.fluent.InboundRulesClient;
+import com.azure.resourcemanager.azurestackhci.vm.fluent.LoadBalancersClient;
import com.azure.resourcemanager.azurestackhci.vm.fluent.LogicalNetworksClient;
import com.azure.resourcemanager.azurestackhci.vm.fluent.MarketplaceGalleryImagesClient;
+import com.azure.resourcemanager.azurestackhci.vm.fluent.NatGatewaysClient;
import com.azure.resourcemanager.azurestackhci.vm.fluent.NetworkInterfacesClient;
import com.azure.resourcemanager.azurestackhci.vm.fluent.NetworkSecurityGroupsClient;
+import com.azure.resourcemanager.azurestackhci.vm.fluent.OperationsClient;
+import com.azure.resourcemanager.azurestackhci.vm.fluent.PublicIPAddressesClient;
import com.azure.resourcemanager.azurestackhci.vm.fluent.SecurityRulesClient;
+import com.azure.resourcemanager.azurestackhci.vm.fluent.SnapshotsClient;
import com.azure.resourcemanager.azurestackhci.vm.fluent.StorageContainersClient;
import com.azure.resourcemanager.azurestackhci.vm.fluent.VirtualHardDisksClient;
import com.azure.resourcemanager.azurestackhci.vm.fluent.VirtualMachineInstancesClient;
+import com.azure.resourcemanager.azurestackhci.vm.fluent.VirtualNetworkSubnetsClient;
+import com.azure.resourcemanager.azurestackhci.vm.fluent.VirtualNetworksClient;
import java.io.IOException;
import java.lang.reflect.Type;
import java.nio.ByteBuffer;
@@ -221,6 +229,20 @@ public SecurityRulesClient getSecurityRules() {
return this.securityRules;
}
+ /**
+ * The SnapshotsClient object to access its operations.
+ */
+ private final SnapshotsClient snapshots;
+
+ /**
+ * Gets the SnapshotsClient object to access its operations.
+ *
+ * @return the SnapshotsClient object.
+ */
+ public SnapshotsClient getSnapshots() {
+ return this.snapshots;
+ }
+
/**
* The StorageContainersClient object to access its operations.
*/
@@ -305,6 +327,104 @@ public GuestAgentsClient getGuestAgents() {
return this.guestAgents;
}
+ /**
+ * The VirtualNetworksClient object to access its operations.
+ */
+ private final VirtualNetworksClient virtualNetworks;
+
+ /**
+ * Gets the VirtualNetworksClient object to access its operations.
+ *
+ * @return the VirtualNetworksClient object.
+ */
+ public VirtualNetworksClient getVirtualNetworks() {
+ return this.virtualNetworks;
+ }
+
+ /**
+ * The VirtualNetworkSubnetsClient object to access its operations.
+ */
+ private final VirtualNetworkSubnetsClient virtualNetworkSubnets;
+
+ /**
+ * Gets the VirtualNetworkSubnetsClient object to access its operations.
+ *
+ * @return the VirtualNetworkSubnetsClient object.
+ */
+ public VirtualNetworkSubnetsClient getVirtualNetworkSubnets() {
+ return this.virtualNetworkSubnets;
+ }
+
+ /**
+ * The PublicIPAddressesClient object to access its operations.
+ */
+ private final PublicIPAddressesClient publicIPAddresses;
+
+ /**
+ * Gets the PublicIPAddressesClient object to access its operations.
+ *
+ * @return the PublicIPAddressesClient object.
+ */
+ public PublicIPAddressesClient getPublicIPAddresses() {
+ return this.publicIPAddresses;
+ }
+
+ /**
+ * The NatGatewaysClient object to access its operations.
+ */
+ private final NatGatewaysClient natGateways;
+
+ /**
+ * Gets the NatGatewaysClient object to access its operations.
+ *
+ * @return the NatGatewaysClient object.
+ */
+ public NatGatewaysClient getNatGateways() {
+ return this.natGateways;
+ }
+
+ /**
+ * The InboundRulesClient object to access its operations.
+ */
+ private final InboundRulesClient inboundRules;
+
+ /**
+ * Gets the InboundRulesClient object to access its operations.
+ *
+ * @return the InboundRulesClient object.
+ */
+ public InboundRulesClient getInboundRules() {
+ return this.inboundRules;
+ }
+
+ /**
+ * The LoadBalancersClient object to access its operations.
+ */
+ private final LoadBalancersClient loadBalancers;
+
+ /**
+ * Gets the LoadBalancersClient object to access its operations.
+ *
+ * @return the LoadBalancersClient object.
+ */
+ public LoadBalancersClient getLoadBalancers() {
+ return this.loadBalancers;
+ }
+
+ /**
+ * The OperationsClient object to access its operations.
+ */
+ private final OperationsClient operations;
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ public OperationsClient getOperations() {
+ return this.operations;
+ }
+
/**
* Initializes an instance of AzureStackHciVmMgmtClient client.
*
@@ -322,19 +442,27 @@ public GuestAgentsClient getGuestAgents() {
this.defaultPollInterval = defaultPollInterval;
this.endpoint = endpoint;
this.subscriptionId = subscriptionId;
- this.apiVersion = "2025-06-01-preview";
+ this.apiVersion = "2026-07-01-preview";
this.galleryImages = new GalleryImagesClientImpl(this);
this.logicalNetworks = new LogicalNetworksClientImpl(this);
this.marketplaceGalleryImages = new MarketplaceGalleryImagesClientImpl(this);
this.networkInterfaces = new NetworkInterfacesClientImpl(this);
this.networkSecurityGroups = new NetworkSecurityGroupsClientImpl(this);
this.securityRules = new SecurityRulesClientImpl(this);
+ this.snapshots = new SnapshotsClientImpl(this);
this.storageContainers = new StorageContainersClientImpl(this);
this.virtualHardDisks = new VirtualHardDisksClientImpl(this);
this.virtualMachineInstances = new VirtualMachineInstancesClientImpl(this);
this.hybridIdentityMetadatas = new HybridIdentityMetadatasClientImpl(this);
this.attestationStatuses = new AttestationStatusesClientImpl(this);
this.guestAgents = new GuestAgentsClientImpl(this);
+ this.virtualNetworks = new VirtualNetworksClientImpl(this);
+ this.virtualNetworkSubnets = new VirtualNetworkSubnetsClientImpl(this);
+ this.publicIPAddresses = new PublicIPAddressesClientImpl(this);
+ this.natGateways = new NatGatewaysClientImpl(this);
+ this.inboundRules = new InboundRulesClientImpl(this);
+ this.loadBalancers = new LoadBalancersClientImpl(this);
+ this.operations = new OperationsClientImpl(this);
}
/**
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/InboundRuleImpl.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/InboundRuleImpl.java
new file mode 100644
index 0000000000000..f5043531c1cc4
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/InboundRuleImpl.java
@@ -0,0 +1,139 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.implementation;
+
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.azurestackhci.vm.fluent.models.InboundRuleInner;
+import com.azure.resourcemanager.azurestackhci.vm.models.ExtendedLocation;
+import com.azure.resourcemanager.azurestackhci.vm.models.InboundRule;
+import com.azure.resourcemanager.azurestackhci.vm.models.InboundRuleProperties;
+
+public final class InboundRuleImpl implements InboundRule, InboundRule.Definition, InboundRule.Update {
+ private InboundRuleInner innerObject;
+
+ private final com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public InboundRuleProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public ExtendedLocation extendedLocation() {
+ return this.innerModel().extendedLocation();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public InboundRuleInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String natGatewayName;
+
+ private String inboundRuleName;
+
+ public InboundRuleImpl withExistingNatGateway(String resourceGroupName, String natGatewayName) {
+ this.resourceGroupName = resourceGroupName;
+ this.natGatewayName = natGatewayName;
+ return this;
+ }
+
+ public InboundRule create() {
+ this.innerObject = serviceManager.serviceClient()
+ .getInboundRules()
+ .createOrUpdate(resourceGroupName, natGatewayName, inboundRuleName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public InboundRule create(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getInboundRules()
+ .createOrUpdate(resourceGroupName, natGatewayName, inboundRuleName, this.innerModel(), context);
+ return this;
+ }
+
+ InboundRuleImpl(String name, com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager serviceManager) {
+ this.innerObject = new InboundRuleInner();
+ this.serviceManager = serviceManager;
+ this.inboundRuleName = name;
+ }
+
+ public InboundRuleImpl update() {
+ return this;
+ }
+
+ public InboundRule apply() {
+ this.innerObject = serviceManager.serviceClient()
+ .getInboundRules()
+ .createOrUpdate(resourceGroupName, natGatewayName, inboundRuleName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public InboundRule apply(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getInboundRules()
+ .createOrUpdate(resourceGroupName, natGatewayName, inboundRuleName, this.innerModel(), context);
+ return this;
+ }
+
+ InboundRuleImpl(InboundRuleInner innerObject,
+ com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.natGatewayName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "natGateways");
+ this.inboundRuleName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "inboundRules");
+ }
+
+ public InboundRule refresh() {
+ this.innerObject = serviceManager.serviceClient()
+ .getInboundRules()
+ .getWithResponse(resourceGroupName, natGatewayName, inboundRuleName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public InboundRule refresh(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getInboundRules()
+ .getWithResponse(resourceGroupName, natGatewayName, inboundRuleName, context)
+ .getValue();
+ return this;
+ }
+
+ public InboundRuleImpl withProperties(InboundRuleProperties properties) {
+ this.innerModel().withProperties(properties);
+ return this;
+ }
+
+ public InboundRuleImpl withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.innerModel().withExtendedLocation(extendedLocation);
+ return this;
+ }
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/InboundRulesClientImpl.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/InboundRulesClientImpl.java
new file mode 100644
index 0000000000000..cf0bcb49b599e
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/InboundRulesClientImpl.java
@@ -0,0 +1,784 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.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.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.azurestackhci.vm.fluent.InboundRulesClient;
+import com.azure.resourcemanager.azurestackhci.vm.fluent.models.InboundRuleInner;
+import com.azure.resourcemanager.azurestackhci.vm.implementation.models.InboundRuleListResult;
+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 InboundRulesClient.
+ */
+public final class InboundRulesClientImpl implements InboundRulesClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final InboundRulesService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final AzureStackHciVmMgmtClientImpl client;
+
+ /**
+ * Initializes an instance of InboundRulesClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ InboundRulesClientImpl(AzureStackHciVmMgmtClientImpl client) {
+ this.service
+ = RestProxy.create(InboundRulesService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for AzureStackHciVmMgmtClientInboundRules to be used by the proxy service
+ * to perform REST calls.
+ */
+ @Host("{endpoint}")
+ @ServiceInterface(name = "AzureStackHciVmMgmtClientInboundRules")
+ public interface InboundRulesService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/natGateways/{natGatewayName}/inboundRules/{inboundRuleName}")
+ @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("natGatewayName") String natGatewayName, @PathParam("inboundRuleName") String inboundRuleName,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/natGateways/{natGatewayName}/inboundRules/{inboundRuleName}")
+ @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("natGatewayName") String natGatewayName, @PathParam("inboundRuleName") String inboundRuleName,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/natGateways/{natGatewayName}/inboundRules/{inboundRuleName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> createOrUpdate(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("natGatewayName") String natGatewayName, @PathParam("inboundRuleName") String inboundRuleName,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") InboundRuleInner resource, Context context);
+
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/natGateways/{natGatewayName}/inboundRules/{inboundRuleName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response createOrUpdateSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("natGatewayName") String natGatewayName, @PathParam("inboundRuleName") String inboundRuleName,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") InboundRuleInner resource, Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/natGateways/{natGatewayName}/inboundRules/{inboundRuleName}")
+ @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("natGatewayName") String natGatewayName, @PathParam("inboundRuleName") String inboundRuleName,
+ Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/natGateways/{natGatewayName}/inboundRules/{inboundRuleName}")
+ @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("natGatewayName") String natGatewayName, @PathParam("inboundRuleName") String inboundRuleName,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/natGateways/{natGatewayName}/inboundRules")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByNatGateway(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("natGatewayName") String natGatewayName, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/natGateways/{natGatewayName}/inboundRules")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listByNatGatewaySync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("natGatewayName") String natGatewayName, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByNatGatewayNext(
+ @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 listByNatGatewayNextSync(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * The operation to get an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 inbound rule resource definition along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String resourceGroupName, String natGatewayName,
+ String inboundRuleName) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.get(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, natGatewayName, inboundRuleName, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * The operation to get an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 inbound rule resource definition on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String resourceGroupName, String natGatewayName, String inboundRuleName) {
+ return getWithResponseAsync(resourceGroupName, natGatewayName, inboundRuleName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * The operation to get an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 inbound rule resource definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(String resourceGroupName, String natGatewayName,
+ String inboundRuleName, Context context) {
+ final String accept = "application/json";
+ return service.getSync(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, natGatewayName, inboundRuleName, accept, context);
+ }
+
+ /**
+ * The operation to get an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 inbound rule resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public InboundRuleInner get(String resourceGroupName, String natGatewayName, String inboundRuleName) {
+ return getWithResponse(resourceGroupName, natGatewayName, inboundRuleName, Context.NONE).getValue();
+ }
+
+ /**
+ * The operation to create or update an inbound rule. Please note some properties can be set only during inbound
+ * rule creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 inbound rule resource definition along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(String resourceGroupName,
+ String natGatewayName, String inboundRuleName, InboundRuleInner resource) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.createOrUpdate(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, natGatewayName, inboundRuleName, contentType,
+ accept, resource, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * The operation to create or update an inbound rule. Please note some properties can be set only during inbound
+ * rule creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 inbound rule resource definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response createOrUpdateWithResponse(String resourceGroupName, String natGatewayName,
+ String inboundRuleName, InboundRuleInner resource) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.createOrUpdateSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, natGatewayName, inboundRuleName, contentType, accept,
+ resource, Context.NONE);
+ }
+
+ /**
+ * The operation to create or update an inbound rule. Please note some properties can be set only during inbound
+ * rule creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 inbound rule resource definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response createOrUpdateWithResponse(String resourceGroupName, String natGatewayName,
+ String inboundRuleName, InboundRuleInner resource, Context context) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.createOrUpdateSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, natGatewayName, inboundRuleName, contentType, accept,
+ resource, context);
+ }
+
+ /**
+ * The operation to create or update an inbound rule. Please note some properties can be set only during inbound
+ * rule creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 the inbound rule resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, InboundRuleInner> beginCreateOrUpdateAsync(
+ String resourceGroupName, String natGatewayName, String inboundRuleName, InboundRuleInner resource) {
+ Mono>> mono
+ = createOrUpdateWithResponseAsync(resourceGroupName, natGatewayName, inboundRuleName, resource);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(),
+ InboundRuleInner.class, InboundRuleInner.class, this.client.getContext());
+ }
+
+ /**
+ * The operation to create or update an inbound rule. Please note some properties can be set only during inbound
+ * rule creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 the inbound rule resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, InboundRuleInner> beginCreateOrUpdate(String resourceGroupName,
+ String natGatewayName, String inboundRuleName, InboundRuleInner resource) {
+ Response response
+ = createOrUpdateWithResponse(resourceGroupName, natGatewayName, inboundRuleName, resource);
+ return this.client.getLroResult(response, InboundRuleInner.class,
+ InboundRuleInner.class, Context.NONE);
+ }
+
+ /**
+ * The operation to create or update an inbound rule. Please note some properties can be set only during inbound
+ * rule creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 the inbound rule resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, InboundRuleInner> beginCreateOrUpdate(String resourceGroupName,
+ String natGatewayName, String inboundRuleName, InboundRuleInner resource, Context context) {
+ Response response
+ = createOrUpdateWithResponse(resourceGroupName, natGatewayName, inboundRuleName, resource, context);
+ return this.client.getLroResult(response, InboundRuleInner.class,
+ InboundRuleInner.class, context);
+ }
+
+ /**
+ * The operation to create or update an inbound rule. Please note some properties can be set only during inbound
+ * rule creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 inbound rule resource definition on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(String resourceGroupName, String natGatewayName,
+ String inboundRuleName, InboundRuleInner resource) {
+ return beginCreateOrUpdateAsync(resourceGroupName, natGatewayName, inboundRuleName, resource).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * The operation to create or update an inbound rule. Please note some properties can be set only during inbound
+ * rule creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 inbound rule resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public InboundRuleInner createOrUpdate(String resourceGroupName, String natGatewayName, String inboundRuleName,
+ InboundRuleInner resource) {
+ return beginCreateOrUpdate(resourceGroupName, natGatewayName, inboundRuleName, resource).getFinalResult();
+ }
+
+ /**
+ * The operation to create or update an inbound rule. Please note some properties can be set only during inbound
+ * rule creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 inbound rule resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public InboundRuleInner createOrUpdate(String resourceGroupName, String natGatewayName, String inboundRuleName,
+ InboundRuleInner resource, Context context) {
+ return beginCreateOrUpdate(resourceGroupName, natGatewayName, inboundRuleName, resource, context)
+ .getFinalResult();
+ }
+
+ /**
+ * The operation to delete an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 natGatewayName,
+ String inboundRuleName) {
+ return FluxUtil
+ .withContext(context -> service.delete(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, natGatewayName, inboundRuleName, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * The operation to delete an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 natGatewayName,
+ String inboundRuleName) {
+ return service.deleteSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, natGatewayName, inboundRuleName, Context.NONE);
+ }
+
+ /**
+ * The operation to delete an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 natGatewayName,
+ String inboundRuleName, Context context) {
+ return service.deleteSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, natGatewayName, inboundRuleName, context);
+ }
+
+ /**
+ * The operation to delete an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 natGatewayName,
+ String inboundRuleName) {
+ Mono>> mono
+ = deleteWithResponseAsync(resourceGroupName, natGatewayName, inboundRuleName);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ this.client.getContext());
+ }
+
+ /**
+ * The operation to delete an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 natGatewayName,
+ String inboundRuleName) {
+ Response response = deleteWithResponse(resourceGroupName, natGatewayName, inboundRuleName);
+ return this.client.getLroResult(response, Void.class, Void.class, Context.NONE);
+ }
+
+ /**
+ * The operation to delete an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 natGatewayName,
+ String inboundRuleName, Context context) {
+ Response response = deleteWithResponse(resourceGroupName, natGatewayName, inboundRuleName, context);
+ return this.client.getLroResult(response, Void.class, Void.class, context);
+ }
+
+ /**
+ * The operation to delete an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 natGatewayName, String inboundRuleName) {
+ return beginDeleteAsync(resourceGroupName, natGatewayName, inboundRuleName).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * The operation to delete an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 natGatewayName, String inboundRuleName) {
+ beginDelete(resourceGroupName, natGatewayName, inboundRuleName).getFinalResult();
+ }
+
+ /**
+ * The operation to delete an inbound rule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @param inboundRuleName Name of the inbound rule.
+ * @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 natGatewayName, String inboundRuleName, Context context) {
+ beginDelete(resourceGroupName, natGatewayName, inboundRuleName, context).getFinalResult();
+ }
+
+ /**
+ * Lists all of the inbound rules in the specified NAT gateway. Use the nextLink property in the response to get the
+ * next page of inbound rules.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 InboundRule list operation along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByNatGatewaySinglePageAsync(String resourceGroupName,
+ String natGatewayName) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByNatGateway(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, natGatewayName, 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()));
+ }
+
+ /**
+ * Lists all of the inbound rules in the specified NAT gateway. Use the nextLink property in the response to get the
+ * next page of inbound rules.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 InboundRule list operation as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByNatGatewayAsync(String resourceGroupName, String natGatewayName) {
+ return new PagedFlux<>(() -> listByNatGatewaySinglePageAsync(resourceGroupName, natGatewayName),
+ nextLink -> listByNatGatewayNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Lists all of the inbound rules in the specified NAT gateway. Use the nextLink property in the response to get the
+ * next page of inbound rules.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 InboundRule list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByNatGatewaySinglePage(String resourceGroupName,
+ String natGatewayName) {
+ final String accept = "application/json";
+ Response res
+ = service.listByNatGatewaySync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, natGatewayName, accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Lists all of the inbound rules in the specified NAT gateway. Use the nextLink property in the response to get the
+ * next page of inbound rules.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 InboundRule list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByNatGatewaySinglePage(String resourceGroupName, String natGatewayName,
+ Context context) {
+ final String accept = "application/json";
+ Response res
+ = service.listByNatGatewaySync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, natGatewayName, accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Lists all of the inbound rules in the specified NAT gateway. Use the nextLink property in the response to get the
+ * next page of inbound rules.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 InboundRule list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByNatGateway(String resourceGroupName, String natGatewayName) {
+ return new PagedIterable<>(() -> listByNatGatewaySinglePage(resourceGroupName, natGatewayName),
+ nextLink -> listByNatGatewayNextSinglePage(nextLink));
+ }
+
+ /**
+ * Lists all of the inbound rules in the specified NAT gateway. Use the nextLink property in the response to get the
+ * next page of inbound rules.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param natGatewayName Name of the nat gateway.
+ * @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 InboundRule list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByNatGateway(String resourceGroupName, String natGatewayName,
+ Context context) {
+ return new PagedIterable<>(() -> listByNatGatewaySinglePage(resourceGroupName, natGatewayName, context),
+ nextLink -> listByNatGatewayNextSinglePage(nextLink, context));
+ }
+
+ /**
+ * 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 InboundRule list operation along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByNatGatewayNextSinglePageAsync(String nextLink) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByNatGatewayNext(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 InboundRule list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByNatGatewayNextSinglePage(String nextLink) {
+ final String accept = "application/json";
+ Response res
+ = service.listByNatGatewayNextSync(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 InboundRule list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByNatGatewayNextSinglePage(String nextLink, Context context) {
+ final String accept = "application/json";
+ Response res
+ = service.listByNatGatewayNextSync(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/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/InboundRulesImpl.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/InboundRulesImpl.java
new file mode 100644
index 0000000000000..60db3d0719768
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/InboundRulesImpl.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.azurestackhci.vm.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.azurestackhci.vm.fluent.InboundRulesClient;
+import com.azure.resourcemanager.azurestackhci.vm.fluent.models.InboundRuleInner;
+import com.azure.resourcemanager.azurestackhci.vm.models.InboundRule;
+import com.azure.resourcemanager.azurestackhci.vm.models.InboundRules;
+
+public final class InboundRulesImpl implements InboundRules {
+ private static final ClientLogger LOGGER = new ClientLogger(InboundRulesImpl.class);
+
+ private final InboundRulesClient innerClient;
+
+ private final com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager serviceManager;
+
+ public InboundRulesImpl(InboundRulesClient innerClient,
+ com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response getWithResponse(String resourceGroupName, String natGatewayName,
+ String inboundRuleName, Context context) {
+ Response inner
+ = this.serviceClient().getWithResponse(resourceGroupName, natGatewayName, inboundRuleName, context);
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new InboundRuleImpl(inner.getValue(), this.manager()));
+ }
+
+ public InboundRule get(String resourceGroupName, String natGatewayName, String inboundRuleName) {
+ InboundRuleInner inner = this.serviceClient().get(resourceGroupName, natGatewayName, inboundRuleName);
+ if (inner != null) {
+ return new InboundRuleImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public void delete(String resourceGroupName, String natGatewayName, String inboundRuleName) {
+ this.serviceClient().delete(resourceGroupName, natGatewayName, inboundRuleName);
+ }
+
+ public void delete(String resourceGroupName, String natGatewayName, String inboundRuleName, Context context) {
+ this.serviceClient().delete(resourceGroupName, natGatewayName, inboundRuleName, context);
+ }
+
+ public PagedIterable listByNatGateway(String resourceGroupName, String natGatewayName) {
+ PagedIterable inner
+ = this.serviceClient().listByNatGateway(resourceGroupName, natGatewayName);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new InboundRuleImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByNatGateway(String resourceGroupName, String natGatewayName,
+ Context context) {
+ PagedIterable inner
+ = this.serviceClient().listByNatGateway(resourceGroupName, natGatewayName, context);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new InboundRuleImpl(inner1, this.manager()));
+ }
+
+ public InboundRule 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 natGatewayName = ResourceManagerUtils.getValueFromIdByName(id, "natGateways");
+ if (natGatewayName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'natGateways'.", id)));
+ }
+ String inboundRuleName = ResourceManagerUtils.getValueFromIdByName(id, "inboundRules");
+ if (inboundRuleName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'inboundRules'.", id)));
+ }
+ return this.getWithResponse(resourceGroupName, natGatewayName, inboundRuleName, 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 natGatewayName = ResourceManagerUtils.getValueFromIdByName(id, "natGateways");
+ if (natGatewayName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'natGateways'.", id)));
+ }
+ String inboundRuleName = ResourceManagerUtils.getValueFromIdByName(id, "inboundRules");
+ if (inboundRuleName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'inboundRules'.", id)));
+ }
+ return this.getWithResponse(resourceGroupName, natGatewayName, inboundRuleName, 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 natGatewayName = ResourceManagerUtils.getValueFromIdByName(id, "natGateways");
+ if (natGatewayName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'natGateways'.", id)));
+ }
+ String inboundRuleName = ResourceManagerUtils.getValueFromIdByName(id, "inboundRules");
+ if (inboundRuleName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'inboundRules'.", id)));
+ }
+ this.delete(resourceGroupName, natGatewayName, inboundRuleName, 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 natGatewayName = ResourceManagerUtils.getValueFromIdByName(id, "natGateways");
+ if (natGatewayName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'natGateways'.", id)));
+ }
+ String inboundRuleName = ResourceManagerUtils.getValueFromIdByName(id, "inboundRules");
+ if (inboundRuleName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'inboundRules'.", id)));
+ }
+ this.delete(resourceGroupName, natGatewayName, inboundRuleName, context);
+ }
+
+ private InboundRulesClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager() {
+ return this.serviceManager;
+ }
+
+ public InboundRuleImpl define(String name) {
+ return new InboundRuleImpl(name, this.manager());
+ }
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/LoadBalancerImpl.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/LoadBalancerImpl.java
new file mode 100644
index 0000000000000..7c71eca6f75ea
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/LoadBalancerImpl.java
@@ -0,0 +1,187 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.azurestackhci.vm.fluent.models.LoadBalancerInner;
+import com.azure.resourcemanager.azurestackhci.vm.models.ExtendedLocation;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancer;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancerProperties;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancerTagsUpdate;
+import java.util.Collections;
+import java.util.Map;
+
+public final class LoadBalancerImpl implements LoadBalancer, LoadBalancer.Definition, LoadBalancer.Update {
+ private LoadBalancerInner innerObject;
+
+ private final com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager 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 LoadBalancerProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public ExtendedLocation extendedLocation() {
+ return this.innerModel().extendedLocation();
+ }
+
+ 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 LoadBalancerInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String loadBalancerName;
+
+ private LoadBalancerTagsUpdate updateProperties;
+
+ public LoadBalancerImpl withExistingResourceGroup(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ public LoadBalancer create() {
+ this.innerObject = serviceManager.serviceClient()
+ .getLoadBalancers()
+ .createOrUpdate(resourceGroupName, loadBalancerName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public LoadBalancer create(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getLoadBalancers()
+ .createOrUpdate(resourceGroupName, loadBalancerName, this.innerModel(), context);
+ return this;
+ }
+
+ LoadBalancerImpl(String name, com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager serviceManager) {
+ this.innerObject = new LoadBalancerInner();
+ this.serviceManager = serviceManager;
+ this.loadBalancerName = name;
+ }
+
+ public LoadBalancerImpl update() {
+ this.updateProperties = new LoadBalancerTagsUpdate();
+ return this;
+ }
+
+ public LoadBalancer apply() {
+ this.innerObject = serviceManager.serviceClient()
+ .getLoadBalancers()
+ .updateTags(resourceGroupName, loadBalancerName, updateProperties, Context.NONE);
+ return this;
+ }
+
+ public LoadBalancer apply(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getLoadBalancers()
+ .updateTags(resourceGroupName, loadBalancerName, updateProperties, context);
+ return this;
+ }
+
+ LoadBalancerImpl(LoadBalancerInner innerObject,
+ com.azure.resourcemanager.azurestackhci.vm.AzureStackHciVmManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.loadBalancerName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "loadBalancers");
+ }
+
+ public LoadBalancer refresh() {
+ this.innerObject = serviceManager.serviceClient()
+ .getLoadBalancers()
+ .getByResourceGroupWithResponse(resourceGroupName, loadBalancerName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public LoadBalancer refresh(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getLoadBalancers()
+ .getByResourceGroupWithResponse(resourceGroupName, loadBalancerName, context)
+ .getValue();
+ return this;
+ }
+
+ public LoadBalancerImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public LoadBalancerImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public LoadBalancerImpl withTags(Map tags) {
+ if (isInCreateMode()) {
+ this.innerModel().withTags(tags);
+ return this;
+ } else {
+ this.updateProperties.withTags(tags);
+ return this;
+ }
+ }
+
+ public LoadBalancerImpl withProperties(LoadBalancerProperties properties) {
+ this.innerModel().withProperties(properties);
+ return this;
+ }
+
+ public LoadBalancerImpl withExtendedLocation(ExtendedLocation extendedLocation) {
+ this.innerModel().withExtendedLocation(extendedLocation);
+ return this;
+ }
+
+ private boolean isInCreateMode() {
+ return this.innerModel() == null || this.innerModel().id() == null;
+ }
+}
diff --git a/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/LoadBalancersClientImpl.java b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/LoadBalancersClientImpl.java
new file mode 100644
index 0000000000000..1b7b3840dedf7
--- /dev/null
+++ b/sdk/azurestackhci/azure-resourcemanager-azurestackhci-vm/src/main/java/com/azure/resourcemanager/azurestackhci/vm/implementation/LoadBalancersClientImpl.java
@@ -0,0 +1,1130 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.azurestackhci.vm.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.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.azurestackhci.vm.fluent.LoadBalancersClient;
+import com.azure.resourcemanager.azurestackhci.vm.fluent.models.LoadBalancerInner;
+import com.azure.resourcemanager.azurestackhci.vm.implementation.models.LoadBalancerListResult;
+import com.azure.resourcemanager.azurestackhci.vm.models.LoadBalancerTagsUpdate;
+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 LoadBalancersClient.
+ */
+public final class LoadBalancersClientImpl implements LoadBalancersClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final LoadBalancersService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final AzureStackHciVmMgmtClientImpl client;
+
+ /**
+ * Initializes an instance of LoadBalancersClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ LoadBalancersClientImpl(AzureStackHciVmMgmtClientImpl client) {
+ this.service
+ = RestProxy.create(LoadBalancersService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for AzureStackHciVmMgmtClientLoadBalancers to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{endpoint}")
+ @ServiceInterface(name = "AzureStackHciVmMgmtClientLoadBalancers")
+ public interface LoadBalancersService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/loadBalancers/{loadBalancerName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> getByResourceGroup(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("loadBalancerName") String loadBalancerName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/loadBalancers/{loadBalancerName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response getByResourceGroupSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("loadBalancerName") String loadBalancerName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/loadBalancers/{loadBalancerName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> createOrUpdate(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("loadBalancerName") String loadBalancerName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") LoadBalancerInner resource,
+ Context context);
+
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/loadBalancers/{loadBalancerName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response createOrUpdateSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("loadBalancerName") String loadBalancerName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") LoadBalancerInner resource,
+ Context context);
+
+ @Patch("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/loadBalancers/{loadBalancerName}")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> updateTags(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("loadBalancerName") String loadBalancerName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") LoadBalancerTagsUpdate properties,
+ Context context);
+
+ @Patch("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/loadBalancers/{loadBalancerName}")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response updateTagsSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("loadBalancerName") String loadBalancerName, @HeaderParam("Content-Type") String contentType,
+ @HeaderParam("Accept") String accept, @BodyParam("application/json") LoadBalancerTagsUpdate properties,
+ Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/loadBalancers/{loadBalancerName}")
+ @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("loadBalancerName") String loadBalancerName, Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/loadBalancers/{loadBalancerName}")
+ @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("loadBalancerName") String loadBalancerName, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/loadBalancers")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroup(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/loadBalancers")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listByResourceGroupSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/loadBalancers")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/loadBalancers")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroupNext(
+ @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 listByResourceGroupNextSync(
+ @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)
+ Mono> listAllNext(
+ @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 listAllNextSync(@PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("endpoint") String endpoint, @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * The operation to get a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 LoadBalancer resource definition along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByResourceGroupWithResponseAsync(String resourceGroupName,
+ String loadBalancerName) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.getByResourceGroup(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, loadBalancerName, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * The operation to get a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 LoadBalancer resource definition on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getByResourceGroupAsync(String resourceGroupName, String loadBalancerName) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, loadBalancerName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * The operation to get a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 LoadBalancer resource definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getByResourceGroupWithResponse(String resourceGroupName, String loadBalancerName,
+ Context context) {
+ final String accept = "application/json";
+ return service.getByResourceGroupSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, loadBalancerName, accept, context);
+ }
+
+ /**
+ * The operation to get a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LoadBalancerInner getByResourceGroup(String resourceGroupName, String loadBalancerName) {
+ return getByResourceGroupWithResponse(resourceGroupName, loadBalancerName, Context.NONE).getValue();
+ }
+
+ /**
+ * The operation to create or update a loadBalancer. Please note some properties can be set only during LoadBalancer
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 LoadBalancer resource definition along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(String resourceGroupName,
+ String loadBalancerName, LoadBalancerInner resource) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.createOrUpdate(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, loadBalancerName, contentType, accept, resource,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * The operation to create or update a loadBalancer. Please note some properties can be set only during LoadBalancer
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 LoadBalancer resource definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response createOrUpdateWithResponse(String resourceGroupName, String loadBalancerName,
+ LoadBalancerInner resource) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.createOrUpdateSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, loadBalancerName, contentType, accept, resource,
+ Context.NONE);
+ }
+
+ /**
+ * The operation to create or update a loadBalancer. Please note some properties can be set only during LoadBalancer
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 LoadBalancer resource definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response createOrUpdateWithResponse(String resourceGroupName, String loadBalancerName,
+ LoadBalancerInner resource, Context context) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.createOrUpdateSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, loadBalancerName, contentType, accept, resource,
+ context);
+ }
+
+ /**
+ * The operation to create or update a loadBalancer. Please note some properties can be set only during LoadBalancer
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 the LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, LoadBalancerInner>
+ beginCreateOrUpdateAsync(String resourceGroupName, String loadBalancerName, LoadBalancerInner resource) {
+ Mono>> mono
+ = createOrUpdateWithResponseAsync(resourceGroupName, loadBalancerName, resource);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(),
+ LoadBalancerInner.class, LoadBalancerInner.class, this.client.getContext());
+ }
+
+ /**
+ * The operation to create or update a loadBalancer. Please note some properties can be set only during LoadBalancer
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 the LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, LoadBalancerInner> beginCreateOrUpdate(String resourceGroupName,
+ String loadBalancerName, LoadBalancerInner resource) {
+ Response response = createOrUpdateWithResponse(resourceGroupName, loadBalancerName, resource);
+ return this.client.getLroResult(response, LoadBalancerInner.class,
+ LoadBalancerInner.class, Context.NONE);
+ }
+
+ /**
+ * The operation to create or update a loadBalancer. Please note some properties can be set only during LoadBalancer
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 the LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, LoadBalancerInner> beginCreateOrUpdate(String resourceGroupName,
+ String loadBalancerName, LoadBalancerInner resource, Context context) {
+ Response response
+ = createOrUpdateWithResponse(resourceGroupName, loadBalancerName, resource, context);
+ return this.client.getLroResult(response, LoadBalancerInner.class,
+ LoadBalancerInner.class, context);
+ }
+
+ /**
+ * The operation to create or update a loadBalancer. Please note some properties can be set only during LoadBalancer
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 LoadBalancer resource definition on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(String resourceGroupName, String loadBalancerName,
+ LoadBalancerInner resource) {
+ return beginCreateOrUpdateAsync(resourceGroupName, loadBalancerName, resource).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * The operation to create or update a loadBalancer. Please note some properties can be set only during LoadBalancer
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LoadBalancerInner createOrUpdate(String resourceGroupName, String loadBalancerName,
+ LoadBalancerInner resource) {
+ return beginCreateOrUpdate(resourceGroupName, loadBalancerName, resource).getFinalResult();
+ }
+
+ /**
+ * The operation to create or update a loadBalancer. Please note some properties can be set only during LoadBalancer
+ * creation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LoadBalancerInner createOrUpdate(String resourceGroupName, String loadBalancerName,
+ LoadBalancerInner resource, Context context) {
+ return beginCreateOrUpdate(resourceGroupName, loadBalancerName, resource, context).getFinalResult();
+ }
+
+ /**
+ * Updates a loadBalancer tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @param properties The resource properties to be updated.
+ * @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 LoadBalancer resource definition along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateTagsWithResponseAsync(String resourceGroupName,
+ String loadBalancerName, LoadBalancerTagsUpdate properties) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.updateTags(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, loadBalancerName, contentType, accept, properties,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Updates a loadBalancer tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @param properties The resource properties to be updated.
+ * @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 LoadBalancer resource definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response updateTagsWithResponse(String resourceGroupName, String loadBalancerName,
+ LoadBalancerTagsUpdate properties) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.updateTagsSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, loadBalancerName, contentType, accept, properties,
+ Context.NONE);
+ }
+
+ /**
+ * Updates a loadBalancer tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 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 LoadBalancer resource definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response updateTagsWithResponse(String resourceGroupName, String loadBalancerName,
+ LoadBalancerTagsUpdate properties, Context context) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.updateTagsSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, loadBalancerName, contentType, accept, properties,
+ context);
+ }
+
+ /**
+ * Updates a loadBalancer tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @param properties The resource properties to be updated.
+ * @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 the LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, LoadBalancerInner> beginUpdateTagsAsync(String resourceGroupName,
+ String loadBalancerName, LoadBalancerTagsUpdate properties) {
+ Mono>> mono
+ = updateTagsWithResponseAsync(resourceGroupName, loadBalancerName, properties);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(),
+ LoadBalancerInner.class, LoadBalancerInner.class, this.client.getContext());
+ }
+
+ /**
+ * Updates a loadBalancer tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @param properties The resource properties to be updated.
+ * @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 the LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, LoadBalancerInner> beginUpdateTags(String resourceGroupName,
+ String loadBalancerName, LoadBalancerTagsUpdate properties) {
+ Response response = updateTagsWithResponse(resourceGroupName, loadBalancerName, properties);
+ return this.client.getLroResult(response, LoadBalancerInner.class,
+ LoadBalancerInner.class, Context.NONE);
+ }
+
+ /**
+ * Updates a loadBalancer tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 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 the LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, LoadBalancerInner> beginUpdateTags(String resourceGroupName,
+ String loadBalancerName, LoadBalancerTagsUpdate properties, Context context) {
+ Response response
+ = updateTagsWithResponse(resourceGroupName, loadBalancerName, properties, context);
+ return this.client.getLroResult(response, LoadBalancerInner.class,
+ LoadBalancerInner.class, context);
+ }
+
+ /**
+ * Updates a loadBalancer tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @param properties The resource properties to be updated.
+ * @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 LoadBalancer resource definition on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateTagsAsync(String resourceGroupName, String loadBalancerName,
+ LoadBalancerTagsUpdate properties) {
+ return beginUpdateTagsAsync(resourceGroupName, loadBalancerName, properties).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Updates a loadBalancer tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @param properties The resource properties to be updated.
+ * @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 LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LoadBalancerInner updateTags(String resourceGroupName, String loadBalancerName,
+ LoadBalancerTagsUpdate properties) {
+ return beginUpdateTags(resourceGroupName, loadBalancerName, properties).getFinalResult();
+ }
+
+ /**
+ * Updates a loadBalancer tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 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 LoadBalancer resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public LoadBalancerInner updateTags(String resourceGroupName, String loadBalancerName,
+ LoadBalancerTagsUpdate properties, Context context) {
+ return beginUpdateTags(resourceGroupName, loadBalancerName, properties, context).getFinalResult();
+ }
+
+ /**
+ * The operation to delete a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 loadBalancerName) {
+ return FluxUtil
+ .withContext(context -> service.delete(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, loadBalancerName, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * The operation to delete a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 loadBalancerName) {
+ return service.deleteSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, loadBalancerName, Context.NONE);
+ }
+
+ /**
+ * The operation to delete a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 loadBalancerName,
+ Context context) {
+ return service.deleteSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, loadBalancerName, context);
+ }
+
+ /**
+ * The operation to delete a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 loadBalancerName) {
+ Mono>> mono = deleteWithResponseAsync(resourceGroupName, loadBalancerName);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ this.client.getContext());
+ }
+
+ /**
+ * The operation to delete a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 loadBalancerName) {
+ Response response = deleteWithResponse(resourceGroupName, loadBalancerName);
+ return this.client.getLroResult(response, Void.class, Void.class, Context.NONE);
+ }
+
+ /**
+ * The operation to delete a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 loadBalancerName,
+ Context context) {
+ Response response = deleteWithResponse(resourceGroupName, loadBalancerName, context);
+ return this.client.getLroResult(response, Void.class, Void.class, context);
+ }
+
+ /**
+ * The operation to delete a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 loadBalancerName) {
+ return beginDeleteAsync(resourceGroupName, loadBalancerName).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * The operation to delete a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 loadBalancerName) {
+ beginDelete(resourceGroupName, loadBalancerName).getFinalResult();
+ }
+
+ /**
+ * The operation to delete a loadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param loadBalancerName Name of the load balancer.
+ * @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 loadBalancerName, Context context) {
+ beginDelete(resourceGroupName, loadBalancerName, context).getFinalResult();
+ }
+
+ /**
+ * Lists all of the loadBalancers in the specified resource group. Use the nextLink property in the response to get
+ * the next page of LoadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 LoadBalancer list operation along with {@link PagedResponse} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupSinglePageAsync(String resourceGroupName) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByResourceGroup(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, 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()));
+ }
+
+ /**
+ * Lists all of the loadBalancers in the specified resource group. Use the nextLink property in the response to get
+ * the next page of LoadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 LoadBalancer list operation as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceGroupAsync(String resourceGroupName) {
+ return new PagedFlux<>(() -> listByResourceGroupSinglePageAsync(resourceGroupName),
+ nextLink -> listByResourceGroupNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Lists all of the loadBalancers in the specified resource group. Use the nextLink property in the response to get
+ * the next page of LoadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 LoadBalancer list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByResourceGroupSinglePage(String resourceGroupName) {
+ final String accept = "application/json";
+ Response res = service.listByResourceGroupSync(this.client.getEndpoint(),
+ this.client.getApiVersion(), this.client.getSubscriptionId(), resourceGroupName, accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Lists all of the loadBalancers in the specified resource group. Use the nextLink property in the response to get
+ * the next page of LoadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 LoadBalancer list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByResourceGroupSinglePage(String resourceGroupName, Context context) {
+ final String accept = "application/json";
+ Response res = service.listByResourceGroupSync(this.client.getEndpoint(),
+ this.client.getApiVersion(), this.client.getSubscriptionId(), resourceGroupName, accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Lists all of the loadBalancers in the specified resource group. Use the nextLink property in the response to get
+ * the next page of LoadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 LoadBalancer list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName) {
+ return new PagedIterable<>(() -> listByResourceGroupSinglePage(resourceGroupName),
+ nextLink -> listByResourceGroupNextSinglePage(nextLink));
+ }
+
+ /**
+ * Lists all of the loadBalancers in the specified resource group. Use the nextLink property in the response to get
+ * the next page of LoadBalancer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 LoadBalancer list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName, Context context) {
+ return new PagedIterable<>(() -> listByResourceGroupSinglePage(resourceGroupName, context),
+ nextLink -> listByResourceGroupNextSinglePage(nextLink, context));
+ }
+
+ /**
+ * Lists all of the loadBalancers in the specified subscription. Use the nextLink property in the response to get
+ * the next page of LoadBalancer.
+ *
+ * @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 LoadBalancer list operation along with {@link PagedResponse} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync() {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.list(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), 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()));
+ }
+
+ /**
+ * Lists all of the loadBalancers in the specified subscription. Use the nextLink property in the response to get
+ * the next page of LoadBalancer.
+ *
+ * @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 LoadBalancer list operation as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync() {
+ return new PagedFlux<>(() -> listSinglePageAsync(), nextLink -> listAllNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Lists all of the loadBalancers in the specified subscription. Use the nextLink property in the response to get
+ * the next page of LoadBalancer.
+ *
+ * @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 LoadBalancer list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listSinglePage() {
+ final String accept = "application/json";
+ Response res = service.listSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Lists all of the loadBalancers in the specified subscription. Use the nextLink property in the response to get
+ * the next page of LoadBalancer.
+ *
+ * @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 LoadBalancer list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listSinglePage(Context context) {
+ final String accept = "application/json";
+ Response res = service.listSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Lists all of the loadBalancers in the specified subscription. Use the nextLink property in the response to get
+ * the next page of LoadBalancer.
+ *
+ * @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 LoadBalancer list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list() {
+ return new PagedIterable<>(() -> listSinglePage(), nextLink -> listAllNextSinglePage(nextLink));
+ }
+
+ /**
+ * Lists all of the loadBalancers in the specified subscription. Use the nextLink property in the response to get
+ * the next page of LoadBalancer.
+ *
+ * @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 LoadBalancer list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(Context context) {
+ return new PagedIterable<>(() -> listSinglePage(context), nextLink -> listAllNextSinglePage(nextLink, context));
+ }
+
+ /**
+ * 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 LoadBalancer list operation along with {@link PagedResponse} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupNextSinglePageAsync(String nextLink) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.listByResourceGroupNext(nextLink, this.client.getEndpoint(), accept, context))
+ .