// 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) Go Code Generator. DO NOT EDIT.

package armworkloadssapvirtualinstance_test

import (
	"context"
	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/workloadssapvirtualinstance/armworkloadssapvirtualinstance"
	"log"
)

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateDetectDS.json
func ExampleSAPVirtualInstancesClient_BeginCreate_detectSapSoftwareInstallationOnADistributedSystem() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("eastus2"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("{{resourcegrp}}"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP-HA"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("azureuser"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("{{privateKey}}"),
										PublicKey:  to.Ptr("{{sshkey}}"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E4ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP-HA"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("azureuser"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("{{privateKey}}"),
										PublicKey:  to.Ptr("{{sshkey}}"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E4ds_v4"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP-HA"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("azureuser"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("{{privateKey}}"),
										PublicKey:  to.Ptr("{{sshkey}}"),
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
					NetworkConfiguration: &armworkloadssapvirtualinstance.NetworkConfiguration{
						IsSecondaryIPEnabled: to.Ptr(true),
					},
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("sap.bpaas.com"),
				},
				SoftwareConfiguration: &armworkloadssapvirtualinstance.ExternalInstallationSoftwareConfiguration{
					CentralServerVMID:        to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0"),
					SoftwareInstallationType: to.Ptr(armworkloadssapvirtualinstance.SAPSoftwareInstallationTypeExternal),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{
			"created by": to.Ptr("azureuser"),
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("microsoft.workloads/sapvirtualinstances"),
	// 		ID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("eastus2"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("aa-rg"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP-HA"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("azureuser"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("ssh-rsa AAA generated-by-azure"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E4ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP-HA"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("azureuser"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("ssh-rsa AAA generated-by-azure"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E4ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP-HA"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("azureuser"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("ssh-rsa AAA generated-by-azure"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 					NetworkConfiguration: &armworkloadssapvirtualinstance.NetworkConfiguration{
	// 						IsSecondaryIPEnabled: to.Ptr(true),
	// 					},
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("sap.bpaas.com"),
	// 				},
	// 				SoftwareConfiguration: &armworkloadssapvirtualinstance.ExternalInstallationSoftwareConfiguration{
	// 					CentralServerVMID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0"),
	// 					SoftwareInstallationType: to.Ptr(armworkloadssapvirtualinstance.SAPSoftwareInstallationTypeExternal),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateRegistrationComplete),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-08-18T18:25:55.2406546Z"); return t}()),
	// 			CreatedBy: to.Ptr("f1bc9460-9d57-4c16-99a8-5a19378a3a93"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeApplication),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-08-18T18:50:59.1945444Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("f1bc9460-9d57-4c16-99a8-5a19378a3a93"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeApplication),
	// 		},
	// 		Tags: map[string]*string{
	// 			"created by": to.Ptr("azureuser"),
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateDetectHaAvailabilitySet.json
func ExampleSAPVirtualInstancesClient_BeginCreate_detectSapSoftwareInstallationOnAnHaSystemWithAvailabilitySet() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](6),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP-HA"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP-HA"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType:  to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP-HA"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilitySet),
					},
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
				SoftwareConfiguration: &armworkloadssapvirtualinstance.ExternalInstallationSoftwareConfiguration{
					CentralServerVMID:        to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0"),
					SoftwareInstallationType: to.Ptr(armworkloadssapvirtualinstance.SAPSoftwareInstallationTypeExternal),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](6),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP-HA"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP-HA"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP-HA"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
	// 						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilitySet),
	// 					},
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 				SoftwareConfiguration: &armworkloadssapvirtualinstance.ExternalInstallationSoftwareConfiguration{
	// 					CentralServerVMID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0"),
	// 					SoftwareInstallationType: to.Ptr(armworkloadssapvirtualinstance.SAPSoftwareInstallationTypeExternal),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateRegistrationComplete),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateDetectHaAvailabilityZone.json
func ExampleSAPVirtualInstancesClient_BeginCreate_detectSapSoftwareInstallationOnAnHaSystemWithAvailabilityZone() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](6),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP-HA"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP-HA"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType:  to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP-HA"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilityZone),
					},
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
				SoftwareConfiguration: &armworkloadssapvirtualinstance.ExternalInstallationSoftwareConfiguration{
					CentralServerVMID:        to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0"),
					SoftwareInstallationType: to.Ptr(armworkloadssapvirtualinstance.SAPSoftwareInstallationTypeExternal),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](6),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP-HA"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP-HA"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP-HA"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
	// 						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilityZone),
	// 					},
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 				SoftwareConfiguration: &armworkloadssapvirtualinstance.ExternalInstallationSoftwareConfiguration{
	// 					CentralServerVMID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0"),
	// 					SoftwareInstallationType: to.Ptr(armworkloadssapvirtualinstance.SAPSoftwareInstallationTypeExternal),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateRegistrationComplete),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateDetectSingleServer.json
func ExampleSAPVirtualInstancesClient_BeginCreate_detectSapSoftwareInstallationOnASingleServerSystem() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.SingleServerConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					DatabaseType:     to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
					DeploymentType:   to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeSingleServer),
					NetworkConfiguration: &armworkloadssapvirtualinstance.NetworkConfiguration{
						IsSecondaryIPEnabled: to.Ptr(true),
					},
					SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
					VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
						ImageReference: &armworkloadssapvirtualinstance.ImageReference{
							Offer:     to.Ptr("RHEL-SAP-HA"),
							Publisher: to.Ptr("RedHat"),
							SKU:       to.Ptr("84sapha-gen2"),
							Version:   to.Ptr("latest"),
						},
						OSProfile: &armworkloadssapvirtualinstance.OSProfile{
							AdminUsername: to.Ptr("{your-username}"),
							OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
								DisablePasswordAuthentication: to.Ptr(true),
								OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
								SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
									PrivateKey: to.Ptr("xyz"),
									PublicKey:  to.Ptr("abc"),
								},
							},
						},
						VMSize: to.Ptr("Standard_E32ds_v4"),
					},
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
				SoftwareConfiguration: &armworkloadssapvirtualinstance.ExternalInstallationSoftwareConfiguration{
					CentralServerVMID:        to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0"),
					SoftwareInstallationType: to.Ptr(armworkloadssapvirtualinstance.SAPSoftwareInstallationTypeExternal),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.SingleServerConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeSingleServer),
	// 					NetworkConfiguration: &armworkloadssapvirtualinstance.NetworkConfiguration{
	// 						IsSecondaryIPEnabled: to.Ptr(true),
	// 					},
	// 					SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 					VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 						ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 							Offer: to.Ptr("RHEL-SAP-HA"),
	// 							Publisher: to.Ptr("RedHat"),
	// 							SKU: to.Ptr("84sapha-gen2"),
	// 							Version: to.Ptr("latest"),
	// 						},
	// 						OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 							AdminUsername: to.Ptr("{your-username}"),
	// 							OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 								DisablePasswordAuthentication: to.Ptr(true),
	// 								OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 								SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 									PublicKey: to.Ptr("abc"),
	// 								},
	// 							},
	// 						},
	// 						VMSize: to.Ptr("Standard_E32ds_v4"),
	// 					},
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 				SoftwareConfiguration: &armworkloadssapvirtualinstance.ExternalInstallationSoftwareConfiguration{
	// 					CentralServerVMID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0"),
	// 					SoftwareInstallationType: to.Ptr(armworkloadssapvirtualinstance.SAPSoftwareInstallationTypeExternal),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateRegistrationComplete),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraDS.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureOnlyForDistributedSystem() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeployment),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](6),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
											{
												KeyData: to.Ptr("ssh-rsa public key"),
											},
										},
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
											{
												KeyData: to.Ptr("ssh-rsa public key"),
											},
										},
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType:  to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
											{
												KeyData: to.Ptr("ssh-rsa public key"),
											},
										},
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeployment),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](6),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 											{
	// 												KeyData: to.Ptr("ssh-rsa public key"),
	// 											},
	// 										},
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 											{
	// 												KeyData: to.Ptr("ssh-rsa public key"),
	// 											},
	// 										},
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 											{
	// 												KeyData: to.Ptr("ssh-rsa public key"),
	// 											},
	// 										},
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraDiskOsDSRecommended.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureWithDiskAndOSConfigurationForDistributedSystemRecommended() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](6),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						DiskConfiguration: &armworkloadssapvirtualinstance.DiskConfiguration{
							DiskVolumeConfigurations: map[string]*armworkloadssapvirtualinstance.DiskVolumeConfiguration{
								"backup": {
									Count:  to.Ptr[int64](2),
									SizeGB: to.Ptr[int64](256),
									SKU: &armworkloadssapvirtualinstance.DiskSKU{
										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
									},
								},
								"hana/data": {
									Count:  to.Ptr[int64](4),
									SizeGB: to.Ptr[int64](128),
									SKU: &armworkloadssapvirtualinstance.DiskSKU{
										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
									},
								},
								"hana/log": {
									Count:  to.Ptr[int64](3),
									SizeGB: to.Ptr[int64](128),
									SKU: &armworkloadssapvirtualinstance.DiskSKU{
										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
									},
								},
								"hana/shared": {
									Count:  to.Ptr[int64](1),
									SizeGB: to.Ptr[int64](256),
									SKU: &armworkloadssapvirtualinstance.DiskSKU{
										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
									},
								},
								"os": {
									Count:  to.Ptr[int64](1),
									SizeGB: to.Ptr[int64](64),
									SKU: &armworkloadssapvirtualinstance.DiskSKU{
										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
									},
								},
								"usr/sap": {
									Count:  to.Ptr[int64](1),
									SizeGB: to.Ptr[int64](128),
									SKU: &armworkloadssapvirtualinstance.DiskSKU{
										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
									},
								},
							},
						},
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](6),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						DiskConfiguration: &armworkloadssapvirtualinstance.DiskConfiguration{
	// 							DiskVolumeConfigurations: map[string]*armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 								"backup": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 									Count: to.Ptr[int64](2),
	// 									SizeGB: to.Ptr[int64](256),
	// 									SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 									},
	// 								},
	// 								"hana/data": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 									Count: to.Ptr[int64](4),
	// 									SizeGB: to.Ptr[int64](128),
	// 									SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 									},
	// 								},
	// 								"hana/log": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 									Count: to.Ptr[int64](3),
	// 									SizeGB: to.Ptr[int64](128),
	// 									SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 									},
	// 								},
	// 								"hana/shared": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 									Count: to.Ptr[int64](1),
	// 									SizeGB: to.Ptr[int64](256),
	// 									SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 									},
	// 								},
	// 								"os": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 									Count: to.Ptr[int64](1),
	// 									SizeGB: to.Ptr[int64](64),
	// 									SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 									},
	// 								},
	// 								"usr/sap": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 									Count: to.Ptr[int64](1),
	// 									SizeGB: to.Ptr[int64](128),
	// 									SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 									},
	// 								},
	// 							},
	// 						},
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraDiskOsHaAvailabilitySetRecommended.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureWithDiskAndOSConfigurationForHaSystemWithAvailabilitySetRecommended() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](6),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						DiskConfiguration: &armworkloadssapvirtualinstance.DiskConfiguration{
							DiskVolumeConfigurations: map[string]*armworkloadssapvirtualinstance.DiskVolumeConfiguration{
								"backup": {
									Count:  to.Ptr[int64](2),
									SizeGB: to.Ptr[int64](256),
									SKU: &armworkloadssapvirtualinstance.DiskSKU{
										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
									},
								},
								"hana/data": {
									Count:  to.Ptr[int64](4),
									SizeGB: to.Ptr[int64](128),
									SKU: &armworkloadssapvirtualinstance.DiskSKU{
										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
									},
								},
								"hana/log": {
									Count:  to.Ptr[int64](3),
									SizeGB: to.Ptr[int64](128),
									SKU: &armworkloadssapvirtualinstance.DiskSKU{
										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
									},
								},
								"hana/shared": {
									Count:  to.Ptr[int64](1),
									SizeGB: to.Ptr[int64](256),
									SKU: &armworkloadssapvirtualinstance.DiskSKU{
										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
									},
								},
								"os": {
									Count:  to.Ptr[int64](1),
									SizeGB: to.Ptr[int64](64),
									SKU: &armworkloadssapvirtualinstance.DiskSKU{
										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
									},
								},
								"usr/sap": {
									Count:  to.Ptr[int64](1),
									SizeGB: to.Ptr[int64](128),
									SKU: &armworkloadssapvirtualinstance.DiskSKU{
										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
									},
								},
							},
						},
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilitySet),
					},
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](6),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						DiskConfiguration: &armworkloadssapvirtualinstance.DiskConfiguration{
	// 							DiskVolumeConfigurations: map[string]*armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 								"backup": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 									Count: to.Ptr[int64](2),
	// 									SizeGB: to.Ptr[int64](256),
	// 									SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 									},
	// 								},
	// 								"hana/data": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 									Count: to.Ptr[int64](4),
	// 									SizeGB: to.Ptr[int64](128),
	// 									SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 									},
	// 								},
	// 								"hana/log": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 									Count: to.Ptr[int64](3),
	// 									SizeGB: to.Ptr[int64](128),
	// 									SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 									},
	// 								},
	// 								"hana/shared": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 									Count: to.Ptr[int64](1),
	// 									SizeGB: to.Ptr[int64](256),
	// 									SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 									},
	// 								},
	// 								"os": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 									Count: to.Ptr[int64](1),
	// 									SizeGB: to.Ptr[int64](64),
	// 									SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 									},
	// 								},
	// 								"usr/sap": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 									Count: to.Ptr[int64](1),
	// 									SizeGB: to.Ptr[int64](128),
	// 									SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 									},
	// 								},
	// 							},
	// 						},
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
	// 						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilitySet),
	// 					},
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraDiskOsHaAvailabilityZoneRecommended.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureWithDiskAndOSConfigurationForHaSystemWithAvailabilityZoneRecommended() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](6),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						DiskConfiguration: &armworkloadssapvirtualinstance.DiskConfiguration{
							DiskVolumeConfigurations: map[string]*armworkloadssapvirtualinstance.DiskVolumeConfiguration{
								"backup": {
									Count:  to.Ptr[int64](2),
									SizeGB: to.Ptr[int64](256),
									SKU: &armworkloadssapvirtualinstance.DiskSKU{
										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
									},
								},
								"hana/data": {
									Count:  to.Ptr[int64](4),
									SizeGB: to.Ptr[int64](128),
									SKU: &armworkloadssapvirtualinstance.DiskSKU{
										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
									},
								},
								"hana/log": {
									Count:  to.Ptr[int64](3),
									SizeGB: to.Ptr[int64](128),
									SKU: &armworkloadssapvirtualinstance.DiskSKU{
										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
									},
								},
								"hana/shared": {
									Count:  to.Ptr[int64](1),
									SizeGB: to.Ptr[int64](256),
									SKU: &armworkloadssapvirtualinstance.DiskSKU{
										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
									},
								},
								"os": {
									Count:  to.Ptr[int64](1),
									SizeGB: to.Ptr[int64](64),
									SKU: &armworkloadssapvirtualinstance.DiskSKU{
										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
									},
								},
								"usr/sap": {
									Count:  to.Ptr[int64](1),
									SizeGB: to.Ptr[int64](128),
									SKU: &armworkloadssapvirtualinstance.DiskSKU{
										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
									},
								},
							},
						},
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilityZone),
					},
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](6),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						DiskConfiguration: &armworkloadssapvirtualinstance.DiskConfiguration{
	// 							DiskVolumeConfigurations: map[string]*armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 								"backup": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 									Count: to.Ptr[int64](2),
	// 									SizeGB: to.Ptr[int64](256),
	// 									SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 									},
	// 								},
	// 								"hana/data": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 									Count: to.Ptr[int64](4),
	// 									SizeGB: to.Ptr[int64](128),
	// 									SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 									},
	// 								},
	// 								"hana/log": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 									Count: to.Ptr[int64](3),
	// 									SizeGB: to.Ptr[int64](128),
	// 									SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 									},
	// 								},
	// 								"hana/shared": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 									Count: to.Ptr[int64](1),
	// 									SizeGB: to.Ptr[int64](256),
	// 									SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 									},
	// 								},
	// 								"os": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 									Count: to.Ptr[int64](1),
	// 									SizeGB: to.Ptr[int64](64),
	// 									SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 									},
	// 								},
	// 								"usr/sap": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 									Count: to.Ptr[int64](1),
	// 									SizeGB: to.Ptr[int64](128),
	// 									SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 										Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 									},
	// 								},
	// 							},
	// 						},
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
	// 						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilityZone),
	// 					},
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraDiskOsSingleServerRecommended.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureWithDiskAndOSConfigurationsForSingleServerSystemRecommended() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.SingleServerConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					DatabaseType:     to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
					DbDiskConfiguration: &armworkloadssapvirtualinstance.DiskConfiguration{
						DiskVolumeConfigurations: map[string]*armworkloadssapvirtualinstance.DiskVolumeConfiguration{
							"backup": {
								Count:  to.Ptr[int64](2),
								SizeGB: to.Ptr[int64](256),
								SKU: &armworkloadssapvirtualinstance.DiskSKU{
									Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
								},
							},
							"hana/data": {
								Count:  to.Ptr[int64](4),
								SizeGB: to.Ptr[int64](128),
								SKU: &armworkloadssapvirtualinstance.DiskSKU{
									Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
								},
							},
							"hana/log": {
								Count:  to.Ptr[int64](3),
								SizeGB: to.Ptr[int64](128),
								SKU: &armworkloadssapvirtualinstance.DiskSKU{
									Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
								},
							},
							"hana/shared": {
								Count:  to.Ptr[int64](1),
								SizeGB: to.Ptr[int64](256),
								SKU: &armworkloadssapvirtualinstance.DiskSKU{
									Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
								},
							},
							"os": {
								Count:  to.Ptr[int64](1),
								SizeGB: to.Ptr[int64](64),
								SKU: &armworkloadssapvirtualinstance.DiskSKU{
									Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
								},
							},
							"usr/sap": {
								Count:  to.Ptr[int64](1),
								SizeGB: to.Ptr[int64](128),
								SKU: &armworkloadssapvirtualinstance.DiskSKU{
									Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
								},
							},
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeSingleServer),
					NetworkConfiguration: &armworkloadssapvirtualinstance.NetworkConfiguration{
						IsSecondaryIPEnabled: to.Ptr(true),
					},
					SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
					VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
						ImageReference: &armworkloadssapvirtualinstance.ImageReference{
							Offer:     to.Ptr("RHEL-SAP"),
							Publisher: to.Ptr("RedHat"),
							SKU:       to.Ptr("84sapha-gen2"),
							Version:   to.Ptr("latest"),
						},
						OSProfile: &armworkloadssapvirtualinstance.OSProfile{
							AdminUsername: to.Ptr("{your-username}"),
							OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
								DisablePasswordAuthentication: to.Ptr(true),
								OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
								SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
									PrivateKey: to.Ptr("xyz"),
									PublicKey:  to.Ptr("abc"),
								},
							},
						},
						VMSize: to.Ptr("Standard_E32ds_v4"),
					},
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.SingleServerConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 					DbDiskConfiguration: &armworkloadssapvirtualinstance.DiskConfiguration{
	// 						DiskVolumeConfigurations: map[string]*armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 							"backup": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 								Count: to.Ptr[int64](2),
	// 								SizeGB: to.Ptr[int64](256),
	// 								SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 									Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 								},
	// 							},
	// 							"hana/data": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 								Count: to.Ptr[int64](4),
	// 								SizeGB: to.Ptr[int64](128),
	// 								SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 									Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 								},
	// 							},
	// 							"hana/log": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 								Count: to.Ptr[int64](3),
	// 								SizeGB: to.Ptr[int64](128),
	// 								SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 									Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 								},
	// 							},
	// 							"hana/shared": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 								Count: to.Ptr[int64](1),
	// 								SizeGB: to.Ptr[int64](256),
	// 								SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 									Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 								},
	// 							},
	// 							"os": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 								Count: to.Ptr[int64](1),
	// 								SizeGB: to.Ptr[int64](64),
	// 								SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 									Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 								},
	// 							},
	// 							"usr/sap": &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 								Count: to.Ptr[int64](1),
	// 								SizeGB: to.Ptr[int64](128),
	// 								SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 									Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 								},
	// 							},
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeSingleServer),
	// 					NetworkConfiguration: &armworkloadssapvirtualinstance.NetworkConfiguration{
	// 						IsSecondaryIPEnabled: to.Ptr(true),
	// 					},
	// 					SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/dindurkhya-e2etesting/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 					VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 						ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 							Offer: to.Ptr("RHEL-SAP"),
	// 							Publisher: to.Ptr("RedHat"),
	// 							SKU: to.Ptr("84sapha-gen2"),
	// 							Version: to.Ptr("latest"),
	// 						},
	// 						OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 							AdminUsername: to.Ptr("{your-username}"),
	// 							OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 								DisablePasswordAuthentication: to.Ptr(true),
	// 								OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 								SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 									PublicKey: to.Ptr("abc"),
	// 								},
	// 							},
	// 						},
	// 						VMSize: to.Ptr("Standard_E32ds_v4"),
	// 					},
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraHaAvailabilitySet.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureOnlyForHaSystemWithAvailabilitySet() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeployment),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](5),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
											{
												KeyData: to.Ptr("ssh-rsa public key"),
											},
										},
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
											{
												KeyData: to.Ptr("ssh-rsa public key"),
											},
										},
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType:  to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
											{
												KeyData: to.Ptr("ssh-rsa public key"),
											},
										},
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilitySet),
					},
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeployment),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](5),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 											{
	// 												KeyData: to.Ptr("ssh-rsa public key"),
	// 											},
	// 										},
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 											{
	// 												KeyData: to.Ptr("ssh-rsa public key"),
	// 											},
	// 										},
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 											{
	// 												KeyData: to.Ptr("ssh-rsa public key"),
	// 											},
	// 										},
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
	// 						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilitySet),
	// 					},
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraHaAvailabilityZone.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureOnlyForHaSystemWithAvailabilityZone() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeployment),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](6),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
											{
												KeyData: to.Ptr("ssh-rsa public key"),
											},
										},
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
											{
												KeyData: to.Ptr("ssh-rsa public key"),
											},
										},
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType:  to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
											{
												KeyData: to.Ptr("ssh-rsa public key"),
											},
										},
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilityZone),
					},
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeployment),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](6),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 											{
	// 												KeyData: to.Ptr("ssh-rsa public key"),
	// 											},
	// 										},
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 											{
	// 												KeyData: to.Ptr("ssh-rsa public key"),
	// 											},
	// 										},
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 											{
	// 												KeyData: to.Ptr("ssh-rsa public key"),
	// 											},
	// 										},
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
	// 						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilityZone),
	// 					},
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraOsComputeGalleryImage.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureWithOSConfigurationWithAzureComputeGalleryImage() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeployment),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](6),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								ID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/galleries/testgallery/images/rhelimagetest/versions/0.0.1"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
											{
												KeyData: to.Ptr("ssh-rsa public key"),
											},
										},
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								ID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/galleries/testgallery/images/rhelimagetest/versions/0.0.1"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
											{
												KeyData: to.Ptr("ssh-rsa public key"),
											},
										},
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType:  to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								ID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/galleries/testgallery/images/rhelimagetest/versions/0.0.1"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
											{
												KeyData: to.Ptr("ssh-rsa public key"),
											},
										},
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilityZone),
					},
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeployment),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](6),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								ID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/galleries/testgallery/images/rhelimagetest/versions/0.0.1"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 											{
	// 												KeyData: to.Ptr("ssh-rsa public key"),
	// 											},
	// 										},
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								ID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/galleries/testgallery/images/rhelimagetest/versions/0.0.1"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 											{
	// 												KeyData: to.Ptr("ssh-rsa public key"),
	// 											},
	// 										},
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								ID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/galleries/testgallery/images/rhelimagetest/versions/0.0.1"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 											{
	// 												KeyData: to.Ptr("ssh-rsa public key"),
	// 											},
	// 										},
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
	// 						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilityZone),
	// 					},
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraOsCustomResourceNamesDS.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureWithOSConfigurationWithCustomResourceNamesForDistributedSystem() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](6),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					CustomResourceNames: &armworkloadssapvirtualinstance.ThreeTierFullResourceNames{
						ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerFullResourceNames{
							AvailabilitySetName: to.Ptr("appAvSet"),
							VirtualMachines: []*armworkloadssapvirtualinstance.VirtualMachineResourceNames{
								{
									DataDiskNames: map[string][]*string{
										"default": {
											to.Ptr("app0disk0"),
										},
									},
									HostName: to.Ptr("apphostName0"),
									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
										{
											NetworkInterfaceName: to.Ptr("appnic0"),
										},
									},
									OSDiskName: to.Ptr("app0osdisk"),
									VMName:     to.Ptr("appvm0"),
								},
								{
									DataDiskNames: map[string][]*string{
										"default": {
											to.Ptr("app1disk0"),
										},
									},
									HostName: to.Ptr("apphostName1"),
									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
										{
											NetworkInterfaceName: to.Ptr("appnic1"),
										},
									},
									OSDiskName: to.Ptr("app1osdisk"),
									VMName:     to.Ptr("appvm1"),
								},
							},
						},
						CentralServer: &armworkloadssapvirtualinstance.CentralServerFullResourceNames{
							VirtualMachines: []*armworkloadssapvirtualinstance.VirtualMachineResourceNames{
								{
									DataDiskNames: map[string][]*string{
										"default": {
											to.Ptr("ascsdisk0"),
										},
									},
									HostName: to.Ptr("ascshostName"),
									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
										{
											NetworkInterfaceName: to.Ptr("ascsnic"),
										},
									},
									OSDiskName: to.Ptr("ascsosdisk"),
									VMName:     to.Ptr("ascsvm"),
								},
							},
						},
						DatabaseServer: &armworkloadssapvirtualinstance.DatabaseServerFullResourceNames{
							VirtualMachines: []*armworkloadssapvirtualinstance.VirtualMachineResourceNames{
								{
									DataDiskNames: map[string][]*string{
										"hanaData": {
											to.Ptr("hanadata0"),
											to.Ptr("hanadata1"),
										},
										"hanaLog": {
											to.Ptr("hanalog0"),
											to.Ptr("hanalog1"),
											to.Ptr("hanalog2"),
										},
										"hanaShared": {
											to.Ptr("hanashared0"),
											to.Ptr("hanashared1"),
										},
										"usrSap": {
											to.Ptr("usrsap0"),
										},
									},
									HostName: to.Ptr("dbhostName"),
									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
										{
											NetworkInterfaceName: to.Ptr("dbnic"),
										},
									},
									OSDiskName: to.Ptr("dbosdisk"),
									VMName:     to.Ptr("dbvm"),
								},
							},
						},
						NamingPatternType: to.Ptr(armworkloadssapvirtualinstance.NamingPatternTypeFullResourceName),
						SharedStorage: &armworkloadssapvirtualinstance.SharedStorageResourceNames{
							SharedStorageAccountName:                to.Ptr("storageacc"),
							SharedStorageAccountPrivateEndPointName: to.Ptr("peForxNFS"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType:  to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](6),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					CustomResourceNames: &armworkloadssapvirtualinstance.ThreeTierFullResourceNames{
	// 						ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerFullResourceNames{
	// 							AvailabilitySetName: to.Ptr("appAvSet"),
	// 							VirtualMachines: []*armworkloadssapvirtualinstance.VirtualMachineResourceNames{
	// 								{
	// 									DataDiskNames: map[string][]*string{
	// 										"default": []*string{
	// 											to.Ptr("app0disk0"),
	// 										},
	// 									},
	// 									HostName: to.Ptr("apphostName0"),
	// 									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
	// 										{
	// 											NetworkInterfaceName: to.Ptr("appnic0"),
	// 										},
	// 									},
	// 									OSDiskName: to.Ptr("app0osdisk"),
	// 									VMName: to.Ptr("appvm0"),
	// 								},
	// 								{
	// 									DataDiskNames: map[string][]*string{
	// 										"default": []*string{
	// 											to.Ptr("app1disk0"),
	// 										},
	// 									},
	// 									HostName: to.Ptr("apphostName1"),
	// 									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
	// 										{
	// 											NetworkInterfaceName: to.Ptr("appnic1"),
	// 										},
	// 									},
	// 									OSDiskName: to.Ptr("app1osdisk"),
	// 									VMName: to.Ptr("appvm1"),
	// 								},
	// 							},
	// 						},
	// 						CentralServer: &armworkloadssapvirtualinstance.CentralServerFullResourceNames{
	// 							VirtualMachines: []*armworkloadssapvirtualinstance.VirtualMachineResourceNames{
	// 								{
	// 									DataDiskNames: map[string][]*string{
	// 										"default": []*string{
	// 											to.Ptr("ascsdisk0"),
	// 										},
	// 									},
	// 									HostName: to.Ptr("ascshostName"),
	// 									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
	// 										{
	// 											NetworkInterfaceName: to.Ptr("ascsnic"),
	// 										},
	// 									},
	// 									OSDiskName: to.Ptr("ascsosdisk"),
	// 									VMName: to.Ptr("ascsvm"),
	// 								},
	// 							},
	// 						},
	// 						DatabaseServer: &armworkloadssapvirtualinstance.DatabaseServerFullResourceNames{
	// 							VirtualMachines: []*armworkloadssapvirtualinstance.VirtualMachineResourceNames{
	// 								{
	// 									DataDiskNames: map[string][]*string{
	// 										"hanaData": []*string{
	// 											to.Ptr("hanadata0"),
	// 											to.Ptr("hanadata1"),
	// 										},
	// 										"hanaLog": []*string{
	// 											to.Ptr("hanalog0"),
	// 											to.Ptr("hanalog1"),
	// 											to.Ptr("hanalog2"),
	// 										},
	// 										"hanaShared": []*string{
	// 											to.Ptr("hanashared0"),
	// 											to.Ptr("hanashared1"),
	// 										},
	// 										"usrSap": []*string{
	// 											to.Ptr("usrsap0"),
	// 										},
	// 									},
	// 									HostName: to.Ptr("dbhostName"),
	// 									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
	// 										{
	// 											NetworkInterfaceName: to.Ptr("dbnic"),
	// 										},
	// 									},
	// 									OSDiskName: to.Ptr("dbosdisk"),
	// 									VMName: to.Ptr("dbvm"),
	// 								},
	// 							},
	// 						},
	// 						NamingPatternType: to.Ptr(armworkloadssapvirtualinstance.NamingPatternTypeFullResourceName),
	// 						SharedStorage: &armworkloadssapvirtualinstance.SharedStorageResourceNames{
	// 							SharedStorageAccountName: to.Ptr("storageacc"),
	// 							SharedStorageAccountPrivateEndPointName: to.Ptr("peForxNFS"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraOsCustomResourceNamesHaAvailabilitySet.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureWithOSConfigurationWithCustomResourceNamesForHaSystemWithAvailabilitySet() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](6),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					CustomResourceNames: &armworkloadssapvirtualinstance.ThreeTierFullResourceNames{
						ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerFullResourceNames{
							AvailabilitySetName: to.Ptr("appAvSet"),
							VirtualMachines: []*armworkloadssapvirtualinstance.VirtualMachineResourceNames{
								{
									DataDiskNames: map[string][]*string{
										"default": {
											to.Ptr("app0disk0"),
										},
									},
									HostName: to.Ptr("apphostName0"),
									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
										{
											NetworkInterfaceName: to.Ptr("appnic0"),
										},
									},
									OSDiskName: to.Ptr("app0osdisk"),
									VMName:     to.Ptr("appvm0"),
								},
								{
									DataDiskNames: map[string][]*string{
										"default": {
											to.Ptr("app1disk0"),
										},
									},
									HostName: to.Ptr("apphostName1"),
									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
										{
											NetworkInterfaceName: to.Ptr("appnic1"),
										},
									},
									OSDiskName: to.Ptr("app1osdisk"),
									VMName:     to.Ptr("appvm1"),
								},
							},
						},
						CentralServer: &armworkloadssapvirtualinstance.CentralServerFullResourceNames{
							AvailabilitySetName: to.Ptr("csAvSet"),
							LoadBalancer: &armworkloadssapvirtualinstance.LoadBalancerResourceNames{
								BackendPoolNames: []*string{
									to.Ptr("ascsBackendPool"),
								},
								FrontendIPConfigurationNames: []*string{
									to.Ptr("ascsip0"),
									to.Ptr("ersip0"),
								},
								HealthProbeNames: []*string{
									to.Ptr("ascsHealthProbe"),
									to.Ptr("ersHealthProbe"),
								},
								LoadBalancerName: to.Ptr("ascslb"),
							},
							VirtualMachines: []*armworkloadssapvirtualinstance.VirtualMachineResourceNames{
								{
									HostName: to.Ptr("ascshostName"),
									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
										{
											NetworkInterfaceName: to.Ptr("ascsnic"),
										},
									},
									OSDiskName: to.Ptr("ascsosdisk"),
									VMName:     to.Ptr("ascsvm"),
								},
								{
									HostName: to.Ptr("ershostName"),
									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
										{
											NetworkInterfaceName: to.Ptr("ersnic"),
										},
									},
									OSDiskName: to.Ptr("ersosdisk"),
									VMName:     to.Ptr("ersvm"),
								},
							},
						},
						DatabaseServer: &armworkloadssapvirtualinstance.DatabaseServerFullResourceNames{
							AvailabilitySetName: to.Ptr("dbAvSet"),
							LoadBalancer: &armworkloadssapvirtualinstance.LoadBalancerResourceNames{
								BackendPoolNames: []*string{
									to.Ptr("dbBackendPool"),
								},
								FrontendIPConfigurationNames: []*string{
									to.Ptr("dbip"),
								},
								HealthProbeNames: []*string{
									to.Ptr("dbHealthProbe"),
								},
								LoadBalancerName: to.Ptr("dblb"),
							},
							VirtualMachines: []*armworkloadssapvirtualinstance.VirtualMachineResourceNames{
								{
									DataDiskNames: map[string][]*string{
										"hanaData": {
											to.Ptr("hanadatapr0"),
											to.Ptr("hanadatapr1"),
										},
										"hanaLog": {
											to.Ptr("hanalogpr0"),
											to.Ptr("hanalogpr1"),
											to.Ptr("hanalogpr2"),
										},
										"hanaShared": {
											to.Ptr("hanasharedpr0"),
											to.Ptr("hanasharedpr1"),
										},
										"usrSap": {
											to.Ptr("usrsappr0"),
										},
									},
									HostName: to.Ptr("dbprhostName"),
									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
										{
											NetworkInterfaceName: to.Ptr("dbprnic"),
										},
									},
									OSDiskName: to.Ptr("dbprosdisk"),
									VMName:     to.Ptr("dbvmpr"),
								},
								{
									DataDiskNames: map[string][]*string{
										"hanaData": {
											to.Ptr("hanadatasr0"),
											to.Ptr("hanadatasr1"),
										},
										"hanaLog": {
											to.Ptr("hanalogsr0"),
											to.Ptr("hanalogsr1"),
											to.Ptr("hanalogsr2"),
										},
										"hanaShared": {
											to.Ptr("hanasharedsr0"),
											to.Ptr("hanasharedsr1"),
										},
										"usrSap": {
											to.Ptr("usrsapsr0"),
										},
									},
									HostName: to.Ptr("dbsrhostName"),
									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
										{
											NetworkInterfaceName: to.Ptr("dbsrnic"),
										},
									},
									OSDiskName: to.Ptr("dbsrosdisk"),
									VMName:     to.Ptr("dbvmsr"),
								},
							},
						},
						NamingPatternType: to.Ptr(armworkloadssapvirtualinstance.NamingPatternTypeFullResourceName),
						SharedStorage: &armworkloadssapvirtualinstance.SharedStorageResourceNames{
							SharedStorageAccountName:                to.Ptr("storageacc"),
							SharedStorageAccountPrivateEndPointName: to.Ptr("peForxNFS"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType:  to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilitySet),
					},
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](6),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					CustomResourceNames: &armworkloadssapvirtualinstance.ThreeTierFullResourceNames{
	// 						ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerFullResourceNames{
	// 							AvailabilitySetName: to.Ptr("appAvSet"),
	// 							VirtualMachines: []*armworkloadssapvirtualinstance.VirtualMachineResourceNames{
	// 								{
	// 									DataDiskNames: map[string][]*string{
	// 										"default": []*string{
	// 											to.Ptr("app0disk0"),
	// 										},
	// 									},
	// 									HostName: to.Ptr("apphostName0"),
	// 									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
	// 										{
	// 											NetworkInterfaceName: to.Ptr("appnic0"),
	// 										},
	// 									},
	// 									OSDiskName: to.Ptr("app0osdisk"),
	// 									VMName: to.Ptr("appvm0"),
	// 								},
	// 								{
	// 									DataDiskNames: map[string][]*string{
	// 										"default": []*string{
	// 											to.Ptr("app1disk0"),
	// 										},
	// 									},
	// 									HostName: to.Ptr("apphostName1"),
	// 									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
	// 										{
	// 											NetworkInterfaceName: to.Ptr("appnic1"),
	// 										},
	// 									},
	// 									OSDiskName: to.Ptr("app1osdisk"),
	// 									VMName: to.Ptr("appvm1"),
	// 								},
	// 							},
	// 						},
	// 						CentralServer: &armworkloadssapvirtualinstance.CentralServerFullResourceNames{
	// 							AvailabilitySetName: to.Ptr("csAvSet"),
	// 							LoadBalancer: &armworkloadssapvirtualinstance.LoadBalancerResourceNames{
	// 								BackendPoolNames: []*string{
	// 									to.Ptr("ascsBackendPool"),
	// 								},
	// 								FrontendIPConfigurationNames: []*string{
	// 									to.Ptr("ascsip0"),
	// 									to.Ptr("ersip0"),
	// 								},
	// 								HealthProbeNames: []*string{
	// 									to.Ptr("ascsHealthProbe"),
	// 									to.Ptr("ersHealthProbe"),
	// 								},
	// 								LoadBalancerName: to.Ptr("ascslb"),
	// 							},
	// 							VirtualMachines: []*armworkloadssapvirtualinstance.VirtualMachineResourceNames{
	// 								{
	// 									HostName: to.Ptr("ascshostName"),
	// 									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
	// 										{
	// 											NetworkInterfaceName: to.Ptr("ascsnic"),
	// 										},
	// 									},
	// 									OSDiskName: to.Ptr("ascsosdisk"),
	// 									VMName: to.Ptr("ascsvm"),
	// 								},
	// 								{
	// 									HostName: to.Ptr("ershostName"),
	// 									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
	// 										{
	// 											NetworkInterfaceName: to.Ptr("ersnic"),
	// 										},
	// 									},
	// 									OSDiskName: to.Ptr("ersosdisk"),
	// 									VMName: to.Ptr("ersvm"),
	// 								},
	// 							},
	// 						},
	// 						DatabaseServer: &armworkloadssapvirtualinstance.DatabaseServerFullResourceNames{
	// 							AvailabilitySetName: to.Ptr("dbAvSet"),
	// 							LoadBalancer: &armworkloadssapvirtualinstance.LoadBalancerResourceNames{
	// 								BackendPoolNames: []*string{
	// 									to.Ptr("dbBackendPool"),
	// 								},
	// 								FrontendIPConfigurationNames: []*string{
	// 									to.Ptr("dbip"),
	// 								},
	// 								HealthProbeNames: []*string{
	// 									to.Ptr("dbHealthProbe"),
	// 								},
	// 								LoadBalancerName: to.Ptr("dblb"),
	// 							},
	// 							VirtualMachines: []*armworkloadssapvirtualinstance.VirtualMachineResourceNames{
	// 								{
	// 									DataDiskNames: map[string][]*string{
	// 										"hanaData": []*string{
	// 											to.Ptr("hanadatapr0"),
	// 											to.Ptr("hanadatapr1"),
	// 										},
	// 										"hanaLog": []*string{
	// 											to.Ptr("hanalogpr0"),
	// 											to.Ptr("hanalogpr1"),
	// 											to.Ptr("hanalogpr2"),
	// 										},
	// 										"hanaShared": []*string{
	// 											to.Ptr("hanasharedpr0"),
	// 											to.Ptr("hanasharedpr1"),
	// 										},
	// 										"usrSap": []*string{
	// 											to.Ptr("usrsappr0"),
	// 										},
	// 									},
	// 									HostName: to.Ptr("dbprhostName"),
	// 									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
	// 										{
	// 											NetworkInterfaceName: to.Ptr("dbprnic"),
	// 										},
	// 									},
	// 									OSDiskName: to.Ptr("dbprosdisk"),
	// 									VMName: to.Ptr("dbvmpr"),
	// 								},
	// 								{
	// 									DataDiskNames: map[string][]*string{
	// 										"hanaData": []*string{
	// 											to.Ptr("hanadatasr0"),
	// 											to.Ptr("hanadatasr1"),
	// 										},
	// 										"hanaLog": []*string{
	// 											to.Ptr("hanalogsr0"),
	// 											to.Ptr("hanalogsr1"),
	// 											to.Ptr("hanalogsr2"),
	// 										},
	// 										"hanaShared": []*string{
	// 											to.Ptr("hanasharedsr0"),
	// 											to.Ptr("hanasharedsr1"),
	// 										},
	// 										"usrSap": []*string{
	// 											to.Ptr("usrsapsr0"),
	// 										},
	// 									},
	// 									HostName: to.Ptr("dbsrhostName"),
	// 									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
	// 										{
	// 											NetworkInterfaceName: to.Ptr("dbsrnic"),
	// 										},
	// 									},
	// 									OSDiskName: to.Ptr("dbsrosdisk"),
	// 									VMName: to.Ptr("dbvmsr"),
	// 								},
	// 							},
	// 						},
	// 						NamingPatternType: to.Ptr(armworkloadssapvirtualinstance.NamingPatternTypeFullResourceName),
	// 						SharedStorage: &armworkloadssapvirtualinstance.SharedStorageResourceNames{
	// 							SharedStorageAccountName: to.Ptr("storageacc"),
	// 							SharedStorageAccountPrivateEndPointName: to.Ptr("peForxNFS"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
	// 						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilitySet),
	// 					},
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraOsCustomResourceNamesHaAvailabilityZone.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureWithOSConfigurationWithCustomResourceNamesForHaSystemWithAvailabilityZone() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](6),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					CustomResourceNames: &armworkloadssapvirtualinstance.ThreeTierFullResourceNames{
						ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerFullResourceNames{
							VirtualMachines: []*armworkloadssapvirtualinstance.VirtualMachineResourceNames{
								{
									DataDiskNames: map[string][]*string{
										"default": {
											to.Ptr("app0disk0"),
										},
									},
									HostName: to.Ptr("apphostName0"),
									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
										{
											NetworkInterfaceName: to.Ptr("appnic0"),
										},
									},
									OSDiskName: to.Ptr("app0osdisk"),
									VMName:     to.Ptr("appvm0"),
								},
								{
									DataDiskNames: map[string][]*string{
										"default": {
											to.Ptr("app1disk0"),
										},
									},
									HostName: to.Ptr("apphostName1"),
									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
										{
											NetworkInterfaceName: to.Ptr("appnic1"),
										},
									},
									OSDiskName: to.Ptr("app1osdisk"),
									VMName:     to.Ptr("appvm1"),
								},
							},
						},
						CentralServer: &armworkloadssapvirtualinstance.CentralServerFullResourceNames{
							LoadBalancer: &armworkloadssapvirtualinstance.LoadBalancerResourceNames{
								BackendPoolNames: []*string{
									to.Ptr("ascsBackendPool"),
								},
								FrontendIPConfigurationNames: []*string{
									to.Ptr("ascsip0"),
									to.Ptr("ersip0"),
								},
								HealthProbeNames: []*string{
									to.Ptr("ascsHealthProbe"),
									to.Ptr("ersHealthProbe"),
								},
								LoadBalancerName: to.Ptr("ascslb"),
							},
							VirtualMachines: []*armworkloadssapvirtualinstance.VirtualMachineResourceNames{
								{
									HostName: to.Ptr("ascshostName"),
									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
										{
											NetworkInterfaceName: to.Ptr("ascsnic"),
										},
									},
									OSDiskName: to.Ptr("ascsosdisk"),
									VMName:     to.Ptr("ascsvm"),
								},
								{
									HostName: to.Ptr("ershostName"),
									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
										{
											NetworkInterfaceName: to.Ptr("ersnic"),
										},
									},
									OSDiskName: to.Ptr("ersosdisk"),
									VMName:     to.Ptr("ersvm"),
								},
							},
						},
						DatabaseServer: &armworkloadssapvirtualinstance.DatabaseServerFullResourceNames{
							LoadBalancer: &armworkloadssapvirtualinstance.LoadBalancerResourceNames{
								BackendPoolNames: []*string{
									to.Ptr("dbBackendPool"),
								},
								FrontendIPConfigurationNames: []*string{
									to.Ptr("dbip"),
								},
								HealthProbeNames: []*string{
									to.Ptr("dbHealthProbe"),
								},
								LoadBalancerName: to.Ptr("dblb"),
							},
							VirtualMachines: []*armworkloadssapvirtualinstance.VirtualMachineResourceNames{
								{
									DataDiskNames: map[string][]*string{
										"hanaData": {
											to.Ptr("hanadatapr0"),
											to.Ptr("hanadatapr1"),
										},
										"hanaLog": {
											to.Ptr("hanalogpr0"),
											to.Ptr("hanalogpr1"),
											to.Ptr("hanalogpr2"),
										},
										"hanaShared": {
											to.Ptr("hanasharedpr0"),
											to.Ptr("hanasharedpr1"),
										},
										"usrSap": {
											to.Ptr("usrsappr0"),
										},
									},
									HostName: to.Ptr("dbprhostName"),
									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
										{
											NetworkInterfaceName: to.Ptr("dbprnic"),
										},
									},
									OSDiskName: to.Ptr("dbprosdisk"),
									VMName:     to.Ptr("dbvmpr"),
								},
								{
									DataDiskNames: map[string][]*string{
										"hanaData": {
											to.Ptr("hanadatasr0"),
											to.Ptr("hanadatasr1"),
										},
										"hanaLog": {
											to.Ptr("hanalogsr0"),
											to.Ptr("hanalogsr1"),
											to.Ptr("hanalogsr2"),
										},
										"hanaShared": {
											to.Ptr("hanasharedsr0"),
											to.Ptr("hanasharedsr1"),
										},
										"usrSap": {
											to.Ptr("usrsapsr0"),
										},
									},
									HostName: to.Ptr("dbsrhostName"),
									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
										{
											NetworkInterfaceName: to.Ptr("dbsrnic"),
										},
									},
									OSDiskName: to.Ptr("dbsrosdisk"),
									VMName:     to.Ptr("dbvmsr"),
								},
							},
						},
						NamingPatternType: to.Ptr(armworkloadssapvirtualinstance.NamingPatternTypeFullResourceName),
						SharedStorage: &armworkloadssapvirtualinstance.SharedStorageResourceNames{
							SharedStorageAccountName:                to.Ptr("storageacc"),
							SharedStorageAccountPrivateEndPointName: to.Ptr("peForxNFS"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType:  to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilityZone),
					},
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](6),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					CustomResourceNames: &armworkloadssapvirtualinstance.ThreeTierFullResourceNames{
	// 						ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerFullResourceNames{
	// 							VirtualMachines: []*armworkloadssapvirtualinstance.VirtualMachineResourceNames{
	// 								{
	// 									DataDiskNames: map[string][]*string{
	// 										"default": []*string{
	// 											to.Ptr("app0disk0"),
	// 										},
	// 									},
	// 									HostName: to.Ptr("apphostName0"),
	// 									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
	// 										{
	// 											NetworkInterfaceName: to.Ptr("appnic0"),
	// 										},
	// 									},
	// 									OSDiskName: to.Ptr("app0osdisk"),
	// 									VMName: to.Ptr("appvm0"),
	// 								},
	// 								{
	// 									DataDiskNames: map[string][]*string{
	// 										"default": []*string{
	// 											to.Ptr("app1disk0"),
	// 										},
	// 									},
	// 									HostName: to.Ptr("apphostName1"),
	// 									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
	// 										{
	// 											NetworkInterfaceName: to.Ptr("appnic1"),
	// 										},
	// 									},
	// 									OSDiskName: to.Ptr("app1osdisk"),
	// 									VMName: to.Ptr("appvm1"),
	// 								},
	// 							},
	// 						},
	// 						CentralServer: &armworkloadssapvirtualinstance.CentralServerFullResourceNames{
	// 							LoadBalancer: &armworkloadssapvirtualinstance.LoadBalancerResourceNames{
	// 								BackendPoolNames: []*string{
	// 									to.Ptr("ascsBackendPool"),
	// 								},
	// 								FrontendIPConfigurationNames: []*string{
	// 									to.Ptr("ascsip0"),
	// 									to.Ptr("ersip0"),
	// 								},
	// 								HealthProbeNames: []*string{
	// 									to.Ptr("ascsHealthProbe"),
	// 									to.Ptr("ersHealthProbe"),
	// 								},
	// 								LoadBalancerName: to.Ptr("ascslb"),
	// 							},
	// 							VirtualMachines: []*armworkloadssapvirtualinstance.VirtualMachineResourceNames{
	// 								{
	// 									HostName: to.Ptr("ascshostName"),
	// 									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
	// 										{
	// 											NetworkInterfaceName: to.Ptr("ascsnic"),
	// 										},
	// 									},
	// 									OSDiskName: to.Ptr("ascsosdisk"),
	// 									VMName: to.Ptr("ascsvm"),
	// 								},
	// 								{
	// 									HostName: to.Ptr("ershostName"),
	// 									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
	// 										{
	// 											NetworkInterfaceName: to.Ptr("ersnic"),
	// 										},
	// 									},
	// 									OSDiskName: to.Ptr("ersosdisk"),
	// 									VMName: to.Ptr("ersvm"),
	// 								},
	// 							},
	// 						},
	// 						DatabaseServer: &armworkloadssapvirtualinstance.DatabaseServerFullResourceNames{
	// 							LoadBalancer: &armworkloadssapvirtualinstance.LoadBalancerResourceNames{
	// 								BackendPoolNames: []*string{
	// 									to.Ptr("dbBackendPool"),
	// 								},
	// 								FrontendIPConfigurationNames: []*string{
	// 									to.Ptr("dbip"),
	// 								},
	// 								HealthProbeNames: []*string{
	// 									to.Ptr("dbHealthProbe"),
	// 								},
	// 								LoadBalancerName: to.Ptr("dblb"),
	// 							},
	// 							VirtualMachines: []*armworkloadssapvirtualinstance.VirtualMachineResourceNames{
	// 								{
	// 									DataDiskNames: map[string][]*string{
	// 										"hanaData": []*string{
	// 											to.Ptr("hanadatapr0"),
	// 											to.Ptr("hanadatapr1"),
	// 										},
	// 										"hanaLog": []*string{
	// 											to.Ptr("hanalogpr0"),
	// 											to.Ptr("hanalogpr1"),
	// 											to.Ptr("hanalogpr2"),
	// 										},
	// 										"hanaShared": []*string{
	// 											to.Ptr("hanasharedpr0"),
	// 											to.Ptr("hanasharedpr1"),
	// 										},
	// 										"usrSap": []*string{
	// 											to.Ptr("usrsappr0"),
	// 										},
	// 									},
	// 									HostName: to.Ptr("dbprhostName"),
	// 									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
	// 										{
	// 											NetworkInterfaceName: to.Ptr("dbprnic"),
	// 										},
	// 									},
	// 									OSDiskName: to.Ptr("dbprosdisk"),
	// 									VMName: to.Ptr("dbvmpr"),
	// 								},
	// 								{
	// 									DataDiskNames: map[string][]*string{
	// 										"hanaData": []*string{
	// 											to.Ptr("hanadatasr0"),
	// 											to.Ptr("hanadatasr1"),
	// 										},
	// 										"hanaLog": []*string{
	// 											to.Ptr("hanalogsr0"),
	// 											to.Ptr("hanalogsr1"),
	// 											to.Ptr("hanalogsr2"),
	// 										},
	// 										"hanaShared": []*string{
	// 											to.Ptr("hanasharedsr0"),
	// 											to.Ptr("hanasharedsr1"),
	// 										},
	// 										"usrSap": []*string{
	// 											to.Ptr("usrsapsr0"),
	// 										},
	// 									},
	// 									HostName: to.Ptr("dbsrhostName"),
	// 									NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
	// 										{
	// 											NetworkInterfaceName: to.Ptr("dbsrnic"),
	// 										},
	// 									},
	// 									OSDiskName: to.Ptr("dbsrosdisk"),
	// 									VMName: to.Ptr("dbvmsr"),
	// 								},
	// 							},
	// 						},
	// 						NamingPatternType: to.Ptr(armworkloadssapvirtualinstance.NamingPatternTypeFullResourceName),
	// 						SharedStorage: &armworkloadssapvirtualinstance.SharedStorageResourceNames{
	// 							SharedStorageAccountName: to.Ptr("storageacc"),
	// 							SharedStorageAccountPrivateEndPointName: to.Ptr("peForxNFS"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
	// 						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilityZone),
	// 					},
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraOsCustomResourceNamesSingleServer.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureWithOSConfigurationWithCustomResourceNamesForSingleServerSystem() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.SingleServerConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					DatabaseType:     to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
					DeploymentType:   to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeSingleServer),
					NetworkConfiguration: &armworkloadssapvirtualinstance.NetworkConfiguration{
						IsSecondaryIPEnabled: to.Ptr(true),
					},
					SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
					VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
						ImageReference: &armworkloadssapvirtualinstance.ImageReference{
							Offer:     to.Ptr("RHEL-SAP"),
							Publisher: to.Ptr("RedHat"),
							SKU:       to.Ptr("84sapha-gen2"),
							Version:   to.Ptr("latest"),
						},
						OSProfile: &armworkloadssapvirtualinstance.OSProfile{
							AdminUsername: to.Ptr("{your-username}"),
							OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
								DisablePasswordAuthentication: to.Ptr(true),
								OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
								SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
									PrivateKey: to.Ptr("xyz"),
									PublicKey:  to.Ptr("abc"),
								},
							},
						},
						VMSize: to.Ptr("Standard_E32ds_v4"),
					},
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.SingleServerConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					CustomResourceNames: &armworkloadssapvirtualinstance.SingleServerFullResourceNames{
	// 						NamingPatternType: to.Ptr(armworkloadssapvirtualinstance.NamingPatternTypeFullResourceName),
	// 						VirtualMachine: &armworkloadssapvirtualinstance.VirtualMachineResourceNames{
	// 							DataDiskNames: map[string][]*string{
	// 								"hanaData": []*string{
	// 									to.Ptr("hanadata0"),
	// 									to.Ptr("hanadata1"),
	// 								},
	// 								"hanaLog": []*string{
	// 									to.Ptr("hanalog0"),
	// 									to.Ptr("hanalog1"),
	// 									to.Ptr("hanalog2"),
	// 								},
	// 								"hanaShared": []*string{
	// 									to.Ptr("hanashared0"),
	// 									to.Ptr("hanashared1"),
	// 								},
	// 								"usrSap": []*string{
	// 									to.Ptr("usrsap0"),
	// 								},
	// 							},
	// 							HostName: to.Ptr("sshostName"),
	// 							NetworkInterfaces: []*armworkloadssapvirtualinstance.NetworkInterfaceResourceNames{
	// 								{
	// 									NetworkInterfaceName: to.Ptr("ssnic"),
	// 								},
	// 							},
	// 							OSDiskName: to.Ptr("ssosdisk"),
	// 							VMName: to.Ptr("ssvm"),
	// 						},
	// 					},
	// 					DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeSingleServer),
	// 					NetworkConfiguration: &armworkloadssapvirtualinstance.NetworkConfiguration{
	// 						IsSecondaryIPEnabled: to.Ptr(true),
	// 					},
	// 					SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 					VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 						ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 							Offer: to.Ptr("RHEL-SAP"),
	// 							Publisher: to.Ptr("RedHat"),
	// 							SKU: to.Ptr("84sapha-gen2"),
	// 							Version: to.Ptr("latest"),
	// 						},
	// 						OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 							AdminUsername: to.Ptr("{your-username}"),
	// 							OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 								DisablePasswordAuthentication: to.Ptr(true),
	// 								OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 								SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 									PublicKey: to.Ptr("abc"),
	// 								},
	// 							},
	// 						},
	// 						VMSize: to.Ptr("Standard_E32ds_v4"),
	// 					},
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraOsDSRecommended.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureWithOSConfigurationForDistributedSystemRecommended() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](6),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType:  to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](6),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraOsHaAvailabilitySetRecommended.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureWithOSConfigurationForHaSystemWithAvailabilitySetRecommended() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](6),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType:  to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilitySet),
					},
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](6),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
	// 						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilitySet),
	// 					},
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraOsHaAvailabilityZoneRecommended.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureWithOSConfigurationForHaSystemWithAvailabilityZoneRecommended() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](6),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType:  to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilityZone),
					},
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](6),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 					HighAvailabilityConfig: &armworkloadssapvirtualinstance.HighAvailabilityConfiguration{
	// 						HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilityZone),
	// 					},
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraOsSIngleServerRecommended.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureWithOSConfigurationForSingleServerSystemRecommended() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.SingleServerConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					DatabaseType:     to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
					DeploymentType:   to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeSingleServer),
					NetworkConfiguration: &armworkloadssapvirtualinstance.NetworkConfiguration{
						IsSecondaryIPEnabled: to.Ptr(true),
					},
					SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
					VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
						ImageReference: &armworkloadssapvirtualinstance.ImageReference{
							Offer:     to.Ptr("RHEL-SAP"),
							Publisher: to.Ptr("RedHat"),
							SKU:       to.Ptr("84sapha-gen2"),
							Version:   to.Ptr("latest"),
						},
						OSProfile: &armworkloadssapvirtualinstance.OSProfile{
							AdminUsername: to.Ptr("{your-username}"),
							OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
								DisablePasswordAuthentication: to.Ptr(true),
								OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
								SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
									PrivateKey: to.Ptr("xyz"),
									PublicKey:  to.Ptr("abc"),
								},
							},
						},
						VMSize: to.Ptr("Standard_E32ds_v4"),
					},
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.SingleServerConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeSingleServer),
	// 					NetworkConfiguration: &armworkloadssapvirtualinstance.NetworkConfiguration{
	// 						IsSecondaryIPEnabled: to.Ptr(true),
	// 					},
	// 					SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 					VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 						ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 							Offer: to.Ptr("RHEL-SAP"),
	// 							Publisher: to.Ptr("RedHat"),
	// 							SKU: to.Ptr("84sapha-gen2"),
	// 							Version: to.Ptr("latest"),
	// 						},
	// 						OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 							AdminUsername: to.Ptr("{your-username}"),
	// 							OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 								DisablePasswordAuthentication: to.Ptr(true),
	// 								OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 								SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 									PublicKey: to.Ptr("abc"),
	// 								},
	// 							},
	// 						},
	// 						VMSize: to.Ptr("Standard_E32ds_v4"),
	// 					},
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraSingleServer.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureOnlyForSingleServerSystem() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeployment),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.SingleServerConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					DatabaseType:     to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
					DeploymentType:   to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeSingleServer),
					NetworkConfiguration: &armworkloadssapvirtualinstance.NetworkConfiguration{
						IsSecondaryIPEnabled: to.Ptr(true),
					},
					SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
					VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
						ImageReference: &armworkloadssapvirtualinstance.ImageReference{
							Offer:     to.Ptr("RHEL-SAP"),
							Publisher: to.Ptr("RedHat"),
							SKU:       to.Ptr("84sapha-gen2"),
							Version:   to.Ptr("latest"),
						},
						OSProfile: &armworkloadssapvirtualinstance.OSProfile{
							AdminUsername: to.Ptr("{your-username}"),
							OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
								DisablePasswordAuthentication: to.Ptr(true),
								OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
								SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
									PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
										{
											KeyData: to.Ptr("ssh-rsa public key"),
										},
									},
								},
							},
						},
						VMSize: to.Ptr("Standard_E32ds_v4"),
					},
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeployment),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.SingleServerConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeSingleServer),
	// 					SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 					VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 						ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 							Offer: to.Ptr("RHEL-SAP"),
	// 							Publisher: to.Ptr("RedHat"),
	// 							SKU: to.Ptr("84sapha-gen2"),
	// 							Version: to.Ptr("latest"),
	// 						},
	// 						OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 							AdminUsername: to.Ptr("{your-username}"),
	// 							OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 								DisablePasswordAuthentication: to.Ptr(true),
	// 								OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 								SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 									PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 										{
	// 											KeyData: to.Ptr("ssh-rsa public key"),
	// 										},
	// 									},
	// 								},
	// 							},
	// 						},
	// 						VMSize: to.Ptr("Standard_E32ds_v4"),
	// 					},
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraWithExistingFileshare.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureWithAnExistingSapTransportDirectoryFileshare() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](6),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType:  to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
					StorageConfiguration: &armworkloadssapvirtualinstance.StorageConfiguration{
						TransportFileShareConfiguration: &armworkloadssapvirtualinstance.MountFileShareConfiguration{
							ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.FileShareConfigurationTypeMount),
							ID:                to.Ptr("/subscriptions/49d64d54-e888-4c46-a868-1936802b762c/resourceGroups/testrg/providers/Microsoft.Network/privateEndpoints/endpoint"),
							PrivateEndpointID: to.Ptr("/subscriptions/49d64d54-e888-4c46-a868-1936802b762c/resourceGroups/testrg/providers/Microsoft.Network/privateEndpoints/endpoint"),
						},
					},
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](6),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 					StorageConfiguration: &armworkloadssapvirtualinstance.StorageConfiguration{
	// 						TransportFileShareConfiguration: &armworkloadssapvirtualinstance.MountFileShareConfiguration{
	// 							ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.FileShareConfigurationTypeMount),
	// 							ID: to.Ptr("/subscriptions/49d64d54-e888-4c46-a868-1936802b762c/resourceGroups/testrg/providers/Microsoft.Network/privateEndpoints/endpoint"),
	// 							PrivateEndpointID: to.Ptr("/subscriptions/49d64d54-e888-4c46-a868-1936802b762c/resourceGroups/testrg/providers/Microsoft.Network/privateEndpoints/endpoint"),
	// 						},
	// 					},
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraWithNewFileshare.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureWithANewSapTransportDirectoryFileshare() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](6),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType:  to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
					StorageConfiguration: &armworkloadssapvirtualinstance.StorageConfiguration{
						TransportFileShareConfiguration: &armworkloadssapvirtualinstance.CreateAndMountFileShareConfiguration{
							ConfigurationType:  to.Ptr(armworkloadssapvirtualinstance.FileShareConfigurationTypeCreateAndMount),
							ResourceGroup:      to.Ptr("rgName"),
							StorageAccountName: to.Ptr("storageName"),
						},
					},
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](6),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 					StorageConfiguration: &armworkloadssapvirtualinstance.StorageConfiguration{
	// 						TransportFileShareConfiguration: &armworkloadssapvirtualinstance.CreateAndMountFileShareConfiguration{
	// 							ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.FileShareConfigurationTypeCreateAndMount),
	// 							ResourceGroup: to.Ptr("rgName"),
	// 							StorageAccountName: to.Ptr("storageName"),
	// 						},
	// 					},
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraWithOsTrustedAccess.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureWithOSConfigurationWithTrustedAccessEnabled() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](6),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType:  to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
			},
			Environment:                       to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			ManagedResourcesNetworkAccessType: to.Ptr(armworkloadssapvirtualinstance.ManagedResourcesNetworkAccessTypePrivate),
			SapProduct:                        to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](6),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ManagedResourcesNetworkAccessType: to.Ptr(armworkloadssapvirtualinstance.ManagedResourcesNetworkAccessTypePrivate),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraWithoutFileshare.json
