From 4c42252bc00924e9a11dbbec61f9dd1db624648d Mon Sep 17 00:00:00 2001
From: Azure SDK Bot <53356347+azure-sdk@users.noreply.github.com>
Date: Thu, 14 Nov 2024 00:43:57 -0800
Subject: [PATCH] [Automation] Generate Fluent Lite from Swagger
hybridcompute#package-preview-2024-07 (#42939)
---
.../CHANGELOG.md | 93 +-
.../README.md | 4 +-
.../SAMPLE.md | 526 ++++++--
.../pom.xml | 4 +-
.../hybridcompute/HybridComputeManager.java | 54 +-
.../hybridcompute/fluent/GatewaysClient.java | 237 ++++
.../fluent/HybridComputeManagementClient.java | 21 +
.../fluent/MachineExtensionsClient.java | 8 +-
.../fluent/MachineRunCommandsClient.java | 201 +++
.../fluent/SettingsOperationsClient.java | 125 ++
.../fluent/models/GatewayInner.java | 256 ++++
.../fluent/models/GatewayProperties.java | 174 +++
.../models/GatewayUpdateProperties.java | 96 ++
.../fluent/models/MachineInner.java | 30 +
.../fluent/models/MachinePropertiesInner.java | 60 +
.../fluent/models/MachineRunCommandInner.java | 484 +++++++
.../models/MachineRunCommandProperties.java | 479 +++++++
.../models/SettingsGatewayProperties.java | 93 ++
.../fluent/models/SettingsInner.java | 186 +++
.../fluent/models/SettingsProperties.java | 124 ++
.../implementation/GatewayImpl.java | 211 +++
.../implementation/GatewaysClientImpl.java | 1172 +++++++++++++++++
.../implementation/GatewaysImpl.java | 146 ++
.../HybridComputeManagementClientImpl.java | 50 +-
.../MachineExtensionsClientImpl.java | 20 +-
.../implementation/MachineImpl.java | 15 +
.../implementation/MachinePropertiesImpl.java | 15 +
.../implementation/MachineRunCommandImpl.java | 281 ++++
.../MachineRunCommandsClientImpl.java | 948 +++++++++++++
.../MachineRunCommandsImpl.java | 158 +++
.../implementation/SettingsImpl.java | 53 +
.../SettingsOperationsClientImpl.java | 623 +++++++++
.../SettingsOperationsImpl.java | 110 ++
.../hybridcompute/models/AgentUpgrade.java | 12 +-
.../hybridcompute/models/Disk.java | 261 ++++
.../hybridcompute/models/ExecutionState.java | 76 ++
.../models/ExtensionsResourceStatus.java | 211 +++
.../models/ExtensionsStatusLevelTypes.java | 61 +
.../hybridcompute/models/FirmwareProfile.java | 97 ++
.../hybridcompute/models/Gateway.java | 310 +++++
.../hybridcompute/models/GatewayType.java | 46 +
.../hybridcompute/models/GatewayUpdate.java | 124 ++
.../hybridcompute/models/Gateways.java | 157 +++
.../models/GatewaysListResult.java | 136 ++
.../hybridcompute/models/HardwareProfile.java | 118 ++
.../hybridcompute/models/Machine.java | 21 +
.../models/MachineProperties.java | 21 +
.../models/MachineRunCommand.java | 690 ++++++++++
.../models/MachineRunCommandInstanceView.java | 305 +++++
.../models/MachineRunCommandScriptSource.java | 198 +++
.../models/MachineRunCommandUpdate.java | 79 ++
.../models/MachineRunCommands.java | 145 ++
.../models/MachineRunCommandsListResult.java | 130 ++
.../models/NetworkInterface.java | 86 +-
.../hybridcompute/models/Processor.java | 97 ++
.../models/RunCommandInputParameter.java | 133 ++
.../models/RunCommandManagedIdentity.java | 131 ++
.../hybridcompute/models/Settings.java | 62 +
.../models/SettingsOperations.java | 117 ++
.../hybridcompute/models/StorageProfile.java | 98 ++
.../proxy-config.json | 2 +-
.../ExtensionMetadataGetSamples.java | 4 +-
.../ExtensionMetadataListSamples.java | 4 +-
.../GatewaysCreateOrUpdateSamples.java | 33 +
.../generated/GatewaysDeleteSamples.java | 24 +
.../GatewaysGetByResourceGroupSamples.java | 25 +
.../GatewaysListByResourceGroupSamples.java | 25 +
.../generated/GatewaysListSamples.java | 25 +
.../generated/GatewaysUpdateSamples.java | 30 +
.../LicenseProfilesCreateOrUpdateSamples.java | 4 +-
.../LicenseProfilesDeleteSamples.java | 4 +-
.../generated/LicenseProfilesGetSamples.java | 4 +-
.../generated/LicenseProfilesListSamples.java | 4 +-
.../LicenseProfilesUpdateSamples.java | 4 +-
.../LicensesCreateOrUpdateSamples.java | 2 +-
.../generated/LicensesDeleteSamples.java | 2 +-
.../LicensesGetByResourceGroupSamples.java | 2 +-
.../LicensesListByResourceGroupSamples.java | 2 +-
.../generated/LicensesListSamples.java | 2 +-
.../generated/LicensesUpdateSamples.java | 2 +-
.../LicensesValidateLicenseSamples.java | 2 +-
...achineExtensionsCreateOrUpdateSamples.java | 4 +-
.../MachineExtensionsDeleteSamples.java | 4 +-
.../MachineExtensionsGetSamples.java | 4 +-
.../MachineExtensionsListSamples.java | 4 +-
.../MachineExtensionsUpdateSamples.java | 4 +-
...chineRunCommandsCreateOrUpdateSamples.java | 42 +
.../MachineRunCommandsDeleteSamples.java | 25 +
.../MachineRunCommandsGetSamples.java | 25 +
.../MachineRunCommandsListSamples.java | 24 +
.../MachinesAssessPatchesSamples.java | 2 +-
.../generated/MachinesDeleteSamples.java | 2 +-
.../MachinesGetByResourceGroupSamples.java | 4 +-
.../MachinesInstallPatchesSamples.java | 2 +-
.../MachinesListByResourceGroupSamples.java | 2 +-
.../generated/MachinesListSamples.java | 2 +-
.../generated/NetworkProfileGetSamples.java | 2 +-
...gurationsGetByPrivateLinkScopeSamples.java | 2 +-
...urationsListByPrivateLinkScopeSamples.java | 2 +-
...nsReconcileForPrivateLinkScopeSamples.java | 2 +-
.../generated/OperationsListSamples.java | 4 +-
...pointConnectionsCreateOrUpdateSamples.java | 4 +-
...ivateEndpointConnectionsDeleteSamples.java | 4 +-
.../PrivateEndpointConnectionsGetSamples.java | 4 +-
...nectionsListByPrivateLinkScopeSamples.java | 4 +-
.../PrivateLinkResourcesGetSamples.java | 4 +-
...esourcesListByPrivateLinkScopeSamples.java | 4 +-
...rivateLinkScopesCreateOrUpdateSamples.java | 8 +-
.../PrivateLinkScopesDeleteSamples.java | 4 +-
...teLinkScopesGetByResourceGroupSamples.java | 4 +-
...GetValidationDetailsForMachineSamples.java | 4 +-
...LinkScopesGetValidationDetailsSamples.java | 4 +-
...eLinkScopesListByResourceGroupSamples.java | 4 +-
.../PrivateLinkScopesListSamples.java | 4 +-
.../PrivateLinkScopesUpdateTagsSamples.java | 4 +-
...ourceProviderUpgradeExtensionsSamples.java | 4 +-
.../SettingsOperationGetSamples.java | 26 +
.../SettingsOperationPatchSamples.java | 31 +
.../SettingsOperationUpdateSamples.java | 30 +
.../generated/AccessRulePropertiesTests.java | 2 +-
.../generated/AccessRuleTests.java | 4 +-
.../generated/AgentConfigurationTests.java | 2 +-
.../generated/AgentUpgradeTests.java | 14 +-
...ilablePatchCountByClassificationTests.java | 2 +-
.../generated/CloudMetadataTests.java | 2 +-
.../ConfigurationExtensionTests.java | 5 +-
.../generated/ConnectionDetailTests.java | 2 +-
.../hybridcompute/generated/DiskTests.java | 44 +
.../hybridcompute/generated/EsuKeyTests.java | 12 +-
.../EsuProfileUpdatePropertiesTests.java | 8 +-
...sionMetadatasGetWithResponseMockTests.java | 5 +-
.../ExtensionMetadatasListMockTests.java | 4 +-
.../ExtensionTargetPropertiesTests.java | 10 +-
.../generated/ExtensionValueInnerTests.java | 2 +-
.../ExtensionValueListResultTests.java | 2 +-
.../ExtensionValuePropertiesTests.java | 2 +-
.../generated/FirmwareProfileTests.java | 22 +
.../generated/GatewayInnerTests.java | 52 +
.../generated/GatewayPropertiesTests.java | 31 +
.../GatewayUpdatePropertiesTests.java | 28 +
.../generated/GatewayUpdateTests.java | 44 +
.../GatewaysCreateOrUpdateMockTests.java | 63 +
...tByResourceGroupWithResponseMockTests.java | 43 +
.../GatewaysListByResourceGroupMockTests.java | 43 +
.../generated/GatewaysListMockTests.java | 42 +
.../generated/GatewaysListResultTests.java | 56 +
.../generated/HardwareProfileTests.java | 23 +
...bridComputePrivateLinkScopeInnerTests.java | 24 +-
...omputePrivateLinkScopeListResultTests.java | 39 +-
...omputePrivateLinkScopePropertiesTests.java | 10 +-
.../generated/IdentityTests.java | 6 +-
.../generated/IpAddressTests.java | 15 +-
...ineInstanceViewSoftwareAssuranceTests.java | 8 +-
...pdatePropertiesSoftwareAssuranceTests.java | 8 +-
.../LicenseProfileUpdatePropertiesTests.java | 36 +-
.../generated/LicenseProfileUpdateTests.java | 45 +-
.../LicensesCreateOrUpdateMockTests.java | 47 +-
.../generated/LicensesDeleteMockTests.java | 2 +-
...tByResourceGroupWithResponseMockTests.java | 22 +-
.../LicensesListByResourceGroupMockTests.java | 22 +-
.../generated/LicensesListMockTests.java | 18 +-
.../LicensesValidateLicenseMockTests.java | 38 +-
.../generated/LinuxParametersTests.java | 14 +-
.../generated/LocationDataTests.java | 29 +-
...MachineExtensionUpdatePropertiesTests.java | 43 +-
.../MachineExtensionUpdateTests.java | 37 +-
.../MachineExtensionUpgradeTests.java | 17 +-
.../MachineExtensionsDeleteMockTests.java | 2 +-
.../MachineInstallPatchesParametersTests.java | 58 +-
.../MachineRunCommandScriptSourceTests.java | 39 +
.../MachineRunCommandUpdateTests.java | 41 +
.../generated/MachineUpdateTests.java | 80 +-
...eByResourceGroupWithResponseMockTests.java | 2 +-
.../generated/NetworkInterfaceTests.java | 24 +-
.../generated/NetworkProfileInnerTests.java | 55 +-
...tworkProfilesGetWithResponseMockTests.java | 14 +-
...urityPerimeterConfigurationInnerTests.java | 2 +-
...PerimeterConfigurationListResultTests.java | 2 +-
...PerimeterConfigurationPropertiesTests.java | 2 +-
...onfigurationReconcileResultInnerTests.java | 11 +-
...PrivateLinkScopeWithResponseMockTests.java | 5 +-
...ationsListByPrivateLinkScopeMockTests.java | 4 +-
...ReconcileForPrivateLinkScopeMockTests.java | 6 +-
.../NetworkSecurityPerimeterProfileTests.java | 2 +-
.../NetworkSecurityPerimeterTests.java | 2 +-
.../generated/OperationListResultTests.java | 2 +-
.../generated/OperationValueDisplayTests.java | 2 +-
.../generated/OperationValueInnerTests.java | 2 +-
.../generated/OperationsListMockTests.java | 2 +-
...ivateEndpointConnectionDataModelTests.java | 21 +-
.../PrivateEndpointConnectionInnerTests.java | 23 +-
...vateEndpointConnectionListResultTests.java | 2 +-
...vateEndpointConnectionPropertiesTests.java | 23 +-
...intConnectionsCreateOrUpdateMockTests.java | 18 +-
...ateEndpointConnectionsDeleteMockTests.java | 2 +-
...ntConnectionsGetWithResponseMockTests.java | 10 +-
...ctionsListByPrivateLinkScopeMockTests.java | 10 +-
.../PrivateEndpointPropertyTests.java | 8 +-
.../PrivateLinkResourceInnerTests.java | 2 +-
.../PrivateLinkResourceListResultTests.java | 2 +-
.../PrivateLinkResourcePropertiesTests.java | 2 +-
...LinkResourcesGetWithResponseMockTests.java | 4 +-
...ourcesListByPrivateLinkScopeMockTests.java | 6 +-
...eLinkScopeValidationDetailsInnerTests.java | 14 +-
...esCreateOrUpdateWithResponseMockTests.java | 19 +-
.../PrivateLinkScopesDeleteMockTests.java | 2 +-
...tByResourceGroupWithResponseMockTests.java | 11 +-
...etailsForMachineWithResponseMockTests.java | 7 +-
...alidationDetailsWithResponseMockTests.java | 4 +-
...inkScopesListByResourceGroupMockTests.java | 10 +-
.../PrivateLinkScopesListMockTests.java | 8 +-
.../PrivateLinkScopesResourceTests.java | 15 +-
...nkServiceConnectionStatePropertyTests.java | 16 +-
.../generated/ProcessorTests.java | 22 +
.../generated/ProductFeatureUpdateTests.java | 14 +-
.../ProductProfileUpdatePropertiesTests.java | 13 +-
.../ProvisioningIssuePropertiesTests.java | 2 +-
.../generated/ProvisioningIssueTests.java | 2 +-
.../generated/ResourceAssociationTests.java | 2 +-
...ceProvidersUpgradeExtensionsMockTests.java | 9 +-
.../RunCommandInputParameterTests.java | 29 +
.../RunCommandManagedIdentityTests.java | 28 +
.../generated/ServiceStatusTests.java | 12 +-
.../generated/ServiceStatusesTests.java | 24 +-
.../SettingsGatewayPropertiesTests.java | 25 +
.../generated/SettingsInnerTests.java | 26 +
...ngsOperationsGetWithResponseMockTests.java | 39 +
...sOperationsPatchWithResponseMockTests.java | 41 +
...OperationsUpdateWithResponseMockTests.java | 41 +
.../generated/SettingsPropertiesTests.java | 26 +
.../generated/StorageProfileTests.java | 61 +
.../hybridcompute/generated/SubnetTests.java | 8 +-
.../generated/TagsResourceTests.java | 10 +-
.../generated/WindowsParametersTests.java | 27 +-
234 files changed, 12843 insertions(+), 763 deletions(-)
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/GatewaysClient.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/MachineRunCommandsClient.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/SettingsOperationsClient.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/GatewayInner.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/GatewayProperties.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/GatewayUpdateProperties.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineRunCommandInner.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineRunCommandProperties.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/SettingsGatewayProperties.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/SettingsInner.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/SettingsProperties.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/GatewayImpl.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/GatewaysClientImpl.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/GatewaysImpl.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineRunCommandImpl.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineRunCommandsClientImpl.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineRunCommandsImpl.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/SettingsImpl.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/SettingsOperationsClientImpl.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/SettingsOperationsImpl.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/Disk.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/ExecutionState.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/ExtensionsResourceStatus.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/ExtensionsStatusLevelTypes.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/FirmwareProfile.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/Gateway.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/GatewayType.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/GatewayUpdate.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/Gateways.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/GatewaysListResult.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/HardwareProfile.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineRunCommand.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineRunCommandInstanceView.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineRunCommandScriptSource.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineRunCommandUpdate.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineRunCommands.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/MachineRunCommandsListResult.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/Processor.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/RunCommandInputParameter.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/RunCommandManagedIdentity.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/Settings.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/SettingsOperations.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/StorageProfile.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/samples/java/com/azure/resourcemanager/hybridcompute/generated/GatewaysCreateOrUpdateSamples.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/samples/java/com/azure/resourcemanager/hybridcompute/generated/GatewaysDeleteSamples.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/samples/java/com/azure/resourcemanager/hybridcompute/generated/GatewaysGetByResourceGroupSamples.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/samples/java/com/azure/resourcemanager/hybridcompute/generated/GatewaysListByResourceGroupSamples.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/samples/java/com/azure/resourcemanager/hybridcompute/generated/GatewaysListSamples.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/samples/java/com/azure/resourcemanager/hybridcompute/generated/GatewaysUpdateSamples.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/samples/java/com/azure/resourcemanager/hybridcompute/generated/MachineRunCommandsCreateOrUpdateSamples.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/samples/java/com/azure/resourcemanager/hybridcompute/generated/MachineRunCommandsDeleteSamples.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/samples/java/com/azure/resourcemanager/hybridcompute/generated/MachineRunCommandsGetSamples.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/samples/java/com/azure/resourcemanager/hybridcompute/generated/MachineRunCommandsListSamples.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/samples/java/com/azure/resourcemanager/hybridcompute/generated/SettingsOperationGetSamples.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/samples/java/com/azure/resourcemanager/hybridcompute/generated/SettingsOperationPatchSamples.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/samples/java/com/azure/resourcemanager/hybridcompute/generated/SettingsOperationUpdateSamples.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/DiskTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/FirmwareProfileTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/GatewayInnerTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/GatewayPropertiesTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/GatewayUpdatePropertiesTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/GatewayUpdateTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/GatewaysCreateOrUpdateMockTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/GatewaysGetByResourceGroupWithResponseMockTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/GatewaysListByResourceGroupMockTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/GatewaysListMockTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/GatewaysListResultTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/HardwareProfileTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/MachineRunCommandScriptSourceTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/MachineRunCommandUpdateTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/ProcessorTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/RunCommandInputParameterTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/RunCommandManagedIdentityTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/SettingsGatewayPropertiesTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/SettingsInnerTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/SettingsOperationsGetWithResponseMockTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/SettingsOperationsPatchWithResponseMockTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/SettingsOperationsUpdateWithResponseMockTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/SettingsPropertiesTests.java
create mode 100644 sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/test/java/com/azure/resourcemanager/hybridcompute/generated/StorageProfileTests.java
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/CHANGELOG.md b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/CHANGELOG.md
index 69ca6e17cb36f..d3f7f770b29fe 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/CHANGELOG.md
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/CHANGELOG.md
@@ -1,14 +1,99 @@
# Release History
-## 1.1.0-beta.1 (Unreleased)
+## 1.1.0-beta.1 (2024-11-14)
+
+- Azure Resource Manager HybridCompute client library for Java. This package contains Microsoft Azure SDK for HybridCompute Management SDK. The Hybrid Compute Management Client. Package tag package-preview-2024-07. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
### Features Added
-### Breaking Changes
+* `models.MachineRunCommandsListResult` was added
+
+* `models.Gateway$DefinitionStages` was added
-### Bugs Fixed
+* `models.GatewaysListResult` was added
+
+* `models.MachineRunCommand$UpdateStages` was added
+
+* `models.Settings` was added
+
+* `models.MachineRunCommand` was added
+
+* `models.StorageProfile` was added
+
+* `models.Gateway$Definition` was added
+
+* `models.SettingsOperations` was added
+
+* `models.MachineRunCommandUpdate` was added
+
+* `models.MachineRunCommand$Update` was added
+
+* `models.GatewayUpdate` was added
+
+* `models.MachineRunCommand$Definition` was added
+
+* `models.Gateway$Update` was added
+
+* `models.Processor` was added
+
+* `models.ExtensionsStatusLevelTypes` was added
+
+* `models.Gateway` was added
+
+* `models.Disk` was added
+
+* `models.ExtensionsResourceStatus` was added
+
+* `models.GatewayType` was added
-### Other Changes
+* `models.MachineRunCommandInstanceView` was added
+
+* `models.HardwareProfile` was added
+
+* `models.RunCommandManagedIdentity` was added
+
+* `models.MachineRunCommands` was added
+
+* `models.FirmwareProfile` was added
+
+* `models.Gateways` was added
+
+* `models.Gateway$UpdateStages` was added
+
+* `models.MachineRunCommandScriptSource` was added
+
+* `models.RunCommandInputParameter` was added
+
+* `models.MachineRunCommand$DefinitionStages` was added
+
+* `models.ExecutionState` was added
+
+#### `models.MachineProperties` was modified
+
+* `firmwareProfile()` was added
+* `storageProfile()` was added
+* `hardwareProfile()` was added
+
+#### `models.NetworkInterface` was modified
+
+* `id()` was added
+* `macAddress()` was added
+* `withName(java.lang.String)` was added
+* `withId(java.lang.String)` was added
+* `name()` was added
+* `withMacAddress(java.lang.String)` was added
+
+#### `models.Machine` was modified
+
+* `hardwareProfile()` was added
+* `storageProfile()` was added
+* `firmwareProfile()` was added
+
+#### `HybridComputeManager` was modified
+
+* `settingsOperations()` was added
+* `gateways()` was added
+* `machineRunCommands()` was added
## 1.0.0 (2024-10-10)
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/README.md b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/README.md
index de84516a49659..cc5fd189003c7 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/README.md
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/README.md
@@ -2,7 +2,7 @@
Azure Resource Manager HybridCompute client library for Java.
-This package contains Microsoft Azure SDK for HybridCompute Management SDK. The Hybrid Compute Management Client. Package tag package-2024-07. 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 HybridCompute Management SDK. The Hybrid Compute Management Client. Package tag package-preview-2024-07. 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-hybridcompute
- 1.0.0
+ 1.1.0-beta.1
```
[//]: # ({x-version-update-end})
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/SAMPLE.md b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/SAMPLE.md
index a5db0b43a5e0c..bc3bf3d764f1c 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/SAMPLE.md
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/SAMPLE.md
@@ -6,6 +6,15 @@
- [Get](#extensionmetadata_get)
- [List](#extensionmetadata_list)
+## Gateways
+
+- [CreateOrUpdate](#gateways_createorupdate)
+- [Delete](#gateways_delete)
+- [GetByResourceGroup](#gateways_getbyresourcegroup)
+- [List](#gateways_list)
+- [ListByResourceGroup](#gateways_listbyresourcegroup)
+- [Update](#gateways_update)
+
## LicenseProfiles
- [CreateOrUpdate](#licenseprofiles_createorupdate)
@@ -32,6 +41,13 @@
- [List](#machineextensions_list)
- [Update](#machineextensions_update)
+## MachineRunCommands
+
+- [CreateOrUpdate](#machineruncommands_createorupdate)
+- [Delete](#machineruncommands_delete)
+- [Get](#machineruncommands_get)
+- [List](#machineruncommands_list)
+
## Machines
- [AssessPatches](#machines_assesspatches)
@@ -81,6 +97,12 @@
## ResourceProvider
- [UpgradeExtensions](#resourceprovider_upgradeextensions)
+
+## SettingsOperation
+
+- [Get](#settingsoperation_get)
+- [Patch](#settingsoperation_patch)
+- [Update](#settingsoperation_update)
### ExtensionMetadata_Get
```java
@@ -90,8 +112,8 @@
public final class ExtensionMetadataGetSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/extension/
- * ExtensionMetadata_Get.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * extension/ExtensionMetadata_Get.json
*/
/**
* Sample code: GET an extensions metadata.
@@ -115,8 +137,8 @@ public final class ExtensionMetadataGetSamples {
public final class ExtensionMetadataListSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/extension/
- * ExtensionMetadata_List.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * extension/ExtensionMetadata_List.json
*/
/**
* Sample code: GET a list of extensions.
@@ -130,6 +152,162 @@ public final class ExtensionMetadataListSamples {
}
```
+### Gateways_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.hybridcompute.models.GatewayType;
+import java.util.Arrays;
+
+/**
+ * Samples for Gateways CreateOrUpdate.
+ */
+public final class GatewaysCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file:
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/gateway/
+ * Gateway_CreateOrUpdate.json
+ */
+ /**
+ * Sample code: Create or Update a Gateway.
+ *
+ * @param manager Entry point to HybridComputeManager.
+ */
+ public static void createOrUpdateAGateway(com.azure.resourcemanager.hybridcompute.HybridComputeManager manager) {
+ manager.gateways()
+ .define("{gatewayName}")
+ .withRegion("eastus2euap")
+ .withExistingResourceGroup("myResourceGroup")
+ .withGatewayType(GatewayType.PUBLIC)
+ .withAllowedFeatures(Arrays.asList("*"))
+ .create();
+ }
+}
+```
+
+### Gateways_Delete
+
+```java
+/**
+ * Samples for Gateways Delete.
+ */
+public final class GatewaysDeleteSamples {
+ /*
+ * x-ms-original-file:
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/gateway/
+ * Gateway_Delete.json
+ */
+ /**
+ * Sample code: Delete a Gateway.
+ *
+ * @param manager Entry point to HybridComputeManager.
+ */
+ public static void deleteAGateway(com.azure.resourcemanager.hybridcompute.HybridComputeManager manager) {
+ manager.gateways().delete("myResourceGroup", "{gatewayName}", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Gateways_GetByResourceGroup
+
+```java
+/**
+ * Samples for Gateways GetByResourceGroup.
+ */
+public final class GatewaysGetByResourceGroupSamples {
+ /*
+ * x-ms-original-file:
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/gateway/
+ * Gateway_Get.json
+ */
+ /**
+ * Sample code: Get Gateway.
+ *
+ * @param manager Entry point to HybridComputeManager.
+ */
+ public static void getGateway(com.azure.resourcemanager.hybridcompute.HybridComputeManager manager) {
+ manager.gateways()
+ .getByResourceGroupWithResponse("myResourceGroup", "{gatewayName}", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Gateways_List
+
+```java
+/**
+ * Samples for Gateways List.
+ */
+public final class GatewaysListSamples {
+ /*
+ * x-ms-original-file:
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/gateway/
+ * Gateway_ListBySubscription.json
+ */
+ /**
+ * Sample code: List Gateways by Subscription.
+ *
+ * @param manager Entry point to HybridComputeManager.
+ */
+ public static void
+ listGatewaysBySubscription(com.azure.resourcemanager.hybridcompute.HybridComputeManager manager) {
+ manager.gateways().list(com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Gateways_ListByResourceGroup
+
+```java
+/**
+ * Samples for Gateways ListByResourceGroup.
+ */
+public final class GatewaysListByResourceGroupSamples {
+ /*
+ * x-ms-original-file:
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/gateway/
+ * Gateway_ListByResourceGroup.json
+ */
+ /**
+ * Sample code: List Gateways by Resource Group.
+ *
+ * @param manager Entry point to HybridComputeManager.
+ */
+ public static void
+ listGatewaysByResourceGroup(com.azure.resourcemanager.hybridcompute.HybridComputeManager manager) {
+ manager.gateways().listByResourceGroup("myResourceGroup", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### Gateways_Update
+
+```java
+import com.azure.resourcemanager.hybridcompute.models.Gateway;
+import java.util.Arrays;
+
+/**
+ * Samples for Gateways Update.
+ */
+public final class GatewaysUpdateSamples {
+ /*
+ * x-ms-original-file:
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/gateway/
+ * Gateway_Update.json
+ */
+ /**
+ * Sample code: Update a Gateway.
+ *
+ * @param manager Entry point to HybridComputeManager.
+ */
+ public static void updateAGateway(com.azure.resourcemanager.hybridcompute.HybridComputeManager manager) {
+ Gateway resource = manager.gateways()
+ .getByResourceGroupWithResponse("myResourceGroup", "{gatewayName}", com.azure.core.util.Context.NONE)
+ .getValue();
+ resource.update().withAllowedFeatures(Arrays.asList("*")).apply();
+ }
+}
+```
+
### LicenseProfiles_CreateOrUpdate
```java
@@ -144,8 +322,8 @@ import java.util.Arrays;
public final class LicenseProfilesCreateOrUpdateSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/licenseProfile/
- * LicenseProfile_CreateOrUpdate.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * licenseProfile/LicenseProfile_CreateOrUpdate.json
*/
/**
* Sample code: Create or Update a License Profile.
@@ -178,8 +356,8 @@ public final class LicenseProfilesCreateOrUpdateSamples {
public final class LicenseProfilesDeleteSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/licenseProfile/
- * LicenseProfile_Delete.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * licenseProfile/LicenseProfile_Delete.json
*/
/**
* Sample code: Delete a License Profile.
@@ -201,8 +379,8 @@ public final class LicenseProfilesDeleteSamples {
public final class LicenseProfilesGetSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/licenseProfile/
- * LicenseProfile_Get.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * licenseProfile/LicenseProfile_Get.json
*/
/**
* Sample code: Get License Profile.
@@ -224,8 +402,8 @@ public final class LicenseProfilesGetSamples {
public final class LicenseProfilesListSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/licenseProfile/
- * LicenseProfile_List.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * licenseProfile/LicenseProfile_List.json
*/
/**
* Sample code: List all License Profiles.
@@ -253,8 +431,8 @@ import java.util.Arrays;
public final class LicenseProfilesUpdateSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/licenseProfile/
- * LicenseProfile_Update.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * licenseProfile/LicenseProfile_Update.json
*/
/**
* Sample code: Update a License Profile.
@@ -293,7 +471,7 @@ import com.azure.resourcemanager.hybridcompute.models.LicenseType;
public final class LicensesCreateOrUpdateSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/license/
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/license/
* License_CreateOrUpdate.json
*/
/**
@@ -326,7 +504,7 @@ public final class LicensesCreateOrUpdateSamples {
public final class LicensesDeleteSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/license/
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/license/
* License_Delete.json
*/
/**
@@ -349,7 +527,7 @@ public final class LicensesDeleteSamples {
public final class LicensesGetByResourceGroupSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/license/
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/license/
* License_Get.json
*/
/**
@@ -373,7 +551,7 @@ public final class LicensesGetByResourceGroupSamples {
public final class LicensesListSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/license/
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/license/
* License_ListBySubscription.json
*/
/**
@@ -397,7 +575,7 @@ public final class LicensesListSamples {
public final class LicensesListByResourceGroupSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/license/
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/license/
* License_ListByResourceGroup.json
*/
/**
@@ -427,7 +605,7 @@ import com.azure.resourcemanager.hybridcompute.models.LicenseType;
public final class LicensesUpdateSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/license/
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/license/
* License_Update.json
*/
/**
@@ -468,7 +646,7 @@ import com.azure.resourcemanager.hybridcompute.models.LicenseType;
public final class LicensesValidateLicenseSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/license/
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/license/
* License_ValidateLicense.json
*/
/**
@@ -503,8 +681,8 @@ import java.util.Map;
public final class MachineExtensionsCreateOrUpdateSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/extension/
- * Extension_CreateOrUpdate.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * extension/Extension_CreateOrUpdate.json
*/
/**
* Sample code: Create or Update a Machine Extension.
@@ -549,8 +727,8 @@ public final class MachineExtensionsCreateOrUpdateSamples {
public final class MachineExtensionsDeleteSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/extension/
- * Extension_Delete.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * extension/Extension_Delete.json
*/
/**
* Sample code: Delete a Machine Extension.
@@ -572,8 +750,8 @@ public final class MachineExtensionsDeleteSamples {
public final class MachineExtensionsGetSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/extension/
- * Extension_Get.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * extension/Extension_Get.json
*/
/**
* Sample code: GET Machine Extension.
@@ -596,8 +774,8 @@ public final class MachineExtensionsGetSamples {
public final class MachineExtensionsListSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/extension/
- * Extension_List.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * extension/Extension_List.json
*/
/**
* Sample code: GET all Machine Extensions - List.
@@ -624,8 +802,8 @@ import java.util.Map;
public final class MachineExtensionsUpdateSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/extension/
- * Extension_Update.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * extension/Extension_Update.json
*/
/**
* Sample code: Create or Update a Machine Extension.
@@ -661,6 +839,118 @@ public final class MachineExtensionsUpdateSamples {
}
```
+### MachineRunCommands_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.hybridcompute.models.MachineRunCommandScriptSource;
+import com.azure.resourcemanager.hybridcompute.models.RunCommandInputParameter;
+import java.util.Arrays;
+
+/**
+ * Samples for MachineRunCommands CreateOrUpdate.
+ */
+public final class MachineRunCommandsCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file:
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * runCommand/RunCommands_CreateOrUpdate.json
+ */
+ /**
+ * Sample code: Create or Update a Run Command.
+ *
+ * @param manager Entry point to HybridComputeManager.
+ */
+ public static void createOrUpdateARunCommand(com.azure.resourcemanager.hybridcompute.HybridComputeManager manager) {
+ manager.machineRunCommands()
+ .define("myRunCommand")
+ .withRegion("eastus2")
+ .withExistingMachine("myResourceGroup", "myMachine")
+ .withSource(new MachineRunCommandScriptSource().withScript("Write-Host Hello World!"))
+ .withParameters(Arrays.asList(new RunCommandInputParameter().withName("param1").withValue("value1"),
+ new RunCommandInputParameter().withName("param2").withValue("value2")))
+ .withAsyncExecution(false)
+ .withRunAsUser("user1")
+ .withRunAsPassword("")
+ .withTimeoutInSeconds(3600)
+ .withOutputBlobUri(
+ "https://mystorageaccount.blob.core.windows.net/myscriptoutputcontainer/MyScriptoutput.txt")
+ .withErrorBlobUri("https://mystorageaccount.blob.core.windows.net/mycontainer/MyScriptError.txt")
+ .create();
+ }
+}
+```
+
+### MachineRunCommands_Delete
+
+```java
+/**
+ * Samples for MachineRunCommands Delete.
+ */
+public final class MachineRunCommandsDeleteSamples {
+ /*
+ * x-ms-original-file:
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * runCommand/RunCommands_Delete.json
+ */
+ /**
+ * Sample code: Delete a Machine Run Command.
+ *
+ * @param manager Entry point to HybridComputeManager.
+ */
+ public static void deleteAMachineRunCommand(com.azure.resourcemanager.hybridcompute.HybridComputeManager manager) {
+ manager.machineRunCommands()
+ .delete("myResourceGroup", "myMachine", "myRunCommand", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### MachineRunCommands_Get
+
+```java
+/**
+ * Samples for MachineRunCommands Get.
+ */
+public final class MachineRunCommandsGetSamples {
+ /*
+ * x-ms-original-file:
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * runCommand/RunCommands_Get.json
+ */
+ /**
+ * Sample code: Get a Run Command.
+ *
+ * @param manager Entry point to HybridComputeManager.
+ */
+ public static void getARunCommand(com.azure.resourcemanager.hybridcompute.HybridComputeManager manager) {
+ manager.machineRunCommands()
+ .getWithResponse("myResourceGroup", "myMachine", "myRunCommand", com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### MachineRunCommands_List
+
+```java
+/**
+ * Samples for MachineRunCommands List.
+ */
+public final class MachineRunCommandsListSamples {
+ /*
+ * x-ms-original-file:
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * runCommand/RunCommands_List.json
+ */
+ /**
+ * Sample code: GET all Machine Run Commands.
+ *
+ * @param manager Entry point to HybridComputeManager.
+ */
+ public static void gETAllMachineRunCommands(com.azure.resourcemanager.hybridcompute.HybridComputeManager manager) {
+ manager.machineRunCommands().list("myResourceGroup", "myMachine", null, com.azure.core.util.Context.NONE);
+ }
+}
+```
+
### Machines_AssessPatches
```java
@@ -670,7 +960,7 @@ public final class MachineExtensionsUpdateSamples {
public final class MachinesAssessPatchesSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/machine/
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/machine/
* Machine_AssessPatches.json
*/
/**
@@ -694,7 +984,7 @@ public final class MachinesAssessPatchesSamples {
public final class MachinesDeleteSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/machine/
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/machine/
* Machines_Delete.json
*/
/**
@@ -720,7 +1010,7 @@ import com.azure.resourcemanager.hybridcompute.models.InstanceViewTypes;
public final class MachinesGetByResourceGroupSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/machine/
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/machine/
* Machines_Get_LicenseProfileInstanceView.json
*/
/**
@@ -737,7 +1027,7 @@ public final class MachinesGetByResourceGroupSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/machine/
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/machine/
* Machines_Get.json
*/
/**
@@ -769,7 +1059,7 @@ import java.util.Arrays;
public final class MachinesInstallPatchesSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/machine/
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/machine/
* Machine_InstallPatches.json
*/
/**
@@ -801,7 +1091,7 @@ public final class MachinesInstallPatchesSamples {
public final class MachinesListSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/machine/
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/machine/
* Machines_ListBySubscription.json
*/
/**
@@ -825,7 +1115,7 @@ public final class MachinesListSamples {
public final class MachinesListByResourceGroupSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/machine/
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/machine/
* Machines_ListByResourceGroup.json
*/
/**
@@ -849,7 +1139,7 @@ public final class MachinesListByResourceGroupSamples {
public final class NetworkProfileGetSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
* NetworkProfile_Get.json
*/
/**
@@ -872,7 +1162,7 @@ public final class NetworkProfileGetSamples {
public final class NetworkSecurityPerimeterConfigurationsGetByPrivateLinkScopeSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
* networkSecurityPerimeterConfiguration/NetworkSecurityPerimeterConfigurationGet.json
*/
/**
@@ -898,7 +1188,7 @@ public final class NetworkSecurityPerimeterConfigurationsGetByPrivateLinkScopeSa
public final class NetworkSecurityPerimeterConfigurationsListByPrivateLinkScopeSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
* networkSecurityPerimeterConfiguration/NetworkSecurityPerimeterConfigurationList.json
*/
/**
@@ -923,7 +1213,7 @@ public final class NetworkSecurityPerimeterConfigurationsListByPrivateLinkScopeS
public final class NetworkSecurityPerimeterConfigurationsReconcileForPrivateLinkScopeSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
* networkSecurityPerimeterConfiguration/NetworkSecurityPerimeterConfigurationReconcile.json
*/
/**
@@ -949,8 +1239,8 @@ public final class NetworkSecurityPerimeterConfigurationsReconcileForPrivateLink
public final class OperationsListSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/Operations_List.
- * json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * Operations_List.json
*/
/**
* Sample code: List Hybrid Compute Provider Operations.
@@ -976,8 +1266,8 @@ import com.azure.resourcemanager.hybridcompute.models.PrivateLinkServiceConnecti
public final class PrivateEndpointConnectionsCreateOrUpdateSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/privateEndpoint/
- * PrivateEndpointConnection_Update.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * privateEndpoint/PrivateEndpointConnection_Update.json
*/
/**
* Sample code: Approve or reject a private endpoint connection with a given name.
@@ -1006,8 +1296,8 @@ public final class PrivateEndpointConnectionsCreateOrUpdateSamples {
public final class PrivateEndpointConnectionsDeleteSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/privateEndpoint/
- * PrivateEndpointConnection_Delete.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * privateEndpoint/PrivateEndpointConnection_Delete.json
*/
/**
* Sample code: Deletes a private endpoint connection with a given name.
@@ -1032,8 +1322,8 @@ public final class PrivateEndpointConnectionsDeleteSamples {
public final class PrivateEndpointConnectionsGetSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/privateEndpoint/
- * PrivateEndpointConnection_Get.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * privateEndpoint/PrivateEndpointConnection_Get.json
*/
/**
* Sample code: Gets private endpoint connection.
@@ -1058,8 +1348,8 @@ public final class PrivateEndpointConnectionsGetSamples {
public final class PrivateEndpointConnectionsListByPrivateLinkScopeSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/privateEndpoint/
- * PrivateEndpointConnection_List.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * privateEndpoint/PrivateEndpointConnection_List.json
*/
/**
* Sample code: Gets list of private endpoint connections on a private link scope.
@@ -1083,8 +1373,8 @@ public final class PrivateEndpointConnectionsListByPrivateLinkScopeSamples {
public final class PrivateLinkResourcesGetSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/privateLinkScope/
- * PrivateLinkScopePrivateLinkResource_Get.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * privateLinkScope/PrivateLinkScopePrivateLinkResource_Get.json
*/
/**
* Sample code: Gets private endpoint connection.
@@ -1109,8 +1399,8 @@ public final class PrivateLinkResourcesGetSamples {
public final class PrivateLinkResourcesListByPrivateLinkScopeSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/privateLinkScope/
- * PrivateLinkScopePrivateLinkResource_ListGet.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * privateLinkScope/PrivateLinkScopePrivateLinkResource_ListGet.json
*/
/**
* Sample code: Gets private endpoint connection.
@@ -1137,8 +1427,8 @@ import java.util.Map;
public final class PrivateLinkScopesCreateOrUpdateSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/privateLinkScope/
- * PrivateLinkScopes_Create.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * privateLinkScope/PrivateLinkScopes_Create.json
*/
/**
* Sample code: PrivateLinkScopeCreate.
@@ -1155,8 +1445,8 @@ public final class PrivateLinkScopesCreateOrUpdateSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/privateLinkScope/
- * PrivateLinkScopes_Update.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * privateLinkScope/PrivateLinkScopes_Update.json
*/
/**
* Sample code: PrivateLinkScopeUpdate.
@@ -1195,8 +1485,8 @@ public final class PrivateLinkScopesCreateOrUpdateSamples {
public final class PrivateLinkScopesDeleteSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/privateLinkScope/
- * PrivateLinkScopes_Delete.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * privateLinkScope/PrivateLinkScopes_Delete.json
*/
/**
* Sample code: PrivateLinkScopesDelete.
@@ -1219,8 +1509,8 @@ public final class PrivateLinkScopesDeleteSamples {
public final class PrivateLinkScopesGetByResourceGroupSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/privateLinkScope/
- * PrivateLinkScopes_Get.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * privateLinkScope/PrivateLinkScopes_Get.json
*/
/**
* Sample code: PrivateLinkScopeGet.
@@ -1244,8 +1534,8 @@ public final class PrivateLinkScopesGetByResourceGroupSamples {
public final class PrivateLinkScopesGetValidationDetailsSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/privateLinkScope/
- * PrivateLinkScopes_GetValidation.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * privateLinkScope/PrivateLinkScopes_GetValidation.json
*/
/**
* Sample code: PrivateLinkScopeGet.
@@ -1269,8 +1559,8 @@ public final class PrivateLinkScopesGetValidationDetailsSamples {
public final class PrivateLinkScopesGetValidationDetailsForMachineSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/privateLinkScope/
- * PrivateLinkScopes_GetValidationForMachine.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * privateLinkScope/PrivateLinkScopes_GetValidationForMachine.json
*/
/**
* Sample code: PrivateLinkScopeGet.
@@ -1294,8 +1584,8 @@ public final class PrivateLinkScopesGetValidationDetailsForMachineSamples {
public final class PrivateLinkScopesListSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/privateLinkScope/
- * PrivateLinkScopes_List.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * privateLinkScope/PrivateLinkScopes_List.json
*/
/**
* Sample code: PrivateLinkScopesList.json.
@@ -1317,8 +1607,8 @@ public final class PrivateLinkScopesListSamples {
public final class PrivateLinkScopesListByResourceGroupSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/privateLinkScope/
- * PrivateLinkScopes_ListByResourceGroup.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * privateLinkScope/PrivateLinkScopes_ListByResourceGroup.json
*/
/**
* Sample code: PrivateLinkScopeListByResourceGroup.
@@ -1345,8 +1635,8 @@ import java.util.Map;
public final class PrivateLinkScopesUpdateTagsSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/privateLinkScope/
- * PrivateLinkScopes_UpdateTagsOnly.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * privateLinkScope/PrivateLinkScopes_UpdateTagsOnly.json
*/
/**
* Sample code: PrivateLinkScopeUpdateTagsOnly.
@@ -1390,8 +1680,8 @@ import java.util.Map;
public final class ResourceProviderUpgradeExtensionsSamples {
/*
* x-ms-original-file:
- * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2024-07-10/examples/extension/
- * Extensions_Upgrade.json
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/
+ * extension/Extensions_Upgrade.json
*/
/**
* Sample code: Upgrade Machine Extensions.
@@ -1421,3 +1711,87 @@ public final class ResourceProviderUpgradeExtensionsSamples {
}
```
+### SettingsOperation_Get
+
+```java
+/**
+ * Samples for SettingsOperation Get.
+ */
+public final class SettingsOperationGetSamples {
+ /*
+ * x-ms-original-file:
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/settings
+ * /SettingsGet.json
+ */
+ /**
+ * Sample code: NetworkConfigurationsGet.
+ *
+ * @param manager Entry point to HybridComputeManager.
+ */
+ public static void networkConfigurationsGet(com.azure.resourcemanager.hybridcompute.HybridComputeManager manager) {
+ manager.settingsOperations()
+ .getWithResponse("hybridRG", "Microsoft.HybridCompute", "machines", "testMachine", "default",
+ com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### SettingsOperation_Patch
+
+```java
+import com.azure.resourcemanager.hybridcompute.fluent.models.SettingsInner;
+
+/**
+ * Samples for SettingsOperation Patch.
+ */
+public final class SettingsOperationPatchSamples {
+ /*
+ * x-ms-original-file:
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/settings
+ * /SettingsPatch.json
+ */
+ /**
+ * Sample code: NetworkConfigurationsPatch.
+ *
+ * @param manager Entry point to HybridComputeManager.
+ */
+ public static void
+ networkConfigurationsPatch(com.azure.resourcemanager.hybridcompute.HybridComputeManager manager) {
+ manager.settingsOperations()
+ .patchWithResponse("hybridRG", "Microsoft.HybridCompute", "machines", "testMachine", "default",
+ new SettingsInner().withGatewayResourceId(
+ "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/gateways/newGateway"),
+ com.azure.core.util.Context.NONE);
+ }
+}
+```
+
+### SettingsOperation_Update
+
+```java
+import com.azure.resourcemanager.hybridcompute.fluent.models.SettingsInner;
+
+/**
+ * Samples for SettingsOperation Update.
+ */
+public final class SettingsOperationUpdateSamples {
+ /*
+ * x-ms-original-file:
+ * specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2024-07-31-preview/examples/settings
+ * /SettingsUpdate.json
+ */
+ /**
+ * Sample code: SettingsUpdate.
+ *
+ * @param manager Entry point to HybridComputeManager.
+ */
+ public static void settingsUpdate(com.azure.resourcemanager.hybridcompute.HybridComputeManager manager) {
+ manager.settingsOperations()
+ .updateWithResponse("hybridRG", "Microsoft.HybridCompute", "machines", "testMachine", "default",
+ new SettingsInner().withGatewayResourceId(
+ "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/gateways/newGateway"),
+ com.azure.core.util.Context.NONE);
+ }
+}
+```
+
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/pom.xml b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/pom.xml
index 812d77c2182fd..dfecf0c2015bf 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/pom.xml
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/pom.xml
@@ -18,7 +18,7 @@
jar
Microsoft Azure SDK for HybridCompute Management
- This package contains Microsoft Azure SDK for HybridCompute Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. The Hybrid Compute Management Client. Package tag package-2024-07.
+ This package contains Microsoft Azure SDK for HybridCompute Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. The Hybrid Compute Management Client. Package tag package-preview-2024-07.
https://github.com/Azure/azure-sdk-for-java
@@ -45,6 +45,8 @@
UTF-8
0
0
+ true
+ false
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/HybridComputeManager.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/HybridComputeManager.java
index 9475f7c83b6ef..8d0c679dcbe15 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/HybridComputeManager.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/HybridComputeManager.java
@@ -11,6 +11,7 @@
import com.azure.core.http.HttpPipelinePosition;
import com.azure.core.http.policy.AddDatePolicy;
import com.azure.core.http.policy.AddHeadersFromContextPolicy;
+import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
import com.azure.core.http.policy.HttpLogOptions;
import com.azure.core.http.policy.HttpLoggingPolicy;
import com.azure.core.http.policy.HttpPipelinePolicy;
@@ -19,16 +20,17 @@
import com.azure.core.http.policy.RetryOptions;
import com.azure.core.http.policy.RetryPolicy;
import com.azure.core.http.policy.UserAgentPolicy;
-import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy;
import com.azure.core.management.profile.AzureProfile;
import com.azure.core.util.Configuration;
import com.azure.core.util.logging.ClientLogger;
import com.azure.resourcemanager.hybridcompute.fluent.HybridComputeManagementClient;
import com.azure.resourcemanager.hybridcompute.implementation.ExtensionMetadatasImpl;
+import com.azure.resourcemanager.hybridcompute.implementation.GatewaysImpl;
import com.azure.resourcemanager.hybridcompute.implementation.HybridComputeManagementClientBuilder;
import com.azure.resourcemanager.hybridcompute.implementation.LicenseProfilesImpl;
import com.azure.resourcemanager.hybridcompute.implementation.LicensesImpl;
import com.azure.resourcemanager.hybridcompute.implementation.MachineExtensionsImpl;
+import com.azure.resourcemanager.hybridcompute.implementation.MachineRunCommandsImpl;
import com.azure.resourcemanager.hybridcompute.implementation.MachinesImpl;
import com.azure.resourcemanager.hybridcompute.implementation.NetworkProfilesImpl;
import com.azure.resourcemanager.hybridcompute.implementation.NetworkSecurityPerimeterConfigurationsImpl;
@@ -37,10 +39,13 @@
import com.azure.resourcemanager.hybridcompute.implementation.PrivateLinkResourcesImpl;
import com.azure.resourcemanager.hybridcompute.implementation.PrivateLinkScopesImpl;
import com.azure.resourcemanager.hybridcompute.implementation.ResourceProvidersImpl;
+import com.azure.resourcemanager.hybridcompute.implementation.SettingsOperationsImpl;
import com.azure.resourcemanager.hybridcompute.models.ExtensionMetadatas;
+import com.azure.resourcemanager.hybridcompute.models.Gateways;
import com.azure.resourcemanager.hybridcompute.models.LicenseProfiles;
import com.azure.resourcemanager.hybridcompute.models.Licenses;
import com.azure.resourcemanager.hybridcompute.models.MachineExtensions;
+import com.azure.resourcemanager.hybridcompute.models.MachineRunCommands;
import com.azure.resourcemanager.hybridcompute.models.Machines;
import com.azure.resourcemanager.hybridcompute.models.NetworkProfiles;
import com.azure.resourcemanager.hybridcompute.models.NetworkSecurityPerimeterConfigurations;
@@ -49,6 +54,7 @@
import com.azure.resourcemanager.hybridcompute.models.PrivateLinkResources;
import com.azure.resourcemanager.hybridcompute.models.PrivateLinkScopes;
import com.azure.resourcemanager.hybridcompute.models.ResourceProviders;
+import com.azure.resourcemanager.hybridcompute.models.SettingsOperations;
import java.time.Duration;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
@@ -77,6 +83,12 @@ public final class HybridComputeManager {
private NetworkProfiles networkProfiles;
+ private MachineRunCommands machineRunCommands;
+
+ private Gateways gateways;
+
+ private SettingsOperations settingsOperations;
+
private PrivateLinkScopes privateLinkScopes;
private PrivateLinkResources privateLinkResources;
@@ -249,7 +261,7 @@ public HybridComputeManager authenticate(TokenCredential credential, AzureProfil
.append("-")
.append("com.azure.resourcemanager.hybridcompute")
.append("/")
- .append("1.0.0");
+ .append("1.1.0-beta.1");
if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) {
userAgentBuilder.append(" (")
.append(Configuration.getGlobalConfiguration().get("java.version"))
@@ -282,7 +294,7 @@ public HybridComputeManager authenticate(TokenCredential credential, AzureProfil
HttpPolicyProviders.addBeforeRetryPolicies(policies);
policies.add(retryPolicy);
policies.add(new AddDatePolicy());
- policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies.add(new BearerTokenAuthenticationPolicy(credential, scopes.toArray(new String[0])));
policies.addAll(this.policies.stream()
.filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
.collect(Collectors.toList()));
@@ -391,6 +403,42 @@ public NetworkProfiles networkProfiles() {
return networkProfiles;
}
+ /**
+ * Gets the resource collection API of MachineRunCommands. It manages MachineRunCommand.
+ *
+ * @return Resource collection API of MachineRunCommands.
+ */
+ public MachineRunCommands machineRunCommands() {
+ if (this.machineRunCommands == null) {
+ this.machineRunCommands = new MachineRunCommandsImpl(clientObject.getMachineRunCommands(), this);
+ }
+ return machineRunCommands;
+ }
+
+ /**
+ * Gets the resource collection API of Gateways. It manages Gateway.
+ *
+ * @return Resource collection API of Gateways.
+ */
+ public Gateways gateways() {
+ if (this.gateways == null) {
+ this.gateways = new GatewaysImpl(clientObject.getGateways(), this);
+ }
+ return gateways;
+ }
+
+ /**
+ * Gets the resource collection API of SettingsOperations.
+ *
+ * @return Resource collection API of SettingsOperations.
+ */
+ public SettingsOperations settingsOperations() {
+ if (this.settingsOperations == null) {
+ this.settingsOperations = new SettingsOperationsImpl(clientObject.getSettingsOperations(), this);
+ }
+ return settingsOperations;
+ }
+
/**
* Gets the resource collection API of PrivateLinkScopes. It manages HybridComputePrivateLinkScope.
*
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/GatewaysClient.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/GatewaysClient.java
new file mode 100644
index 0000000000000..cdb671bccda7e
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/GatewaysClient.java
@@ -0,0 +1,237 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.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.hybridcompute.fluent.models.GatewayInner;
+import com.azure.resourcemanager.hybridcompute.models.GatewayUpdate;
+
+/**
+ * An instance of this class provides access to all the operations defined in GatewaysClient.
+ */
+public interface GatewaysClient {
+ /**
+ * The operation to create or update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Create gateway 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 describes an Arc Gateway.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, GatewayInner> beginCreateOrUpdate(String resourceGroupName, String gatewayName,
+ GatewayInner parameters);
+
+ /**
+ * The operation to create or update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Create gateway operation.
+ * @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 describes an Arc Gateway.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, GatewayInner> beginCreateOrUpdate(String resourceGroupName, String gatewayName,
+ GatewayInner parameters, Context context);
+
+ /**
+ * The operation to create or update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Create gateway 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 describes an Arc Gateway.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GatewayInner createOrUpdate(String resourceGroupName, String gatewayName, GatewayInner parameters);
+
+ /**
+ * The operation to create or update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Create gateway operation.
+ * @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 describes an Arc Gateway.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GatewayInner createOrUpdate(String resourceGroupName, String gatewayName, GatewayInner parameters, Context context);
+
+ /**
+ * The operation to update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Update gateway operation.
+ * @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 describes an Arc Gateway along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(String resourceGroupName, String gatewayName, GatewayUpdate parameters,
+ Context context);
+
+ /**
+ * The operation to update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Update gateway 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 describes an Arc Gateway.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GatewayInner update(String resourceGroupName, String gatewayName, GatewayUpdate parameters);
+
+ /**
+ * Retrieves information about the view of a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 describes an Arc Gateway along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String gatewayName,
+ Context context);
+
+ /**
+ * Retrieves information about the view of a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 describes an Arc Gateway.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GatewayInner getByResourceGroup(String resourceGroupName, String gatewayName);
+
+ /**
+ * The operation to delete a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 gatewayName);
+
+ /**
+ * The operation to delete a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 gatewayName, Context context);
+
+ /**
+ * The operation to delete a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 gatewayName);
+
+ /**
+ * The operation to delete a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 gatewayName, Context context);
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/HybridComputeManagementClient.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/HybridComputeManagementClient.java
index f63d1c882ebd8..0f6a42748f2a9 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/HybridComputeManagementClient.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/HybridComputeManagementClient.java
@@ -102,6 +102,27 @@ public interface HybridComputeManagementClient {
*/
NetworkProfilesClient getNetworkProfiles();
+ /**
+ * Gets the MachineRunCommandsClient object to access its operations.
+ *
+ * @return the MachineRunCommandsClient object.
+ */
+ MachineRunCommandsClient getMachineRunCommands();
+
+ /**
+ * Gets the GatewaysClient object to access its operations.
+ *
+ * @return the GatewaysClient object.
+ */
+ GatewaysClient getGateways();
+
+ /**
+ * Gets the SettingsOperationsClient object to access its operations.
+ *
+ * @return the SettingsOperationsClient object.
+ */
+ SettingsOperationsClient getSettingsOperations();
+
/**
* Gets the PrivateLinkScopesClient object to access its operations.
*
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/MachineExtensionsClient.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/MachineExtensionsClient.java
index 8a3dbc14fa0e8..a2cfd8312a9c6 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/MachineExtensionsClient.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/MachineExtensionsClient.java
@@ -85,7 +85,7 @@ MachineExtensionInner createOrUpdate(String resourceGroupName, String machineNam
MachineExtensionInner extensionParameters, Context context);
/**
- * The operation to update the extension.
+ * The operation to create or update the extension.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param machineName The name of the machine where the extension should be created or updated.
@@ -101,7 +101,7 @@ SyncPoller, MachineExtensionInner> beginUpdate
String machineName, String extensionName, MachineExtensionUpdate extensionParameters);
/**
- * The operation to update the extension.
+ * The operation to create or update the extension.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param machineName The name of the machine where the extension should be created or updated.
@@ -118,7 +118,7 @@ SyncPoller, MachineExtensionInner> beginUpdate
String machineName, String extensionName, MachineExtensionUpdate extensionParameters, Context context);
/**
- * The operation to update the extension.
+ * The operation to create or update the extension.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param machineName The name of the machine where the extension should be created or updated.
@@ -134,7 +134,7 @@ MachineExtensionInner update(String resourceGroupName, String machineName, Strin
MachineExtensionUpdate extensionParameters);
/**
- * The operation to update the extension.
+ * The operation to create or update the extension.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param machineName The name of the machine where the extension should be created or updated.
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/MachineRunCommandsClient.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/MachineRunCommandsClient.java
new file mode 100644
index 0000000000000..67f1c56883fdd
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/MachineRunCommandsClient.java
@@ -0,0 +1,201 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.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.hybridcompute.fluent.models.MachineRunCommandInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in MachineRunCommandsClient.
+ */
+public interface MachineRunCommandsClient {
+ /**
+ * The operation to create or update a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @param runCommandProperties Parameters supplied to the Create Run Command.
+ * @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 describes a Run Command.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MachineRunCommandInner> beginCreateOrUpdate(String resourceGroupName,
+ String machineName, String runCommandName, MachineRunCommandInner runCommandProperties);
+
+ /**
+ * The operation to create or update a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @param runCommandProperties Parameters supplied to the Create Run Command.
+ * @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 describes a Run Command.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MachineRunCommandInner> beginCreateOrUpdate(String resourceGroupName,
+ String machineName, String runCommandName, MachineRunCommandInner runCommandProperties, Context context);
+
+ /**
+ * The operation to create or update a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @param runCommandProperties Parameters supplied to the Create Run Command.
+ * @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 describes a Run Command.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MachineRunCommandInner createOrUpdate(String resourceGroupName, String machineName, String runCommandName,
+ MachineRunCommandInner runCommandProperties);
+
+ /**
+ * The operation to create or update a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @param runCommandProperties Parameters supplied to the Create Run Command.
+ * @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 describes a Run Command.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MachineRunCommandInner createOrUpdate(String resourceGroupName, String machineName, String runCommandName,
+ MachineRunCommandInner runCommandProperties, Context context);
+
+ /**
+ * The operation to delete a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 machineName, String runCommandName);
+
+ /**
+ * The operation to delete a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 machineName, String runCommandName,
+ Context context);
+
+ /**
+ * The operation to delete a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 machineName, String runCommandName);
+
+ /**
+ * The operation to delete a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 machineName, String runCommandName, Context context);
+
+ /**
+ * The operation to get a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 describes a Run Command along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String machineName,
+ String runCommandName, Context context);
+
+ /**
+ * The operation to get a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 describes a Run Command.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MachineRunCommandInner get(String resourceGroupName, String machineName, String runCommandName);
+
+ /**
+ * The operation to get all the run commands of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 describes the Run Commands List Result as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String machineName);
+
+ /**
+ * The operation to get all the run commands of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param expand The expand expression to apply on the operation.
+ * @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 describes the Run Commands List Result as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String machineName, String expand,
+ Context context);
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/SettingsOperationsClient.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/SettingsOperationsClient.java
new file mode 100644
index 0000000000000..3e3fa0f8b16de
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/SettingsOperationsClient.java
@@ -0,0 +1,125 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.hybridcompute.fluent.models.SettingsInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in SettingsOperationsClient.
+ */
+public interface SettingsOperationsClient {
+ /**
+ * Returns the base Settings for the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @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 body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String baseProvider, String baseResourceType,
+ String baseResourceName, String settingsResourceName, Context context);
+
+ /**
+ * Returns the base Settings for the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SettingsInner get(String resourceGroupName, String baseProvider, String baseResourceType, String baseResourceName,
+ String settingsResourceName);
+
+ /**
+ * Updates the base Settings of the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @param parameters Settings details.
+ * @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 body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(String resourceGroupName, String baseProvider, String baseResourceType,
+ String baseResourceName, String settingsResourceName, SettingsInner parameters, Context context);
+
+ /**
+ * Updates the base Settings of the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @param parameters Settings details.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SettingsInner update(String resourceGroupName, String baseProvider, String baseResourceType,
+ String baseResourceName, String settingsResourceName, SettingsInner parameters);
+
+ /**
+ * Update the base Settings of the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @param parameters Settings details.
+ * @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 body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response patchWithResponse(String resourceGroupName, String baseProvider, String baseResourceType,
+ String baseResourceName, String settingsResourceName, SettingsInner parameters, Context context);
+
+ /**
+ * Update the base Settings of the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @param parameters Settings details.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SettingsInner patch(String resourceGroupName, String baseProvider, String baseResourceType, String baseResourceName,
+ String settingsResourceName, SettingsInner parameters);
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/GatewayInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/GatewayInner.java
new file mode 100644
index 0000000000000..5816a0fcdc145
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/GatewayInner.java
@@ -0,0 +1,256 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.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.hybridcompute.models.GatewayType;
+import com.azure.resourcemanager.hybridcompute.models.ProvisioningState;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Describes an Arc Gateway.
+ */
+@Fluent
+public final class GatewayInner extends Resource {
+ /*
+ * Hybrid Compute Gateway properties
+ */
+ private GatewayProperties innerProperties;
+
+ /*
+ * 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 GatewayInner class.
+ */
+ public GatewayInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Hybrid Compute Gateway properties.
+ *
+ * @return the innerProperties value.
+ */
+ private GatewayProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * 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 GatewayInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public GatewayInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state, which only appears in the response.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the gatewayId property: A unique, immutable, identifier for the Gateway.
+ *
+ * @return the gatewayId value.
+ */
+ public String gatewayId() {
+ return this.innerProperties() == null ? null : this.innerProperties().gatewayId();
+ }
+
+ /**
+ * Get the gatewayType property: The type of the Gateway resource.
+ *
+ * @return the gatewayType value.
+ */
+ public GatewayType gatewayType() {
+ return this.innerProperties() == null ? null : this.innerProperties().gatewayType();
+ }
+
+ /**
+ * Set the gatewayType property: The type of the Gateway resource.
+ *
+ * @param gatewayType the gatewayType value to set.
+ * @return the GatewayInner object itself.
+ */
+ public GatewayInner withGatewayType(GatewayType gatewayType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new GatewayProperties();
+ }
+ this.innerProperties().withGatewayType(gatewayType);
+ return this;
+ }
+
+ /**
+ * Get the gatewayEndpoint property: The endpoint fqdn for the Gateway.
+ *
+ * @return the gatewayEndpoint value.
+ */
+ public String gatewayEndpoint() {
+ return this.innerProperties() == null ? null : this.innerProperties().gatewayEndpoint();
+ }
+
+ /**
+ * Get the allowedFeatures property: Specifies the list of features that are enabled for this Gateway.
+ *
+ * @return the allowedFeatures value.
+ */
+ public List allowedFeatures() {
+ return this.innerProperties() == null ? null : this.innerProperties().allowedFeatures();
+ }
+
+ /**
+ * Set the allowedFeatures property: Specifies the list of features that are enabled for this Gateway.
+ *
+ * @param allowedFeatures the allowedFeatures value to set.
+ * @return the GatewayInner object itself.
+ */
+ public GatewayInner withAllowedFeatures(List allowedFeatures) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new GatewayProperties();
+ }
+ this.innerProperties().withAllowedFeatures(allowedFeatures);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@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.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of GatewayInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of GatewayInner 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 GatewayInner.
+ */
+ public static GatewayInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ GatewayInner deserializedGatewayInner = new GatewayInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedGatewayInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedGatewayInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedGatewayInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedGatewayInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedGatewayInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedGatewayInner.innerProperties = GatewayProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedGatewayInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedGatewayInner;
+ });
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/GatewayProperties.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/GatewayProperties.java
new file mode 100644
index 0000000000000..b83f7e5064984
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/GatewayProperties.java
@@ -0,0 +1,174 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.hybridcompute.models.GatewayType;
+import com.azure.resourcemanager.hybridcompute.models.ProvisioningState;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Describes the properties of a Gateway Profile.
+ */
+@Fluent
+public final class GatewayProperties implements JsonSerializable {
+ /*
+ * The provisioning state, which only appears in the response.
+ */
+ private ProvisioningState provisioningState;
+
+ /*
+ * A unique, immutable, identifier for the Gateway.
+ */
+ private String gatewayId;
+
+ /*
+ * The type of the Gateway resource.
+ */
+ private GatewayType gatewayType;
+
+ /*
+ * The endpoint fqdn for the Gateway.
+ */
+ private String gatewayEndpoint;
+
+ /*
+ * Specifies the list of features that are enabled for this Gateway.
+ */
+ private List allowedFeatures;
+
+ /**
+ * Creates an instance of GatewayProperties class.
+ */
+ public GatewayProperties() {
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state, which only appears in the response.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the gatewayId property: A unique, immutable, identifier for the Gateway.
+ *
+ * @return the gatewayId value.
+ */
+ public String gatewayId() {
+ return this.gatewayId;
+ }
+
+ /**
+ * Get the gatewayType property: The type of the Gateway resource.
+ *
+ * @return the gatewayType value.
+ */
+ public GatewayType gatewayType() {
+ return this.gatewayType;
+ }
+
+ /**
+ * Set the gatewayType property: The type of the Gateway resource.
+ *
+ * @param gatewayType the gatewayType value to set.
+ * @return the GatewayProperties object itself.
+ */
+ public GatewayProperties withGatewayType(GatewayType gatewayType) {
+ this.gatewayType = gatewayType;
+ return this;
+ }
+
+ /**
+ * Get the gatewayEndpoint property: The endpoint fqdn for the Gateway.
+ *
+ * @return the gatewayEndpoint value.
+ */
+ public String gatewayEndpoint() {
+ return this.gatewayEndpoint;
+ }
+
+ /**
+ * Get the allowedFeatures property: Specifies the list of features that are enabled for this Gateway.
+ *
+ * @return the allowedFeatures value.
+ */
+ public List allowedFeatures() {
+ return this.allowedFeatures;
+ }
+
+ /**
+ * Set the allowedFeatures property: Specifies the list of features that are enabled for this Gateway.
+ *
+ * @param allowedFeatures the allowedFeatures value to set.
+ * @return the GatewayProperties object itself.
+ */
+ public GatewayProperties withAllowedFeatures(List allowedFeatures) {
+ this.allowedFeatures = allowedFeatures;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("gatewayType", this.gatewayType == null ? null : this.gatewayType.toString());
+ jsonWriter.writeArrayField("allowedFeatures", this.allowedFeatures,
+ (writer, element) -> writer.writeString(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of GatewayProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of GatewayProperties 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 GatewayProperties.
+ */
+ public static GatewayProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ GatewayProperties deserializedGatewayProperties = new GatewayProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("provisioningState".equals(fieldName)) {
+ deserializedGatewayProperties.provisioningState = ProvisioningState.fromString(reader.getString());
+ } else if ("gatewayId".equals(fieldName)) {
+ deserializedGatewayProperties.gatewayId = reader.getString();
+ } else if ("gatewayType".equals(fieldName)) {
+ deserializedGatewayProperties.gatewayType = GatewayType.fromString(reader.getString());
+ } else if ("gatewayEndpoint".equals(fieldName)) {
+ deserializedGatewayProperties.gatewayEndpoint = reader.getString();
+ } else if ("allowedFeatures".equals(fieldName)) {
+ List allowedFeatures = reader.readArray(reader1 -> reader1.getString());
+ deserializedGatewayProperties.allowedFeatures = allowedFeatures;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedGatewayProperties;
+ });
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/GatewayUpdateProperties.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/GatewayUpdateProperties.java
new file mode 100644
index 0000000000000..98a1c16497c30
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/GatewayUpdateProperties.java
@@ -0,0 +1,96 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Describes the Update properties of a Gateway Profile.
+ */
+@Fluent
+public final class GatewayUpdateProperties implements JsonSerializable {
+ /*
+ * Specifies the list of features that are enabled for this Gateway.
+ */
+ private List allowedFeatures;
+
+ /**
+ * Creates an instance of GatewayUpdateProperties class.
+ */
+ public GatewayUpdateProperties() {
+ }
+
+ /**
+ * Get the allowedFeatures property: Specifies the list of features that are enabled for this Gateway.
+ *
+ * @return the allowedFeatures value.
+ */
+ public List allowedFeatures() {
+ return this.allowedFeatures;
+ }
+
+ /**
+ * Set the allowedFeatures property: Specifies the list of features that are enabled for this Gateway.
+ *
+ * @param allowedFeatures the allowedFeatures value to set.
+ * @return the GatewayUpdateProperties object itself.
+ */
+ public GatewayUpdateProperties withAllowedFeatures(List allowedFeatures) {
+ this.allowedFeatures = allowedFeatures;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("allowedFeatures", this.allowedFeatures,
+ (writer, element) -> writer.writeString(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of GatewayUpdateProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of GatewayUpdateProperties 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 GatewayUpdateProperties.
+ */
+ public static GatewayUpdateProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ GatewayUpdateProperties deserializedGatewayUpdateProperties = new GatewayUpdateProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("allowedFeatures".equals(fieldName)) {
+ List allowedFeatures = reader.readArray(reader1 -> reader1.getString());
+ deserializedGatewayUpdateProperties.allowedFeatures = allowedFeatures;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedGatewayUpdateProperties;
+ });
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineInner.java
index 2ccba31fa1375..bf20841981bde 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineInner.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineInner.java
@@ -15,12 +15,15 @@
import com.azure.resourcemanager.hybridcompute.models.AgentUpgrade;
import com.azure.resourcemanager.hybridcompute.models.ArcKindEnum;
import com.azure.resourcemanager.hybridcompute.models.CloudMetadata;
+import com.azure.resourcemanager.hybridcompute.models.FirmwareProfile;
+import com.azure.resourcemanager.hybridcompute.models.HardwareProfile;
import com.azure.resourcemanager.hybridcompute.models.Identity;
import com.azure.resourcemanager.hybridcompute.models.LocationData;
import com.azure.resourcemanager.hybridcompute.models.MachineExtensionInstanceView;
import com.azure.resourcemanager.hybridcompute.models.OSProfile;
import com.azure.resourcemanager.hybridcompute.models.ServiceStatuses;
import com.azure.resourcemanager.hybridcompute.models.StatusTypes;
+import com.azure.resourcemanager.hybridcompute.models.StorageProfile;
import java.io.IOException;
import java.time.OffsetDateTime;
import java.util.List;
@@ -251,6 +254,33 @@ public MachineInner withServiceStatuses(ServiceStatuses serviceStatuses) {
return this;
}
+ /**
+ * Get the hardwareProfile property: Information about the machine's hardware.
+ *
+ * @return the hardwareProfile value.
+ */
+ public HardwareProfile hardwareProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().hardwareProfile();
+ }
+
+ /**
+ * Get the storageProfile property: Information about the machine's storage.
+ *
+ * @return the storageProfile value.
+ */
+ public StorageProfile storageProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().storageProfile();
+ }
+
+ /**
+ * Get the firmwareProfile property: Information about the machine's firmware.
+ *
+ * @return the firmwareProfile value.
+ */
+ public FirmwareProfile firmwareProfile() {
+ return this.innerProperties() == null ? null : this.innerProperties().firmwareProfile();
+ }
+
/**
* Get the cloudMetadata property: The metadata of the cloud environment (Azure/GCP/AWS/OCI...).
*
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachinePropertiesInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachinePropertiesInner.java
index faff937dc78ac..372e36ac07142 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachinePropertiesInner.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachinePropertiesInner.java
@@ -14,11 +14,14 @@
import com.azure.resourcemanager.hybridcompute.models.AgentConfiguration;
import com.azure.resourcemanager.hybridcompute.models.AgentUpgrade;
import com.azure.resourcemanager.hybridcompute.models.CloudMetadata;
+import com.azure.resourcemanager.hybridcompute.models.FirmwareProfile;
+import com.azure.resourcemanager.hybridcompute.models.HardwareProfile;
import com.azure.resourcemanager.hybridcompute.models.LocationData;
import com.azure.resourcemanager.hybridcompute.models.MachineExtensionInstanceView;
import com.azure.resourcemanager.hybridcompute.models.OSProfile;
import com.azure.resourcemanager.hybridcompute.models.ServiceStatuses;
import com.azure.resourcemanager.hybridcompute.models.StatusTypes;
+import com.azure.resourcemanager.hybridcompute.models.StorageProfile;
import java.io.IOException;
import java.time.OffsetDateTime;
import java.util.List;
@@ -46,6 +49,21 @@ public final class MachinePropertiesInner implements JsonSerializable tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the source property: The source of the run command script.
+ *
+ * @return the source value.
+ */
+ public MachineRunCommandScriptSource source() {
+ return this.innerProperties() == null ? null : this.innerProperties().source();
+ }
+
+ /**
+ * Set the source property: The source of the run command script.
+ *
+ * @param source the source value to set.
+ * @return the MachineRunCommandInner object itself.
+ */
+ public MachineRunCommandInner withSource(MachineRunCommandScriptSource source) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachineRunCommandProperties();
+ }
+ this.innerProperties().withSource(source);
+ return this;
+ }
+
+ /**
+ * Get the parameters property: The parameters used by the script.
+ *
+ * @return the parameters value.
+ */
+ public List parameters() {
+ return this.innerProperties() == null ? null : this.innerProperties().parameters();
+ }
+
+ /**
+ * Set the parameters property: The parameters used by the script.
+ *
+ * @param parameters the parameters value to set.
+ * @return the MachineRunCommandInner object itself.
+ */
+ public MachineRunCommandInner withParameters(List parameters) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachineRunCommandProperties();
+ }
+ this.innerProperties().withParameters(parameters);
+ return this;
+ }
+
+ /**
+ * Get the protectedParameters property: The parameters used by the script.
+ *
+ * @return the protectedParameters value.
+ */
+ public List protectedParameters() {
+ return this.innerProperties() == null ? null : this.innerProperties().protectedParameters();
+ }
+
+ /**
+ * Set the protectedParameters property: The parameters used by the script.
+ *
+ * @param protectedParameters the protectedParameters value to set.
+ * @return the MachineRunCommandInner object itself.
+ */
+ public MachineRunCommandInner withProtectedParameters(List protectedParameters) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachineRunCommandProperties();
+ }
+ this.innerProperties().withProtectedParameters(protectedParameters);
+ return this;
+ }
+
+ /**
+ * Get the asyncExecution property: Optional. If set to true, provisioning will complete as soon as script starts
+ * and will not wait for script to complete.
+ *
+ * @return the asyncExecution value.
+ */
+ public Boolean asyncExecution() {
+ return this.innerProperties() == null ? null : this.innerProperties().asyncExecution();
+ }
+
+ /**
+ * Set the asyncExecution property: Optional. If set to true, provisioning will complete as soon as script starts
+ * and will not wait for script to complete.
+ *
+ * @param asyncExecution the asyncExecution value to set.
+ * @return the MachineRunCommandInner object itself.
+ */
+ public MachineRunCommandInner withAsyncExecution(Boolean asyncExecution) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachineRunCommandProperties();
+ }
+ this.innerProperties().withAsyncExecution(asyncExecution);
+ return this;
+ }
+
+ /**
+ * Get the runAsUser property: Specifies the user account on the machine when executing the run command.
+ *
+ * @return the runAsUser value.
+ */
+ public String runAsUser() {
+ return this.innerProperties() == null ? null : this.innerProperties().runAsUser();
+ }
+
+ /**
+ * Set the runAsUser property: Specifies the user account on the machine when executing the run command.
+ *
+ * @param runAsUser the runAsUser value to set.
+ * @return the MachineRunCommandInner object itself.
+ */
+ public MachineRunCommandInner withRunAsUser(String runAsUser) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachineRunCommandProperties();
+ }
+ this.innerProperties().withRunAsUser(runAsUser);
+ return this;
+ }
+
+ /**
+ * Get the runAsPassword property: Specifies the user account password on the machine when executing the run
+ * command.
+ *
+ * @return the runAsPassword value.
+ */
+ public String runAsPassword() {
+ return this.innerProperties() == null ? null : this.innerProperties().runAsPassword();
+ }
+
+ /**
+ * Set the runAsPassword property: Specifies the user account password on the machine when executing the run
+ * command.
+ *
+ * @param runAsPassword the runAsPassword value to set.
+ * @return the MachineRunCommandInner object itself.
+ */
+ public MachineRunCommandInner withRunAsPassword(String runAsPassword) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachineRunCommandProperties();
+ }
+ this.innerProperties().withRunAsPassword(runAsPassword);
+ return this;
+ }
+
+ /**
+ * Get the timeoutInSeconds property: The timeout in seconds to execute the run command.
+ *
+ * @return the timeoutInSeconds value.
+ */
+ public Integer timeoutInSeconds() {
+ return this.innerProperties() == null ? null : this.innerProperties().timeoutInSeconds();
+ }
+
+ /**
+ * Set the timeoutInSeconds property: The timeout in seconds to execute the run command.
+ *
+ * @param timeoutInSeconds the timeoutInSeconds value to set.
+ * @return the MachineRunCommandInner object itself.
+ */
+ public MachineRunCommandInner withTimeoutInSeconds(Integer timeoutInSeconds) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachineRunCommandProperties();
+ }
+ this.innerProperties().withTimeoutInSeconds(timeoutInSeconds);
+ return this;
+ }
+
+ /**
+ * Get the outputBlobUri property: Specifies the Azure storage blob where script output stream will be uploaded. Use
+ * a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob.
+ * Refer outputBlobManagedIdentity parameter.
+ *
+ * @return the outputBlobUri value.
+ */
+ public String outputBlobUri() {
+ return this.innerProperties() == null ? null : this.innerProperties().outputBlobUri();
+ }
+
+ /**
+ * Set the outputBlobUri property: Specifies the Azure storage blob where script output stream will be uploaded. Use
+ * a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob.
+ * Refer outputBlobManagedIdentity parameter.
+ *
+ * @param outputBlobUri the outputBlobUri value to set.
+ * @return the MachineRunCommandInner object itself.
+ */
+ public MachineRunCommandInner withOutputBlobUri(String outputBlobUri) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachineRunCommandProperties();
+ }
+ this.innerProperties().withOutputBlobUri(outputBlobUri);
+ return this;
+ }
+
+ /**
+ * Get the errorBlobUri property: Specifies the Azure storage blob where script error stream will be uploaded. Use a
+ * SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob.
+ * Refer errorBlobManagedIdentity parameter.
+ *
+ * @return the errorBlobUri value.
+ */
+ public String errorBlobUri() {
+ return this.innerProperties() == null ? null : this.innerProperties().errorBlobUri();
+ }
+
+ /**
+ * Set the errorBlobUri property: Specifies the Azure storage blob where script error stream will be uploaded. Use a
+ * SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob.
+ * Refer errorBlobManagedIdentity parameter.
+ *
+ * @param errorBlobUri the errorBlobUri value to set.
+ * @return the MachineRunCommandInner object itself.
+ */
+ public MachineRunCommandInner withErrorBlobUri(String errorBlobUri) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachineRunCommandProperties();
+ }
+ this.innerProperties().withErrorBlobUri(errorBlobUri);
+ return this;
+ }
+
+ /**
+ * Get the outputBlobManagedIdentity property: User-assigned managed identity that has access to outputBlobUri
+ * storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given
+ * access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned
+ * identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer
+ * https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged.
+ *
+ * @return the outputBlobManagedIdentity value.
+ */
+ public RunCommandManagedIdentity outputBlobManagedIdentity() {
+ return this.innerProperties() == null ? null : this.innerProperties().outputBlobManagedIdentity();
+ }
+
+ /**
+ * Set the outputBlobManagedIdentity property: User-assigned managed identity that has access to outputBlobUri
+ * storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given
+ * access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned
+ * identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer
+ * https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged.
+ *
+ * @param outputBlobManagedIdentity the outputBlobManagedIdentity value to set.
+ * @return the MachineRunCommandInner object itself.
+ */
+ public MachineRunCommandInner withOutputBlobManagedIdentity(RunCommandManagedIdentity outputBlobManagedIdentity) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachineRunCommandProperties();
+ }
+ this.innerProperties().withOutputBlobManagedIdentity(outputBlobManagedIdentity);
+ return this;
+ }
+
+ /**
+ * Get the errorBlobManagedIdentity property: User-assigned managed identity that has access to errorBlobUri storage
+ * blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access
+ * to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make
+ * sure you add it under VM's identity. For more info on managed identity and Run Command, refer
+ * https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged.
+ *
+ * @return the errorBlobManagedIdentity value.
+ */
+ public RunCommandManagedIdentity errorBlobManagedIdentity() {
+ return this.innerProperties() == null ? null : this.innerProperties().errorBlobManagedIdentity();
+ }
+
+ /**
+ * Set the errorBlobManagedIdentity property: User-assigned managed identity that has access to errorBlobUri storage
+ * blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access
+ * to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make
+ * sure you add it under VM's identity. For more info on managed identity and Run Command, refer
+ * https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged.
+ *
+ * @param errorBlobManagedIdentity the errorBlobManagedIdentity value to set.
+ * @return the MachineRunCommandInner object itself.
+ */
+ public MachineRunCommandInner withErrorBlobManagedIdentity(RunCommandManagedIdentity errorBlobManagedIdentity) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MachineRunCommandProperties();
+ }
+ this.innerProperties().withErrorBlobManagedIdentity(errorBlobManagedIdentity);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state, which only appears in the response.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the instanceView property: The machine run command instance view.
+ *
+ * @return the instanceView value.
+ */
+ public MachineRunCommandInstanceView instanceView() {
+ return this.innerProperties() == null ? null : this.innerProperties().instanceView();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@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.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of MachineRunCommandInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of MachineRunCommandInner 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 MachineRunCommandInner.
+ */
+ public static MachineRunCommandInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ MachineRunCommandInner deserializedMachineRunCommandInner = new MachineRunCommandInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedMachineRunCommandInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedMachineRunCommandInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedMachineRunCommandInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedMachineRunCommandInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedMachineRunCommandInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedMachineRunCommandInner.innerProperties = MachineRunCommandProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedMachineRunCommandInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedMachineRunCommandInner;
+ });
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineRunCommandProperties.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineRunCommandProperties.java
new file mode 100644
index 0000000000000..3cfc397f43110
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/MachineRunCommandProperties.java
@@ -0,0 +1,479 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.hybridcompute.models.MachineRunCommandInstanceView;
+import com.azure.resourcemanager.hybridcompute.models.MachineRunCommandScriptSource;
+import com.azure.resourcemanager.hybridcompute.models.RunCommandInputParameter;
+import com.azure.resourcemanager.hybridcompute.models.RunCommandManagedIdentity;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Describes the properties of a run command.
+ */
+@Fluent
+public final class MachineRunCommandProperties implements JsonSerializable {
+ /*
+ * The source of the run command script.
+ */
+ private MachineRunCommandScriptSource source;
+
+ /*
+ * The parameters used by the script.
+ */
+ private List parameters;
+
+ /*
+ * The parameters used by the script.
+ */
+ private List protectedParameters;
+
+ /*
+ * Optional. If set to true, provisioning will complete as soon as script starts and will not wait for script to
+ * complete.
+ */
+ private Boolean asyncExecution;
+
+ /*
+ * Specifies the user account on the machine when executing the run command.
+ */
+ private String runAsUser;
+
+ /*
+ * Specifies the user account password on the machine when executing the run command.
+ */
+ private String runAsPassword;
+
+ /*
+ * The timeout in seconds to execute the run command.
+ */
+ private Integer timeoutInSeconds;
+
+ /*
+ * Specifies the Azure storage blob where script output stream will be uploaded. Use a SAS URI with read, append,
+ * create, write access OR use managed identity to provide the VM access to the blob. Refer
+ * outputBlobManagedIdentity parameter.
+ */
+ private String outputBlobUri;
+
+ /*
+ * Specifies the Azure storage blob where script error stream will be uploaded. Use a SAS URI with read, append,
+ * create, write access OR use managed identity to provide the VM access to the blob. Refer errorBlobManagedIdentity
+ * parameter.
+ */
+ private String errorBlobUri;
+
+ /*
+ * User-assigned managed identity that has access to outputBlobUri storage blob. Use an empty object in case of
+ * system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob
+ * Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity.
+ * For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and
+ * https://aka.ms/RunCommandManaged
+ */
+ private RunCommandManagedIdentity outputBlobManagedIdentity;
+
+ /*
+ * User-assigned managed identity that has access to errorBlobUri storage blob. Use an empty object in case of
+ * system-assigned identity. Make sure managed identity has been given access to blob's container with 'Storage Blob
+ * Data Contributor' role assignment. In case of user-assigned identity, make sure you add it under VM's identity.
+ * For more info on managed identity and Run Command, refer https://aka.ms/ManagedIdentity and
+ * https://aka.ms/RunCommandManaged
+ */
+ private RunCommandManagedIdentity errorBlobManagedIdentity;
+
+ /*
+ * The provisioning state, which only appears in the response.
+ */
+ private String provisioningState;
+
+ /*
+ * The machine run command instance view.
+ */
+ private MachineRunCommandInstanceView instanceView;
+
+ /**
+ * Creates an instance of MachineRunCommandProperties class.
+ */
+ public MachineRunCommandProperties() {
+ }
+
+ /**
+ * Get the source property: The source of the run command script.
+ *
+ * @return the source value.
+ */
+ public MachineRunCommandScriptSource source() {
+ return this.source;
+ }
+
+ /**
+ * Set the source property: The source of the run command script.
+ *
+ * @param source the source value to set.
+ * @return the MachineRunCommandProperties object itself.
+ */
+ public MachineRunCommandProperties withSource(MachineRunCommandScriptSource source) {
+ this.source = source;
+ return this;
+ }
+
+ /**
+ * Get the parameters property: The parameters used by the script.
+ *
+ * @return the parameters value.
+ */
+ public List parameters() {
+ return this.parameters;
+ }
+
+ /**
+ * Set the parameters property: The parameters used by the script.
+ *
+ * @param parameters the parameters value to set.
+ * @return the MachineRunCommandProperties object itself.
+ */
+ public MachineRunCommandProperties withParameters(List parameters) {
+ this.parameters = parameters;
+ return this;
+ }
+
+ /**
+ * Get the protectedParameters property: The parameters used by the script.
+ *
+ * @return the protectedParameters value.
+ */
+ public List protectedParameters() {
+ return this.protectedParameters;
+ }
+
+ /**
+ * Set the protectedParameters property: The parameters used by the script.
+ *
+ * @param protectedParameters the protectedParameters value to set.
+ * @return the MachineRunCommandProperties object itself.
+ */
+ public MachineRunCommandProperties withProtectedParameters(List protectedParameters) {
+ this.protectedParameters = protectedParameters;
+ return this;
+ }
+
+ /**
+ * Get the asyncExecution property: Optional. If set to true, provisioning will complete as soon as script starts
+ * and will not wait for script to complete.
+ *
+ * @return the asyncExecution value.
+ */
+ public Boolean asyncExecution() {
+ return this.asyncExecution;
+ }
+
+ /**
+ * Set the asyncExecution property: Optional. If set to true, provisioning will complete as soon as script starts
+ * and will not wait for script to complete.
+ *
+ * @param asyncExecution the asyncExecution value to set.
+ * @return the MachineRunCommandProperties object itself.
+ */
+ public MachineRunCommandProperties withAsyncExecution(Boolean asyncExecution) {
+ this.asyncExecution = asyncExecution;
+ return this;
+ }
+
+ /**
+ * Get the runAsUser property: Specifies the user account on the machine when executing the run command.
+ *
+ * @return the runAsUser value.
+ */
+ public String runAsUser() {
+ return this.runAsUser;
+ }
+
+ /**
+ * Set the runAsUser property: Specifies the user account on the machine when executing the run command.
+ *
+ * @param runAsUser the runAsUser value to set.
+ * @return the MachineRunCommandProperties object itself.
+ */
+ public MachineRunCommandProperties withRunAsUser(String runAsUser) {
+ this.runAsUser = runAsUser;
+ return this;
+ }
+
+ /**
+ * Get the runAsPassword property: Specifies the user account password on the machine when executing the run
+ * command.
+ *
+ * @return the runAsPassword value.
+ */
+ public String runAsPassword() {
+ return this.runAsPassword;
+ }
+
+ /**
+ * Set the runAsPassword property: Specifies the user account password on the machine when executing the run
+ * command.
+ *
+ * @param runAsPassword the runAsPassword value to set.
+ * @return the MachineRunCommandProperties object itself.
+ */
+ public MachineRunCommandProperties withRunAsPassword(String runAsPassword) {
+ this.runAsPassword = runAsPassword;
+ return this;
+ }
+
+ /**
+ * Get the timeoutInSeconds property: The timeout in seconds to execute the run command.
+ *
+ * @return the timeoutInSeconds value.
+ */
+ public Integer timeoutInSeconds() {
+ return this.timeoutInSeconds;
+ }
+
+ /**
+ * Set the timeoutInSeconds property: The timeout in seconds to execute the run command.
+ *
+ * @param timeoutInSeconds the timeoutInSeconds value to set.
+ * @return the MachineRunCommandProperties object itself.
+ */
+ public MachineRunCommandProperties withTimeoutInSeconds(Integer timeoutInSeconds) {
+ this.timeoutInSeconds = timeoutInSeconds;
+ return this;
+ }
+
+ /**
+ * Get the outputBlobUri property: Specifies the Azure storage blob where script output stream will be uploaded. Use
+ * a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob.
+ * Refer outputBlobManagedIdentity parameter.
+ *
+ * @return the outputBlobUri value.
+ */
+ public String outputBlobUri() {
+ return this.outputBlobUri;
+ }
+
+ /**
+ * Set the outputBlobUri property: Specifies the Azure storage blob where script output stream will be uploaded. Use
+ * a SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob.
+ * Refer outputBlobManagedIdentity parameter.
+ *
+ * @param outputBlobUri the outputBlobUri value to set.
+ * @return the MachineRunCommandProperties object itself.
+ */
+ public MachineRunCommandProperties withOutputBlobUri(String outputBlobUri) {
+ this.outputBlobUri = outputBlobUri;
+ return this;
+ }
+
+ /**
+ * Get the errorBlobUri property: Specifies the Azure storage blob where script error stream will be uploaded. Use a
+ * SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob.
+ * Refer errorBlobManagedIdentity parameter.
+ *
+ * @return the errorBlobUri value.
+ */
+ public String errorBlobUri() {
+ return this.errorBlobUri;
+ }
+
+ /**
+ * Set the errorBlobUri property: Specifies the Azure storage blob where script error stream will be uploaded. Use a
+ * SAS URI with read, append, create, write access OR use managed identity to provide the VM access to the blob.
+ * Refer errorBlobManagedIdentity parameter.
+ *
+ * @param errorBlobUri the errorBlobUri value to set.
+ * @return the MachineRunCommandProperties object itself.
+ */
+ public MachineRunCommandProperties withErrorBlobUri(String errorBlobUri) {
+ this.errorBlobUri = errorBlobUri;
+ return this;
+ }
+
+ /**
+ * Get the outputBlobManagedIdentity property: User-assigned managed identity that has access to outputBlobUri
+ * storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given
+ * access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned
+ * identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer
+ * https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged.
+ *
+ * @return the outputBlobManagedIdentity value.
+ */
+ public RunCommandManagedIdentity outputBlobManagedIdentity() {
+ return this.outputBlobManagedIdentity;
+ }
+
+ /**
+ * Set the outputBlobManagedIdentity property: User-assigned managed identity that has access to outputBlobUri
+ * storage blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given
+ * access to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned
+ * identity, make sure you add it under VM's identity. For more info on managed identity and Run Command, refer
+ * https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged.
+ *
+ * @param outputBlobManagedIdentity the outputBlobManagedIdentity value to set.
+ * @return the MachineRunCommandProperties object itself.
+ */
+ public MachineRunCommandProperties
+ withOutputBlobManagedIdentity(RunCommandManagedIdentity outputBlobManagedIdentity) {
+ this.outputBlobManagedIdentity = outputBlobManagedIdentity;
+ return this;
+ }
+
+ /**
+ * Get the errorBlobManagedIdentity property: User-assigned managed identity that has access to errorBlobUri storage
+ * blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access
+ * to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make
+ * sure you add it under VM's identity. For more info on managed identity and Run Command, refer
+ * https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged.
+ *
+ * @return the errorBlobManagedIdentity value.
+ */
+ public RunCommandManagedIdentity errorBlobManagedIdentity() {
+ return this.errorBlobManagedIdentity;
+ }
+
+ /**
+ * Set the errorBlobManagedIdentity property: User-assigned managed identity that has access to errorBlobUri storage
+ * blob. Use an empty object in case of system-assigned identity. Make sure managed identity has been given access
+ * to blob's container with 'Storage Blob Data Contributor' role assignment. In case of user-assigned identity, make
+ * sure you add it under VM's identity. For more info on managed identity and Run Command, refer
+ * https://aka.ms/ManagedIdentity and https://aka.ms/RunCommandManaged.
+ *
+ * @param errorBlobManagedIdentity the errorBlobManagedIdentity value to set.
+ * @return the MachineRunCommandProperties object itself.
+ */
+ public MachineRunCommandProperties
+ withErrorBlobManagedIdentity(RunCommandManagedIdentity errorBlobManagedIdentity) {
+ this.errorBlobManagedIdentity = errorBlobManagedIdentity;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state, which only appears in the response.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the instanceView property: The machine run command instance view.
+ *
+ * @return the instanceView value.
+ */
+ public MachineRunCommandInstanceView instanceView() {
+ return this.instanceView;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (source() != null) {
+ source().validate();
+ }
+ if (parameters() != null) {
+ parameters().forEach(e -> e.validate());
+ }
+ if (protectedParameters() != null) {
+ protectedParameters().forEach(e -> e.validate());
+ }
+ if (outputBlobManagedIdentity() != null) {
+ outputBlobManagedIdentity().validate();
+ }
+ if (errorBlobManagedIdentity() != null) {
+ errorBlobManagedIdentity().validate();
+ }
+ if (instanceView() != null) {
+ instanceView().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("source", this.source);
+ jsonWriter.writeArrayField("parameters", this.parameters, (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeArrayField("protectedParameters", this.protectedParameters,
+ (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeBooleanField("asyncExecution", this.asyncExecution);
+ jsonWriter.writeStringField("runAsUser", this.runAsUser);
+ jsonWriter.writeStringField("runAsPassword", this.runAsPassword);
+ jsonWriter.writeNumberField("timeoutInSeconds", this.timeoutInSeconds);
+ jsonWriter.writeStringField("outputBlobUri", this.outputBlobUri);
+ jsonWriter.writeStringField("errorBlobUri", this.errorBlobUri);
+ jsonWriter.writeJsonField("outputBlobManagedIdentity", this.outputBlobManagedIdentity);
+ jsonWriter.writeJsonField("errorBlobManagedIdentity", this.errorBlobManagedIdentity);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of MachineRunCommandProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of MachineRunCommandProperties 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 MachineRunCommandProperties.
+ */
+ public static MachineRunCommandProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ MachineRunCommandProperties deserializedMachineRunCommandProperties = new MachineRunCommandProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("source".equals(fieldName)) {
+ deserializedMachineRunCommandProperties.source = MachineRunCommandScriptSource.fromJson(reader);
+ } else if ("parameters".equals(fieldName)) {
+ List parameters
+ = reader.readArray(reader1 -> RunCommandInputParameter.fromJson(reader1));
+ deserializedMachineRunCommandProperties.parameters = parameters;
+ } else if ("protectedParameters".equals(fieldName)) {
+ List protectedParameters
+ = reader.readArray(reader1 -> RunCommandInputParameter.fromJson(reader1));
+ deserializedMachineRunCommandProperties.protectedParameters = protectedParameters;
+ } else if ("asyncExecution".equals(fieldName)) {
+ deserializedMachineRunCommandProperties.asyncExecution = reader.getNullable(JsonReader::getBoolean);
+ } else if ("runAsUser".equals(fieldName)) {
+ deserializedMachineRunCommandProperties.runAsUser = reader.getString();
+ } else if ("runAsPassword".equals(fieldName)) {
+ deserializedMachineRunCommandProperties.runAsPassword = reader.getString();
+ } else if ("timeoutInSeconds".equals(fieldName)) {
+ deserializedMachineRunCommandProperties.timeoutInSeconds = reader.getNullable(JsonReader::getInt);
+ } else if ("outputBlobUri".equals(fieldName)) {
+ deserializedMachineRunCommandProperties.outputBlobUri = reader.getString();
+ } else if ("errorBlobUri".equals(fieldName)) {
+ deserializedMachineRunCommandProperties.errorBlobUri = reader.getString();
+ } else if ("outputBlobManagedIdentity".equals(fieldName)) {
+ deserializedMachineRunCommandProperties.outputBlobManagedIdentity
+ = RunCommandManagedIdentity.fromJson(reader);
+ } else if ("errorBlobManagedIdentity".equals(fieldName)) {
+ deserializedMachineRunCommandProperties.errorBlobManagedIdentity
+ = RunCommandManagedIdentity.fromJson(reader);
+ } else if ("provisioningState".equals(fieldName)) {
+ deserializedMachineRunCommandProperties.provisioningState = reader.getString();
+ } else if ("instanceView".equals(fieldName)) {
+ deserializedMachineRunCommandProperties.instanceView
+ = MachineRunCommandInstanceView.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedMachineRunCommandProperties;
+ });
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/SettingsGatewayProperties.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/SettingsGatewayProperties.java
new file mode 100644
index 0000000000000..8f3004fbf0309
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/SettingsGatewayProperties.java
@@ -0,0 +1,93 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Settings Gateway properties.
+ */
+@Fluent
+public final class SettingsGatewayProperties implements JsonSerializable {
+ /*
+ * Associated Gateway Resource Id
+ */
+ private String gatewayResourceId;
+
+ /**
+ * Creates an instance of SettingsGatewayProperties class.
+ */
+ public SettingsGatewayProperties() {
+ }
+
+ /**
+ * Get the gatewayResourceId property: Associated Gateway Resource Id.
+ *
+ * @return the gatewayResourceId value.
+ */
+ public String gatewayResourceId() {
+ return this.gatewayResourceId;
+ }
+
+ /**
+ * Set the gatewayResourceId property: Associated Gateway Resource Id.
+ *
+ * @param gatewayResourceId the gatewayResourceId value to set.
+ * @return the SettingsGatewayProperties object itself.
+ */
+ public SettingsGatewayProperties withGatewayResourceId(String gatewayResourceId) {
+ this.gatewayResourceId = gatewayResourceId;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("gatewayResourceId", this.gatewayResourceId);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SettingsGatewayProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SettingsGatewayProperties 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 SettingsGatewayProperties.
+ */
+ public static SettingsGatewayProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SettingsGatewayProperties deserializedSettingsGatewayProperties = new SettingsGatewayProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("gatewayResourceId".equals(fieldName)) {
+ deserializedSettingsGatewayProperties.gatewayResourceId = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSettingsGatewayProperties;
+ });
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/SettingsInner.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/SettingsInner.java
new file mode 100644
index 0000000000000..c49b5590bc493
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/SettingsInner.java
@@ -0,0 +1,186 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.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 java.io.IOException;
+
+/**
+ * The Settings model.
+ */
+@Fluent
+public final class SettingsInner extends ProxyResource {
+ /*
+ * Settings properties
+ */
+ private SettingsProperties innerProperties;
+
+ /*
+ * 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 SettingsInner class.
+ */
+ public SettingsInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Settings properties.
+ *
+ * @return the innerProperties value.
+ */
+ private SettingsProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * 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;
+ }
+
+ /**
+ * Get the tenantId property: Azure resource tenant Id.
+ *
+ * @return the tenantId value.
+ */
+ public String tenantId() {
+ return this.innerProperties() == null ? null : this.innerProperties().tenantId();
+ }
+
+ /**
+ * Get the gatewayResourceId property: Associated Gateway Resource Id.
+ *
+ * @return the gatewayResourceId value.
+ */
+ public String gatewayResourceId() {
+ return this.innerProperties() == null ? null : this.innerProperties().gatewayResourceId();
+ }
+
+ /**
+ * Set the gatewayResourceId property: Associated Gateway Resource Id.
+ *
+ * @param gatewayResourceId the gatewayResourceId value to set.
+ * @return the SettingsInner object itself.
+ */
+ public SettingsInner withGatewayResourceId(String gatewayResourceId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SettingsProperties();
+ }
+ this.innerProperties().withGatewayResourceId(gatewayResourceId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SettingsInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SettingsInner 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 SettingsInner.
+ */
+ public static SettingsInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SettingsInner deserializedSettingsInner = new SettingsInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedSettingsInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedSettingsInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedSettingsInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedSettingsInner.innerProperties = SettingsProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedSettingsInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSettingsInner;
+ });
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/SettingsProperties.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/SettingsProperties.java
new file mode 100644
index 0000000000000..9f55875daaeba
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/fluent/models/SettingsProperties.java
@@ -0,0 +1,124 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Settings properties.
+ */
+@Fluent
+public final class SettingsProperties implements JsonSerializable {
+ /*
+ * Azure resource tenant Id
+ */
+ private String tenantId;
+
+ /*
+ * Settings Gateway properties
+ */
+ private SettingsGatewayProperties innerGatewayProperties;
+
+ /**
+ * Creates an instance of SettingsProperties class.
+ */
+ public SettingsProperties() {
+ }
+
+ /**
+ * Get the tenantId property: Azure resource tenant Id.
+ *
+ * @return the tenantId value.
+ */
+ public String tenantId() {
+ return this.tenantId;
+ }
+
+ /**
+ * Get the innerGatewayProperties property: Settings Gateway properties.
+ *
+ * @return the innerGatewayProperties value.
+ */
+ private SettingsGatewayProperties innerGatewayProperties() {
+ return this.innerGatewayProperties;
+ }
+
+ /**
+ * Get the gatewayResourceId property: Associated Gateway Resource Id.
+ *
+ * @return the gatewayResourceId value.
+ */
+ public String gatewayResourceId() {
+ return this.innerGatewayProperties() == null ? null : this.innerGatewayProperties().gatewayResourceId();
+ }
+
+ /**
+ * Set the gatewayResourceId property: Associated Gateway Resource Id.
+ *
+ * @param gatewayResourceId the gatewayResourceId value to set.
+ * @return the SettingsProperties object itself.
+ */
+ public SettingsProperties withGatewayResourceId(String gatewayResourceId) {
+ if (this.innerGatewayProperties() == null) {
+ this.innerGatewayProperties = new SettingsGatewayProperties();
+ }
+ this.innerGatewayProperties().withGatewayResourceId(gatewayResourceId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerGatewayProperties() != null) {
+ innerGatewayProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("gatewayProperties", this.innerGatewayProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SettingsProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SettingsProperties 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 SettingsProperties.
+ */
+ public static SettingsProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SettingsProperties deserializedSettingsProperties = new SettingsProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("tenantId".equals(fieldName)) {
+ deserializedSettingsProperties.tenantId = reader.getString();
+ } else if ("gatewayProperties".equals(fieldName)) {
+ deserializedSettingsProperties.innerGatewayProperties = SettingsGatewayProperties.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSettingsProperties;
+ });
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/GatewayImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/GatewayImpl.java
new file mode 100644
index 0000000000000..118d53d6993e5
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/GatewayImpl.java
@@ -0,0 +1,211 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.hybridcompute.fluent.models.GatewayInner;
+import com.azure.resourcemanager.hybridcompute.models.Gateway;
+import com.azure.resourcemanager.hybridcompute.models.GatewayType;
+import com.azure.resourcemanager.hybridcompute.models.GatewayUpdate;
+import com.azure.resourcemanager.hybridcompute.models.ProvisioningState;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+public final class GatewayImpl implements Gateway, Gateway.Definition, Gateway.Update {
+ private GatewayInner innerObject;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager 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 SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public ProvisioningState provisioningState() {
+ return this.innerModel().provisioningState();
+ }
+
+ public String gatewayId() {
+ return this.innerModel().gatewayId();
+ }
+
+ public GatewayType gatewayType() {
+ return this.innerModel().gatewayType();
+ }
+
+ public String gatewayEndpoint() {
+ return this.innerModel().gatewayEndpoint();
+ }
+
+ public List allowedFeatures() {
+ List inner = this.innerModel().allowedFeatures();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public GatewayInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hybridcompute.HybridComputeManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String gatewayName;
+
+ private GatewayUpdate updateParameters;
+
+ public GatewayImpl withExistingResourceGroup(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ public Gateway create() {
+ this.innerObject = serviceManager.serviceClient()
+ .getGateways()
+ .createOrUpdate(resourceGroupName, gatewayName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public Gateway create(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getGateways()
+ .createOrUpdate(resourceGroupName, gatewayName, this.innerModel(), context);
+ return this;
+ }
+
+ GatewayImpl(String name, com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerObject = new GatewayInner();
+ this.serviceManager = serviceManager;
+ this.gatewayName = name;
+ }
+
+ public GatewayImpl update() {
+ this.updateParameters = new GatewayUpdate();
+ return this;
+ }
+
+ public Gateway apply() {
+ this.innerObject = serviceManager.serviceClient()
+ .getGateways()
+ .updateWithResponse(resourceGroupName, gatewayName, updateParameters, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public Gateway apply(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getGateways()
+ .updateWithResponse(resourceGroupName, gatewayName, updateParameters, context)
+ .getValue();
+ return this;
+ }
+
+ GatewayImpl(GatewayInner innerObject, com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.gatewayName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "gateways");
+ }
+
+ public Gateway refresh() {
+ this.innerObject = serviceManager.serviceClient()
+ .getGateways()
+ .getByResourceGroupWithResponse(resourceGroupName, gatewayName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public Gateway refresh(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getGateways()
+ .getByResourceGroupWithResponse(resourceGroupName, gatewayName, context)
+ .getValue();
+ return this;
+ }
+
+ public GatewayImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public GatewayImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public GatewayImpl withTags(Map tags) {
+ if (isInCreateMode()) {
+ this.innerModel().withTags(tags);
+ return this;
+ } else {
+ this.updateParameters.withTags(tags);
+ return this;
+ }
+ }
+
+ public GatewayImpl withGatewayType(GatewayType gatewayType) {
+ this.innerModel().withGatewayType(gatewayType);
+ return this;
+ }
+
+ public GatewayImpl withAllowedFeatures(List allowedFeatures) {
+ if (isInCreateMode()) {
+ this.innerModel().withAllowedFeatures(allowedFeatures);
+ return this;
+ } else {
+ this.updateParameters.withAllowedFeatures(allowedFeatures);
+ return this;
+ }
+ }
+
+ private boolean isInCreateMode() {
+ return this.innerModel().id() == null;
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/GatewaysClientImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/GatewaysClientImpl.java
new file mode 100644
index 0000000000000..eb4ae1f362210
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/GatewaysClientImpl.java
@@ -0,0 +1,1172 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.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.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.hybridcompute.fluent.GatewaysClient;
+import com.azure.resourcemanager.hybridcompute.fluent.models.GatewayInner;
+import com.azure.resourcemanager.hybridcompute.models.GatewayUpdate;
+import com.azure.resourcemanager.hybridcompute.models.GatewaysListResult;
+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 GatewaysClient.
+ */
+public final class GatewaysClientImpl implements GatewaysClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final GatewaysService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final HybridComputeManagementClientImpl client;
+
+ /**
+ * Initializes an instance of GatewaysClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ GatewaysClientImpl(HybridComputeManagementClientImpl client) {
+ this.service = RestProxy.create(GatewaysService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HybridComputeManagementClientGateways to be used by the proxy service
+ * to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "HybridComputeManagem")
+ public interface GatewaysService {
+ @Headers({ "Content-Type: application/json" })
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/gateways/{gatewayName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> createOrUpdate(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("gatewayName") String gatewayName,
+ @BodyParam("application/json") GatewayInner parameters, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Patch("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/gateways/{gatewayName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> update(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("gatewayName") String gatewayName,
+ @BodyParam("application/json") GatewayUpdate parameters, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/gateways/{gatewayName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> getByResourceGroup(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("gatewayName") String gatewayName,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/gateways/{gatewayName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("gatewayName") String gatewayName,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/gateways")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroup(@HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName, @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.HybridCompute/gateways")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(@HostParam("$host") 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("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listBySubscriptionNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * The operation to create or update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Create gateway 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 describes an Arc Gateway along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(String resourceGroupName,
+ String gatewayName, GatewayInner parameters) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (gatewayName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter gatewayName is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.createOrUpdate(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, gatewayName, parameters, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * The operation to create or update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Create gateway operation.
+ * @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 describes an Arc Gateway along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(String resourceGroupName,
+ String gatewayName, GatewayInner parameters, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (gatewayName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter gatewayName is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.createOrUpdate(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, gatewayName, parameters, accept, context);
+ }
+
+ /**
+ * The operation to create or update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Create gateway 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 PollerFlux} for polling of describes an Arc Gateway.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, GatewayInner> beginCreateOrUpdateAsync(String resourceGroupName,
+ String gatewayName, GatewayInner parameters) {
+ Mono>> mono
+ = createOrUpdateWithResponseAsync(resourceGroupName, gatewayName, parameters);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(),
+ GatewayInner.class, GatewayInner.class, this.client.getContext());
+ }
+
+ /**
+ * The operation to create or update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Create gateway operation.
+ * @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 PollerFlux} for polling of describes an Arc Gateway.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, GatewayInner> beginCreateOrUpdateAsync(String resourceGroupName,
+ String gatewayName, GatewayInner parameters, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono
+ = createOrUpdateWithResponseAsync(resourceGroupName, gatewayName, parameters, context);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(),
+ GatewayInner.class, GatewayInner.class, context);
+ }
+
+ /**
+ * The operation to create or update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Create gateway 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 describes an Arc Gateway.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, GatewayInner> beginCreateOrUpdate(String resourceGroupName,
+ String gatewayName, GatewayInner parameters) {
+ return this.beginCreateOrUpdateAsync(resourceGroupName, gatewayName, parameters).getSyncPoller();
+ }
+
+ /**
+ * The operation to create or update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Create gateway operation.
+ * @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 describes an Arc Gateway.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, GatewayInner> beginCreateOrUpdate(String resourceGroupName,
+ String gatewayName, GatewayInner parameters, Context context) {
+ return this.beginCreateOrUpdateAsync(resourceGroupName, gatewayName, parameters, context).getSyncPoller();
+ }
+
+ /**
+ * The operation to create or update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Create gateway 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 describes an Arc Gateway on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(String resourceGroupName, String gatewayName,
+ GatewayInner parameters) {
+ return beginCreateOrUpdateAsync(resourceGroupName, gatewayName, parameters).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * The operation to create or update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Create gateway operation.
+ * @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 describes an Arc Gateway on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(String resourceGroupName, String gatewayName,
+ GatewayInner parameters, Context context) {
+ return beginCreateOrUpdateAsync(resourceGroupName, gatewayName, parameters, context).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * The operation to create or update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Create gateway 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 describes an Arc Gateway.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public GatewayInner createOrUpdate(String resourceGroupName, String gatewayName, GatewayInner parameters) {
+ return createOrUpdateAsync(resourceGroupName, gatewayName, parameters).block();
+ }
+
+ /**
+ * The operation to create or update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Create gateway operation.
+ * @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 describes an Arc Gateway.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public GatewayInner createOrUpdate(String resourceGroupName, String gatewayName, GatewayInner parameters,
+ Context context) {
+ return createOrUpdateAsync(resourceGroupName, gatewayName, parameters, context).block();
+ }
+
+ /**
+ * The operation to update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Update gateway 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 describes an Arc Gateway along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> updateWithResponseAsync(String resourceGroupName, String gatewayName,
+ GatewayUpdate parameters) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (gatewayName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter gatewayName is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.update(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, gatewayName, parameters, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * The operation to update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Update gateway operation.
+ * @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 describes an Arc Gateway along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> updateWithResponseAsync(String resourceGroupName, String gatewayName,
+ GatewayUpdate parameters, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (gatewayName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter gatewayName is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.update(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, gatewayName, parameters, accept, context);
+ }
+
+ /**
+ * The operation to update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Update gateway 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 describes an Arc Gateway on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(String resourceGroupName, String gatewayName, GatewayUpdate parameters) {
+ return updateWithResponseAsync(resourceGroupName, gatewayName, parameters)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * The operation to update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Update gateway operation.
+ * @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 describes an Arc Gateway along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response updateWithResponse(String resourceGroupName, String gatewayName,
+ GatewayUpdate parameters, Context context) {
+ return updateWithResponseAsync(resourceGroupName, gatewayName, parameters, context).block();
+ }
+
+ /**
+ * The operation to update a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the Gateway.
+ * @param parameters Parameters supplied to the Update gateway 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 describes an Arc Gateway.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public GatewayInner update(String resourceGroupName, String gatewayName, GatewayUpdate parameters) {
+ return updateWithResponse(resourceGroupName, gatewayName, parameters, Context.NONE).getValue();
+ }
+
+ /**
+ * Retrieves information about the view of a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 describes an Arc Gateway along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByResourceGroupWithResponseAsync(String resourceGroupName,
+ String gatewayName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (gatewayName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter gatewayName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.getByResourceGroup(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, gatewayName, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Retrieves information about the view of a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 describes an Arc Gateway along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByResourceGroupWithResponseAsync(String resourceGroupName,
+ String gatewayName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (gatewayName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter gatewayName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.getByResourceGroup(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, gatewayName, accept, context);
+ }
+
+ /**
+ * Retrieves information about the view of a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 describes an Arc Gateway on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getByResourceGroupAsync(String resourceGroupName, String gatewayName) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, gatewayName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Retrieves information about the view of a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 describes an Arc Gateway along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getByResourceGroupWithResponse(String resourceGroupName, String gatewayName,
+ Context context) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, gatewayName, context).block();
+ }
+
+ /**
+ * Retrieves information about the view of a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 describes an Arc Gateway.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public GatewayInner getByResourceGroup(String resourceGroupName, String gatewayName) {
+ return getByResourceGroupWithResponse(resourceGroupName, gatewayName, Context.NONE).getValue();
+ }
+
+ /**
+ * The operation to delete a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(String resourceGroupName, String gatewayName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (gatewayName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter gatewayName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.delete(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, gatewayName, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * The operation to delete a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(String resourceGroupName, String gatewayName,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (gatewayName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter gatewayName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.delete(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, gatewayName, accept, context);
+ }
+
+ /**
+ * The operation to delete a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String gatewayName) {
+ Mono>> mono = deleteWithResponseAsync(resourceGroupName, gatewayName);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ this.client.getContext());
+ }
+
+ /**
+ * The operation to delete a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String gatewayName,
+ Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono = deleteWithResponseAsync(resourceGroupName, gatewayName, context);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ context);
+ }
+
+ /**
+ * The operation to delete a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String gatewayName) {
+ return this.beginDeleteAsync(resourceGroupName, gatewayName).getSyncPoller();
+ }
+
+ /**
+ * The operation to delete a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String gatewayName,
+ Context context) {
+ return this.beginDeleteAsync(resourceGroupName, gatewayName, context).getSyncPoller();
+ }
+
+ /**
+ * The operation to delete a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String gatewayName) {
+ return beginDeleteAsync(resourceGroupName, gatewayName).last().flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * The operation to delete a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String gatewayName, Context context) {
+ return beginDeleteAsync(resourceGroupName, gatewayName, context).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * The operation to delete a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String gatewayName) {
+ deleteAsync(resourceGroupName, gatewayName).block();
+ }
+
+ /**
+ * The operation to delete a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String gatewayName, Context context) {
+ deleteAsync(resourceGroupName, gatewayName, context).block();
+ }
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupSinglePageAsync(String resourceGroupName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByResourceGroup(this.client.getEndpoint(), resourceGroupName,
+ 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()));
+ }
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupSinglePageAsync(String resourceGroupName,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByResourceGroup(this.client.getEndpoint(), resourceGroupName, 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));
+ }
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceGroupAsync(String resourceGroupName) {
+ return new PagedFlux<>(() -> listByResourceGroupSinglePageAsync(resourceGroupName),
+ nextLink -> listByResourceGroupNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceGroupAsync(String resourceGroupName, Context context) {
+ return new PagedFlux<>(() -> listByResourceGroupSinglePageAsync(resourceGroupName, context),
+ nextLink -> listByResourceGroupNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName) {
+ return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName));
+ }
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName, Context context) {
+ return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName, context));
+ }
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync() {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ 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()));
+ }
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return 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));
+ }
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync() {
+ return new PagedFlux<>(() -> listSinglePageAsync(),
+ nextLink -> listBySubscriptionNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(Context context) {
+ return new PagedFlux<>(() -> listSinglePageAsync(context),
+ nextLink -> listBySubscriptionNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list() {
+ return new PagedIterable<>(listAsync());
+ }
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(Context context) {
+ return new PagedIterable<>(listAsync(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 List license operation response along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.listByResourceGroupNext(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.
+ * @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 List license operation response along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupNextSinglePageAsync(String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.listByResourceGroupNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(res -> 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.
+ * @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 List license operation response along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listBySubscriptionNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.listBySubscriptionNext(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.
+ * @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 List license operation response along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listBySubscriptionNextSinglePageAsync(String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.listBySubscriptionNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ res.getValue().value(), res.getValue().nextLink(), null));
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/GatewaysImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/GatewaysImpl.java
new file mode 100644
index 0000000000000..ed0576daa4d6d
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/GatewaysImpl.java
@@ -0,0 +1,146 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.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.hybridcompute.fluent.GatewaysClient;
+import com.azure.resourcemanager.hybridcompute.fluent.models.GatewayInner;
+import com.azure.resourcemanager.hybridcompute.models.Gateway;
+import com.azure.resourcemanager.hybridcompute.models.Gateways;
+
+public final class GatewaysImpl implements Gateways {
+ private static final ClientLogger LOGGER = new ClientLogger(GatewaysImpl.class);
+
+ private final GatewaysClient innerClient;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager;
+
+ public GatewaysImpl(GatewaysClient innerClient,
+ com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response getByResourceGroupWithResponse(String resourceGroupName, String gatewayName,
+ Context context) {
+ Response inner
+ = this.serviceClient().getByResourceGroupWithResponse(resourceGroupName, gatewayName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new GatewayImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public Gateway getByResourceGroup(String resourceGroupName, String gatewayName) {
+ GatewayInner inner = this.serviceClient().getByResourceGroup(resourceGroupName, gatewayName);
+ if (inner != null) {
+ return new GatewayImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public void deleteByResourceGroup(String resourceGroupName, String gatewayName) {
+ this.serviceClient().delete(resourceGroupName, gatewayName);
+ }
+
+ public void delete(String resourceGroupName, String gatewayName, Context context) {
+ this.serviceClient().delete(resourceGroupName, gatewayName, context);
+ }
+
+ public PagedIterable listByResourceGroup(String resourceGroupName) {
+ PagedIterable inner = this.serviceClient().listByResourceGroup(resourceGroupName);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new GatewayImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByResourceGroup(String resourceGroupName, Context context) {
+ PagedIterable inner = this.serviceClient().listByResourceGroup(resourceGroupName, context);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new GatewayImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list() {
+ PagedIterable inner = this.serviceClient().list();
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new GatewayImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(Context context) {
+ PagedIterable inner = this.serviceClient().list(context);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new GatewayImpl(inner1, this.manager()));
+ }
+
+ public Gateway 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 gatewayName = ResourceManagerUtils.getValueFromIdByName(id, "gateways");
+ if (gatewayName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'gateways'.", id)));
+ }
+ return this.getByResourceGroupWithResponse(resourceGroupName, gatewayName, 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 gatewayName = ResourceManagerUtils.getValueFromIdByName(id, "gateways");
+ if (gatewayName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'gateways'.", id)));
+ }
+ return this.getByResourceGroupWithResponse(resourceGroupName, gatewayName, 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 gatewayName = ResourceManagerUtils.getValueFromIdByName(id, "gateways");
+ if (gatewayName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'gateways'.", id)));
+ }
+ this.delete(resourceGroupName, gatewayName, 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 gatewayName = ResourceManagerUtils.getValueFromIdByName(id, "gateways");
+ if (gatewayName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'gateways'.", id)));
+ }
+ this.delete(resourceGroupName, gatewayName, context);
+ }
+
+ private GatewaysClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.hybridcompute.HybridComputeManager manager() {
+ return this.serviceManager;
+ }
+
+ public GatewayImpl define(String name) {
+ return new GatewayImpl(name, this.manager());
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridComputeManagementClientImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridComputeManagementClientImpl.java
index aeae6ef286152..df91026b5d993 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridComputeManagementClientImpl.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/HybridComputeManagementClientImpl.java
@@ -24,10 +24,12 @@
import com.azure.core.util.serializer.SerializerAdapter;
import com.azure.core.util.serializer.SerializerEncoding;
import com.azure.resourcemanager.hybridcompute.fluent.ExtensionMetadatasClient;
+import com.azure.resourcemanager.hybridcompute.fluent.GatewaysClient;
import com.azure.resourcemanager.hybridcompute.fluent.HybridComputeManagementClient;
import com.azure.resourcemanager.hybridcompute.fluent.LicenseProfilesClient;
import com.azure.resourcemanager.hybridcompute.fluent.LicensesClient;
import com.azure.resourcemanager.hybridcompute.fluent.MachineExtensionsClient;
+import com.azure.resourcemanager.hybridcompute.fluent.MachineRunCommandsClient;
import com.azure.resourcemanager.hybridcompute.fluent.MachinesClient;
import com.azure.resourcemanager.hybridcompute.fluent.NetworkProfilesClient;
import com.azure.resourcemanager.hybridcompute.fluent.NetworkSecurityPerimeterConfigurationsClient;
@@ -36,6 +38,7 @@
import com.azure.resourcemanager.hybridcompute.fluent.PrivateLinkResourcesClient;
import com.azure.resourcemanager.hybridcompute.fluent.PrivateLinkScopesClient;
import com.azure.resourcemanager.hybridcompute.fluent.ResourceProvidersClient;
+import com.azure.resourcemanager.hybridcompute.fluent.SettingsOperationsClient;
import java.io.IOException;
import java.lang.reflect.Type;
import java.nio.ByteBuffer;
@@ -246,6 +249,48 @@ public NetworkProfilesClient getNetworkProfiles() {
return this.networkProfiles;
}
+ /**
+ * The MachineRunCommandsClient object to access its operations.
+ */
+ private final MachineRunCommandsClient machineRunCommands;
+
+ /**
+ * Gets the MachineRunCommandsClient object to access its operations.
+ *
+ * @return the MachineRunCommandsClient object.
+ */
+ public MachineRunCommandsClient getMachineRunCommands() {
+ return this.machineRunCommands;
+ }
+
+ /**
+ * The GatewaysClient object to access its operations.
+ */
+ private final GatewaysClient gateways;
+
+ /**
+ * Gets the GatewaysClient object to access its operations.
+ *
+ * @return the GatewaysClient object.
+ */
+ public GatewaysClient getGateways() {
+ return this.gateways;
+ }
+
+ /**
+ * The SettingsOperationsClient object to access its operations.
+ */
+ private final SettingsOperationsClient settingsOperations;
+
+ /**
+ * Gets the SettingsOperationsClient object to access its operations.
+ *
+ * @return the SettingsOperationsClient object.
+ */
+ public SettingsOperationsClient getSettingsOperations() {
+ return this.settingsOperations;
+ }
+
/**
* The PrivateLinkScopesClient object to access its operations.
*/
@@ -319,7 +364,7 @@ public NetworkSecurityPerimeterConfigurationsClient getNetworkSecurityPerimeterC
this.defaultPollInterval = defaultPollInterval;
this.subscriptionId = subscriptionId;
this.endpoint = endpoint;
- this.apiVersion = "2024-07-10";
+ this.apiVersion = "2024-07-31-preview";
this.licenses = new LicensesClientImpl(this);
this.machines = new MachinesClientImpl(this);
this.licenseProfiles = new LicenseProfilesClientImpl(this);
@@ -328,6 +373,9 @@ public NetworkSecurityPerimeterConfigurationsClient getNetworkSecurityPerimeterC
this.extensionMetadatas = new ExtensionMetadatasClientImpl(this);
this.operations = new OperationsClientImpl(this);
this.networkProfiles = new NetworkProfilesClientImpl(this);
+ this.machineRunCommands = new MachineRunCommandsClientImpl(this);
+ this.gateways = new GatewaysClientImpl(this);
+ this.settingsOperations = new SettingsOperationsClientImpl(this);
this.privateLinkScopes = new PrivateLinkScopesClientImpl(this);
this.privateLinkResources = new PrivateLinkResourcesClientImpl(this);
this.privateEndpointConnections = new PrivateEndpointConnectionsClientImpl(this);
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineExtensionsClientImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineExtensionsClientImpl.java
index ab6d7b65135bc..5eabafede1c3a 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineExtensionsClientImpl.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineExtensionsClientImpl.java
@@ -388,7 +388,7 @@ public MachineExtensionInner createOrUpdate(String resourceGroupName, String mac
}
/**
- * The operation to update the extension.
+ * The operation to create or update the extension.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param machineName The name of the machine where the extension should be created or updated.
@@ -435,7 +435,7 @@ private Mono>> updateWithResponseAsync(String resource
}
/**
- * The operation to update the extension.
+ * The operation to create or update the extension.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param machineName The name of the machine where the extension should be created or updated.
@@ -481,7 +481,7 @@ private Mono>> updateWithResponseAsync(String resource
}
/**
- * The operation to update the extension.
+ * The operation to create or update the extension.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param machineName The name of the machine where the extension should be created or updated.
@@ -504,7 +504,7 @@ private PollerFlux, MachineExtensionInner> beg
}
/**
- * The operation to update the extension.
+ * The operation to create or update the extension.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param machineName The name of the machine where the extension should be created or updated.
@@ -528,7 +528,7 @@ private PollerFlux, MachineExtensionInner> beg
}
/**
- * The operation to update the extension.
+ * The operation to create or update the extension.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param machineName The name of the machine where the extension should be created or updated.
@@ -547,7 +547,7 @@ public SyncPoller, MachineExtensionInner> begi
}
/**
- * The operation to update the extension.
+ * The operation to create or update the extension.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param machineName The name of the machine where the extension should be created or updated.
@@ -567,7 +567,7 @@ public SyncPoller, MachineExtensionInner> begi
}
/**
- * The operation to update the extension.
+ * The operation to create or update the extension.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param machineName The name of the machine where the extension should be created or updated.
@@ -586,7 +586,7 @@ private Mono updateAsync(String resourceGroupName, String
}
/**
- * The operation to update the extension.
+ * The operation to create or update the extension.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param machineName The name of the machine where the extension should be created or updated.
@@ -606,7 +606,7 @@ private Mono updateAsync(String resourceGroupName, String
}
/**
- * The operation to update the extension.
+ * The operation to create or update the extension.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param machineName The name of the machine where the extension should be created or updated.
@@ -624,7 +624,7 @@ public MachineExtensionInner update(String resourceGroupName, String machineName
}
/**
- * The operation to update the extension.
+ * The operation to create or update the extension.
*
* @param resourceGroupName The name of the resource group. The name is case insensitive.
* @param machineName The name of the machine where the extension should be created or updated.
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineImpl.java
index 34f87c0cbc3bc..b5b8748d45fb5 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineImpl.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineImpl.java
@@ -14,6 +14,8 @@
import com.azure.resourcemanager.hybridcompute.models.AgentUpgrade;
import com.azure.resourcemanager.hybridcompute.models.ArcKindEnum;
import com.azure.resourcemanager.hybridcompute.models.CloudMetadata;
+import com.azure.resourcemanager.hybridcompute.models.FirmwareProfile;
+import com.azure.resourcemanager.hybridcompute.models.HardwareProfile;
import com.azure.resourcemanager.hybridcompute.models.Identity;
import com.azure.resourcemanager.hybridcompute.models.LicenseProfileMachineInstanceView;
import com.azure.resourcemanager.hybridcompute.models.LocationData;
@@ -24,6 +26,7 @@
import com.azure.resourcemanager.hybridcompute.models.OSProfile;
import com.azure.resourcemanager.hybridcompute.models.ServiceStatuses;
import com.azure.resourcemanager.hybridcompute.models.StatusTypes;
+import com.azure.resourcemanager.hybridcompute.models.StorageProfile;
import java.time.OffsetDateTime;
import java.util.Collections;
import java.util.List;
@@ -101,6 +104,18 @@ public ServiceStatuses serviceStatuses() {
return this.innerModel().serviceStatuses();
}
+ public HardwareProfile hardwareProfile() {
+ return this.innerModel().hardwareProfile();
+ }
+
+ public StorageProfile storageProfile() {
+ return this.innerModel().storageProfile();
+ }
+
+ public FirmwareProfile firmwareProfile() {
+ return this.innerModel().firmwareProfile();
+ }
+
public CloudMetadata cloudMetadata() {
return this.innerModel().cloudMetadata();
}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachinePropertiesImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachinePropertiesImpl.java
index 3eb303c8cfcc3..cc03883c1051f 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachinePropertiesImpl.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachinePropertiesImpl.java
@@ -11,6 +11,8 @@
import com.azure.resourcemanager.hybridcompute.models.AgentConfiguration;
import com.azure.resourcemanager.hybridcompute.models.AgentUpgrade;
import com.azure.resourcemanager.hybridcompute.models.CloudMetadata;
+import com.azure.resourcemanager.hybridcompute.models.FirmwareProfile;
+import com.azure.resourcemanager.hybridcompute.models.HardwareProfile;
import com.azure.resourcemanager.hybridcompute.models.LicenseProfileMachineInstanceView;
import com.azure.resourcemanager.hybridcompute.models.LocationData;
import com.azure.resourcemanager.hybridcompute.models.MachineExtensionInstanceView;
@@ -19,6 +21,7 @@
import com.azure.resourcemanager.hybridcompute.models.OSProfile;
import com.azure.resourcemanager.hybridcompute.models.ServiceStatuses;
import com.azure.resourcemanager.hybridcompute.models.StatusTypes;
+import com.azure.resourcemanager.hybridcompute.models.StorageProfile;
import java.time.OffsetDateTime;
import java.util.Collections;
import java.util.List;
@@ -48,6 +51,18 @@ public ServiceStatuses serviceStatuses() {
return this.innerModel().serviceStatuses();
}
+ public HardwareProfile hardwareProfile() {
+ return this.innerModel().hardwareProfile();
+ }
+
+ public StorageProfile storageProfile() {
+ return this.innerModel().storageProfile();
+ }
+
+ public FirmwareProfile firmwareProfile() {
+ return this.innerModel().firmwareProfile();
+ }
+
public CloudMetadata cloudMetadata() {
return this.innerModel().cloudMetadata();
}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineRunCommandImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineRunCommandImpl.java
new file mode 100644
index 0000000000000..0b5386c5d7c0a
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineRunCommandImpl.java
@@ -0,0 +1,281 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.hybridcompute.fluent.models.MachineRunCommandInner;
+import com.azure.resourcemanager.hybridcompute.models.MachineRunCommand;
+import com.azure.resourcemanager.hybridcompute.models.MachineRunCommandInstanceView;
+import com.azure.resourcemanager.hybridcompute.models.MachineRunCommandScriptSource;
+import com.azure.resourcemanager.hybridcompute.models.RunCommandInputParameter;
+import com.azure.resourcemanager.hybridcompute.models.RunCommandManagedIdentity;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+public final class MachineRunCommandImpl
+ implements MachineRunCommand, MachineRunCommand.Definition, MachineRunCommand.Update {
+ private MachineRunCommandInner innerObject;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager 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 SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public MachineRunCommandScriptSource source() {
+ return this.innerModel().source();
+ }
+
+ public List parameters() {
+ List inner = this.innerModel().parameters();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public List protectedParameters() {
+ List inner = this.innerModel().protectedParameters();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public Boolean asyncExecution() {
+ return this.innerModel().asyncExecution();
+ }
+
+ public String runAsUser() {
+ return this.innerModel().runAsUser();
+ }
+
+ public String runAsPassword() {
+ return this.innerModel().runAsPassword();
+ }
+
+ public Integer timeoutInSeconds() {
+ return this.innerModel().timeoutInSeconds();
+ }
+
+ public String outputBlobUri() {
+ return this.innerModel().outputBlobUri();
+ }
+
+ public String errorBlobUri() {
+ return this.innerModel().errorBlobUri();
+ }
+
+ public RunCommandManagedIdentity outputBlobManagedIdentity() {
+ return this.innerModel().outputBlobManagedIdentity();
+ }
+
+ public RunCommandManagedIdentity errorBlobManagedIdentity() {
+ return this.innerModel().errorBlobManagedIdentity();
+ }
+
+ public String provisioningState() {
+ return this.innerModel().provisioningState();
+ }
+
+ public MachineRunCommandInstanceView instanceView() {
+ return this.innerModel().instanceView();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public MachineRunCommandInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hybridcompute.HybridComputeManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String machineName;
+
+ private String runCommandName;
+
+ public MachineRunCommandImpl withExistingMachine(String resourceGroupName, String machineName) {
+ this.resourceGroupName = resourceGroupName;
+ this.machineName = machineName;
+ return this;
+ }
+
+ public MachineRunCommand create() {
+ this.innerObject = serviceManager.serviceClient()
+ .getMachineRunCommands()
+ .createOrUpdate(resourceGroupName, machineName, runCommandName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public MachineRunCommand create(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getMachineRunCommands()
+ .createOrUpdate(resourceGroupName, machineName, runCommandName, this.innerModel(), context);
+ return this;
+ }
+
+ MachineRunCommandImpl(String name, com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerObject = new MachineRunCommandInner();
+ this.serviceManager = serviceManager;
+ this.runCommandName = name;
+ }
+
+ public MachineRunCommandImpl update() {
+ return this;
+ }
+
+ public MachineRunCommand apply() {
+ this.innerObject = serviceManager.serviceClient()
+ .getMachineRunCommands()
+ .createOrUpdate(resourceGroupName, machineName, runCommandName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public MachineRunCommand apply(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getMachineRunCommands()
+ .createOrUpdate(resourceGroupName, machineName, runCommandName, this.innerModel(), context);
+ return this;
+ }
+
+ MachineRunCommandImpl(MachineRunCommandInner innerObject,
+ com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.machineName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "machines");
+ this.runCommandName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "runCommands");
+ }
+
+ public MachineRunCommand refresh() {
+ this.innerObject = serviceManager.serviceClient()
+ .getMachineRunCommands()
+ .getWithResponse(resourceGroupName, machineName, runCommandName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public MachineRunCommand refresh(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getMachineRunCommands()
+ .getWithResponse(resourceGroupName, machineName, runCommandName, context)
+ .getValue();
+ return this;
+ }
+
+ public MachineRunCommandImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public MachineRunCommandImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public MachineRunCommandImpl withTags(Map tags) {
+ this.innerModel().withTags(tags);
+ return this;
+ }
+
+ public MachineRunCommandImpl withSource(MachineRunCommandScriptSource source) {
+ this.innerModel().withSource(source);
+ return this;
+ }
+
+ public MachineRunCommandImpl withParameters(List parameters) {
+ this.innerModel().withParameters(parameters);
+ return this;
+ }
+
+ public MachineRunCommandImpl withProtectedParameters(List protectedParameters) {
+ this.innerModel().withProtectedParameters(protectedParameters);
+ return this;
+ }
+
+ public MachineRunCommandImpl withAsyncExecution(Boolean asyncExecution) {
+ this.innerModel().withAsyncExecution(asyncExecution);
+ return this;
+ }
+
+ public MachineRunCommandImpl withRunAsUser(String runAsUser) {
+ this.innerModel().withRunAsUser(runAsUser);
+ return this;
+ }
+
+ public MachineRunCommandImpl withRunAsPassword(String runAsPassword) {
+ this.innerModel().withRunAsPassword(runAsPassword);
+ return this;
+ }
+
+ public MachineRunCommandImpl withTimeoutInSeconds(Integer timeoutInSeconds) {
+ this.innerModel().withTimeoutInSeconds(timeoutInSeconds);
+ return this;
+ }
+
+ public MachineRunCommandImpl withOutputBlobUri(String outputBlobUri) {
+ this.innerModel().withOutputBlobUri(outputBlobUri);
+ return this;
+ }
+
+ public MachineRunCommandImpl withErrorBlobUri(String errorBlobUri) {
+ this.innerModel().withErrorBlobUri(errorBlobUri);
+ return this;
+ }
+
+ public MachineRunCommandImpl withOutputBlobManagedIdentity(RunCommandManagedIdentity outputBlobManagedIdentity) {
+ this.innerModel().withOutputBlobManagedIdentity(outputBlobManagedIdentity);
+ return this;
+ }
+
+ public MachineRunCommandImpl withErrorBlobManagedIdentity(RunCommandManagedIdentity errorBlobManagedIdentity) {
+ this.innerModel().withErrorBlobManagedIdentity(errorBlobManagedIdentity);
+ return this;
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineRunCommandsClientImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineRunCommandsClientImpl.java
new file mode 100644
index 0000000000000..0db1ab381d0f2
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineRunCommandsClientImpl.java
@@ -0,0 +1,948 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.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.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.hybridcompute.fluent.MachineRunCommandsClient;
+import com.azure.resourcemanager.hybridcompute.fluent.models.MachineRunCommandInner;
+import com.azure.resourcemanager.hybridcompute.models.MachineRunCommandsListResult;
+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 MachineRunCommandsClient.
+ */
+public final class MachineRunCommandsClientImpl implements MachineRunCommandsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final MachineRunCommandsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final HybridComputeManagementClientImpl client;
+
+ /**
+ * Initializes an instance of MachineRunCommandsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ MachineRunCommandsClientImpl(HybridComputeManagementClientImpl client) {
+ this.service = RestProxy.create(MachineRunCommandsService.class, client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HybridComputeManagementClientMachineRunCommands to be used by the
+ * proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "HybridComputeManagem")
+ public interface MachineRunCommandsService {
+ @Headers({ "Content-Type: application/json" })
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/runCommands/{runCommandName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> createOrUpdate(@HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("machineName") String machineName,
+ @PathParam("runCommandName") String runCommandName, @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @BodyParam("application/json") MachineRunCommandInner runCommandProperties,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/runCommands/{runCommandName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(@HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("machineName") String machineName,
+ @PathParam("runCommandName") String runCommandName, @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/runCommands/{runCommandName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(@HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("machineName") String machineName,
+ @PathParam("runCommandName") String runCommandName, @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/runCommands")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(@HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("machineName") String machineName,
+ @QueryParam("$expand") String expand, @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> listNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * The operation to create or update a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @param runCommandProperties Parameters supplied to the Create Run Command.
+ * @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 describes a Run Command along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(String resourceGroupName,
+ String machineName, String runCommandName, MachineRunCommandInner runCommandProperties) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ if (runCommandName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter runCommandName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (runCommandProperties == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter runCommandProperties is required and cannot be null."));
+ } else {
+ runCommandProperties.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.createOrUpdate(this.client.getEndpoint(), resourceGroupName, machineName,
+ runCommandName, this.client.getApiVersion(), this.client.getSubscriptionId(), runCommandProperties,
+ accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * The operation to create or update a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @param runCommandProperties Parameters supplied to the Create Run Command.
+ * @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 describes a Run Command along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(String resourceGroupName,
+ String machineName, String runCommandName, MachineRunCommandInner runCommandProperties, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ if (runCommandName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter runCommandName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (runCommandProperties == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter runCommandProperties is required and cannot be null."));
+ } else {
+ runCommandProperties.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.createOrUpdate(this.client.getEndpoint(), resourceGroupName, machineName, runCommandName,
+ this.client.getApiVersion(), this.client.getSubscriptionId(), runCommandProperties, accept, context);
+ }
+
+ /**
+ * The operation to create or update a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @param runCommandProperties Parameters supplied to the Create Run Command.
+ * @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 describes a Run Command.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, MachineRunCommandInner> beginCreateOrUpdateAsync(
+ String resourceGroupName, String machineName, String runCommandName,
+ MachineRunCommandInner runCommandProperties) {
+ Mono>> mono
+ = createOrUpdateWithResponseAsync(resourceGroupName, machineName, runCommandName, runCommandProperties);
+ return this.client.getLroResult(mono,
+ this.client.getHttpPipeline(), MachineRunCommandInner.class, MachineRunCommandInner.class,
+ this.client.getContext());
+ }
+
+ /**
+ * The operation to create or update a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @param runCommandProperties Parameters supplied to the Create Run Command.
+ * @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 PollerFlux} for polling of describes a Run Command.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, MachineRunCommandInner> beginCreateOrUpdateAsync(
+ String resourceGroupName, String machineName, String runCommandName,
+ MachineRunCommandInner runCommandProperties, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono = createOrUpdateWithResponseAsync(resourceGroupName, machineName,
+ runCommandName, runCommandProperties, context);
+ return this.client.getLroResult(mono,
+ this.client.getHttpPipeline(), MachineRunCommandInner.class, MachineRunCommandInner.class, context);
+ }
+
+ /**
+ * The operation to create or update a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @param runCommandProperties Parameters supplied to the Create Run Command.
+ * @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 describes a Run Command.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, MachineRunCommandInner> beginCreateOrUpdate(
+ String resourceGroupName, String machineName, String runCommandName,
+ MachineRunCommandInner runCommandProperties) {
+ return this.beginCreateOrUpdateAsync(resourceGroupName, machineName, runCommandName, runCommandProperties)
+ .getSyncPoller();
+ }
+
+ /**
+ * The operation to create or update a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @param runCommandProperties Parameters supplied to the Create Run Command.
+ * @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 describes a Run Command.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, MachineRunCommandInner> beginCreateOrUpdate(
+ String resourceGroupName, String machineName, String runCommandName,
+ MachineRunCommandInner runCommandProperties, Context context) {
+ return this
+ .beginCreateOrUpdateAsync(resourceGroupName, machineName, runCommandName, runCommandProperties, context)
+ .getSyncPoller();
+ }
+
+ /**
+ * The operation to create or update a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @param runCommandProperties Parameters supplied to the Create Run Command.
+ * @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 describes a Run Command on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(String resourceGroupName, String machineName,
+ String runCommandName, MachineRunCommandInner runCommandProperties) {
+ return beginCreateOrUpdateAsync(resourceGroupName, machineName, runCommandName, runCommandProperties).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * The operation to create or update a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @param runCommandProperties Parameters supplied to the Create Run Command.
+ * @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 describes a Run Command on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(String resourceGroupName, String machineName,
+ String runCommandName, MachineRunCommandInner runCommandProperties, Context context) {
+ return beginCreateOrUpdateAsync(resourceGroupName, machineName, runCommandName, runCommandProperties, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * The operation to create or update a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @param runCommandProperties Parameters supplied to the Create Run Command.
+ * @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 describes a Run Command.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public MachineRunCommandInner createOrUpdate(String resourceGroupName, String machineName, String runCommandName,
+ MachineRunCommandInner runCommandProperties) {
+ return createOrUpdateAsync(resourceGroupName, machineName, runCommandName, runCommandProperties).block();
+ }
+
+ /**
+ * The operation to create or update a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @param runCommandProperties Parameters supplied to the Create Run Command.
+ * @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 describes a Run Command.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public MachineRunCommandInner createOrUpdate(String resourceGroupName, String machineName, String runCommandName,
+ MachineRunCommandInner runCommandProperties, Context context) {
+ return createOrUpdateAsync(resourceGroupName, machineName, runCommandName, runCommandProperties, context)
+ .block();
+ }
+
+ /**
+ * The operation to delete a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 machineName,
+ String runCommandName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ if (runCommandName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter runCommandName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.delete(this.client.getEndpoint(), resourceGroupName, machineName,
+ runCommandName, this.client.getApiVersion(), this.client.getSubscriptionId(), accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * The operation to delete a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(String resourceGroupName, String machineName,
+ String runCommandName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ if (runCommandName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter runCommandName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.delete(this.client.getEndpoint(), resourceGroupName, machineName, runCommandName,
+ this.client.getApiVersion(), this.client.getSubscriptionId(), accept, context);
+ }
+
+ /**
+ * The operation to delete a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 machineName,
+ String runCommandName) {
+ Mono>> mono = deleteWithResponseAsync(resourceGroupName, machineName, runCommandName);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ this.client.getContext());
+ }
+
+ /**
+ * The operation to delete a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String machineName,
+ String runCommandName, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono
+ = deleteWithResponseAsync(resourceGroupName, machineName, runCommandName, context);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ context);
+ }
+
+ /**
+ * The operation to delete a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 machineName,
+ String runCommandName) {
+ return this.beginDeleteAsync(resourceGroupName, machineName, runCommandName).getSyncPoller();
+ }
+
+ /**
+ * The operation to delete a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 machineName,
+ String runCommandName, Context context) {
+ return this.beginDeleteAsync(resourceGroupName, machineName, runCommandName, context).getSyncPoller();
+ }
+
+ /**
+ * The operation to delete a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 machineName, String runCommandName) {
+ return beginDeleteAsync(resourceGroupName, machineName, runCommandName).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * The operation to delete a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String machineName, String runCommandName,
+ Context context) {
+ return beginDeleteAsync(resourceGroupName, machineName, runCommandName, context).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * The operation to delete a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 machineName, String runCommandName) {
+ deleteAsync(resourceGroupName, machineName, runCommandName).block();
+ }
+
+ /**
+ * The operation to delete a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 machineName, String runCommandName, Context context) {
+ deleteAsync(resourceGroupName, machineName, runCommandName, context).block();
+ }
+
+ /**
+ * The operation to get a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 describes a Run Command along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String resourceGroupName, String machineName,
+ String runCommandName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ if (runCommandName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter runCommandName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.get(this.client.getEndpoint(), resourceGroupName, machineName,
+ runCommandName, this.client.getApiVersion(), this.client.getSubscriptionId(), accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * The operation to get a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 describes a Run Command along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String resourceGroupName, String machineName,
+ String runCommandName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ if (runCommandName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter runCommandName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.get(this.client.getEndpoint(), resourceGroupName, machineName, runCommandName,
+ this.client.getApiVersion(), this.client.getSubscriptionId(), accept, context);
+ }
+
+ /**
+ * The operation to get a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 describes a Run Command on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String resourceGroupName, String machineName, String runCommandName) {
+ return getWithResponseAsync(resourceGroupName, machineName, runCommandName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * The operation to get a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 describes a Run Command along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(String resourceGroupName, String machineName,
+ String runCommandName, Context context) {
+ return getWithResponseAsync(resourceGroupName, machineName, runCommandName, context).block();
+ }
+
+ /**
+ * The operation to get a run command.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param runCommandName The name of the run command.
+ * @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 describes a Run Command.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public MachineRunCommandInner get(String resourceGroupName, String machineName, String runCommandName) {
+ return getWithResponse(resourceGroupName, machineName, runCommandName, Context.NONE).getValue();
+ }
+
+ /**
+ * The operation to get all the run commands of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param expand The expand expression to apply on the 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 describes the Run Commands List Result along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(String resourceGroupName,
+ String machineName, String expand) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.list(this.client.getEndpoint(), resourceGroupName, machineName, expand,
+ 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()));
+ }
+
+ /**
+ * The operation to get all the run commands of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param expand The expand expression to apply on the operation.
+ * @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 describes the Run Commands List Result along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(String resourceGroupName,
+ String machineName, String expand, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (machineName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter machineName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(this.client.getEndpoint(), resourceGroupName, machineName, expand, 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));
+ }
+
+ /**
+ * The operation to get all the run commands of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param expand The expand expression to apply on the 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 describes the Run Commands List Result as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String resourceGroupName, String machineName, String expand) {
+ return new PagedFlux<>(() -> listSinglePageAsync(resourceGroupName, machineName, expand),
+ nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * The operation to get all the run commands of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 describes the Run Commands List Result as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String resourceGroupName, String machineName) {
+ final String expand = null;
+ return new PagedFlux<>(() -> listSinglePageAsync(resourceGroupName, machineName, expand),
+ nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * The operation to get all the run commands of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param expand The expand expression to apply on the operation.
+ * @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 describes the Run Commands List Result as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String resourceGroupName, String machineName, String expand,
+ Context context) {
+ return new PagedFlux<>(() -> listSinglePageAsync(resourceGroupName, machineName, expand, context),
+ nextLink -> listNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * The operation to get all the run commands of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @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 describes the Run Commands List Result as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(String resourceGroupName, String machineName) {
+ final String expand = null;
+ return new PagedIterable<>(listAsync(resourceGroupName, machineName, expand));
+ }
+
+ /**
+ * The operation to get all the run commands of a non-Azure machine.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param machineName The name of the hybrid machine.
+ * @param expand The expand expression to apply on the operation.
+ * @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 describes the Run Commands List Result as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(String resourceGroupName, String machineName, String expand,
+ Context context) {
+ return new PagedIterable<>(listAsync(resourceGroupName, machineName, expand, 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 describes the Run Commands List Result along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.listNext(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.
+ * @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 describes the Run Commands List Result along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.listNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ res.getValue().value(), res.getValue().nextLink(), null));
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineRunCommandsImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineRunCommandsImpl.java
new file mode 100644
index 0000000000000..2921e1640a0c6
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/MachineRunCommandsImpl.java
@@ -0,0 +1,158 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.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.hybridcompute.fluent.MachineRunCommandsClient;
+import com.azure.resourcemanager.hybridcompute.fluent.models.MachineRunCommandInner;
+import com.azure.resourcemanager.hybridcompute.models.MachineRunCommand;
+import com.azure.resourcemanager.hybridcompute.models.MachineRunCommands;
+
+public final class MachineRunCommandsImpl implements MachineRunCommands {
+ private static final ClientLogger LOGGER = new ClientLogger(MachineRunCommandsImpl.class);
+
+ private final MachineRunCommandsClient innerClient;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager;
+
+ public MachineRunCommandsImpl(MachineRunCommandsClient innerClient,
+ com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public void delete(String resourceGroupName, String machineName, String runCommandName) {
+ this.serviceClient().delete(resourceGroupName, machineName, runCommandName);
+ }
+
+ public void delete(String resourceGroupName, String machineName, String runCommandName, Context context) {
+ this.serviceClient().delete(resourceGroupName, machineName, runCommandName, context);
+ }
+
+ public Response getWithResponse(String resourceGroupName, String machineName,
+ String runCommandName, Context context) {
+ Response inner
+ = this.serviceClient().getWithResponse(resourceGroupName, machineName, runCommandName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new MachineRunCommandImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public MachineRunCommand get(String resourceGroupName, String machineName, String runCommandName) {
+ MachineRunCommandInner inner = this.serviceClient().get(resourceGroupName, machineName, runCommandName);
+ if (inner != null) {
+ return new MachineRunCommandImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public PagedIterable list(String resourceGroupName, String machineName) {
+ PagedIterable inner = this.serviceClient().list(resourceGroupName, machineName);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new MachineRunCommandImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(String resourceGroupName, String machineName, String expand,
+ Context context) {
+ PagedIterable inner
+ = this.serviceClient().list(resourceGroupName, machineName, expand, context);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new MachineRunCommandImpl(inner1, this.manager()));
+ }
+
+ public MachineRunCommand 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 machineName = ResourceManagerUtils.getValueFromIdByName(id, "machines");
+ if (machineName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'machines'.", id)));
+ }
+ String runCommandName = ResourceManagerUtils.getValueFromIdByName(id, "runCommands");
+ if (runCommandName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'runCommands'.", id)));
+ }
+ return this.getWithResponse(resourceGroupName, machineName, runCommandName, 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 machineName = ResourceManagerUtils.getValueFromIdByName(id, "machines");
+ if (machineName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'machines'.", id)));
+ }
+ String runCommandName = ResourceManagerUtils.getValueFromIdByName(id, "runCommands");
+ if (runCommandName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'runCommands'.", id)));
+ }
+ return this.getWithResponse(resourceGroupName, machineName, runCommandName, 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 machineName = ResourceManagerUtils.getValueFromIdByName(id, "machines");
+ if (machineName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'machines'.", id)));
+ }
+ String runCommandName = ResourceManagerUtils.getValueFromIdByName(id, "runCommands");
+ if (runCommandName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'runCommands'.", id)));
+ }
+ this.delete(resourceGroupName, machineName, runCommandName, 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 machineName = ResourceManagerUtils.getValueFromIdByName(id, "machines");
+ if (machineName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'machines'.", id)));
+ }
+ String runCommandName = ResourceManagerUtils.getValueFromIdByName(id, "runCommands");
+ if (runCommandName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'runCommands'.", id)));
+ }
+ this.delete(resourceGroupName, machineName, runCommandName, context);
+ }
+
+ private MachineRunCommandsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.hybridcompute.HybridComputeManager manager() {
+ return this.serviceManager;
+ }
+
+ public MachineRunCommandImpl define(String name) {
+ return new MachineRunCommandImpl(name, this.manager());
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/SettingsImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/SettingsImpl.java
new file mode 100644
index 0000000000000..cd9cab46394a2
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/SettingsImpl.java
@@ -0,0 +1,53 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.hybridcompute.fluent.models.SettingsInner;
+import com.azure.resourcemanager.hybridcompute.models.Settings;
+
+public final class SettingsImpl implements Settings {
+ private SettingsInner innerObject;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager;
+
+ SettingsImpl(SettingsInner innerObject,
+ com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public String tenantId() {
+ return this.innerModel().tenantId();
+ }
+
+ public String gatewayResourceId() {
+ return this.innerModel().gatewayResourceId();
+ }
+
+ public SettingsInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.hybridcompute.HybridComputeManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/SettingsOperationsClientImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/SettingsOperationsClientImpl.java
new file mode 100644
index 0000000000000..d07350a862241
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/SettingsOperationsClientImpl.java
@@ -0,0 +1,623 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+import com.azure.core.annotation.BodyParam;
+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.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.hybridcompute.fluent.SettingsOperationsClient;
+import com.azure.resourcemanager.hybridcompute.fluent.models.SettingsInner;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in SettingsOperationsClient.
+ */
+public final class SettingsOperationsClientImpl implements SettingsOperationsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final SettingsOperationsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final HybridComputeManagementClientImpl client;
+
+ /**
+ * Initializes an instance of SettingsOperationsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ SettingsOperationsClientImpl(HybridComputeManagementClientImpl client) {
+ this.service = RestProxy.create(SettingsOperationsService.class, client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for HybridComputeManagementClientSettingsOperations to be used by the
+ * proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "HybridComputeManagem")
+ public interface SettingsOperationsService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{baseProvider}/{baseResourceType}/{baseResourceName}/providers/Microsoft.HybridCompute/settings/{settingsResourceName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("baseProvider") String baseProvider,
+ @PathParam("baseResourceType") String baseResourceType,
+ @PathParam("baseResourceName") String baseResourceName,
+ @PathParam("settingsResourceName") String settingsResourceName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{baseProvider}/{baseResourceType}/{baseResourceName}/providers/Microsoft.HybridCompute/settings/{settingsResourceName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> update(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("baseProvider") String baseProvider,
+ @PathParam("baseResourceType") String baseResourceType,
+ @PathParam("baseResourceName") String baseResourceName,
+ @PathParam("settingsResourceName") String settingsResourceName,
+ @BodyParam("application/json") SettingsInner parameters, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Patch("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{baseProvider}/{baseResourceType}/{baseResourceName}/providers/Microsoft.HybridCompute/settings/{settingsResourceName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> patch(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("baseProvider") String baseProvider,
+ @PathParam("baseResourceType") String baseResourceType,
+ @PathParam("baseResourceName") String baseResourceName,
+ @PathParam("settingsResourceName") String settingsResourceName,
+ @BodyParam("application/json") SettingsInner parameters, @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Returns the base Settings for the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String resourceGroupName, String baseProvider,
+ String baseResourceType, String baseResourceName, String settingsResourceName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (baseProvider == null) {
+ return Mono.error(new IllegalArgumentException("Parameter baseProvider is required and cannot be null."));
+ }
+ if (baseResourceType == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter baseResourceType is required and cannot be null."));
+ }
+ if (baseResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter baseResourceName is required and cannot be null."));
+ }
+ if (settingsResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter settingsResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.get(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, baseProvider, baseResourceType, baseResourceName,
+ settingsResourceName, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Returns the base Settings for the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @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} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String resourceGroupName, String baseProvider,
+ String baseResourceType, String baseResourceName, String settingsResourceName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (baseProvider == null) {
+ return Mono.error(new IllegalArgumentException("Parameter baseProvider is required and cannot be null."));
+ }
+ if (baseResourceType == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter baseResourceType is required and cannot be null."));
+ }
+ if (baseResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter baseResourceName is required and cannot be null."));
+ }
+ if (settingsResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter settingsResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.get(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, baseProvider, baseResourceType, baseResourceName, settingsResourceName, accept, context);
+ }
+
+ /**
+ * Returns the base Settings for the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response body on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String resourceGroupName, String baseProvider, String baseResourceType,
+ String baseResourceName, String settingsResourceName) {
+ return getWithResponseAsync(resourceGroupName, baseProvider, baseResourceType, baseResourceName,
+ settingsResourceName).flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Returns the base Settings for the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @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)
+ public Response getWithResponse(String resourceGroupName, String baseProvider,
+ String baseResourceType, String baseResourceName, String settingsResourceName, Context context) {
+ return getWithResponseAsync(resourceGroupName, baseProvider, baseResourceType, baseResourceName,
+ settingsResourceName, context).block();
+ }
+
+ /**
+ * Returns the base Settings for the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SettingsInner get(String resourceGroupName, String baseProvider, String baseResourceType,
+ String baseResourceName, String settingsResourceName) {
+ return getWithResponse(resourceGroupName, baseProvider, baseResourceType, baseResourceName,
+ settingsResourceName, Context.NONE).getValue();
+ }
+
+ /**
+ * Updates the base Settings of the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @param parameters Settings details.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> updateWithResponseAsync(String resourceGroupName, String baseProvider,
+ String baseResourceType, String baseResourceName, String settingsResourceName, SettingsInner parameters) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (baseProvider == null) {
+ return Mono.error(new IllegalArgumentException("Parameter baseProvider is required and cannot be null."));
+ }
+ if (baseResourceType == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter baseResourceType is required and cannot be null."));
+ }
+ if (baseResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter baseResourceName is required and cannot be null."));
+ }
+ if (settingsResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter settingsResourceName is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.update(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, baseProvider, baseResourceType, baseResourceName,
+ settingsResourceName, parameters, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Updates the base Settings of the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @param parameters Settings details.
+ * @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} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> updateWithResponseAsync(String resourceGroupName, String baseProvider,
+ String baseResourceType, String baseResourceName, String settingsResourceName, SettingsInner parameters,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (baseProvider == null) {
+ return Mono.error(new IllegalArgumentException("Parameter baseProvider is required and cannot be null."));
+ }
+ if (baseResourceType == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter baseResourceType is required and cannot be null."));
+ }
+ if (baseResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter baseResourceName is required and cannot be null."));
+ }
+ if (settingsResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter settingsResourceName is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.update(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, baseProvider, baseResourceType, baseResourceName, settingsResourceName, parameters,
+ accept, context);
+ }
+
+ /**
+ * Updates the base Settings of the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @param parameters Settings details.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response body on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(String resourceGroupName, String baseProvider, String baseResourceType,
+ String baseResourceName, String settingsResourceName, SettingsInner parameters) {
+ return updateWithResponseAsync(resourceGroupName, baseProvider, baseResourceType, baseResourceName,
+ settingsResourceName, parameters).flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Updates the base Settings of the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @param parameters Settings details.
+ * @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)
+ public Response updateWithResponse(String resourceGroupName, String baseProvider,
+ String baseResourceType, String baseResourceName, String settingsResourceName, SettingsInner parameters,
+ Context context) {
+ return updateWithResponseAsync(resourceGroupName, baseProvider, baseResourceType, baseResourceName,
+ settingsResourceName, parameters, context).block();
+ }
+
+ /**
+ * Updates the base Settings of the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @param parameters Settings details.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SettingsInner update(String resourceGroupName, String baseProvider, String baseResourceType,
+ String baseResourceName, String settingsResourceName, SettingsInner parameters) {
+ return updateWithResponse(resourceGroupName, baseProvider, baseResourceType, baseResourceName,
+ settingsResourceName, parameters, Context.NONE).getValue();
+ }
+
+ /**
+ * Update the base Settings of the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @param parameters Settings details.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> patchWithResponseAsync(String resourceGroupName, String baseProvider,
+ String baseResourceType, String baseResourceName, String settingsResourceName, SettingsInner parameters) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (baseProvider == null) {
+ return Mono.error(new IllegalArgumentException("Parameter baseProvider is required and cannot be null."));
+ }
+ if (baseResourceType == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter baseResourceType is required and cannot be null."));
+ }
+ if (baseResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter baseResourceName is required and cannot be null."));
+ }
+ if (settingsResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter settingsResourceName is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.patch(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, baseProvider, baseResourceType, baseResourceName,
+ settingsResourceName, parameters, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Update the base Settings of the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @param parameters Settings details.
+ * @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} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> patchWithResponseAsync(String resourceGroupName, String baseProvider,
+ String baseResourceType, String baseResourceName, String settingsResourceName, SettingsInner parameters,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (baseProvider == null) {
+ return Mono.error(new IllegalArgumentException("Parameter baseProvider is required and cannot be null."));
+ }
+ if (baseResourceType == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter baseResourceType is required and cannot be null."));
+ }
+ if (baseResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter baseResourceName is required and cannot be null."));
+ }
+ if (settingsResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter settingsResourceName is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.patch(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, baseProvider, baseResourceType, baseResourceName, settingsResourceName, parameters,
+ accept, context);
+ }
+
+ /**
+ * Update the base Settings of the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @param parameters Settings details.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response body on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono patchAsync(String resourceGroupName, String baseProvider, String baseResourceType,
+ String baseResourceName, String settingsResourceName, SettingsInner parameters) {
+ return patchWithResponseAsync(resourceGroupName, baseProvider, baseResourceType, baseResourceName,
+ settingsResourceName, parameters).flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Update the base Settings of the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @param parameters Settings details.
+ * @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)
+ public Response patchWithResponse(String resourceGroupName, String baseProvider,
+ String baseResourceType, String baseResourceName, String settingsResourceName, SettingsInner parameters,
+ Context context) {
+ return patchWithResponseAsync(resourceGroupName, baseProvider, baseResourceType, baseResourceName,
+ settingsResourceName, parameters, context).block();
+ }
+
+ /**
+ * Update the base Settings of the target resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param baseProvider The name of the base Resource Provider.
+ * @param baseResourceType The name of the base Resource Type.
+ * @param baseResourceName The name of the base resource.
+ * @param settingsResourceName The name of the settings resource.
+ * @param parameters Settings details.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SettingsInner patch(String resourceGroupName, String baseProvider, String baseResourceType,
+ String baseResourceName, String settingsResourceName, SettingsInner parameters) {
+ return patchWithResponse(resourceGroupName, baseProvider, baseResourceType, baseResourceName,
+ settingsResourceName, parameters, Context.NONE).getValue();
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/SettingsOperationsImpl.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/SettingsOperationsImpl.java
new file mode 100644
index 0000000000000..b663f67428d25
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/implementation/SettingsOperationsImpl.java
@@ -0,0 +1,110 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.implementation;
+
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.hybridcompute.fluent.SettingsOperationsClient;
+import com.azure.resourcemanager.hybridcompute.fluent.models.SettingsInner;
+import com.azure.resourcemanager.hybridcompute.models.Settings;
+import com.azure.resourcemanager.hybridcompute.models.SettingsOperations;
+
+public final class SettingsOperationsImpl implements SettingsOperations {
+ private static final ClientLogger LOGGER = new ClientLogger(SettingsOperationsImpl.class);
+
+ private final SettingsOperationsClient innerClient;
+
+ private final com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager;
+
+ public SettingsOperationsImpl(SettingsOperationsClient innerClient,
+ com.azure.resourcemanager.hybridcompute.HybridComputeManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response getWithResponse(String resourceGroupName, String baseProvider, String baseResourceType,
+ String baseResourceName, String settingsResourceName, Context context) {
+ Response inner = this.serviceClient()
+ .getWithResponse(resourceGroupName, baseProvider, baseResourceType, baseResourceName, settingsResourceName,
+ context);
+ if (inner != null) {
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new SettingsImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public Settings get(String resourceGroupName, String baseProvider, String baseResourceType, String baseResourceName,
+ String settingsResourceName) {
+ SettingsInner inner = this.serviceClient()
+ .get(resourceGroupName, baseProvider, baseResourceType, baseResourceName, settingsResourceName);
+ if (inner != null) {
+ return new SettingsImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response updateWithResponse(String resourceGroupName, String baseProvider, String baseResourceType,
+ String baseResourceName, String settingsResourceName, SettingsInner parameters, Context context) {
+ Response inner = this.serviceClient()
+ .updateWithResponse(resourceGroupName, baseProvider, baseResourceType, baseResourceName,
+ settingsResourceName, parameters, context);
+ if (inner != null) {
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new SettingsImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public Settings update(String resourceGroupName, String baseProvider, String baseResourceType,
+ String baseResourceName, String settingsResourceName, SettingsInner parameters) {
+ SettingsInner inner = this.serviceClient()
+ .update(resourceGroupName, baseProvider, baseResourceType, baseResourceName, settingsResourceName,
+ parameters);
+ if (inner != null) {
+ return new SettingsImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response patchWithResponse(String resourceGroupName, String baseProvider, String baseResourceType,
+ String baseResourceName, String settingsResourceName, SettingsInner parameters, Context context) {
+ Response inner = this.serviceClient()
+ .patchWithResponse(resourceGroupName, baseProvider, baseResourceType, baseResourceName,
+ settingsResourceName, parameters, context);
+ if (inner != null) {
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new SettingsImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public Settings patch(String resourceGroupName, String baseProvider, String baseResourceType,
+ String baseResourceName, String settingsResourceName, SettingsInner parameters) {
+ SettingsInner inner = this.serviceClient()
+ .patch(resourceGroupName, baseProvider, baseResourceType, baseResourceName, settingsResourceName,
+ parameters);
+ if (inner != null) {
+ return new SettingsImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ private SettingsOperationsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.hybridcompute.HybridComputeManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/AgentUpgrade.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/AgentUpgrade.java
index ecd02889eb629..24509dc5d74c0 100644
--- a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/AgentUpgrade.java
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/AgentUpgrade.java
@@ -26,12 +26,12 @@ public final class AgentUpgrade implements JsonSerializable {
private String desiredVersion;
/*
- * The correlation ID passed in from RSM per upgrade.
+ * The correlation ID associated with an agent upgrade operation.
*/
private UUID correlationId;
/*
- * Specifies if RSM should try to upgrade this machine
+ * Specifies if the machine's agent should be upgraded
*/
private Boolean enableAutomaticUpgrade;
@@ -82,7 +82,7 @@ public AgentUpgrade withDesiredVersion(String desiredVersion) {
}
/**
- * Get the correlationId property: The correlation ID passed in from RSM per upgrade.
+ * Get the correlationId property: The correlation ID associated with an agent upgrade operation.
*
* @return the correlationId value.
*/
@@ -91,7 +91,7 @@ public UUID correlationId() {
}
/**
- * Set the correlationId property: The correlation ID passed in from RSM per upgrade.
+ * Set the correlationId property: The correlation ID associated with an agent upgrade operation.
*
* @param correlationId the correlationId value to set.
* @return the AgentUpgrade object itself.
@@ -102,7 +102,7 @@ public AgentUpgrade withCorrelationId(UUID correlationId) {
}
/**
- * Get the enableAutomaticUpgrade property: Specifies if RSM should try to upgrade this machine.
+ * Get the enableAutomaticUpgrade property: Specifies if the machine's agent should be upgraded.
*
* @return the enableAutomaticUpgrade value.
*/
@@ -111,7 +111,7 @@ public Boolean enableAutomaticUpgrade() {
}
/**
- * Set the enableAutomaticUpgrade property: Specifies if RSM should try to upgrade this machine.
+ * Set the enableAutomaticUpgrade property: Specifies if the machine's agent should be upgraded.
*
* @param enableAutomaticUpgrade the enableAutomaticUpgrade value to set.
* @return the AgentUpgrade object itself.
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/Disk.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/Disk.java
new file mode 100644
index 0000000000000..93b49b061b720
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/Disk.java
@@ -0,0 +1,261 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Describes a disk on the machine.
+ */
+@Fluent
+public final class Disk implements JsonSerializable {
+ /*
+ * The path of the disk.
+ */
+ private String path;
+
+ /*
+ * The type of the disk.
+ */
+ private String diskType;
+
+ /*
+ * The generated ID of the disk.
+ */
+ private String generatedId;
+
+ /*
+ * The ID of the disk.
+ */
+ private String id;
+
+ /*
+ * The name of the disk.
+ */
+ private String name;
+
+ /*
+ * The size of the disk, in bytes
+ */
+ private Long maxSizeInBytes;
+
+ /*
+ * The amount of space used on the disk, in bytes
+ */
+ private Long usedSpaceInBytes;
+
+ /**
+ * Creates an instance of Disk class.
+ */
+ public Disk() {
+ }
+
+ /**
+ * Get the path property: The path of the disk.
+ *
+ * @return the path value.
+ */
+ public String path() {
+ return this.path;
+ }
+
+ /**
+ * Set the path property: The path of the disk.
+ *
+ * @param path the path value to set.
+ * @return the Disk object itself.
+ */
+ public Disk withPath(String path) {
+ this.path = path;
+ return this;
+ }
+
+ /**
+ * Get the diskType property: The type of the disk.
+ *
+ * @return the diskType value.
+ */
+ public String diskType() {
+ return this.diskType;
+ }
+
+ /**
+ * Set the diskType property: The type of the disk.
+ *
+ * @param diskType the diskType value to set.
+ * @return the Disk object itself.
+ */
+ public Disk withDiskType(String diskType) {
+ this.diskType = diskType;
+ return this;
+ }
+
+ /**
+ * Get the generatedId property: The generated ID of the disk.
+ *
+ * @return the generatedId value.
+ */
+ public String generatedId() {
+ return this.generatedId;
+ }
+
+ /**
+ * Set the generatedId property: The generated ID of the disk.
+ *
+ * @param generatedId the generatedId value to set.
+ * @return the Disk object itself.
+ */
+ public Disk withGeneratedId(String generatedId) {
+ this.generatedId = generatedId;
+ return this;
+ }
+
+ /**
+ * Get the id property: The ID of the disk.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: The ID of the disk.
+ *
+ * @param id the id value to set.
+ * @return the Disk object itself.
+ */
+ public Disk withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the name property: The name of the disk.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: The name of the disk.
+ *
+ * @param name the name value to set.
+ * @return the Disk object itself.
+ */
+ public Disk withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the maxSizeInBytes property: The size of the disk, in bytes.
+ *
+ * @return the maxSizeInBytes value.
+ */
+ public Long maxSizeInBytes() {
+ return this.maxSizeInBytes;
+ }
+
+ /**
+ * Set the maxSizeInBytes property: The size of the disk, in bytes.
+ *
+ * @param maxSizeInBytes the maxSizeInBytes value to set.
+ * @return the Disk object itself.
+ */
+ public Disk withMaxSizeInBytes(Long maxSizeInBytes) {
+ this.maxSizeInBytes = maxSizeInBytes;
+ return this;
+ }
+
+ /**
+ * Get the usedSpaceInBytes property: The amount of space used on the disk, in bytes.
+ *
+ * @return the usedSpaceInBytes value.
+ */
+ public Long usedSpaceInBytes() {
+ return this.usedSpaceInBytes;
+ }
+
+ /**
+ * Set the usedSpaceInBytes property: The amount of space used on the disk, in bytes.
+ *
+ * @param usedSpaceInBytes the usedSpaceInBytes value to set.
+ * @return the Disk object itself.
+ */
+ public Disk withUsedSpaceInBytes(Long usedSpaceInBytes) {
+ this.usedSpaceInBytes = usedSpaceInBytes;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("path", this.path);
+ jsonWriter.writeStringField("diskType", this.diskType);
+ jsonWriter.writeStringField("generatedId", this.generatedId);
+ jsonWriter.writeStringField("id", this.id);
+ jsonWriter.writeStringField("name", this.name);
+ jsonWriter.writeNumberField("maxSizeInBytes", this.maxSizeInBytes);
+ jsonWriter.writeNumberField("usedSpaceInBytes", this.usedSpaceInBytes);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of Disk from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of Disk 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 Disk.
+ */
+ public static Disk fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ Disk deserializedDisk = new Disk();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("path".equals(fieldName)) {
+ deserializedDisk.path = reader.getString();
+ } else if ("diskType".equals(fieldName)) {
+ deserializedDisk.diskType = reader.getString();
+ } else if ("generatedId".equals(fieldName)) {
+ deserializedDisk.generatedId = reader.getString();
+ } else if ("id".equals(fieldName)) {
+ deserializedDisk.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedDisk.name = reader.getString();
+ } else if ("maxSizeInBytes".equals(fieldName)) {
+ deserializedDisk.maxSizeInBytes = reader.getNullable(JsonReader::getLong);
+ } else if ("usedSpaceInBytes".equals(fieldName)) {
+ deserializedDisk.usedSpaceInBytes = reader.getNullable(JsonReader::getLong);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedDisk;
+ });
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/ExecutionState.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/ExecutionState.java
new file mode 100644
index 0000000000000..cc9467c9d1ff1
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/ExecutionState.java
@@ -0,0 +1,76 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.models;
+
+import com.azure.core.util.ExpandableStringEnum;
+import java.util.Collection;
+
+/**
+ * Script execution status.
+ */
+public final class ExecutionState extends ExpandableStringEnum {
+ /**
+ * Static value Unknown for ExecutionState.
+ */
+ public static final ExecutionState UNKNOWN = fromString("Unknown");
+
+ /**
+ * Static value Pending for ExecutionState.
+ */
+ public static final ExecutionState PENDING = fromString("Pending");
+
+ /**
+ * Static value Running for ExecutionState.
+ */
+ public static final ExecutionState RUNNING = fromString("Running");
+
+ /**
+ * Static value Failed for ExecutionState.
+ */
+ public static final ExecutionState FAILED = fromString("Failed");
+
+ /**
+ * Static value Succeeded for ExecutionState.
+ */
+ public static final ExecutionState SUCCEEDED = fromString("Succeeded");
+
+ /**
+ * Static value TimedOut for ExecutionState.
+ */
+ public static final ExecutionState TIMED_OUT = fromString("TimedOut");
+
+ /**
+ * Static value Canceled for ExecutionState.
+ */
+ public static final ExecutionState CANCELED = fromString("Canceled");
+
+ /**
+ * Creates a new instance of ExecutionState value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Deprecated
+ public ExecutionState() {
+ }
+
+ /**
+ * Creates or finds a ExecutionState from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding ExecutionState.
+ */
+ public static ExecutionState fromString(String name) {
+ return fromString(name, ExecutionState.class);
+ }
+
+ /**
+ * Gets known ExecutionState values.
+ *
+ * @return known ExecutionState values.
+ */
+ public static Collection values() {
+ return values(ExecutionState.class);
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/ExtensionsResourceStatus.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/ExtensionsResourceStatus.java
new file mode 100644
index 0000000000000..d1e59a9b2a51c
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/ExtensionsResourceStatus.java
@@ -0,0 +1,211 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.models;
+
+import com.azure.core.annotation.Fluent;
+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;
+
+/**
+ * Instance view status.
+ */
+@Fluent
+public final class ExtensionsResourceStatus implements JsonSerializable {
+ /*
+ * The status code.
+ */
+ private String code;
+
+ /*
+ * The level code.
+ */
+ private ExtensionsStatusLevelTypes level;
+
+ /*
+ * The short localizable label for the status.
+ */
+ private String displayStatus;
+
+ /*
+ * The detailed status message, including for alerts and error messages.
+ */
+ private String message;
+
+ /*
+ * The time of the status.
+ */
+ private OffsetDateTime time;
+
+ /**
+ * Creates an instance of ExtensionsResourceStatus class.
+ */
+ public ExtensionsResourceStatus() {
+ }
+
+ /**
+ * Get the code property: The status code.
+ *
+ * @return the code value.
+ */
+ public String code() {
+ return this.code;
+ }
+
+ /**
+ * Set the code property: The status code.
+ *
+ * @param code the code value to set.
+ * @return the ExtensionsResourceStatus object itself.
+ */
+ public ExtensionsResourceStatus withCode(String code) {
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * Get the level property: The level code.
+ *
+ * @return the level value.
+ */
+ public ExtensionsStatusLevelTypes level() {
+ return this.level;
+ }
+
+ /**
+ * Set the level property: The level code.
+ *
+ * @param level the level value to set.
+ * @return the ExtensionsResourceStatus object itself.
+ */
+ public ExtensionsResourceStatus withLevel(ExtensionsStatusLevelTypes level) {
+ this.level = level;
+ return this;
+ }
+
+ /**
+ * Get the displayStatus property: The short localizable label for the status.
+ *
+ * @return the displayStatus value.
+ */
+ public String displayStatus() {
+ return this.displayStatus;
+ }
+
+ /**
+ * Set the displayStatus property: The short localizable label for the status.
+ *
+ * @param displayStatus the displayStatus value to set.
+ * @return the ExtensionsResourceStatus object itself.
+ */
+ public ExtensionsResourceStatus withDisplayStatus(String displayStatus) {
+ this.displayStatus = displayStatus;
+ return this;
+ }
+
+ /**
+ * Get the message property: The detailed status message, including for alerts and error messages.
+ *
+ * @return the message value.
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set the message property: The detailed status message, including for alerts and error messages.
+ *
+ * @param message the message value to set.
+ * @return the ExtensionsResourceStatus object itself.
+ */
+ public ExtensionsResourceStatus withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Get the time property: The time of the status.
+ *
+ * @return the time value.
+ */
+ public OffsetDateTime time() {
+ return this.time;
+ }
+
+ /**
+ * Set the time property: The time of the status.
+ *
+ * @param time the time value to set.
+ * @return the ExtensionsResourceStatus object itself.
+ */
+ public ExtensionsResourceStatus withTime(OffsetDateTime time) {
+ this.time = time;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("code", this.code);
+ jsonWriter.writeStringField("level", this.level == null ? null : this.level.toString());
+ jsonWriter.writeStringField("displayStatus", this.displayStatus);
+ jsonWriter.writeStringField("message", this.message);
+ jsonWriter.writeStringField("time",
+ this.time == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.time));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ExtensionsResourceStatus from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ExtensionsResourceStatus 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 ExtensionsResourceStatus.
+ */
+ public static ExtensionsResourceStatus fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ExtensionsResourceStatus deserializedExtensionsResourceStatus = new ExtensionsResourceStatus();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("code".equals(fieldName)) {
+ deserializedExtensionsResourceStatus.code = reader.getString();
+ } else if ("level".equals(fieldName)) {
+ deserializedExtensionsResourceStatus.level
+ = ExtensionsStatusLevelTypes.fromString(reader.getString());
+ } else if ("displayStatus".equals(fieldName)) {
+ deserializedExtensionsResourceStatus.displayStatus = reader.getString();
+ } else if ("message".equals(fieldName)) {
+ deserializedExtensionsResourceStatus.message = reader.getString();
+ } else if ("time".equals(fieldName)) {
+ deserializedExtensionsResourceStatus.time = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedExtensionsResourceStatus;
+ });
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/ExtensionsStatusLevelTypes.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/ExtensionsStatusLevelTypes.java
new file mode 100644
index 0000000000000..854b44cfe2fcf
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/ExtensionsStatusLevelTypes.java
@@ -0,0 +1,61 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.models;
+
+/**
+ * The level code.
+ */
+public enum ExtensionsStatusLevelTypes {
+ /**
+ * Enum value Info.
+ */
+ INFO("Info"),
+
+ /**
+ * Enum value Warning.
+ */
+ WARNING("Warning"),
+
+ /**
+ * Enum value Error.
+ */
+ ERROR("Error");
+
+ /**
+ * The actual serialized value for a ExtensionsStatusLevelTypes instance.
+ */
+ private final String value;
+
+ ExtensionsStatusLevelTypes(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a ExtensionsStatusLevelTypes instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed ExtensionsStatusLevelTypes object, or null if unable to parse.
+ */
+ public static ExtensionsStatusLevelTypes fromString(String value) {
+ if (value == null) {
+ return null;
+ }
+ ExtensionsStatusLevelTypes[] items = ExtensionsStatusLevelTypes.values();
+ for (ExtensionsStatusLevelTypes item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/FirmwareProfile.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/FirmwareProfile.java
new file mode 100644
index 0000000000000..40686aa75e807
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/FirmwareProfile.java
@@ -0,0 +1,97 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Describes the firmware of the machine.
+ */
+@Immutable
+public final class FirmwareProfile implements JsonSerializable {
+ /*
+ * The serial number of the firmware
+ */
+ private String serialNumber;
+
+ /*
+ * The type of the firmware
+ */
+ private String type;
+
+ /**
+ * Creates an instance of FirmwareProfile class.
+ */
+ public FirmwareProfile() {
+ }
+
+ /**
+ * Get the serialNumber property: The serial number of the firmware.
+ *
+ * @return the serialNumber value.
+ */
+ public String serialNumber() {
+ return this.serialNumber;
+ }
+
+ /**
+ * Get the type property: The type of the firmware.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of FirmwareProfile from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of FirmwareProfile 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 FirmwareProfile.
+ */
+ public static FirmwareProfile fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ FirmwareProfile deserializedFirmwareProfile = new FirmwareProfile();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("serialNumber".equals(fieldName)) {
+ deserializedFirmwareProfile.serialNumber = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedFirmwareProfile.type = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedFirmwareProfile;
+ });
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/Gateway.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/Gateway.java
new file mode 100644
index 0000000000000..6da5832be6e3c
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/Gateway.java
@@ -0,0 +1,310 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.models;
+
+import com.azure.core.management.Region;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.hybridcompute.fluent.models.GatewayInner;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * An immutable client-side representation of Gateway.
+ */
+public interface Gateway {
+ /**
+ * Gets the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * Gets the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * Gets the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * Gets the location property: The geo-location where the resource lives.
+ *
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * Gets the tags property: Resource tags.
+ *
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * Gets the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ SystemData systemData();
+
+ /**
+ * Gets the provisioningState property: The provisioning state, which only appears in the response.
+ *
+ * @return the provisioningState value.
+ */
+ ProvisioningState provisioningState();
+
+ /**
+ * Gets the gatewayId property: A unique, immutable, identifier for the Gateway.
+ *
+ * @return the gatewayId value.
+ */
+ String gatewayId();
+
+ /**
+ * Gets the gatewayType property: The type of the Gateway resource.
+ *
+ * @return the gatewayType value.
+ */
+ GatewayType gatewayType();
+
+ /**
+ * Gets the gatewayEndpoint property: The endpoint fqdn for the Gateway.
+ *
+ * @return the gatewayEndpoint value.
+ */
+ String gatewayEndpoint();
+
+ /**
+ * Gets the allowedFeatures property: Specifies the list of features that are enabled for this Gateway.
+ *
+ * @return the allowedFeatures value.
+ */
+ List allowedFeatures();
+
+ /**
+ * Gets the region of the resource.
+ *
+ * @return the region of the resource.
+ */
+ Region region();
+
+ /**
+ * Gets the name of the resource region.
+ *
+ * @return the name of the resource region.
+ */
+ String regionName();
+
+ /**
+ * Gets the name of the resource group.
+ *
+ * @return the name of the resource group.
+ */
+ String resourceGroupName();
+
+ /**
+ * Gets the inner com.azure.resourcemanager.hybridcompute.fluent.models.GatewayInner object.
+ *
+ * @return the inner object.
+ */
+ GatewayInner innerModel();
+
+ /**
+ * The entirety of the Gateway definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithLocation,
+ DefinitionStages.WithResourceGroup, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * The Gateway definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of the Gateway definition.
+ */
+ interface Blank extends WithLocation {
+ }
+
+ /**
+ * The stage of the Gateway definition allowing to specify location.
+ */
+ interface WithLocation {
+ /**
+ * Specifies the region for the resource.
+ *
+ * @param location The geo-location where the resource lives.
+ * @return the next definition stage.
+ */
+ WithResourceGroup withRegion(Region location);
+
+ /**
+ * Specifies the region for the resource.
+ *
+ * @param location The geo-location where the resource lives.
+ * @return the next definition stage.
+ */
+ WithResourceGroup withRegion(String location);
+ }
+
+ /**
+ * The stage of the Gateway definition allowing to specify parent resource.
+ */
+ interface WithResourceGroup {
+ /**
+ * Specifies resourceGroupName.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @return the next definition stage.
+ */
+ WithCreate withExistingResourceGroup(String resourceGroupName);
+ }
+
+ /**
+ * The stage of the Gateway definition which contains all the minimum required properties for the resource to be
+ * created, but also allows for any other optional properties to be specified.
+ */
+ interface WithCreate
+ extends DefinitionStages.WithTags, DefinitionStages.WithGatewayType, DefinitionStages.WithAllowedFeatures {
+ /**
+ * Executes the create request.
+ *
+ * @return the created resource.
+ */
+ Gateway create();
+
+ /**
+ * Executes the create request.
+ *
+ * @param context The context to associate with this operation.
+ * @return the created resource.
+ */
+ Gateway create(Context context);
+ }
+
+ /**
+ * The stage of the Gateway definition allowing to specify tags.
+ */
+ interface WithTags {
+ /**
+ * Specifies the tags property: Resource tags..
+ *
+ * @param tags Resource tags.
+ * @return the next definition stage.
+ */
+ WithCreate withTags(Map tags);
+ }
+
+ /**
+ * The stage of the Gateway definition allowing to specify gatewayType.
+ */
+ interface WithGatewayType {
+ /**
+ * Specifies the gatewayType property: The type of the Gateway resource..
+ *
+ * @param gatewayType The type of the Gateway resource.
+ * @return the next definition stage.
+ */
+ WithCreate withGatewayType(GatewayType gatewayType);
+ }
+
+ /**
+ * The stage of the Gateway definition allowing to specify allowedFeatures.
+ */
+ interface WithAllowedFeatures {
+ /**
+ * Specifies the allowedFeatures property: Specifies the list of features that are enabled for this
+ * Gateway..
+ *
+ * @param allowedFeatures Specifies the list of features that are enabled for this Gateway.
+ * @return the next definition stage.
+ */
+ WithCreate withAllowedFeatures(List allowedFeatures);
+ }
+ }
+
+ /**
+ * Begins update for the Gateway resource.
+ *
+ * @return the stage of resource update.
+ */
+ Gateway.Update update();
+
+ /**
+ * The template for Gateway update.
+ */
+ interface Update extends UpdateStages.WithTags, UpdateStages.WithAllowedFeatures {
+ /**
+ * Executes the update request.
+ *
+ * @return the updated resource.
+ */
+ Gateway apply();
+
+ /**
+ * Executes the update request.
+ *
+ * @param context The context to associate with this operation.
+ * @return the updated resource.
+ */
+ Gateway apply(Context context);
+ }
+
+ /**
+ * The Gateway update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the Gateway update allowing to specify tags.
+ */
+ interface WithTags {
+ /**
+ * Specifies the tags property: Resource tags.
+ *
+ * @param tags Resource tags.
+ * @return the next definition stage.
+ */
+ Update withTags(Map tags);
+ }
+
+ /**
+ * The stage of the Gateway update allowing to specify allowedFeatures.
+ */
+ interface WithAllowedFeatures {
+ /**
+ * Specifies the allowedFeatures property: Specifies the list of features that are enabled for this
+ * Gateway..
+ *
+ * @param allowedFeatures Specifies the list of features that are enabled for this Gateway.
+ * @return the next definition stage.
+ */
+ Update withAllowedFeatures(List allowedFeatures);
+ }
+ }
+
+ /**
+ * Refreshes the resource to sync with Azure.
+ *
+ * @return the refreshed resource.
+ */
+ Gateway refresh();
+
+ /**
+ * Refreshes the resource to sync with Azure.
+ *
+ * @param context The context to associate with this operation.
+ * @return the refreshed resource.
+ */
+ Gateway refresh(Context context);
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/GatewayType.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/GatewayType.java
new file mode 100644
index 0000000000000..0a3a7f5c7d470
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/GatewayType.java
@@ -0,0 +1,46 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.models;
+
+import com.azure.core.util.ExpandableStringEnum;
+import java.util.Collection;
+
+/**
+ * The type of the Gateway resource.
+ */
+public final class GatewayType extends ExpandableStringEnum {
+ /**
+ * Static value Public for GatewayType.
+ */
+ public static final GatewayType PUBLIC = fromString("Public");
+
+ /**
+ * Creates a new instance of GatewayType value.
+ *
+ * @deprecated Use the {@link #fromString(String)} factory method.
+ */
+ @Deprecated
+ public GatewayType() {
+ }
+
+ /**
+ * Creates or finds a GatewayType from its string representation.
+ *
+ * @param name a name to look for.
+ * @return the corresponding GatewayType.
+ */
+ public static GatewayType fromString(String name) {
+ return fromString(name, GatewayType.class);
+ }
+
+ /**
+ * Gets known GatewayType values.
+ *
+ * @return known GatewayType values.
+ */
+ public static Collection values() {
+ return values(GatewayType.class);
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/GatewayUpdate.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/GatewayUpdate.java
new file mode 100644
index 0000000000000..532daa0100e8c
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/GatewayUpdate.java
@@ -0,0 +1,124 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.hybridcompute.fluent.models.GatewayUpdateProperties;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Describes a License Update.
+ */
+@Fluent
+public final class GatewayUpdate extends ResourceUpdate {
+ /*
+ * Gateway Update properties
+ */
+ private GatewayUpdateProperties innerProperties;
+
+ /**
+ * Creates an instance of GatewayUpdate class.
+ */
+ public GatewayUpdate() {
+ }
+
+ /**
+ * Get the innerProperties property: Gateway Update properties.
+ *
+ * @return the innerProperties value.
+ */
+ private GatewayUpdateProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public GatewayUpdate withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the allowedFeatures property: Specifies the list of features that are enabled for this Gateway.
+ *
+ * @return the allowedFeatures value.
+ */
+ public List allowedFeatures() {
+ return this.innerProperties() == null ? null : this.innerProperties().allowedFeatures();
+ }
+
+ /**
+ * Set the allowedFeatures property: Specifies the list of features that are enabled for this Gateway.
+ *
+ * @param allowedFeatures the allowedFeatures value to set.
+ * @return the GatewayUpdate object itself.
+ */
+ public GatewayUpdate withAllowedFeatures(List allowedFeatures) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new GatewayUpdateProperties();
+ }
+ this.innerProperties().withAllowedFeatures(allowedFeatures);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeMapField("tags", tags(), (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of GatewayUpdate from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of GatewayUpdate 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 GatewayUpdate.
+ */
+ public static GatewayUpdate fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ GatewayUpdate deserializedGatewayUpdate = new GatewayUpdate();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedGatewayUpdate.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedGatewayUpdate.innerProperties = GatewayUpdateProperties.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedGatewayUpdate;
+ });
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/Gateways.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/Gateways.java
new file mode 100644
index 0000000000000..6525e7fe43711
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/Gateways.java
@@ -0,0 +1,157 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.models;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+
+/**
+ * Resource collection API of Gateways.
+ */
+public interface Gateways {
+ /**
+ * Retrieves information about the view of a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 describes an Arc Gateway along with {@link Response}.
+ */
+ Response getByResourceGroupWithResponse(String resourceGroupName, String gatewayName, Context context);
+
+ /**
+ * Retrieves information about the view of a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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 describes an Arc Gateway.
+ */
+ Gateway getByResourceGroup(String resourceGroupName, String gatewayName);
+
+ /**
+ * The operation to delete a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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.
+ */
+ void deleteByResourceGroup(String resourceGroupName, String gatewayName);
+
+ /**
+ * The operation to delete a gateway.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param gatewayName The name of the 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.
+ */
+ void delete(String resourceGroupName, String gatewayName, Context context);
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response as paginated response with {@link PagedIterable}.
+ */
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response as paginated response with {@link PagedIterable}.
+ */
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response as paginated response with {@link PagedIterable}.
+ */
+ PagedIterable list();
+
+ /**
+ * The operation to get all gateways of a non-Azure machine.
+ *
+ * @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 List license operation response as paginated response with {@link PagedIterable}.
+ */
+ PagedIterable list(Context context);
+
+ /**
+ * Retrieves information about the view of a gateway.
+ *
+ * @param id the resource ID.
+ * @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 describes an Arc Gateway along with {@link Response}.
+ */
+ Gateway getById(String id);
+
+ /**
+ * Retrieves information about the view of a gateway.
+ *
+ * @param id the resource ID.
+ * @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 describes an Arc Gateway along with {@link Response}.
+ */
+ Response getByIdWithResponse(String id, Context context);
+
+ /**
+ * The operation to delete a gateway.
+ *
+ * @param id the resource ID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ void deleteById(String id);
+
+ /**
+ * The operation to delete a gateway.
+ *
+ * @param id the resource ID.
+ * @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.
+ */
+ void deleteByIdWithResponse(String id, Context context);
+
+ /**
+ * Begins definition for a new Gateway resource.
+ *
+ * @param name resource name.
+ * @return the first stage of the new Gateway definition.
+ */
+ Gateway.DefinitionStages.Blank define(String name);
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/GatewaysListResult.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/GatewaysListResult.java
new file mode 100644
index 0000000000000..aa217fde1d680
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/GatewaysListResult.java
@@ -0,0 +1,136 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.hybridcompute.fluent.models.GatewayInner;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The List license operation response.
+ */
+@Fluent
+public final class GatewaysListResult implements JsonSerializable {
+ /*
+ * The list of Gateways.
+ */
+ private List value;
+
+ /*
+ * The URI to fetch the next page of Gateways. Call ListNext() with this URI to fetch the next page of Gateways.
+ */
+ private String nextLink;
+
+ /**
+ * Creates an instance of GatewaysListResult class.
+ */
+ public GatewaysListResult() {
+ }
+
+ /**
+ * Get the value property: The list of Gateways.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The list of Gateways.
+ *
+ * @param value the value value to set.
+ * @return the GatewaysListResult object itself.
+ */
+ public GatewaysListResult withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get the nextLink property: The URI to fetch the next page of Gateways. Call ListNext() with this URI to fetch the
+ * next page of Gateways.
+ *
+ * @return the nextLink value.
+ */
+ public String nextLink() {
+ return this.nextLink;
+ }
+
+ /**
+ * Set the nextLink property: The URI to fetch the next page of Gateways. Call ListNext() with this URI to fetch the
+ * next page of Gateways.
+ *
+ * @param nextLink the nextLink value to set.
+ * @return the GatewaysListResult object itself.
+ */
+ public GatewaysListResult withNextLink(String nextLink) {
+ this.nextLink = nextLink;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException("Missing required property value in model GatewaysListResult"));
+ } else {
+ value().forEach(e -> e.validate());
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(GatewaysListResult.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeStringField("nextLink", this.nextLink);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of GatewaysListResult from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of GatewaysListResult 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 GatewaysListResult.
+ */
+ public static GatewaysListResult fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ GatewaysListResult deserializedGatewaysListResult = new GatewaysListResult();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("value".equals(fieldName)) {
+ List value = reader.readArray(reader1 -> GatewayInner.fromJson(reader1));
+ deserializedGatewaysListResult.value = value;
+ } else if ("nextLink".equals(fieldName)) {
+ deserializedGatewaysListResult.nextLink = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedGatewaysListResult;
+ });
+ }
+}
diff --git a/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/HardwareProfile.java b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/HardwareProfile.java
new file mode 100644
index 0000000000000..d133584186ad7
--- /dev/null
+++ b/sdk/hybridcompute/azure-resourcemanager-hybridcompute/src/main/java/com/azure/resourcemanager/hybridcompute/models/HardwareProfile.java
@@ -0,0 +1,118 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.hybridcompute.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Describes the hardware of the machine.
+ */
+@Immutable
+public final class HardwareProfile implements JsonSerializable {
+ /*
+ * The total physical memory on the machine
+ */
+ private Long totalPhysicalMemoryInBytes;
+
+ /*
+ * The total number of CPU sockets available on the machine
+ */
+ private Integer numberOfCpuSockets;
+
+ /*
+ * The physical processors of the machine.
+ */
+ private List processors;
+
+ /**
+ * Creates an instance of HardwareProfile class.
+ */
+ public HardwareProfile() {
+ }
+
+ /**
+ * Get the totalPhysicalMemoryInBytes property: The total physical memory on the machine.
+ *
+ * @return the totalPhysicalMemoryInBytes value.
+ */
+ public Long totalPhysicalMemoryInBytes() {
+ return this.totalPhysicalMemoryInBytes;
+ }
+
+ /**
+ * Get the numberOfCpuSockets property: The total number of CPU sockets available on the machine.
+ *
+ * @return the numberOfCpuSockets value.
+ */
+ public Integer numberOfCpuSockets() {
+ return this.numberOfCpuSockets;
+ }
+
+ /**
+ * Get the processors property: The physical processors of the machine.
+ *
+ * @return the processors value.
+ */
+ public List