diff --git a/src/Workloads/Az.Workloads.csproj b/src/Workloads/Az.Workloads.csproj
new file mode 100644
index 000000000000..b7353adac975
--- /dev/null
+++ b/src/Workloads/Az.Workloads.csproj
@@ -0,0 +1,8 @@
+
+
+ Workloads
+
+
+
+
+
diff --git a/src/Workloads/Az.Workloads.format.ps1xml b/src/Workloads/Az.Workloads.format.ps1xml
new file mode 100644
index 000000000000..5506932775d2
--- /dev/null
+++ b/src/Workloads/Az.Workloads.format.ps1xml
@@ -0,0 +1,4341 @@
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.WorkloadsIdentity
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.WorkloadsIdentity
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ApplicationInstanceName
+
+
+ CentralInstanceName
+
+
+ DatabaseInstanceName
+
+
+ Location
+
+
+ MonitorName
+
+
+ ProviderInstanceName
+
+
+ ResourceGroupName
+
+
+ SapVirtualInstanceName
+
+
+ SubscriptionId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ErrorDetail
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ErrorDetail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+ Message
+
+
+ Target
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.Operation
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.Operation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ActionType
+
+
+ IsDataAction
+
+
+ Name
+
+
+ Origin
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.OperationDisplay
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.OperationDisplay
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ Operation
+
+
+ Provider
+
+
+ Resource
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.OperationListResult
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.OperationListResult
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.OperationStatusResult
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.OperationStatusResult
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EndTime
+
+
+ Name
+
+
+ PercentComplete
+
+
+ ResourceGroupName
+
+
+ StartTime
+
+
+ Status
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ProxyResource
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ProxyResource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ SystemDataCreatedAt
+
+
+ SystemDataCreatedBy
+
+
+ SystemDataCreatedByType
+
+
+ SystemDataLastModifiedAt
+
+
+ SystemDataLastModifiedBy
+
+
+ SystemDataLastModifiedByType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.Resource
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.Resource
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.SystemData
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.SystemData
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CreatedAt
+
+
+ CreatedBy
+
+
+ CreatedByType
+
+
+ LastModifiedAt
+
+
+ LastModifiedBy
+
+
+ LastModifiedByType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.TrackedResource
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.TrackedResource
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ SystemDataCreatedAt
+
+
+ SystemDataCreatedBy
+
+
+ SystemDataCreatedByType
+
+
+ SystemDataLastModifiedAt
+
+
+ SystemDataLastModifiedBy
+
+
+ SystemDataLastModifiedByType
+
+
+ Location
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.TrackedResourceTags
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.TrackedResourceTags
+
+
+
+
+
+
+
+
+
+
+
+ Item
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.UserAssignedIdentity
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.UserAssignedIdentity
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ClientId
+
+
+ PrincipalId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ApplicationServerConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ApplicationServerConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ InstanceCount
+
+
+ SubnetId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ApplicationServerFullResourceNames
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ApplicationServerFullResourceNames
+
+
+
+
+
+
+
+
+
+
+
+ AvailabilitySetName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ApplicationServerVMDetails
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ApplicationServerVMDetails
+
+
+
+
+
+
+
+
+
+
+
+ VirtualMachineId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.CentralServerConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.CentralServerConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ InstanceCount
+
+
+ SubnetId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.CentralServerFullResourceNames
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.CentralServerFullResourceNames
+
+
+
+
+
+
+
+
+
+
+
+ AvailabilitySetName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.CentralServerVMDetails
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.CentralServerVMDetails
+
+
+
+
+
+
+
+
+
+
+
+ VirtualMachineId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.CreateAndMountFileShareConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.CreateAndMountFileShareConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ConfigurationType
+
+
+ ResourceGroup
+
+
+ StorageAccountName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DatabaseConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DatabaseConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DatabaseType
+
+
+ InstanceCount
+
+
+ SubnetId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DatabaseServerFullResourceNames
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DatabaseServerFullResourceNames
+
+
+
+
+
+
+
+
+
+
+
+ AvailabilitySetName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DatabaseVMDetails
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DatabaseVMDetails
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Status
+
+
+ VirtualMachineId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.Db2ProviderInstanceProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.Db2ProviderInstanceProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ProviderType
+
+
+ DbName
+
+
+ DbPassword
+
+
+ DbPasswordUri
+
+
+ DbPort
+
+
+ DbUsername
+
+
+ Hostname
+
+
+ SapSid
+
+
+ SslCertificateUri
+
+
+ SslPreference
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DeployerVMPackages
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DeployerVMPackages
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ StorageAccountId
+
+
+ Url
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DeploymentConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DeploymentConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ConfigurationType
+
+
+ AppLocation
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DeploymentWithOSConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DeploymentWithOSConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ConfigurationType
+
+
+ AppLocation
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DiscoveryConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DiscoveryConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ConfigurationType
+
+
+ AppLocation
+
+
+ CentralServerVMId
+
+
+ ManagedRgStorageAccountName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DiskDetails
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DiskDetails
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DiskTier
+
+
+ IopsReadWrite
+
+
+ MaximumSupportedDiskCount
+
+
+ MbpsReadWrite
+
+
+ MinimumSupportedDiskCount
+
+
+ SizeGb
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DiskSku
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DiskSku
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DiskVolumeConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DiskVolumeConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Count
+
+
+ SizeGb
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.EnqueueReplicationServerProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.EnqueueReplicationServerProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ErsVersion
+
+
+ Health
+
+
+ Hostname
+
+
+ IPAddress
+
+
+ InstanceNo
+
+
+ KernelPatch
+
+
+ KernelVersion
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.EnqueueServerProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.EnqueueServerProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Health
+
+
+ Hostname
+
+
+ IPAddress
+
+
+ Port
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.Error
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.Error
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+ Message
+
+
+ Target
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ErrorDefinition
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ErrorDefinition
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+ Message
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ExternalInstallationSoftwareConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ExternalInstallationSoftwareConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SoftwareInstallationType
+
+
+ CentralServerVMId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.FileShareConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.FileShareConfiguration
+
+
+
+
+
+
+
+
+
+
+
+ ConfigurationType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.GatewayServerProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.GatewayServerProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Health
+
+
+ Port
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.HanaDbProviderInstanceProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.HanaDbProviderInstanceProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ProviderType
+
+
+ DbName
+
+
+ DbPassword
+
+
+ DbPasswordUri
+
+
+ DbUsername
+
+
+ Hostname
+
+
+ InstanceNumber
+
+
+ SapSid
+
+
+ SqlPort
+
+
+ SslCertificateUri
+
+
+ SslHostNameInCertificate
+
+
+ SslPreference
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.HighAvailabilityConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.HighAvailabilityConfiguration
+
+
+
+
+
+
+
+
+
+
+
+ HighAvailabilityType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.HighAvailabilitySoftwareConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.HighAvailabilitySoftwareConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ FencingClientId
+
+
+ FencingClientPassword
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ImageReference
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ImageReference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Offer
+
+
+ Publisher
+
+
+ Sku
+
+
+ Version
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.InfrastructureConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.InfrastructureConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AppResourceGroup
+
+
+ DeploymentType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.LinuxConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.LinuxConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OSType
+
+
+ DisablePasswordAuthentication
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.LoadBalancerResourceNames
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.LoadBalancerResourceNames
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ BackendPoolName
+
+
+ FrontendIPConfigurationName
+
+
+ HealthProbeName
+
+
+ LoadBalancerName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ManagedRgConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ManagedRgConfiguration
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.MessageServerProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.MessageServerProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Health
+
+
+ Hostname
+
+
+ HttpPort
+
+
+ HttpsPort
+
+
+ IPAddress
+
+
+ InternalMSPort
+
+
+ MSPort
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.Monitor
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.Monitor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+ ManagedResourceGroupConfigurationName
+
+
+ Location
+
+
+ ProvisioningState
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.MonitorListResult
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.MonitorListResult
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.MonitorProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.MonitorProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AppLocation
+
+
+ LogAnalyticsWorkspaceArmId
+
+
+ MonitorSubnet
+
+
+ MsiArmId
+
+
+ ProvisioningState
+
+
+ RoutingPreference
+
+
+ StorageAccountArmId
+
+
+ ZoneRedundancyPreference
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.MonitorPropertiesErrors
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.MonitorPropertiesErrors
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+ Message
+
+
+ Target
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.MountFileShareConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.MountFileShareConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ConfigurationType
+
+
+ PrivateEndpointId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.MSSqlServerProviderInstanceProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.MSSqlServerProviderInstanceProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ProviderType
+
+
+ DbPassword
+
+
+ DbPasswordUri
+
+
+ DbPort
+
+
+ DbUsername
+
+
+ Hostname
+
+
+ SapSid
+
+
+ SslCertificateUri
+
+
+ SslPreference
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.NetworkConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.NetworkConfiguration
+
+
+
+
+
+
+
+
+
+
+
+ IsSecondaryIPEnabled
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.NetworkInterfaceResourceNames
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.NetworkInterfaceResourceNames
+
+
+
+
+
+
+
+
+
+
+
+ NetworkInterfaceName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.OperationsContent
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.OperationsContent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ SystemDataCreatedAt
+
+
+ SystemDataCreatedBy
+
+
+ SystemDataCreatedByType
+
+
+ SystemDataLastModifiedAt
+
+
+ SystemDataLastModifiedBy
+
+
+ SystemDataLastModifiedByType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.OperationsDefinition
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.OperationsDefinition
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ActionType
+
+
+ IsDataAction
+
+
+ Name
+
+
+ Origin
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.OperationsDefinitionArrayResponseWithContinuation
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.OperationsDefinitionArrayResponseWithContinuation
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.OperationsDefinitionDisplay
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.OperationsDefinitionDisplay
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ Operation
+
+
+ Provider
+
+
+ Resource
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.OperationsDisplayDefinition
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.OperationsDisplayDefinition
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description
+
+
+ Operation
+
+
+ Provider
+
+
+ Resource
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.OSConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.OSConfiguration
+
+
+
+
+
+
+
+
+
+
+
+ OSType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.OSProfile
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.OSProfile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AdminPassword
+
+
+ AdminUsername
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.OSSapConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.OSSapConfiguration
+
+
+
+
+
+
+
+
+
+
+
+ SapFqdn
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.PrometheusHaClusterProviderInstanceProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.PrometheusHaClusterProviderInstanceProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ProviderType
+
+
+ ClusterName
+
+
+ Hostname
+
+
+ PrometheusUrl
+
+
+ Sid
+
+
+ SslCertificateUri
+
+
+ SslPreference
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.PrometheusOSProviderInstanceProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.PrometheusOSProviderInstanceProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ProviderType
+
+
+ PrometheusUrl
+
+
+ SapSid
+
+
+ SslCertificateUri
+
+
+ SslPreference
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ProviderInstance
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ProviderInstance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+ ProvisioningState
+
+
+ IdentityType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ProviderInstanceListResult
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ProviderInstanceListResult
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ProviderInstanceProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ProviderInstanceProperties
+
+
+
+
+
+
+
+
+
+
+
+ ProvisioningState
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ProviderInstancePropertiesErrors
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ProviderInstancePropertiesErrors
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Code
+
+
+ Message
+
+
+ Target
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ProviderSpecificProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ProviderSpecificProperties
+
+
+
+
+
+
+
+
+
+
+
+ ProviderType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapApplicationServerInstance
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapApplicationServerInstance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+ Health
+
+
+ ProvisioningState
+
+
+ Status
+
+
+ Hostname
+
+
+ Location
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapApplicationServerInstanceList
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapApplicationServerInstanceList
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapApplicationServerProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapApplicationServerProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GatewayPort
+
+
+ Health
+
+
+ Hostname
+
+
+ IPAddress
+
+
+ IcmHttpPort
+
+
+ IcmHttpsPort
+
+
+ InstanceNo
+
+
+ KernelPatch
+
+
+ KernelVersion
+
+
+ ProvisioningState
+
+
+ Status
+
+
+ Subnet
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapAvailabilityZoneDetailsRequest
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapAvailabilityZoneDetailsRequest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AppLocation
+
+
+ DatabaseType
+
+
+ SapProduct
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapAvailabilityZonePair
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapAvailabilityZonePair
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ZoneA
+
+
+ ZoneB
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapCentralInstanceList
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapCentralInstanceList
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapCentralServerInstance
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapCentralServerInstance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+ Health
+
+
+ EnqueueServerPropertyHostname
+
+
+ ProvisioningState
+
+
+ Status
+
+
+ Location
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapCentralServerProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapCentralServerProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Health
+
+
+ InstanceNo
+
+
+ KernelPatch
+
+
+ KernelVersion
+
+
+ ProvisioningState
+
+
+ Status
+
+
+ Subnet
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapConfiguration
+
+
+
+
+
+
+
+
+
+
+
+ ConfigurationType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapDatabaseInstance
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapDatabaseInstance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+ ProvisioningState
+
+
+ Location
+
+
+ Status
+
+
+ IPAddress
+
+
+ DatabaseSid
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapDatabaseInstanceList
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapDatabaseInstanceList
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapDatabaseProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapDatabaseProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DatabaseSid
+
+
+ DatabaseType
+
+
+ IPAddress
+
+
+ ProvisioningState
+
+
+ Status
+
+
+ Subnet
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapDiskConfigurationsRequest
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapDiskConfigurationsRequest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AppLocation
+
+
+ DatabaseType
+
+
+ DbVMSku
+
+
+ DeploymentType
+
+
+ Environment
+
+
+ SapProduct
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapInstallWithoutOsconfigSoftwareConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapInstallWithoutOsconfigSoftwareConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SoftwareInstallationType
+
+
+ BomUrl
+
+
+ SapBitsStorageAccountId
+
+
+ SoftwareVersion
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitor
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+ ProvisioningState
+
+
+ GroupingLandscape
+
+
+ GroupingSapApplication
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitorListResult
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitorListResult
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitorMetricThresholds
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitorMetricThresholds
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Green
+
+
+ Name
+
+
+ Red
+
+
+ Yellow
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitorProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitorProperties
+
+
+
+
+
+
+
+
+
+
+
+ ProvisioningState
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitorSidMapping
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitorSidMapping
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ TopSid
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapNetWeaverProviderInstanceProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapNetWeaverProviderInstanceProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ProviderType
+
+
+ SapClientId
+
+
+ SapHostFileEntry
+
+
+ SapHostname
+
+
+ SapInstanceNr
+
+
+ SapPassword
+
+
+ SapPasswordUri
+
+
+ SapPortNumber
+
+
+ SapSid
+
+
+ SapUsername
+
+
+ SslCertificateUri
+
+
+ SslPreference
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapSizingRecommendationRequest
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapSizingRecommendationRequest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AppLocation
+
+
+ DatabaseType
+
+
+ DbMemory
+
+
+ DbScaleMethod
+
+
+ DeploymentType
+
+
+ Environment
+
+
+ HighAvailabilityType
+
+
+ Sap
+
+
+ SapProduct
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapSizingRecommendationResult
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapSizingRecommendationResult
+
+
+
+
+
+
+
+
+
+
+
+ DeploymentType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapSupportedSku
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapSupportedSku
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IsAppServerCertified
+
+
+ IsDatabaseCertified
+
+
+ VMSku
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapSupportedSkusRequest
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapSupportedSkusRequest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AppLocation
+
+
+ DatabaseType
+
+
+ DeploymentType
+
+
+ Environment
+
+
+ HighAvailabilityType
+
+
+ SapProduct
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapVirtualInstance
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapVirtualInstance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name
+
+
+ ResourceGroupName
+
+
+ Health
+
+
+ Environment
+
+
+ ProvisioningState
+
+
+ SapProduct
+
+
+ State
+
+
+ Status
+
+
+ Location
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapVirtualInstanceList
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapVirtualInstanceList
+
+
+
+
+
+
+
+
+
+
+
+ NextLink
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapVirtualInstanceProperties
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapVirtualInstanceProperties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Environment
+
+
+ Health
+
+
+ ProvisioningState
+
+
+ SapProduct
+
+
+ State
+
+
+ Status
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ServiceInitiatedSoftwareConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ServiceInitiatedSoftwareConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SoftwareInstallationType
+
+
+ BomUrl
+
+
+ SapBitsStorageAccountId
+
+
+ SapFqdn
+
+
+ SoftwareVersion
+
+
+ SshPrivateKey
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SharedStorageResourceNames
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SharedStorageResourceNames
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SharedStorageAccountName
+
+
+ SharedStorageAccountPrivateEndPointName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SingleServerConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SingleServerConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AppResourceGroup
+
+
+ DeploymentType
+
+
+ DatabaseType
+
+
+ SubnetId
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SingleServerCustomResourceNames
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SingleServerCustomResourceNames
+
+
+
+
+
+
+
+
+
+
+
+ NamingPatternType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SingleServerFullResourceNames
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SingleServerFullResourceNames
+
+
+
+
+
+
+
+
+
+
+
+ NamingPatternType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SingleServerRecommendationResult
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SingleServerRecommendationResult
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DeploymentType
+
+
+ VMSku
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SkipFileShareConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SkipFileShareConfiguration
+
+
+
+
+
+
+
+
+
+
+
+ ConfigurationType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SoftwareConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SoftwareConfiguration
+
+
+
+
+
+
+
+
+
+
+
+ SoftwareInstallationType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SshKeyPair
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SshKeyPair
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PrivateKey
+
+
+ PublicKey
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SshPublicKey
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SshPublicKey
+
+
+
+
+
+
+
+
+
+
+
+ KeyData
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.StopRequest
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.StopRequest
+
+
+
+
+
+
+
+
+
+
+
+ SoftStopTimeoutSecond
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.Tags
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.Tags
+
+
+
+
+
+
+
+
+
+
+
+ Item
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ThreeTierConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ThreeTierConfiguration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AppResourceGroup
+
+
+ DeploymentType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ThreeTierCustomResourceNames
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ThreeTierCustomResourceNames
+
+
+
+
+
+
+
+
+
+
+
+ NamingPatternType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ThreeTierFullResourceNames
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ThreeTierFullResourceNames
+
+
+
+
+
+
+
+
+
+
+
+ NamingPatternType
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ThreeTierRecommendationResult
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ThreeTierRecommendationResult
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DeploymentType
+
+
+ ApplicationServerInstanceCount
+
+
+ ApplicationServerVMSku
+
+
+ CentralServerInstanceCount
+
+
+ CentralServerVMSku
+
+
+ DatabaseInstanceCount
+
+
+ DbVMSku
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.UpdateMonitorRequestTags
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.UpdateMonitorRequestTags
+
+
+
+
+
+
+
+
+
+
+
+ Item
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.UpdateSapApplicationInstanceRequestTags
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.UpdateSapApplicationInstanceRequestTags
+
+
+
+
+
+
+
+
+
+
+
+ Item
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.UpdateSapCentralInstanceRequestTags
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.UpdateSapCentralInstanceRequestTags
+
+
+
+
+
+
+
+
+
+
+
+ Item
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.UpdateSapDatabaseInstanceRequestTags
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.UpdateSapDatabaseInstanceRequestTags
+
+
+
+
+
+
+
+
+
+
+
+ Item
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.UpdateSapVirtualInstanceRequestTags
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.UpdateSapVirtualInstanceRequestTags
+
+
+
+
+
+
+
+
+
+
+
+ Item
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.VirtualMachineConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.VirtualMachineConfiguration
+
+
+
+
+
+
+
+
+
+
+
+ VMSize
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.VirtualMachineResourceNames
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.VirtualMachineResourceNames
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HostName
+
+
+ OSDiskName
+
+
+ VMName
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.VirtualMachineResourceNamesDataDiskNames
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.VirtualMachineResourceNamesDataDiskNames
+
+
+
+
+
+
+
+
+
+
+
+ Item
+
+
+
+
+
+
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.WindowsConfiguration
+
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.WindowsConfiguration
+
+
+
+
+
+
+
+
+
+
+
+ OSType
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Workloads/Az.Workloads.psd1 b/src/Workloads/Az.Workloads.psd1
new file mode 100644
index 000000000000..7e7faf40a9a6
--- /dev/null
+++ b/src/Workloads/Az.Workloads.psd1
@@ -0,0 +1,167 @@
+#
+# Module manifest for module 'Az.Workloads'
+#
+# Generated by: Microsoft Corporation
+#
+# Generated on: 4/17/2023
+#
+
+@{
+
+# Script module or binary module file associated with this manifest.
+RootModule = './Az.Workloads.psm1'
+
+# Version number of this module.
+ModuleVersion = '0.1.0'
+
+# Supported PSEditions
+CompatiblePSEditions = 'Core', 'Desktop'
+
+# ID used to uniquely identify this module
+GUID = 'ee197d70-9add-4652-9b94-eab7bc0e93e1'
+
+# Author of this module
+Author = 'Microsoft Corporation'
+
+# Company or vendor of this module
+CompanyName = 'Microsoft Corporation'
+
+# Copyright statement for this module
+Copyright = 'Microsoft Corporation. All rights reserved.'
+
+# Description of the functionality provided by this module
+Description = 'Microsoft Azure PowerShell: Workloads cmdlets'
+
+# Minimum version of the PowerShell engine required by this module
+PowerShellVersion = '5.1'
+
+# Name of the PowerShell host required by this module
+# PowerShellHostName = ''
+
+# Minimum version of the PowerShell host required by this module
+# PowerShellHostVersion = ''
+
+# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
+DotNetFrameworkVersion = '4.7.2'
+
+# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
+# ClrVersion = ''
+
+# Processor architecture (None, X86, Amd64) required by this module
+# ProcessorArchitecture = ''
+
+# Modules that must be imported into the global environment prior to importing this module
+RequiredModules = @(@{ModuleName = 'Az.Accounts'; ModuleVersion = '2.12.1'; })
+
+# Assemblies that must be loaded prior to importing this module
+RequiredAssemblies = './bin/Az.Workloads.private.dll'
+
+# Script files (.ps1) that are run in the caller's environment prior to importing this module.
+# ScriptsToProcess = @()
+
+# Type files (.ps1xml) to be loaded when importing this module
+# TypesToProcess = @()
+
+# Format files (.ps1xml) to be loaded when importing this module
+FormatsToProcess = './Az.Workloads.format.ps1xml'
+
+# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
+# NestedModules = @()
+
+# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
+FunctionsToExport = 'Get-AzWorkloadsMonitor', 'Get-AzWorkloadsProviderInstance',
+ 'Get-AzWorkloadsSapApplicationInstance',
+ 'Get-AzWorkloadsSapCentralInstance',
+ 'Get-AzWorkloadsSapDatabaseInstance',
+ 'Get-AzWorkloadsSapLandscapeMonitor',
+ 'Get-AzWorkloadsSapVirtualInstance',
+ 'Invoke-AzWorkloadsSapDiskConfiguration',
+ 'Invoke-AzWorkloadsSapSizingRecommendation',
+ 'Invoke-AzWorkloadsSapSupportedSku', 'New-AzWorkloadsMonitor',
+ 'New-AzWorkloadsProviderDB2InstanceObject',
+ 'New-AzWorkloadsProviderHanaDbInstanceObject',
+ 'New-AzWorkloadsProviderInstance',
+ 'New-AzWorkloadsProviderPrometheusHaClusterInstanceObject',
+ 'New-AzWorkloadsProviderPrometheusOSInstanceObject',
+ 'New-AzWorkloadsProviderSapNetWeaverInstanceObject',
+ 'New-AzWorkloadsProviderSqlServerInstanceObject',
+ 'New-AzWorkloadsSapLandscapeMonitor',
+ 'New-AzWorkloadsSapLandscapeMonitorMetricThresholdsObject',
+ 'New-AzWorkloadsSapLandscapeMonitorSidMappingObject',
+ 'New-AzWorkloadsSapVirtualInstance', 'Remove-AzWorkloadsMonitor',
+ 'Remove-AzWorkloadsProviderInstance',
+ 'Remove-AzWorkloadsSapLandscapeMonitor',
+ 'Remove-AzWorkloadsSapVirtualInstance',
+ 'Start-AzWorkloadsSapApplicationInstance',
+ 'Start-AzWorkloadsSapCentralInstance',
+ 'Start-AzWorkloadsSapDatabaseInstance',
+ 'Start-AzWorkloadsSapVirtualInstance',
+ 'Stop-AzWorkloadsSapApplicationInstance',
+ 'Stop-AzWorkloadsSapCentralInstance',
+ 'Stop-AzWorkloadsSapDatabaseInstance',
+ 'Stop-AzWorkloadsSapVirtualInstance', 'Update-AzWorkloadsMonitor',
+ 'Update-AzWorkloadsSapApplicationInstance',
+ 'Update-AzWorkloadsSapCentralInstance',
+ 'Update-AzWorkloadsSapDatabaseInstance',
+ 'Update-AzWorkloadsSapLandscapeMonitor',
+ 'Update-AzWorkloadsSapVirtualInstance'
+
+# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
+CmdletsToExport = @()
+
+# Variables to export from this module
+# VariablesToExport = @()
+
+# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
+AliasesToExport = '*'
+
+# DSC resources to export from this module
+# DscResourcesToExport = @()
+
+# List of all modules packaged with this module
+# ModuleList = @()
+
+# List of all files packaged with this module
+# FileList = @()
+
+# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
+PrivateData = @{
+
+ PSData = @{
+
+ # Tags applied to this module. These help with module discovery in online galleries.
+ Tags = 'Azure','ResourceManager','ARM','PSModule','Workloads'
+
+ # A URL to the license for this module.
+ LicenseUri = 'https://aka.ms/azps-license'
+
+ # A URL to the main website for this project.
+ ProjectUri = 'https://github.com/Azure/azure-powershell'
+
+ # A URL to an icon representing this module.
+ # IconUri = ''
+
+ # ReleaseNotes of this module
+ # ReleaseNotes = ''
+
+ # Prerelease string of this module
+ # Prerelease = ''
+
+ # Flag to indicate whether the module requires explicit user acceptance for install/update/save
+ # RequireLicenseAcceptance = $false
+
+ # External dependent modules of this module
+ # ExternalModuleDependencies = @()
+
+ } # End of PSData hashtable
+
+ } # End of PrivateData hashtable
+
+# HelpInfo URI of this module
+# HelpInfoURI = ''
+
+# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
+# DefaultCommandPrefix = ''
+
+}
+
diff --git a/src/Workloads/Az.Workloads.psm1 b/src/Workloads/Az.Workloads.psm1
new file mode 100644
index 000000000000..196f0ad818b9
--- /dev/null
+++ b/src/Workloads/Az.Workloads.psm1
@@ -0,0 +1,115 @@
+# region Generated
+ # ----------------------------------------------------------------------------------
+ # Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+ # ----------------------------------------------------------------------------------
+ # Load required Az.Accounts module
+ $accountsName = 'Az.Accounts'
+ $accountsModule = Get-Module -Name $accountsName
+ if(-not $accountsModule) {
+ $localAccountsPath = Join-Path $PSScriptRoot 'generated\modules'
+ if(Test-Path -Path $localAccountsPath) {
+ $localAccounts = Get-ChildItem -Path $localAccountsPath -Recurse -Include 'Az.Accounts.psd1' | Select-Object -Last 1
+ if($localAccounts) {
+ $accountsModule = Import-Module -Name ($localAccounts.FullName) -Scope Global -PassThru
+ }
+ }
+ if(-not $accountsModule) {
+ $hasAdequateVersion = (Get-Module -Name $accountsName -ListAvailable | Where-Object { $_.Version -ge [System.Version]'2.7.5' } | Measure-Object).Count -gt 0
+ if($hasAdequateVersion) {
+ $accountsModule = Import-Module -Name $accountsName -MinimumVersion 2.7.5 -Scope Global -PassThru
+ }
+ }
+ }
+
+ if(-not $accountsModule) {
+ Write-Error "`nThis module requires $accountsName version 2.7.5 or greater. For installation instructions, please see: https://learn.microsoft.com/powershell/azure/install-az-ps" -ErrorAction Stop
+ } elseif (($accountsModule.Version -lt [System.Version]'2.7.5') -and (-not $localAccounts)) {
+ Write-Error "`nThis module requires $accountsName version 2.7.5 or greater. An earlier version of Az.Accounts is imported in the current PowerShell session. If you are running test, please try to add the switch '-RegenerateSupportModule' when executing 'test-module.ps1'. Otherwise please open a new PowerShell session and import this module again.`nAdditionally, this error could indicate that multiple incompatible versions of Azure PowerShell modules are installed on your system. For troubleshooting information, please see: https://aka.ms/azps-version-error" -ErrorAction Stop
+ }
+ Write-Information "Loaded Module '$($accountsModule.Name)'"
+
+ # Load the private module dll
+ $null = Import-Module -Name (Join-Path $PSScriptRoot './bin/Az.Workloads.private.dll')
+
+ # Get the private module's instance
+ $instance = [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Module]::Instance
+
+ # Ask for the shared functionality table
+ $VTable = Register-AzModule
+
+ # Tweaks the pipeline on module load
+ $instance.OnModuleLoad = $VTable.OnModuleLoad
+
+ # Following two delegates are added for telemetry
+ $instance.GetTelemetryId = $VTable.GetTelemetryId
+ $instance.Telemetry = $VTable.Telemetry
+
+
+ # Tweaks the pipeline per call
+ $instance.OnNewRequest = $VTable.OnNewRequest
+
+ # Gets shared parameter values
+ $instance.GetParameterValue = $VTable.GetParameterValue
+
+ # Allows shared module to listen to events from this module
+ $instance.EventListener = $VTable.EventListener
+
+ # Gets shared argument completers
+ $instance.ArgumentCompleter = $VTable.ArgumentCompleter
+
+ # The name of the currently selected Azure profile
+ $instance.ProfileName = $VTable.ProfileName
+
+
+ # Load the custom module
+ $customModulePath = Join-Path $PSScriptRoot './custom/Az.Workloads.custom.psm1'
+ if(Test-Path $customModulePath) {
+ $null = Import-Module -Name $customModulePath
+ }
+
+ # Export nothing to clear implicit exports
+ Export-ModuleMember
+
+ # Export proxy cmdlet scripts
+ $exportsPath = Join-Path $PSScriptRoot './exports'
+ $directories = Get-ChildItem -Directory -Path $exportsPath
+ $profileDirectory = $null
+ if($instance.ProfileName) {
+ if(($directories | ForEach-Object { $_.Name }) -contains $instance.ProfileName) {
+ $profileDirectory = $directories | Where-Object { $_.Name -eq $instance.ProfileName }
+ } else {
+ # Don't export anything if the profile doesn't exist for the module
+ $exportsPath = $null
+ Write-Warning "Selected Azure profile '$($instance.ProfileName)' does not exist for module '$($instance.Name)'. No cmdlets were loaded."
+ }
+ } elseif(($directories | Measure-Object).Count -gt 0) {
+ # Load the last folder if no profile is selected
+ $profileDirectory = $directories | Select-Object -Last 1
+ }
+
+ if($profileDirectory) {
+ Write-Information "Loaded Azure profile '$($profileDirectory.Name)' for module '$($instance.Name)'"
+ $exportsPath = $profileDirectory.FullName
+ }
+
+ if($exportsPath) {
+ Get-ChildItem -Path $exportsPath -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName }
+ $cmdletNames = Get-ScriptCmdlet -ScriptFolder $exportsPath
+ Export-ModuleMember -Function $cmdletNames -Alias (Get-ScriptCmdlet -ScriptFolder $exportsPath -AsAlias)
+ }
+
+ # Finalize initialization of this module
+ $instance.Init();
+ Write-Information "Loaded Module '$($instance.Name)'"
+# endregion
diff --git a/src/Workloads/ChangeLog.md b/src/Workloads/ChangeLog.md
new file mode 100644
index 000000000000..b8b99fc0923e
--- /dev/null
+++ b/src/Workloads/ChangeLog.md
@@ -0,0 +1,24 @@
+
+## Upcoming Release
+
+## Version 0.1.0
+* First preview release for module Az.Workloads
+
diff --git a/src/Workloads/Properties/AssemblyInfo.cs b/src/Workloads/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000000..1bbe052b8dc1
--- /dev/null
+++ b/src/Workloads/Properties/AssemblyInfo.cs
@@ -0,0 +1,28 @@
+// ----------------------------------------------------------------------------------
+//
+// Copyright Microsoft Corporation
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// ----------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("Microsoft Azure Powershell - Workloads")]
+[assembly: AssemblyCompany(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyCompany)]
+[assembly: AssemblyProduct(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyProduct)]
+[assembly: AssemblyCopyright(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyCopyright)]
+
+[assembly: ComVisible(false)]
+[assembly: CLSCompliant(false)]
+[assembly: Guid("55e25c07-4553-49c2-953f-add53bb7e087")]
+[assembly: AssemblyVersion("0.1.0")]
+[assembly: AssemblyFileVersion("0.1.0")]
diff --git a/src/Workloads/README.md b/src/Workloads/README.md
new file mode 100644
index 000000000000..7d2a3c672396
--- /dev/null
+++ b/src/Workloads/README.md
@@ -0,0 +1,382 @@
+
+# Az.Workloads
+This directory contains the PowerShell module for the Workloads service.
+
+---
+## Status
+[](https://www.powershellgallery.com/packages/Az.Workloads/)
+
+## Info
+- Modifiable: yes
+- Generated: all
+- Committed: yes
+- Packaged: yes
+
+---
+## Detail
+This module was primarily generated via [AutoRest](https://github.com/Azure/autorest) using the [PowerShell](https://github.com/Azure/autorest.powershell) extension.
+
+## Module Requirements
+- [Az.Accounts module](https://www.powershellgallery.com/packages/Az.Accounts/), version 2.7.5 or greater
+
+## Authentication
+AutoRest does not generate authentication code for the module. Authentication is handled via Az.Accounts by altering the HTTP payload before it is sent.
+
+## Development
+For information on how to develop for `Az.Workloads`, see [how-to.md](how-to.md).
+
+
+### AutoRest Configuration
+> see https://aka.ms/autorest
+
+```yaml
+branch: c7c06e7e311df89b6851aa7e12142c8f0d129cd8
+require:
+ - $(this-folder)/../readme.azure.noprofile.md
+ - $(repo)/specification/workloads/resource-manager/readme.md
+
+try-require:
+ - $(repo)/specification/workloads/resource-manager/readme.powershell.md
+
+resourcegroup-append: true
+identity-correction-for-post: true
+nested-object-to-string: true
+inlining-threshold: 100
+
+directive:
+# Monitor
+- where:
+ verb: New
+ subject: ^Monitor$
+ variant: ^Create$|^CreateViaIdentity$|^CreateViaIdentityExpanded$
+ remove: true
+
+- where:
+ verb: Update
+ subject: ^Monitor$
+ variant: ^Update$|^UpdateViaIdentity$
+ remove: true
+
+- where:
+ subject: ^Monitor$
+ parameter-name: IdentityUserAssignedIdentity
+ set:
+ parameter-name: UserAssignedIdentity
+
+- where:
+ subject: ^Monitor$
+ parameter-name: ManagedResourceGroupConfigurationName
+ set:
+ parameter-name: ManagedResourceGroupName
+
+# ProviderInstance
+- where:
+ verb: New
+ subject: ^ProviderInstance$
+ variant: ^Create$|^CreateViaIdentity$|^CreateViaIdentityExpanded$
+ remove: true
+
+# SapApplicationServerInstance
+- where:
+ verb: New
+ subject: ^SapApplicationServerInstance$
+ remove: true
+
+- where:
+ verb: Stop
+ subject: ^SapApplicationServerInstance$
+ variant: ^Stop$|^StopViaIdentity$
+ remove: true
+
+- where:
+ verb: Update
+ subject: ^SapApplicationServerInstance$
+ variant: ^Update$|^UpdateViaIdentity$
+ remove: true
+
+- where:
+ verb: Remove
+ subject: ^SapApplicationServerInstance$
+ remove: true
+
+- where:
+ subject: SapApplicationServerInstance
+ set:
+ subject: SapApplicationInstance
+
+- where:
+ subject: SapApplicationInstance
+ parameter-name: ApplicationInstanceName
+ set:
+ parameter-name: Name
+
+# SapCentralInstance
+- where:
+ verb: New
+ subject: ^SapCentralInstance$
+ remove: true
+- where:
+ verb: Stop
+ subject: ^SapCentralInstance$
+ variant: ^Stop$|^StopViaIdentity$
+ remove: true
+
+- where:
+ verb: Update
+ subject: ^SapCentralInstance$
+ variant: ^Update$|^UpdateViaIdentity$
+ remove: true
+
+- where:
+ verb: Remove
+ subject: ^SapCentralInstance$
+ remove: true
+
+- where:
+ subject: SapCentralInstance
+ parameter-name: CentralInstanceName
+ set:
+ parameter-name: Name
+
+# SapDatabaseInstance
+- where:
+ verb: New
+ subject: ^SapDatabaseInstance$
+ remove: true
+
+- where:
+ verb: Stop
+ subject: ^SapDatabaseInstance$
+ variant: ^Stop$|^StopViaIdentity$
+ remove: true
+
+- where:
+ verb: Update
+ subject: ^SapDatabaseInstance$
+ variant: ^Update$|^UpdateViaIdentity$
+ remove: true
+
+- where:
+ verb: Remove
+ subject: ^SapDatabaseInstance$
+ remove: true
+
+- where:
+ subject: SapDatabaseInstance
+ parameter-name: DatabaseInstanceName
+ set:
+ parameter-name: Name
+
+# SapLandscapeMonitor
+- where:
+ verb: New
+ subject: ^SapLandscapeMonitor$
+ variant: ^Create$|^CreateViaIdentity$|^CreateViaIdentityExpanded$
+ remove: true
+
+- where:
+ verb: Get
+ subject: ^SapLandscapeMonitor$
+ variant: ^List$
+ remove: true
+- where:
+ verb: Update
+ subject: ^SapLandscapeMonitor$
+ variant: ^Update$|^UpdateViaIdentity$
+ remove: true
+
+# SapVirtualInstance
+- where:
+ verb: New
+ subject: ^SapVirtualInstance$
+ variant: ^Create$|^CreateViaIdentity$|^CreateViaIdentityExpanded$
+ remove: true
+
+- where:
+ verb: New
+ subject: ^SapVirtualInstance$
+ variant: ^CreateExpanded$
+ hide: true
+
+- where:
+ verb: Stop
+ subject: ^SapVirtualInstance$
+ variant: ^Stop$|^StopViaIdentity$
+ remove: true
+
+- where:
+ verb: Update
+ subject: ^SapVirtualInstance$
+ variant: ^Update$|^UpdateViaIdentity$
+ remove: true
+
+- where:
+ subject: ^SapVirtualInstance$
+ parameter-name: IdentityUserAssignedIdentity
+ set:
+ parameter-name: UserAssignedIdentity
+
+- where:
+ subject: ^SapVirtualInstance$
+ parameter-name: ManagedResourceGroupConfigurationName
+ set:
+ parameter-name: ManagedResourceGroupName
+
+# SapAvailabilityZoneDetail
+- where:
+ verb: Invoke
+ subject: ^SapAvailabilityZoneDetail$
+ remove: true
+
+# SapDiskConfiguration
+- where:
+ verb: Invoke
+ subject: ^SapDiskConfiguration$
+ variant: ^Sap$|^SapViaIdentity$
+ remove: true
+
+# SapSizingRecommendation
+- where:
+ verb: Invoke
+ subject: ^SapSizingRecommendation$
+ variant: ^Sap$|^SapViaIdentity$
+ remove: true
+
+# SapSupportedSku
+- where:
+ verb: Invoke
+ subject: ^SapSupportedSku$
+ variant: ^Sap$|^SapViaIdentity$
+ remove: true
+
+# Module Table Formatting
+- where:
+ model-name: Monitor
+ set:
+ format-table:
+ properties:
+ - Name
+ - ResourceGroupName
+ - ManagedResourceGroupConfigurationName
+ - Location
+ - ProvisioningState
+
+- where:
+ model-name: ProviderInstance
+ set:
+ format-table:
+ properties:
+ - Name
+ - ResourceGroupName
+ - ProvisioningState
+ - ProviderSettingProviderType
+ - IdentityType
+
+- where:
+ model-name: SapVirtualInstance
+ set:
+ format-table:
+ properties:
+ - Name
+ - ResourceGroupName
+ - Health
+ - Environment
+ - ProvisioningState
+ - SapProduct
+ - State
+ - Status
+ - Location
+
+- where:
+ model-name: SapCentralServerInstance
+ set:
+ format-table:
+ properties:
+ - Name
+ - ResourceGroupName
+ - Health
+ - EnqueueServerPropertyHostname
+ - ProvisioningState
+ - Status
+ - Location
+
+- where:
+ model-name: SapApplicationServerInstance
+ set:
+ format-table:
+ properties:
+ - Name
+ - ResourceGroupName
+ - Health
+ - ProvisioningState
+ - Status
+ - Hostname
+ - Location
+
+- where:
+ model-name: SapDatabaseInstance
+ set:
+ format-table:
+ properties:
+ - Name
+ - ResourceGroupName
+ - ProvisioningState
+ - Location
+ - Status
+ - IPAddress
+ - DatabaseSid
+
+- where:
+ model-name: SapLandscapeMonitor
+ set:
+ format-table:
+ properties:
+ - Name
+ - ResourceGroupName
+ - ProvisioningState
+ - GroupingLandscape
+ - GroupingSapApplication
+
+- no-inline: # choose ONE of these models to disable inlining
+ - ProviderSpecificProperties
+ - SAPConfiguration
+ - ErrorInnerError
+- model-cmdlet:
+ - SapLandscapeMonitorSidMapping
+ - SapLandscapeMonitorMetricThresholds
+## Need custom below cmdlets.
+# - HanaDbProviderInstanceProperties
+# - SapNetWeaverProviderInstanceProperties
+# - PrometheusOSProviderInstanceProperties
+# - DB2ProviderInstanceProperties
+# - PrometheusHaClusterProviderInstanceProperties
+# - MsSqlServerProviderInstanceProperties
+
+# Result shoule be in SingleServerRecommendationResult and ThreeTierRecommendationResult
+- from: source-file-csharp
+ where: $
+ transform: $ = $.replace('internal Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapSizingRecommendationResult Property', 'public Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapSizingRecommendationResult Property');
+
+# remove System Data in module Monitor, ProviderInstance, SapApplicationServerInstance, SapCentralServerInstance, SapDatabaseInstance, SapLandscapeMonitor, SapVirtualInstance
+- from: Monitor.cs
+ where: $
+ transform: $ = $.replace('public Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ISystemData SystemData', 'internal Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ISystemData SystemData');
+- from: ProviderInstance.cs
+ where: $
+ transform: $ = $.replace('public Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ISystemData SystemData', 'internal Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ISystemData SystemData');
+- from: SapApplicationServerInstance.cs
+ where: $
+ transform: $ = $.replace('public Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ISystemData SystemData', 'internal Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ISystemData SystemData');
+- from: SapCentralServerInstance.cs
+ where: $
+ transform: $ = $.replace('public Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ISystemData SystemData', 'internal Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ISystemData SystemData');
+- from: SapDatabaseInstance.cs
+ where: $
+ transform: $ = $.replace('public Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ISystemData SystemData', 'internal Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ISystemData SystemData');
+- from: SapLandscapeMonitor.cs
+ where: $
+ transform: $ = $.replace('public Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ISystemData SystemData', 'internal Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ISystemData SystemData');
+- from: SapVirtualInstance.cs
+ where: $
+ transform: $ = $.replace('public Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ISystemData SystemData', 'internal Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ISystemData SystemData');
+```
diff --git a/src/Workloads/Workloads.sln b/src/Workloads/Workloads.sln
new file mode 100644
index 000000000000..99643d1a053f
--- /dev/null
+++ b/src/Workloads/Workloads.sln
@@ -0,0 +1,58 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31903.59
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Accounts", "..\Accounts\Accounts\Accounts.csproj", "{C91DE69D-0EAC-41D0-9A1D-9DE26DC510C8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AssemblyLoading", "..\Accounts\AssemblyLoading\AssemblyLoading.csproj", "{E6409C1C-7A26-4590-87CF-44CDE477B36A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Authentication", "..\Accounts\Authentication\Authentication.csproj", "{BC3F1EED-0F16-448A-B938-E6417D971094}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Authentication.ResourceManager", "..\Accounts\Authentication.ResourceManager\Authentication.ResourceManager.csproj", "{88625BC7-3768-4805-A586-795B3EA52064}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AuthenticationAssemblyLoadContext", "..\Accounts\AuthenticationAssemblyLoadContext\AuthenticationAssemblyLoadContext.csproj", "{03576BDB-3330-4CC3-BACF-BA13238D4102}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Authenticators", "..\Accounts\Authenticators\Authenticators.csproj", "{A1F60875-9B8D-4BD5-B269-0C4B2D335C1B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Az.Workloads", "Az.Workloads.csproj", "{3212F139-8A8F-466E-A62B-C9709F27E3E0}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {C91DE69D-0EAC-41D0-9A1D-9DE26DC510C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C91DE69D-0EAC-41D0-9A1D-9DE26DC510C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C91DE69D-0EAC-41D0-9A1D-9DE26DC510C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C91DE69D-0EAC-41D0-9A1D-9DE26DC510C8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E6409C1C-7A26-4590-87CF-44CDE477B36A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E6409C1C-7A26-4590-87CF-44CDE477B36A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E6409C1C-7A26-4590-87CF-44CDE477B36A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E6409C1C-7A26-4590-87CF-44CDE477B36A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BC3F1EED-0F16-448A-B938-E6417D971094}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BC3F1EED-0F16-448A-B938-E6417D971094}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BC3F1EED-0F16-448A-B938-E6417D971094}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BC3F1EED-0F16-448A-B938-E6417D971094}.Release|Any CPU.Build.0 = Release|Any CPU
+ {88625BC7-3768-4805-A586-795B3EA52064}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {88625BC7-3768-4805-A586-795B3EA52064}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {88625BC7-3768-4805-A586-795B3EA52064}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {88625BC7-3768-4805-A586-795B3EA52064}.Release|Any CPU.Build.0 = Release|Any CPU
+ {03576BDB-3330-4CC3-BACF-BA13238D4102}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {03576BDB-3330-4CC3-BACF-BA13238D4102}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {03576BDB-3330-4CC3-BACF-BA13238D4102}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {03576BDB-3330-4CC3-BACF-BA13238D4102}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A1F60875-9B8D-4BD5-B269-0C4B2D335C1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A1F60875-9B8D-4BD5-B269-0C4B2D335C1B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A1F60875-9B8D-4BD5-B269-0C4B2D335C1B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A1F60875-9B8D-4BD5-B269-0C4B2D335C1B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3212F139-8A8F-466E-A62B-C9709F27E3E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3212F139-8A8F-466E-A62B-C9709F27E3E0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3212F139-8A8F-466E-A62B-C9709F27E3E0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3212F139-8A8F-466E-A62B-C9709F27E3E0}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/src/Workloads/build-module.ps1 b/src/Workloads/build-module.ps1
new file mode 100644
index 000000000000..608c6b6cdfc1
--- /dev/null
+++ b/src/Workloads/build-module.ps1
@@ -0,0 +1,165 @@
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+param([switch]$Isolated, [switch]$Run, [switch]$Test, [switch]$Docs, [switch]$Pack, [switch]$Code, [switch]$Release, [switch]$Debugger, [switch]$NoDocs)
+$ErrorActionPreference = 'Stop'
+
+if($PSEdition -ne 'Core') {
+ Write-Error 'This script requires PowerShell Core to execute. [Note] Generated cmdlets will work in both PowerShell Core or Windows PowerShell.'
+}
+
+if(-not $Isolated -and -not $Debugger) {
+ Write-Host -ForegroundColor Green 'Creating isolated process...'
+ $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path
+ & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated
+
+ if($LastExitCode -ne 0) {
+ # Build failed. Don't attempt to run the module.
+ return
+ }
+
+ if($Test) {
+ . (Join-Path $PSScriptRoot 'test-module.ps1')
+ if($LastExitCode -ne 0) {
+ # Tests failed. Don't attempt to run the module.
+ return
+ }
+ }
+
+ if($Docs) {
+ . (Join-Path $PSScriptRoot 'generate-help.ps1')
+ if($LastExitCode -ne 0) {
+ # Docs generation failed. Don't attempt to run the module.
+ return
+ }
+ }
+
+ if($Pack) {
+ . (Join-Path $PSScriptRoot 'pack-module.ps1')
+ if($LastExitCode -ne 0) {
+ # Packing failed. Don't attempt to run the module.
+ return
+ }
+ }
+
+ $runModulePath = Join-Path $PSScriptRoot 'run-module.ps1'
+ if($Code) {
+ . $runModulePath -Code
+ } elseif($Run) {
+ . $runModulePath
+ } else {
+ Write-Host -ForegroundColor Cyan "To run this module in an isolated PowerShell session, run the 'run-module.ps1' script or provide the '-Run' parameter to this script."
+ }
+ return
+}
+
+$binFolder = Join-Path $PSScriptRoot 'bin'
+$objFolder = Join-Path $PSScriptRoot 'obj'
+
+if(-not $Debugger) {
+ Write-Host -ForegroundColor Green 'Cleaning build folders...'
+ $null = Remove-Item -Recurse -ErrorAction SilentlyContinue -Path $binFolder, $objFolder
+
+ if((Test-Path $binFolder) -or (Test-Path $objFolder)) {
+ Write-Host -ForegroundColor Cyan 'Did you forget to exit your isolated module session before rebuilding?'
+ Write-Error 'Unable to clean ''bin'' or ''obj'' folder. A process may have an open handle.'
+ }
+
+ Write-Host -ForegroundColor Green 'Compiling module...'
+ $buildConfig = 'Debug'
+ if($Release) {
+ $buildConfig = 'Release'
+ }
+ dotnet publish $PSScriptRoot --verbosity quiet --configuration $buildConfig /nologo
+ if($LastExitCode -ne 0) {
+ Write-Error 'Compilation failed.'
+ }
+
+ $null = Remove-Item -Recurse -ErrorAction SilentlyContinue -Path (Join-Path $binFolder 'Debug'), (Join-Path $binFolder 'Release')
+}
+
+$dll = Join-Path $PSScriptRoot 'bin\Az.Workloads.private.dll'
+if(-not (Test-Path $dll)) {
+ Write-Error "Unable to find output assembly in '$binFolder'."
+}
+
+# Load DLL to use build-time cmdlets
+$null = Import-Module -Name $dll
+
+$modulePaths = $dll
+$customPsm1 = Join-Path $PSScriptRoot 'custom\Az.Workloads.custom.psm1'
+if(Test-Path $customPsm1) {
+ $modulePaths = @($dll, $customPsm1)
+}
+
+$exportsFolder = Join-Path $PSScriptRoot 'exports'
+if(Test-Path $exportsFolder) {
+ $null = Get-ChildItem -Path $exportsFolder -Recurse -Exclude 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue
+}
+$null = New-Item -ItemType Directory -Force -Path $exportsFolder
+
+$internalFolder = Join-Path $PSScriptRoot 'internal'
+if(Test-Path $internalFolder) {
+ $null = Get-ChildItem -Path $internalFolder -Recurse -Exclude '*.psm1', 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue
+}
+$null = New-Item -ItemType Directory -Force -Path $internalFolder
+
+$psd1 = Join-Path $PSScriptRoot './Az.Workloads.psd1'
+$guid = Get-ModuleGuid -Psd1Path $psd1
+$moduleName = 'Az.Workloads'
+$examplesFolder = Join-Path $PSScriptRoot 'examples'
+$null = New-Item -ItemType Directory -Force -Path $examplesFolder
+
+Write-Host -ForegroundColor Green 'Creating cmdlets for specified models...'
+$modelCmdlets = @('SapLandscapeMonitorSidMapping', 'SapLandscapeMonitorMetricThresholds')
+$modelCmdletFolder = Join-Path (Join-Path $PSScriptRoot './custom') 'autogen-model-cmdlets'
+if (Test-Path $modelCmdletFolder) {
+ $null = Remove-Item -Force -Recurse -Path $modelCmdletFolder
+}
+if ($modelCmdlets.Count -gt 0) {
+ . (Join-Path $PSScriptRoot 'create-model-cmdlets.ps1')
+ CreateModelCmdlet($modelCmdlets)
+}
+
+if($NoDocs) {
+ Write-Host -ForegroundColor Green 'Creating exports...'
+ Export-ProxyCmdlet -ModuleName $moduleName -ModulePath $modulePaths -ExportsFolder $exportsFolder -InternalFolder $internalFolder -ExcludeDocs -ExamplesFolder $examplesFolder
+} else {
+ Write-Host -ForegroundColor Green 'Creating exports and docs...'
+ $moduleDescription = 'Microsoft Azure PowerShell: Workloads cmdlets'
+ $docsFolder = Join-Path $PSScriptRoot 'docs'
+ if(Test-Path $docsFolder) {
+ $null = Get-ChildItem -Path $docsFolder -Recurse -Exclude 'README.md' | Remove-Item -Recurse -ErrorAction SilentlyContinue
+ }
+ $null = New-Item -ItemType Directory -Force -Path $docsFolder
+ Export-ProxyCmdlet -ModuleName $moduleName -ModulePath $modulePaths -ExportsFolder $exportsFolder -InternalFolder $internalFolder -ModuleDescription $moduleDescription -DocsFolder $docsFolder -ExamplesFolder $examplesFolder -ModuleGuid $guid
+}
+
+Write-Host -ForegroundColor Green 'Creating format.ps1xml...'
+$formatPs1xml = Join-Path $PSScriptRoot './Az.Workloads.format.ps1xml'
+Export-FormatPs1xml -FilePath $formatPs1xml
+
+Write-Host -ForegroundColor Green 'Creating psd1...'
+$customFolder = Join-Path $PSScriptRoot 'custom'
+Export-Psd1 -ExportsFolder $exportsFolder -CustomFolder $customFolder -Psd1Path $psd1 -ModuleGuid $guid
+
+Write-Host -ForegroundColor Green 'Creating test stubs...'
+$testFolder = Join-Path $PSScriptRoot 'test'
+$null = New-Item -ItemType Directory -Force -Path $testFolder
+Export-TestStub -ModuleName $moduleName -ExportsFolder $exportsFolder -OutputFolder $testFolder
+
+Write-Host -ForegroundColor Green 'Creating example stubs...'
+Export-ExampleStub -ExportsFolder $exportsFolder -OutputFolder $examplesFolder
+
+Write-Host -ForegroundColor Green '-------------Done-------------'
diff --git a/src/Workloads/check-dependencies.ps1 b/src/Workloads/check-dependencies.ps1
new file mode 100644
index 000000000000..c29591c7bfe1
--- /dev/null
+++ b/src/Workloads/check-dependencies.ps1
@@ -0,0 +1,65 @@
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+param([switch]$Isolated, [switch]$Accounts, [switch]$Pester, [switch]$Resources)
+$ErrorActionPreference = 'Stop'
+
+if(-not $Isolated) {
+ Write-Host -ForegroundColor Green 'Creating isolated process...'
+ $pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path
+ & "$pwsh" -NoExit -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated
+ return
+}
+
+function DownloadModule ([bool]$predicate, [string]$path, [string]$moduleName, [string]$versionMinimum, [string]$requiredVersion) {
+ if($predicate) {
+ $module = Get-Module -ListAvailable -Name $moduleName
+ if((-not $module) -or ($versionMinimum -and ($module | ForEach-Object { $_.Version } | Where-Object { $_ -ge [System.Version]$versionMinimum } | Measure-Object).Count -eq 0) -or ($requiredVersion -and ($module | ForEach-Object { $_.Version } | Where-Object { $_ -eq [System.Version]$requiredVersion } | Measure-Object).Count -eq 0)) {
+ $null = New-Item -ItemType Directory -Force -Path $path
+ Write-Host -ForegroundColor Green "Installing local $moduleName module into '$path'..."
+ if ($requiredVersion) {
+ Find-Module -Name $moduleName -RequiredVersion $requiredVersion -Repository PSGallery | Save-Module -Path $path
+ }elseif($versionMinimum) {
+ Find-Module -Name $moduleName -MinimumVersion $versionMinimum -Repository PSGallery | Save-Module -Path $path
+ } else {
+ Find-Module -Name $moduleName -Repository PSGallery | Save-Module -Path $path
+ }
+ }
+ }
+}
+
+$ProgressPreference = 'SilentlyContinue'
+$all = (@($Accounts.IsPresent, $Pester.IsPresent) | Select-Object -Unique | Measure-Object).Count -eq 1
+
+$localModulesPath = Join-Path $PSScriptRoot 'generated\modules'
+if(Test-Path -Path $localModulesPath) {
+ $env:PSModulePath = "$localModulesPath$([IO.Path]::PathSeparator)$env:PSModulePath"
+}
+
+DownloadModule -predicate ($all -or $Accounts) -path $localModulesPath -moduleName 'Az.Accounts' -versionMinimum '2.7.5'
+DownloadModule -predicate ($all -or $Pester) -path $localModulesPath -moduleName 'Pester' -requiredVersion '4.10.1'
+
+$tools = Join-Path $PSScriptRoot 'tools'
+$resourceDir = Join-Path $tools 'Resources'
+$resourceModule = Join-Path $HOME '.PSSharedModules\Resources\Az.Resources.TestSupport.psm1'
+
+if ($Resources.IsPresent -and ((-not (Test-Path -Path $resourceModule)) -or $RegenerateSupportModule.IsPresent)) {
+ Write-Host -ForegroundColor Green "Building local Resource module used for test..."
+ Set-Location $resourceDir
+ $null = autorest .\README.md --use:@autorest/powershell@3.0.414 --output-folder=$HOME/.PSSharedModules/Resources
+ $null = Copy-Item custom/* $HOME/.PSSharedModules/Resources/custom/
+ Set-Location $HOME/.PSSharedModules/Resources
+ $null = .\build-module.ps1
+ Set-Location $PSScriptRoot
+}
diff --git a/src/Workloads/create-model-cmdlets.ps1 b/src/Workloads/create-model-cmdlets.ps1
new file mode 100644
index 000000000000..1bce9d491703
--- /dev/null
+++ b/src/Workloads/create-model-cmdlets.ps1
@@ -0,0 +1,183 @@
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+function CreateModelCmdlet {
+
+ param([string[]]$Models)
+
+ if ($Models.Count -eq 0)
+ {
+ return
+ }
+
+ $ModelCsPath = Join-Path (Join-Path $PSScriptRoot 'generated\api') 'Models'
+ $OutputDir = Join-Path $PSScriptRoot 'custom\autogen-model-cmdlets'
+ $null = New-Item -ItemType Directory -Force -Path $OutputDir
+ if (''.length -gt 0) {
+ $ModuleName = ''
+ } else {
+ $ModuleName = 'Az.Workloads'
+ }
+
+ $CsFiles = Get-ChildItem -Path $ModelCsPath -Recurse -Filter *.cs
+ $Content = ''
+ $null = $CsFiles | ForEach-Object -Process { if ($_.Name.Split('.').count -eq 2 )
+ { $Content += get-content $_.fullname -raw
+ } }
+
+ $Tree = [Microsoft.CodeAnalysis.CSharp.SyntaxFactory]::ParseCompilationUnit($Content)
+ $Nodes = $Tree.ChildNodes().ChildNodes()
+ foreach ($Model in $Models)
+ {
+ $InterfaceNode = $Nodes | Where-Object { ($_.Keyword.value -eq 'interface') -and ($_.Identifier.value -eq "I$Model") }
+ if ($InterfaceNode.count -eq 0) {
+ continue
+ }
+ # through a queue, we iterate all the parent models.
+ $Queue = @($InterfaceNode)
+ $visited = @("I$Model")
+ $AllInterfaceNodes = @()
+ while ($Queue.count -ne 0)
+ {
+ $AllInterfaceNodes += $Queue[0]
+ # Baselist contains the direct parent models.
+ foreach ($parent in $Queue[0].BaseList.Types)
+ {
+ if (($parent.Type.Right.Identifier.Value -ne 'IJsonSerializable') -and (-not $visited.Contains($parent.Type.Right.Identifier.Value)))
+ {
+ $Queue = [Array]$Queue + ($Nodes | Where-Object { ($_.Keyword.value -eq 'interface') -and ($_.Identifier.value -eq $parent.Type.Right.Identifier.Value) })
+ $visited = [Array]$visited + $parent.Type.Right.Identifier.Value
+ }
+ }
+ $first, $Queue = $Queue
+ }
+
+ $Namespace = $InterfaceNode.Parent.Name
+ $ObjectType = $Model
+ $ObjectTypeWithNamespace = "${Namespace}.${ObjectType}"
+ # remove duplicated module name
+ if ($ObjectType.StartsWith('Workloads')) {
+ $ModulePrefix = ''
+ } else {
+ $ModulePrefix = 'Workloads'
+ }
+ $OutputPath = Join-Path -ChildPath "New-Az${ModulePrefix}${ObjectType}Object.ps1" -Path $OutputDir
+
+ $ParameterDefineScriptList = New-Object System.Collections.Generic.List[string]
+ $ParameterAssignScriptList = New-Object System.Collections.Generic.List[string]
+ foreach ($Node in $AllInterfaceNodes)
+ {
+ foreach ($Member in $Node.Members)
+ {
+ $Arguments = $Member.AttributeLists.Attributes.ArgumentList.Arguments
+ $Required = $false
+ $Description = ""
+ $Readonly = $False
+ foreach ($Argument in $Arguments)
+ {
+ if ($Argument.NameEquals.Name.Identifier.Value -eq "Required")
+ {
+ $Required = $Argument.Expression.Token.Value
+ }
+ if ($Argument.NameEquals.Name.Identifier.Value -eq "Description")
+ {
+ $Description = $Argument.Expression.Token.Value.Trim('.').replace('"', '`"')
+ }
+ if ($Argument.NameEquals.Name.Identifier.Value -eq "Readonly")
+ {
+ $Readonly = $Argument.Expression.Token.Value
+ }
+ }
+ if ($Readonly)
+ {
+ continue
+ }
+ $Identifier = $Member.Identifier.Value
+ $Type = $Member.Type.ToString().replace('?', '').Split("::")[-1]
+ $ParameterDefinePropertyList = New-Object System.Collections.Generic.List[string]
+ if ($Required)
+ {
+ $ParameterDefinePropertyList.Add("Mandatory")
+ }
+ if ($Description -ne "")
+ {
+ $ParameterDefinePropertyList.Add("HelpMessage=`"${Description}.`"")
+ }
+ $ParameterDefineProperty = [System.String]::Join(", ", $ParameterDefinePropertyList)
+ # check whether completer is needed
+ $completer = '';
+ if($Type.Split('.').Split('.')[-2] -eq 'Support') {
+ # If Type is an array, need to strip []
+ $strippedType = $Type.Replace('[]', '')
+ $completer += "`n [ArgumentCompleter([${strippedType}])]"
+ }
+ $ParameterDefineScript = "
+ [Parameter($ParameterDefineProperty)]${completer}
+ [${Type}]
+ `$${Identifier}"
+ $ParameterDefineScriptList.Add($ParameterDefineScript)
+ $ParameterAssignScriptList.Add("
+ if (`$PSBoundParameters.ContainsKey('${Identifier}')) {
+ `$Object.${Identifier} = `$${Identifier}
+ }")
+ }
+ }
+ $ParameterDefineScript = $ParameterDefineScriptList | Join-String -Separator ","
+ $ParameterAssignScript = $ParameterAssignScriptList | Join-String -Separator ""
+
+ $Script = "
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the ""License"");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an ""AS IS"" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for ${ObjectType}.
+.Description
+Create an in-memory object for ${ObjectType}.
+
+.Outputs
+${ObjectTypeWithNamespace}
+.Link
+https://learn.microsoft.com/powershell/module/${ModuleName}/new-Az${ModulePrefix}${ObjectType}Object
+#>
+function New-Az${ModulePrefix}${ObjectType}Object {
+ [OutputType('${ObjectTypeWithNamespace}')]
+ [CmdletBinding(PositionalBinding=`$false)]
+ Param(
+${ParameterDefineScript}
+ )
+
+ process {
+ `$Object = [${ObjectTypeWithNamespace}]::New()
+${ParameterAssignScript}
+ return `$Object
+ }
+}
+"
+ Set-Content -Path $OutputPath -Value $Script
+ }
+}
diff --git a/src/Workloads/custom/Az.Workloads.custom.psm1 b/src/Workloads/custom/Az.Workloads.custom.psm1
new file mode 100644
index 000000000000..33d248a3b45f
--- /dev/null
+++ b/src/Workloads/custom/Az.Workloads.custom.psm1
@@ -0,0 +1,17 @@
+# region Generated
+ # Load the private module dll
+ $null = Import-Module -PassThru -Name (Join-Path $PSScriptRoot '..\bin\Az.Workloads.private.dll')
+
+ # Load the internal module
+ $internalModulePath = Join-Path $PSScriptRoot '..\internal\Az.Workloads.internal.psm1'
+ if(Test-Path $internalModulePath) {
+ $null = Import-Module -Name $internalModulePath
+ }
+
+ # Export nothing to clear implicit exports
+ Export-ModuleMember
+
+ # Export script cmdlets
+ Get-ChildItem -Path $PSScriptRoot -Recurse -Include '*.ps1' -File | ForEach-Object { . $_.FullName }
+ Export-ModuleMember -Function (Get-ScriptCmdlet -ScriptFolder $PSScriptRoot) -Alias (Get-ScriptCmdlet -ScriptFolder $PSScriptRoot -AsAlias)
+# endregion
diff --git a/src/Workloads/custom/InvokeAzWorkloadsSapSizingRecommendation_SapExpanded.cs b/src/Workloads/custom/InvokeAzWorkloadsSapSizingRecommendation_SapExpanded.cs
new file mode 100644
index 000000000000..d49c9513fe47
--- /dev/null
+++ b/src/Workloads/custom/InvokeAzWorkloadsSapSizingRecommendation_SapExpanded.cs
@@ -0,0 +1,35 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for license information.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+namespace Microsoft.Azure.PowerShell.Cmdlets.Workloads.Cmdlets
+{
+ using static Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Extensions;
+ using System;
+
+ ///
+ /// Get SAP sizing recommendations by providing input SAPS for application tier and memory required for database tier
+ ///
+ ///
+ /// [OpenAPI] SAPSizingRecommendations=>POST:"/subscriptions/{subscriptionId}/providers/Microsoft.Workloads/locations/{location}/sapVirtualInstanceMetadata/default/getSizingRecommendations"
+ ///
+ public partial class InvokeAzWorkloadsSapSizingRecommendation_SapExpanded : global::System.Management.Automation.PSCmdlet,
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener
+ {
+ /// a delegate that is called when the remote service returns 200 (OK).
+ /// the raw response message as an global::System.Net.Http.HttpResponseMessage.
+ /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapSizingRecommendationResult
+ /// from the remote call
+ ///
+ /// A that will be complete when handling of the method is completed.
+ ///
+ partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow)
+ {
+ // onOk - response for 200 / application/json
+ // should be Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapSizingRecommendationResult
+ WriteObject(response.Result);
+ returnNow = global::System.Threading.Tasks.Task.FromResult(true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Workloads/custom/InvokeAzWorkloadsSapSizingRecommendation_SapViaIdentityExpanded.cs b/src/Workloads/custom/InvokeAzWorkloadsSapSizingRecommendation_SapViaIdentityExpanded.cs
new file mode 100644
index 000000000000..7d4900f93444
--- /dev/null
+++ b/src/Workloads/custom/InvokeAzWorkloadsSapSizingRecommendation_SapViaIdentityExpanded.cs
@@ -0,0 +1,35 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for license information.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+namespace Microsoft.Azure.PowerShell.Cmdlets.Workloads.Cmdlets
+{
+ using static Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Extensions;
+ using System;
+
+ ///
+ /// Get SAP sizing recommendations by providing input SAPS for application tier and memory required for database tier
+ ///
+ ///
+ /// [OpenAPI] SAPSizingRecommendations=>POST:"/subscriptions/{subscriptionId}/providers/Microsoft.Workloads/locations/{location}/sapVirtualInstanceMetadata/default/getSizingRecommendations"
+ ///
+ public partial class InvokeAzWorkloadsSapSizingRecommendation_SapViaIdentityExpanded : global::System.Management.Automation.PSCmdlet,
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener
+ {
+ /// a delegate that is called when the remote service returns 200 (OK).
+ /// the raw response message as an global::System.Net.Http.HttpResponseMessage.
+ /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapSizingRecommendationResult
+ /// from the remote call
+ ///
+ /// A that will be complete when handling of the method is completed.
+ ///
+ partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow)
+ {
+ // onOk - response for 200 / application/json
+ // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapSizingRecommendationResult
+ WriteObject(response.Result);
+ returnNow = global::System.Threading.Tasks.Task.FromResult(true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Workloads/custom/New-AzWorkloadsProviderDB2InstanceObject.ps1 b/src/Workloads/custom/New-AzWorkloadsProviderDB2InstanceObject.ps1
new file mode 100644
index 000000000000..feb59af9eec0
--- /dev/null
+++ b/src/Workloads/custom/New-AzWorkloadsProviderDB2InstanceObject.ps1
@@ -0,0 +1,98 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for DB2ProviderInstanceProperties.
+.Description
+Create an in-memory object for DB2ProviderInstanceProperties.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DB2ProviderInstanceProperties
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/new-azworkloadsproviderdb2instanceobject
+#>
+function New-AzWorkloadsProviderDB2InstanceObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DB2ProviderInstanceProperties')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Gets or sets the db2 database name.")]
+ [string]
+ $Name,
+ [Parameter(HelpMessage="Gets or sets the db2 database password.")]
+ [string]
+ $Password,
+ [Parameter(HelpMessage="Gets or sets the key vault URI to secret with the database password.")]
+ [string]
+ $PasswordUri,
+ [Parameter(HelpMessage="Gets or sets the db2 database sql port.")]
+ [string]
+ $Port,
+ [Parameter(HelpMessage="Gets or sets the db2 database user name.")]
+ [string]
+ $Username,
+ [Parameter(HelpMessage="Gets or sets the target virtual machine name.")]
+ [string]
+ $Hostname,
+ [Parameter(HelpMessage="Gets or sets the SAP System Identifier.")]
+ [string]
+ $SapSid,
+ [Parameter(HelpMessage="Gets or sets the blob URI to SSL certificate for the DB2 Database.")]
+ [string]
+ $SslCertificateUri,
+ [Parameter(HelpMessage="Gets or sets certificate preference if secure communication is enabled.")]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference]
+ $SslPreference
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DB2ProviderInstanceProperties]::New()
+
+ if ($PSBoundParameters.ContainsKey('Name')) {
+ $Object.DbName = $Name
+ }
+ if ($PSBoundParameters.ContainsKey('Password')) {
+ $Object.DbPassword = $Password
+ }
+ if ($PSBoundParameters.ContainsKey('PasswordUri')) {
+ $Object.DbPasswordUri = $PasswordUri
+ }
+ if ($PSBoundParameters.ContainsKey('Port')) {
+ $Object.DbPort = $Port
+ }
+ if ($PSBoundParameters.ContainsKey('Username')) {
+ $Object.DbUsername = $Username
+ }
+ if ($PSBoundParameters.ContainsKey('Hostname')) {
+ $Object.Hostname = $Hostname
+ }
+ if ($PSBoundParameters.ContainsKey('SapSid')) {
+ $Object.SapSid = $SapSid
+ }
+ if ($PSBoundParameters.ContainsKey('SslCertificateUri')) {
+ $Object.SslCertificateUri = $SslCertificateUri
+ }
+ if ($PSBoundParameters.ContainsKey('SslPreference')) {
+ $Object.SslPreference = $SslPreference
+ }
+
+ $Object.ProviderType = 'Db2'
+ return $Object
+ }
+}
+
diff --git a/src/Workloads/custom/New-AzWorkloadsProviderHanaDbInstanceObject.ps1 b/src/Workloads/custom/New-AzWorkloadsProviderHanaDbInstanceObject.ps1
new file mode 100644
index 000000000000..83da6fbdb39b
--- /dev/null
+++ b/src/Workloads/custom/New-AzWorkloadsProviderHanaDbInstanceObject.ps1
@@ -0,0 +1,109 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for HanaDbProviderInstanceProperties.
+.Description
+Create an in-memory object for HanaDbProviderInstanceProperties.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.HanaDbProviderInstanceProperties
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/new-azworkloadsproviderhanadbinstanceobject
+#>
+function New-AzWorkloadsProviderHanaDbInstanceObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.HanaDbProviderInstanceProperties')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Gets or sets the hana database name.")]
+ [string]
+ $Name,
+ [Parameter(HelpMessage="Gets or sets the database password.")]
+ [string]
+ $Password,
+ [Parameter(HelpMessage="Gets or sets the key vault URI to secret with the database password.")]
+ [string]
+ $PasswordUri,
+ [Parameter(HelpMessage="Gets or sets the database user name.")]
+ [string]
+ $Username,
+ [Parameter(HelpMessage="Gets or sets the target virtual machine size.")]
+ [string]
+ $Hostname,
+ [Parameter(HelpMessage="Gets or sets the database instance number.")]
+ [string]
+ $InstanceNumber,
+ [Parameter(HelpMessage="Gets or sets the SAP System Identifier.")]
+ [string]
+ $SapSid,
+ [Parameter(HelpMessage="Gets or sets the database sql port.")]
+ [string]
+ $SqlPort,
+ [Parameter(HelpMessage="Gets or sets the blob URI to SSL certificate for the DB.")]
+ [string]
+ $SslCertificateUri,
+ [Parameter(HelpMessage="Gets or sets the hostname(s) in the SSL certificate.")]
+ [string]
+ $SslHostNameInCertificate,
+ [Parameter(HelpMessage="Gets or sets certificate preference if secure communication is enabled.")]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference]
+ $SslPreference
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.HanaDbProviderInstanceProperties]::New()
+
+ if ($PSBoundParameters.ContainsKey('Name')) {
+ $Object.DbName = $Name
+ }
+ if ($PSBoundParameters.ContainsKey('Password')) {
+ $Object.DbPassword = $Password
+ }
+ if ($PSBoundParameters.ContainsKey('PasswordUri')) {
+ $Object.DbPasswordUri = $PasswordUri
+ }
+ if ($PSBoundParameters.ContainsKey('Username')) {
+ $Object.DbUsername = $Username
+ }
+ if ($PSBoundParameters.ContainsKey('Hostname')) {
+ $Object.Hostname = $Hostname
+ }
+ if ($PSBoundParameters.ContainsKey('InstanceNumber')) {
+ $Object.InstanceNumber = $InstanceNumber
+ }
+ if ($PSBoundParameters.ContainsKey('SapSid')) {
+ $Object.SapSid = $SapSid
+ }
+ if ($PSBoundParameters.ContainsKey('SqlPort')) {
+ $Object.SqlPort = $SqlPort
+ }
+ if ($PSBoundParameters.ContainsKey('SslCertificateUri')) {
+ $Object.SslCertificateUri = $SslCertificateUri
+ }
+ if ($PSBoundParameters.ContainsKey('SslHostNameInCertificate')) {
+ $Object.SslHostNameInCertificate = $SslHostNameInCertificate
+ }
+ if ($PSBoundParameters.ContainsKey('SslPreference')) {
+ $Object.SslPreference = $SslPreference
+ }
+ $Object.ProviderType = 'SapHana'
+ return $Object
+ }
+}
+
diff --git a/src/Workloads/custom/New-AzWorkloadsProviderPrometheusHaClusterInstanceObject.ps1 b/src/Workloads/custom/New-AzWorkloadsProviderPrometheusHaClusterInstanceObject.ps1
new file mode 100644
index 000000000000..b125c2a720aa
--- /dev/null
+++ b/src/Workloads/custom/New-AzWorkloadsProviderPrometheusHaClusterInstanceObject.ps1
@@ -0,0 +1,81 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for PrometheusHaClusterProviderInstanceProperties.
+.Description
+Create an in-memory object for PrometheusHaClusterProviderInstanceProperties.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.PrometheusHaClusterProviderInstanceProperties
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/new-azworkloadsproviderprometheushaclusterinstanceobject
+#>
+function New-AzWorkloadsProviderPrometheusHaClusterInstanceObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.PrometheusHaClusterProviderInstanceProperties')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Gets or sets the clusterName.")]
+ [string]
+ $ClusterName,
+ [Parameter(HelpMessage="Gets or sets the target machine name.")]
+ [string]
+ $Hostname,
+ [Parameter(HelpMessage="URL of the Node Exporter endpoint.")]
+ [string]
+ $PrometheusUrl,
+ [Parameter(HelpMessage="Gets or sets the cluster sid.")]
+ [string]
+ $Sid,
+ [Parameter(HelpMessage="Gets or sets the blob URI to SSL certificate for the HA cluster exporter.")]
+ [string]
+ $SslCertificateUri,
+ [Parameter(HelpMessage="Gets or sets certificate preference if secure communication is enabled.")]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference]
+ $SslPreference
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.PrometheusHaClusterProviderInstanceProperties]::New()
+
+ if ($PSBoundParameters.ContainsKey('ClusterName')) {
+ $Object.ClusterName = $ClusterName
+ }
+ if ($PSBoundParameters.ContainsKey('Hostname')) {
+ $Object.Hostname = $Hostname
+ }
+ if ($PSBoundParameters.ContainsKey('PrometheusUrl')) {
+ $Object.PrometheusUrl = $PrometheusUrl
+ }
+ if ($PSBoundParameters.ContainsKey('Sid')) {
+ $Object.Sid = $Sid
+ }
+ if ($PSBoundParameters.ContainsKey('SslCertificateUri')) {
+ $Object.SslCertificateUri = $SslCertificateUri
+ }
+
+ if ($PSBoundParameters.ContainsKey('SslPreference')) {
+ $Object.SslPreference = $SslPreference
+ }
+
+ $Object.ProviderType = 'PrometheusHaCluster'
+ return $Object
+ }
+}
+
diff --git a/src/Workloads/custom/New-AzWorkloadsProviderPrometheusOSInstanceObject.ps1 b/src/Workloads/custom/New-AzWorkloadsProviderPrometheusOSInstanceObject.ps1
new file mode 100644
index 000000000000..b74a1a4a4c58
--- /dev/null
+++ b/src/Workloads/custom/New-AzWorkloadsProviderPrometheusOSInstanceObject.ps1
@@ -0,0 +1,67 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for PrometheusOSProviderInstanceProperties.
+.Description
+Create an in-memory object for PrometheusOSProviderInstanceProperties.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.PrometheusOSProviderInstanceProperties
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/new-azworkloadsproviderprometheusosinstanceobject
+#>
+function New-AzWorkloadsProviderPrometheusOSInstanceObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.PrometheusOSProviderInstanceProperties')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="URL of the Node Exporter endpoint.")]
+ [string]
+ $PrometheusUrl,
+ [Parameter(HelpMessage="Gets or sets the SAP System Identifier.")]
+ [string]
+ $SapSid,
+ [Parameter(HelpMessage="Gets or sets the blob URI to SSL certificate for the prometheus node exporter.")]
+ [string]
+ $SslCertificateUri,
+ [Parameter(HelpMessage="Gets or sets certificate preference if secure communication is enabled.")]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference]
+ $SslPreference
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.PrometheusOSProviderInstanceProperties]::New()
+
+ if ($PSBoundParameters.ContainsKey('PrometheusUrl')) {
+ $Object.PrometheusUrl = $PrometheusUrl
+ }
+ if ($PSBoundParameters.ContainsKey('SapSid')) {
+ $Object.SapSid = $SapSid
+ }
+ if ($PSBoundParameters.ContainsKey('SslCertificateUri')) {
+ $Object.SslCertificateUri = $SslCertificateUri
+ }
+ if ($PSBoundParameters.ContainsKey('SslPreference')) {
+ $Object.SslPreference = $SslPreference
+ }
+ $Object.ProviderType = 'PrometheusOS'
+ return $Object
+ }
+}
+
diff --git a/src/Workloads/custom/New-AzWorkloadsProviderSapNetWeaverInstanceObject.ps1 b/src/Workloads/custom/New-AzWorkloadsProviderSapNetWeaverInstanceObject.ps1
new file mode 100644
index 000000000000..01a8ef16d551
--- /dev/null
+++ b/src/Workloads/custom/New-AzWorkloadsProviderSapNetWeaverInstanceObject.ps1
@@ -0,0 +1,109 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for SapNetWeaverProviderInstanceProperties.
+.Description
+Create an in-memory object for SapNetWeaverProviderInstanceProperties.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapNetWeaverProviderInstanceProperties
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/new-azworkloadsprovidersapnetweaverinstanceobject
+#>
+function New-AzWorkloadsProviderSapNetWeaverInstanceObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapNetWeaverProviderInstanceProperties')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Gets or sets the SAP Client ID.")]
+ [string]
+ $SapClientId,
+ [Parameter(HelpMessage="Gets or sets the list of HostFile Entries.")]
+ [string[]]
+ $SapHostFileEntry,
+ [Parameter(HelpMessage="Gets or sets the target virtual machine IP Address/FQDN.")]
+ [string]
+ $SapHostname,
+ [Parameter(HelpMessage="Gets or sets the instance number of SAP NetWeaver.")]
+ [string]
+ $SapInstanceNr,
+ [Parameter(HelpMessage="Sets the SAP password.")]
+ [string]
+ $SapPassword,
+ [Parameter(HelpMessage="Gets or sets the key vault URI to secret with the SAP password.")]
+ [string]
+ $SapPasswordUri,
+ [Parameter(HelpMessage="Gets or sets the SAP HTTP port number.")]
+ [string]
+ $SapPortNumber,
+ [Parameter(HelpMessage="Gets or sets the SAP System Identifier.")]
+ [string]
+ $SapSid,
+ [Parameter(HelpMessage="Gets or sets the SAP user name.")]
+ [string]
+ $SapUsername,
+ [Parameter(HelpMessage="Gets or sets the blob URI to SSL certificate for the SAP system.")]
+ [string]
+ $SslCertificateUri,
+ [Parameter(HelpMessage="Gets or sets certificate preference if secure communication is enabled.")]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference]
+ $SslPreference
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapNetWeaverProviderInstanceProperties]::New()
+
+ if ($PSBoundParameters.ContainsKey('SapClientId')) {
+ $Object.SapClientId = $SapClientId
+ }
+ if ($PSBoundParameters.ContainsKey('SapHostFileEntry')) {
+ $Object.SapHostFileEntry = $SapHostFileEntry
+ }
+ if ($PSBoundParameters.ContainsKey('SapHostname')) {
+ $Object.SapHostname = $SapHostname
+ }
+ if ($PSBoundParameters.ContainsKey('SapInstanceNr')) {
+ $Object.SapInstanceNr = $SapInstanceNr
+ }
+ if ($PSBoundParameters.ContainsKey('SapPassword')) {
+ $Object.SapPassword = $SapPassword
+ }
+ if ($PSBoundParameters.ContainsKey('SapPasswordUri')) {
+ $Object.SapPasswordUri = $SapPasswordUri
+ }
+ if ($PSBoundParameters.ContainsKey('SapPortNumber')) {
+ $Object.SapPortNumber = $SapPortNumber
+ }
+ if ($PSBoundParameters.ContainsKey('SapSid')) {
+ $Object.SapSid = $SapSid
+ }
+ if ($PSBoundParameters.ContainsKey('SapUsername')) {
+ $Object.SapUsername = $SapUsername
+ }
+ if ($PSBoundParameters.ContainsKey('SslCertificateUri')) {
+ $Object.SslCertificateUri = $SslCertificateUri
+ }
+ if ($PSBoundParameters.ContainsKey('SslPreference')) {
+ $Object.SslPreference = $SslPreference
+ }
+ $Object.ProviderType = 'SapNetWeaver'
+ return $Object
+ }
+}
+
diff --git a/src/Workloads/custom/New-AzWorkloadsProviderSqlServerInstanceObject.ps1 b/src/Workloads/custom/New-AzWorkloadsProviderSqlServerInstanceObject.ps1
new file mode 100644
index 000000000000..c27139328840
--- /dev/null
+++ b/src/Workloads/custom/New-AzWorkloadsProviderSqlServerInstanceObject.ps1
@@ -0,0 +1,91 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for MsSqlServerProviderInstanceProperties.
+.Description
+Create an in-memory object for MsSqlServerProviderInstanceProperties.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.MsSqlServerProviderInstanceProperties
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/new-azworkloadsprovidersqlserverinstanceobject
+#>
+function New-AzWorkloadsProviderSqlServerInstanceObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.MsSqlServerProviderInstanceProperties')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Gets or sets the database password.")]
+ [string]
+ $Password,
+ [Parameter(HelpMessage="Gets or sets the key vault URI to secret with the database password.")]
+ [string]
+ $PasswordUri,
+ [Parameter(HelpMessage="Gets or sets the database sql port.")]
+ [string]
+ $Port,
+ [Parameter(HelpMessage="Gets or sets the database user name.")]
+ [string]
+ $Username,
+ [Parameter(HelpMessage="Gets or sets the SQL server host name.")]
+ [string]
+ $Hostname,
+ [Parameter(HelpMessage="Gets or sets the SAP System Identifier.")]
+ [string]
+ $SapSid,
+ [Parameter(HelpMessage="Gets or sets the blob URI to SSL certificate for the SQL Database.")]
+ [string]
+ $SslCertificateUri,
+ [Parameter(HelpMessage="Gets or sets certificate preference if secure communication is enabled.")]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference]
+ $SslPreference
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.MsSqlServerProviderInstanceProperties]::New()
+
+ if ($PSBoundParameters.ContainsKey('Password')) {
+ $Object.DbPassword = $Password
+ }
+ if ($PSBoundParameters.ContainsKey('PasswordUri')) {
+ $Object.DbPasswordUri = $PasswordUri
+ }
+ if ($PSBoundParameters.ContainsKey('Port')) {
+ $Object.DbPort = $Port
+ }
+ if ($PSBoundParameters.ContainsKey('Username')) {
+ $Object.DbUsername = $Username
+ }
+ if ($PSBoundParameters.ContainsKey('Hostname')) {
+ $Object.Hostname = $Hostname
+ }
+ if ($PSBoundParameters.ContainsKey('SapSid')) {
+ $Object.SapSid = $SapSid
+ }
+ if ($PSBoundParameters.ContainsKey('SslCertificateUri')) {
+ $Object.SslCertificateUri = $SslCertificateUri
+ }
+ if ($PSBoundParameters.ContainsKey('SslPreference')) {
+ $Object.SslPreference = $SslPreference
+ }
+ $Object.ProviderType = 'MsSqlServer'
+ return $Object
+ }
+}
+
diff --git a/src/Workloads/custom/New-AzWorkloadsSapVirtualInstance/New-AzWorkloadsSapVirtualInstance_CreateWithDiscovery.ps1 b/src/Workloads/custom/New-AzWorkloadsSapVirtualInstance/New-AzWorkloadsSapVirtualInstance_CreateWithDiscovery.ps1
new file mode 100644
index 000000000000..bc2ab1497c14
--- /dev/null
+++ b/src/Workloads/custom/New-AzWorkloadsSapVirtualInstance/New-AzWorkloadsSapVirtualInstance_CreateWithDiscovery.ps1
@@ -0,0 +1,202 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Creates a Virtual Instance for SAP solutions (VIS) resource
+.Description
+Creates a Virtual Instance for SAP solutions (VIS) resource
+.Example
+{{ Add code here }}
+.Example
+{{ Add code here }}
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapVirtualInstance
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+CONFIGURATION : Defines if the SAP system is being created using Azure Center for SAP solutions (ACSS) or if an existing SAP system is being registered with ACSS
+ ConfigurationType : The configuration Type.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/new-azworkloadssapvirtualinstance
+#>
+function New-AzWorkloadsSapVirtualInstance {
+ [OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapVirtualInstance])]
+ [CmdletBinding(DefaultParameterSetName='CreateWithDiscovery', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+ param(
+ [Parameter(Mandatory)]
+ [Alias('SapVirtualInstanceName')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the Virtual Instances for SAP solutions resource
+ ${Name},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # The virtual machine ID of the Central Server
+ ${CentralServerVmId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # The custom storage account name for the storage account created by the service in the managed resource group created as part of VIS deployment.
Refer to the storage account naming rules [here](https://learn.microsoft.com/azure/azure-resource-manager/management/resource-name-rules#microsoftstorage).
If not provided, the service will create the storage account with a random name
+ ${ManagedRgStorageAccountName},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapEnvironmentType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapEnvironmentType]
+ # Defines the environment type - Production/Non Production.
+ ${Environment},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # The geo-location where the resource lives
+ ${Location},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapProductType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapProductType]
+ # Defines the SAP Product type.
+ ${SapProduct},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.ManagedServiceIdentityType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.ManagedServiceIdentityType]
+ # Type of manage identity
+ ${IdentityType},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Managed resource group name
+ ${ManagedResourceGroupName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ITrackedResourceTags]))]
+ [System.Collections.Hashtable]
+ # Resource tags.
+ ${Tag},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.IUserAssignedIdentities]))]
+ [System.Collections.Hashtable]
+ # User assigned identities dictionary
+ ${UserAssignedIdentity},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Run the command as a job
+ ${AsJob},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Run the command asynchronously
+ ${NoWait},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+ )
+ process {
+ try {
+ $configuration = [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapConfigurationType]::Discovery
+ $discoveryConfiguration = [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DiscoveryConfiguration]::new();
+ $discoveryConfiguration.ConfigurationType = $configuration
+ $discoveryConfiguration.CentralServerVMId = $CentralServerVmId
+ $null = $PSBoundParameters.Remove('CentralServerVmId')
+ if($PSBoundParameters.ContainsKey('ManagedRgStorageAccountName')) {
+ $discoveryConfiguration.ManagedRgStorageAccountName = $ManagedRgStorageAccountName
+ $null = $PSBoundParameters.Remove('ManagedRgStorageAccountName')
+ }
+ $null = $PSBoundParameters.Add('Configuration', $discoveryConfiguration)
+ Az.Workloads.private\New-AzWorkloadsSapVirtualInstance_CreateExpanded @PSBoundParameters
+ } catch {
+
+ throw
+ }
+
+ }
+ }
+
\ No newline at end of file
diff --git a/src/Workloads/custom/New-AzWorkloadsSapVirtualInstance/New-AzWorkloadsSapVirtualInstance_CreateWithJsonString.cs b/src/Workloads/custom/New-AzWorkloadsSapVirtualInstance/New-AzWorkloadsSapVirtualInstance_CreateWithJsonString.cs
new file mode 100644
index 000000000000..dc2bf9232ac9
--- /dev/null
+++ b/src/Workloads/custom/New-AzWorkloadsSapVirtualInstance/New-AzWorkloadsSapVirtualInstance_CreateWithJsonString.cs
@@ -0,0 +1,487 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for license information.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+namespace Microsoft.Azure.PowerShell.Cmdlets.Workloads.Cmdlets
+{
+ using static Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Extensions;
+ using System;
+
+ /// Creates a Virtual Instance for SAP solutions (VIS) resource
+ ///
+ /// [OpenAPI] Create=>PUT:"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Workloads/sapVirtualInstances/{sapVirtualInstanceName}"
+ ///
+ [global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.InternalExport]
+ [global::System.Management.Automation.Cmdlet(global::System.Management.Automation.VerbsCommon.New, @"AzWorkloadsSapVirtualInstance_CreateWithJsonString", SupportsShouldProcess = true)]
+ [global::System.Management.Automation.OutputType(typeof(Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapVirtualInstance))]
+ [global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.Description(@"Creates a Virtual Instance for SAP solutions (VIS) resource")]
+ [global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.Generated]
+ public partial class NewAzWorkloadsSapVirtualInstance_CreateWithJsonString : global::System.Management.Automation.PSCmdlet,
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener
+ {
+ /// A unique id generatd for the this cmdlet when it is instantiated.
+ private string __correlationId = System.Guid.NewGuid().ToString();
+
+ /// A copy of the Invocation Info (necessary to allow asJob to clone this cmdlet)
+ private global::System.Management.Automation.InvocationInfo __invocationInfo;
+
+ /// A unique id generatd for the this cmdlet when ProcessRecord() is called.
+ private string __processRecordId;
+
+ ///
+ /// Json string
+ ///
+ [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "Json string.")]
+ [global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.ParameterCategory.Runtime)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Info(
+ Required = true,
+ ReadOnly = false,
+ Description = @"Json string",
+ PossibleTypes = new [] { typeof(string) })]
+ public string JsonString { get => this._jsonString; set => this._jsonString = value; }
+
+ /// Backing field for property.
+ private string _jsonString;
+ ///
+ /// The for this operation.
+ ///
+ private global::System.Threading.CancellationTokenSource _cancellationTokenSource = new global::System.Threading.CancellationTokenSource();
+
+ /// when specified, runs this cmdlet as a PowerShell job
+ [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command as a job")]
+ [global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.ParameterCategory.Runtime)]
+ public global::System.Management.Automation.SwitchParameter AsJob { get; set; }
+
+ /// Wait for .NET debugger to attach
+ [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Wait for .NET debugger to attach")]
+ [global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.ParameterCategory.Runtime)]
+ public global::System.Management.Automation.SwitchParameter Break { get; set; }
+
+ /// The reference to the client API class.
+ public Microsoft.Azure.PowerShell.Cmdlets.Workloads.WorkloadsClient Client => Microsoft.Azure.PowerShell.Cmdlets.Workloads.Module.Instance.ClientAPI;
+
+ ///
+ /// The credentials, account, tenant, and subscription used for communication with Azure
+ ///
+ [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "The credentials, account, tenant, and subscription used for communication with Azure.")]
+ [global::System.Management.Automation.ValidateNotNull]
+ [global::System.Management.Automation.Alias("AzureRMContext", "AzureCredential")]
+ [global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.ParameterCategory.Azure)]
+ public global::System.Management.Automation.PSObject DefaultProfile { get; set; }
+
+ /// SendAsync Pipeline Steps to be appended to the front of the pipeline
+ [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be appended to the front of the pipeline")]
+ [global::System.Management.Automation.ValidateNotNull]
+ [global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.ParameterCategory.Runtime)]
+ public Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[] HttpPipelineAppend { get; set; }
+
+ /// SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "SendAsync Pipeline Steps to be prepended to the front of the pipeline")]
+ [global::System.Management.Automation.ValidateNotNull]
+ [global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.ParameterCategory.Runtime)]
+ public Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[] HttpPipelinePrepend { get; set; }
+
+ /// Accessor for our copy of the InvocationInfo.
+ public global::System.Management.Automation.InvocationInfo InvocationInformation { get => __invocationInfo = __invocationInfo ?? this.MyInvocation ; set { __invocationInfo = value; } }
+
+ ///
+ /// cancellation delegate. Stops the cmdlet when called.
+ ///
+ global::System.Action Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener.Cancel => _cancellationTokenSource.Cancel;
+
+ /// cancellation token.
+ global::System.Threading.CancellationToken Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener.Token => _cancellationTokenSource.Token;
+
+ /// Backing field for property.
+ private string _name;
+
+ /// The name of the Virtual Instances for SAP solutions resource
+ [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the Virtual Instances for SAP solutions resource")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Info(
+ Required = true,
+ ReadOnly = false,
+ Description = @"The name of the Virtual Instances for SAP solutions resource",
+ SerializedName = @"sapVirtualInstanceName",
+ PossibleTypes = new [] { typeof(string) })]
+ [global::System.Management.Automation.Alias("SapVirtualInstanceName")]
+ [global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.ParameterCategory.Path)]
+ public string Name { get => this._name; set => this._name = value; }
+
+ ///
+ /// when specified, will make the remote call, and return an AsyncOperationResponse, letting the remote operation continue
+ /// asynchronously.
+ ///
+ [global::System.Management.Automation.Parameter(Mandatory = false, HelpMessage = "Run the command asynchronously")]
+ [global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.ParameterCategory.Runtime)]
+ public global::System.Management.Automation.SwitchParameter NoWait { get; set; }
+
+ ///
+ /// The instance of the that the remote call will use.
+ ///
+ private Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.HttpPipeline Pipeline { get; set; }
+
+ /// The URI for the proxy server to use
+ [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "The URI for the proxy server to use")]
+ [global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.ParameterCategory.Runtime)]
+ public global::System.Uri Proxy { get; set; }
+
+ /// Credentials for a proxy server to use for the remote call
+ [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Credentials for a proxy server to use for the remote call")]
+ [global::System.Management.Automation.ValidateNotNull]
+ [global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.ParameterCategory.Runtime)]
+ public global::System.Management.Automation.PSCredential ProxyCredential { get; set; }
+
+ /// Use the default credentials for the proxy
+ [global::System.Management.Automation.Parameter(Mandatory = false, DontShow = true, HelpMessage = "Use the default credentials for the proxy")]
+ [global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.ParameterCategory.Runtime)]
+ public global::System.Management.Automation.SwitchParameter ProxyUseDefaultCredentials { get; set; }
+
+ /// Backing field for property.
+ private string _resourceGroupName;
+
+ /// The name of the resource group. The name is case insensitive.
+ [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The name of the resource group. The name is case insensitive.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Info(
+ Required = true,
+ ReadOnly = false,
+ Description = @"The name of the resource group. The name is case insensitive.",
+ SerializedName = @"resourceGroupName",
+ PossibleTypes = new [] { typeof(string) })]
+ [global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.ParameterCategory.Path)]
+ public string ResourceGroupName { get => this._resourceGroupName; set => this._resourceGroupName = value; }
+
+
+ /// Backing field for property.
+ private string _subscriptionId;
+
+ /// The ID of the target subscription.
+ [global::System.Management.Automation.Parameter(Mandatory = true, HelpMessage = "The ID of the target subscription.")]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Info(
+ Required = true,
+ ReadOnly = false,
+ Description = @"The ID of the target subscription.",
+ SerializedName = @"subscriptionId",
+ PossibleTypes = new [] { typeof(string) })]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(
+ Name = @"",
+ Description =@"",
+ Script = @"(Get-AzContext).Subscription.Id")]
+ [global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category(global::Microsoft.Azure.PowerShell.Cmdlets.Workloads.ParameterCategory.Path)]
+ public string SubscriptionId { get => this._subscriptionId; set => this._subscriptionId = value; }
+
+ ///
+ /// overrideOnDefault will be called before the regular onDefault has been processed, allowing customization of what
+ /// happens on that response. Implement this method in a partial class to enable this behavior
+ ///
+ /// the raw response message as an global::System.Net.Http.HttpResponseMessage.
+ /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.IErrorResponse
+ /// from the remote call
+ /// /// Determines if the rest of the onDefault method should be processed, or if the method should
+ /// return immediately (set to true to skip further processing )
+
+ partial void overrideOnDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow);
+
+ ///
+ /// overrideOnOk will be called before the regular onOk has been processed, allowing customization of what happens
+ /// on that response. Implement this method in a partial class to enable this behavior
+ ///
+ /// the raw response message as an global::System.Net.Http.HttpResponseMessage.
+ /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapVirtualInstance
+ /// from the remote call
+ /// /// Determines if the rest of the onOk method should be processed, or if the method should return
+ /// immediately (set to true to skip further processing )
+
+ partial void overrideOnOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response, ref global::System.Threading.Tasks.Task returnNow);
+
+ ///
+ /// (overrides the default BeginProcessing method in global::System.Management.Automation.PSCmdlet)
+ ///
+ protected override void BeginProcessing()
+ {
+ var telemetryId = Microsoft.Azure.PowerShell.Cmdlets.Workloads.Module.Instance.GetTelemetryId.Invoke();
+ if (telemetryId != "" && telemetryId != "internal")
+ {
+ __correlationId = telemetryId;
+ }
+ Module.Instance.SetProxyConfiguration(Proxy, ProxyCredential, ProxyUseDefaultCredentials);
+ if (Break)
+ {
+ Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.AttachDebugger.Break();
+ }
+ ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.CmdletBeginProcessing).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; }
+ }
+
+ /// Creates a duplicate instance of this cmdlet (via JSON serialization).
+ /// a duplicate instance of NewAzWorkloadsSapVirtualInstance_CreateWithJsonString
+ public Microsoft.Azure.PowerShell.Cmdlets.Workloads.Cmdlets.NewAzWorkloadsSapVirtualInstance_CreateWithJsonString Clone()
+ {
+ var clone = new NewAzWorkloadsSapVirtualInstance_CreateWithJsonString();
+ clone.__correlationId = this.__correlationId;
+ clone.__processRecordId = this.__processRecordId;
+ clone.DefaultProfile = this.DefaultProfile;
+ clone.InvocationInformation = this.InvocationInformation;
+ clone.Proxy = this.Proxy;
+ clone.Pipeline = this.Pipeline;
+ clone.AsJob = this.AsJob;
+ clone.Break = this.Break;
+ clone.ProxyCredential = this.ProxyCredential;
+ clone.ProxyUseDefaultCredentials = this.ProxyUseDefaultCredentials;
+ clone.HttpPipelinePrepend = this.HttpPipelinePrepend;
+ clone.HttpPipelineAppend = this.HttpPipelineAppend;
+ clone._jsonString = this._jsonString;
+ clone.SubscriptionId = this.SubscriptionId;
+ clone.ResourceGroupName = this.ResourceGroupName;
+ clone.Name = this.Name;
+ return clone;
+ }
+
+ /// Performs clean-up after the command execution
+ protected override void EndProcessing()
+ {
+
+ }
+
+ /// Handles/Dispatches events during the call to the REST service.
+ /// The message id
+ /// The message cancellation token. When this call is cancelled, this should be true
+ /// Detailed message data for the message event.
+ ///
+ /// A that will be complete when handling of the message is completed.
+ ///
+ async global::System.Threading.Tasks.Task Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener.Signal(string id, global::System.Threading.CancellationToken token, global::System.Func messageData)
+ {
+ using( NoSynchronizationContext )
+ {
+ if (token.IsCancellationRequested)
+ {
+ return ;
+ }
+
+ switch ( id )
+ {
+ case Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.Verbose:
+ {
+ WriteVerbose($"{(messageData().Message ?? global::System.String.Empty)}");
+ return ;
+ }
+ case Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.Warning:
+ {
+ WriteWarning($"{(messageData().Message ?? global::System.String.Empty)}");
+ return ;
+ }
+ case Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.Information:
+ {
+ // When an operation supports asjob, Information messages must go thru verbose.
+ WriteVerbose($"INFORMATION: {(messageData().Message ?? global::System.String.Empty)}");
+ return ;
+ }
+ case Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.Debug:
+ {
+ WriteDebug($"{(messageData().Message ?? global::System.String.Empty)}");
+ return ;
+ }
+ case Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.Error:
+ {
+ WriteError(new global::System.Management.Automation.ErrorRecord( new global::System.Exception(messageData().Message), string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null ) );
+ return ;
+ }
+ case Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.DelayBeforePolling:
+ {
+ if (true == MyInvocation?.BoundParameters?.ContainsKey("NoWait"))
+ {
+ var data = messageData();
+ if (data.ResponseMessage is System.Net.Http.HttpResponseMessage response)
+ {
+ var asyncOperation = response.GetFirstHeader(@"Azure-AsyncOperation");
+ var location = response.GetFirstHeader(@"Location");
+ var uri = global::System.String.IsNullOrEmpty(asyncOperation) ? global::System.String.IsNullOrEmpty(location) ? response.RequestMessage.RequestUri.AbsoluteUri : location : asyncOperation;
+ WriteObject(new Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.PowerShell.AsyncOperationResponse { Target = uri });
+ // do nothing more.
+ data.Cancel();
+ return;
+ }
+ }
+ break;
+ }
+ }
+ await Microsoft.Azure.PowerShell.Cmdlets.Workloads.Module.Instance.Signal(id, token, messageData, (i,t,m) => ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Signal(i,t,()=> Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.EventDataConverter.ConvertFrom( m() ) as Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.EventData ), InvocationInformation, this.ParameterSetName, __correlationId, __processRecordId, null );
+ if (token.IsCancellationRequested)
+ {
+ return ;
+ }
+ WriteDebug($"{id}: {(messageData().Message ?? global::System.String.Empty)}");
+ }
+ }
+
+ ///
+ /// Intializes a new instance of the cmdlet class.
+ ///
+ public NewAzWorkloadsSapVirtualInstance_CreateWithJsonString()
+ {
+
+ }
+
+ /// Performs execution of the command.
+ protected override void ProcessRecord()
+ {
+ ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.CmdletProcessRecordStart).Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; }
+ __processRecordId = System.Guid.NewGuid().ToString();
+ try
+ {
+ // work
+ if (ShouldProcess($"Call remote 'SapVirtualInstancesCreate' operation"))
+ {
+ if (true == MyInvocation?.BoundParameters?.ContainsKey("AsJob"))
+ {
+ var instance = this.Clone();
+ var job = new Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.PowerShell.AsyncJob(instance, this.MyInvocation.Line, this.MyInvocation.MyCommand.Name, this._cancellationTokenSource.Token, this._cancellationTokenSource.Cancel);
+ JobRepository.Add(job);
+ var task = instance.ProcessRecordAsync();
+ job.Monitor(task);
+ WriteObject(job);
+ }
+ else
+ {
+ using( var asyncCommandRuntime = new Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.PowerShell.AsyncCommandRuntime(this, ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Token) )
+ {
+ asyncCommandRuntime.Wait( ProcessRecordAsync(),((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Token);
+ }
+ }
+ }
+ }
+ catch (global::System.AggregateException aggregateException)
+ {
+ // unroll the inner exceptions to get the root cause
+ foreach( var innerException in aggregateException.Flatten().InnerExceptions )
+ {
+ ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.CmdletException, $"{innerException.GetType().Name} - {innerException.Message} : {innerException.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; }
+ // Write exception out to error channel.
+ WriteError( new global::System.Management.Automation.ErrorRecord(innerException,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) );
+ }
+ }
+ catch (global::System.Exception exception) when ((exception as System.Management.Automation.PipelineStoppedException)== null || (exception as System.Management.Automation.PipelineStoppedException).InnerException != null)
+ {
+ ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.CmdletException, $"{exception.GetType().Name} - {exception.Message} : {exception.StackTrace}").Wait(); if( ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; }
+ // Write exception out to error channel.
+ WriteError( new global::System.Management.Automation.ErrorRecord(exception,string.Empty, global::System.Management.Automation.ErrorCategory.NotSpecified, null) );
+ }
+ finally
+ {
+ ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.CmdletProcessRecordEnd).Wait();
+ }
+ }
+
+ /// Performs execution of the command, working asynchronously if required.
+ ///
+ /// A that will be complete when handling of the method is completed.
+ ///
+ protected async global::System.Threading.Tasks.Task ProcessRecordAsync()
+ {
+ using( NoSynchronizationContext )
+ {
+ await ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.CmdletGetPipeline); if( ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; }
+ Pipeline = Microsoft.Azure.PowerShell.Cmdlets.Workloads.Module.Instance.CreatePipeline(InvocationInformation, __correlationId, __processRecordId, this.ParameterSetName);
+ if (null != HttpPipelinePrepend)
+ {
+ Pipeline.Prepend((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelinePrepend) ?? HttpPipelinePrepend);
+ }
+ if (null != HttpPipelineAppend)
+ {
+ Pipeline.Append((this.CommandRuntime as Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.PowerShell.IAsyncCommandRuntimeExtensions)?.Wrap(HttpPipelineAppend) ?? HttpPipelineAppend);
+ }
+ // get the client instance
+ try
+ {
+ await ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.CmdletBeforeAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; }
+ await this.Client.SapVirtualInstancesCreateViaJsonString(SubscriptionId, ResourceGroupName, Name, JsonString, onOk, onDefault, this, Pipeline);
+ await ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.CmdletAfterAPICall); if( ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Token.IsCancellationRequested ) { return; }
+ }
+ catch (Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.UndeclaredResponseException urexception)
+ {
+ WriteError(new global::System.Management.Automation.ErrorRecord(urexception, urexception.StatusCode.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId,ResourceGroupName=ResourceGroupName,Name=Name,body=JsonString})
+ {
+ ErrorDetails = new global::System.Management.Automation.ErrorDetails(urexception.Message) { RecommendedAction = urexception.Action }
+ });
+ }
+ finally
+ {
+ await ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Signal(Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.CmdletProcessRecordAsyncEnd);
+ }
+ }
+ }
+
+ /// Interrupts currently running code within the command.
+ protected override void StopProcessing()
+ {
+ ((Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener)this).Cancel();
+ base.StopProcessing();
+ }
+
+ ///
+ /// a delegate that is called when the remote service returns default (any response code not handled elsewhere).
+ ///
+ /// the raw response message as an global::System.Net.Http.HttpResponseMessage.
+ /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.IErrorResponse
+ /// from the remote call
+ ///
+ /// A that will be complete when handling of the method is completed.
+ ///
+ private async global::System.Threading.Tasks.Task onDefault(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response)
+ {
+ using( NoSynchronizationContext )
+ {
+ var _returnNow = global::System.Threading.Tasks.Task.FromResult(false);
+ overrideOnDefault(responseMessage, response, ref _returnNow);
+ // if overrideOnDefault has returned true, then return right away.
+ if ((null != _returnNow && await _returnNow))
+ {
+ return ;
+ }
+ // Error Response : default
+ var code = (await response)?.Code;
+ var message = (await response)?.Message;
+ if ((null == code || null == message))
+ {
+ // Unrecognized Response. Create an error record based on what we have.
+ var ex = new Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.RestException(responseMessage, await response);
+ WriteError( new global::System.Management.Automation.ErrorRecord(ex, ex.Code, global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, ResourceGroupName=ResourceGroupName, Name=Name, body=JsonString })
+ {
+ ErrorDetails = new global::System.Management.Automation.ErrorDetails(ex.Message) { RecommendedAction = ex.Action }
+ });
+ }
+ else
+ {
+ WriteError( new global::System.Management.Automation.ErrorRecord(new global::System.Exception($"[{code}] : {message}"), code?.ToString(), global::System.Management.Automation.ErrorCategory.InvalidOperation, new { SubscriptionId=SubscriptionId, ResourceGroupName=ResourceGroupName, Name=Name, body=JsonString })
+ {
+ ErrorDetails = new global::System.Management.Automation.ErrorDetails(message) { RecommendedAction = global::System.String.Empty }
+ });
+ }
+ }
+ }
+
+ /// a delegate that is called when the remote service returns 200 (OK).
+ /// the raw response message as an global::System.Net.Http.HttpResponseMessage.
+ /// the body result as a Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapVirtualInstance
+ /// from the remote call
+ ///
+ /// A that will be complete when handling of the method is completed.
+ ///
+ private async global::System.Threading.Tasks.Task onOk(global::System.Net.Http.HttpResponseMessage responseMessage, global::System.Threading.Tasks.Task response)
+ {
+ using( NoSynchronizationContext )
+ {
+ var _returnNow = global::System.Threading.Tasks.Task.FromResult(false);
+ overrideOnOk(responseMessage, response, ref _returnNow);
+ // if overrideOnOk has returned true, then return right away.
+ if ((null != _returnNow && await _returnNow))
+ {
+ return ;
+ }
+ // onOk - response for 200 / application/json
+ // (await response) // should be Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapVirtualInstance
+ WriteObject((await response));
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Workloads/custom/New-AzWorkloadsSapVirtualInstance/New-AzWorkloadsSapVirtualInstance_CreateWithJsonTemplatePath.ps1 b/src/Workloads/custom/New-AzWorkloadsSapVirtualInstance/New-AzWorkloadsSapVirtualInstance_CreateWithJsonTemplatePath.ps1
new file mode 100644
index 000000000000..798a6c67f30c
--- /dev/null
+++ b/src/Workloads/custom/New-AzWorkloadsSapVirtualInstance/New-AzWorkloadsSapVirtualInstance_CreateWithJsonTemplatePath.ps1
@@ -0,0 +1,249 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Creates a Virtual Instance for SAP solutions (VIS) resource
+.Description
+Creates a Virtual Instance for SAP solutions (VIS) resource
+.Example
+{{ Add code here }}
+.Example
+{{ Add code here }}
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapVirtualInstance
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+CONFIGURATION : Defines if the SAP system is being created using Azure Center for SAP solutions (ACSS) or if an existing SAP system is being registered with ACSS
+ ConfigurationType : The configuration Type.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/new-azworkloadssapvirtualinstance
+#>
+function New-AzWorkloadsSapVirtualInstance_CreateWithJsonTemplatePath {
+ [OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapVirtualInstance])]
+ [CmdletBinding(DefaultParameterSetName='CreateWithDiscovery', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+ param(
+ [Parameter(Mandatory)]
+ [Alias('SapVirtualInstanceName')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the Virtual Instances for SAP solutions resource
+ ${Name},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Configuration json path.
+ ${Configuration},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapEnvironmentType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapEnvironmentType]
+ # Defines the environment type - Production/Non Production.
+ ${Environment},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # The geo-location where the resource lives
+ ${Location},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapProductType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapProductType]
+ # Defines the SAP Product type.
+ ${SapProduct},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.ManagedServiceIdentityType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.ManagedServiceIdentityType]
+ # Type of manage identity
+ ${IdentityType},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Managed resource group name
+ ${ManagedResourceGroupName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ITrackedResourceTags]))]
+ [System.Collections.Hashtable]
+ # Resource tags.
+ ${Tag},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.IUserAssignedIdentities]))]
+ [System.Collections.Hashtable]
+ # User assigned identities dictionary
+ ${UserAssignedIdentity},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Run the command as a job
+ ${AsJob},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Run the command asynchronously
+ ${NoWait},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+ )
+ process {
+ try {
+ if (-not (Test-Path $Configuration)) {
+ throw "Cannot find file $Configuration . Please make sure the file name and file path are correct."
+ }
+
+ $bodyHashTable = @{};
+ if($PSBoundParameters.ContainsKey('Tag')) {
+ $bodyHashTable.tags = $Tag
+ $null = $PSBoundParameters.Remove('Tag');
+ }
+
+ if($PSBoundParameters.ContainsKey('Location')) {
+ $bodyHashTable.location = $Location
+ $null = $PSBoundParameters.Remove('Location');
+ }
+
+ $bodyHashTable.identity = @{}
+ if($PSBoundParameters.ContainsKey('IdentityType')) {
+ $bodyHashTable.identity.type = $IdentityType.ToString()
+ $null = $PSBoundParameters.Remove('IdentityType');
+ }
+
+ if($PSBoundParameters.ContainsKey('UserAssignedIdentity')) {
+ $bodyHashTable.identity.userAssignedIdentities = $UserAssignedIdentity
+ $null = $PSBoundParameters.Remove('UserAssignedIdentity');
+ }
+
+ if ($bodyHashTable.identity.Count -eq 0) {
+ $null = $bodyHashTable.Remove('Identity')
+ }
+
+ $bodyHashTable.properties = @{}
+ if($PSBoundParameters.ContainsKey('Environment')) {
+ $bodyHashTable.properties.environment = $Environment.ToString()
+ $null = $PSBoundParameters.Remove('Environment');
+ }
+
+ if($PSBoundParameters.ContainsKey('SapProduct')) {
+ $bodyHashTable.properties.sapProduct = $SapProduct.ToString()
+ $null = $PSBoundParameters.Remove('SapProduct');
+ }
+
+ $bodyHashTable.properties.managedResourceGroupConfiguration = @{}
+
+ if($PSBoundParameters.ContainsKey('ManagedResourceGroupName')) {
+ $bodyHashTable.properties.managedResourceGroupConfiguration.name = $ManagedResourceGroupName
+ $null = $PSBoundParameters.Remove('ManagedResourceGroupName');
+ }
+
+ if ($bodyHashTable.properties.managedResourceGroupConfiguration.Count -eq 0) {
+ $null = $bodyHashTable.properties.Remove('ManagedResourceGroupConfiguration')
+ }
+
+ $configurationHashTable = Get-Content $Configuration -Raw | ConvertFrom-Json
+
+ $bodyHashTable.properties.configuration = $configurationHashTable
+
+ $null = $PSBoundParameters.Remove("Configuration")
+
+
+ $JsonString = $bodyHashTable | ConvertTo-Json -Depth 100
+ $null = $PSBoundParameters.Add("JsonString", $JsonString)
+
+
+ Az.Workloads.private\New-AzWorkloadsSapVirtualInstance_CreateWithJsonString @PSBoundParameters
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ }
+ }
+
\ No newline at end of file
diff --git a/src/Workloads/custom/New-AzWorkloadsSapVirtualInstance/WorkloadsClient.cs b/src/Workloads/custom/New-AzWorkloadsSapVirtualInstance/WorkloadsClient.cs
new file mode 100644
index 000000000000..cf38d30a3042
--- /dev/null
+++ b/src/Workloads/custom/New-AzWorkloadsSapVirtualInstance/WorkloadsClient.cs
@@ -0,0 +1,65 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for license information.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+namespace Microsoft.Azure.PowerShell.Cmdlets.Workloads
+{
+ using static Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Extensions;
+
+ ///
+ /// Low-level API implementation for the Workloads Client service.
+ /// Workloads client provides access to various workload operations. Azure Center for SAP solutions is currently in PREVIEW.
+ /// See the [Azure Center for SAP solutions - Legal Terms](https://learn.microsoft.com/en-us/legal/azure-center-for-sap-solutions/azure-center-for-sap-solutions-legal-terms)
+ /// for legal notices applicable to Azure Center for SAP solutions.
+ ///
+ public partial class WorkloadsClient
+ {
+
+ /// Creates a Virtual Instance for SAP solutions (VIS) resource
+ /// The ID of the target subscription.
+ /// The name of the resource group. The name is case insensitive.
+ /// The name of the Virtual Instances for SAP solutions resource
+ /// Json string supplied to the Create SapVirtualInstances operation.
+ /// a delegate that is called when the remote service returns 200 (OK).
+ /// a delegate that is called when the remote service returns default (any response code not handled
+ /// elsewhere).
+ /// an instance that will receive events.
+ /// an instance of an Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.ISendAsync pipeline to use to make the request.
+ ///
+ /// A that will be complete when handling of the response is completed.
+ ///
+ public async global::System.Threading.Tasks.Task SapVirtualInstancesCreateViaJsonString(string subscriptionId, string resourceGroupName, string sapVirtualInstanceName, string jsonString, global::System.Func, global::System.Threading.Tasks.Task> onOk, global::System.Func, global::System.Threading.Tasks.Task> onDefault, Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.IEventListener eventListener, Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.ISendAsync sender)
+ {
+ var apiVersion = @"2023-04-01";
+ // Constant Parameters
+ using( NoSynchronizationContext )
+ {
+ // construct URL
+ var pathAndQuery = global::System.Text.RegularExpressions.Regex.Replace(
+ "/subscriptions/"
+ + global::System.Uri.EscapeDataString(subscriptionId)
+ + "/resourceGroups/"
+ + global::System.Uri.EscapeDataString(resourceGroupName)
+ + "/providers/Microsoft.Workloads/sapVirtualInstances/"
+ + global::System.Uri.EscapeDataString(sapVirtualInstanceName)
+ + "?"
+ + "api-version=" + global::System.Uri.EscapeDataString(apiVersion)
+ ,"\\?&*$|&*$|(\\?)&+|(&)&+","$1$2");
+ await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.URLCreated, pathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; }
+ // generate request object
+ var _url = new global::System.Uri($"https://management.azure.com{pathAndQuery}");
+ var request = new global::System.Net.Http.HttpRequestMessage(Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Method.Put, _url);
+ await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.RequestCreated, request.RequestUri.PathAndQuery); if( eventListener.Token.IsCancellationRequested ) { return; }
+
+ await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.HeaderParametersAdded); if( eventListener.Token.IsCancellationRequested ) { return; }
+ // set body content
+ request.Content = new global::System.Net.Http.StringContent(jsonString, global::System.Text.Encoding.UTF8);
+ request.Content.Headers.ContentType = global::System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");
+ await eventListener.Signal(Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Events.BodyContentSet); if( eventListener.Token.IsCancellationRequested ) { return; }
+ // make the call
+ await this.SapVirtualInstancesCreate_Call(request,onOk,onDefault,eventListener,sender);
+ }
+ }
+ }
+}
diff --git a/src/Workloads/custom/README.md b/src/Workloads/custom/README.md
new file mode 100644
index 000000000000..ee4b8e3d543e
--- /dev/null
+++ b/src/Workloads/custom/README.md
@@ -0,0 +1,41 @@
+# Custom
+This directory contains custom implementation for non-generated cmdlets for the `Az.Workloads` module. Both scripts (`.ps1`) and C# files (`.cs`) can be implemented here. They will be used during the build process in `build-module.ps1`, and create cmdlets into the `..\exports` folder. The only generated file into this folder is the `Az.Workloads.custom.psm1`. This file should not be modified.
+
+## Info
+- Modifiable: yes
+- Generated: partial
+- Committed: yes
+- Packaged: yes
+
+## Details
+For `Az.Workloads` to use custom cmdlets, it does this two different ways. We **highly recommend** creating script cmdlets, as they are easier to write and allow access to the other exported cmdlets. C# cmdlets *cannot access exported cmdlets*.
+
+For C# cmdlets, they are compiled with the rest of the generated low-level cmdlets into the `./bin/Az.Workloads.private.dll`. The names of the cmdlets (methods) and files must follow the `[cmdletName]_[variantName]` syntax used for generated cmdlets. The `variantName` is used as the `ParameterSetName`, so use something appropriate that doesn't clash with already created variant or parameter set names. You cannot use the `ParameterSetName` property in the `Parameter` attribute on C# cmdlets. Each cmdlet must be separated into variants using the same pattern as seen in the `generated/cmdlets` folder.
+
+For script cmdlets, these are loaded via the `Az.Workloads.custom.psm1`. Then, during the build process, this module is loaded and processed in the same manner as the C# cmdlets. The fundamental difference is the script cmdlets use the `ParameterSetName` attribute and C# cmdlets do not. To create a script cmdlet variant of a generated cmdlet, simply decorate all parameters in the script with the new `ParameterSetName` in the `Parameter` attribute. This will appropriately treat each parameter set as a separate variant when processed to be exported during the build.
+
+## Purpose
+This allows the modules to have cmdlets that were not defined in the REST specification. It also allows combining logic using generated cmdlets. This is a level of customization beyond what can be done using the [readme configuration options](https://github.com/Azure/autorest/blob/master/docs/powershell/options.md) that are currently available. These custom cmdlets are then referenced by the cmdlets created at build-time in the `..\exports` folder.
+
+## Usage
+The easiest way currently to start developing custom cmdlets is to copy an existing cmdlet. For C# cmdlets, copy one from the `generated/cmdlets` folder. For script cmdlets, build the project using `build-module.ps1` and copy one of the scripts from the `..\exports` folder. After that, if you want to add new parameter sets, follow the guidelines in the `Details` section above. For implementing a new cmdlets, at minimum, please keep these parameters:
+- Break
+- DefaultProfile
+- HttpPipelineAppend
+- HttpPipelinePrepend
+- Proxy
+- ProxyCredential
+- ProxyUseDefaultCredentials
+
+These provide functionality to our HTTP pipeline and other useful features. In script, you can forward these parameters using `$PSBoundParameters` to the other cmdlets you're calling within `Az.Workloads`. For C#, follow the usage seen in the `ProcessRecordAsync` method.
+
+### Attributes
+For processing the cmdlets, we've created some additional attributes:
+- `Microsoft.Azure.PowerShell.Cmdlets.Workloads.DescriptionAttribute`
+ - Used in C# cmdlets to provide a high-level description of the cmdlet. This is propagated to reference documentation via [help comments](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comment_based_help) in the exported scripts.
+- `Microsoft.Azure.PowerShell.Cmdlets.Workloads.DoNotExportAttribute`
+ - Used in C# and script cmdlets to suppress creating an exported cmdlet at build-time. These cmdlets will *not be exposed* by `Az.Workloads`.
+- `Microsoft.Azure.PowerShell.Cmdlets.Workloads.InternalExportAttribute`
+ - Used in C# cmdlets to route exported cmdlets to the `..\internal`, which are *not exposed* by `Az.Workloads`. For more information, see [README.md](..\internal/README.md) in the `..\internal` folder.
+- `Microsoft.Azure.PowerShell.Cmdlets.Workloads.ProfileAttribute`
+ - Used in C# and script cmdlets to define which Azure profiles the cmdlet supports. This is only supported for Azure (`--azure`) modules.
\ No newline at end of file
diff --git a/src/Workloads/custom/autogen-model-cmdlets/New-AzWorkloadsSapLandscapeMonitorMetricThresholdsObject.ps1 b/src/Workloads/custom/autogen-model-cmdlets/New-AzWorkloadsSapLandscapeMonitorMetricThresholdsObject.ps1
new file mode 100644
index 000000000000..1360a1261698
--- /dev/null
+++ b/src/Workloads/custom/autogen-model-cmdlets/New-AzWorkloadsSapLandscapeMonitorMetricThresholdsObject.ps1
@@ -0,0 +1,65 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for SapLandscapeMonitorMetricThresholds.
+.Description
+Create an in-memory object for SapLandscapeMonitorMetricThresholds.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitorMetricThresholds
+.Link
+https://learn.microsoft.com/powershell/module/Az.Workloads/new-AzWorkloadsSapLandscapeMonitorMetricThresholdsObject
+#>
+function New-AzWorkloadsSapLandscapeMonitorMetricThresholdsObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitorMetricThresholds')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Gets or sets the threshold value for Green.")]
+ [float]
+ $Green,
+ [Parameter(HelpMessage="Gets or sets the name of the threshold.")]
+ [string]
+ $Name,
+ [Parameter(HelpMessage="Gets or sets the threshold value for Red.")]
+ [float]
+ $Red,
+ [Parameter(HelpMessage="Gets or sets the threshold value for Yellow.")]
+ [float]
+ $Yellow
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitorMetricThresholds]::New()
+
+ if ($PSBoundParameters.ContainsKey('Green')) {
+ $Object.Green = $Green
+ }
+ if ($PSBoundParameters.ContainsKey('Name')) {
+ $Object.Name = $Name
+ }
+ if ($PSBoundParameters.ContainsKey('Red')) {
+ $Object.Red = $Red
+ }
+ if ($PSBoundParameters.ContainsKey('Yellow')) {
+ $Object.Yellow = $Yellow
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Workloads/custom/autogen-model-cmdlets/New-AzWorkloadsSapLandscapeMonitorSidMappingObject.ps1 b/src/Workloads/custom/autogen-model-cmdlets/New-AzWorkloadsSapLandscapeMonitorSidMappingObject.ps1
new file mode 100644
index 000000000000..6d8db5841243
--- /dev/null
+++ b/src/Workloads/custom/autogen-model-cmdlets/New-AzWorkloadsSapLandscapeMonitorSidMappingObject.ps1
@@ -0,0 +1,53 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for SapLandscapeMonitorSidMapping.
+.Description
+Create an in-memory object for SapLandscapeMonitorSidMapping.
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitorSidMapping
+.Link
+https://learn.microsoft.com/powershell/module/Az.Workloads/new-AzWorkloadsSapLandscapeMonitorSidMappingObject
+#>
+function New-AzWorkloadsSapLandscapeMonitorSidMappingObject {
+ [OutputType('Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitorSidMapping')]
+ [CmdletBinding(PositionalBinding=$false)]
+ Param(
+
+ [Parameter(HelpMessage="Gets or sets the name of the grouping.")]
+ [string]
+ $Name,
+ [Parameter(HelpMessage="Gets or sets the list of SID's.")]
+ [string[]]
+ $TopSid
+ )
+
+ process {
+ $Object = [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitorSidMapping]::New()
+
+ if ($PSBoundParameters.ContainsKey('Name')) {
+ $Object.Name = $Name
+ }
+ if ($PSBoundParameters.ContainsKey('TopSid')) {
+ $Object.TopSid = $TopSid
+ }
+ return $Object
+ }
+}
+
diff --git a/src/Workloads/examples/Get-AzWorkloadsMonitor.md b/src/Workloads/examples/Get-AzWorkloadsMonitor.md
new file mode 100644
index 000000000000..924af907b4d3
--- /dev/null
+++ b/src/Workloads/examples/Get-AzWorkloadsMonitor.md
@@ -0,0 +1,59 @@
+### Example 1: List all AMS Instances
+```powershell
+Get-AzWorkloadsMonitor
+```
+
+```output
+Name ResourceGroupName ManagedResourceGroupConfigurationName Location ProvisioningState
+---- ----------------- ------------------------------------- -------- -----------------
+ad-ams-inst ad-ams-rg ad-ams-mrg eastus2euap Deleting
+ad-ams-tp ad-ams-rg sapmonrg-q2nti3 eastus2euap Succeeded
+ad-ams ad-ams-rg sapmonrg-u2mtiw eastus Succeeded
+suha-1606-ams2 suha-0802-rg1 mrg-15061 eastus2euap Failed
+```
+
+Lists all AMS Instances in the subscription
+
+### Example 2: List all AMS instances in a Resource Group
+```powershell
+Get-AzWorkloadsMonitor -ResourceGroupName ad-ams-rg
+```
+
+```output
+Name ResourceGroupName ManagedResourceGroupConfigurationName Location ProvisioningState
+---- ----------------- ------------------------------------- -------- -----------------
+ad-ams-inst ad-ams-rg ad-ams-mrg eastus2euap Deleting
+ad-ams-tp ad-ams-rg sapmonrg-q2nti3 eastus2euap Succeeded
+ad-ams ad-ams-rg sapmonrg-u2mtiw eastus Succeeded
+```
+
+List all AMS instances in a Resource Group
+
+
+### Example 3: Get Information about an AMS Instance
+```powershell
+Get-AzWorkloadsMonitor -ResourceGroupName ad-ams-rg -Name ad-ams
+```
+
+```output
+Name ResourceGroupName ManagedResourceGroupConfigurationName Location ProvisioningState
+---- ----------------- ------------------------------------- -------- -----------------
+ad-ams ad-ams-rg sapmonrg-u2mtiw eastus Succeeded
+```
+
+Gets information about a specific AMS instance in a resource group
+
+### Example 4: Get Information about an AMS Instance by Id
+```powershell
+ Get-AzWorkloadsMonitor -InputObject '/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/suha-0802-rg1/providers/Microsoft.Workloads/monitors/suha-1606-ams2'
+```
+
+```output
+Name ResourceGroupName ManagedResourceGroupConfigurationName Location ProvisioningState
+---- ----------------- ------------------------------------- -------- -----------------
+suha-1606-ams2 suha-0802-rg1 mrg-15061 eastus2euap Failed
+
+
+```
+
+Get Information about an AMS Instance by ArmId
\ No newline at end of file
diff --git a/src/Workloads/examples/Get-AzWorkloadsProviderInstance.md b/src/Workloads/examples/Get-AzWorkloadsProviderInstance.md
new file mode 100644
index 000000000000..1ef5edd8962e
--- /dev/null
+++ b/src/Workloads/examples/Get-AzWorkloadsProviderInstance.md
@@ -0,0 +1,47 @@
+### Example 1: List all providers in an AMS Instance
+```powershell
+Get-AzWorkloadsProviderInstance -ResourceGroupName ad-ams-rg -MonitorName ad-ams
+```
+
+```output
+Name ResourceGroupName ProvisioningState IdentityType
+---- ----------------- ----------------- ------------
+Hana-1-test ad-ams-rg Failed
+hana-test-2 ad-ams-rg Succeeded
+prov-1 ad-ams-rg Failed
+hana-test ad-ams-rg Failed
+SAP-NETWEAVER ad-ams-rg Failed
+HA3-HANA-HighAvl ad-ams-rg Succeeded
+lh-28022023-host ad-ams-rg Failed
+as1-sysdb ad-ams-rg Succeeded
+h2-test ad-ams-rg Failed
+```
+
+ List all the providers created for an AMS Instance
+
+### Example 2: Get information about an AMS Provider
+```powershell
+Get-AzWorkloadsProviderInstance -ResourceGroupName ad-ams-rg -MonitorName ad-ams -Name hana-test-2
+```
+
+```output
+Name ResourceGroupName ProvisioningState IdentityType
+---- ----------------- ----------------- ------------
+hana-test-2 ad-ams-rg Succeeded
+```
+
+Gets information about a specific AMS Provider
+
+### Example 3: Get information about an AMS Provider by Id
+```powershell
+Get-AzWorkloadsProviderInstance -InputObject "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/suha-0802-rg1/providers/Microsoft.Workloads/monitors/ams_mon/providerInstances/suha-db2-1"
+```
+
+```output
+
+Name ResourceGroupName ProvisioningState IdentityType
+---- ----------------- ----------------- ------------
+suha-db2-1 suha-0802-rg1 Succeeded
+```
+
+Get information about an AMS Provider by ArmId
\ No newline at end of file
diff --git a/src/Workloads/examples/Get-AzWorkloadsSapApplicationInstance.md b/src/Workloads/examples/Get-AzWorkloadsSapApplicationInstance.md
new file mode 100644
index 000000000000..0c2d3678bf38
--- /dev/null
+++ b/src/Workloads/examples/Get-AzWorkloadsSapApplicationInstance.md
@@ -0,0 +1,40 @@
+### Example 1: Get an overview of The App Server Instance(s)
+```powershell
+Get-AzWorkloadsSapApplicationInstance -ResourceGroupName DemoRGVIS -SapVirtualInstanceName DRT
+```
+
+```output
+Name ResourceGroupName Health ProvisioningState Status Hostname Location
+---- ----------------- ------ ----------------- ------ -------- --------
+app0 DemoRGVIS Healthy Succeeded Running drtvm eastus2euap
+```
+
+This command will help you get an overview, including health and status of all the App Server instances in the Virtual instance for SAP solutions
+
+### Example 2: Get an overview of The App Server Instance
+```powershell
+Get-AzWorkloadsSapApplicationInstance -ResourceGroupName DemoRGVIS -SapVirtualInstanceName DRT -Name app0
+```
+
+```output
+Name ResourceGroupName Health ProvisioningState Status Hostname Location
+---- ----------------- ------ ----------------- ------ -------- --------
+app0 DemoRGVIS Healthy Succeeded Running drtvm eastus2euap
+```
+
+This command will help you get an overview, including health and status of a specific App Server instance in the Virtual instance for SAP solutions
+
+### Example 3: Get an overview of The App Server Instance
+
+```powershell
+Get-AzWorkloadsSapApplicationInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/DemoRGVIS/providers/Microsoft.Workloads/sapVirtualInstances/DRT/applicationInstances/app0
+```
+
+```output
+Name ResourceGroupName Health ProvisioningState Status Hostname Location
+---- ----------------- ------ ----------------- ------ -------- --------
+app0 DemoRGVIS Healthy Succeeded Running drtvm eastus2euap
+```
+
+This command will help you get an overview, including health and status of a specific App Server instance in the Virtual instance for SAP solutions by using the Azure resource ID of the App server instance
+
diff --git a/src/Workloads/examples/Get-AzWorkloadsSapCentralInstance.md b/src/Workloads/examples/Get-AzWorkloadsSapCentralInstance.md
new file mode 100644
index 000000000000..c7ab1f9cb05d
--- /dev/null
+++ b/src/Workloads/examples/Get-AzWorkloadsSapCentralInstance.md
@@ -0,0 +1,26 @@
+### Example 1: Get an overview of The Central service Instance(s)
+```powershell
+ Get-AzWorkloadsSapCentralInstance -ResourceGroupName DemoRGVIS -SapVirtualInstanceName DRT
+```
+
+```output
+Name ResourceGroupName Health EnqueueServerPropertyHostname ProvisioningState Status Location
+---- ----------------- ------ ----------------------------- ----------------- ------ --------
+cs0 DemoRGVIS Healthy drtvm Succeeded Running eastus2euap
+```
+
+This command will help you get an overview, including health and status of the Central service instance in a Virtual instance for SAP solutions
+
+
+### Example 2: Get an overview of The Central service Instance(s)
+```powershell
+Get-AzWorkloadsSapCentralInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/DemoRGVIS/providers/Microsoft.Workloads/sapVirtualInstances/DRT/centralInstances/cs0
+```
+
+```output
+Name ResourceGroupName Health EnqueueServerPropertyHostname ProvisioningState Status Location
+---- ----------------- ------ ----------------------------- ----------------- ------ --------
+cs0 DemoRGVIS Healthy drtvm Succeeded Running eastus2euap
+```
+
+This command will help you get an overview, including health and status of a Central service instance in the Virtual instance for SAP solutions by using the Azure resource ID of the Central service instance
\ No newline at end of file
diff --git a/src/Workloads/examples/Get-AzWorkloadsSapDatabaseInstance.md b/src/Workloads/examples/Get-AzWorkloadsSapDatabaseInstance.md
new file mode 100644
index 000000000000..779c2ff95395
--- /dev/null
+++ b/src/Workloads/examples/Get-AzWorkloadsSapDatabaseInstance.md
@@ -0,0 +1,25 @@
+### Example 1: Get an overview of the Database Instance(s)
+```powershell
+Get-AzWorkloadsSapDatabaseInstance -ResourceGroupName DemoRGVIS -SapVirtualInstanceName DRT
+```
+
+```output
+Name ResourceGroupName ProvisioningState Location Status IPAddress DatabaseSid
+---- ----------------- ----------------- -------- ------ --------- -----------
+db0 DemoRGVIS Succeeded eastus2euap Running 10.0.0.6 XRT
+```
+
+This command will help you get an overview, including health and status of a Database instance in the Virtual instance for SAP solutions
+
+### Example 2: Get an overview of the Database Instance(s)
+```powershell
+Get-AzWorkloadsSapDatabaseInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/DemoRGVIS/providers/Microsoft.Workloads/sapVirtualInstances/DRT/databaseInstances/db0
+```
+
+```output
+Name ResourceGroupName ProvisioningState Location Status IPAddress DatabaseSid
+---- ----------------- ----------------- -------- ------ --------- -----------
+db0 DemoRGVIS Succeeded eastus2euap Running 10.0.0.6 XRT
+```
+
+This command will help you get an overview, including health and status of a Database instance in the Virtual instance for SAP solutions by using the Azure resource ID of the Database instance
\ No newline at end of file
diff --git a/src/Workloads/examples/Get-AzWorkloadsSapLandscapeMonitor.md b/src/Workloads/examples/Get-AzWorkloadsSapLandscapeMonitor.md
new file mode 100644
index 000000000000..d755e7c52943
--- /dev/null
+++ b/src/Workloads/examples/Get-AzWorkloadsSapLandscapeMonitor.md
@@ -0,0 +1,69 @@
+### Example 1: Get information about a SAP landscape monitor
+```powershell
+Get-AzWorkloadsSapLandscapeMonitor -MonitorName suha-0202-ams9 -ResourceGroupName suha-0802-rg1 -SubscriptionId 49d64d54-e966-4c46-a868-1999802b762c
+```
+
+```output
+GroupingLandscape : {{
+ "name": "Prod",
+ "topSid": [ "SID1", "SID2" ]
+ }}
+GroupingSapApplication : {{
+ "name": "ERP1",
+ "topSid": [ "SID1", "SID2" ]
+ }}
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/suha-0802-rg1/providers/Microsoft.
+ Workloads/monitors/suha-0202-ams9/sapLandscapeMonitor/default
+Name : default
+ProvisioningState : Succeeded
+ResourceGroupName : suha-0802-rg1
+SystemData : {
+ }
+SystemDataCreatedAt : 06-04-2023 05:30:54
+SystemDataCreatedByType : User
+SystemDataLastModifiedByType : User
+TopMetricsThreshold : {{
+ "name": "Instance Availability",
+ "green": 90,
+ "yellow": 75,
+ "red": 50
+ }}
+Type : microsoft.workloads/monitors/saplandscapemonitor
+```
+
+Gets information about a specific SAP landscape monitor
+
+### Example 2: Get information about a SAP landscape monitor by Id
+```powershell
+Get-AzWorkloadsSapLandscapeMonitor -InputObject "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/suha-0/providers/Microsoft.Workloads/monitors/suha-0202-ams9/sapLandscapeMonitor/default"
+```
+
+```output
+GroupingLandscape : {{
+ "name": "Prod",
+ "topSid": [ "SID1", "SID2" ]
+ }}
+GroupingSapApplication : {{
+ "name": "ERP1",
+ "topSid": [ "SID1", "SID2" ]
+ }}
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/suha-0802-rg1/providers/Microsoft.
+ Workloads/monitors/suha-0202-ams9/sapLandscapeMonitor/default
+Name : default
+ProvisioningState : Succeeded
+ResourceGroupName : suha-0802-rg1
+SystemData : {
+ }
+SystemDataCreatedAt : 06-04-2023 05:30:54
+SystemDataCreatedByType : User
+SystemDataLastModifiedByType : User
+TopMetricsThreshold : {{
+ "name": "Instance Availability",
+ "green": 90,
+ "yellow": 75,
+ "red": 50
+ }}
+Type : microsoft.workloads/monitors/saplandscapemonitor
+```
+
+Gets information about a specific SAP landscape monitor by ArmId
\ No newline at end of file
diff --git a/src/Workloads/examples/Get-AzWorkloadsSapVirtualInstance.md b/src/Workloads/examples/Get-AzWorkloadsSapVirtualInstance.md
new file mode 100644
index 000000000000..4a18c62b91f6
--- /dev/null
+++ b/src/Workloads/examples/Get-AzWorkloadsSapVirtualInstance.md
@@ -0,0 +1,42 @@
+### Example 1: Get a list of the Virtual Instance(s) for SAP solutions (VIS)
+
+```powershell
+Get-AzWorkloadsSapVirtualInstance
+```
+
+```output
+Name ResourceGroupName Health Environment ProvisioningState SapProduct State Status Location
+---- ----------------- ------ ----------- ----------------- ---------- ----- ------ --------
+DRT DemoRGVIS Healthy NonProd Succeeded S4HANA RegistrationComplete Running eastus2euap
+DRT DemoRGVIS01 Healthy NonProd Succeeded S4HANA RegistrationComplete Running eastus2euap
+DRT DemoRGVIS02 Healthy NonProd Succeeded S4HANA RegistrationComplete Running eastus2euap
+```
+
+This command will list all the Virtual instances for SAP solutions from your subscriptions along with their health, status, state and other parameters of the VIS
+
+### Example 2: Get an overview of any one Virtual Instance(s) for SAP solutions (VIS)
+
+```powershell
+Get-AzWorkloadsSapVirtualInstance -ResourceGroupName DemoRGVIS -Name DRT
+```
+
+```output
+Name ResourceGroupName Health Environment ProvisioningState SapProduct State Status Location
+---- ----------------- ------ ----------- ----------------- ---------- ----- ------ --------
+DRT DemoRGVIS Healthy NonProd Succeeded S4HANA RegistrationComplete Running eastus2euap
+```
+
+This command will list a specific Virtual instance for SAP solutions resource along with it's health, status, state and other parameters of the VIS
+
+### Example 3: Get an overview of the Virtual Instance(s) for SAP solutions (VIS) with resource ID
+```powershell
+Get-AzWorkloadsSapVirtualInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/DemoRGVIS/providers/Microsoft.Workloads/sapVirtualInstances/DRT
+```
+
+```output
+Name ResourceGroupName Health Environment ProvisioningState SapProduct State Status Location
+---- ----------------- ------ ----------- ----------------- ---------- ----- ------ --------
+DRT DemoRGVIS Healthy NonProd Succeeded S4HANA RegistrationComplete Running eastus2euap
+```
+
+This command will list a specific Virtual instance for SAP solutions resource along with it's health, status, state and other parameters of the VIS by using the Azure resource ID of the VIS
\ No newline at end of file
diff --git a/src/Workloads/examples/Invoke-AzWorkloadsSapDiskConfiguration.md b/src/Workloads/examples/Invoke-AzWorkloadsSapDiskConfiguration.md
new file mode 100644
index 000000000000..5dfadb28416b
--- /dev/null
+++ b/src/Workloads/examples/Invoke-AzWorkloadsSapDiskConfiguration.md
@@ -0,0 +1,34 @@
+### Example 1: Get the SAP Disk Configuration Layout for prod/non-prod SAP System
+```powershell
+Invoke-AzWorkloadsSapDiskConfiguration -Location eastus -AppLocation eastus -DatabaseType HANA -DbVMSku Standard_M32ts -DeploymentType SingleServer -Environment NonProd -SapProduct S4HANA
+```
+
+```output
+Keys : {hana/data, hana/log, hana/shared, usr/sap...}
+Values : {{
+ "recommendedConfiguration": {
+ "sku": {
+ "name": "Premium_LRS"
+ },
+ "count": 4,
+ "sizeGB": 128
+ },
+ "supportedConfigurations": [
+ {
+ "sku": {
+ "name": "Premium_LRS"
+ },
+ "sizeGB": 128,
+ "minimumSupportedDiskCount": 4,
+ "maximumSupportedDiskCount": 5,
+ "iopsReadWrite": 500,
+ "mbpsReadWrite": 100,
+ "diskTier": "P10"
+ }
+ ]
+ }}
+```
+
+This command will help you understand the default disk configuration that will b deployed for the SAP system for a selected deployment type. You can customize this when you are deploying your SAP system from Azure Center for SAP solutions
+
+
diff --git a/src/Workloads/examples/Invoke-AzWorkloadsSapSizingRecommendation.md b/src/Workloads/examples/Invoke-AzWorkloadsSapSizingRecommendation.md
new file mode 100644
index 000000000000..10d91b4ef1b0
--- /dev/null
+++ b/src/Workloads/examples/Invoke-AzWorkloadsSapSizingRecommendation.md
@@ -0,0 +1,14 @@
+### Example 1: Get SAP sizing recommendations by providing SAPS for application tier and memory required for database tier
+```powershell
+Invoke-AzWorkloadsSapSizingRecommendation -Location eastus -AppLocation eastus -DatabaseType HANA -DbMemory 256 -DeploymentType SingleServer -Environment NonProd -SapProduct S4HANA -Sap 10000 -DbScaleMethod ScaleUp
+```
+
+```output
+DeploymentType VMSku
+-------------- -----
+SingleServer Standard_E32ds_v4
+```
+
+The command will take input of the Deployment type, region, SAPS number and Database memory size requirement for the SAP system and help you understand the right size and count of Azure SKUs that you should use for the App server instance, Central service instance and Database instance while deploying your SAP system with Azure Center for SAP solutions.
+
+
diff --git a/src/Workloads/examples/Invoke-AzWorkloadsSapSupportedSku.md b/src/Workloads/examples/Invoke-AzWorkloadsSapSupportedSku.md
new file mode 100644
index 000000000000..c86d22160772
--- /dev/null
+++ b/src/Workloads/examples/Invoke-AzWorkloadsSapSupportedSku.md
@@ -0,0 +1,19 @@
+### Example 1: Get SAP sizing recommendations by providing input SAPS for application tier and memory required for database tier
+```powershell
+Invoke-AzWorkloadsSapSupportedSku -Location eastus -AppLocation eastus -DatabaseType HANA -DeploymentType ThreeTier -Environment Prod -SapProduct S4HANA
+```
+
+```output
+IsAppServerCertified IsDatabaseCertified VMSku
+-------------------- ------------------- -----
+True False Standard_D16ds_v4
+True False Standard_D16ds_v5
+True False Standard_D32ds_v4
+True False Standard_D32ds_v5
+True False Standard_D48ds_v4
+True False Standard_D48ds_v5
+```
+
+This command helps you understand the list of SAP certified Azure SKUs supported for the SAP deployment type you want to deploy and for the region in which you want to deploy the SAP system with Azure Center for SAP solutions
+
+
diff --git a/src/Workloads/examples/New-AzWorkloadsMonitor.md b/src/Workloads/examples/New-AzWorkloadsMonitor.md
new file mode 100644
index 000000000000..1ba324b17fab
--- /dev/null
+++ b/src/Workloads/examples/New-AzWorkloadsMonitor.md
@@ -0,0 +1,12 @@
+### Example 1: Creates a SAP monitor for the specified subscription, resource group, and resource name
+```powershell
+New-AzWorkloadsMonitor -Name suha-160323-ams4 -ResourceGroupName suha-0802-rg1 -SubscriptionId 49d64d54-e966-4c46-a868-1999802b762c -Location eastus2euap -AppLocation eastus -ManagedResourceGroupName mrg-1603234 -MonitorSubnet /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/e2e-portal-wlmonitor-do-not-delete/providers/Microsoft.Network/virtualNetworks/vnetpeeringtest/subnets/snet-1603-3 -RoutingPreference RouteAll -ZoneRedundancyPreference Disabled
+```
+
+```output
+Name ResourceGroupName ManagedResourceGroupConfigurationName Location ProvisioningState
+---- ----------------- ------------------------------------- -------- -----------------
+suha-160323-ams4 suha-0802-rg1 mrg-1603234 eastus2euap Succeeded
+```
+
+This command creates a SAP monitor for the specified subscription, resource group, and resource name.
\ No newline at end of file
diff --git a/src/Workloads/examples/New-AzWorkloadsProviderDB2InstanceObject.md b/src/Workloads/examples/New-AzWorkloadsProviderDB2InstanceObject.md
new file mode 100644
index 000000000000..9cd818f06f46
--- /dev/null
+++ b/src/Workloads/examples/New-AzWorkloadsProviderDB2InstanceObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create an IBM Db2 Provider
+```powershell
+New-AzWorkloadsProviderDB2InstanceObject -Name Sample -Password '' -Port 25000 -Username db2admin -Hostname 10.1.21.4 -SapSid OPA -SslPreference Disabled
+```
+
+```output
+ProviderType DbName DbPassword DbPasswordUri DbPort DbUsername Hostname SapSid SslCertificateUri SslPreference
+------------ ------ ---------- ------------- ------ ---------- -------- ------ ----------------- -------------
+Db2 Sample 25000 db2admin 10.1.21.4 OPA Disabled
+```
+
+Create an IBM Db2 provider for an AMS Instance
diff --git a/src/Workloads/examples/New-AzWorkloadsProviderHanaDbInstanceObject.md b/src/Workloads/examples/New-AzWorkloadsProviderHanaDbInstanceObject.md
new file mode 100644
index 000000000000..6f0d82d65d19
--- /dev/null
+++ b/src/Workloads/examples/New-AzWorkloadsProviderHanaDbInstanceObject.md
@@ -0,0 +1,13 @@
+### Example 1: Create SAP HANA provider
+```powershell
+New-AzWorkloadsProviderHanaDbInstanceObject -Name SYSTEMDB -Password '' -Username SYSTEM -Hostname 10.0.81.4 -InstanceNumber 00 -SapSid X00 -SqlPort 1433 -SslPreference Disabled
+```
+
+```output
+ProviderType DbName DbPassword DbPasswordUri DbUsername Hostname InstanceNumber SapSid SqlPort SslCertificateUri SslHostNameInCer
+ tificate
+------------ ------ ---------- ------------- ---------- -------- -------------- ------ ------- ----------------- ----------------
+SapHana SYSTEMDB SYSTEM 10.0.81.4 00 X00 1433
+```
+
+Create SAP HANA provider for an AMS instance
diff --git a/src/Workloads/examples/New-AzWorkloadsProviderInstance.md b/src/Workloads/examples/New-AzWorkloadsProviderInstance.md
new file mode 100644
index 000000000000..58d4097dfe70
--- /dev/null
+++ b/src/Workloads/examples/New-AzWorkloadsProviderInstance.md
@@ -0,0 +1,29 @@
+### Example 1: Create a new provider
+```powershell
+$providerSetting = New-AzWorkloadsProviderSqlServerInstanceObject -Password '' -Port 1433 -Username '' -Hostname 10.1.14.5 -SapSid X00 -SslPreference Disabled
+ $providerSetting.ProviderType | Should -Be "MsSqlServer"
+
+New-AzWorkloadsProviderInstance -MonitorName suha-0202-ams9 -Name sql-prov-1 -ResourceGroupName suha-0802-rg1 -SubscriptionId 49d64d54-e966-4c46-a868-1999802b762c -ProviderSetting $providerSetting
+```
+
+```output
+Name ResourceGroupName ProvisioningState IdentityType
+---- ----------------- ----------------- ------------
+sql-prov-1 suha-0802-rg1 Succeeded
+```
+
+Creates a new provider for a specific AMS instance
+
+### Example 2: Create a new provider by Id
+```powershell
+New-AzWorkloadsProviderInstance -MonitorName suha-160323-ams4 -Name suha-sql-3 -ResourceGroupName suha-0802-rg1 -SubscriptionId 49d64d54-e966-4c46-a868-1999802b762c -ProviderSetting '{"sslPreference":"Disabled","providerType":"MsSqlServer","hostname":"10.1.14.5","sapSid":"X00","dbPort":"1433","dbUsername":"","dbPassword":""}'
+```
+
+```output
+Name ResourceGroupName ProvisioningState IdentityType
+---- ----------------- ----------------- ------------
+suha-sql-3 suha-0802-rg1 Succeeded
+```
+
+Creates a new provider for a specific AMS instance by Arm Id
+
diff --git a/src/Workloads/examples/New-AzWorkloadsProviderPrometheusHaClusterInstanceObject.md b/src/Workloads/examples/New-AzWorkloadsProviderPrometheusHaClusterInstanceObject.md
new file mode 100644
index 000000000000..33724e6618e0
--- /dev/null
+++ b/src/Workloads/examples/New-AzWorkloadsProviderPrometheusHaClusterInstanceObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create High Availability Pacemaker cluster provider
+```powershell
+New-AzWorkloadsProviderPrometheusHaClusterInstanceObject -ClusterName hacluster -Hostname h20dbvm0 -PrometheusUrl "http://10.0.92.5:964/metrics" -Sid X00 -SslPreference Disabled
+```
+
+```output
+ProviderType ClusterName Hostname PrometheusUrl Sid SslCertificateUri SslPreference
+------------ ----------- -------- ------------- --- ----------------- -------------
+PrometheusHaCluster hacluster h20dbvm0 http://10.0.92.5:964/metrics X00 Disabled
+```
+
+Create High Availability Pacemaker cluster for an AMS instance
diff --git a/src/Workloads/examples/New-AzWorkloadsProviderPrometheusOSInstanceObject.md b/src/Workloads/examples/New-AzWorkloadsProviderPrometheusOSInstanceObject.md
new file mode 100644
index 000000000000..07a9444b8cc0
--- /dev/null
+++ b/src/Workloads/examples/New-AzWorkloadsProviderPrometheusOSInstanceObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create Linux OS Provider
+```powershell
+New-AzWorkloadsProviderPrometheusOSInstanceObject -PrometheusUrl "http://10.1.0.4:9100/metrics" -SapSid X00 -SslPreference Disabled
+```
+
+```output
+ProviderType PrometheusUrl SapSid SslCertificateUri SslPreference
+------------ ------------- ------ ----------------- -------------
+PrometheusOS http://10.1.0.4:9100/metrics X00 Disabled
+```
+
+Create Linux Operating System provider for an AMS instance
diff --git a/src/Workloads/examples/New-AzWorkloadsProviderSapNetWeaverInstanceObject.md b/src/Workloads/examples/New-AzWorkloadsProviderSapNetWeaverInstanceObject.md
new file mode 100644
index 000000000000..334aa3c0f881
--- /dev/null
+++ b/src/Workloads/examples/New-AzWorkloadsProviderSapNetWeaverInstanceObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create SAP Netweaver Provider
+```powershell
+New-AzWorkloadsProviderSapNetWeaverInstanceObject -SapClientId 000 -SapHostFileEntry '["10.0.82.4 l13appvm0.ams.azure.com l13appvm0","10.0.82.5 l13ascsvm.ams.azure.com l13ascsvm"]' -SapHostname 10.0.82.4 -SapInstanceNr 00 -SapPassword Password@1234 -SapSid L13 -SapUsername AMSUSER -SslPreference Disabled
+```
+
+```output
+ProviderType SapClientId SapHostFileEntry SapHostname
+------------ ----------- ---------------- -----------
+SapNetWeaver 000 {["10.0.82.4 l13appvm0.ams.azure.com l13appvm0","10.0.82.5 l13ascsvm.ams.azure.com l13ascsvm"]} 10.0.82.4
+```
+
+Create SAP Netweaver Provider for an AMS instance
diff --git a/src/Workloads/examples/New-AzWorkloadsProviderSqlServerInstanceObject.md b/src/Workloads/examples/New-AzWorkloadsProviderSqlServerInstanceObject.md
new file mode 100644
index 000000000000..1c26675eecc2
--- /dev/null
+++ b/src/Workloads/examples/New-AzWorkloadsProviderSqlServerInstanceObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create Microsoft SQL server provider
+```powershell
+New-AzWorkloadsProviderSqlServerInstanceObject -Password 'Password@123' -Port 1433 -Username ams -Hostname 10.1.14.5 -SapSid X00 -SslPreference Disabled
+```
+
+```output
+ProviderType DbPassword DbPasswordUri DbPort DbUsername Hostname SapSid SslCertificateUri SslPreference
+------------ ---------- ------------- ------ ---------- -------- ------ ----------------- -------------
+MsSqlServer Password@123 1433 ams 10.1.14.5 X00 Disabled
+```
+
+Create Microsoft SQL server provider for an AMS instance
diff --git a/src/Workloads/examples/New-AzWorkloadsSapLandscapeMonitor.md b/src/Workloads/examples/New-AzWorkloadsSapLandscapeMonitor.md
new file mode 100644
index 000000000000..04d9370e697e
--- /dev/null
+++ b/src/Workloads/examples/New-AzWorkloadsSapLandscapeMonitor.md
@@ -0,0 +1,43 @@
+### Example 1: Create a new SAP Landscape Monitor
+```powershell
+New-AzWorkloadsSapLandscapeMonitor -MonitorName suha-0202-ams9 -ResourceGroupName suha-0802-rg1 -SubscriptionId 49d64d54-e966-4c46-a868-1999802b762c -GroupingLandscape '{"name":"Prod","topSid":["SID1","SID2"]}' -GroupingSapApplication '{"name":"ERP1","topSid":["SID1","SID2"]}' -TopMetricsThreshold '{"name":"Instance Availability","green":90,"yellow":75,"red":50}'
+```
+
+```output
+GroupingLandscape : {{
+ "name": "Prod",
+ "topSid": [ "SID1", "SID2" ]
+ }}
+GroupingSapApplication : {{
+ "name": "ERP1",
+ "topSid": [ "SID1", "SID2" ]
+ }}
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/suha-0802-rg1/providers/Microsoft.
+ Workloads/monitors/suha-0202-ams9/sapLandscapeMonitor/default
+Name : default
+ProvisioningState : Succeeded
+ResourceGroupName : suha-0802-rg1
+SystemData : {
+ "createdBy": "",
+ "createdByType": "User",
+ "createdAt": "2023-04-06T05:30:54.9427030Z",
+ "lastModifiedBy": "",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-04-06T05:31:18.7873209Z"
+ }
+SystemDataCreatedAt : 06-04-2023 05:30:54
+SystemDataCreatedBy :
+SystemDataCreatedByType : User
+SystemDataLastModifiedAt : 06-04-2023 05:31:18
+SystemDataLastModifiedBy :
+SystemDataLastModifiedByType : User
+TopMetricsThreshold : {{
+ "name": "Instance Availability",
+ "green": 90,
+ "yellow": 75,
+ "red": 50
+ }}
+Type : microsoft.workloads/monitors/saplandscapemonitor
+```
+
+Creates a new SAP landscape monitor
diff --git a/src/Workloads/examples/New-AzWorkloadsSapLandscapeMonitorMetricThresholdsObject.md b/src/Workloads/examples/New-AzWorkloadsSapLandscapeMonitorMetricThresholdsObject.md
new file mode 100644
index 000000000000..e1dab69dab68
--- /dev/null
+++ b/src/Workloads/examples/New-AzWorkloadsSapLandscapeMonitorMetricThresholdsObject.md
@@ -0,0 +1,13 @@
+### Example 1: Create a new Metrics Threshold for SAP Landscape Monitor
+```powershell
+New-AzWorkloadsSapLandscapeMonitorMetricThresholdsObject -Green 90 -Name X00 -Red 50 -Yellow 80
+```
+
+```output
+Green Name Red Yellow
+----- ---- --- ------
+90 X00 50 80
+
+```
+
+Create a new Metrics Threshold object to be used for creating a SAP Landscape Monitor
diff --git a/src/Workloads/examples/New-AzWorkloadsSapLandscapeMonitorSidMappingObject.md b/src/Workloads/examples/New-AzWorkloadsSapLandscapeMonitorSidMappingObject.md
new file mode 100644
index 000000000000..60682e5a72f9
--- /dev/null
+++ b/src/Workloads/examples/New-AzWorkloadsSapLandscapeMonitorSidMappingObject.md
@@ -0,0 +1,12 @@
+### Example 1: Create a new SID mapping for SAP Landscape Monitor
+```powershell
+New-AzWorkloadsSapLandscapeMonitorSidMappingObject -Name Prod -TopSid "{SID2,SID1}"
+```
+
+```output
+Name TopSid
+---- ------
+Prod {{SID2,SID1}}
+```
+
+Create a new Metrics Threshold object to be used for creating a SAP Landscape Monitor
diff --git a/src/Workloads/examples/New-AzWorkloadsSapVirtualInstance.md b/src/Workloads/examples/New-AzWorkloadsSapVirtualInstance.md
new file mode 100644
index 000000000000..b8935c2c33d7
--- /dev/null
+++ b/src/Workloads/examples/New-AzWorkloadsSapVirtualInstance.md
@@ -0,0 +1,67 @@
+### Example 1: Deploy infrastructure for a three-tier distributed SAP system using Virtual Instances for SAP solutions
+```powershell
+New-AzWorkloadsSapVirtualInstance -ResourceGroupName 'PowerShell-CLI-TestRG' -Name L46 -Location eastus -Environment 'NonProd' -SapProduct 'S4HANA' -Configuration .\CreatePayload.json -Tag @{k1 = "v1"; k2 = "v2"} -IdentityType 'UserAssigned' -ManagedResourceGroupName "L46-rg" -UserAssignedIdentity @{'/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourcegroups/SAP-E2ETest-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/E2E-RBAC-MSI'= @{}}
+```
+
+```output
+Name ResourceGroupName Health Environment ProvisioningState SapProduct State Status Location
+---- ----------------- ------ ----------- ----------------- ---------- ----- ------ --------
+L46 PowerShell-CLI-TestRG NonProd Succeeded S4HANA SoftwareInstallationPending eastus
+```
+
+In this example, you Deploy the infrastructure for a three tier distributed SAP system. A sample json payload is a linked here: https://go.microsoft.com/fwlink/?linkid=2230236
+
+### Example 2: Install SAP software on the infrastructure deployed for the three-tier distributed SAP system using Virtual Instances for SAP solutions
+```powershell
+New-AzWorkloadsSapVirtualInstance -ResourceGroupName 'PowerShell-CLI-TestRG' -Name L46 -Location eastus -Environment 'NonProd' -SapProduct 'S4HANA' -Configuration .\InstallPayload.json -Tag @{k1 = "v1"; k2 = "v2"} -IdentityType 'UserAssigned' -ManagedResourceGroupName "L46-rg" -UserAssignedIdentity @{'/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourcegroups/SAP-E2ETest-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/E2E-RBAC-MSI'= @{}}
+```
+
+```output
+Name ResourceGroupName Health Environment ProvisioningState SapProduct State Status Location
+---- ----------------- ------ ----------- ----------------- ---------- ----- ------ --------
+L46 PowerShell-CLI-TestRG NonProd Succeeded S4HANA RegistrationComplete eastus
+```
+
+In this example, you Install the SAP software on the deployed infrastructure for a three tier Non-High Availability distributed SAP system. A sample json payload is a linked here:https://go.microsoft.com/fwlink/?linkid=2230167
+
+### Example 3: Deploy infrastructure for a three-tier distributed Highly Available (HA) SAP system using Virtual Instances for SAP solutions
+```powershell
+ New-AzWorkloadsSapVirtualInstance -ResourceGroupName 'PowerShell-CLI-TestRG' -Name SK1 -Location eastus -Environment 'NonProd' -SapProduct 'S4HANA' -Configuration .\CreatePayloadHACustomNames.json -IdentityType 'UserAssigned' -ManagedResourceGroupName "acss-mrg1" -UserAssignedIdentity @{'/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourcegroups/SAP-E2ETest-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/E2E-RBAC-MSI'= @{}}
+```
+
+```output
+Name ResourceGroupName Health Environment ProvisioningState SapProduct State Status Location
+---- ----------------- ------ ----------- ----------------- ---------- ----- ------ --------
+SK1 PowerShell-CLI-TestRG NonProd Succeeded S4HANA SoftwareInstallationPending eastus
+```
+
+In this example, you Deploy the infrastructure for a three tier distributed Highly Available (HA) SAP system. A sample json payload to use in this command is linked here: https://go.microsoft.com/fwlink/?linkid=2230402
+
+
+### Example 4: Install SAP software on the infrastructure deployed for the three-tier distributed Highly Available (HA) SAP system using Virtual Instances for SAP solutions
+```powershell
+New-AzWorkloadsSapVirtualInstance -ResourceGroupName 'PowerShell-CLI-TestRG' -Name SK1 -Location eastus -Environment 'NonProd' -SapProduct 'S4HANA' -Configuration .\CreatePayloadHACustomNamesInstall.json -IdentityType 'UserAssigned' -ManagedResourceGroupName "acss-mrg1" -UserAssignedIdentity @{'/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourcegroups/SAP-E2ETest-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/E2E-RBAC-MSI'= @{}}
+```
+
+```output
+Name ResourceGroupName Health Environment ProvisioningState SapProduct State Status Location
+---- ----------------- ------ ----------- ----------------- ---------- ----- ------ --------
+SK1 PowerShell-CLI-TestRG NonProd Succeeded S4HANA RegistrationComplete eastus
+```
+
+In this example, you Install the SAP software on the deployed infrastructure for a three tier distributed Highly Availabile SAP system with Transport directory and customized resource naming. A sample json payload to use in this command is linked here: https://go.microsoft.com/fwlink/?linkid=2230340
+
+
+### Example 5: Register an existing SAP system as a VIS
+```powershell
+New-AzWorkloadsSapVirtualInstance -ResourceGroupName 'TestRG' -Name L46 -Location eastus -Environment 'NonProd' -SapProduct 'S4HANA' -CentralServerVmId '/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourcegroups/powershell-cli-testrg/providers/microsoft.compute/virtualmachines/l46ascsvm' -Tag @{k1 = "v1"; k2 = "v2"} -ManagedResourceGroupName "L46-rg" -ManagedRgStorageAccountName 'acssstoragel46' -IdentityType 'UserAssigned' -UserAssignedIdentity @{'/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourcegroups/SAP-E2ETest-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/E2E-RBAC-MSI'= @{}}
+```
+
+```output
+Name ResourceGroupName Health Environment ProvisioningState SapProduct State Status Location
+---- ----------------- ------ ----------- ----------------- ---------- ----- ------ --------
+L46 PowerShell-CLI-TestRG NonProd Succeeded S4HANA RegistrationComplete eastus
+```
+
+Use the New-AzWorkloadsSapVirtualInstance cmdlet with the suggested input parameters to register an existing SAP system as a Virtual Instance for SAP solutions resource.
+
diff --git a/src/Workloads/examples/Remove-AzWorkloadsMonitor.md b/src/Workloads/examples/Remove-AzWorkloadsMonitor.md
new file mode 100644
index 000000000000..20c65c884fc1
--- /dev/null
+++ b/src/Workloads/examples/Remove-AzWorkloadsMonitor.md
@@ -0,0 +1,30 @@
+### Example 1: Delete a specific AMS
+```powershell
+Remove-AzWorkloadsMonitor -Name suha-050423-ams7 -ResourceGroupName suha-0802-rg1 -SubscriptionId 49d64d54-e966-4c46-a868-1999802b762c
+```
+
+```output
+EndTime Name PercentComplete Resour
+ ceGrou
+ pName
+------- ---- --------------- ------
+ 2a2acaca-6dbb-4531-859e-5cc8bf6d66a0*223F4A00A95CA88C8A59BF9C0FAD97B67B40E41D4AF631069741A1BF6DDA8BFB
+```
+
+Delete a specific AMS
+
+### Example 2: Delete a specific AMS by Id
+```powershell
+Remove-AzWorkloadsMonitor -InputObject "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/suha-0802-rg1/providers/Microsoft.Workloads/monitors/suha-050423-ams7"
+```
+
+```output
+EndTime Name PercentComplete Resour
+ ceGrou
+ pName
+------- ---- --------------- ------
+ 2a2acaca-6dbb-4531-859e-5cc8bf6d66a0*223F4A00A95CA88C8A59BF9C0FAD97B67B40E41D4AF631069741A1BF6DDA8BFB
+```
+
+Delete a specific AMS by Arm Id
+
diff --git a/src/Workloads/examples/Remove-AzWorkloadsProviderInstance.md b/src/Workloads/examples/Remove-AzWorkloadsProviderInstance.md
new file mode 100644
index 000000000000..cd3559c542d6
--- /dev/null
+++ b/src/Workloads/examples/Remove-AzWorkloadsProviderInstance.md
@@ -0,0 +1,26 @@
+### Example 1: Delete a specific provider from AMS instance
+```powershell
+Remove-AzWorkloadsProviderInstance -MonitorName suha-160323-ams7 -Name suha-os-1 -ResourceGroupName suha-0802-rg1 -SubscriptionId 49d64d54-e966-4c46-a868-1999802b762c
+```
+
+```output
+EndTime Name PercentComplete ResourceGroupName StartTime Status
+------- ---- --------------- ----------------- --------- ------
+16-03-2023 11:48:08 034ff381-73dc-4273-8ed2-1ccd852a64a2*6E77053B6B98265D96E60B59AE83132A76A7B1EA2C160941AD1C81EFE679D721 16-03-2023 11:48:05 Succeeded
+```
+
+Delete a provider from specific AMS Instance
+
+### Example 2: Delete a specific provider from AMS instance by Id
+```powershell
+Remove-AzWorkloadsProviderInstance -InputObject "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/suha-0802-rg1/providers/Microsoft.Workloads/monitors/suha-160323-ams7/providerInstances/suha-os-1"
+```
+
+```output
+EndTime Name PercentComplete ResourceGroupName StartTime Status
+------- ---- --------------- ----------------- --------- ------
+16-03-2023 11:48:08 034ff381-73dc-4273-8ed2-1ccd852a64a2*6E77053B6B98265D96E60B59AE83132A76A7B1EA2C160941AD1C81EFE679D721 16-03-2023 11:48:05 Succeeded
+```
+
+Delete a provider from specific AMS Instance by Arm Id
+
diff --git a/src/Workloads/examples/Remove-AzWorkloadsSapLandscapeMonitor.md b/src/Workloads/examples/Remove-AzWorkloadsSapLandscapeMonitor.md
new file mode 100644
index 000000000000..c202468db345
--- /dev/null
+++ b/src/Workloads/examples/Remove-AzWorkloadsSapLandscapeMonitor.md
@@ -0,0 +1,14 @@
+### Example 1: Delete SAP Landscape Monitor
+```powershell
+Remove-AzWorkloadsSapLandscapeMonitor -MonitorName suha-160323-ams7 -ResourceGroupName suha-0802-rg1 -SubscriptionId 49d64d54-e966-4c46-a868-1999802b762c
+```
+
+Delete SAP Landscape Monitor for a specific AMS Instance
+
+### Example 2: Delete SAP Landscape Monitor by Id
+```powershell
+Remove-AzWorkloadsSapLandscapeMonitor -InputObject "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/suha-0802-rg1/providers/Microsoft.Workloads/monitors/suha-0202-ams9/sapLandscapeMonitor/default"
+```
+
+Delete SAP Landscape Monitor for a specific AMS Instance by ArmId
+
diff --git a/src/Workloads/examples/Remove-AzWorkloadsSapVirtualInstance.md b/src/Workloads/examples/Remove-AzWorkloadsSapVirtualInstance.md
new file mode 100644
index 000000000000..842995d5d005
--- /dev/null
+++ b/src/Workloads/examples/Remove-AzWorkloadsSapVirtualInstance.md
@@ -0,0 +1,48 @@
+### Example 1: Remove a Virtual Instance for SAP solutions (VIS)
+```powershell
+Remove-AzWorkloadsSapVirtualInstance -Name X51 -ResourceGroupName X51Test
+```
+
+```output
+AdditionalInfo :
+Code :
+Detail :
+EndTime :
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/providers/Microsoft.Workloads/locations/EASTUS/operationStatuses/1433bd12-7bb0-403d-a11c-31194d7bd4
+ f2*619F4904A0186D89AC80F440FBACD91E1EBCEBE959C0A31F7160ABF29816CAF8
+Message :
+Name : 1433bd12-7bb0-403d-a11c-31194d7bd4f2*619F4904A0186D89AC80F440FBACD91E1EBCEBE959C0A31F7160ABF29816CAF8
+Operation :
+PercentComplete :
+ResourceGroupName :
+StartTime : 15-03-2023 14:50:32
+Status : Succeeded
+Target :
+```
+
+Remove-AzWorkloadsSapVirtualInstance cmdlet deletes the VIS, associated child instances (ASCS, Application Instance and Database Instance) and Managed Resource Group. This action doesnt delete the underlying physical Infrastructure resources such as Application resource group and underlying components such as Virtual Machines, Disks, etc. Its required that customer deletes physical resources themselves. Delete of a VIS is permanent action and cannot be reverted. In this example, you can see that VIS can be deleted by passing the VIS name and Resource Group as inputs.
+
+### Example 2: Remove a Virtual Instance for SAP solutions (VIS)
+```powershell
+Remove-AzWorkloadsSapVirtualInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/X51Test/providers/Microsoft.Workloads/sapVirtualInstances/X51
+```
+
+```output
+AdditionalInfo :
+Code :
+Detail :
+EndTime :
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/providers/Microsoft.Workloads/locations/EASTUS/operationStatuses/1433bd12-7bb0-403d-a11c-31194d7bd4
+ f2*619F4904A0186D89AC80F440FBACD91E1EBCEBE959C0A31F7160ABF29816CAF8
+Message :
+Name : 1433bd12-7bb0-403d-a11c-31194d7bd4f2*619F4904A0186D89AC80F440FBACD91E1EBCEBE959C0A31F7160ABF29816CAF8
+Operation :
+PercentComplete :
+ResourceGroupName :
+StartTime : 15-03-2023 14:50:32
+Status : Succeeded
+Target :
+```
+
+Remove-AzWorkloadsSapVirtualInstance cmdlet deletes the VIS, associated child instances (ASCS, Application Instance and Database Instance) and Managed Resource Group. This action doesnt delete the underlying physical Infrastructure resources such as Application resource group and underlying components such as Virtual Machines, Disks, etc. Its required that customer deletes physical resources themselves. Delete of a VIS is permanent action and cannot be reverted. In this example, you can see that VIS can be deleted by passing the Virtual Instance for SAP solutions (VIS) Azure resource ID as InputObject to the cmdlet.
+
diff --git a/src/Workloads/examples/Start-AzWorkloadsSapApplicationInstance.md b/src/Workloads/examples/Start-AzWorkloadsSapApplicationInstance.md
new file mode 100644
index 000000000000..8737b82b0867
--- /dev/null
+++ b/src/Workloads/examples/Start-AzWorkloadsSapApplicationInstance.md
@@ -0,0 +1,48 @@
+### Example 1: Start Application server instance of the SAP system
+```powershell
+Start-AzWorkloadsSapApplicationInstance -Name app0 -ResourceGroupName db0-vis-rg -SapVirtualInstanceName DB0
+```
+
+```output
+AdditionalInfo :
+Code :
+Detail :
+EndTime : 15-03-2023 08:21:31
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/providers/Microsoft.Workloads/locations/CENTRALUSEUAP/operationStatuses/58527855-a695-48a5-ac11-fbc
+ 74b836859*DF20ACAC495F17B1D0D9182C3A4C44BC6EDFF718387348FAE17F19BCB5DE687C
+Message :
+Name : 58527855-a695-48a5-ac11-fbc74b836859*DF20ACAC495F17B1D0D9182C3A4C44BC6EDFF718387348FAE17F19BCB5DE687C
+Operation :
+PercentComplete :
+ResourceGroupName :
+StartTime : 15-03-2023 08:18:22
+Status : Succeeded
+Target :
+```
+
+Start-AzWorkloadsSapApplicationInstance cmdlet starts the App server instance of the SAP system represented by the VIS. Currently, start action is supported for ABAP stack. In this example, you can see that instance can be started by passing the App server instance resource name, Resource Group name and VIS name as inputs.
+
+### Example 2: Start Application server instance of the SAP system
+```powershell
+Start-AzWorkloadsSapApplicationInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/db0-vis-rg/providers/Microsoft.Workloads/sapVirtualInstances/DB0/applicationInstances/app0
+```
+
+```output
+AdditionalInfo :
+Code :
+Detail :
+EndTime : 15-03-2023 09:11:00
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/providers/Microsoft.Workloads/locations/CENTRALUSEUAP/operationStatuses/651c6f1b-db7
+ b-46b2-ba9a-fb5ee67ec372*D9A8F8EF15D6E75CE64E8F442A39F1D7AF307793D262CE855530D335419055E3
+Message :
+Name : 651c6f1b-db7b-46b2-ba9a-fb5ee67ec372*D9A8F8EF15D6E75CE64E8F442A39F1D7AF307793D262CE855530D335419055E3
+Operation :
+PercentComplete :
+ResourceGroupName :
+StartTime : 15-03-2023 09:08:45
+Status : Succeeded
+Target :
+```
+
+Start-AzWorkloadsSapApplicationInstance cmdlet starts the App server instance of the SAP system represented by the VIS. Currently, start action is supported for ABAP stack. In this example, you can see that instance can be started by passing the App server instance Azure resource ID as InputObject to the cmdlet.
+
diff --git a/src/Workloads/examples/Start-AzWorkloadsSapCentralInstance.md b/src/Workloads/examples/Start-AzWorkloadsSapCentralInstance.md
new file mode 100644
index 000000000000..6489a0817f0f
--- /dev/null
+++ b/src/Workloads/examples/Start-AzWorkloadsSapCentralInstance.md
@@ -0,0 +1,48 @@
+### Example 1: Start Central services instance of the SAP system
+```powershell
+Start-AzWorkloadsSapCentralInstance -Name cs0 -ResourceGroupName db0-vis-rg -SapVirtualInstanceName DB0
+```
+
+```output
+AdditionalInfo :
+Code :
+Detail :
+EndTime : 15-03-2023 09:11:00
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/providers/Microsoft.Workloads/locations/CENTRALUSEUAP/operationStatuses/651c6f1b-db7
+ b-46b2-ba9a-fb5ee67ec372*D9A8F8EF15D6E75CE64E8F442A39F1D7AF307793D262CE855530D335419055E3
+Message :
+Name : 651c6f1b-db7b-46b2-ba9a-fb5ee67ec372*D9A8F8EF15D6E75CE64E8F442A39F1D7AF307793D262CE855530D335419055E3
+Operation :
+PercentComplete :
+ResourceGroupName :
+StartTime : 15-03-2023 09:08:45
+Status : Succeeded
+Target :
+```
+
+Start-AzWorkloadsSapCentralInstance cmdlet starts the Central services instance of the SAP system represented by the VIS. Currently, start action is supported for ABAP central services stack. In this example, you can see that instance can be started by passing the Central services instance resource name, Resource Group name and VIS name as inputs.
+
+### Example 2: Start Central services instance of the SAP system
+```powershell
+Start-AzWorkloadsSapCentralInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/db0-vis-rg/providers/Microsoft.Workloads/sapVirtualInstances/DB0/centralInstances/cs0
+```
+
+```output
+AdditionalInfo :
+Code :
+Detail :
+EndTime : 15-03-2023 09:11:00
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/providers/Microsoft.Workloads/locations/CENTRALUSEUAP/operationStatuses/651c6f1b-db7
+ b-46b2-ba9a-fb5ee67ec372*D9A8F8EF15D6E75CE64E8F442A39F1D7AF307793D262CE855530D335419055E3
+Message :
+Name : 651c6f1b-db7b-46b2-ba9a-fb5ee67ec372*D9A8F8EF15D6E75CE64E8F442A39F1D7AF307793D262CE855530D335419055E3
+Operation :
+PercentComplete :
+ResourceGroupName :
+StartTime : 15-03-2023 09:08:45
+Status : Succeeded
+Target :
+```
+
+Start-AzWorkloadsSapCentralInstance cmdlet starts the Central services instance of the SAP system represented by the VIS. Currently, start action is supported for ABAP central services stack. In this example, you can see that instance can be started by passing the Central services instance Azure resource ID as InputObject to the cmdlet.
+
diff --git a/src/Workloads/examples/Start-AzWorkloadsSapDatabaseInstance.md b/src/Workloads/examples/Start-AzWorkloadsSapDatabaseInstance.md
new file mode 100644
index 000000000000..1732a4e41554
--- /dev/null
+++ b/src/Workloads/examples/Start-AzWorkloadsSapDatabaseInstance.md
@@ -0,0 +1,48 @@
+### Example 1: Start Database instance of the SAP system
+```powershell
+Start-AzWorkloadsSapDatabaseInstance -Name db0 -ResourceGroupName db0-vis-rg -SapVirtualInstanceName DB0
+```
+
+```output
+AdditionalInfo :
+Code :
+Detail :
+EndTime : 15-03-2023 09:11:00
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/providers/Microsoft.Workloads/locations/CENTRALUSEUAP/operationStatuses/651c6f1b-db7
+ b-46b2-ba9a-fb5ee67ec372*D9A8F8EF15D6E75CE64E8F442A39F1D7AF307793D262CE855530D335419055E3
+Message :
+Name : 651c6f1b-db7b-46b2-ba9a-fb5ee67ec372*D9A8F8EF15D6E75CE64E8F442A39F1D7AF307793D262CE855530D335419055E3
+Operation :
+PercentComplete :
+ResourceGroupName :
+StartTime : 15-03-2023 09:08:45
+Status : Succeeded
+Target :
+```
+
+Start-AzWorkloadsSapDatabaseInstance cmdlet starts the Database instance of the SAP system represented by the VIS. Currently start action is supported for SAP HANA Database only. In this example, you can see that database can be started by passing the DB instance resource name, ResourceGroupName and VIS name as inputs.
+
+### Example 2: Start Database instance of the SAP system
+```powershell
+Start-AzWorkloadsSapDatabaseInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/db0-vis-rg/providers/Microsoft.Workloads/sapVirtualInstances/DB0/databaseInstances/db0
+```
+
+```output
+AdditionalInfo :
+Code :
+Detail :
+EndTime : 15-03-2023 09:11:00
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/providers/Microsoft.Workloads/locations/CENTRALUSEUAP/operationStatuses/651c6f1b-db7
+ b-46b2-ba9a-fb5ee67ec372*D9A8F8EF15D6E75CE64E8F442A39F1D7AF307793D262CE855530D335419055E3
+Message :
+Name : 651c6f1b-db7b-46b2-ba9a-fb5ee67ec372*D9A8F8EF15D6E75CE64E8F442A39F1D7AF307793D262CE855530D335419055E3
+Operation :
+PercentComplete :
+ResourceGroupName :
+StartTime : 15-03-2023 09:08:45
+Status : Succeeded
+Target :
+```
+
+Start-AzWorkloadsSapDatabaseInstance cmdlet starts the Database instance of the SAP system represented by the VIS. Currently start action is supported for SAP HANA Database only. In this example, you can see that database can be started by providing the DB instance Azure resource ID as InputObject to the cmdlet.
+
diff --git a/src/Workloads/examples/Start-AzWorkloadsSapVirtualInstance.md b/src/Workloads/examples/Start-AzWorkloadsSapVirtualInstance.md
new file mode 100644
index 000000000000..b2818943e145
--- /dev/null
+++ b/src/Workloads/examples/Start-AzWorkloadsSapVirtualInstance.md
@@ -0,0 +1,48 @@
+### Example 1: Start an SAP system
+```powershell
+Start-AzWorkloadsSapVirtualInstance -Name DB0 -ResourceGroupName db0-vis-rg
+```
+
+```output
+AdditionalInfo :
+Code :
+Detail :
+EndTime : 15-03-2023 09:11:00
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/providers/Microsoft.Workloads/locations/CENTRALUSEUAP/operationStatuses/651c6f1b-db7
+ b-46b2-ba9a-fb5ee67ec372*D9A8F8EF15D6E75CE64E8F442A39F1D7AF307793D262CE855530D335419055E3
+Message :
+Name : 651c6f1b-db7b-46b2-ba9a-fb5ee67ec372*D9A8F8EF15D6E75CE64E8F442A39F1D7AF307793D262CE855530D335419055E3
+Operation :
+PercentComplete :
+ResourceGroupName :
+StartTime : 15-03-2023 09:08:45
+Status : Succeeded
+Target :
+```
+
+Start-AzWorkloadsSapVirtualInstance cmdlet starts the SAP application tier, that is ASCS instance and App servers of the system. In this example, you can see that system can be started by passing the VIS name and ResourceGroupName of the VIS as inputs.
+
+### Example 2: Start an SAP system
+```powershell
+Start-AzWorkloadsSapVirtualInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/db0-vis-rg/providers/Microsoft.Workloads/sapVirtualInstances/DB0
+```
+
+```output
+AdditionalInfo :
+Code :
+Detail :
+EndTime : 15-03-2023 09:11:00
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/providers/Microsoft.Workloads/locations/CENTRALUSEUAP/operationStatuses/651c6f1b-db7
+ b-46b2-ba9a-fb5ee67ec372*D9A8F8EF15D6E75CE64E8F442A39F1D7AF307793D262CE855530D335419055E3
+Message :
+Name : 651c6f1b-db7b-46b2-ba9a-fb5ee67ec372*D9A8F8EF15D6E75CE64E8F442A39F1D7AF307793D262CE855530D335419055E3
+Operation :
+PercentComplete :
+ResourceGroupName :
+StartTime : 15-03-2023 09:08:45
+Status : Succeeded
+Target :
+```
+
+Start-AzWorkloadsSapVirtualInstance cmdlet starts the SAP application tier, that is ASCS instance and App servers of the system. In this example, you can see that system can be started by providing the VIS Azure resource ID as InputObject to the cmdlet.
+
diff --git a/src/Workloads/examples/Stop-AzWorkloadsSapApplicationInstance.md b/src/Workloads/examples/Stop-AzWorkloadsSapApplicationInstance.md
new file mode 100644
index 000000000000..780172ec0071
--- /dev/null
+++ b/src/Workloads/examples/Stop-AzWorkloadsSapApplicationInstance.md
@@ -0,0 +1,47 @@
+### Example 1: Stop Application server instance of the SAP system
+```powershell
+Stop-AzWorkloadsSapApplicationInstance -Name app0 -ResourceGroupName db0-vis-rg -SapVirtualInstanceName DB0
+```
+
+```output
+AdditionalInfo :
+Code :
+Detail :
+EndTime : 15-03-2023 08:45:40
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/providers/Microsoft.Workloads/locations/CENTRALUSEUAP/operationStatuses/881d4ff9-1d38-4596-b215-28e
+ 77dbfe176*DF20ACAC495F17B1D0D9182C3A4C44BC6EDFF718387348FAE17F19BCB5DE687C
+Message :
+Name : 881d4ff9-1d38-4596-b215-28e77dbfe176*DF20ACAC495F17B1D0D9182C3A4C44BC6EDFF718387348FAE17F19BCB5DE687C
+Operation :
+PercentComplete :
+ResourceGroupName :
+StartTime : 15-03-2023 08:43:32
+Status : Succeeded
+Target :
+```
+
+Stop-AzWorkloadsSapApplicationInstance cmdlet stops the App server instance of the SAP system represented by the VIS. Currently, stop action is supported for ABAP stack. In this example, you can see that instance can be stopped by passing the App server instance resource name, Resource Group name and VIS name as inputs.
+
+### Example 2: Stop Application server instance of the SAP system
+```powershell
+Stop-AzWorkloadsSapApplicationInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/db0-vis-rg/providers/Microsoft.Workloads/sapVirtualInstances/DB0/applicationInstances/app0
+```
+
+```output
+AdditionalInfo :
+Code :
+Detail :
+EndTime : 15-03-2023 08:45:40
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/providers/Microsoft.Workloads/locations/CENTRALUSEUAP/operationStatuses/881d4ff9-1d38-4596-b215-28e
+ 77dbfe176*DF20ACAC495F17B1D0D9182C3A4C44BC6EDFF718387348FAE17F19BCB5DE687C
+Message :
+Name : 881d4ff9-1d38-4596-b215-28e77dbfe176*DF20ACAC495F17B1D0D9182C3A4C44BC6EDFF718387348FAE17F19BCB5DE687C
+Operation :
+PercentComplete :
+ResourceGroupName :
+StartTime : 15-03-2023 08:43:32
+Status : Succeeded
+Target :
+```
+
+Stop-AzWorkloadsSapApplicationInstance cmdlet stops the App server instance of the SAP system represented by the VIS. Currently, stop action is supported for ABAP stack. In this example, you can see that instance can be stopped by passing the App server instance Azure resource ID as InputObject to the cmdlet.
diff --git a/src/Workloads/examples/Stop-AzWorkloadsSapCentralInstance.md b/src/Workloads/examples/Stop-AzWorkloadsSapCentralInstance.md
new file mode 100644
index 000000000000..29c8eeed0893
--- /dev/null
+++ b/src/Workloads/examples/Stop-AzWorkloadsSapCentralInstance.md
@@ -0,0 +1,48 @@
+### Example 1: Stop Central services instance of the SAP system
+```powershell
+Stop-AzWorkloadsSapCentralInstance -Name cs0 -ResourceGroupName db0-vis-rg -SapVirtualInstanceName DB0
+```
+
+```output
+AdditionalInfo :
+Code :
+Detail :
+EndTime : 15-03-2023 08:45:40
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/providers/Microsoft.Workloads/locations/CENTRALUSEUAP/operationStatuses/881d4ff9-1d38-4596-b215-28e
+ 77dbfe176*DF20ACAC495F17B1D0D9182C3A4C44BC6EDFF718387348FAE17F19BCB5DE687C
+Message :
+Name : 881d4ff9-1d38-4596-b215-28e77dbfe176*DF20ACAC495F17B1D0D9182C3A4C44BC6EDFF718387348FAE17F19BCB5DE687C
+Operation :
+PercentComplete :
+ResourceGroupName :
+StartTime : 15-03-2023 08:43:32
+Status : Succeeded
+Target :
+```
+
+Stop-AzWorkloadsSapCentralInstance cmdlet stops the Central services instance of the SAP system represented by the VIS. Currently, stop action is supported for ABAP central services stack. In this example, you can see that instance can be stopped by passing the Central services instance resource name, Resource Group name and VIS name as inputs.
+
+### Example 2: Stop Central services instance of the SAP system
+```powershell
+Stop-AzWorkloadsSapCentralInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/db0-vis-rg/providers/Microsoft.Workloads/sapVirtualInstances/DB0/centralInstances/cs0
+```
+
+```output
+AdditionalInfo :
+Code :
+Detail :
+EndTime : 15-03-2023 08:45:40
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/providers/Microsoft.Workloads/locations/CENTRALUSEUAP/operationStatuses/881d4ff9-1d38-4596-b215-28e
+ 77dbfe176*DF20ACAC495F17B1D0D9182C3A4C44BC6EDFF718387348FAE17F19BCB5DE687C
+Message :
+Name : 881d4ff9-1d38-4596-b215-28e77dbfe176*DF20ACAC495F17B1D0D9182C3A4C44BC6EDFF718387348FAE17F19BCB5DE687C
+Operation :
+PercentComplete :
+ResourceGroupName :
+StartTime : 15-03-2023 08:43:32
+Status : Succeeded
+Target :
+```
+
+Stop-AzWorkloadsSapCentralInstance cmdlet stops the Central services instance of the SAP system represented by the VIS. Currently, stop action is supported for ABAP central services stack. In this example, you can see that instance can be stopped by passing the Central services instance Azure resource ID as InputObject to the cmdlet.
+
diff --git a/src/Workloads/examples/Stop-AzWorkloadsSapDatabaseInstance.md b/src/Workloads/examples/Stop-AzWorkloadsSapDatabaseInstance.md
new file mode 100644
index 000000000000..5d5ca1bc9efc
--- /dev/null
+++ b/src/Workloads/examples/Stop-AzWorkloadsSapDatabaseInstance.md
@@ -0,0 +1,47 @@
+### Example 1: Stop Database instance of the SAP system
+```powershell
+Stop-AzWorkloadsSapDatabaseInstance -Name db0 -ResourceGroupName db0-vis-rg -SapVirtualInstanceName DB0
+```
+
+```output
+AdditionalInfo :
+Code :
+Detail :
+EndTime : 15-03-2023 08:45:40
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/providers/Microsoft.Workloads/locations/CENTRALUSEUAP/operationStatuses/881d4ff9-1d38-4596-b215-28e
+ 77dbfe176*DF20ACAC495F17B1D0D9182C3A4C44BC6EDFF718387348FAE17F19BCB5DE687C
+Message :
+Name : 881d4ff9-1d38-4596-b215-28e77dbfe176*DF20ACAC495F17B1D0D9182C3A4C44BC6EDFF718387348FAE17F19BCB5DE687C
+Operation :
+PercentComplete :
+ResourceGroupName :
+StartTime : 15-03-2023 08:43:32
+Status : Succeeded
+Target :
+```
+
+Stop-AzWorkloadsSapDatabaseInstance cmdlet stops the Database instance of the SAP system represented by the VIS. Currently stop action is supported for SAP HANA Database only. In this example, you can see that database can be stopped by passing the DB instance resource name, ResourceGroupName and VIS name as inputs.
+
+### Example 2: Stop Database instance of the SAP system
+```powershell
+Stop-AzWorkloadsSapDatabaseInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/db0-vis-rg/providers/Microsoft.Workloads/sapVirtualInstances/DB0/databaseInstances/db0
+```
+
+```output
+AdditionalInfo :
+Code :
+Detail :
+EndTime : 15-03-2023 08:45:40
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/providers/Microsoft.Workloads/locations/CENTRALUSEUAP/operationStatuses/881d4ff9-1d38-4596-b215-28e
+ 77dbfe176*DF20ACAC495F17B1D0D9182C3A4C44BC6EDFF718387348FAE17F19BCB5DE687C
+Message :
+Name : 881d4ff9-1d38-4596-b215-28e77dbfe176*DF20ACAC495F17B1D0D9182C3A4C44BC6EDFF718387348FAE17F19BCB5DE687C
+Operation :
+PercentComplete :
+ResourceGroupName :
+StartTime : 15-03-2023 08:43:32
+Status : Succeeded
+Target :
+```
+
+Stop-AzWorkloadsSapDatabaseInstance cmdlet stops the Database instance of the SAP system represented by the VIS. Currently stop action is supported for SAP HANA Database only. In this example, you can see that database can be stopped by providing the DB instance Azure resource ID as InputObject to the cmdlet.
\ No newline at end of file
diff --git a/src/Workloads/examples/Stop-AzWorkloadsSapVirtualInstance.md b/src/Workloads/examples/Stop-AzWorkloadsSapVirtualInstance.md
new file mode 100644
index 000000000000..bacafcc1a624
--- /dev/null
+++ b/src/Workloads/examples/Stop-AzWorkloadsSapVirtualInstance.md
@@ -0,0 +1,47 @@
+### Example 1: Stop an SAP system
+```powershell
+Stop-AzWorkloadsSapVirtualInstance -Name DB0 -ResourceGroupName db0-vis-rg
+```
+
+```output
+AdditionalInfo :
+Code :
+Detail :
+EndTime : 15-03-2023 09:04:37
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/providers/Microsoft.Workloads/locations/CENTRALUSEUAP/operationStatuses/7ff215e4-afb
+ 8-41fa-b281-0111da9a0cce*D9A8F8EF15D6E75CE64E8F442A39F1D7AF307793D262CE855530D335419055E3
+Message :
+Name : 7ff215e4-afb8-41fa-b281-0111da9a0cce*D9A8F8EF15D6E75CE64E8F442A39F1D7AF307793D262CE855530D335419055E3
+Operation :
+PercentComplete :
+ResourceGroupName :
+StartTime : 15-03-2023 09:01:24
+Status : Succeeded
+Target :
+```
+
+Stop-AzWorkloadsSapVirtualInstance cmdlet stops the SAP application tier, that is App servers and ASCS instances of the system. In this example, you can see that system can be stopped by passing the VIS name and ResourceGroupName of the VIS as inputs.
+
+### Example 2: Stop an SAP system
+```powershell
+Stop-AzWorkloadsSapVirtualInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/db0-vis-rg/providers/Microsoft.Workloads/sapVirtualInstances/DB0
+```
+
+```output
+AdditionalInfo :
+Code :
+Detail :
+EndTime : 15-03-2023 09:04:37
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/providers/Microsoft.Workloads/locations/CENTRALUSEUAP/operationStatuses/7ff215e4-afb
+ 8-41fa-b281-0111da9a0cce*D9A8F8EF15D6E75CE64E8F442A39F1D7AF307793D262CE855530D335419055E3
+Message :
+Name : 7ff215e4-afb8-41fa-b281-0111da9a0cce*D9A8F8EF15D6E75CE64E8F442A39F1D7AF307793D262CE855530D335419055E3
+Operation :
+PercentComplete :
+ResourceGroupName :
+StartTime : 15-03-2023 09:01:24
+Status : Succeeded
+Target :
+```
+
+Stop-AzWorkloadsSapVirtualInstance cmdlet stops the SAP application tier, that is App servers and ASCS instances of the system. In this example, you can see that system can be stopped by providing the VIS Azure resource ID as InputObject to the cmdlet.
diff --git a/src/Workloads/examples/Update-AzWorkloadsMonitor.md b/src/Workloads/examples/Update-AzWorkloadsMonitor.md
new file mode 100644
index 000000000000..738e812bdacc
--- /dev/null
+++ b/src/Workloads/examples/Update-AzWorkloadsMonitor.md
@@ -0,0 +1,27 @@
+### Example 1: Update AMS Monitor Instance
+```powershell
+Update-AzWorkloadsMonitor -MonitorName suha-160323-ams7 -ResourceGroupName suha-0802-rg1 -SubscriptionId 49d64d54-e966-4c46-a868-1999802b762c -Tag @{name="tagValue"}
+```
+
+```output
+Name ResourceGroupName ManagedResourceGroupConfigurationName Location ProvisioningState
+---- ----------------- ------------------------------------- -------- -----------------
+suha-160323-ams7 suha-0802-rg1 mrg-16037 eastus2euap Succeeded
+```
+
+Update AMS Monitor Instance
+
+### Example 2: Update AMS Monitor Instance by Id
+```powershell
+Update-AzWorkloadsMonitor -InputObject "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/suha-0802-rg1/providers/Microsoft.Workloads/monitors/suha-160323-ams7" -Tag @{name="tagValue"}
+```
+
+```output
+
+Name ResourceGroupName ManagedResourceGroupConfigurationName Location ProvisioningState
+---- ----------------- ------------------------------------- -------- -----------------
+suha-160323-ams7 suha-0802-rg1 mrg-16037 eastus2euap Succeeded
+```
+
+Update AMS Monitor Instance by Arm Id
+
diff --git a/src/Workloads/examples/Update-AzWorkloadsSapApplicationInstance.md b/src/Workloads/examples/Update-AzWorkloadsSapApplicationInstance.md
new file mode 100644
index 000000000000..eea9e4ecb180
--- /dev/null
+++ b/src/Workloads/examples/Update-AzWorkloadsSapApplicationInstance.md
@@ -0,0 +1,26 @@
+### Example 1: Add tags for an existing app server instance resource
+```powershell
+Update-AzWorkloadsSapApplicationInstance -Name app0 -ResourceGroupName db0-vis-rg -SapVirtualInstanceName DB0 -Tag @{ Test = "PS"; k2 = "v2"}
+```
+
+```output
+Name ResourceGroupName Health ProvisioningState Status Hostname Location
+---- ----------------- ------ ----------------- ------ -------- --------
+app0 db0-vis-rg Healthy Succeeded Running db0vm centraluseuap
+```
+
+This cmdlet adds new tag name, value pairs to the existing app server instance resource app0. VIS name and Resource group name are the other input parameters.
+
+### Example 2: Add tags for an existing app server instance resource
+```powershell
+Update-AzWorkloadsSapApplicationInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/db0-vis-rg/providers/Microsoft.Workloads/sapVirtualInstances/DB0/applicationInstances/app0 -Tag @{ Test = "PS"; k2 = "v2"}
+```
+
+```output
+Name ResourceGroupName Health ProvisioningState Status Hostname Location
+---- ----------------- ------ ----------------- ------ -------- --------
+app0 db0-vis-rg Healthy Succeeded Running db0vm centraluseuap
+```
+
+This cmdlet adds new tag name, value pairs to the existing app server instance resource app0. Here app instance Azure resource ID is used as the input parameter.
+
diff --git a/src/Workloads/examples/Update-AzWorkloadsSapCentralInstance.md b/src/Workloads/examples/Update-AzWorkloadsSapCentralInstance.md
new file mode 100644
index 000000000000..c4e627f88c74
--- /dev/null
+++ b/src/Workloads/examples/Update-AzWorkloadsSapCentralInstance.md
@@ -0,0 +1,26 @@
+### Example 1: Add tags for an existing Central services instance resource
+```powershell
+Update-AzWorkloadsSapCentralInstance -Name cs0 -ResourceGroupName db0-vis-rg -SapVirtualInstanceName DB0 -Tag @{ Test = "PS"; k2 = "v2"}
+```
+
+```output
+Name ResourceGroupName Health EnqueueServerPropertyHostname ProvisioningState Status Location
+---- ----------------- ------ ----------------------------- ----------------- ------ --------
+cs0 db0-vis-rg Healthy db0vm Succeeded Running centraluseuap
+```
+
+This cmdlet adds new tag name, value pairs to the existing Central services instance resource cs0. VIS name and Resource group name are the other input parameters.
+
+### Example 2: Add tags for an existing Central services instance resource
+```powershell
+Update-AzWorkloadsSapCentralInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/db0-vis-rg/providers/Microsoft.Workloads/sapVirtualInstances/DB0/centralInstances/cs0 -Tag @{ Test = "PS"; k2 = "v2"}
+```
+
+```output
+Name ResourceGroupName Health EnqueueServerPropertyHostname ProvisioningState Status Location
+---- ----------------- ------ ----------------------------- ----------------- ------ --------
+cs0 db0-vis-rg Healthy db0vm Succeeded Running centraluseuap
+```
+
+This cmdlet adds new tag name, value pairs to the existing Central services instance resource cs0. Here Central services instance Azure resource ID is used as the input parameter.
+
diff --git a/src/Workloads/examples/Update-AzWorkloadsSapDatabaseInstance.md b/src/Workloads/examples/Update-AzWorkloadsSapDatabaseInstance.md
new file mode 100644
index 000000000000..73d2150095e8
--- /dev/null
+++ b/src/Workloads/examples/Update-AzWorkloadsSapDatabaseInstance.md
@@ -0,0 +1,26 @@
+### Example 1: Add tags for an existing Database instance resource
+```powershell
+Update-AzWorkloadsSapDatabaseInstance -Name db0 -ResourceGroupName db0-vis-rg -SapVirtualInstanceName DB0 -Tag @{ Test = "PS"; k2 = "v2"}
+```
+
+```output
+Name ResourceGroupName ProvisioningState Location Status IPAddress DatabaseSid
+---- ----------------- ----------------- -------- ------ --------- -----------
+db0 db0-vis-rg Succeeded centraluseuap Running 172.31.5.4 MB0
+```
+
+This cmdlet adds new tag name, value pairs to the existing Database instance resource db0. VIS name and Resource group name are the other input parameters.
+
+### Example 2: Add tags for an existing Database instance resource
+```powershell
+Update-AzWorkloadsSapDatabaseInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/db0-vis-rg/providers/Microsoft.Workloads/sapVirtualInstances/DB0/databaseInstances/db0 -Tag @{ Test = "PS"; k2 = "v2"}
+```
+
+```output
+Name ResourceGroupName ProvisioningState Location Status IPAddress DatabaseSid
+---- ----------------- ----------------- -------- ------ --------- -----------
+db0 db0-vis-rg Succeeded centraluseuap Running 172.31.5.4 MB0
+```
+
+This cmdlet adds new tag name, value pairs to the existing Database instance resource db0. Here Database instance Azure resource ID is used as the input parameter.
+
diff --git a/src/Workloads/examples/Update-AzWorkloadsSapLandscapeMonitor.md b/src/Workloads/examples/Update-AzWorkloadsSapLandscapeMonitor.md
new file mode 100644
index 000000000000..77f4803a7f1a
--- /dev/null
+++ b/src/Workloads/examples/Update-AzWorkloadsSapLandscapeMonitor.md
@@ -0,0 +1,43 @@
+### Example 1: Update SAP Landscape Monitor
+```powershell
+New-AzWorkloadsSapLandscapeMonitor -MonitorName suha-0202-ams9 -ResourceGroupName suha-0802-rg1 -SubscriptionId 49d64d54-e966-4c46-a868-1999802b762c -GroupingLandscape '{"name":"Prod","topSid":["SID1","SID2"]}' -GroupingSapApplication '{"name":"ERP1","topSid":["SID1","SID2"]}' -TopMetricsThreshold '{"name":"Instance Availability","green":90,"yellow":75,"red":50}'
+```
+
+```output
+GroupingLandscape : {{
+ "name": "Prod",
+ "topSid": [ "SID1", "SID2" ]
+ }}
+GroupingSapApplication : {{
+ "name": "ERP1",
+ "topSid": [ "SID1", "SID2" ]
+ }}
+Id : /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/suha-0802-rg1/providers/Microsoft.
+ Workloads/monitors/suha-0202-ams9/sapLandscapeMonitor/default
+Name : default
+ProvisioningState : Succeeded
+ResourceGroupName : suha-0802-rg1
+SystemData : {
+ "createdBy": "",
+ "createdByType": "User",
+ "createdAt": "2023-04-06T05:30:54.9427030Z",
+ "lastModifiedBy": "",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-04-06T05:31:18.7873209Z"
+ }
+SystemDataCreatedAt : 06-04-2023 05:30:54
+SystemDataCreatedBy :
+SystemDataCreatedByType : User
+SystemDataLastModifiedAt : 06-04-2023 05:31:18
+SystemDataLastModifiedBy :
+SystemDataLastModifiedByType : User
+TopMetricsThreshold : {{
+ "name": "Instance Availability",
+ "green": 90,
+ "yellow": 75,
+ "red": 50
+ }}
+Type : microsoft.workloads/monitors/saplandscapemonitor
+```
+
+Update the SAP landscape monitor for an AMS instance
diff --git a/src/Workloads/examples/Update-AzWorkloadsSapVirtualInstance.md b/src/Workloads/examples/Update-AzWorkloadsSapVirtualInstance.md
new file mode 100644
index 000000000000..89caaa0e8a04
--- /dev/null
+++ b/src/Workloads/examples/Update-AzWorkloadsSapVirtualInstance.md
@@ -0,0 +1,26 @@
+### Example 1: Add tags for an existing VIS resource
+```powershell
+Update-AzWorkloadsSapVirtualInstance -Name DB0 -ResourceGroupName db0-vis-rg -Tag @{ Test = "PS"; k2 = "v2"}
+```
+
+```output
+Name ResourceGroupName Health Environment ProvisioningState SapProduct State Status Location
+---- ----------------- ------ ----------- ----------------- ---------- ----- ------ --------
+DB0 db0-vis-rg Healthy NonProd Succeeded S4HANA RegistrationComplete Running centraluseuap
+```
+
+This cmdlet adds new tag name, value pairs to the existing VIS resource DB0. VIS name and Resource group name are the other input parameters.
+
+### Example 2: Add tags for an existing VIS resource
+```powershell
+Update-AzWorkloadsSapVirtualInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/db0-vis-rg/providers/Microsoft.Workloads/sapVirtualInstances/DB0 -Tag @{ Test = "PS"; k2 = "v2"}
+```
+
+```output
+Name ResourceGroupName Health Environment ProvisioningState SapProduct State Status Location
+---- ----------------- ------ ----------- ----------------- ---------- ----- ------ --------
+DB0 db0-vis-rg Healthy NonProd Succeeded S4HANA RegistrationComplete Running centraluseuap
+```
+
+This cmdlet adds new tag name, value pairs to the existing VIS resource DB0. Here VIS Azure resource ID is used as the input parameter.
+
diff --git a/src/Workloads/export-surface.ps1 b/src/Workloads/export-surface.ps1
new file mode 100644
index 000000000000..9269793aa082
--- /dev/null
+++ b/src/Workloads/export-surface.ps1
@@ -0,0 +1,41 @@
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+param([switch]$Isolated, [switch]$IncludeGeneralParameters, [switch]$UseExpandedFormat)
+$ErrorActionPreference = 'Stop'
+
+$pwsh = [System.Diagnostics.Process]::GetCurrentProcess().Path
+if(-not $Isolated) {
+ Write-Host -ForegroundColor Green 'Creating isolated process...'
+ & "$pwsh" -NonInteractive -NoLogo -NoProfile -File $MyInvocation.MyCommand.Path @PSBoundParameters -Isolated
+ return
+}
+
+$dll = Join-Path $PSScriptRoot 'bin\Az.Workloads.private.dll'
+if(-not (Test-Path $dll)) {
+ Write-Error "Unable to find output assembly in '$binFolder'."
+}
+$null = Import-Module -Name $dll
+
+$moduleName = 'Az.Workloads'
+$exportsFolder = Join-Path $PSScriptRoot 'exports'
+$resourcesFolder = Join-Path $PSScriptRoot 'resources'
+
+Export-CmdletSurface -ModuleName $moduleName -CmdletFolder $exportsFolder -OutputFolder $resourcesFolder -IncludeGeneralParameters $IncludeGeneralParameters.IsPresent -UseExpandedFormat $UseExpandedFormat.IsPresent
+Write-Host -ForegroundColor Green "CmdletSurface file(s) created in '$resourcesFolder'"
+
+Export-ModelSurface -OutputFolder $resourcesFolder -UseExpandedFormat $UseExpandedFormat.IsPresent
+Write-Host -ForegroundColor Green "ModelSurface file created in '$resourcesFolder'"
+
+Write-Host -ForegroundColor Green '-------------Done-------------'
\ No newline at end of file
diff --git a/src/Workloads/exports/Get-AzWorkloadsMonitor.ps1 b/src/Workloads/exports/Get-AzWorkloadsMonitor.ps1
new file mode 100644
index 000000000000..d199b900cd2b
--- /dev/null
+++ b/src/Workloads/exports/Get-AzWorkloadsMonitor.ps1
@@ -0,0 +1,216 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Gets properties of a SAP monitor for the specified subscription, resource group, and resource name.
+.Description
+Gets properties of a SAP monitor for the specified subscription, resource group, and resource name.
+.Example
+Get-AzWorkloadsMonitor
+.Example
+Get-AzWorkloadsMonitor -ResourceGroupName ad-ams-rg
+.Example
+Get-AzWorkloadsMonitor -ResourceGroupName ad-ams-rg -Name ad-ams
+.Example
+ Get-AzWorkloadsMonitor -InputObject '/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/suha-0802-rg1/providers/Microsoft.Workloads/monitors/suha-1606-ams2'
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.IMonitor
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/get-azworkloadsmonitor
+#>
+function Get-AzWorkloadsMonitor {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.IMonitor])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Alias('MonitorName')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # Name of the SAP monitor resource.
+ ${Name},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List1', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Parameter(ParameterSetName='List1')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.Workloads.private\Get-AzWorkloadsMonitor_Get';
+ GetViaIdentity = 'Az.Workloads.private\Get-AzWorkloadsMonitor_GetViaIdentity';
+ List = 'Az.Workloads.private\Get-AzWorkloadsMonitor_List';
+ List1 = 'Az.Workloads.private\Get-AzWorkloadsMonitor_List1';
+ }
+ if (('Get', 'List', 'List1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/Get-AzWorkloadsProviderInstance.ps1 b/src/Workloads/exports/Get-AzWorkloadsProviderInstance.ps1
new file mode 100644
index 000000000000..70b2c84c6169
--- /dev/null
+++ b/src/Workloads/exports/Get-AzWorkloadsProviderInstance.ps1
@@ -0,0 +1,219 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Gets properties of a provider instance for the specified subscription, resource group, SAP monitor name, and resource name.
+.Description
+Gets properties of a provider instance for the specified subscription, resource group, SAP monitor name, and resource name.
+.Example
+Get-AzWorkloadsProviderInstance -ResourceGroupName ad-ams-rg -MonitorName ad-ams
+.Example
+Get-AzWorkloadsProviderInstance -ResourceGroupName ad-ams-rg -MonitorName ad-ams -Name hana-test-2
+.Example
+Get-AzWorkloadsProviderInstance -InputObject "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/suha-0802-rg1/providers/Microsoft.Workloads/monitors/ams_mon/providerInstances/suha-db2-1"
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.IProviderInstance
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/get-azworkloadsproviderinstance
+#>
+function Get-AzWorkloadsProviderInstance {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.IProviderInstance])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # Name of the SAP monitor resource.
+ ${MonitorName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Alias('ProviderInstanceName')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # Name of the provider instance.
+ ${Name},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.Workloads.private\Get-AzWorkloadsProviderInstance_Get';
+ GetViaIdentity = 'Az.Workloads.private\Get-AzWorkloadsProviderInstance_GetViaIdentity';
+ List = 'Az.Workloads.private\Get-AzWorkloadsProviderInstance_List';
+ }
+ if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/Get-AzWorkloadsSapApplicationInstance.ps1 b/src/Workloads/exports/Get-AzWorkloadsSapApplicationInstance.ps1
new file mode 100644
index 000000000000..d3ab44d17088
--- /dev/null
+++ b/src/Workloads/exports/Get-AzWorkloadsSapApplicationInstance.ps1
@@ -0,0 +1,218 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Gets the SAP Application Server Instance corresponding to the Virtual Instance for SAP solutions resource.
+.Description
+Gets the SAP Application Server Instance corresponding to the Virtual Instance for SAP solutions resource.
+.Example
+Get-AzWorkloadsSapApplicationInstance -ResourceGroupName DemoRGVIS -SapVirtualInstanceName DRT
+.Example
+Get-AzWorkloadsSapApplicationInstance -ResourceGroupName DemoRGVIS -SapVirtualInstanceName DRT -Name app0
+.Example
+Get-AzWorkloadsSapApplicationInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/DemoRGVIS/providers/Microsoft.Workloads/sapVirtualInstances/DRT/applicationInstances/app0
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapApplicationServerInstance
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/get-azworkloadssapapplicationinstance
+#>
+function Get-AzWorkloadsSapApplicationInstance {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapApplicationServerInstance])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of SAP Application Server instance resource.
+ ${Name},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the Virtual Instances for SAP solutions resource
+ ${SapVirtualInstanceName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.Workloads.private\Get-AzWorkloadsSapApplicationInstance_Get';
+ GetViaIdentity = 'Az.Workloads.private\Get-AzWorkloadsSapApplicationInstance_GetViaIdentity';
+ List = 'Az.Workloads.private\Get-AzWorkloadsSapApplicationInstance_List';
+ }
+ if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/Get-AzWorkloadsSapCentralInstance.ps1 b/src/Workloads/exports/Get-AzWorkloadsSapCentralInstance.ps1
new file mode 100644
index 000000000000..3057762d2eaa
--- /dev/null
+++ b/src/Workloads/exports/Get-AzWorkloadsSapCentralInstance.ps1
@@ -0,0 +1,216 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Gets the SAP Central Services Instance resource.
+.Description
+Gets the SAP Central Services Instance resource.
+.Example
+ Get-AzWorkloadsSapCentralInstance -ResourceGroupName DemoRGVIS -SapVirtualInstanceName DRT
+.Example
+Get-AzWorkloadsSapCentralInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/DemoRGVIS/providers/Microsoft.Workloads/sapVirtualInstances/DRT/centralInstances/cs0
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapCentralServerInstance
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/get-azworkloadssapcentralinstance
+#>
+function Get-AzWorkloadsSapCentralInstance {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapCentralServerInstance])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ ${Name},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the Virtual Instances for SAP solutions resource
+ ${SapVirtualInstanceName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.Workloads.private\Get-AzWorkloadsSapCentralInstance_Get';
+ GetViaIdentity = 'Az.Workloads.private\Get-AzWorkloadsSapCentralInstance_GetViaIdentity';
+ List = 'Az.Workloads.private\Get-AzWorkloadsSapCentralInstance_List';
+ }
+ if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/Get-AzWorkloadsSapDatabaseInstance.ps1 b/src/Workloads/exports/Get-AzWorkloadsSapDatabaseInstance.ps1
new file mode 100644
index 000000000000..0565c783e447
--- /dev/null
+++ b/src/Workloads/exports/Get-AzWorkloadsSapDatabaseInstance.ps1
@@ -0,0 +1,216 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Gets the SAP Database Instance resource.
+.Description
+Gets the SAP Database Instance resource.
+.Example
+Get-AzWorkloadsSapDatabaseInstance -ResourceGroupName DemoRGVIS -SapVirtualInstanceName DRT
+.Example
+Get-AzWorkloadsSapDatabaseInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/DemoRGVIS/providers/Microsoft.Workloads/sapVirtualInstances/DRT/databaseInstances/db0
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapDatabaseInstance
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/get-azworkloadssapdatabaseinstance
+#>
+function Get-AzWorkloadsSapDatabaseInstance {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapDatabaseInstance])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # Database resource name string modeled as parameter for auto generation to work correctly.
+ ${Name},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the Virtual Instances for SAP solutions resource
+ ${SapVirtualInstanceName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.Workloads.private\Get-AzWorkloadsSapDatabaseInstance_Get';
+ GetViaIdentity = 'Az.Workloads.private\Get-AzWorkloadsSapDatabaseInstance_GetViaIdentity';
+ List = 'Az.Workloads.private\Get-AzWorkloadsSapDatabaseInstance_List';
+ }
+ if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/Get-AzWorkloadsSapLandscapeMonitor.ps1 b/src/Workloads/exports/Get-AzWorkloadsSapLandscapeMonitor.ps1
new file mode 100644
index 000000000000..b0dbc07f65d5
--- /dev/null
+++ b/src/Workloads/exports/Get-AzWorkloadsSapLandscapeMonitor.ps1
@@ -0,0 +1,206 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Gets configuration values for Single Pane Of Glass for SAP monitor for the specified subscription, resource group, and resource name.
+.Description
+Gets configuration values for Single Pane Of Glass for SAP monitor for the specified subscription, resource group, and resource name.
+.Example
+Get-AzWorkloadsSapLandscapeMonitor -MonitorName suha-0202-ams9 -ResourceGroupName suha-0802-rg1 -SubscriptionId 49d64d54-e966-4c46-a868-1999802b762c
+.Example
+Get-AzWorkloadsSapLandscapeMonitor -InputObject "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/suha-0/providers/Microsoft.Workloads/monitors/suha-0202-ams9/sapLandscapeMonitor/default"
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapLandscapeMonitor
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/get-azworkloadssaplandscapemonitor
+#>
+function Get-AzWorkloadsSapLandscapeMonitor {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapLandscapeMonitor])]
+[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # Name of the SAP monitor resource.
+ ${MonitorName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.Workloads.private\Get-AzWorkloadsSapLandscapeMonitor_Get';
+ GetViaIdentity = 'Az.Workloads.private\Get-AzWorkloadsSapLandscapeMonitor_GetViaIdentity';
+ }
+ if (('Get') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/Get-AzWorkloadsSapVirtualInstance.ps1 b/src/Workloads/exports/Get-AzWorkloadsSapVirtualInstance.ps1
new file mode 100644
index 000000000000..e37acab53adb
--- /dev/null
+++ b/src/Workloads/exports/Get-AzWorkloadsSapVirtualInstance.ps1
@@ -0,0 +1,214 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Gets a Virtual Instance for SAP solutions resource
+.Description
+Gets a Virtual Instance for SAP solutions resource
+.Example
+Get-AzWorkloadsSapVirtualInstance
+.Example
+Get-AzWorkloadsSapVirtualInstance -ResourceGroupName DemoRGVIS -Name DRT
+.Example
+Get-AzWorkloadsSapVirtualInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/DemoRGVIS/providers/Microsoft.Workloads/sapVirtualInstances/DRT
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapVirtualInstance
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/get-azworkloadssapvirtualinstance
+#>
+function Get-AzWorkloadsSapVirtualInstance {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapVirtualInstance])]
+[CmdletBinding(DefaultParameterSetName='List1', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Alias('SapVirtualInstanceName')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the Virtual Instances for SAP solutions resource
+ ${Name},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Parameter(ParameterSetName='List1')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.Workloads.private\Get-AzWorkloadsSapVirtualInstance_Get';
+ GetViaIdentity = 'Az.Workloads.private\Get-AzWorkloadsSapVirtualInstance_GetViaIdentity';
+ List = 'Az.Workloads.private\Get-AzWorkloadsSapVirtualInstance_List';
+ List1 = 'Az.Workloads.private\Get-AzWorkloadsSapVirtualInstance_List1';
+ }
+ if (('Get', 'List', 'List1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/Invoke-AzWorkloadsSapDiskConfiguration.ps1 b/src/Workloads/exports/Invoke-AzWorkloadsSapDiskConfiguration.ps1
new file mode 100644
index 000000000000..fd906b256b00
--- /dev/null
+++ b/src/Workloads/exports/Invoke-AzWorkloadsSapDiskConfiguration.ps1
@@ -0,0 +1,239 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Get the SAP Disk Configuration Layout prod/non-prod SAP System.
+.Description
+Get the SAP Disk Configuration Layout prod/non-prod SAP System.
+.Example
+Invoke-AzWorkloadsSapDiskConfiguration -Location eastus -AppLocation eastus -DatabaseType HANA -DbVMSku Standard_M32ts -DeploymentType SingleServer -Environment NonProd -SapProduct S4HANA
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapDiskConfigurationsResultVolumeConfigurations
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/invoke-azworkloadssapdiskconfiguration
+#>
+function Invoke-AzWorkloadsSapDiskConfiguration {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapDiskConfigurationsResultVolumeConfigurations])]
+[CmdletBinding(DefaultParameterSetName='SapExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(ParameterSetName='SapExpanded', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of Azure region.
+ ${Location},
+
+ [Parameter(ParameterSetName='SapExpanded')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='SapViaIdentityExpanded', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # The geo-location where the SAP resources will be created.
+ ${AppLocation},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDatabaseType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDatabaseType]
+ # The database type.
+ # Eg: HANA, DB2, etc
+ ${DatabaseType},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # The VM SKU for database instance.
+ ${DbVMSku},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDeploymentType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDeploymentType]
+ # The deployment type.
+ # Eg: SingleServer/ThreeTier
+ ${DeploymentType},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapEnvironmentType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapEnvironmentType]
+ # Defines the environment type - Production/Non Production.
+ ${Environment},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapProductType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapProductType]
+ # Defines the SAP Product type.
+ ${SapProduct},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ SapExpanded = 'Az.Workloads.private\Invoke-AzWorkloadsSapDiskConfiguration_SapExpanded';
+ SapViaIdentityExpanded = 'Az.Workloads.private\Invoke-AzWorkloadsSapDiskConfiguration_SapViaIdentityExpanded';
+ }
+ if (('SapExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/Invoke-AzWorkloadsSapSizingRecommendation.ps1 b/src/Workloads/exports/Invoke-AzWorkloadsSapSizingRecommendation.ps1
new file mode 100644
index 000000000000..43859b76e501
--- /dev/null
+++ b/src/Workloads/exports/Invoke-AzWorkloadsSapSizingRecommendation.ps1
@@ -0,0 +1,258 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Get SAP sizing recommendations by providing input SAPS for application tier and memory required for database tier
+.Description
+Get SAP sizing recommendations by providing input SAPS for application tier and memory required for database tier
+.Example
+Invoke-AzWorkloadsSapSizingRecommendation -Location eastus -AppLocation eastus -DatabaseType HANA -DbMemory 256 -DeploymentType SingleServer -Environment NonProd -SapProduct S4HANA -Sap 10000 -DbScaleMethod ScaleUp
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDeploymentType
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/invoke-azworkloadssapsizingrecommendation
+#>
+function Invoke-AzWorkloadsSapSizingRecommendation {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDeploymentType])]
+[CmdletBinding(DefaultParameterSetName='SapExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(ParameterSetName='SapExpanded', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of Azure region.
+ ${Location},
+
+ [Parameter(ParameterSetName='SapExpanded')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='SapViaIdentityExpanded', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # The geo-location where the resource is to be created.
+ ${AppLocation},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDatabaseType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDatabaseType]
+ # The database type.
+ ${DatabaseType},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.Int64]
+ # The database memory configuration.
+ ${DbMemory},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDeploymentType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDeploymentType]
+ # The deployment type.
+ # Eg: SingleServer/ThreeTier
+ ${DeploymentType},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapEnvironmentType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapEnvironmentType]
+ # Defines the environment type - Production/Non Production.
+ ${Environment},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.Int64]
+ # The SAP Application Performance Standard measurement.
+ ${Sap},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapProductType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapProductType]
+ # Defines the SAP Product type.
+ ${SapProduct},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDatabaseScaleMethod])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDatabaseScaleMethod]
+ # The DB scale method.
+ ${DbScaleMethod},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapHighAvailabilityType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapHighAvailabilityType]
+ # The high availability type.
+ ${HighAvailabilityType},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ SapExpanded = 'Az.Workloads.private\Invoke-AzWorkloadsSapSizingRecommendation_SapExpanded';
+ SapViaIdentityExpanded = 'Az.Workloads.private\Invoke-AzWorkloadsSapSizingRecommendation_SapViaIdentityExpanded';
+ }
+ if (('SapExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/Invoke-AzWorkloadsSapSupportedSku.ps1 b/src/Workloads/exports/Invoke-AzWorkloadsSapSupportedSku.ps1
new file mode 100644
index 000000000000..9d2986f26566
--- /dev/null
+++ b/src/Workloads/exports/Invoke-AzWorkloadsSapSupportedSku.ps1
@@ -0,0 +1,240 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Get a list of SAP supported SKUs for ASCS, Application and Database tier.
+.Description
+Get a list of SAP supported SKUs for ASCS, Application and Database tier.
+.Example
+Invoke-AzWorkloadsSapSupportedSku -Location eastus -AppLocation eastus -DatabaseType HANA -DeploymentType ThreeTier -Environment Prod -SapProduct S4HANA
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapSupportedSku
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/invoke-azworkloadssapsupportedsku
+#>
+function Invoke-AzWorkloadsSapSupportedSku {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapSupportedSku])]
+[CmdletBinding(DefaultParameterSetName='SapExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(ParameterSetName='SapExpanded', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of Azure region.
+ ${Location},
+
+ [Parameter(ParameterSetName='SapExpanded')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='SapViaIdentityExpanded', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # The geo-location where the resource is to be created.
+ ${AppLocation},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDatabaseType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDatabaseType]
+ # The database type.
+ # Eg: HANA, DB2, etc
+ ${DatabaseType},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDeploymentType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDeploymentType]
+ # The deployment type.
+ # Eg: SingleServer/ThreeTier
+ ${DeploymentType},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapEnvironmentType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapEnvironmentType]
+ # Defines the environment type - Production/Non Production.
+ ${Environment},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapProductType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapProductType]
+ # Defines the SAP Product type.
+ ${SapProduct},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapHighAvailabilityType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapHighAvailabilityType]
+ # The high availability type.
+ ${HighAvailabilityType},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ SapExpanded = 'Az.Workloads.private\Invoke-AzWorkloadsSapSupportedSku_SapExpanded';
+ SapViaIdentityExpanded = 'Az.Workloads.private\Invoke-AzWorkloadsSapSupportedSku_SapViaIdentityExpanded';
+ }
+ if (('SapExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/New-AzWorkloadsMonitor.ps1 b/src/Workloads/exports/New-AzWorkloadsMonitor.ps1
new file mode 100644
index 000000000000..5422581d86be
--- /dev/null
+++ b/src/Workloads/exports/New-AzWorkloadsMonitor.ps1
@@ -0,0 +1,258 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Creates a SAP monitor for the specified subscription, resource group, and resource name.
+.Description
+Creates a SAP monitor for the specified subscription, resource group, and resource name.
+.Example
+New-AzWorkloadsMonitor -Name suha-160323-ams4 -ResourceGroupName suha-0802-rg1 -SubscriptionId 49d64d54-e966-4c46-a868-1999802b762c -Location eastus2euap -AppLocation eastus -ManagedResourceGroupName mrg-1603234 -MonitorSubnet /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/e2e-portal-wlmonitor-do-not-delete/providers/Microsoft.Network/virtualNetworks/vnetpeeringtest/subnets/snet-1603-3 -RoutingPreference RouteAll -ZoneRedundancyPreference Disabled
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.IMonitor
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/new-azworkloadsmonitor
+#>
+function New-AzWorkloadsMonitor {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.IMonitor])]
+[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Alias('MonitorName')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # Name of the SAP monitor resource.
+ ${Name},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # The geo-location where the resource lives
+ ${Location},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # The SAP monitor resources will be deployed in the SAP monitoring region.
+ # The subnet region should be same as the SAP monitoring region.
+ ${AppLocation},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.ManagedServiceIdentityType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.ManagedServiceIdentityType]
+ # Type of manage identity
+ ${IdentityType},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # The ARM ID of the Log Analytics Workspace that is used for SAP monitoring.
+ ${LogAnalyticsWorkspaceArmId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Managed resource group name
+ ${ManagedResourceGroupName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # The subnet which the SAP monitor will be deployed in
+ ${MonitorSubnet},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.RoutingPreference])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.RoutingPreference]
+ # Sets the routing preference of the SAP monitor.
+ # By default only RFC1918 traffic is routed to the customer VNET.
+ ${RoutingPreference},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ITrackedResourceTags]))]
+ [System.Collections.Hashtable]
+ # Resource tags.
+ ${Tag},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.IUserAssignedIdentities]))]
+ [System.Collections.Hashtable]
+ # User assigned identities dictionary
+ ${UserAssignedIdentity},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Sets the preference for zone redundancy on resources created for the SAP monitor.
+ # By default resources will be created which do not support zone redundancy.
+ ${ZoneRedundancyPreference},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Run the command as a job
+ ${AsJob},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Run the command asynchronously
+ ${NoWait},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ CreateExpanded = 'Az.Workloads.private\New-AzWorkloadsMonitor_CreateExpanded';
+ }
+ if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/New-AzWorkloadsProviderDB2InstanceObject.ps1 b/src/Workloads/exports/New-AzWorkloadsProviderDB2InstanceObject.ps1
new file mode 100644
index 000000000000..b8267557d2af
--- /dev/null
+++ b/src/Workloads/exports/New-AzWorkloadsProviderDB2InstanceObject.ps1
@@ -0,0 +1,162 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for DB2ProviderInstanceProperties.
+.Description
+Create an in-memory object for DB2ProviderInstanceProperties.
+.Example
+New-AzWorkloadsProviderDB2InstanceObject -Name Sample -Password '' -Port 25000 -Username db2admin -Hostname 10.1.21.4 -SapSid OPA -SslPreference Disabled
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.Db2ProviderInstanceProperties
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/new-azworkloadsproviderdb2instanceobject
+#>
+function New-AzWorkloadsProviderDB2InstanceObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.DB2ProviderInstanceProperties])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the db2 database name.
+ ${Name},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the db2 database password.
+ ${Password},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the key vault URI to secret with the database password.
+ ${PasswordUri},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the db2 database sql port.
+ ${Port},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the db2 database user name.
+ ${Username},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the target virtual machine name.
+ ${Hostname},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the SAP System Identifier.
+ ${SapSid},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the blob URI to SSL certificate for the DB2 Database.
+ ${SslCertificateUri},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference]
+ # Gets or sets certificate preference if secure communication is enabled.
+ ${SslPreference}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ __AllParameterSets = 'Az.Workloads.custom\New-AzWorkloadsProviderDB2InstanceObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/New-AzWorkloadsProviderHanaDbInstanceObject.ps1 b/src/Workloads/exports/New-AzWorkloadsProviderHanaDbInstanceObject.ps1
new file mode 100644
index 000000000000..84e83b9b0f81
--- /dev/null
+++ b/src/Workloads/exports/New-AzWorkloadsProviderHanaDbInstanceObject.ps1
@@ -0,0 +1,174 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for HanaDbProviderInstanceProperties.
+.Description
+Create an in-memory object for HanaDbProviderInstanceProperties.
+.Example
+New-AzWorkloadsProviderHanaDbInstanceObject -Name SYSTEMDB -Password '' -Username SYSTEM -Hostname 10.0.81.4 -InstanceNumber 00 -SapSid X00 -SqlPort 1433 -SslPreference Disabled
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.HanaDbProviderInstanceProperties
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/new-azworkloadsproviderhanadbinstanceobject
+#>
+function New-AzWorkloadsProviderHanaDbInstanceObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.HanaDbProviderInstanceProperties])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the hana database name.
+ ${Name},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the database password.
+ ${Password},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the key vault URI to secret with the database password.
+ ${PasswordUri},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the database user name.
+ ${Username},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the target virtual machine size.
+ ${Hostname},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the database instance number.
+ ${InstanceNumber},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the SAP System Identifier.
+ ${SapSid},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the database sql port.
+ ${SqlPort},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the blob URI to SSL certificate for the DB.
+ ${SslCertificateUri},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the hostname(s) in the SSL certificate.
+ ${SslHostNameInCertificate},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference]
+ # Gets or sets certificate preference if secure communication is enabled.
+ ${SslPreference}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ __AllParameterSets = 'Az.Workloads.custom\New-AzWorkloadsProviderHanaDbInstanceObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/New-AzWorkloadsProviderInstance.ps1 b/src/Workloads/exports/New-AzWorkloadsProviderInstance.ps1
new file mode 100644
index 000000000000..345043e7f596
--- /dev/null
+++ b/src/Workloads/exports/New-AzWorkloadsProviderInstance.ps1
@@ -0,0 +1,230 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Creates a provider instance for the specified subscription, resource group, SAP monitor name, and resource name.
+.Description
+Creates a provider instance for the specified subscription, resource group, SAP monitor name, and resource name.
+.Example
+$providerSetting = New-AzWorkloadsProviderSqlServerInstanceObject -Password '' -Port 1433 -Username '' -Hostname 10.1.14.5 -SapSid X00 -SslPreference Disabled
+ $providerSetting.ProviderType | Should -Be "MsSqlServer"
+
+New-AzWorkloadsProviderInstance -MonitorName suha-0202-ams9 -Name sql-prov-1 -ResourceGroupName suha-0802-rg1 -SubscriptionId 49d64d54-e966-4c46-a868-1999802b762c -ProviderSetting $providerSetting
+.Example
+New-AzWorkloadsProviderInstance -MonitorName suha-160323-ams4 -Name suha-sql-3 -ResourceGroupName suha-0802-rg1 -SubscriptionId 49d64d54-e966-4c46-a868-1999802b762c -ProviderSetting '{"sslPreference":"Disabled","providerType":"MsSqlServer","hostname":"10.1.14.5","sapSid":"X00","dbPort":"1433","dbUsername":"","dbPassword":""}'
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.IProviderInstance
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+PROVIDERSETTING : Defines the provider specific properties.
+ ProviderType : The provider type. For example, the value can be SapHana.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/new-azworkloadsproviderinstance
+#>
+function New-AzWorkloadsProviderInstance {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.IProviderInstance])]
+[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # Name of the SAP monitor resource.
+ ${MonitorName},
+
+ [Parameter(Mandatory)]
+ [Alias('ProviderInstanceName')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # Name of the provider instance.
+ ${Name},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.ManagedServiceIdentityType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.ManagedServiceIdentityType]
+ # Type of manage identity
+ ${IdentityType},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.IUserAssignedIdentities]))]
+ [System.Collections.Hashtable]
+ # User assigned identities dictionary
+ ${IdentityUserAssignedIdentity},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.IProviderSpecificProperties]
+ # Defines the provider specific properties.
+ # To construct, see NOTES section for PROVIDERSETTING properties and create a hash table.
+ ${ProviderSetting},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Run the command as a job
+ ${AsJob},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Run the command asynchronously
+ ${NoWait},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ CreateExpanded = 'Az.Workloads.private\New-AzWorkloadsProviderInstance_CreateExpanded';
+ }
+ if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/New-AzWorkloadsProviderPrometheusHaClusterInstanceObject.ps1 b/src/Workloads/exports/New-AzWorkloadsProviderPrometheusHaClusterInstanceObject.ps1
new file mode 100644
index 000000000000..9e3e7b7227d4
--- /dev/null
+++ b/src/Workloads/exports/New-AzWorkloadsProviderPrometheusHaClusterInstanceObject.ps1
@@ -0,0 +1,144 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for PrometheusHaClusterProviderInstanceProperties.
+.Description
+Create an in-memory object for PrometheusHaClusterProviderInstanceProperties.
+.Example
+New-AzWorkloadsProviderPrometheusHaClusterInstanceObject -ClusterName hacluster -Hostname h20dbvm0 -PrometheusUrl "http://10.0.92.5:964/metrics" -Sid X00 -SslPreference Disabled
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.PrometheusHaClusterProviderInstanceProperties
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/new-azworkloadsproviderprometheushaclusterinstanceobject
+#>
+function New-AzWorkloadsProviderPrometheusHaClusterInstanceObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.PrometheusHaClusterProviderInstanceProperties])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the clusterName.
+ ${ClusterName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the target machine name.
+ ${Hostname},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # URL of the Node Exporter endpoint.
+ ${PrometheusUrl},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the cluster sid.
+ ${Sid},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the blob URI to SSL certificate for the HA cluster exporter.
+ ${SslCertificateUri},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference]
+ # Gets or sets certificate preference if secure communication is enabled.
+ ${SslPreference}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ __AllParameterSets = 'Az.Workloads.custom\New-AzWorkloadsProviderPrometheusHaClusterInstanceObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/New-AzWorkloadsProviderPrometheusOSInstanceObject.ps1 b/src/Workloads/exports/New-AzWorkloadsProviderPrometheusOSInstanceObject.ps1
new file mode 100644
index 000000000000..d36fb559fc56
--- /dev/null
+++ b/src/Workloads/exports/New-AzWorkloadsProviderPrometheusOSInstanceObject.ps1
@@ -0,0 +1,132 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for PrometheusOSProviderInstanceProperties.
+.Description
+Create an in-memory object for PrometheusOSProviderInstanceProperties.
+.Example
+New-AzWorkloadsProviderPrometheusOSInstanceObject -PrometheusUrl "http://10.1.0.4:9100/metrics" -SapSid X00 -SslPreference Disabled
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.PrometheusOSProviderInstanceProperties
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/new-azworkloadsproviderprometheusosinstanceobject
+#>
+function New-AzWorkloadsProviderPrometheusOSInstanceObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.PrometheusOSProviderInstanceProperties])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # URL of the Node Exporter endpoint.
+ ${PrometheusUrl},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the SAP System Identifier.
+ ${SapSid},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the blob URI to SSL certificate for the prometheus node exporter.
+ ${SslCertificateUri},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference]
+ # Gets or sets certificate preference if secure communication is enabled.
+ ${SslPreference}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ __AllParameterSets = 'Az.Workloads.custom\New-AzWorkloadsProviderPrometheusOSInstanceObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/New-AzWorkloadsProviderSapNetWeaverInstanceObject.ps1 b/src/Workloads/exports/New-AzWorkloadsProviderSapNetWeaverInstanceObject.ps1
new file mode 100644
index 000000000000..a85327edfc0a
--- /dev/null
+++ b/src/Workloads/exports/New-AzWorkloadsProviderSapNetWeaverInstanceObject.ps1
@@ -0,0 +1,174 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for SapNetWeaverProviderInstanceProperties.
+.Description
+Create an in-memory object for SapNetWeaverProviderInstanceProperties.
+.Example
+New-AzWorkloadsProviderSapNetWeaverInstanceObject -SapClientId 000 -SapHostFileEntry '["10.0.82.4 l13appvm0.ams.azure.com l13appvm0","10.0.82.5 l13ascsvm.ams.azure.com l13ascsvm"]' -SapHostname 10.0.82.4 -SapInstanceNr 00 -SapPassword Password@1234 -SapSid L13 -SapUsername AMSUSER -SslPreference Disabled
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapNetWeaverProviderInstanceProperties
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/new-azworkloadsprovidersapnetweaverinstanceobject
+#>
+function New-AzWorkloadsProviderSapNetWeaverInstanceObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapNetWeaverProviderInstanceProperties])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the SAP Client ID.
+ ${SapClientId},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String[]]
+ # Gets or sets the list of HostFile Entries.
+ ${SapHostFileEntry},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the target virtual machine IP Address/FQDN.
+ ${SapHostname},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the instance number of SAP NetWeaver.
+ ${SapInstanceNr},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Sets the SAP password.
+ ${SapPassword},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the key vault URI to secret with the SAP password.
+ ${SapPasswordUri},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the SAP HTTP port number.
+ ${SapPortNumber},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the SAP System Identifier.
+ ${SapSid},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the SAP user name.
+ ${SapUsername},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the blob URI to SSL certificate for the SAP system.
+ ${SslCertificateUri},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference]
+ # Gets or sets certificate preference if secure communication is enabled.
+ ${SslPreference}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ __AllParameterSets = 'Az.Workloads.custom\New-AzWorkloadsProviderSapNetWeaverInstanceObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/New-AzWorkloadsProviderSqlServerInstanceObject.ps1 b/src/Workloads/exports/New-AzWorkloadsProviderSqlServerInstanceObject.ps1
new file mode 100644
index 000000000000..1cd160e0872a
--- /dev/null
+++ b/src/Workloads/exports/New-AzWorkloadsProviderSqlServerInstanceObject.ps1
@@ -0,0 +1,156 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for MsSqlServerProviderInstanceProperties.
+.Description
+Create an in-memory object for MsSqlServerProviderInstanceProperties.
+.Example
+New-AzWorkloadsProviderSqlServerInstanceObject -Password 'Password@123' -Port 1433 -Username ams -Hostname 10.1.14.5 -SapSid X00 -SslPreference Disabled
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.MSSqlServerProviderInstanceProperties
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/new-azworkloadsprovidersqlserverinstanceobject
+#>
+function New-AzWorkloadsProviderSqlServerInstanceObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.MsSqlServerProviderInstanceProperties])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the database password.
+ ${Password},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the key vault URI to secret with the database password.
+ ${PasswordUri},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the database sql port.
+ ${Port},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the database user name.
+ ${Username},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the SQL server host name.
+ ${Hostname},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the SAP System Identifier.
+ ${SapSid},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the blob URI to SSL certificate for the SQL Database.
+ ${SslCertificateUri},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SslPreference]
+ # Gets or sets certificate preference if secure communication is enabled.
+ ${SslPreference}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ __AllParameterSets = 'Az.Workloads.custom\New-AzWorkloadsProviderSqlServerInstanceObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/New-AzWorkloadsSapLandscapeMonitor.ps1 b/src/Workloads/exports/New-AzWorkloadsSapLandscapeMonitor.ps1
new file mode 100644
index 000000000000..867320b0c74e
--- /dev/null
+++ b/src/Workloads/exports/New-AzWorkloadsSapLandscapeMonitor.ps1
@@ -0,0 +1,220 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Creates a SAP Landscape Monitor Dashboard for the specified subscription, resource group, and resource name.
+.Description
+Creates a SAP Landscape Monitor Dashboard for the specified subscription, resource group, and resource name.
+.Example
+New-AzWorkloadsSapLandscapeMonitor -MonitorName suha-0202-ams9 -ResourceGroupName suha-0802-rg1 -SubscriptionId 49d64d54-e966-4c46-a868-1999802b762c -GroupingLandscape '{"name":"Prod","topSid":["SID1","SID2"]}' -GroupingSapApplication '{"name":"ERP1","topSid":["SID1","SID2"]}' -TopMetricsThreshold '{"name":"Instance Availability","green":90,"yellow":75,"red":50}'
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapLandscapeMonitor
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+GROUPINGLANDSCAPE : Gets or sets the list of landscape to SID mappings.
+ [Name ]: Gets or sets the name of the grouping.
+ [TopSid ]: Gets or sets the list of SID's.
+
+GROUPINGSAPAPPLICATION : Gets or sets the list of Sap Applications to SID mappings.
+ [Name ]: Gets or sets the name of the grouping.
+ [TopSid ]: Gets or sets the list of SID's.
+
+TOPMETRICSTHRESHOLD : Gets or sets the list Top Metric Thresholds for SAP Landscape Monitor Dashboard
+ [Green ]: Gets or sets the threshold value for Green.
+ [Name ]: Gets or sets the name of the threshold.
+ [Red ]: Gets or sets the threshold value for Red.
+ [Yellow ]: Gets or sets the threshold value for Yellow.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/new-azworkloadssaplandscapemonitor
+#>
+function New-AzWorkloadsSapLandscapeMonitor {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapLandscapeMonitor])]
+[CmdletBinding(DefaultParameterSetName='CreateExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # Name of the SAP monitor resource.
+ ${MonitorName},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter()]
+ [AllowEmptyCollection()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapLandscapeMonitorSidMapping[]]
+ # Gets or sets the list of landscape to SID mappings.
+ # To construct, see NOTES section for GROUPINGLANDSCAPE properties and create a hash table.
+ ${GroupingLandscape},
+
+ [Parameter()]
+ [AllowEmptyCollection()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapLandscapeMonitorSidMapping[]]
+ # Gets or sets the list of Sap Applications to SID mappings.
+ # To construct, see NOTES section for GROUPINGSAPAPPLICATION properties and create a hash table.
+ ${GroupingSapApplication},
+
+ [Parameter()]
+ [AllowEmptyCollection()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapLandscapeMonitorMetricThresholds[]]
+ # Gets or sets the list Top Metric Thresholds for SAP Landscape Monitor Dashboard
+ # To construct, see NOTES section for TOPMETRICSTHRESHOLD properties and create a hash table.
+ ${TopMetricsThreshold},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ CreateExpanded = 'Az.Workloads.private\New-AzWorkloadsSapLandscapeMonitor_CreateExpanded';
+ }
+ if (('CreateExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/New-AzWorkloadsSapLandscapeMonitorMetricThresholdsObject.ps1 b/src/Workloads/exports/New-AzWorkloadsSapLandscapeMonitorMetricThresholdsObject.ps1
new file mode 100644
index 000000000000..9980c9cc6397
--- /dev/null
+++ b/src/Workloads/exports/New-AzWorkloadsSapLandscapeMonitorMetricThresholdsObject.ps1
@@ -0,0 +1,131 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for SapLandscapeMonitorMetricThresholds.
+.Description
+Create an in-memory object for SapLandscapeMonitorMetricThresholds.
+.Example
+New-AzWorkloadsSapLandscapeMonitorMetricThresholdsObject -Green 90 -Name X00 -Red 50 -Yellow 80
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitorMetricThresholds
+.Link
+https://learn.microsoft.com/powershell/module/Az.Workloads/new-AzWorkloadsSapLandscapeMonitorMetricThresholdsObject
+#>
+function New-AzWorkloadsSapLandscapeMonitorMetricThresholdsObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitorMetricThresholds])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.Single]
+ # Gets or sets the threshold value for Green.
+ ${Green},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the name of the threshold.
+ ${Name},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.Single]
+ # Gets or sets the threshold value for Red.
+ ${Red},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.Single]
+ # Gets or sets the threshold value for Yellow.
+ ${Yellow}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ __AllParameterSets = 'Az.Workloads.custom\New-AzWorkloadsSapLandscapeMonitorMetricThresholdsObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/New-AzWorkloadsSapLandscapeMonitorSidMappingObject.ps1 b/src/Workloads/exports/New-AzWorkloadsSapLandscapeMonitorSidMappingObject.ps1
new file mode 100644
index 000000000000..5ad693b59db3
--- /dev/null
+++ b/src/Workloads/exports/New-AzWorkloadsSapLandscapeMonitorSidMappingObject.ps1
@@ -0,0 +1,119 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Create an in-memory object for SapLandscapeMonitorSidMapping.
+.Description
+Create an in-memory object for SapLandscapeMonitorSidMapping.
+.Example
+New-AzWorkloadsSapLandscapeMonitorSidMappingObject -Name Prod -TopSid "{SID2,SID1}"
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitorSidMapping
+.Link
+https://learn.microsoft.com/powershell/module/Az.Workloads/new-AzWorkloadsSapLandscapeMonitorSidMappingObject
+#>
+function New-AzWorkloadsSapLandscapeMonitorSidMappingObject {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.SapLandscapeMonitorSidMapping])]
+[CmdletBinding(PositionalBinding=$false)]
+param(
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Gets or sets the name of the grouping.
+ ${Name},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String[]]
+ # Gets or sets the list of SID's.
+ ${TopSid}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ __AllParameterSets = 'Az.Workloads.custom\New-AzWorkloadsSapLandscapeMonitorSidMappingObject';
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/New-AzWorkloadsSapVirtualInstance.ps1 b/src/Workloads/exports/New-AzWorkloadsSapVirtualInstance.ps1
new file mode 100644
index 000000000000..cb437525a91d
--- /dev/null
+++ b/src/Workloads/exports/New-AzWorkloadsSapVirtualInstance.ps1
@@ -0,0 +1,268 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Creates a Virtual Instance for SAP solutions (VIS) resource
+.Description
+Creates a Virtual Instance for SAP solutions (VIS) resource
+.Example
+New-AzWorkloadsSapVirtualInstance -ResourceGroupName 'PowerShell-CLI-TestRG' -Name L46 -Location eastus -Environment 'NonProd' -SapProduct 'S4HANA' -Configuration .\CreatePayload.json -Tag @{k1 = "v1"; k2 = "v2"} -IdentityType 'UserAssigned' -ManagedResourceGroupName "L46-rg" -UserAssignedIdentity @{'/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourcegroups/SAP-E2ETest-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/E2E-RBAC-MSI'= @{}}
+.Example
+New-AzWorkloadsSapVirtualInstance -ResourceGroupName 'PowerShell-CLI-TestRG' -Name L46 -Location eastus -Environment 'NonProd' -SapProduct 'S4HANA' -Configuration .\InstallPayload.json -Tag @{k1 = "v1"; k2 = "v2"} -IdentityType 'UserAssigned' -ManagedResourceGroupName "L46-rg" -UserAssignedIdentity @{'/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourcegroups/SAP-E2ETest-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/E2E-RBAC-MSI'= @{}}
+.Example
+ New-AzWorkloadsSapVirtualInstance -ResourceGroupName 'PowerShell-CLI-TestRG' -Name SK1 -Location eastus -Environment 'NonProd' -SapProduct 'S4HANA' -Configuration .\CreatePayloadHACustomNames.json -IdentityType 'UserAssigned' -ManagedResourceGroupName "acss-mrg1" -UserAssignedIdentity @{'/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourcegroups/SAP-E2ETest-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/E2E-RBAC-MSI'= @{}}
+.Example
+New-AzWorkloadsSapVirtualInstance -ResourceGroupName 'PowerShell-CLI-TestRG' -Name SK1 -Location eastus -Environment 'NonProd' -SapProduct 'S4HANA' -Configuration .\CreatePayloadHACustomNamesInstall.json -IdentityType 'UserAssigned' -ManagedResourceGroupName "acss-mrg1" -UserAssignedIdentity @{'/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourcegroups/SAP-E2ETest-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/E2E-RBAC-MSI'= @{}}
+.Example
+New-AzWorkloadsSapVirtualInstance -ResourceGroupName 'TestRG' -Name L46 -Location eastus -Environment 'NonProd' -SapProduct 'S4HANA' -CentralServerVmId '/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourcegroups/powershell-cli-testrg/providers/microsoft.compute/virtualmachines/l46ascsvm' -Tag @{k1 = "v1"; k2 = "v2"} -ManagedResourceGroupName "L46-rg" -ManagedRgStorageAccountName 'acssstoragel46' -IdentityType 'UserAssigned' -UserAssignedIdentity @{'/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourcegroups/SAP-E2ETest-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/E2E-RBAC-MSI'= @{}}
+
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapVirtualInstance
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/new-azworkloadssapvirtualinstance
+#>
+function New-AzWorkloadsSapVirtualInstance {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapVirtualInstance])]
+[CmdletBinding(DefaultParameterSetName='CreateWithDiscovery', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(Mandatory)]
+ [Alias('SapVirtualInstanceName')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the Virtual Instances for SAP solutions resource
+ ${Name},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapEnvironmentType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapEnvironmentType]
+ # Defines the environment type - Production/Non Production.
+ ${Environment},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # The geo-location where the resource lives
+ ${Location},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapProductType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapProductType]
+ # Defines the SAP Product type.
+ ${SapProduct},
+
+ [Parameter(ParameterSetName='CreateWithDiscovery', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # The virtual machine ID of the Central Server
+ ${CentralServerVmId},
+
+ [Parameter(ParameterSetName='CreateWithDiscovery')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # The custom storage account name for the storage account created by the service in the managed resource group created as part of VIS deployment.
+ #
+ # Refer to the storage account naming rules [here](https://learn.microsoft.com/azure/azure-resource-manager/management/resource-name-rules#microsoftstorage).
+ #
+ # If not provided, the service will create the storage account with a random name
+ ${ManagedRgStorageAccountName},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.ManagedServiceIdentityType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.ManagedServiceIdentityType]
+ # Type of manage identity
+ ${IdentityType},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Managed resource group name
+ ${ManagedResourceGroupName},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.ITrackedResourceTags]))]
+ [System.Collections.Hashtable]
+ # Resource tags.
+ ${Tag},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api30.IUserAssignedIdentities]))]
+ [System.Collections.Hashtable]
+ # User assigned identities dictionary
+ ${UserAssignedIdentity},
+
+ [Parameter(ParameterSetName='CreateWithJsonTemplatePath', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # Configuration json path.
+ ${Configuration},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The credentials, account, tenant, and subscription used for communication with Azure.
+ ${DefaultProfile},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Run the command as a job
+ ${AsJob},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Run the command asynchronously
+ ${NoWait},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ CreateWithDiscovery = 'Az.Workloads.custom\New-AzWorkloadsSapVirtualInstance';
+ CreateWithJsonTemplatePath = 'Az.Workloads.custom\New-AzWorkloadsSapVirtualInstance_CreateWithJsonTemplatePath';
+ }
+ if (('CreateWithDiscovery', 'CreateWithJsonTemplatePath') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
diff --git a/src/Workloads/exports/ProxyCmdletDefinitions.ps1 b/src/Workloads/exports/ProxyCmdletDefinitions.ps1
new file mode 100644
index 000000000000..0f01e6eea562
--- /dev/null
+++ b/src/Workloads/exports/ProxyCmdletDefinitions.ps1
@@ -0,0 +1,7929 @@
+
+# ----------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# Code generated by Microsoft (R) AutoRest Code Generator.Changes may cause incorrect behavior and will be lost if the code
+# is regenerated.
+# ----------------------------------------------------------------------------------
+
+<#
+.Synopsis
+Gets properties of a SAP monitor for the specified subscription, resource group, and resource name.
+.Description
+Gets properties of a SAP monitor for the specified subscription, resource group, and resource name.
+.Example
+Get-AzWorkloadsMonitor
+.Example
+Get-AzWorkloadsMonitor -ResourceGroupName ad-ams-rg
+.Example
+Get-AzWorkloadsMonitor -ResourceGroupName ad-ams-rg -Name ad-ams
+.Example
+ Get-AzWorkloadsMonitor -InputObject '/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/suha-0802-rg1/providers/Microsoft.Workloads/monitors/suha-1606-ams2'
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.IMonitor
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/get-azworkloadsmonitor
+#>
+function Get-AzWorkloadsMonitor {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.IMonitor])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Alias('MonitorName')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # Name of the SAP monitor resource.
+ ${Name},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List1', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Parameter(ParameterSetName='List1')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.Workloads.private\Get-AzWorkloadsMonitor_Get';
+ GetViaIdentity = 'Az.Workloads.private\Get-AzWorkloadsMonitor_GetViaIdentity';
+ List = 'Az.Workloads.private\Get-AzWorkloadsMonitor_List';
+ List1 = 'Az.Workloads.private\Get-AzWorkloadsMonitor_List1';
+ }
+ if (('Get', 'List', 'List1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
+
+<#
+.Synopsis
+Gets properties of a provider instance for the specified subscription, resource group, SAP monitor name, and resource name.
+.Description
+Gets properties of a provider instance for the specified subscription, resource group, SAP monitor name, and resource name.
+.Example
+Get-AzWorkloadsProviderInstance -ResourceGroupName ad-ams-rg -MonitorName ad-ams
+.Example
+Get-AzWorkloadsProviderInstance -ResourceGroupName ad-ams-rg -MonitorName ad-ams -Name hana-test-2
+.Example
+Get-AzWorkloadsProviderInstance -InputObject "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/suha-0802-rg1/providers/Microsoft.Workloads/monitors/ams_mon/providerInstances/suha-db2-1"
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.IProviderInstance
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/get-azworkloadsproviderinstance
+#>
+function Get-AzWorkloadsProviderInstance {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.IProviderInstance])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # Name of the SAP monitor resource.
+ ${MonitorName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Alias('ProviderInstanceName')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # Name of the provider instance.
+ ${Name},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.Workloads.private\Get-AzWorkloadsProviderInstance_Get';
+ GetViaIdentity = 'Az.Workloads.private\Get-AzWorkloadsProviderInstance_GetViaIdentity';
+ List = 'Az.Workloads.private\Get-AzWorkloadsProviderInstance_List';
+ }
+ if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
+
+<#
+.Synopsis
+Gets the SAP Application Server Instance corresponding to the Virtual Instance for SAP solutions resource.
+.Description
+Gets the SAP Application Server Instance corresponding to the Virtual Instance for SAP solutions resource.
+.Example
+Get-AzWorkloadsSapApplicationInstance -ResourceGroupName DemoRGVIS -SapVirtualInstanceName DRT
+.Example
+Get-AzWorkloadsSapApplicationInstance -ResourceGroupName DemoRGVIS -SapVirtualInstanceName DRT -Name app0
+.Example
+Get-AzWorkloadsSapApplicationInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/DemoRGVIS/providers/Microsoft.Workloads/sapVirtualInstances/DRT/applicationInstances/app0
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapApplicationServerInstance
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/get-azworkloadssapapplicationinstance
+#>
+function Get-AzWorkloadsSapApplicationInstance {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapApplicationServerInstance])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of SAP Application Server instance resource.
+ ${Name},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the Virtual Instances for SAP solutions resource
+ ${SapVirtualInstanceName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.Workloads.private\Get-AzWorkloadsSapApplicationInstance_Get';
+ GetViaIdentity = 'Az.Workloads.private\Get-AzWorkloadsSapApplicationInstance_GetViaIdentity';
+ List = 'Az.Workloads.private\Get-AzWorkloadsSapApplicationInstance_List';
+ }
+ if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
+
+<#
+.Synopsis
+Gets the SAP Central Services Instance resource.
+.Description
+Gets the SAP Central Services Instance resource.
+.Example
+ Get-AzWorkloadsSapCentralInstance -ResourceGroupName DemoRGVIS -SapVirtualInstanceName DRT
+.Example
+Get-AzWorkloadsSapCentralInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/DemoRGVIS/providers/Microsoft.Workloads/sapVirtualInstances/DRT/centralInstances/cs0
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapCentralServerInstance
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/get-azworkloadssapcentralinstance
+#>
+function Get-AzWorkloadsSapCentralInstance {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapCentralServerInstance])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ ${Name},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the Virtual Instances for SAP solutions resource
+ ${SapVirtualInstanceName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.Workloads.private\Get-AzWorkloadsSapCentralInstance_Get';
+ GetViaIdentity = 'Az.Workloads.private\Get-AzWorkloadsSapCentralInstance_GetViaIdentity';
+ List = 'Az.Workloads.private\Get-AzWorkloadsSapCentralInstance_List';
+ }
+ if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
+
+<#
+.Synopsis
+Gets the SAP Database Instance resource.
+.Description
+Gets the SAP Database Instance resource.
+.Example
+Get-AzWorkloadsSapDatabaseInstance -ResourceGroupName DemoRGVIS -SapVirtualInstanceName DRT
+.Example
+Get-AzWorkloadsSapDatabaseInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/DemoRGVIS/providers/Microsoft.Workloads/sapVirtualInstances/DRT/databaseInstances/db0
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapDatabaseInstance
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/get-azworkloadssapdatabaseinstance
+#>
+function Get-AzWorkloadsSapDatabaseInstance {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapDatabaseInstance])]
+[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # Database resource name string modeled as parameter for auto generation to work correctly.
+ ${Name},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the Virtual Instances for SAP solutions resource
+ ${SapVirtualInstanceName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.Workloads.private\Get-AzWorkloadsSapDatabaseInstance_Get';
+ GetViaIdentity = 'Az.Workloads.private\Get-AzWorkloadsSapDatabaseInstance_GetViaIdentity';
+ List = 'Az.Workloads.private\Get-AzWorkloadsSapDatabaseInstance_List';
+ }
+ if (('Get', 'List') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
+
+<#
+.Synopsis
+Gets configuration values for Single Pane Of Glass for SAP monitor for the specified subscription, resource group, and resource name.
+.Description
+Gets configuration values for Single Pane Of Glass for SAP monitor for the specified subscription, resource group, and resource name.
+.Example
+Get-AzWorkloadsSapLandscapeMonitor -MonitorName suha-0202-ams9 -ResourceGroupName suha-0802-rg1 -SubscriptionId 49d64d54-e966-4c46-a868-1999802b762c
+.Example
+Get-AzWorkloadsSapLandscapeMonitor -InputObject "/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/suha-0/providers/Microsoft.Workloads/monitors/suha-0202-ams9/sapLandscapeMonitor/default"
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapLandscapeMonitor
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/get-azworkloadssaplandscapemonitor
+#>
+function Get-AzWorkloadsSapLandscapeMonitor {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapLandscapeMonitor])]
+[CmdletBinding(DefaultParameterSetName='Get', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # Name of the SAP monitor resource.
+ ${MonitorName},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.Workloads.private\Get-AzWorkloadsSapLandscapeMonitor_Get';
+ GetViaIdentity = 'Az.Workloads.private\Get-AzWorkloadsSapLandscapeMonitor_GetViaIdentity';
+ }
+ if (('Get') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
+
+<#
+.Synopsis
+Gets a Virtual Instance for SAP solutions resource
+.Description
+Gets a Virtual Instance for SAP solutions resource
+.Example
+Get-AzWorkloadsSapVirtualInstance
+.Example
+Get-AzWorkloadsSapVirtualInstance -ResourceGroupName DemoRGVIS -Name DRT
+.Example
+Get-AzWorkloadsSapVirtualInstance -InputObject /subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/DemoRGVIS/providers/Microsoft.Workloads/sapVirtualInstances/DRT
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapVirtualInstance
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/get-azworkloadssapvirtualinstance
+#>
+function Get-AzWorkloadsSapVirtualInstance {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapVirtualInstance])]
+[CmdletBinding(DefaultParameterSetName='List1', PositionalBinding=$false)]
+param(
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Alias('SapVirtualInstanceName')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the Virtual Instances for SAP solutions resource
+ ${Name},
+
+ [Parameter(ParameterSetName='Get', Mandatory)]
+ [Parameter(ParameterSetName='List', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of the resource group.
+ # The name is case insensitive.
+ ${ResourceGroupName},
+
+ [Parameter(ParameterSetName='Get')]
+ [Parameter(ParameterSetName='List')]
+ [Parameter(ParameterSetName='List1')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String[]]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='GetViaIdentity', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ Get = 'Az.Workloads.private\Get-AzWorkloadsSapVirtualInstance_Get';
+ GetViaIdentity = 'Az.Workloads.private\Get-AzWorkloadsSapVirtualInstance_GetViaIdentity';
+ List = 'Az.Workloads.private\Get-AzWorkloadsSapVirtualInstance_List';
+ List1 = 'Az.Workloads.private\Get-AzWorkloadsSapVirtualInstance_List1';
+ }
+ if (('Get', 'List', 'List1') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
+
+<#
+.Synopsis
+Get the SAP Disk Configuration Layout prod/non-prod SAP System.
+.Description
+Get the SAP Disk Configuration Layout prod/non-prod SAP System.
+.Example
+Invoke-AzWorkloadsSapDiskConfiguration -Location eastus -AppLocation eastus -DatabaseType HANA -DbVMSku Standard_M32ts -DeploymentType SingleServer -Environment NonProd -SapProduct S4HANA
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapDiskConfigurationsResultVolumeConfigurations
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/invoke-azworkloadssapdiskconfiguration
+#>
+function Invoke-AzWorkloadsSapDiskConfiguration {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapDiskConfigurationsResultVolumeConfigurations])]
+[CmdletBinding(DefaultParameterSetName='SapExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(ParameterSetName='SapExpanded', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of Azure region.
+ ${Location},
+
+ [Parameter(ParameterSetName='SapExpanded')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='SapViaIdentityExpanded', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # The geo-location where the SAP resources will be created.
+ ${AppLocation},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDatabaseType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDatabaseType]
+ # The database type.
+ # Eg: HANA, DB2, etc
+ ${DatabaseType},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # The VM SKU for database instance.
+ ${DbVMSku},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDeploymentType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDeploymentType]
+ # The deployment type.
+ # Eg: SingleServer/ThreeTier
+ ${DeploymentType},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapEnvironmentType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapEnvironmentType]
+ # Defines the environment type - Production/Non Production.
+ ${Environment},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapProductType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapProductType]
+ # Defines the SAP Product type.
+ ${SapProduct},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ SapExpanded = 'Az.Workloads.private\Invoke-AzWorkloadsSapDiskConfiguration_SapExpanded';
+ SapViaIdentityExpanded = 'Az.Workloads.private\Invoke-AzWorkloadsSapDiskConfiguration_SapViaIdentityExpanded';
+ }
+ if (('SapExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
+
+<#
+.Synopsis
+Get SAP sizing recommendations by providing input SAPS for application tier and memory required for database tier
+.Description
+Get SAP sizing recommendations by providing input SAPS for application tier and memory required for database tier
+.Example
+Invoke-AzWorkloadsSapSizingRecommendation -Location eastus -AppLocation eastus -DatabaseType HANA -DbMemory 256 -DeploymentType SingleServer -Environment NonProd -SapProduct S4HANA -Sap 10000 -DbScaleMethod ScaleUp
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDeploymentType
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName ]: The name of the resource group. The name is case insensitive.
+ [SapVirtualInstanceName ]: The name of the Virtual Instances for SAP solutions resource
+ [SubscriptionId ]: The ID of the target subscription.
+.Link
+https://learn.microsoft.com/powershell/module/az.workloads/invoke-azworkloadssapsizingrecommendation
+#>
+function Invoke-AzWorkloadsSapSizingRecommendation {
+[OutputType([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDeploymentType])]
+[CmdletBinding(DefaultParameterSetName='SapExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
+param(
+ [Parameter(ParameterSetName='SapExpanded', Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [System.String]
+ # The name of Azure region.
+ ${Location},
+
+ [Parameter(ParameterSetName='SapExpanded')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.DefaultInfo(Script='(Get-AzContext).Subscription.Id')]
+ [System.String]
+ # The ID of the target subscription.
+ ${SubscriptionId},
+
+ [Parameter(ParameterSetName='SapViaIdentityExpanded', Mandatory, ValueFromPipeline)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Path')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity]
+ # Identity Parameter
+ # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
+ ${InputObject},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.String]
+ # The geo-location where the resource is to be created.
+ ${AppLocation},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDatabaseType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDatabaseType]
+ # The database type.
+ ${DatabaseType},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.Int64]
+ # The database memory configuration.
+ ${DbMemory},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDeploymentType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDeploymentType]
+ # The deployment type.
+ # Eg: SingleServer/ThreeTier
+ ${DeploymentType},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapEnvironmentType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapEnvironmentType]
+ # Defines the environment type - Production/Non Production.
+ ${Environment},
+
+ [Parameter(Mandatory)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [System.Int64]
+ # The SAP Application Performance Standard measurement.
+ ${Sap},
+
+ [Parameter(Mandatory)]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapProductType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapProductType]
+ # Defines the SAP Product type.
+ ${SapProduct},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDatabaseScaleMethod])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapDatabaseScaleMethod]
+ # The DB scale method.
+ ${DbScaleMethod},
+
+ [Parameter()]
+ [ArgumentCompleter([Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapHighAvailabilityType])]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Body')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Support.SapHighAvailabilityType]
+ # The high availability type.
+ ${HighAvailabilityType},
+
+ [Parameter()]
+ [Alias('AzureRMContext', 'AzureCredential')]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Azure')]
+ [System.Management.Automation.PSObject]
+ # The DefaultProfile parameter is not functional.
+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
+ ${DefaultProfile},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Wait for .NET debugger to attach
+ ${Break},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be appended to the front of the pipeline
+ ${HttpPipelineAppend},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.SendAsyncStep[]]
+ # SendAsync Pipeline Steps to be prepended to the front of the pipeline
+ ${HttpPipelinePrepend},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Uri]
+ # The URI for the proxy server to use
+ ${Proxy},
+
+ [Parameter(DontShow)]
+ [ValidateNotNull()]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.PSCredential]
+ # Credentials for a proxy server to use for the remote call
+ ${ProxyCredential},
+
+ [Parameter(DontShow)]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Category('Runtime')]
+ [System.Management.Automation.SwitchParameter]
+ # Use the default credentials for the proxy
+ ${ProxyUseDefaultCredentials}
+)
+
+begin {
+ try {
+ $outBuffer = $null
+ if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
+ $PSBoundParameters['OutBuffer'] = 1
+ }
+ $parameterSet = $PSCmdlet.ParameterSetName
+
+ if ($null -eq [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion) {
+ [Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet]::PowerShellVersion = $PSVersionTable.PSVersion.ToString()
+ }
+ $preTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ if ($preTelemetryId -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId =(New-Guid).ToString()
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Create', $MyInvocation, $parameterSet, $PSCmdlet)
+ } else {
+ $internalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ if ($internalCalledCmdlets -eq '') {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $MyInvocation.MyCommand.Name
+ } else {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets += ',' + $MyInvocation.MyCommand.Name
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = 'internal'
+ }
+
+ $mapping = @{
+ SapExpanded = 'Az.Workloads.private\Invoke-AzWorkloadsSapSizingRecommendation_SapExpanded';
+ SapViaIdentityExpanded = 'Az.Workloads.private\Invoke-AzWorkloadsSapSizingRecommendation_SapViaIdentityExpanded';
+ }
+ if (('SapExpanded') -contains $parameterSet -and -not $PSBoundParameters.ContainsKey('SubscriptionId')) {
+ $PSBoundParameters['SubscriptionId'] = (Get-AzContext).Subscription.Id
+ }
+ $cmdInfo = Get-Command -Name $mapping[$parameterSet]
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
+ $scriptCmd = {& $wrappedCmd @PSBoundParameters}
+ $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
+ $steppablePipeline.Begin($PSCmdlet)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+
+process {
+ try {
+ $steppablePipeline.Process($_)
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+
+ finally {
+ $backupTelemetryId = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId
+ $backupInternalCalledCmdlets = [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+
+}
+end {
+ try {
+ $steppablePipeline.End()
+
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $backupTelemetryId
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::InternalCalledCmdlets = $backupInternalCalledCmdlets
+ if ($preTelemetryId -eq '') {
+ [Microsoft.Azure.PowerShell.Cmdlets.Workloads.module]::Instance.Telemetry.Invoke('Send', $MyInvocation, $parameterSet, $PSCmdlet)
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ }
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::TelemetryId = $preTelemetryId
+
+ } catch {
+ [Microsoft.WindowsAzure.Commands.Common.MetricHelper]::ClearTelemetryContext()
+ throw
+ }
+}
+}
+
+<#
+.Synopsis
+Get a list of SAP supported SKUs for ASCS, Application and Database tier.
+.Description
+Get a list of SAP supported SKUs for ASCS, Application and Database tier.
+.Example
+Invoke-AzWorkloadsSapSupportedSku -Location eastus -AppLocation eastus -DatabaseType HANA -DeploymentType ThreeTier -Environment Prod -SapProduct S4HANA
+
+.Inputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.IWorkloadsIdentity
+.Outputs
+Microsoft.Azure.PowerShell.Cmdlets.Workloads.Models.Api20230401.ISapSupportedSku
+.Notes
+COMPLEX PARAMETER PROPERTIES
+
+To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
+
+INPUTOBJECT : Identity Parameter
+ [ApplicationInstanceName ]: The name of SAP Application Server instance resource.
+ [CentralInstanceName ]: Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
+ [DatabaseInstanceName ]: Database resource name string modeled as parameter for auto generation to work correctly.
+ [Id ]: Resource identity path
+ [Location ]: The name of Azure region.
+ [MonitorName ]: Name of the SAP monitor resource.
+ [ProviderInstanceName ]: Name of the provider instance.
+ [ResourceGroupName