func ExampleSAPVirtualInstancesClient_BeginCreate_createInfrastructureWithoutASapTransportDirectoryFileshare() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("X00-RG"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](6),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E32ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E16ds_v4"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						DatabaseType:  to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("84sapha-gen2"),
								Version:   to.Ptr("latest"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("{your-username}"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("xyz"),
										PublicKey:  to.Ptr("abc"),
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
					StorageConfiguration: &armworkloadssapvirtualinstance.StorageConfiguration{
						TransportFileShareConfiguration: &armworkloadssapvirtualinstance.SkipFileShareConfiguration{
							ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.FileShareConfigurationTypeSkip),
						},
					},
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("xyz.test.com"),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](6),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E32ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/appsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E16ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/test-vnet/subnets/dbsubnet"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("abc"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 					StorageConfiguration: &armworkloadssapvirtualinstance.StorageConfiguration{
	// 						TransportFileShareConfiguration: &armworkloadssapvirtualinstance.SkipFileShareConfiguration{
	// 							ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.FileShareConfigurationTypeSkip),
	// 						},
	// 					},
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("xyz.test.com"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatus("Unknown")),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInstallDS.json
func ExampleSAPVirtualInstancesClient_BeginCreate_installSapSoftwareOnDistributedSystem() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("eastus2"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
					AppResourceGroup: to.Ptr("{{resourcegrp}}"),
					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
						InstanceCount: to.Ptr[int64](2),
						SubnetID:      to.Ptr("/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP-HA"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("8.2"),
								Version:   to.Ptr("8.2.2021091201"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("azureuser"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("{{privateKey}}"),
										PublicKey:  to.Ptr("{{sshkey}}"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E4ds_v4"),
						},
					},
					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP-HA"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("8.2"),
								Version:   to.Ptr("8.2.2021091201"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("azureuser"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("{{privateKey}}"),
										PublicKey:  to.Ptr("{{sshkey}}"),
									},
								},
							},
							VMSize: to.Ptr("Standard_E4ds_v4"),
						},
					},
					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
						InstanceCount: to.Ptr[int64](1),
						SubnetID:      to.Ptr("/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
								Offer:     to.Ptr("RHEL-SAP-HA"),
								Publisher: to.Ptr("RedHat"),
								SKU:       to.Ptr("8.2"),
								Version:   to.Ptr("8.2.2021091201"),
							},
							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
								AdminUsername: to.Ptr("azureuser"),
								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
									DisablePasswordAuthentication: to.Ptr(true),
									OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
										PrivateKey: to.Ptr("{{privateKey}}"),
										PublicKey:  to.Ptr("{{sshkey}}"),
									},
								},
							},
							VMSize: to.Ptr("Standard_M32ts"),
						},
					},
					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
					NetworkConfiguration: &armworkloadssapvirtualinstance.NetworkConfiguration{
						IsSecondaryIPEnabled: to.Ptr(true),
					},
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("sap.bpaas.com"),
				},
				SoftwareConfiguration: &armworkloadssapvirtualinstance.SAPInstallWithoutOSConfigSoftwareConfiguration{
					BomURL:                   to.Ptr("https://teststorageaccount.blob.core.windows.net/sapbits/sapfiles/boms/S41909SPS03_v0011ms/S41909SPS03_v0011ms.yaml"),
					SapBitsStorageAccountID:  to.Ptr("/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorageaccount"),
					SoftwareInstallationType: to.Ptr(armworkloadssapvirtualinstance.SAPSoftwareInstallationTypeSAPInstallWithoutOSConfig),
					SoftwareVersion:          to.Ptr("SAP S/4HANA 1909 SPS 03"),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{
			"created by": to.Ptr("azureuser"),
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("microsoft.workloads/sapvirtualinstances"),
	// 		ID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/aa-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("eastus2"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("aa-rg"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP-HA"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("azureuser"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("ssh-rsa AAA generated-by-azure"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E4ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP-HA"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("azureuser"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("ssh-rsa AAA generated-by-azure"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E4ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP-HA"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("azureuser"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("ssh-rsa AAA generated-by-azure"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 					NetworkConfiguration: &armworkloadssapvirtualinstance.NetworkConfiguration{
	// 						IsSecondaryIPEnabled: to.Ptr(true),
	// 					},
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("sap.bpaas.com"),
	// 				},
	// 				SoftwareConfiguration: &armworkloadssapvirtualinstance.SAPInstallWithoutOSConfigSoftwareConfiguration{
	// 					BomURL: to.Ptr("https://teststorageaccount.blob.core.windows.net/sapbits/sapfiles/boms/S41909SPS03_v0011ms/S41909SPS03_v0011ms.yaml"),
	// 					SapBitsStorageAccountID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorageaccount"),
	// 					SoftwareInstallationType: to.Ptr(armworkloadssapvirtualinstance.SAPSoftwareInstallationTypeSAPInstallWithoutOSConfig),
	// 					SoftwareVersion: to.Ptr("SAP S/4HANA 1909 SPS 03"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningState("Accepted")),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationInProgress),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-08-18T18:25:55.2406546Z"); return t}()),
	// 			CreatedBy: to.Ptr("f1bc9460-9d57-4c16-99a8-5a19378a3a93"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeApplication),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-08-18T18:50:59.1945444Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("f1bc9460-9d57-4c16-99a8-5a19378a3a93"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeApplication),
	// 		},
	// 		Tags: map[string]*string{
	// 			"created by": to.Ptr("azureuser"),
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInstallSingleServer.json
func ExampleSAPVirtualInstancesClient_BeginCreate_installSapSoftwareOnSingleServerSystem() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("eastus2"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
				AppLocation:       to.Ptr("eastus"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
				InfrastructureConfiguration: &armworkloadssapvirtualinstance.SingleServerConfiguration{
					AppResourceGroup: to.Ptr("test-rg"),
					DeploymentType:   to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeSingleServer),
					SubnetID:         to.Ptr("/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/testsubnet"),
					VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
						ImageReference: &armworkloadssapvirtualinstance.ImageReference{
							Offer:     to.Ptr("SLES-SAP"),
							Publisher: to.Ptr("SUSE"),
							SKU:       to.Ptr("12-sp4-gen2"),
							Version:   to.Ptr("2022.02.01"),
						},
						OSProfile: &armworkloadssapvirtualinstance.OSProfile{
							AdminUsername: to.Ptr("azureappadmin"),
							OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
								DisablePasswordAuthentication: to.Ptr(true),
								OSType:                        to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
								SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
									PrivateKey: to.Ptr("{{privateKey}}"),
									PublicKey:  to.Ptr("{{sshkey}}"),
								},
							},
						},
						VMSize: to.Ptr("Standard_E32ds_v4"),
					},
				},
				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
					SapFqdn: to.Ptr("sap.bpaas.com"),
				},
				SoftwareConfiguration: &armworkloadssapvirtualinstance.SAPInstallWithoutOSConfigSoftwareConfiguration{
					BomURL:                   to.Ptr("https://teststorageaccount.blob.core.windows.net/sapbits/sapfiles/boms/S41909SPS03_v0011ms/S41909SPS03_v0011ms.yaml"),
					SapBitsStorageAccountID:  to.Ptr("/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorageaccount"),
					SoftwareInstallationType: to.Ptr(armworkloadssapvirtualinstance.SAPSoftwareInstallationTypeSAPInstallWithoutOSConfig),
					SoftwareVersion:          to.Ptr("SAP S/4HANA 1909 SPS 03"),
				},
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("microsoft.workloads/sapvirtualinstances"),
	// 		ID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/aa-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("eastus2"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentWithOSConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeploymentWithOSConfig),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("aa-rg"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](2),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP-HA"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("azureuser"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("ssh-rsa AAA generated-by-azure"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E4ds_v4"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP-HA"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("azureuser"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("ssh-rsa AAA generated-by-azure"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_E4ds_v4"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/app"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP-HA"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("azureuser"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
	// 										PublicKey: to.Ptr("ssh-rsa AAA generated-by-azure"),
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_M32ts"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 					NetworkConfiguration: &armworkloadssapvirtualinstance.NetworkConfiguration{
	// 						IsSecondaryIPEnabled: to.Ptr(true),
	// 					},
	// 				},
	// 				OSSapConfiguration: &armworkloadssapvirtualinstance.OsSapConfiguration{
	// 					SapFqdn: to.Ptr("sap.bpaas.com"),
	// 				},
	// 				SoftwareConfiguration: &armworkloadssapvirtualinstance.SAPInstallWithoutOSConfigSoftwareConfiguration{
	// 					BomURL: to.Ptr("https://teststorageaccount.blob.core.windows.net/sapbits/sapfiles/boms/S41909SPS03_v0011ms/S41909SPS03_v0011ms.yaml"),
	// 					SapBitsStorageAccountID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorageaccount"),
	// 					SoftwareInstallationType: to.Ptr(armworkloadssapvirtualinstance.SAPSoftwareInstallationTypeSAPInstallWithoutOSConfig),
	// 					SoftwareVersion: to.Ptr("SAP S/4HANA 1909 SPS 03"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningState("Accepted")),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateSoftwareInstallationInProgress),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-08-18T18:25:55.2406546Z"); return t}()),
	// 			CreatedBy: to.Ptr("f1bc9460-9d57-4c16-99a8-5a19378a3a93"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeApplication),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-08-18T18:50:59.1945444Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("f1bc9460-9d57-4c16-99a8-5a19378a3a93"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeApplication),
	// 		},
	// 		Tags: map[string]*string{
	// 			"created by": to.Ptr("azureuser"),
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateRegisterSapSolutions.json
func ExampleSAPVirtualInstancesClient_BeginCreate_registerExistingSapSystemAsVirtualInstanceForSapSolutions() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("northeurope"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DiscoveryConfiguration{
				CentralServerVMID: to.Ptr("/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDiscovery),
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{
			"createdby": to.Ptr("abc@microsoft.com"),
			"test":      to.Ptr("abc"),
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("Q20"),
	// 		Type: to.Ptr("microsoft.workloads/sapvirtualinstances"),
	// 		ID: to.Ptr("/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/Q20"),
	// 		Location: to.Ptr("northeurope"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DiscoveryConfiguration{
	// 				AppLocation: to.Ptr("westeurope"),
	// 				CentralServerVMID: to.Ptr("/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg-infra/providers/Microsoft.Compute/virtualMachines/q20ascsvm0"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDiscovery),
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 			ManagedResourceGroupConfiguration: &armworkloadssapvirtualinstance.ManagedRGConfiguration{
	// 				Name: to.Ptr("mrg-Q20-5b0097"),
	// 			},
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateRegistrationComplete),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-07-27T08:22:52.3318907Z"); return t}()),
	// 			CreatedBy: to.Ptr("abc@microsoft.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-07-27T11:44:17.9310503Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("abc@microsoft.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateRegisterSapSolutionsCustom.json
func ExampleSAPVirtualInstancesClient_BeginCreate_registerExistingSapSystemAsVirtualInstanceForSapSolutionsWithOptionalCustomizations() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("northeurope"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DiscoveryConfiguration{
				CentralServerVMID:           to.Ptr("/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0"),
				ConfigurationType:           to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDiscovery),
				ManagedRgStorageAccountName: to.Ptr("q20saacssgrs"),
			},
			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
			SapProduct:  to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{
			"createdby": to.Ptr("abc@microsoft.com"),
			"test":      to.Ptr("abc"),
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("Q20"),
	// 		Type: to.Ptr("microsoft.workloads/sapvirtualinstances"),
	// 		ID: to.Ptr("/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/Q20"),
	// 		Location: to.Ptr("northeurope"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DiscoveryConfiguration{
	// 				AppLocation: to.Ptr("westeurope"),
	// 				CentralServerVMID: to.Ptr("/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg-infra/providers/Microsoft.Compute/virtualMachines/q20ascsvm0"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDiscovery),
	// 				ManagedRgStorageAccountName: to.Ptr("q20saacssgrs"),
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 			ManagedResourceGroupConfiguration: &armworkloadssapvirtualinstance.ManagedRGConfiguration{
	// 				Name: to.Ptr("mrg-Q20-5b0097"),
	// 			},
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateRegistrationComplete),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-07-27T08:22:52.3318907Z"); return t}()),
	// 			CreatedBy: to.Ptr("abc@microsoft.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-07-27T11:44:17.9310503Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("abc@microsoft.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_CreateRegisterWithTrustedAccess.json
func ExampleSAPVirtualInstancesClient_BeginCreate_registerWithTrustedAccessEnabled() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginCreate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.SAPVirtualInstance{
		Location: to.Ptr("northeurope"),
		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
			Configuration: &armworkloadssapvirtualinstance.DiscoveryConfiguration{
				CentralServerVMID: to.Ptr("/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/sapq20scsvm0"),
				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDiscovery),
			},
			Environment:                       to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
			ManagedResourcesNetworkAccessType: to.Ptr(armworkloadssapvirtualinstance.ManagedResourcesNetworkAccessTypePrivate),
			SapProduct:                        to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		},
		Tags: map[string]*string{
			"createdby": to.Ptr("abc@microsoft.com"),
			"test":      to.Ptr("abc"),
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientCreateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("Q20"),
	// 		Type: to.Ptr("microsoft.workloads/sapvirtualinstances"),
	// 		ID: to.Ptr("/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/Q20"),
	// 		Location: to.Ptr("northeurope"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DiscoveryConfiguration{
	// 				AppLocation: to.Ptr("westeurope"),
	// 				CentralServerVMID: to.Ptr("/subscriptions/8e17e36c-42e9-4cd5-a078-7b44883414e0/resourceGroups/test-rg-infra/providers/Microsoft.Compute/virtualMachines/q20ascsvm0"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDiscovery),
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 			ManagedResourceGroupConfiguration: &armworkloadssapvirtualinstance.ManagedRGConfiguration{
	// 				Name: to.Ptr("mrg-Q20-5b0097"),
	// 			},
	// 			ManagedResourcesNetworkAccessType: to.Ptr(armworkloadssapvirtualinstance.ManagedResourcesNetworkAccessTypePrivate),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateRegistrationComplete),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-07-27T08:22:52.3318907Z"); return t}()),
	// 			CreatedBy: to.Ptr("abc@microsoft.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-07-27T11:44:17.9310503Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("abc@microsoft.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_Delete.json
func ExampleSAPVirtualInstancesClient_BeginDelete() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("6d875e77-e412-4d7d-9af4-8895278b4443", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginDelete(ctx, "test-rg", "X00", nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	_, err = poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_Get.json
func ExampleSAPVirtualInstancesClient_Get_sapVirtualInstancesGet() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewSAPVirtualInstancesClient().Get(ctx, "test-rg", "X00", nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientGetResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeployment),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](10),
	// 						SubnetID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/vnet1/subnets/subnetId3"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 											{
	// 												KeyData: to.Ptr("ssh-rsa public key"),
	// 											},
	// 										},
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_D8s_v3"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/vnet1/subnets/subnetId1"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 											{
	// 												KeyData: to.Ptr("ssh-rsa public key"),
	// 											},
	// 										},
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_D8s_v3"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/vnet1/subnets/subnetId2"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								Offer: to.Ptr("RHEL-SAP"),
	// 								Publisher: to.Ptr("RedHat"),
	// 								SKU: to.Ptr("84sapha-gen2"),
	// 								Version: to.Ptr("latest"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 											{
	// 												KeyData: to.Ptr("ssh-rsa public key"),
	// 											},
	// 										},
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_D8s_v3"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 				},
	// 				SoftwareConfiguration: &armworkloadssapvirtualinstance.ServiceInitiatedSoftwareConfiguration{
	// 					BomURL: to.Ptr("https://myaccount.blob.core.windows.net/mycontainer/myblob"),
	// 					SapBitsStorageAccountID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/ajgupt-test/providers/Microsoft.Storage/storageAccounts/ajguptsavnet"),
	// 					SapFqdn: to.Ptr("sapsystem.contoso.net"),
	// 					SoftwareInstallationType: to.Ptr(armworkloadssapvirtualinstance.SAPSoftwareInstallationTypeServiceInitiated),
	// 					SoftwareVersion: to.Ptr("SAP S/4HANA 2020 FPS01"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 			ManagedResourceGroupConfiguration: &armworkloadssapvirtualinstance.ManagedRGConfiguration{
	// 				Name: to.Ptr("mrg-x00-6d875e77-e412-4d7d-9af4-8895278b4443"),
	// 			},
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateRegistrationComplete),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_GetAcssInstallationBlocked.json
func ExampleSAPVirtualInstancesClient_Get_sapVirtualInstancesGetWithAcssInstallationBlocked() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewSAPVirtualInstancesClient().Get(ctx, "test-rg", "X00", nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientGetResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentConfiguration{
	// 				AppLocation: to.Ptr("eastus"),
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeployment),
	// 				InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
	// 					AppResourceGroup: to.Ptr("X00-RG"),
	// 					ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](10),
	// 						SubnetID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/vnet1/subnets/subnetId3"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								ID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/galleries/testgallery/images/rhelimagetest/versions/0.0.1"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 											{
	// 												KeyData: to.Ptr("ssh-rsa public key"),
	// 											},
	// 										},
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_D8s_v3"),
	// 						},
	// 					},
	// 					CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/vnet1/subnets/subnetId1"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								ID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/galleries/testgallery/images/rhelimagetest/versions/0.0.1"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 											{
	// 												KeyData: to.Ptr("ssh-rsa public key"),
	// 											},
	// 										},
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_D8s_v3"),
	// 						},
	// 					},
	// 					DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
	// 						DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	// 						InstanceCount: to.Ptr[int64](1),
	// 						SubnetID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/vnet1/subnets/subnetId2"),
	// 						VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
	// 							ImageReference: &armworkloadssapvirtualinstance.ImageReference{
	// 								ID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/test-rg/providers/Microsoft.Compute/galleries/testgallery/images/rhelimagetest/versions/0.0.1"),
	// 							},
	// 							OSProfile: &armworkloadssapvirtualinstance.OSProfile{
	// 								AdminUsername: to.Ptr("{your-username}"),
	// 								OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
	// 									DisablePasswordAuthentication: to.Ptr(true),
	// 									OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
	// 									SSH: &armworkloadssapvirtualinstance.SSHConfiguration{
	// 										PublicKeys: []*armworkloadssapvirtualinstance.SSHPublicKey{
	// 											{
	// 												KeyData: to.Ptr("ssh-rsa public key"),
	// 											},
	// 										},
	// 									},
	// 								},
	// 							},
	// 							VMSize: to.Ptr("Standard_D8s_v3"),
	// 						},
	// 					},
	// 					DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 				},
	// 				SoftwareConfiguration: &armworkloadssapvirtualinstance.ServiceInitiatedSoftwareConfiguration{
	// 					BomURL: to.Ptr("https://myaccount.blob.core.windows.net/mycontainer/myblob"),
	// 					SapBitsStorageAccountID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/ajgupt-test/providers/Microsoft.Storage/storageAccounts/ajguptsavnet"),
	// 					SapFqdn: to.Ptr("sapsystem.contoso.net"),
	// 					SoftwareInstallationType: to.Ptr(armworkloadssapvirtualinstance.SAPSoftwareInstallationTypeServiceInitiated),
	// 					SoftwareVersion: to.Ptr("SAP S/4HANA 2020 FPS01"),
	// 				},
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 			ManagedResourceGroupConfiguration: &armworkloadssapvirtualinstance.ManagedRGConfiguration{
	// 				Name: to.Ptr("mrg-x00-6d875e77-e412-4d7d-9af4-8895278b4443"),
	// 			},
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateACSSInstallationBlocked),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeAvailabilityZoneDetails_eastus.json
func ExampleSAPVirtualInstancesClient_GetAvailabilityZoneDetails_sapAvailabilityZoneDetailsInEastUs() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewSAPVirtualInstancesClient().GetAvailabilityZoneDetails(ctx, "eastus", armworkloadssapvirtualinstance.SAPAvailabilityZoneDetailsRequest{
		AppLocation:  to.Ptr("eastus"),
		SapProduct:   to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientGetAvailabilityZoneDetailsResponse{
	// 	SAPAvailabilityZoneDetailsResult: &armworkloadssapvirtualinstance.SAPAvailabilityZoneDetailsResult{
	// 		AvailabilityZonePairs: []*armworkloadssapvirtualinstance.SAPAvailabilityZonePair{
	// 			{
	// 				ZoneA: to.Ptr[int64](1),
	// 				ZoneB: to.Ptr[int64](2),
	// 			},
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeAvailabilityZoneDetails_northeurope.json
func ExampleSAPVirtualInstancesClient_GetAvailabilityZoneDetails_sapAvailabilityZoneDetailsInNorthEurope() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewSAPVirtualInstancesClient().GetAvailabilityZoneDetails(ctx, "northeurope", armworkloadssapvirtualinstance.SAPAvailabilityZoneDetailsRequest{
		AppLocation:  to.Ptr("northeurope"),
		SapProduct:   to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientGetAvailabilityZoneDetailsResponse{
	// 	SAPAvailabilityZoneDetailsResult: &armworkloadssapvirtualinstance.SAPAvailabilityZoneDetailsResult{
	// 		AvailabilityZonePairs: []*armworkloadssapvirtualinstance.SAPAvailabilityZonePair{
	// 			{
	// 				ZoneA: to.Ptr[int64](2),
	// 				ZoneB: to.Ptr[int64](3),
	// 			},
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeDiskConfigurations_NonProd.json
func ExampleSAPVirtualInstancesClient_GetDiskConfigurations_sapDiskConfigurationsForInputEnvironmentNonProd() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewSAPVirtualInstancesClient().GetDiskConfigurations(ctx, "centralus", armworkloadssapvirtualinstance.SAPDiskConfigurationsRequest{
		AppLocation:    to.Ptr("eastus"),
		SapProduct:     to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		Environment:    to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
		DatabaseType:   to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
		DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
		DbVMSKU:        to.Ptr("Standard_M32ts"),
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientGetDiskConfigurationsResponse{
	// 	SAPDiskConfigurationsResult: &armworkloadssapvirtualinstance.SAPDiskConfigurationsResult{
	// 		VolumeConfigurations: map[string]*armworkloadssapvirtualinstance.SAPDiskConfiguration{
	// 			"hana/data": &armworkloadssapvirtualinstance.SAPDiskConfiguration{
	// 				RecommendedConfiguration: &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 					SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 						Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 					},
	// 					Count: to.Ptr[int64](4),
	// 					SizeGB: to.Ptr[int64](128),
	// 				},
	// 				SupportedConfigurations: []*armworkloadssapvirtualinstance.DiskDetails{
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](128),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](4),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](5),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](100),
	// 						DiskTier: to.Ptr("P10"),
	// 					},
	// 				},
	// 			},
	// 			"hana/log": &armworkloadssapvirtualinstance.SAPDiskConfiguration{
	// 				RecommendedConfiguration: &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 					SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 						Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 					},
	// 					Count: to.Ptr[int64](3),
	// 					SizeGB: to.Ptr[int64](128),
	// 				},
	// 				SupportedConfigurations: []*armworkloadssapvirtualinstance.DiskDetails{
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](128),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](3),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](5),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](100),
	// 						DiskTier: to.Ptr("P10"),
	// 					},
	// 				},
	// 			},
	// 			"hana/shared": &armworkloadssapvirtualinstance.SAPDiskConfiguration{
	// 				RecommendedConfiguration: &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 					SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 						Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 					},
	// 					Count: to.Ptr[int64](1),
	// 					SizeGB: to.Ptr[int64](256),
	// 				},
	// 				SupportedConfigurations: []*armworkloadssapvirtualinstance.DiskDetails{
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](256),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](1100),
	// 						MbpsReadWrite: to.Ptr[int64](125),
	// 						DiskTier: to.Ptr("P15"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](512),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](2300),
	// 						MbpsReadWrite: to.Ptr[int64](150),
	// 						DiskTier: to.Ptr("P20"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](1024),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](5000),
	// 						MbpsReadWrite: to.Ptr[int64](200),
	// 						DiskTier: to.Ptr("P30"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](2048),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](7500),
	// 						MbpsReadWrite: to.Ptr[int64](250),
	// 						DiskTier: to.Ptr("P40"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](4096),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](7500),
	// 						MbpsReadWrite: to.Ptr[int64](250),
	// 						DiskTier: to.Ptr("P50"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](256),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](60),
	// 						DiskTier: to.Ptr("E15"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](512),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](60),
	// 						DiskTier: to.Ptr("E20"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](1024),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](60),
	// 						DiskTier: to.Ptr("E30"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](2048),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](60),
	// 						DiskTier: to.Ptr("E40"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](4096),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](60),
	// 						DiskTier: to.Ptr("E50"),
	// 					},
	// 				},
	// 			},
	// 			"usr/sap": &armworkloadssapvirtualinstance.SAPDiskConfiguration{
	// 				RecommendedConfiguration: &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 					SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 						Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 					},
	// 					Count: to.Ptr[int64](1),
	// 					SizeGB: to.Ptr[int64](128),
	// 				},
	// 				SupportedConfigurations: []*armworkloadssapvirtualinstance.DiskDetails{
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](128),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](100),
	// 						DiskTier: to.Ptr("P10"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](256),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](1100),
	// 						MbpsReadWrite: to.Ptr[int64](125),
	// 						DiskTier: to.Ptr("P10"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](512),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](2300),
	// 						MbpsReadWrite: to.Ptr[int64](150),
	// 						DiskTier: to.Ptr("P10"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](128),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](60),
	// 						DiskTier: to.Ptr("E10"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](256),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](60),
	// 						DiskTier: to.Ptr("E15"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](512),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](60),
	// 						DiskTier: to.Ptr("E20"),
	// 					},
	// 				},
	// 			},
	// 			"os": &armworkloadssapvirtualinstance.SAPDiskConfiguration{
	// 				RecommendedConfiguration: &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 					SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 						Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 					},
	// 					Count: to.Ptr[int64](1),
	// 					SizeGB: to.Ptr[int64](64),
	// 				},
	// 				SupportedConfigurations: []*armworkloadssapvirtualinstance.DiskDetails{
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](64),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](240),
	// 						MbpsReadWrite: to.Ptr[int64](50),
	// 						DiskTier: to.Ptr("P6"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](128),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](100),
	// 						DiskTier: to.Ptr("P10"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](64),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](60),
	// 						DiskTier: to.Ptr("P6"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](128),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](60),
	// 						DiskTier: to.Ptr("P10"),
	// 					},
	// 				},
	// 			},
	// 			"backup": &armworkloadssapvirtualinstance.SAPDiskConfiguration{
	// 				RecommendedConfiguration: &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 					SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 						Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 					},
	// 					Count: to.Ptr[int64](2),
	// 					SizeGB: to.Ptr[int64](256),
	// 				},
	// 				SupportedConfigurations: []*armworkloadssapvirtualinstance.DiskDetails{
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](128),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](0),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](6),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](60),
	// 						DiskTier: to.Ptr("E10"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](256),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](0),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](6),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](60),
	// 						DiskTier: to.Ptr("E15"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNameStandardSSDLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](512),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](0),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](6),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](60),
	// 						DiskTier: to.Ptr("E20"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](128),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](0),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](6),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](100),
	// 						DiskTier: to.Ptr("P10"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](256),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](0),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](6),
	// 						IopsReadWrite: to.Ptr[int64](1100),
	// 						MbpsReadWrite: to.Ptr[int64](125),
	// 						DiskTier: to.Ptr("P15"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](512),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](0),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](6),
	// 						IopsReadWrite: to.Ptr[int64](2300),
	// 						MbpsReadWrite: to.Ptr[int64](150),
	// 						DiskTier: to.Ptr("P20"),
	// 					},
	// 				},
	// 			},
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeDiskConfigurations_Prod.json
func ExampleSAPVirtualInstancesClient_GetDiskConfigurations_sapDiskConfigurationsForInputEnvironmentProd() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewSAPVirtualInstancesClient().GetDiskConfigurations(ctx, "centralus", armworkloadssapvirtualinstance.SAPDiskConfigurationsRequest{
		AppLocation:    to.Ptr("eastus"),
		SapProduct:     to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		Environment:    to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
		DatabaseType:   to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
		DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
		DbVMSKU:        to.Ptr("Standard_M32ts"),
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientGetDiskConfigurationsResponse{
	// 	SAPDiskConfigurationsResult: &armworkloadssapvirtualinstance.SAPDiskConfigurationsResult{
	// 		VolumeConfigurations: map[string]*armworkloadssapvirtualinstance.SAPDiskConfiguration{
	// 			"hana/data": &armworkloadssapvirtualinstance.SAPDiskConfiguration{
	// 				RecommendedConfiguration: &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 					SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 						Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 					},
	// 					Count: to.Ptr[int64](4),
	// 					SizeGB: to.Ptr[int64](128),
	// 				},
	// 				SupportedConfigurations: []*armworkloadssapvirtualinstance.DiskDetails{
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](128),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](4),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](5),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](100),
	// 						DiskTier: to.Ptr("P10"),
	// 					},
	// 				},
	// 			},
	// 			"hana/log": &armworkloadssapvirtualinstance.SAPDiskConfiguration{
	// 				RecommendedConfiguration: &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 					SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 						Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 					},
	// 					Count: to.Ptr[int64](3),
	// 					SizeGB: to.Ptr[int64](128),
	// 				},
	// 				SupportedConfigurations: []*armworkloadssapvirtualinstance.DiskDetails{
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](128),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](3),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](5),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](100),
	// 						DiskTier: to.Ptr("P10"),
	// 					},
	// 				},
	// 			},
	// 			"hana/shared": &armworkloadssapvirtualinstance.SAPDiskConfiguration{
	// 				RecommendedConfiguration: &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 					SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 						Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 					},
	// 					Count: to.Ptr[int64](1),
	// 					SizeGB: to.Ptr[int64](256),
	// 				},
	// 				SupportedConfigurations: []*armworkloadssapvirtualinstance.DiskDetails{
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](256),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](1100),
	// 						MbpsReadWrite: to.Ptr[int64](125),
	// 						DiskTier: to.Ptr("P15"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](512),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](2300),
	// 						MbpsReadWrite: to.Ptr[int64](150),
	// 						DiskTier: to.Ptr("P20"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](1024),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](5000),
	// 						MbpsReadWrite: to.Ptr[int64](200),
	// 						DiskTier: to.Ptr("P30"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](2048),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](7500),
	// 						MbpsReadWrite: to.Ptr[int64](250),
	// 						DiskTier: to.Ptr("P40"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](4096),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](7500),
	// 						MbpsReadWrite: to.Ptr[int64](250),
	// 						DiskTier: to.Ptr("P50"),
	// 					},
	// 				},
	// 			},
	// 			"usr/sap": &armworkloadssapvirtualinstance.SAPDiskConfiguration{
	// 				RecommendedConfiguration: &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 					SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 						Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 					},
	// 					Count: to.Ptr[int64](1),
	// 					SizeGB: to.Ptr[int64](128),
	// 				},
	// 				SupportedConfigurations: []*armworkloadssapvirtualinstance.DiskDetails{
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](128),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](100),
	// 						DiskTier: to.Ptr("P10"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](256),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](1100),
	// 						MbpsReadWrite: to.Ptr[int64](125),
	// 						DiskTier: to.Ptr("P10"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](512),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](2300),
	// 						MbpsReadWrite: to.Ptr[int64](150),
	// 						DiskTier: to.Ptr("P10"),
	// 					},
	// 				},
	// 			},
	// 			"os": &armworkloadssapvirtualinstance.SAPDiskConfiguration{
	// 				RecommendedConfiguration: &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 					SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 						Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 					},
	// 					Count: to.Ptr[int64](1),
	// 					SizeGB: to.Ptr[int64](64),
	// 				},
	// 				SupportedConfigurations: []*armworkloadssapvirtualinstance.DiskDetails{
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](64),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](240),
	// 						MbpsReadWrite: to.Ptr[int64](50),
	// 						DiskTier: to.Ptr("P6"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](128),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](1),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](1),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](100),
	// 						DiskTier: to.Ptr("P10"),
	// 					},
	// 				},
	// 			},
	// 			"backup": &armworkloadssapvirtualinstance.SAPDiskConfiguration{
	// 				RecommendedConfiguration: &armworkloadssapvirtualinstance.DiskVolumeConfiguration{
	// 					SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 						Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 					},
	// 					Count: to.Ptr[int64](2),
	// 					SizeGB: to.Ptr[int64](256),
	// 				},
	// 				SupportedConfigurations: []*armworkloadssapvirtualinstance.DiskDetails{
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](128),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](0),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](6),
	// 						IopsReadWrite: to.Ptr[int64](500),
	// 						MbpsReadWrite: to.Ptr[int64](100),
	// 						DiskTier: to.Ptr("P10"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](256),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](0),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](6),
	// 						IopsReadWrite: to.Ptr[int64](1100),
	// 						MbpsReadWrite: to.Ptr[int64](125),
	// 						DiskTier: to.Ptr("P15"),
	// 					},
	// 					{
	// 						SKU: &armworkloadssapvirtualinstance.DiskSKU{
	// 							Name: to.Ptr(armworkloadssapvirtualinstance.DiskSKUNamePremiumLRS),
	// 						},
	// 						SizeGB: to.Ptr[int64](512),
	// 						MinimumSupportedDiskCount: to.Ptr[int64](0),
	// 						MaximumSupportedDiskCount: to.Ptr[int64](6),
	// 						IopsReadWrite: to.Ptr[int64](2300),
	// 						MbpsReadWrite: to.Ptr[int64](150),
	// 						DiskTier: to.Ptr("P20"),
	// 					},
	// 				},
	// 			},
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeSapSupportedSku_Distributed.json
func ExampleSAPVirtualInstancesClient_GetSapSupportedSKU_sapSupportedSkUsForDistributedNonHaEnvironment() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewSAPVirtualInstancesClient().GetSapSupportedSKU(ctx, "centralus", armworkloadssapvirtualinstance.SAPSupportedSKUsRequest{
		AppLocation:    to.Ptr("eastus"),
		SapProduct:     to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		Environment:    to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
		DatabaseType:   to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
		DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientGetSapSupportedSKUResponse{
	// 	SAPSupportedResourceSKUsResult: &armworkloadssapvirtualinstance.SAPSupportedResourceSKUsResult{
	// 		SupportedSKUs: []*armworkloadssapvirtualinstance.SAPSupportedSKU{
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(false),
	// 				VMSKU: to.Ptr("Standard_E4ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(false),
	// 				VMSKU: to.Ptr("Standard_E8ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(false),
	// 				VMSKU: to.Ptr("Standard_E16ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(false),
	// 				VMSKU: to.Ptr("Standard_E20ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(false),
	// 				VMSKU: to.Ptr("Standard_E32ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(false),
	// 				VMSKU: to.Ptr("Standard_E48ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(false),
	// 				VMSKU: to.Ptr("Standard_E64ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M32Is"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M32ts"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M64Is"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M64ms"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M64s"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M128ms"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M128s"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M208ms_v2"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M208s_v2"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M416ms_v2"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M416s_v2"),
	// 			},
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeSapSupportedSku_DistributedHA_AvSet.json
func ExampleSAPVirtualInstancesClient_GetSapSupportedSKU_sapSupportedSkUsForDistributedHaEnvironmentWithAvailabilitySet() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewSAPVirtualInstancesClient().GetSapSupportedSKU(ctx, "centralus", armworkloadssapvirtualinstance.SAPSupportedSKUsRequest{
		AppLocation:          to.Ptr("eastus"),
		SapProduct:           to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		Environment:          to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
		DatabaseType:         to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
		DeploymentType:       to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
		HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilitySet),
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientGetSapSupportedSKUResponse{
	// 	SAPSupportedResourceSKUsResult: &armworkloadssapvirtualinstance.SAPSupportedResourceSKUsResult{
	// 		SupportedSKUs: []*armworkloadssapvirtualinstance.SAPSupportedSKU{
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(false),
	// 				VMSKU: to.Ptr("Standard_E4ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(false),
	// 				VMSKU: to.Ptr("Standard_E8ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(false),
	// 				VMSKU: to.Ptr("Standard_E16ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(false),
	// 				VMSKU: to.Ptr("Standard_E20ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(false),
	// 				VMSKU: to.Ptr("Standard_E32ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(false),
	// 				VMSKU: to.Ptr("Standard_E48ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(false),
	// 				VMSKU: to.Ptr("Standard_E64ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M32Is"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M32ts"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M64Is"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M64ms"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M64s"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M128ms"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M128s"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M208ms_v2"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M208s_v2"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M416ms_v2"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(false),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M416s_v2"),
	// 			},
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeSapSupportedSku_DistributedHA_AvZone.json
func ExampleSAPVirtualInstancesClient_GetSapSupportedSKU_sapSupportedSkusForHaWithAvailabilityZone() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewSAPVirtualInstancesClient().GetSapSupportedSKU(ctx, "centralus", armworkloadssapvirtualinstance.SAPSupportedSKUsRequest{
		AppLocation:          to.Ptr("eastus"),
		SapProduct:           to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		Environment:          to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
		DatabaseType:         to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
		DeploymentType:       to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
		HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilityZone),
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientGetSapSupportedSKUResponse{
	// 	SAPSupportedResourceSKUsResult: &armworkloadssapvirtualinstance.SAPSupportedResourceSKUsResult{
	// 		SupportedSKUs: []*armworkloadssapvirtualinstance.SAPSupportedSKU{
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_E32ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_E48ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_E64ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M32Is"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M32ts"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M64Is"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M64ms"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M64s"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M128ms"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M128s"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M208ms_v2"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M208s_v2"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M416ms_v2"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M416s_v2"),
	// 			},
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeSapSupportedSku_SingleServer.json
func ExampleSAPVirtualInstancesClient_GetSapSupportedSKU_sapSupportedSkUsForSingleServer() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewSAPVirtualInstancesClient().GetSapSupportedSKU(ctx, "centralus", armworkloadssapvirtualinstance.SAPSupportedSKUsRequest{
		AppLocation:    to.Ptr("eastus"),
		SapProduct:     to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		Environment:    to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
		DatabaseType:   to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
		DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeSingleServer),
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientGetSapSupportedSKUResponse{
	// 	SAPSupportedResourceSKUsResult: &armworkloadssapvirtualinstance.SAPSupportedResourceSKUsResult{
	// 		SupportedSKUs: []*armworkloadssapvirtualinstance.SAPSupportedSKU{
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(false),
	// 				VMSKU: to.Ptr("Standard_E32ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(false),
	// 				VMSKU: to.Ptr("Standard_E48ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(false),
	// 				VMSKU: to.Ptr("Standard_E64ds_v4"),
	// 			},
	// 			{
	// 				IsAppServerCertified: to.Ptr(true),
	// 				IsDatabaseCertified: to.Ptr(true),
	// 				VMSKU: to.Ptr("Standard_M32ts"),
	// 			},
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeSizingRecommendations_S4HANA_Distributed.json
func ExampleSAPVirtualInstancesClient_GetSizingRecommendations_sapSizingRecommendationsForNonHaDistributedSystem() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewSAPVirtualInstancesClient().GetSizingRecommendations(ctx, "centralus", armworkloadssapvirtualinstance.SAPSizingRecommendationRequest{
		AppLocation:    to.Ptr("eastus"),
		Environment:    to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
		SapProduct:     to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
		Saps:           to.Ptr[int64](20000),
		DbMemory:       to.Ptr[int64](1024),
		DatabaseType:   to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
		DbScaleMethod:  to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseScaleMethodScaleUp),
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientGetSizingRecommendationsResponse{
	// 	ThreeTierRecommendationResult: &armworkloadssapvirtualinstance.ThreeTierRecommendationResult{
	// 		DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 		ApplicationServerVMSKU: to.Ptr("Standard_E8ds_v4"),
	// 		ApplicationServerInstanceCount: to.Ptr[int64](2),
	// 		CentralServerVMSKU: to.Ptr("Standard_E4ds_v4"),
	// 		CentralServerInstanceCount: to.Ptr[int64](1),
	// 		DbVMSKU: to.Ptr("Standard_M64s"),
	// 		DatabaseInstanceCount: to.Ptr[int64](1),
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeSizingRecommendations_S4HANA_HA_AvSet.json
func ExampleSAPVirtualInstancesClient_GetSizingRecommendations_sapSizingRecommendationsForHaWithAvailabilitySet() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewSAPVirtualInstancesClient().GetSizingRecommendations(ctx, "centralus", armworkloadssapvirtualinstance.SAPSizingRecommendationRequest{
		AppLocation:          to.Ptr("eastus"),
		Environment:          to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
		SapProduct:           to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		DeploymentType:       to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
		Saps:                 to.Ptr[int64](75000),
		DbMemory:             to.Ptr[int64](1024),
		DatabaseType:         to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
		DbScaleMethod:        to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseScaleMethodScaleUp),
		HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilitySet),
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientGetSizingRecommendationsResponse{
	// 	ThreeTierRecommendationResult: &armworkloadssapvirtualinstance.ThreeTierRecommendationResult{
	// 		DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 		ApplicationServerVMSKU: to.Ptr("Standard_E16ds_v4"),
	// 		ApplicationServerInstanceCount: to.Ptr[int64](3),
	// 		CentralServerVMSKU: to.Ptr("Standard_E8ds_v4"),
	// 		CentralServerInstanceCount: to.Ptr[int64](2),
	// 		DbVMSKU: to.Ptr("Standard_M64s"),
	// 		DatabaseInstanceCount: to.Ptr[int64](2),
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeSizingRecommendations_S4HANA_HA_AvZone.json
func ExampleSAPVirtualInstancesClient_GetSizingRecommendations_sapSizingRecommendationsForHaWithAvailabilityZone() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewSAPVirtualInstancesClient().GetSizingRecommendations(ctx, "centralus", armworkloadssapvirtualinstance.SAPSizingRecommendationRequest{
		AppLocation:          to.Ptr("eastus"),
		Environment:          to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
		SapProduct:           to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		DeploymentType:       to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
		Saps:                 to.Ptr[int64](75000),
		DbMemory:             to.Ptr[int64](1024),
		DatabaseType:         to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
		DbScaleMethod:        to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseScaleMethodScaleUp),
		HighAvailabilityType: to.Ptr(armworkloadssapvirtualinstance.SAPHighAvailabilityTypeAvailabilityZone),
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientGetSizingRecommendationsResponse{
	// 	ThreeTierRecommendationResult: &armworkloadssapvirtualinstance.ThreeTierRecommendationResult{
	// 		DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
	// 		ApplicationServerVMSKU: to.Ptr("Standard_E8ds_v4"),
	// 		ApplicationServerInstanceCount: to.Ptr[int64](6),
	// 		CentralServerVMSKU: to.Ptr("Standard_E4ds_v4"),
	// 		CentralServerInstanceCount: to.Ptr[int64](2),
	// 		DbVMSKU: to.Ptr("Standard_M64s"),
	// 		DatabaseInstanceCount: to.Ptr[int64](2),
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeSizingRecommendations_S4HANA_SingleServer.json
func ExampleSAPVirtualInstancesClient_GetSizingRecommendations_sapSizingRecommendationsForSingleServer() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewSAPVirtualInstancesClient().GetSizingRecommendations(ctx, "centralus", armworkloadssapvirtualinstance.SAPSizingRecommendationRequest{
		AppLocation:    to.Ptr("eastus"),
		Environment:    to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeNonProd),
		SapProduct:     to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeSingleServer),
		Saps:           to.Ptr[int64](60000),
		DbMemory:       to.Ptr[int64](2000),
		DatabaseType:   to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
		DbScaleMethod:  to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseScaleMethodScaleUp),
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientGetSizingRecommendationsResponse{
	// 	SingleServerRecommendationResult: &armworkloadssapvirtualinstance.SingleServerRecommendationResult{
	// 		VMSKU: to.Ptr("Standard_M128s"),
	// 		DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeSingleServer),
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_ListByResourceGroup.json
func ExampleSAPVirtualInstancesClient_NewListByResourceGroupPager() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("6d875e77-e412-4d7d-9af4-8895278b4443", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewSAPVirtualInstancesClient().NewListByResourceGroupPager("test-rg", nil)
	for pager.More() {
		page, err := pager.NextPage(ctx)
		if err != nil {
			log.Fatalf("failed to advance page: %v", err)
		}
		for _, v := range page.Value {
			// You could use page here. We use blank identifier for just demo purposes.
			_ = v
		}
		// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
		// page = armworkloadssapvirtualinstance.SAPVirtualInstancesClientListByResourceGroupResponse{
		// 	SAPVirtualInstanceListResult: armworkloadssapvirtualinstance.SAPVirtualInstanceListResult{
		// 		Value: []*armworkloadssapvirtualinstance.SAPVirtualInstance{
		// 			{
		// 				Name: to.Ptr("X00"),
		// 				Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
		// 				ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
		// 				Location: to.Ptr("westcentralus"),
		// 				Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
		// 					Configuration: &armworkloadssapvirtualinstance.DeploymentConfiguration{
		// 						AppLocation: to.Ptr("eastus"),
		// 						ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeployment),
		// 						InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
		// 							AppResourceGroup: to.Ptr("X00-RG"),
		// 							ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
		// 								InstanceCount: to.Ptr[int64](10),
		// 								SubnetID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/vnet1/subnets/subnetId3"),
		// 								VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
		// 									ImageReference: &armworkloadssapvirtualinstance.ImageReference{
		// 										Offer: to.Ptr("RHEL-SAP"),
		// 										Publisher: to.Ptr("RedHat"),
		// 										SKU: to.Ptr("84sapha-gen2"),
		// 										Version: to.Ptr("latest"),
		// 									},
		// 									OSProfile: &armworkloadssapvirtualinstance.OSProfile{
		// 										AdminUsername: to.Ptr("{your-username}"),
		// 										OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
		// 											DisablePasswordAuthentication: to.Ptr(true),
		// 											OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
		// 											SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
		// 												PublicKey: to.Ptr("abc"),
		// 											},
		// 										},
		// 									},
		// 									VMSize: to.Ptr("Standard_D8s_v3"),
		// 								},
		// 							},
		// 							CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
		// 								InstanceCount: to.Ptr[int64](1),
		// 								SubnetID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/vnet1/subnets/subnetId1"),
		// 								VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
		// 									ImageReference: &armworkloadssapvirtualinstance.ImageReference{
		// 										Offer: to.Ptr("RHEL-SAP"),
		// 										Publisher: to.Ptr("RedHat"),
		// 										SKU: to.Ptr("84sapha-gen2"),
		// 										Version: to.Ptr("latest"),
		// 									},
		// 									OSProfile: &armworkloadssapvirtualinstance.OSProfile{
		// 										AdminUsername: to.Ptr("{your-username}"),
		// 										OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
		// 											DisablePasswordAuthentication: to.Ptr(true),
		// 											OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
		// 											SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
		// 												PublicKey: to.Ptr("abc"),
		// 											},
		// 										},
		// 									},
		// 									VMSize: to.Ptr("Standard_D8s_v3"),
		// 								},
		// 							},
		// 							DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
		// 								DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
		// 								InstanceCount: to.Ptr[int64](1),
		// 								SubnetID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/vnet1/subnets/subnetId2"),
		// 								VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
		// 									ImageReference: &armworkloadssapvirtualinstance.ImageReference{
		// 										Offer: to.Ptr("RHEL-SAP"),
		// 										Publisher: to.Ptr("RedHat"),
		// 										SKU: to.Ptr("84sapha-gen2"),
		// 										Version: to.Ptr("latest"),
		// 									},
		// 									OSProfile: &armworkloadssapvirtualinstance.OSProfile{
		// 										AdminUsername: to.Ptr("{your-username}"),
		// 										OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
		// 											DisablePasswordAuthentication: to.Ptr(true),
		// 											OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
		// 											SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
		// 												PublicKey: to.Ptr("abc"),
		// 											},
		// 										},
		// 									},
		// 									VMSize: to.Ptr("Standard_D8s_v3"),
		// 								},
		// 							},
		// 							DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
		// 						},
		// 						SoftwareConfiguration: &armworkloadssapvirtualinstance.ServiceInitiatedSoftwareConfiguration{
		// 							BomURL: to.Ptr("https://myaccount.blob.core.windows.net/mycontainer/myblob"),
		// 							SapBitsStorageAccountID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/ajgupt-test/providers/Microsoft.Storage/storageAccounts/ajguptsavnet"),
		// 							SapFqdn: to.Ptr("sapsystem.contoso.net"),
		// 							SoftwareInstallationType: to.Ptr(armworkloadssapvirtualinstance.SAPSoftwareInstallationTypeServiceInitiated),
		// 							SoftwareVersion: to.Ptr("SAP S/4HANA 2020 FPS01"),
		// 						},
		// 					},
		// 					Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
		// 					Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
		// 					ManagedResourceGroupConfiguration: &armworkloadssapvirtualinstance.ManagedRGConfiguration{
		// 						Name: to.Ptr("mrg-x00-6d875e77-e412-4d7d-9af4-8895278b4443"),
		// 					},
		// 					ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
		// 					SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		// 					State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateRegistrationComplete),
		// 					Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
		// 				},
		// 				SystemData: &armworkloadssapvirtualinstance.SystemData{
		// 					CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
		// 					CreatedBy: to.Ptr("user@xyz.com"),
		// 					CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
		// 					LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
		// 					LastModifiedBy: to.Ptr("user@xyz.com"),
		// 					LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
		// 				},
		// 				Tags: map[string]*string{
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("X01"),
		// 				Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
		// 				ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X01"),
		// 				Location: to.Ptr("westcentralus"),
		// 				Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
		// 					Configuration: &armworkloadssapvirtualinstance.DeploymentConfiguration{
		// 						AppLocation: to.Ptr("eastus"),
		// 						ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeployment),
		// 						InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
		// 							AppResourceGroup: to.Ptr("X00-RG"),
		// 							ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
		// 								InstanceCount: to.Ptr[int64](10),
		// 								SubnetID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/vnet1/subnets/subnetId3"),
		// 								VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
		// 									ImageReference: &armworkloadssapvirtualinstance.ImageReference{
		// 										Offer: to.Ptr("RHEL-SAP"),
		// 										Publisher: to.Ptr("RedHat"),
		// 										SKU: to.Ptr("84sapha-gen2"),
		// 										Version: to.Ptr("latest"),
		// 									},
		// 									OSProfile: &armworkloadssapvirtualinstance.OSProfile{
		// 										AdminUsername: to.Ptr("{your-username}"),
		// 										OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
		// 											DisablePasswordAuthentication: to.Ptr(true),
		// 											OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
		// 											SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
		// 												PublicKey: to.Ptr("abc"),
		// 											},
		// 										},
		// 									},
		// 									VMSize: to.Ptr("Standard_D8s_v3"),
		// 								},
		// 							},
		// 							CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
		// 								InstanceCount: to.Ptr[int64](1),
		// 								SubnetID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/vnet1/subnets/subnetId1"),
		// 								VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
		// 									ImageReference: &armworkloadssapvirtualinstance.ImageReference{
		// 										Offer: to.Ptr("RHEL-SAP"),
		// 										Publisher: to.Ptr("RedHat"),
		// 										SKU: to.Ptr("84sapha-gen2"),
		// 										Version: to.Ptr("latest"),
		// 									},
		// 									OSProfile: &armworkloadssapvirtualinstance.OSProfile{
		// 										AdminUsername: to.Ptr("{your-username}"),
		// 										OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
		// 											DisablePasswordAuthentication: to.Ptr(true),
		// 											OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
		// 											SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
		// 												PublicKey: to.Ptr("abc"),
		// 											},
		// 										},
		// 									},
		// 									VMSize: to.Ptr("Standard_D8s_v3"),
		// 								},
		// 							},
		// 							DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
		// 								DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
		// 								InstanceCount: to.Ptr[int64](1),
		// 								SubnetID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/vnet1/subnets/subnetId2"),
		// 								VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
		// 									ImageReference: &armworkloadssapvirtualinstance.ImageReference{
		// 										Offer: to.Ptr("RHEL-SAP"),
		// 										Publisher: to.Ptr("RedHat"),
		// 										SKU: to.Ptr("84sapha-gen2"),
		// 										Version: to.Ptr("latest"),
		// 									},
		// 									OSProfile: &armworkloadssapvirtualinstance.OSProfile{
		// 										AdminUsername: to.Ptr("{your-username}"),
		// 										OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
		// 											DisablePasswordAuthentication: to.Ptr(true),
		// 											OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
		// 											SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
		// 												PublicKey: to.Ptr("abc"),
		// 											},
		// 										},
		// 									},
		// 									VMSize: to.Ptr("Standard_D8s_v3"),
		// 								},
		// 							},
		// 							DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
		// 						},
		// 						SoftwareConfiguration: &armworkloadssapvirtualinstance.ServiceInitiatedSoftwareConfiguration{
		// 							BomURL: to.Ptr("https://myaccount.blob.core.windows.net/mycontainer/myblob"),
		// 							SapBitsStorageAccountID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/ajgupt-test/providers/Microsoft.Storage/storageAccounts/ajguptsavnet"),
		// 							SapFqdn: to.Ptr("sapsystem.contoso.net"),
		// 							SoftwareInstallationType: to.Ptr(armworkloadssapvirtualinstance.SAPSoftwareInstallationTypeServiceInitiated),
		// 							SoftwareVersion: to.Ptr("SAP S/4HANA 2020 FPS01"),
		// 						},
		// 					},
		// 					Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
		// 					Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
		// 					ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
		// 					SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		// 					State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateRegistrationComplete),
		// 					Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
		// 				},
		// 				SystemData: &armworkloadssapvirtualinstance.SystemData{
		// 					CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
		// 					CreatedBy: to.Ptr("user@xyz.com"),
		// 					CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
		// 					LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
		// 					LastModifiedBy: to.Ptr("user@xyz.com"),
		// 					LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
		// 				},
		// 				Tags: map[string]*string{
		// 				},
		// 			},
		// 		},
		// 	},
		// }
	}
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_ListBySubscription.json
func ExampleSAPVirtualInstancesClient_NewListBySubscriptionPager() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("6d875e77-e412-4d7d-9af4-8895278b4443", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewSAPVirtualInstancesClient().NewListBySubscriptionPager(nil)
	for pager.More() {
		page, err := pager.NextPage(ctx)
		if err != nil {
			log.Fatalf("failed to advance page: %v", err)
		}
		for _, v := range page.Value {
			// You could use page here. We use blank identifier for just demo purposes.
			_ = v
		}
		// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
		// page = armworkloadssapvirtualinstance.SAPVirtualInstancesClientListBySubscriptionResponse{
		// 	SAPVirtualInstanceListResult: armworkloadssapvirtualinstance.SAPVirtualInstanceListResult{
		// 		Value: []*armworkloadssapvirtualinstance.SAPVirtualInstance{
		// 			{
		// 				Name: to.Ptr("X00"),
		// 				Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
		// 				ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
		// 				Location: to.Ptr("westcentralus"),
		// 				Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
		// 					Configuration: &armworkloadssapvirtualinstance.DeploymentConfiguration{
		// 						AppLocation: to.Ptr("eastus"),
		// 						ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeployment),
		// 						InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
		// 							AppResourceGroup: to.Ptr("X00-RG"),
		// 							ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
		// 								InstanceCount: to.Ptr[int64](10),
		// 								SubnetID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/vnet1/subnets/subnetId3"),
		// 								VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
		// 									ImageReference: &armworkloadssapvirtualinstance.ImageReference{
		// 										Offer: to.Ptr("RHEL-SAP"),
		// 										Publisher: to.Ptr("RedHat"),
		// 										SKU: to.Ptr("84sapha-gen2"),
		// 										Version: to.Ptr("latest"),
		// 									},
		// 									OSProfile: &armworkloadssapvirtualinstance.OSProfile{
		// 										AdminUsername: to.Ptr("{your-username}"),
		// 										OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
		// 											DisablePasswordAuthentication: to.Ptr(true),
		// 											OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
		// 											SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
		// 												PublicKey: to.Ptr("abc"),
		// 											},
		// 										},
		// 									},
		// 									VMSize: to.Ptr("Standard_D8s_v3"),
		// 								},
		// 							},
		// 							CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
		// 								InstanceCount: to.Ptr[int64](1),
		// 								SubnetID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/vnet1/subnets/subnetId1"),
		// 								VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
		// 									ImageReference: &armworkloadssapvirtualinstance.ImageReference{
		// 										Offer: to.Ptr("RHEL-SAP"),
		// 										Publisher: to.Ptr("RedHat"),
		// 										SKU: to.Ptr("84sapha-gen2"),
		// 										Version: to.Ptr("latest"),
		// 									},
		// 									OSProfile: &armworkloadssapvirtualinstance.OSProfile{
		// 										AdminUsername: to.Ptr("{your-username}"),
		// 										OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
		// 											DisablePasswordAuthentication: to.Ptr(true),
		// 											OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
		// 											SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
		// 												PublicKey: to.Ptr("abc"),
		// 											},
		// 										},
		// 									},
		// 									VMSize: to.Ptr("Standard_D8s_v3"),
		// 								},
		// 							},
		// 							DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
		// 								DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
		// 								InstanceCount: to.Ptr[int64](1),
		// 								SubnetID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/vnet1/subnets/subnetId2"),
		// 								VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
		// 									ImageReference: &armworkloadssapvirtualinstance.ImageReference{
		// 										Offer: to.Ptr("RHEL-SAP"),
		// 										Publisher: to.Ptr("RedHat"),
		// 										SKU: to.Ptr("84sapha-gen2"),
		// 										Version: to.Ptr("latest"),
		// 									},
		// 									OSProfile: &armworkloadssapvirtualinstance.OSProfile{
		// 										AdminUsername: to.Ptr("{your-username}"),
		// 										OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
		// 											DisablePasswordAuthentication: to.Ptr(true),
		// 											OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
		// 											SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
		// 												PublicKey: to.Ptr("abc"),
		// 											},
		// 										},
		// 									},
		// 									VMSize: to.Ptr("Standard_D8s_v3"),
		// 								},
		// 							},
		// 							DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
		// 						},
		// 						SoftwareConfiguration: &armworkloadssapvirtualinstance.ServiceInitiatedSoftwareConfiguration{
		// 							BomURL: to.Ptr("https://myaccount.blob.core.windows.net/mycontainer/myblob"),
		// 							SapBitsStorageAccountID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/ajgupt-test/providers/Microsoft.Storage/storageAccounts/ajguptsavnet"),
		// 							SapFqdn: to.Ptr("sapsystem.contoso.net"),
		// 							SoftwareInstallationType: to.Ptr(armworkloadssapvirtualinstance.SAPSoftwareInstallationTypeServiceInitiated),
		// 							SoftwareVersion: to.Ptr("SAP S/4HANA 2020 FPS01"),
		// 						},
		// 					},
		// 					Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
		// 					Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
		// 					ManagedResourceGroupConfiguration: &armworkloadssapvirtualinstance.ManagedRGConfiguration{
		// 						Name: to.Ptr("mrg-x00-6d875e77-e412-4d7d-9af4-8895278b4443"),
		// 					},
		// 					ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
		// 					SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		// 					State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateRegistrationComplete),
		// 					Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
		// 				},
		// 				SystemData: &armworkloadssapvirtualinstance.SystemData{
		// 					CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
		// 					CreatedBy: to.Ptr("user@xyz.com"),
		// 					CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
		// 					LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
		// 					LastModifiedBy: to.Ptr("user@xyz.com"),
		// 					LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
		// 				},
		// 				Tags: map[string]*string{
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("X01"),
		// 				Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
		// 				ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X01"),
		// 				Location: to.Ptr("westcentralus"),
		// 				Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
		// 					Configuration: &armworkloadssapvirtualinstance.DeploymentConfiguration{
		// 						AppLocation: to.Ptr("eastus"),
		// 						ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeployment),
		// 						InfrastructureConfiguration: &armworkloadssapvirtualinstance.ThreeTierConfiguration{
		// 							AppResourceGroup: to.Ptr("X00-RG"),
		// 							ApplicationServer: &armworkloadssapvirtualinstance.ApplicationServerConfiguration{
		// 								InstanceCount: to.Ptr[int64](10),
		// 								SubnetID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/vnet1/subnets/subnetId3"),
		// 								VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
		// 									ImageReference: &armworkloadssapvirtualinstance.ImageReference{
		// 										Offer: to.Ptr("RHEL-SAP"),
		// 										Publisher: to.Ptr("RedHat"),
		// 										SKU: to.Ptr("84sapha-gen2"),
		// 										Version: to.Ptr("latest"),
		// 									},
		// 									OSProfile: &armworkloadssapvirtualinstance.OSProfile{
		// 										AdminUsername: to.Ptr("{your-username}"),
		// 										OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
		// 											DisablePasswordAuthentication: to.Ptr(true),
		// 											OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
		// 											SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
		// 												PublicKey: to.Ptr("abc"),
		// 											},
		// 										},
		// 									},
		// 									VMSize: to.Ptr("Standard_D8s_v3"),
		// 								},
		// 							},
		// 							CentralServer: &armworkloadssapvirtualinstance.CentralServerConfiguration{
		// 								InstanceCount: to.Ptr[int64](1),
		// 								SubnetID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/vnet1/subnets/subnetId1"),
		// 								VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
		// 									ImageReference: &armworkloadssapvirtualinstance.ImageReference{
		// 										Offer: to.Ptr("RHEL-SAP"),
		// 										Publisher: to.Ptr("RedHat"),
		// 										SKU: to.Ptr("84sapha-gen2"),
		// 										Version: to.Ptr("latest"),
		// 									},
		// 									OSProfile: &armworkloadssapvirtualinstance.OSProfile{
		// 										AdminUsername: to.Ptr("{your-username}"),
		// 										OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
		// 											DisablePasswordAuthentication: to.Ptr(true),
		// 											OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
		// 											SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
		// 												PublicKey: to.Ptr("abc"),
		// 											},
		// 										},
		// 									},
		// 									VMSize: to.Ptr("Standard_D8s_v3"),
		// 								},
		// 							},
		// 							DatabaseServer: &armworkloadssapvirtualinstance.DatabaseConfiguration{
		// 								DatabaseType: to.Ptr(armworkloadssapvirtualinstance.SAPDatabaseTypeHANA),
		// 								InstanceCount: to.Ptr[int64](1),
		// 								SubnetID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Networks/virtualNetworks/vnet1/subnets/subnetId2"),
		// 								VirtualMachineConfiguration: &armworkloadssapvirtualinstance.VirtualMachineConfiguration{
		// 									ImageReference: &armworkloadssapvirtualinstance.ImageReference{
		// 										Offer: to.Ptr("RHEL-SAP"),
		// 										Publisher: to.Ptr("RedHat"),
		// 										SKU: to.Ptr("84sapha-gen2"),
		// 										Version: to.Ptr("latest"),
		// 									},
		// 									OSProfile: &armworkloadssapvirtualinstance.OSProfile{
		// 										AdminUsername: to.Ptr("{your-username}"),
		// 										OSConfiguration: &armworkloadssapvirtualinstance.LinuxConfiguration{
		// 											DisablePasswordAuthentication: to.Ptr(true),
		// 											OSType: to.Ptr(armworkloadssapvirtualinstance.OSTypeLinux),
		// 											SSHKeyPair: &armworkloadssapvirtualinstance.SSHKeyPair{
		// 												PublicKey: to.Ptr("abc"),
		// 											},
		// 										},
		// 									},
		// 									VMSize: to.Ptr("Standard_D8s_v3"),
		// 								},
		// 							},
		// 							DeploymentType: to.Ptr(armworkloadssapvirtualinstance.SAPDeploymentTypeThreeTier),
		// 						},
		// 						SoftwareConfiguration: &armworkloadssapvirtualinstance.ServiceInitiatedSoftwareConfiguration{
		// 							BomURL: to.Ptr("https://myaccount.blob.core.windows.net/mycontainer/myblob"),
		// 							SapBitsStorageAccountID: to.Ptr("/subscriptions/49d64d54-e966-4c46-a868-1999802b762c/resourceGroups/ajgupt-test/providers/Microsoft.Storage/storageAccounts/ajguptsavnet"),
		// 							SapFqdn: to.Ptr("sapsystem.contoso.net"),
		// 							SoftwareInstallationType: to.Ptr(armworkloadssapvirtualinstance.SAPSoftwareInstallationTypeServiceInitiated),
		// 							SoftwareVersion: to.Ptr("SAP S/4HANA 2020 FPS01"),
		// 						},
		// 					},
		// 					Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
		// 					Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
		// 					ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
		// 					SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
		// 					State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateRegistrationComplete),
		// 					Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
		// 				},
		// 				SystemData: &armworkloadssapvirtualinstance.SystemData{
		// 					CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
		// 					CreatedBy: to.Ptr("user@xyz.com"),
		// 					CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
		// 					LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
		// 					LastModifiedBy: to.Ptr("user@xyz.com"),
		// 					LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
		// 				},
		// 				Tags: map[string]*string{
		// 				},
		// 			},
		// 		},
		// 	},
		// }
	}
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_Start.json
func ExampleSAPVirtualInstancesClient_BeginStart_sapVirtualInstancesStart() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginStart(ctx, "test-rg", "X00", &armworkloadssapvirtualinstance.SAPVirtualInstancesClientBeginStartOptions{
		Body: &armworkloadssapvirtualinstance.StartRequest{
			StartVM: to.Ptr(true),
		}})
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientStartResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("1e4193c3-206e-4916-b124-1da16175eb0e"),
	// 		EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:38:07.000Z"); return t}()),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/operations/locations/centralus/1e4193c3-206e-4916-b124-1da16175eb0e"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_StartWithInfraOperations.json
func ExampleSAPVirtualInstancesClient_BeginStart_sapVirtualInstancesStartWithInfraOperations() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginStart(ctx, "test-rg", "X00", &armworkloadssapvirtualinstance.SAPVirtualInstancesClientBeginStartOptions{
		Body: &armworkloadssapvirtualinstance.StartRequest{
			StartVM: to.Ptr(true),
		}})
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientStartResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("1e4193c3-206e-4916-b124-1da16175eb0e"),
	// 		EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:38:07.000Z"); return t}()),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/operations/locations/centralus/1e4193c3-206e-4916-b124-1da16175eb0e"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_SoftStop.json
func ExampleSAPVirtualInstancesClient_BeginStop_softStopOfSapVirtualInstancesStop() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginStop(ctx, "test-rg", "X00", &armworkloadssapvirtualinstance.SAPVirtualInstancesClientBeginStopOptions{
		Body: &armworkloadssapvirtualinstance.StopRequest{
			SoftStopTimeoutSeconds: to.Ptr[int64](300),
		}})
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientStopResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("1e4193c3-206e-4916-b124-1da16175eb0e"),
	// 		EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:38:07.000Z"); return t}()),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/operations/locations/centralus/1e4193c3-206e-4916-b124-1da16175eb0e"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_SoftStopVMAndSystem.json
func ExampleSAPVirtualInstancesClient_BeginStop_softStopTheVirtualMachineSAndTheSapSystemOnIt() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginStop(ctx, "test-rg", "X00", &armworkloadssapvirtualinstance.SAPVirtualInstancesClientBeginStopOptions{
		Body: &armworkloadssapvirtualinstance.StopRequest{
			DeallocateVM:           to.Ptr(true),
			SoftStopTimeoutSeconds: to.Ptr[int64](300),
		}})
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientStopResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("1e4193c3-206e-4916-b124-1da16175eb0e"),
	// 		EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:38:07.000Z"); return t}()),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/operations/locations/centralus/1e4193c3-206e-4916-b124-1da16175eb0e"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_Stop.json
func ExampleSAPVirtualInstancesClient_BeginStop_sapVirtualInstancesStop() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginStop(ctx, "test-rg", "X00", &armworkloadssapvirtualinstance.SAPVirtualInstancesClientBeginStopOptions{
		Body: &armworkloadssapvirtualinstance.StopRequest{
			SoftStopTimeoutSeconds: to.Ptr[int64](0),
		}})
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientStopResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("1e4193c3-206e-4916-b124-1da16175eb0e"),
	// 		EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:38:07.000Z"); return t}()),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/operations/locations/centralus/1e4193c3-206e-4916-b124-1da16175eb0e"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_StopVMAndSystem.json
func ExampleSAPVirtualInstancesClient_BeginStop_stopTheVirtualMachineSAndTheSapSystemOnIt() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginStop(ctx, "test-rg", "X00", &armworkloadssapvirtualinstance.SAPVirtualInstancesClientBeginStopOptions{
		Body: &armworkloadssapvirtualinstance.StopRequest{
			DeallocateVM:           to.Ptr(true),
			SoftStopTimeoutSeconds: to.Ptr[int64](0),
		}})
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientStopResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("1e4193c3-206e-4916-b124-1da16175eb0e"),
	// 		EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:38:07.000Z"); return t}()),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/operations/locations/centralus/1e4193c3-206e-4916-b124-1da16175eb0e"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_Update.json
func ExampleSAPVirtualInstancesClient_BeginUpdate_sapVirtualInstancesUpdate() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginUpdate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.UpdateSAPVirtualInstanceRequest{
		Identity: &armworkloadssapvirtualinstance.SAPVirtualInstanceIdentity{
			Type: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceIdentityTypeNone),
		},
		Properties: &armworkloadssapvirtualinstance.UpdateSAPVirtualInstanceProperties{},
		Tags: map[string]*string{
			"key1": to.Ptr("svi1"),
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientUpdateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Identity: &armworkloadssapvirtualinstance.SAPVirtualInstanceIdentity{
	// 			Type: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceIdentityTypeNone),
	// 		},
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentConfiguration{
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeployment),
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ManagedResourceGroupConfiguration: &armworkloadssapvirtualinstance.ManagedRGConfiguration{
	// 				Name: to.Ptr("mrg-x00-6d875e77-e412-4d7d-9af4-8895278b4443"),
	// 			},
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateInfrastructureDeploymentPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusStarting),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 			"key1": to.Ptr("svi1"),
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2024-09-01/SapVirtualInstances_UpdateTrustedAccess.json
func ExampleSAPVirtualInstancesClient_BeginUpdate_sapVirtualInstancesTrustedAccessEnableUpdate() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("8e17e36c-42e9-4cd5-a078-7b44883414e0", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewSAPVirtualInstancesClient().BeginUpdate(ctx, "test-rg", "X00", armworkloadssapvirtualinstance.UpdateSAPVirtualInstanceRequest{
		Identity: &armworkloadssapvirtualinstance.SAPVirtualInstanceIdentity{
			Type: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceIdentityTypeNone),
		},
		Properties: &armworkloadssapvirtualinstance.UpdateSAPVirtualInstanceProperties{
			ManagedResourcesNetworkAccessType: to.Ptr(armworkloadssapvirtualinstance.ManagedResourcesNetworkAccessTypePrivate),
		},
		Tags: map[string]*string{
			"key1": to.Ptr("svi1"),
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res = armworkloadssapvirtualinstance.SAPVirtualInstancesClientUpdateResponse{
	// 	SAPVirtualInstance: &armworkloadssapvirtualinstance.SAPVirtualInstance{
	// 		Name: to.Ptr("X00"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00"),
	// 		Identity: &armworkloadssapvirtualinstance.SAPVirtualInstanceIdentity{
	// 			Type: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceIdentityTypeNone),
	// 		},
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPVirtualInstanceProperties{
	// 			Configuration: &armworkloadssapvirtualinstance.DeploymentConfiguration{
	// 				ConfigurationType: to.Ptr(armworkloadssapvirtualinstance.SAPConfigurationTypeDeployment),
	// 			},
	// 			Environment: to.Ptr(armworkloadssapvirtualinstance.SAPEnvironmentTypeProd),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			ManagedResourceGroupConfiguration: &armworkloadssapvirtualinstance.ManagedRGConfiguration{
	// 				Name: to.Ptr("mrg-x00-6d875e77-e412-4d7d-9af4-8895278b4443"),
	// 			},
	// 			ManagedResourcesNetworkAccessType: to.Ptr(armworkloadssapvirtualinstance.ManagedResourcesNetworkAccessTypePrivate),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			SapProduct: to.Ptr(armworkloadssapvirtualinstance.SAPProductTypeS4HANA),
	// 			State: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStateInfrastructureDeploymentPending),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusStarting),
	// 		},
	// 		SystemData: &armworkloadssapvirtualinstance.SystemData{
	// 			CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			CreatedBy: to.Ptr("user@xyz.com"),
	// 			CreatedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 			LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T15:10:46.196Z"); return t}()),
	// 			LastModifiedBy: to.Ptr("user@xyz.com"),
	// 			LastModifiedByType: to.Ptr(armworkloadssapvirtualinstance.CreatedByTypeUser),
	// 		},
	// 		Tags: map[string]*string{
	// 			"key1": to.Ptr("svi1"),
	// 		},
	// 	},
	// }
}
