armworkloadssapvirtualinstance

package module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 21, 2025 License: MIT Imports: 14 Imported by: 1

README

Azure Workloadssapvirtualinstance Module for Go

The armworkloadssapvirtualinstance module provides operations for working with Azure Workloadssapvirtualinstance.

Source code

Getting started

Prerequisites

  • an Azure subscription
  • Supported version of Go (You could download and install the latest version of Go from here. It will replace the existing Go on your machine. If you want to install multiple Go versions on the same machine, you could refer this doc.)

Install the package

This project uses Go modules for versioning and dependency management.

Install the Azure Workloadssapvirtualinstance module:

go get github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/workloadssapvirtualinstance/armworkloadssapvirtualinstance

Authorization

When creating a client, you will need to provide a credential for authenticating with Azure Workloadssapvirtualinstance. The azidentity module provides facilities for various ways of authenticating with Azure including client/secret, certificate, managed identity, and more.

cred, err := azidentity.NewDefaultAzureCredential(nil)

For more information on authentication, please see the documentation for azidentity at pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity.

Client Factory

Azure Workloadssapvirtualinstance module consists of one or more clients. We provide a client factory which could be used to create any client in this module.

clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory(<subscription ID>, cred, nil)

You can use ClientOptions in package github.com/Azure/azure-sdk-for-go/sdk/azcore/arm to set endpoint to connect with public and sovereign clouds as well as Azure Stack. For more information, please see the documentation for azcore at pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azcore.

options := arm.ClientOptions {
    ClientOptions: azcore.ClientOptions {
        Cloud: cloud.AzureChina,
    },
}
clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory(<subscription ID>, cred, &options)

Clients

A client groups a set of related APIs, providing access to its functionality. Create one or more clients to access the APIs you require using client factory.

client := clientFactory.NewSAPApplicationServerInstancesClient()

Fakes

The fake package contains types used for constructing in-memory fake servers used in unit tests. This allows writing tests to cover various success/error conditions without the need for connecting to a live service.

Please see https://github.com/Azure/azure-sdk-for-go/tree/main/sdk/samples/fakes for details and examples on how to use fakes.

Provide Feedback

If you encounter bugs or have suggestions, please open an issue and assign the Workloadssapvirtualinstance label.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ActionType

type ActionType string

ActionType - Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.

const (
	// ActionTypeInternal - Actions are for internal-only APIs.
	ActionTypeInternal ActionType = "Internal"
)

func PossibleActionTypeValues

func PossibleActionTypeValues() []ActionType

PossibleActionTypeValues returns the possible values for the ActionType const type.

type ApplicationServerConfiguration

type ApplicationServerConfiguration struct {
	// REQUIRED; The number of app server instances.
	InstanceCount *int64

	// REQUIRED; The subnet id.
	SubnetID *string

	// REQUIRED; Gets or sets the virtual machine configuration.
	VirtualMachineConfiguration *VirtualMachineConfiguration
}

ApplicationServerConfiguration - Gets or sets the application server configuration.

func (ApplicationServerConfiguration) MarshalJSON

func (a ApplicationServerConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ApplicationServerConfiguration.

func (*ApplicationServerConfiguration) UnmarshalJSON

func (a *ApplicationServerConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationServerConfiguration.

type ApplicationServerFullResourceNames

type ApplicationServerFullResourceNames struct {
	// The full name for availability set. In case name is not provided, it will be defaulted to {SID}-App-AvSet.
	AvailabilitySetName *string

	// The list of virtual machine naming details.
	VirtualMachines []*VirtualMachineResourceNames
}

ApplicationServerFullResourceNames - The full resource names object for application layer resources. The number of entries in this list should be equal to the number VMs to be created for application layer.

func (ApplicationServerFullResourceNames) MarshalJSON

func (a ApplicationServerFullResourceNames) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ApplicationServerFullResourceNames.

func (*ApplicationServerFullResourceNames) UnmarshalJSON

func (a *ApplicationServerFullResourceNames) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationServerFullResourceNames.

type ApplicationServerVMDetails

type ApplicationServerVMDetails struct {
	// READ-ONLY; Storage details of all the Storage Accounts attached to the App Virtual Machine. For e.g. NFS on AFS Shared
	// Storage.
	StorageDetails []*StorageInformation

	// READ-ONLY; Defines the type of application server VM.
	Type *ApplicationServerVirtualMachineType

	// READ-ONLY; The virtual machine id.
	VirtualMachineID *string
}

ApplicationServerVMDetails - The Application Server VM Details.

func (ApplicationServerVMDetails) MarshalJSON

func (a ApplicationServerVMDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ApplicationServerVMDetails.

func (*ApplicationServerVMDetails) UnmarshalJSON

func (a *ApplicationServerVMDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ApplicationServerVMDetails.

type ApplicationServerVirtualMachineType

type ApplicationServerVirtualMachineType string

ApplicationServerVirtualMachineType - Defines the type of application server VM.

const (
	// ApplicationServerVirtualMachineTypeActive - Active Application server vm type.
	ApplicationServerVirtualMachineTypeActive ApplicationServerVirtualMachineType = "Active"
	// ApplicationServerVirtualMachineTypeStandby - Standby Application server vm type.
	ApplicationServerVirtualMachineTypeStandby ApplicationServerVirtualMachineType = "Standby"
	// ApplicationServerVirtualMachineTypeUnknown - Unknown Application server vm type.
	ApplicationServerVirtualMachineTypeUnknown ApplicationServerVirtualMachineType = "Unknown"
)

func PossibleApplicationServerVirtualMachineTypeValues

func PossibleApplicationServerVirtualMachineTypeValues() []ApplicationServerVirtualMachineType

PossibleApplicationServerVirtualMachineTypeValues returns the possible values for the ApplicationServerVirtualMachineType const type.

type CentralServerConfiguration

type CentralServerConfiguration struct {
	// REQUIRED; The number of central server VMs.
	InstanceCount *int64

	// REQUIRED; The subnet id.
	SubnetID *string

	// REQUIRED; Gets or sets the virtual machine configuration.
	VirtualMachineConfiguration *VirtualMachineConfiguration
}

CentralServerConfiguration - Gets or sets the central server configuration.

func (CentralServerConfiguration) MarshalJSON

func (c CentralServerConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type CentralServerConfiguration.

func (*CentralServerConfiguration) UnmarshalJSON

func (c *CentralServerConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type CentralServerConfiguration.

type CentralServerFullResourceNames

type CentralServerFullResourceNames struct {
	// The full name for availability set. In case name is not provided, it will be defaulted to {SID}-ASCS-AvSet.
	AvailabilitySetName *string

	// The resource names object for load balancer and related resources.
	LoadBalancer *LoadBalancerResourceNames

	// The list of names for all ASCS virtual machines to be deployed. The number of entries in this list should be equal to the
	// number VMs to be created for ASCS layer. At maximum, there can be two virtual machines at this layer: ASCS and ERS.
	VirtualMachines []*VirtualMachineResourceNames
}

CentralServerFullResourceNames - The full resource names object for central server layer resources.

func (CentralServerFullResourceNames) MarshalJSON

func (c CentralServerFullResourceNames) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type CentralServerFullResourceNames.

func (*CentralServerFullResourceNames) UnmarshalJSON

func (c *CentralServerFullResourceNames) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type CentralServerFullResourceNames.

type CentralServerVMDetails

type CentralServerVMDetails struct {
	// READ-ONLY; Storage details of all the Storage Accounts attached to the ASCS Virtual Machine. For e.g. NFS on AFS Shared
	// Storage.
	StorageDetails []*StorageInformation

	// READ-ONLY; Defines the type of central server VM.
	Type *CentralServerVirtualMachineType

	// READ-ONLY; The virtual machine id.
	VirtualMachineID *string
}

CentralServerVMDetails - The SAP Central Services Instance VM details.

func (CentralServerVMDetails) MarshalJSON

func (c CentralServerVMDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type CentralServerVMDetails.

func (*CentralServerVMDetails) UnmarshalJSON

func (c *CentralServerVMDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type CentralServerVMDetails.

type CentralServerVirtualMachineType

type CentralServerVirtualMachineType string

CentralServerVirtualMachineType - Defines the type of central server VM.

const (
	// CentralServerVirtualMachineTypeASCS - ASCS Central server vm type.
	CentralServerVirtualMachineTypeASCS CentralServerVirtualMachineType = "ASCS"
	// CentralServerVirtualMachineTypeERS - ERS Central server vm type.
	CentralServerVirtualMachineTypeERS CentralServerVirtualMachineType = "ERS"
	// CentralServerVirtualMachineTypeERSInactive - ERSInactive Central server vm type.
	CentralServerVirtualMachineTypeERSInactive CentralServerVirtualMachineType = "ERSInactive"
	// CentralServerVirtualMachineTypePrimary - Primary central server vm.
	CentralServerVirtualMachineTypePrimary CentralServerVirtualMachineType = "Primary"
	// CentralServerVirtualMachineTypeSecondary - Secondary central server vm.
	CentralServerVirtualMachineTypeSecondary CentralServerVirtualMachineType = "Secondary"
	// CentralServerVirtualMachineTypeStandby - Standby Central server vm type.
	CentralServerVirtualMachineTypeStandby CentralServerVirtualMachineType = "Standby"
	// CentralServerVirtualMachineTypeUnknown - Central server vm type unknown.
	CentralServerVirtualMachineTypeUnknown CentralServerVirtualMachineType = "Unknown"
)

func PossibleCentralServerVirtualMachineTypeValues

func PossibleCentralServerVirtualMachineTypeValues() []CentralServerVirtualMachineType

PossibleCentralServerVirtualMachineTypeValues returns the possible values for the CentralServerVirtualMachineType const type.

type ClientFactory

type ClientFactory struct {
	// contains filtered or unexported fields
}

ClientFactory is a client factory used to create any client in this module. Don't use this type directly, use NewClientFactory instead.

func NewClientFactory

func NewClientFactory(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ClientFactory, error)

NewClientFactory creates a new instance of ClientFactory with the specified values. The parameter values will be propagated to any client created from this factory.

  • subscriptionID - The ID of the target subscription. The value must be an UUID.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ClientFactory) NewOperationsClient

func (c *ClientFactory) NewOperationsClient() *OperationsClient

NewOperationsClient creates a new instance of OperationsClient.

func (*ClientFactory) NewSAPApplicationServerInstancesClient

func (c *ClientFactory) NewSAPApplicationServerInstancesClient() *SAPApplicationServerInstancesClient

NewSAPApplicationServerInstancesClient creates a new instance of SAPApplicationServerInstancesClient.

func (*ClientFactory) NewSAPCentralServerInstancesClient added in v1.0.0

func (c *ClientFactory) NewSAPCentralServerInstancesClient() *SAPCentralServerInstancesClient

NewSAPCentralServerInstancesClient creates a new instance of SAPCentralServerInstancesClient.

func (*ClientFactory) NewSAPDatabaseInstancesClient

func (c *ClientFactory) NewSAPDatabaseInstancesClient() *SAPDatabaseInstancesClient

NewSAPDatabaseInstancesClient creates a new instance of SAPDatabaseInstancesClient.

func (*ClientFactory) NewSAPVirtualInstancesClient

func (c *ClientFactory) NewSAPVirtualInstancesClient() *SAPVirtualInstancesClient

NewSAPVirtualInstancesClient creates a new instance of SAPVirtualInstancesClient.

type CreateAndMountFileShareConfiguration

type CreateAndMountFileShareConfiguration struct {
	// CONSTANT; The type of file share config.
	// Field has constant value FileShareConfigurationTypeCreateAndMount, any specified value is ignored.
	ConfigurationType *FileShareConfigurationType

	// The name of transport file share resource group. This should be pre created by the customer. The app rg is used in case
	// of missing input.
	ResourceGroup *string

	// The name of file share storage account name . A custom name is used in case of missing input.
	StorageAccountName *string
}

CreateAndMountFileShareConfiguration - Gets or sets the file share configuration where the transport directory fileshare is created and mounted as a part of the create infra flow. Please pre-create the resource group you intend to place the transport directory in. The storage account and fileshare will be auto-created by the ACSS and doesn't need to be pre-created.

func (*CreateAndMountFileShareConfiguration) GetFileShareConfiguration

func (c *CreateAndMountFileShareConfiguration) GetFileShareConfiguration() *FileShareConfiguration

GetFileShareConfiguration implements the FileShareConfigurationClassification interface for type CreateAndMountFileShareConfiguration.

func (CreateAndMountFileShareConfiguration) MarshalJSON

func (c CreateAndMountFileShareConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type CreateAndMountFileShareConfiguration.

func (*CreateAndMountFileShareConfiguration) UnmarshalJSON

func (c *CreateAndMountFileShareConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type CreateAndMountFileShareConfiguration.

type CreatedByType

type CreatedByType string

CreatedByType - The kind of entity that created the resource.

const (
	// CreatedByTypeApplication - The entity was created by an application.
	CreatedByTypeApplication CreatedByType = "Application"
	// CreatedByTypeKey - The entity was created by a key.
	CreatedByTypeKey CreatedByType = "Key"
	// CreatedByTypeManagedIdentity - The entity was created by a managed identity.
	CreatedByTypeManagedIdentity CreatedByType = "ManagedIdentity"
	// CreatedByTypeUser - The entity was created by a user.
	CreatedByTypeUser CreatedByType = "User"
)

func PossibleCreatedByTypeValues

func PossibleCreatedByTypeValues() []CreatedByType

PossibleCreatedByTypeValues returns the possible values for the CreatedByType const type.

type DatabaseConfiguration

type DatabaseConfiguration struct {
	// REQUIRED; The number of database VMs.
	InstanceCount *int64

	// REQUIRED; The subnet id.
	SubnetID *string

	// REQUIRED; Gets or sets the virtual machine configuration.
	VirtualMachineConfiguration *VirtualMachineConfiguration

	// The database type.
	DatabaseType *SAPDatabaseType

	// Gets or sets the disk configuration.
	DiskConfiguration *DiskConfiguration
}

DatabaseConfiguration - Gets or sets the database configuration.

func (DatabaseConfiguration) MarshalJSON

func (d DatabaseConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DatabaseConfiguration.

func (*DatabaseConfiguration) UnmarshalJSON

func (d *DatabaseConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DatabaseConfiguration.

type DatabaseServerFullResourceNames

type DatabaseServerFullResourceNames struct {
	// The full name for availability set. In case name is not provided, it will be defaulted to {SID}-DB-AvSet.
	AvailabilitySetName *string

	// The resource names object for load balancer and related resources.
	LoadBalancer *LoadBalancerResourceNames

	// The list of virtual machine naming details.
	VirtualMachines []*VirtualMachineResourceNames
}

DatabaseServerFullResourceNames - The full resource names object for database layer resources. The number of entries in this list should be equal to the number VMs to be created for database layer.

func (DatabaseServerFullResourceNames) MarshalJSON

func (d DatabaseServerFullResourceNames) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DatabaseServerFullResourceNames.

func (*DatabaseServerFullResourceNames) UnmarshalJSON

func (d *DatabaseServerFullResourceNames) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DatabaseServerFullResourceNames.

type DatabaseVMDetails

type DatabaseVMDetails struct {
	// READ-ONLY; Defines the SAP Instance status.
	Status *SAPVirtualInstanceStatus

	// READ-ONLY; Storage details of all the Storage Accounts attached to the Database Virtual Machine. For e.g. NFS on AFS Shared
	// Storage.
	StorageDetails []*StorageInformation

	// READ-ONLY; The virtual machine id.
	VirtualMachineID *string
}

DatabaseVMDetails - Database VM details.

func (DatabaseVMDetails) MarshalJSON

func (d DatabaseVMDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DatabaseVMDetails.

func (*DatabaseVMDetails) UnmarshalJSON

func (d *DatabaseVMDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DatabaseVMDetails.

type DeployerVMPackages

type DeployerVMPackages struct {
	// The deployer VM packages storage account id
	StorageAccountID *string

	// The URL to the deployer VM packages file.
	URL *string
}

DeployerVMPackages - Defines the url and storage account ID where deployer VM packages are uploaded

func (DeployerVMPackages) MarshalJSON

func (d DeployerVMPackages) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DeployerVMPackages.

func (*DeployerVMPackages) UnmarshalJSON

func (d *DeployerVMPackages) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DeployerVMPackages.

type DeploymentConfiguration

type DeploymentConfiguration struct {
	// CONSTANT; The deployment configuration Type.
	// Field has constant value SAPConfigurationTypeDeployment, any specified value is ignored.
	ConfigurationType *SAPConfigurationType

	// The geo-location where the SAP system is to be created.
	AppLocation *string

	// The infrastructure configuration.
	InfrastructureConfiguration InfrastructureConfigurationClassification

	// The software configuration.
	SoftwareConfiguration SoftwareConfigurationClassification
}

DeploymentConfiguration - Deployment Configuration.

func (*DeploymentConfiguration) GetSAPConfiguration

func (d *DeploymentConfiguration) GetSAPConfiguration() *SAPConfiguration

GetSAPConfiguration implements the SAPConfigurationClassification interface for type DeploymentConfiguration.

func (DeploymentConfiguration) MarshalJSON

func (d DeploymentConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DeploymentConfiguration.

func (*DeploymentConfiguration) UnmarshalJSON

func (d *DeploymentConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DeploymentConfiguration.

type DeploymentWithOSConfiguration

type DeploymentWithOSConfiguration struct {
	// CONSTANT; The configuration Type.
	// Field has constant value SAPConfigurationTypeDeploymentWithOSConfig, any specified value is ignored.
	ConfigurationType *SAPConfigurationType

	// The geo-location where the SAP system is to be created.
	AppLocation *string

	// The infrastructure configuration.
	InfrastructureConfiguration InfrastructureConfigurationClassification

	// The OS and SAP configuration.
	OSSapConfiguration *OsSapConfiguration

	// The software configuration.
	SoftwareConfiguration SoftwareConfigurationClassification
}

DeploymentWithOSConfiguration - Deployment along with OS Configuration.

func (*DeploymentWithOSConfiguration) GetSAPConfiguration

func (d *DeploymentWithOSConfiguration) GetSAPConfiguration() *SAPConfiguration

GetSAPConfiguration implements the SAPConfigurationClassification interface for type DeploymentWithOSConfiguration.

func (DeploymentWithOSConfiguration) MarshalJSON

func (d DeploymentWithOSConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DeploymentWithOSConfiguration.

func (*DeploymentWithOSConfiguration) UnmarshalJSON

func (d *DeploymentWithOSConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DeploymentWithOSConfiguration.

type DiscoveryConfiguration

type DiscoveryConfiguration struct {
	// CONSTANT; The configuration Type.
	// Field has constant value SAPConfigurationTypeDiscovery, any specified value is ignored.
	ConfigurationType *SAPConfigurationType

	// The virtual machine ID of the Central Server.
	CentralServerVMID *string

	// The custom storage account name for the storage account created by the service in the managed resource group created as
	// part of VIS deployment.<br><br>Refer to the storage account naming rules [here](https://learn.microsoft.com/azure/azure-resource-manager/management/resource-name-rules#microsoftstorage).<br><br>If
	// not provided, the service will create the storage account with a random name.
	ManagedRgStorageAccountName *string

	// READ-ONLY; The geo-location where the SAP system exists.
	AppLocation *string
}

DiscoveryConfiguration - Discovery Details.

func (*DiscoveryConfiguration) GetSAPConfiguration

func (d *DiscoveryConfiguration) GetSAPConfiguration() *SAPConfiguration

GetSAPConfiguration implements the SAPConfigurationClassification interface for type DiscoveryConfiguration.

func (DiscoveryConfiguration) MarshalJSON

func (d DiscoveryConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DiscoveryConfiguration.

func (*DiscoveryConfiguration) UnmarshalJSON

func (d *DiscoveryConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DiscoveryConfiguration.

type DiskConfiguration

type DiskConfiguration struct {
	// The disk configuration for the db volume. For HANA, Required volumes are: ['hana/data', 'hana/log', hana/shared', 'usr/sap',
	// 'os'], Optional volume : ['backup'].
	DiskVolumeConfigurations map[string]*DiskVolumeConfiguration
}

DiskConfiguration - The Disk Configuration Details.

func (DiskConfiguration) MarshalJSON

func (d DiskConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DiskConfiguration.

func (*DiskConfiguration) UnmarshalJSON

func (d *DiskConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DiskConfiguration.

type DiskDetails

type DiskDetails struct {
	// The disk tier, e.g. P10, E10.
	DiskTier *string

	// The disk Iops.
	IopsReadWrite *int64

	// The maximum supported disk count.
	MaximumSupportedDiskCount *int64

	// The disk provisioned throughput in MBps.
	MbpsReadWrite *int64

	// The minimum supported disk count.
	MinimumSupportedDiskCount *int64

	// The type of disk sku. For example, Standard_LRS, Standard_ZRS, Premium_LRS, Premium_ZRS.
	SKU *DiskSKU

	// The disk size in GB.
	SizeGB *int64
}

DiskDetails - The supported disk size details for a disk type.

func (DiskDetails) MarshalJSON

func (d DiskDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DiskDetails.

func (*DiskDetails) UnmarshalJSON

func (d *DiskDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DiskDetails.

type DiskSKU

type DiskSKU struct {
	// Defines the disk sku name.
	Name *DiskSKUName
}

DiskSKU - The type of disk sku. For example, Standard_LRS, Standard_ZRS, Premium_LRS, Premium_ZRS.

func (DiskSKU) MarshalJSON

func (d DiskSKU) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DiskSKU.

func (*DiskSKU) UnmarshalJSON

func (d *DiskSKU) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DiskSKU.

type DiskSKUName

type DiskSKUName string

DiskSKUName - Defines the disk sku name.

const (
	// DiskSKUNamePremiumLRS - Premium_LRS Disk SKU.
	DiskSKUNamePremiumLRS DiskSKUName = "Premium_LRS"
	// DiskSKUNamePremiumV2LRS - PremiumV2_LRS Disk SKU.
	DiskSKUNamePremiumV2LRS DiskSKUName = "PremiumV2_LRS"
	// DiskSKUNamePremiumZRS - Premium_ZRS Disk SKU.
	DiskSKUNamePremiumZRS DiskSKUName = "Premium_ZRS"
	// DiskSKUNameStandardLRS - Standard LRS Disk SKU.
	DiskSKUNameStandardLRS DiskSKUName = "Standard_LRS"
	// DiskSKUNameStandardSSDLRS - StandardSSD_LRS Disk SKU.
	DiskSKUNameStandardSSDLRS DiskSKUName = "StandardSSD_LRS"
	// DiskSKUNameStandardSSDZRS - StandardSSD_ZRS Disk SKU.
	DiskSKUNameStandardSSDZRS DiskSKUName = "StandardSSD_ZRS"
	// DiskSKUNameUltraSSDLRS - UltraSSD_LRS Disk SKU.
	DiskSKUNameUltraSSDLRS DiskSKUName = "UltraSSD_LRS"
)

func PossibleDiskSKUNameValues

func PossibleDiskSKUNameValues() []DiskSKUName

PossibleDiskSKUNameValues returns the possible values for the DiskSKUName const type.

type DiskVolumeConfiguration

type DiskVolumeConfiguration struct {
	// The total number of disks required for the concerned volume.
	Count *int64

	// The disk SKU details.
	SKU *DiskSKU

	// The disk size in GB.
	SizeGB *int64
}

DiskVolumeConfiguration - The disk configuration required for the selected volume.

func (DiskVolumeConfiguration) MarshalJSON

func (d DiskVolumeConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DiskVolumeConfiguration.

func (*DiskVolumeConfiguration) UnmarshalJSON

func (d *DiskVolumeConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DiskVolumeConfiguration.

type EnqueueReplicationServerProperties

type EnqueueReplicationServerProperties struct {
	// READ-ONLY; Defines the type of Enqueue Replication Server.
	ErsVersion *EnqueueReplicationServerType

	// READ-ONLY; Defines the health of SAP Instances.
	Health *SAPHealthState

	// READ-ONLY; ERS SAP Hostname.
	Hostname *string

	// READ-ONLY; ERS SAP IP Address.
	IPAddress *string

	// READ-ONLY; ERS Instance Number.
	InstanceNo *string

	// READ-ONLY; ERS SAP Kernel Patch level.
	KernelPatch *string

	// READ-ONLY; ERS SAP Kernel Version.
	KernelVersion *string
}

EnqueueReplicationServerProperties - Defines the SAP Enqueue Replication Server (ERS) properties.

func (EnqueueReplicationServerProperties) MarshalJSON

func (e EnqueueReplicationServerProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type EnqueueReplicationServerProperties.

func (*EnqueueReplicationServerProperties) UnmarshalJSON

func (e *EnqueueReplicationServerProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type EnqueueReplicationServerProperties.

type EnqueueReplicationServerType

type EnqueueReplicationServerType string

EnqueueReplicationServerType - Defines the type of Enqueue Replication Server.

const (
	// EnqueueReplicationServerTypeEnqueueReplicator1 - Enqueue Replication server type 1.
	EnqueueReplicationServerTypeEnqueueReplicator1 EnqueueReplicationServerType = "EnqueueReplicator1"
	// EnqueueReplicationServerTypeEnqueueReplicator2 - Enqueue Replication server type 2.
	EnqueueReplicationServerTypeEnqueueReplicator2 EnqueueReplicationServerType = "EnqueueReplicator2"
)

func PossibleEnqueueReplicationServerTypeValues

func PossibleEnqueueReplicationServerTypeValues() []EnqueueReplicationServerType

PossibleEnqueueReplicationServerTypeValues returns the possible values for the EnqueueReplicationServerType const type.

type EnqueueServerProperties

type EnqueueServerProperties struct {
	// READ-ONLY; Defines the health of SAP Instances.
	Health *SAPHealthState

	// READ-ONLY; Enqueue Server SAP Hostname.
	Hostname *string

	// READ-ONLY; Enqueue Server SAP IP Address.
	IPAddress *string

	// READ-ONLY; Enqueue Server Port.
	Port *int64
}

EnqueueServerProperties - Defines the SAP Enqueue Server properties.

func (EnqueueServerProperties) MarshalJSON

func (e EnqueueServerProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type EnqueueServerProperties.

func (*EnqueueServerProperties) UnmarshalJSON

func (e *EnqueueServerProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type EnqueueServerProperties.

type ErrorAdditionalInfo

type ErrorAdditionalInfo struct {
	// READ-ONLY; The additional info.
	Info *ErrorAdditionalInfoInfo

	// READ-ONLY; The additional info type.
	Type *string
}

ErrorAdditionalInfo - The resource management error additional info.

func (ErrorAdditionalInfo) MarshalJSON

func (e ErrorAdditionalInfo) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ErrorAdditionalInfo.

func (*ErrorAdditionalInfo) UnmarshalJSON

func (e *ErrorAdditionalInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ErrorAdditionalInfo.

type ErrorAdditionalInfoInfo added in v1.0.0

type ErrorAdditionalInfoInfo struct {
}

type ErrorDefinition

type ErrorDefinition struct {
	// READ-ONLY; Service specific error code which serves as the substatus for the HTTP error code.
	Code *string

	// READ-ONLY; Internal error details.
	Details []*ErrorDefinition

	// READ-ONLY; Description of the error.
	Message *string
}

ErrorDefinition - Error definition.

func (ErrorDefinition) MarshalJSON

func (e ErrorDefinition) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ErrorDefinition.

func (*ErrorDefinition) UnmarshalJSON

func (e *ErrorDefinition) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ErrorDefinition.

type ErrorDetail

type ErrorDetail struct {
	// READ-ONLY; The error additional info.
	AdditionalInfo []*ErrorAdditionalInfo

	// READ-ONLY; The error code.
	Code *string

	// READ-ONLY; The error details.
	Details []*ErrorDetail

	// READ-ONLY; The error message.
	Message *string

	// READ-ONLY; The error target.
	Target *string
}

ErrorDetail - The error detail.

func (ErrorDetail) MarshalJSON

func (e ErrorDetail) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ErrorDetail.

func (*ErrorDetail) UnmarshalJSON

func (e *ErrorDetail) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ErrorDetail.

type ExternalInstallationSoftwareConfiguration

type ExternalInstallationSoftwareConfiguration struct {
	// CONSTANT; The SAP software installation Type.
	// Field has constant value SAPSoftwareInstallationTypeExternal, any specified value is ignored.
	SoftwareInstallationType *SAPSoftwareInstallationType

	// The resource ID of the virtual machine containing the central server instance.
	CentralServerVMID *string
}

ExternalInstallationSoftwareConfiguration - The SAP Software configuration Input when the software is installed externally outside the service.

func (*ExternalInstallationSoftwareConfiguration) GetSoftwareConfiguration

GetSoftwareConfiguration implements the SoftwareConfigurationClassification interface for type ExternalInstallationSoftwareConfiguration.

func (ExternalInstallationSoftwareConfiguration) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type ExternalInstallationSoftwareConfiguration.

func (*ExternalInstallationSoftwareConfiguration) UnmarshalJSON

func (e *ExternalInstallationSoftwareConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ExternalInstallationSoftwareConfiguration.

type FileShareConfiguration

type FileShareConfiguration struct {
	// REQUIRED; The type of file share config, eg: Mount/CreateAndMount/Skip.
	ConfigurationType *FileShareConfigurationType
}

FileShareConfiguration - File Share configuration details, populated with information on storage configuration mounted on the VIS. The createAndMount option is selected in case of missing input.

func (*FileShareConfiguration) GetFileShareConfiguration

func (f *FileShareConfiguration) GetFileShareConfiguration() *FileShareConfiguration

GetFileShareConfiguration implements the FileShareConfigurationClassification interface for type FileShareConfiguration.

func (FileShareConfiguration) MarshalJSON

func (f FileShareConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type FileShareConfiguration.

func (*FileShareConfiguration) UnmarshalJSON

func (f *FileShareConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type FileShareConfiguration.

type FileShareConfigurationClassification

type FileShareConfigurationClassification interface {
	// GetFileShareConfiguration returns the FileShareConfiguration content of the underlying type.
	GetFileShareConfiguration() *FileShareConfiguration
}

FileShareConfigurationClassification provides polymorphic access to related types. Call the interface's GetFileShareConfiguration() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *CreateAndMountFileShareConfiguration, *FileShareConfiguration, *MountFileShareConfiguration, *SkipFileShareConfiguration

type FileShareConfigurationType added in v1.0.0

type FileShareConfigurationType string

FileShareConfigurationType - The type of file share config.

const (
	// FileShareConfigurationTypeCreateAndMount - Fileshare will be created and mounted by service.
	FileShareConfigurationTypeCreateAndMount FileShareConfigurationType = "CreateAndMount"
	// FileShareConfigurationTypeMount - Existing fileshare provided will be mounted by service.
	FileShareConfigurationTypeMount FileShareConfigurationType = "Mount"
	// FileShareConfigurationTypeSkip - Skip creating the file share.
	FileShareConfigurationTypeSkip FileShareConfigurationType = "Skip"
)

func PossibleFileShareConfigurationTypeValues added in v1.0.0

func PossibleFileShareConfigurationTypeValues() []FileShareConfigurationType

PossibleFileShareConfigurationTypeValues returns the possible values for the FileShareConfigurationType const type.

type GatewayServerProperties

type GatewayServerProperties struct {
	// READ-ONLY; Defines the health of SAP Instances.
	Health *SAPHealthState

	// READ-ONLY; Gateway Port.
	Port *int64
}

GatewayServerProperties - Defines the SAP Gateway Server properties.

func (GatewayServerProperties) MarshalJSON

func (g GatewayServerProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type GatewayServerProperties.

func (*GatewayServerProperties) UnmarshalJSON

func (g *GatewayServerProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type GatewayServerProperties.

type HighAvailabilityConfiguration

type HighAvailabilityConfiguration struct {
	// REQUIRED; The high availability type.
	HighAvailabilityType *SAPHighAvailabilityType
}

HighAvailabilityConfiguration - Gets or sets the high availability configuration.

func (HighAvailabilityConfiguration) MarshalJSON

func (h HighAvailabilityConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type HighAvailabilityConfiguration.

func (*HighAvailabilityConfiguration) UnmarshalJSON

func (h *HighAvailabilityConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type HighAvailabilityConfiguration.

type HighAvailabilitySoftwareConfiguration

type HighAvailabilitySoftwareConfiguration struct {
	// REQUIRED; The fencing client id.
	FencingClientID *string

	// REQUIRED; The fencing client id secret/password. The secret should never expire. This will be used pacemaker to start/stop
	// the cluster VMs.
	FencingClientPassword *string
}

HighAvailabilitySoftwareConfiguration - Gets or sets the HA software configuration.

func (HighAvailabilitySoftwareConfiguration) MarshalJSON

func (h HighAvailabilitySoftwareConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type HighAvailabilitySoftwareConfiguration.

func (*HighAvailabilitySoftwareConfiguration) UnmarshalJSON

func (h *HighAvailabilitySoftwareConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type HighAvailabilitySoftwareConfiguration.

type ImageReference

type ImageReference struct {
	// Specifies the ARM resource ID of the Azure Compute Gallery image version used for creating ACSS VMs. You will need to provide
	// this input when you choose to deploy virtual machines in ACSS with OS image from the Azure Compute gallery.
	ID *string

	// Specifies the offer of the platform image or marketplace image used to create the virtual machine.
	Offer *string

	// The image publisher.
	Publisher *string

	// The image SKU.
	SKU *string

	// Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats
	// are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version
	// of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy
	// time even if a new version becomes available.
	Version *string
}

ImageReference - Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set.

func (ImageReference) MarshalJSON

func (i ImageReference) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ImageReference.

func (*ImageReference) UnmarshalJSON

func (i *ImageReference) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ImageReference.

type InfrastructureConfiguration

type InfrastructureConfiguration struct {
	// REQUIRED; The application resource group where SAP system resources will be deployed.
	AppResourceGroup *string

	// REQUIRED; The SAP deployment type. Eg: SingleServer/ThreeTier.
	DeploymentType *SAPDeploymentType
}

InfrastructureConfiguration - Deploy SAP Infrastructure Details.

func (*InfrastructureConfiguration) GetInfrastructureConfiguration

func (i *InfrastructureConfiguration) GetInfrastructureConfiguration() *InfrastructureConfiguration

GetInfrastructureConfiguration implements the InfrastructureConfigurationClassification interface for type InfrastructureConfiguration.

func (InfrastructureConfiguration) MarshalJSON

func (i InfrastructureConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type InfrastructureConfiguration.

func (*InfrastructureConfiguration) UnmarshalJSON

func (i *InfrastructureConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type InfrastructureConfiguration.

type InfrastructureConfigurationClassification

type InfrastructureConfigurationClassification interface {
	// GetInfrastructureConfiguration returns the InfrastructureConfiguration content of the underlying type.
	GetInfrastructureConfiguration() *InfrastructureConfiguration
}

InfrastructureConfigurationClassification provides polymorphic access to related types. Call the interface's GetInfrastructureConfiguration() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *InfrastructureConfiguration, *SingleServerConfiguration, *ThreeTierConfiguration

type LinuxConfiguration

type LinuxConfiguration struct {
	// CONSTANT; The OS Type
	// Field has constant value OSTypeLinux, any specified value is ignored.
	OSType *OSType

	// Specifies whether password authentication should be disabled.
	DisablePasswordAuthentication *bool

	// Specifies the ssh key configuration for a Linux OS. (This property is deprecated, please use 'sshKeyPair' instead)
	SSH *SSHConfiguration

	// The SSH Key-pair used to authenticate with the VM's.
	SSHKeyPair *SSHKeyPair
}

LinuxConfiguration - Specifies the Linux operating system settings on the virtual machine. For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://learn.microsoft.com/azure/virtual-machines/linux/endorsed-distros).

func (*LinuxConfiguration) GetOSConfiguration

func (l *LinuxConfiguration) GetOSConfiguration() *OSConfiguration

GetOSConfiguration implements the OSConfigurationClassification interface for type LinuxConfiguration.

func (LinuxConfiguration) MarshalJSON

func (l LinuxConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type LinuxConfiguration.

func (*LinuxConfiguration) UnmarshalJSON

func (l *LinuxConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type LinuxConfiguration.

type LoadBalancerDetails

type LoadBalancerDetails struct {
	// READ-ONLY; Fully qualified resource ID for the load balancer.
	ID *string
}

LoadBalancerDetails - The Load Balancer details such as Load Balancer ID.

func (LoadBalancerDetails) MarshalJSON

func (l LoadBalancerDetails) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type LoadBalancerDetails.

func (*LoadBalancerDetails) UnmarshalJSON

func (l *LoadBalancerDetails) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancerDetails.

type LoadBalancerResourceNames

type LoadBalancerResourceNames struct {
	// The list of backend pool names. Currently, ACSS deploys only one backend pool and hence, size of this list should be 1
	BackendPoolNames []*string

	// The list of frontend IP configuration names. If provided as input, size of this list should be 2 for cs layer and should
	// be 1 for database layer.
	FrontendIPConfigurationNames []*string

	// The list of health probe names. If provided as input, size of this list should be 2 for cs layer and should be 1 for database
	// layer.
	HealthProbeNames []*string

	// The full resource name for load balancer. If this value is not provided, load balancer will be name as {ASCS/DB}-loadBalancer.
	LoadBalancerName *string
}

LoadBalancerResourceNames - The resource names object for load balancer and related resources.

func (LoadBalancerResourceNames) MarshalJSON

func (l LoadBalancerResourceNames) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type LoadBalancerResourceNames.

func (*LoadBalancerResourceNames) UnmarshalJSON

func (l *LoadBalancerResourceNames) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type LoadBalancerResourceNames.

type ManagedRGConfiguration

type ManagedRGConfiguration struct {
	// Managed resource group name
	Name *string
}

ManagedRGConfiguration - Managed resource group configuration

func (ManagedRGConfiguration) MarshalJSON

func (m ManagedRGConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ManagedRGConfiguration.

func (*ManagedRGConfiguration) UnmarshalJSON

func (m *ManagedRGConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ManagedRGConfiguration.

type ManagedResourcesNetworkAccessType

type ManagedResourcesNetworkAccessType string

ManagedResourcesNetworkAccessType - Defines the network access type for managed resources.

const (
	// ManagedResourcesNetworkAccessTypePrivate - Managed resources will be deployed with public network access disabled.
	ManagedResourcesNetworkAccessTypePrivate ManagedResourcesNetworkAccessType = "Private"
	// ManagedResourcesNetworkAccessTypePublic - Managed resources will be deployed with public network access enabled.
	ManagedResourcesNetworkAccessTypePublic ManagedResourcesNetworkAccessType = "Public"
)

func PossibleManagedResourcesNetworkAccessTypeValues

func PossibleManagedResourcesNetworkAccessTypeValues() []ManagedResourcesNetworkAccessType

PossibleManagedResourcesNetworkAccessTypeValues returns the possible values for the ManagedResourcesNetworkAccessType const type.

type MessageServerProperties

type MessageServerProperties struct {
	// READ-ONLY; message server HTTP Port.
	HTTPPort *int64

	// READ-ONLY; message server HTTPS Port.
	HTTPSPort *int64

	// READ-ONLY; Defines the health of SAP Instances.
	Health *SAPHealthState

	// READ-ONLY; message server SAP Hostname.
	Hostname *string

	// READ-ONLY; message server IP Address.
	IPAddress *string

	// READ-ONLY; message server internal MS port.
	InternalMsPort *int64

	// READ-ONLY; message server port.
	MSPort *int64
}

MessageServerProperties - Defines the SAP message server properties.

func (MessageServerProperties) MarshalJSON

func (m MessageServerProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type MessageServerProperties.

func (*MessageServerProperties) UnmarshalJSON

func (m *MessageServerProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type MessageServerProperties.

type MountFileShareConfiguration

type MountFileShareConfiguration struct {
	// CONSTANT; The type of file share config, mount in this case.
	// Field has constant value FileShareConfigurationTypeMount, any specified value is ignored.
	ConfigurationType *FileShareConfigurationType

	// REQUIRED; The fileshare resource ID
	ID *string

	// REQUIRED; The private endpoint resource ID
	PrivateEndpointID *string
}

MountFileShareConfiguration - Gets or sets the file share configuration where the transport directory fileshare already exists, and user wishes to mount the fileshare as a part of the create infra flow.

func (*MountFileShareConfiguration) GetFileShareConfiguration

func (m *MountFileShareConfiguration) GetFileShareConfiguration() *FileShareConfiguration

GetFileShareConfiguration implements the FileShareConfigurationClassification interface for type MountFileShareConfiguration.

func (MountFileShareConfiguration) MarshalJSON

func (m MountFileShareConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type MountFileShareConfiguration.

func (*MountFileShareConfiguration) UnmarshalJSON

func (m *MountFileShareConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type MountFileShareConfiguration.

type NamingPatternType

type NamingPatternType string

NamingPatternType - The pattern type to be used for resource naming.

const (
	// NamingPatternTypeFullResourceName - Full resource names that will be created by service.
	NamingPatternTypeFullResourceName NamingPatternType = "FullResourceName"
)

func PossibleNamingPatternTypeValues

func PossibleNamingPatternTypeValues() []NamingPatternType

PossibleNamingPatternTypeValues returns the possible values for the NamingPatternType const type.

type NetworkConfiguration

type NetworkConfiguration struct {
	// Specifies whether a secondary IP address should be added to the network interface on all VMs of the SAP system being deployed
	IsSecondaryIPEnabled *bool
}

NetworkConfiguration - Defines the network configuration type for SAP system infrastructure that is being deployed

func (NetworkConfiguration) MarshalJSON

func (n NetworkConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type NetworkConfiguration.

func (*NetworkConfiguration) UnmarshalJSON

func (n *NetworkConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type NetworkConfiguration.

type NetworkInterfaceResourceNames

type NetworkInterfaceResourceNames struct {
	// The full name for network interface. If name is not provided, service uses a default name based on the deployment type.
	// For SingleServer, default name is {SID}-Nic. In case of HA-AvZone systems, default name will be {SID}-{App/ASCS/DB}-Zone{A/B}-Nic
	// with an incrementor at the end in case of more than 1 instance per layer. For distributed and HA-AvSet systems, default
	// name will be {SID}-{App/ASCS/DB}-Nic with an incrementor at the end in case of more than 1 instance per layer.
	NetworkInterfaceName *string
}

NetworkInterfaceResourceNames - The resource names object for network interface and related resources.

func (NetworkInterfaceResourceNames) MarshalJSON

func (n NetworkInterfaceResourceNames) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type NetworkInterfaceResourceNames.

func (*NetworkInterfaceResourceNames) UnmarshalJSON

func (n *NetworkInterfaceResourceNames) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type NetworkInterfaceResourceNames.

type OSConfiguration

type OSConfiguration struct {
	// REQUIRED; The OS Type
	OSType *OSType
}

OSConfiguration - Defines the OS configuration.

func (*OSConfiguration) GetOSConfiguration

func (o *OSConfiguration) GetOSConfiguration() *OSConfiguration

GetOSConfiguration implements the OSConfigurationClassification interface for type OSConfiguration.

func (OSConfiguration) MarshalJSON

func (o OSConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OSConfiguration.

func (*OSConfiguration) UnmarshalJSON

func (o *OSConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OSConfiguration.

type OSConfigurationClassification

type OSConfigurationClassification interface {
	// GetOSConfiguration returns the OSConfiguration content of the underlying type.
	GetOSConfiguration() *OSConfiguration
}

OSConfigurationClassification provides polymorphic access to related types. Call the interface's GetOSConfiguration() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *LinuxConfiguration, *OSConfiguration, *WindowsConfiguration

type OSProfile

type OSProfile struct {
	// Specifies the password of the administrator account. <br><br> **Minimum-length (Windows):** 8 characters <br><br> **Minimum-length
	// (Linux):** 6 characters <br><br> **Max-length (Windows):** 123 characters <br><br> **Max-length (Linux):** 72 characters
	// <br><br> **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled <br> Has lower characters <br>Has
	// upper characters <br> Has a digit <br> Has a special character (Regex match [\W_]) <br><br> **Disallowed values:** "abc@123",
	// "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" <br><br>
	// For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://learn.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)
	// <br><br> For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess
	// Extension](https://learn.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection)
	AdminPassword *string

	// Specifies the name of the administrator account. <br><br> This property cannot be updated after the VM is created. <br><br>
	// **Windows-only restriction:** Cannot end in "." <br><br> **Disallowed values:** "administrator", "admin", "user", "user1",
	// "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console",
	// "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4",
	// "user5". <br><br> **Minimum-length (Linux):** 1 character <br><br> **Max-length (Linux):** 64 characters <br><br> **Max-length
	// (Windows):** 20 characters.
	AdminUsername *string

	// Specifies Windows operating system settings on the virtual machine.
	OSConfiguration OSConfigurationClassification
}

OSProfile - Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned.

func (OSProfile) MarshalJSON

func (o OSProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OSProfile.

func (*OSProfile) UnmarshalJSON

func (o *OSProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OSProfile.

type OSType

type OSType string

OSType - The OS Type

const (
	// OSTypeLinux - Linux OS Type.
	OSTypeLinux OSType = "Linux"
	// OSTypeWindows - Windows OS Type.
	OSTypeWindows OSType = "Windows"
)

func PossibleOSTypeValues

func PossibleOSTypeValues() []OSType

PossibleOSTypeValues returns the possible values for the OSType const type.

type Operation

type Operation struct {
	// Localized display information for this particular operation.
	Display *OperationDisplay

	// READ-ONLY; Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
	ActionType *ActionType

	// READ-ONLY; Whether the operation applies to data-plane. This is "true" for data-plane operations and "false" for Azure
	// Resource Manager/control-plane operations.
	IsDataAction *bool

	// READ-ONLY; The name of the operation, as per Resource-Based Access Control (RBAC). Examples: "Microsoft.Compute/virtualMachines/write",
	// "Microsoft.Compute/virtualMachines/capture/action"
	Name *string

	// READ-ONLY; The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default
	// value is "user,system"
	Origin *Origin
}

Operation - Details of a REST API operation, returned from the Resource Provider Operations API

func (Operation) MarshalJSON

func (o Operation) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type Operation.

func (*Operation) UnmarshalJSON

func (o *Operation) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type Operation.

type OperationDisplay

type OperationDisplay struct {
	// READ-ONLY; The short, localized friendly description of the operation; suitable for tool tips and detailed views.
	Description *string

	// READ-ONLY; The concise, localized friendly name for the operation; suitable for dropdowns. E.g. "Create or Update Virtual
	// Machine", "Restart Virtual Machine".
	Operation *string

	// READ-ONLY; The localized friendly form of the resource provider name, e.g. "Microsoft Monitoring Insights" or "Microsoft
	// Compute".
	Provider *string

	// READ-ONLY; The localized friendly name of the resource type related to this operation. E.g. "Virtual Machines" or "Job
	// Schedule Collections".
	Resource *string
}

OperationDisplay - Localized display information for and operation.

func (OperationDisplay) MarshalJSON

func (o OperationDisplay) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OperationDisplay.

func (*OperationDisplay) UnmarshalJSON

func (o *OperationDisplay) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OperationDisplay.

type OperationListResult

type OperationListResult struct {
	// REQUIRED; The Operation items on this page
	Value []*Operation

	// The link to the next page of items
	NextLink *string
}

OperationListResult - A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results.

func (OperationListResult) MarshalJSON

func (o OperationListResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OperationListResult.

func (*OperationListResult) UnmarshalJSON

func (o *OperationListResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OperationListResult.

type OperationStatusResult

type OperationStatusResult struct {
	// REQUIRED; Operation status.
	Status *string

	// The end time of the operation.
	EndTime *time.Time

	// If present, details of the operation error.
	Error *ErrorDetail

	// Fully qualified ID for the async operation.
	ID *string

	// Name of the async operation.
	Name *string

	// The operations list.
	Operations []*OperationStatusResult

	// Percent of the operation that is complete.
	PercentComplete *float64

	// The start time of the operation.
	StartTime *time.Time

	// READ-ONLY; Fully qualified ID of the resource against which the original async operation was started.
	ResourceID *string
}

OperationStatusResult - The current status of an async operation.

func (OperationStatusResult) MarshalJSON

func (o OperationStatusResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OperationStatusResult.

func (*OperationStatusResult) UnmarshalJSON

func (o *OperationStatusResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OperationStatusResult.

type OperationsClient

type OperationsClient struct {
	// contains filtered or unexported fields
}

OperationsClient contains the methods for the Operations group. Don't use this type directly, use NewOperationsClient() instead.

func NewOperationsClient

func NewOperationsClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*OperationsClient, error)

NewOperationsClient creates a new instance of OperationsClient with the specified values.

  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*OperationsClient) NewListPager

NewListPager - List the operations for the provider

Generated from API version 2024-09-01

  • options - OperationsClientListOptions contains the optional parameters for the OperationsClient.NewListPager method.
Example

Generated from example definition: 2024-09-01/Operations_List.json

package main

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

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armworkloadssapvirtualinstance.NewClientFactory("<subscriptionID>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewOperationsClient().NewListPager(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.OperationsClientListResponse{
		// 	OperationListResult: armworkloadssapvirtualinstance.OperationListResult{
		// 		Value: []*armworkloadssapvirtualinstance.Operation{
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/RegisteredSubscriptions/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("RegisteredSubscriptions"),
		// 					Operation: to.Ptr("Gets/Lists registered subscriptions"),
		// 					Description: to.Ptr("Reads registered subscriptions"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/phpWorkloads/wordpressInstances/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("phpWorkloads/wordpressInstances"),
		// 					Operation: to.Ptr("WordpressInstances_List"),
		// 					Description: to.Ptr("Lists WordpressInstances resources under a phpWorkload resource"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/phpWorkloads/wordpressInstances/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("phpWorkloads/wordpressInstances"),
		// 					Operation: to.Ptr("WordpressInstances_Get"),
		// 					Description: to.Ptr("Gets a WordpressInstances resource"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/phpWorkloads/wordpressInstances/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("phpWorkloads/wordpressInstances"),
		// 					Operation: to.Ptr("WordpressInstances_CreateOrUpdate"),
		// 					Description: to.Ptr("Create or updated WordpressInstances resource"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/phpWorkloads/wordpressInstances/delete"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("phpWorkloads/wordpressInstances"),
		// 					Operation: to.Ptr("WordpressInstances_Delete"),
		// 					Description: to.Ptr("Delete WordpressInstances resource"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/skus/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("Skus"),
		// 					Operation: to.Ptr("Gets the list of Microsoft.Workloads SKUs available for your Subscription"),
		// 					Description: to.Ptr("Gets the list of Microsoft.Workloads SKUs available for your Subscription"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/Operations/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("Operations"),
		// 					Operation: to.Ptr("read_Operations"),
		// 					Description: to.Ptr("read Operations"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/register/action"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("Microsoft.Workloads"),
		// 					Operation: to.Ptr("Register the Microsoft.Workloads"),
		// 					Description: to.Ptr("Register the subscription for Microsoft.Workloads"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/unregister/action"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("Microsoft.Workloads"),
		// 					Operation: to.Ptr("Unregister the Microsoft.Workloads"),
		// 					Description: to.Ptr("Unregister the subscription for Microsoft.Workloads"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/Locations/OperationStatuses/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("Locations/OperationStatuses"),
		// 					Operation: to.Ptr("read_OperationStatuses"),
		// 					Description: to.Ptr("read OperationStatuses"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/Locations/OperationStatuses/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("Locations/OperationStatuses"),
		// 					Operation: to.Ptr("write_OperationStatuses"),
		// 					Description: to.Ptr("write OperationStatuses"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/phpWorkloads/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("phpWorkloads"),
		// 					Operation: to.Ptr("PhpWorkloads_ListBySubscription"),
		// 					Description: to.Ptr("Lists phpWorkload resources in a subscription"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/phpWorkloads/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("phpWorkloads"),
		// 					Operation: to.Ptr("PhpWorkloads_ListByResourceGroup"),
		// 					Description: to.Ptr("Lists phpWorkload resources in a resource group"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/phpWorkloads/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("phpWorkloads"),
		// 					Operation: to.Ptr("PhpWorkloads_Get"),
		// 					Description: to.Ptr("Gets a phpWorkload resource"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/phpWorkloads/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("phpWorkloads"),
		// 					Operation: to.Ptr("PhpWorkloads_CreateOrUpdate"),
		// 					Description: to.Ptr("Create or updated phpWorkloads resource"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/phpWorkloads/delete"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("phpWorkloads"),
		// 					Operation: to.Ptr("PhpWorkloads_Delete"),
		// 					Description: to.Ptr("Delete phpWorkloads resource"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/phpWorkloads/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("phpWorkloads"),
		// 					Operation: to.Ptr("PhpWorkloads_Update"),
		// 					Description: to.Ptr("Update PHP workload resource."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/applicationInstances/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/applicationInstances"),
		// 					Operation: to.Ptr("SAPApplicationServerInstances_Get"),
		// 					Description: to.Ptr("Gets the SAP Application Server Instance."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/applicationInstances/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/applicationInstances"),
		// 					Operation: to.Ptr("SAPApplicationServerInstances_Create"),
		// 					Description: to.Ptr("Puts the SAP Application Server Instance."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/applicationInstances/delete"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/applicationInstances"),
		// 					Operation: to.Ptr("SAPApplicationServerInstances_Delete"),
		// 					Description: to.Ptr("Deletes the SAP Application Server Instance. <br><br>This operation will be used by service only. Delete by end user will return a Bad Request error."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/applicationInstances/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/applicationInstances"),
		// 					Operation: to.Ptr("SAPApplicationServerInstances_Update"),
		// 					Description: to.Ptr("Puts the SAP Application Server Instance."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/applicationInstances/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/applicationInstances"),
		// 					Operation: to.Ptr("SAPApplicationServerInstances_List"),
		// 					Description: to.Ptr("Lists the SAP Application server Instances in an SVI."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/applicationInstances/start/action"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/applicationInstances"),
		// 					Operation: to.Ptr("SAPApplicationServerInstances_StartInstance"),
		// 					Description: to.Ptr("Starts the SAP Application server Instance in an SVI."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/applicationInstances/stop/action"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/applicationInstances"),
		// 					Operation: to.Ptr("SAPApplicationServerInstances_StopInstance"),
		// 					Description: to.Ptr("Stops the SAP Application server Instance in an SVI."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/centralInstances/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/centralInstances"),
		// 					Operation: to.Ptr("SAPCentralInstances_Get"),
		// 					Description: to.Ptr("Gets the SAP Central Instance."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/centralInstances/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/centralInstances"),
		// 					Operation: to.Ptr("SAPCentralInstances_Create"),
		// 					Description: to.Ptr("Puts the SAP Central Instance. <br><br>This will be used by service only. PUT by end user will return a Bad Request error."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/centralInstances/delete"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/centralInstances"),
		// 					Operation: to.Ptr("SAPCentralInstances_Delete"),
		// 					Description: to.Ptr("Deletes the SAP Central Instance. <br><br>This will be used by service only. Delete by end user will return a Bad Request error."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/centralInstances/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/centralInstances"),
		// 					Operation: to.Ptr("SAPCentralInstances_Update"),
		// 					Description: to.Ptr("Updates the SAP Central Instance. <br><br>This can be used to update tags."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/centralInstances/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/centralInstances"),
		// 					Operation: to.Ptr("SAPCentralInstances_List"),
		// 					Description: to.Ptr("Lists the SAP Central Instances in an SVI."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/centralInstances/start/action"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/centralInstances"),
		// 					Operation: to.Ptr("SAPCentralInstances_StartInstance"),
		// 					Description: to.Ptr("Starts the SAP Central server Instance in an SVI."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/centralInstances/stop/action"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/centralInstances"),
		// 					Operation: to.Ptr("SAPCentralInstances_StopInstance"),
		// 					Description: to.Ptr("Stops the SAP Central server Instance in an SVI."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/databaseInstances/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/databaseInstances"),
		// 					Operation: to.Ptr("SAPDatabaseInstances_Get"),
		// 					Description: to.Ptr("Gets the SAP Database Instance."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/databaseInstances/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/databaseInstances"),
		// 					Operation: to.Ptr("SAPDatabaseInstances_Create"),
		// 					Description: to.Ptr("Puts the SAP Database Instance."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/databaseInstances/delete"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/databaseInstances"),
		// 					Operation: to.Ptr("SAPDatabaseInstances_Delete"),
		// 					Description: to.Ptr("Deletes the SAP Database Instance. <br><br>This will be used by service only. Delete by end user will return a Bad Request error."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/databaseInstances/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/databaseInstances"),
		// 					Operation: to.Ptr("SAPDatabaseInstances_Update"),
		// 					Description: to.Ptr("Puts the SAP Database Instance."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/databaseInstances/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/databaseInstances"),
		// 					Operation: to.Ptr("SAPDatabaseInstances_List"),
		// 					Description: to.Ptr("Lists the SAP Database Instances in an SVI."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/databaseInstances/start/action"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/databaseInstances"),
		// 					Operation: to.Ptr("SAPDatabaseInstances_StartInstance"),
		// 					Description: to.Ptr("Starts the database instance of the SAP system."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/databaseInstances/stop/action"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances/databaseInstances"),
		// 					Operation: to.Ptr("SAPDatabaseInstances_StopInstance"),
		// 					Description: to.Ptr("Stops the database instance of the SAP system."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors"),
		// 					Operation: to.Ptr("monitors_List"),
		// 					Description: to.Ptr("Gets a list of SAP monitors in the specified subscription. The operations returns various properties of each SAP monitor."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors"),
		// 					Operation: to.Ptr("monitors_ListByResourceGroup"),
		// 					Description: to.Ptr("Gets a list of SAP monitors in the specified resource group."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors"),
		// 					Operation: to.Ptr("monitors_Get"),
		// 					Description: to.Ptr("Gets properties of a SAP monitor for the specified subscription, resource group, and resource name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors"),
		// 					Operation: to.Ptr("monitors_Create"),
		// 					Description: to.Ptr("Creates a SAP monitor for the specified subscription, resource group, and resource name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/delete"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors"),
		// 					Operation: to.Ptr("monitors_Delete"),
		// 					Description: to.Ptr("Deletes a SAP monitor with the specified subscription, resource group, and monitor name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors"),
		// 					Operation: to.Ptr("monitors_Update"),
		// 					Description: to.Ptr("Patches the Tags field of a SAP monitor for the specified subscription, resource group, and monitor name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/providerInstances/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors/providerInstances"),
		// 					Operation: to.Ptr("ProviderInstances_List"),
		// 					Description: to.Ptr("Gets a list of provider instances in the specified SAP monitor. The operations returns various properties of each provider instances."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/providerInstances/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors/providerInstances"),
		// 					Operation: to.Ptr("ProviderInstances_Get"),
		// 					Description: to.Ptr("Gets properties of a provider instance for the specified subscription, resource group, Monitor name, and resource name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/providerInstances/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors/providerInstances"),
		// 					Operation: to.Ptr("ProviderInstances_Create"),
		// 					Description: to.Ptr("Creates a provider instance for the specified subscription, resource group, Monitor name, and resource name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/providerInstances/delete"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors/providerInstances"),
		// 					Operation: to.Ptr("ProviderInstances_Delete"),
		// 					Description: to.Ptr("Deletes a provider instance for the specified subscription, resource group, Monitor name, and resource name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/alerts/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors/alerts"),
		// 					Operation: to.Ptr("Alerts_List"),
		// 					Description: to.Ptr("Gets a list of alert instances in the specified SAP monitor. The operations returns various properties of each provider instances."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/alerts/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors/alerts"),
		// 					Operation: to.Ptr("Alerts_Get"),
		// 					Description: to.Ptr("Gets properties of a alert for the specified subscription, resource group, Monitor name, and resource name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/alerts/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors/alerts"),
		// 					Operation: to.Ptr("Alerts_Create"),
		// 					Description: to.Ptr("Creates a alert for the specified subscription, resource group, Monitor name, and resource name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/alerts/delete"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors/alerts"),
		// 					Operation: to.Ptr("Alerts_Delete"),
		// 					Description: to.Ptr("Deletes a alert for the specified subscription, resource group, Monitor name, and resource name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/alertTemplates/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors/alertTemplates"),
		// 					Operation: to.Ptr("AlertTemplates_List"),
		// 					Description: to.Ptr("Gets properties of an alert template for the specified subscription, resource group, SAP monitor name, and resource name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/alertTemplates/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors/alertTemplates"),
		// 					Operation: to.Ptr("AlertTemplates_Get"),
		// 					Description: to.Ptr("Gets properties of a alert for the specified subscription, resource group, Monitor name, and resource name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/sapLandscapeMonitor/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors/sapLandscapeMonitor"),
		// 					Operation: to.Ptr("SapLandscapeMonitor_List"),
		// 					Description: to.Ptr("Gets a list of properties of a SAP Landscape monitor configuration for the specified subscription, resource group, and resource name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/sapLandscapeMonitor/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors/sapLandscapeMonitor"),
		// 					Operation: to.Ptr("SapLandscapeMonitor_Get"),
		// 					Description: to.Ptr("Gets properties of a SAP Landscape monitor configuration for the specified subscription, resource group, and resource name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/sapLandscapeMonitor/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors/sapLandscapeMonitor"),
		// 					Operation: to.Ptr("SapLandscapeMonitor_Create"),
		// 					Description: to.Ptr("Creates a SAP Landscape monitor configuration for the specified subscription, resource group, and resource name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/monitors/sapLandscapeMonitor/delete"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("monitors/sapLandscapeMonitor"),
		// 					Operation: to.Ptr("SapLandscapeMonitor_Delete"),
		// 					Description: to.Ptr("Deletes a SAP Landscape monitor configuration with the specified subscription, resource group, and monitor name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances"),
		// 					Operation: to.Ptr("SAPVirtualInstances_Get"),
		// 					Description: to.Ptr("Gets an SAP Virtual Instance."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances"),
		// 					Operation: to.Ptr("SAPVirtualInstances_Create"),
		// 					Description: to.Ptr("Creates an SAP Virtual Instance."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/delete"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances"),
		// 					Operation: to.Ptr("SAPVirtualInstances_Delete"),
		// 					Description: to.Ptr("Deletes an SAP Virtual Instance."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances"),
		// 					Operation: to.Ptr("SAPVirtualInstances_Update"),
		// 					Description: to.Ptr("Updates an SAP Virtual Instance."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances"),
		// 					Operation: to.Ptr("SAPVirtualInstances_ListByResourceGroup"),
		// 					Description: to.Ptr("Gets all SAP Virtual Instances in a resource group."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances"),
		// 					Operation: to.Ptr("SAPVirtualInstances_ListBySubscription"),
		// 					Description: to.Ptr("Gets all SAP Virtual Instances in the subscription."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/start/action"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances"),
		// 					Operation: to.Ptr("SAPVirtualInstances_Start"),
		// 					Description: to.Ptr("Starts the SAP System."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapVirtualInstances/stop/action"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapVirtualInstances"),
		// 					Operation: to.Ptr("SAPVirtualInstances_Stop"),
		// 					Description: to.Ptr("Stops the SAP System."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/locations/sapVirtualInstanceMetadata/getSizingRecommendations/action"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("locations/sapVirtualInstanceMetadata"),
		// 					Operation: to.Ptr("SAPSizingRecommendations"),
		// 					Description: to.Ptr("Get SAP sizing recommendations."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/locations/sapVirtualInstanceMetadata/getSapSupportedSku/action"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("locations/sapVirtualInstanceMetadata"),
		// 					Operation: to.Ptr("SAPSupportedSku"),
		// 					Description: to.Ptr("Get SAP supported SKUs."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/locations/sapVirtualInstanceMetadata/getDiskConfigurations/action"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("locations/sapVirtualInstanceMetadata"),
		// 					Operation: to.Ptr("SAPDiskConfigurations"),
		// 					Description: to.Ptr("Get SAP Disk Configurations."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/locations/sapVirtualInstanceMetadata/getAvailabilityZoneDetails/action"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("locations/sapVirtualInstanceMetadata"),
		// 					Operation: to.Ptr("SAPAvailabilityZoneDetails"),
		// 					Description: to.Ptr("Get SAP Availability Zone Details."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/connectors/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("connectors"),
		// 					Operation: to.Ptr("Connectors_Get"),
		// 					Description: to.Ptr("Gets a connector resource"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/connectors/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("connectors"),
		// 					Operation: to.Ptr("Connectors_Create"),
		// 					Description: to.Ptr("Creates a connector resource"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/connectors/delete"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("connectors"),
		// 					Operation: to.Ptr("Connectors_Delete"),
		// 					Description: to.Ptr("Deletes a connector resource and its child resources, which are the associated connection resources. All the child resources have to be deleted before deleting the connector resource."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/connectors/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("connectors"),
		// 					Operation: to.Ptr("Connectors_Update"),
		// 					Description: to.Ptr("Updates a connector resource"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/connectors/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("connectors"),
		// 					Operation: to.Ptr("Connectors_ListByResourceGroup"),
		// 					Description: to.Ptr("Gets all connector resources in a Resource Group."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/connectors/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("connectors"),
		// 					Operation: to.Ptr("Connectors_ListBySubscription"),
		// 					Description: to.Ptr("Gets all connector resources in a Subscription."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/connectors/acssBackups/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("connectors/acssBackups"),
		// 					Operation: to.Ptr("ACSSBackupConnections_Get"),
		// 					Description: to.Ptr("Gets the backup connection resource of virtual instance for SAP."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/connectors/acssBackups/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("connectors/acssBackups"),
		// 					Operation: to.Ptr("ACSSBackupConnections_Create"),
		// 					Description: to.Ptr("Creates the backup connection resource of virtual instance for SAP."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/connectors/acssBackups/delete"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("connectors/acssBackups"),
		// 					Operation: to.Ptr("ACSSBackupConnections_Delete"),
		// 					Description: to.Ptr("Deletes the backup connection resource of virtual instance for SAP."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/connectors/acssBackups/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("connectors/acssBackups"),
		// 					Operation: to.Ptr("ACSSBackupConnections_Update"),
		// 					Description: to.Ptr("Updates the backup connection resource of virtual instance for SAP. <br><br>This can be used to update tags on the resource."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/connectors/acssBackups/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("connectors/acssBackups"),
		// 					Operation: to.Ptr("ACSSBackupConnections_List"),
		// 					Description: to.Ptr("Lists the backup connection resources of virtual instance for SAP under the given connector resource."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/connectors/sapVirtualInstanceMonitors/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("connectors/sapVirtualInstanceMonitors"),
		// 					Operation: to.Ptr("SapVirtualInstanceMonitorConnections_Get"),
		// 					Description: to.Ptr("Gets the monitor connection resource of virtual instance for SAP."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/connectors/sapVirtualInstanceMonitors/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("connectors/sapVirtualInstanceMonitors"),
		// 					Operation: to.Ptr("SapVirtualInstanceMonitorConnections_Create"),
		// 					Description: to.Ptr("Creates the monitor connection resource of virtual instance for SAP."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/connectors/sapVirtualInstanceMonitors/delete"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("connectors/sapVirtualInstanceMonitors"),
		// 					Operation: to.Ptr("SapVirtualInstanceMonitorConnections_Delete"),
		// 					Description: to.Ptr("Deletes the monitor connection resource of virtual instance for SAP."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/connectors/sapVirtualInstanceMonitors/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("connectors/sapVirtualInstanceMonitors"),
		// 					Operation: to.Ptr("SapVirtualInstanceMonitorConnections_Update"),
		// 					Description: to.Ptr("Updates the monitor connection resource of virtual instance for SAP. <br><br>This can be used to update tags on the resource."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/connectors/sapVirtualInstanceMonitors/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("connectors/sapVirtualInstanceMonitors"),
		// 					Operation: to.Ptr("SapVirtualInstanceMonitorConnections_List"),
		// 					Description: to.Ptr("Lists the monitor connection resources of virtual instance for SAP under the given connector resource."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/insights/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("insights"),
		// 					Operation: to.Ptr("Insights_Get"),
		// 					Description: to.Ptr("Gets properties of Workloads Insights instance for the specified subscription, resource group and instance name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/insights/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("insights"),
		// 					Operation: to.Ptr("Insights_ListByResourceGroup"),
		// 					Description: to.Ptr("Gets a list of Workloads Insight instances in the specified subscription and resource group. The operations returns various properties of each instance."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/insights/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("insights"),
		// 					Operation: to.Ptr("Insights_List"),
		// 					Description: to.Ptr("Gets a list of Workloads Insight instances in the specified subscription. The operations returns various properties of each instance."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/insights/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("insights"),
		// 					Operation: to.Ptr("Insights_Create"),
		// 					Description: to.Ptr("Creates a Workloads Insights instance for the specified subscription, resource group, and instance name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/insights/delete"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("insights"),
		// 					Operation: to.Ptr("Insights_Delete"),
		// 					Description: to.Ptr("Deletes a Workloads Insights instance for the specified subscription, resource group and instance name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/insights/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("insights"),
		// 					Operation: to.Ptr("Insights_Update"),
		// 					Description: to.Ptr("Patches the Workload Insights instance for the specified subscription, resource group, and instance name."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapDiscoverySites/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapDiscoverySites"),
		// 					Operation: to.Ptr("SAPDiscoverySites_Get"),
		// 					Description: to.Ptr("Gets a SAP Migration discovery site resource."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapDiscoverySites/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapDiscoverySites"),
		// 					Operation: to.Ptr("SAPDiscoverySites_Create"),
		// 					Description: to.Ptr("Creates a discovery site for SAP Migration."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapDiscoverySites/delete"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapDiscoverySites"),
		// 					Operation: to.Ptr("SAPDiscoverySites_Delete"),
		// 					Description: to.Ptr("Deletes a SAP Migration discovery site resource and its child resources, that is the associated SAP Instances and Server Instances."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapDiscoverySites/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapDiscoverySites"),
		// 					Operation: to.Ptr("SAPDiscoverySites_Update"),
		// 					Description: to.Ptr("SAPDiscoverySites_Update."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapDiscoverySites/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapDiscoverySites"),
		// 					Operation: to.Ptr("SAPDiscoverySites_ListByResourceGroup"),
		// 					Description: to.Ptr("Gets all SAP Migration discovery site resources in a Resource Group."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapDiscoverySites/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapDiscoverySites"),
		// 					Operation: to.Ptr("SAPDiscoverySites_ListBySubscription"),
		// 					Description: to.Ptr("Gets all SAP Migration discovery site resources in a Subscription."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapDiscoverySites/importEntities/action"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapDiscoverySites"),
		// 					Operation: to.Ptr("SAPDiscoverySites_ImportEntities"),
		// 					Description: to.Ptr("Import a SAP Migration discovery site resource and it's child resources, that is the SAP instances and Server instances."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapDiscoverySites/sapInstances/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapDiscoverySites/sapInstances"),
		// 					Operation: to.Ptr("SAPInstances_Get"),
		// 					Description: to.Ptr("Gets the SAP Instance resource."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapDiscoverySites/sapInstances/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapDiscoverySites/sapInstances"),
		// 					Operation: to.Ptr("SAPInstances_Create"),
		// 					Description: to.Ptr("Creates the SAP Instance resource. <br><br>This will be used by service only. PUT operation on this resource by end user will return a Bad Request error."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapDiscoverySites/sapInstances/delete"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapDiscoverySites/sapInstances"),
		// 					Operation: to.Ptr("SAPInstances_Delete"),
		// 					Description: to.Ptr("Deletes the SAP Instance resource. <br><br>This will be used by service only. Delete operation on this resource by end user will return a Bad Request error. You can delete the parent resource, which is the SAP Migration discovery site resource, using the delete operation on it."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapDiscoverySites/sapInstances/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapDiscoverySites/sapInstances"),
		// 					Operation: to.Ptr("SAPInstances_Update"),
		// 					Description: to.Ptr("Updates the SAP Instance resource."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapDiscoverySites/sapInstances/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapDiscoverySites/sapInstances"),
		// 					Operation: to.Ptr("SAPInstances_List"),
		// 					Description: to.Ptr("Lists the SAP Instance resources for the given SAP Migration discovery site resource."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapDiscoverySites/sapInstances/serverInstances/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapDiscoverySites/sapInstances/serverInstances"),
		// 					Operation: to.Ptr("ServerInstances_Get"),
		// 					Description: to.Ptr("Gets the Server Instance resource."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapDiscoverySites/sapInstances/serverInstances/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapDiscoverySites/sapInstances/serverInstances"),
		// 					Operation: to.Ptr("ServerInstances_Create"),
		// 					Description: to.Ptr("Creates the Server Instance resource. <br><br>This will be used by service only. PUT operation on this resource by end user will return a Bad Request error."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapDiscoverySites/sapInstances/serverInstances/delete"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapDiscoverySites/sapInstances/serverInstances"),
		// 					Operation: to.Ptr("ServerInstances_Delete"),
		// 					Description: to.Ptr("Deletes the Server Instance resource. <br><br>This will be used by service only. Delete operation on this resource by end user will return a Bad Request error. You can delete the parent resource, which is the SAP Migration discovery site resource, using the delete operation on it."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapDiscoverySites/sapInstances/serverInstances/write"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapDiscoverySites/sapInstances/serverInstances"),
		// 					Operation: to.Ptr("ServerInstances_Update"),
		// 					Description: to.Ptr("Updates the Server Instance resource. This operation on a resource by end user will return a Bad Request error."),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("Microsoft.Workloads/sapDiscoverySites/sapInstances/serverInstances/read"),
		// 				IsDataAction: to.Ptr(false),
		// 				Display: &armworkloadssapvirtualinstance.OperationDisplay{
		// 					Provider: to.Ptr("Microsoft.Workloads"),
		// 					Resource: to.Ptr("sapDiscoverySites/sapInstances/serverInstances"),
		// 					Operation: to.Ptr("ServerInstances_List"),
		// 					Description: to.Ptr("Lists the Server Instance resources for the given SAP Instance resource."),
		// 				},
		// 			},
		// 		},
		// 	},
		// }
	}
}

type OperationsClientListOptions

type OperationsClientListOptions struct {
}

OperationsClientListOptions contains the optional parameters for the OperationsClient.NewListPager method.

type OperationsClientListResponse

type OperationsClientListResponse struct {
	// A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results.
	OperationListResult
}

OperationsClientListResponse contains the response from method OperationsClient.NewListPager.

type Origin

type Origin string

Origin - The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is "user,system"

const (
	// OriginSystem - Indicates the operation is initiated by a system.
	OriginSystem Origin = "system"
	// OriginUser - Indicates the operation is initiated by a user.
	OriginUser Origin = "user"
	// OriginUserSystem - Indicates the operation is initiated by a user or system.
	OriginUserSystem Origin = "user,system"
)

func PossibleOriginValues

func PossibleOriginValues() []Origin

PossibleOriginValues returns the possible values for the Origin const type.

type OsSapConfiguration

type OsSapConfiguration struct {
	// The url and storage account ID where deployer VM packages are uploaded
	DeployerVMPackages *DeployerVMPackages

	// The FQDN to set for the SAP system
	SapFqdn *string
}

OsSapConfiguration - Defines the OS and SAP Configurations for Deployment

func (OsSapConfiguration) MarshalJSON

func (o OsSapConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OsSapConfiguration.

func (*OsSapConfiguration) UnmarshalJSON

func (o *OsSapConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OsSapConfiguration.

type SAPApplicationServerInstance

type SAPApplicationServerInstance struct {
	// REQUIRED; The geo-location where the resource lives
	Location *string

	// The resource-specific properties for this resource.
	Properties *SAPApplicationServerProperties

	// Resource tags.
	Tags map[string]*string

	// READ-ONLY; The name of SAP Application Server instance resource.
	Name *string

	// READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
	ID *string

	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
	SystemData *SystemData

	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
	Type *string
}

SAPApplicationServerInstance - Define the SAP Application Server Instance resource.

func (SAPApplicationServerInstance) MarshalJSON

func (s SAPApplicationServerInstance) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPApplicationServerInstance.

func (*SAPApplicationServerInstance) UnmarshalJSON

func (s *SAPApplicationServerInstance) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPApplicationServerInstance.

type SAPApplicationServerInstanceListResult added in v1.0.0

type SAPApplicationServerInstanceListResult struct {
	// REQUIRED; The SAPApplicationServerInstance items on this page
	Value []*SAPApplicationServerInstance

	// The link to the next page of items
	NextLink *string
}

SAPApplicationServerInstanceListResult - The response of a SAPApplicationServerInstance list operation.

func (SAPApplicationServerInstanceListResult) MarshalJSON added in v1.0.0

func (s SAPApplicationServerInstanceListResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPApplicationServerInstanceListResult.

func (*SAPApplicationServerInstanceListResult) UnmarshalJSON added in v1.0.0

func (s *SAPApplicationServerInstanceListResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPApplicationServerInstanceListResult.

type SAPApplicationServerInstancesClient

type SAPApplicationServerInstancesClient struct {
	// contains filtered or unexported fields
}

SAPApplicationServerInstancesClient contains the methods for the SAPApplicationServerInstances group. Don't use this type directly, use NewSAPApplicationServerInstancesClient() instead.

func NewSAPApplicationServerInstancesClient

func NewSAPApplicationServerInstancesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*SAPApplicationServerInstancesClient, error)

NewSAPApplicationServerInstancesClient creates a new instance of SAPApplicationServerInstancesClient with the specified values.

  • subscriptionID - The ID of the target subscription. The value must be an UUID.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*SAPApplicationServerInstancesClient) BeginCreate

BeginCreate - Puts the SAP Application Server Instance resource. &lt;br&gt;&lt;br&gt;This will be used by service only. PUT by end user will return a Bad Request error. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • applicationInstanceName - The name of SAP Application Server instance resource.
  • resource - The SAP Application Server Instance resource request body.
  • options - SAPApplicationServerInstancesClientBeginCreateOptions contains the optional parameters for the SAPApplicationServerInstancesClient.BeginCreate method.
Example (CreateSapApplicationServerInstancesForHaSystemWithAvailabilitySet)

Generated from example definition: 2024-09-01/SapApplicationServerInstances_CreateForHaWithAvailabilitySet.json

package main

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"
)

func main() {
	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.NewSAPApplicationServerInstancesClient().BeginCreate(ctx, "test-rg", "X00", "app01", armworkloadssapvirtualinstance.SAPApplicationServerInstance{
		Location:   to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPApplicationServerProperties{},
		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.SAPApplicationServerInstancesClientCreateResponse{
	// 	SAPApplicationServerInstance: &armworkloadssapvirtualinstance.SAPApplicationServerInstance{
	// 		Name: to.Ptr("app01"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances/applicationInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/applicationInstances/app01"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPApplicationServerProperties{
	// 			DispatcherStatus: to.Ptr("Running"),
	// 			GatewayPort: to.Ptr[int64](3300),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 			Hostname: to.Ptr("vh-nw1"),
	// 			IcmHTTPPort: to.Ptr[int64](3312),
	// 			IcmHTTPSPort: to.Ptr[int64](3313),
	// 			InstanceNo: to.Ptr("01"),
	// 			IPAddress: to.Ptr("10.0.0.5"),
	// 			KernelPatch: to.Ptr("patch 300"),
	// 			KernelVersion: to.Ptr("777"),
	// 			LoadBalancerDetails: &armworkloadssapvirtualinstance.LoadBalancerDetails{
	// 				ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Network/loadBalancers/cs-loadBalancer"),
	// 			},
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
	// 			Subnet: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/SAP-E2ETest-rg/providers/Microsoft.Network/virtualNetworks/loop-test-vnet/subnets/loopsubnet"),
	// 			VMDetails: []*armworkloadssapvirtualinstance.ApplicationServerVMDetails{
	// 				{
	// 					Type: to.Ptr(armworkloadssapvirtualinstance.ApplicationServerVirtualMachineTypeActive),
	// 					StorageDetails: []*armworkloadssapvirtualinstance.StorageInformation{
	// 						{
	// 							ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/nfsstorageaccount"),
	// 						},
	// 					},
	// 					VirtualMachineID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/cs-vm1"),
	// 				},
	// 				{
	// 					Type: to.Ptr(armworkloadssapvirtualinstance.ApplicationServerVirtualMachineTypeStandby),
	// 					StorageDetails: []*armworkloadssapvirtualinstance.StorageInformation{
	// 						{
	// 							ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/nfsstorageaccount"),
	// 						},
	// 					},
	// 					VirtualMachineID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/cs-vm2"),
	// 				},
	// 			},
	// 		},
	// 		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{
	// 		},
	// 	},
	// }
}
Example (SapApplicationServerInstancesCreate)

Generated from example definition: 2024-09-01/SapApplicationServerInstances_Create.json

package main

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"
)

func main() {
	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.NewSAPApplicationServerInstancesClient().BeginCreate(ctx, "test-rg", "X00", "app01", armworkloadssapvirtualinstance.SAPApplicationServerInstance{
		Location:   to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPApplicationServerProperties{},
		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.SAPApplicationServerInstancesClientCreateResponse{
	// 	SAPApplicationServerInstance: &armworkloadssapvirtualinstance.SAPApplicationServerInstance{
	// 		Name: to.Ptr("app01"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances/applicationInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/applicationInstances/app01"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPApplicationServerProperties{
	// 			DispatcherStatus: to.Ptr("Running"),
	// 			GatewayPort: to.Ptr[int64](3300),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 			Hostname: to.Ptr("vh-nw1"),
	// 			IcmHTTPPort: to.Ptr[int64](3312),
	// 			IcmHTTPSPort: to.Ptr[int64](3313),
	// 			InstanceNo: to.Ptr("01"),
	// 			IPAddress: to.Ptr("10.0.0.5"),
	// 			KernelPatch: to.Ptr("patch 300"),
	// 			KernelVersion: to.Ptr("777"),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
	// 			Subnet: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/SAP-E2ETest-rg/providers/Microsoft.Network/virtualNetworks/loop-test-vnet/subnets/loopsubnet"),
	// 			VMDetails: []*armworkloadssapvirtualinstance.ApplicationServerVMDetails{
	// 				{
	// 					Type: to.Ptr(armworkloadssapvirtualinstance.ApplicationServerVirtualMachineTypeActive),
	// 					VirtualMachineID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/app01-vm"),
	// 				},
	// 			},
	// 		},
	// 		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{
	// 		},
	// 	},
	// }
}

func (*SAPApplicationServerInstancesClient) BeginDelete

func (client *SAPApplicationServerInstancesClient) BeginDelete(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, applicationInstanceName string, options *SAPApplicationServerInstancesClientBeginDeleteOptions) (*runtime.Poller[SAPApplicationServerInstancesClientDeleteResponse], error)

BeginDelete - Deletes the SAP Application Server Instance resource. &lt;br&gt;&lt;br&gt;This operation will be used by service only. Delete by end user will return a Bad Request error. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • applicationInstanceName - The name of SAP Application Server instance resource.
  • options - SAPApplicationServerInstancesClientBeginDeleteOptions contains the optional parameters for the SAPApplicationServerInstancesClient.BeginDelete method.
Example

Generated from example definition: 2024-09-01/SapApplicationServerInstances_Delete.json

package main

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

func main() {
	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.NewSAPApplicationServerInstancesClient().BeginDelete(ctx, "test-rg", "X00", "app01", 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)
	}
}

func (*SAPApplicationServerInstancesClient) BeginStart added in v1.0.0

func (client *SAPApplicationServerInstancesClient) BeginStart(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, applicationInstanceName string, options *SAPApplicationServerInstancesClientBeginStartOptions) (*runtime.Poller[SAPApplicationServerInstancesClientStartResponse], error)

BeginStart - Starts the SAP Application Server Instance. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • applicationInstanceName - The name of SAP Application Server instance resource.
  • options - SAPApplicationServerInstancesClientBeginStartOptions contains the optional parameters for the SAPApplicationServerInstancesClient.BeginStart method.
Example (StartTheSapApplicationServerInstance)

Generated from example definition: 2024-09-01/SapApplicationServerInstances_StartInstance.json

package main

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

func main() {
	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.NewSAPApplicationServerInstancesClient().BeginStart(ctx, "test-rg", "X00", "app01", &armworkloadssapvirtualinstance.SAPApplicationServerInstancesClientBeginStartOptions{
		Body: &armworkloadssapvirtualinstance.StartRequest{}})
	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.SAPApplicationServerInstancesClientStartResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("app01"),
	// 		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/sapVirtualInstances/X00/applicationInstances/app01"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}
Example (StartVirtualMachineAndTheSapApplicationServerInstanceOnIt)

Generated from example definition: 2024-09-01/SapApplicationServerInstances_StartInstanceVM.json

package main

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"
)

func main() {
	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.NewSAPApplicationServerInstancesClient().BeginStart(ctx, "test-rg", "X00", "app01", &armworkloadssapvirtualinstance.SAPApplicationServerInstancesClientBeginStartOptions{
		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.SAPApplicationServerInstancesClientStartResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("app01"),
	// 		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/sapVirtualInstances/X00/applicationInstances/app01"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}

func (*SAPApplicationServerInstancesClient) BeginStop added in v1.0.0

func (client *SAPApplicationServerInstancesClient) BeginStop(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, applicationInstanceName string, options *SAPApplicationServerInstancesClientBeginStopOptions) (*runtime.Poller[SAPApplicationServerInstancesClientStopResponse], error)

BeginStop - Stops the SAP Application Server Instance. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • applicationInstanceName - The name of SAP Application Server instance resource.
  • options - SAPApplicationServerInstancesClientBeginStopOptions contains the optional parameters for the SAPApplicationServerInstancesClient.BeginStop method.
Example (SoftStopTheSapApplicationServerInstance)

Generated from example definition: 2024-09-01/SapApplicationServerInstances_StopInstanceSoft.json

package main

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"
)

func main() {
	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.NewSAPApplicationServerInstancesClient().BeginStop(ctx, "test-rg", "X00", "app01", &armworkloadssapvirtualinstance.SAPApplicationServerInstancesClientBeginStopOptions{
		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.SAPApplicationServerInstancesClientStopResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("app01"),
	// 		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/sapVirtualInstances/X00/applicationInstances/app01"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}
Example (SoftStopTheSapApplicationServerInstanceAndItSInfrastructure)

Generated from example definition: 2024-09-01/SapApplicationServerInstances_StopInstanceSoftInfrastructure.json

package main

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"
)

func main() {
	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.NewSAPApplicationServerInstancesClient().BeginStop(ctx, "test-rg", "X00", "app01", &armworkloadssapvirtualinstance.SAPApplicationServerInstancesClientBeginStopOptions{
		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.SAPApplicationServerInstancesClientStopResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("app01"),
	// 		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/sapVirtualInstances/X00/applicationInstances/app01"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}
Example (StopTheSapApplicationServerInstance)

Generated from example definition: 2024-09-01/SapApplicationServerInstances_StopInstance.json

package main

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"
)

func main() {
	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.NewSAPApplicationServerInstancesClient().BeginStop(ctx, "test-rg", "X00", "app01", &armworkloadssapvirtualinstance.SAPApplicationServerInstancesClientBeginStopOptions{
		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.SAPApplicationServerInstancesClientStopResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("app01"),
	// 		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/sapVirtualInstances/X00/applicationInstances/app01"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}
Example (StopTheSapApplicationServerInstanceAndItSInfrastructure)

Generated from example definition: 2024-09-01/SapApplicationServerInstances_StopInstanceInfrastructure.json

package main

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"
)

func main() {
	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.NewSAPApplicationServerInstancesClient().BeginStop(ctx, "test-rg", "X00", "app01", &armworkloadssapvirtualinstance.SAPApplicationServerInstancesClientBeginStopOptions{
		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.SAPApplicationServerInstancesClientStopResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("app01"),
	// 		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/sapVirtualInstances/X00/applicationInstances/app01"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}

func (*SAPApplicationServerInstancesClient) Get

func (client *SAPApplicationServerInstancesClient) Get(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, applicationInstanceName string, options *SAPApplicationServerInstancesClientGetOptions) (SAPApplicationServerInstancesClientGetResponse, error)

Get - Gets the SAP Application Server Instance corresponding to the Virtual Instance for SAP solutions resource. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • applicationInstanceName - The name of SAP Application Server instance resource.
  • options - SAPApplicationServerInstancesClientGetOptions contains the optional parameters for the SAPApplicationServerInstancesClient.Get method.
Example

Generated from example definition: 2024-09-01/SapApplicationServerInstances_Get.json

package main

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

func main() {
	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)
	}
	res, err := clientFactory.NewSAPApplicationServerInstancesClient().Get(ctx, "test-rg", "X00", "app01", 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.SAPApplicationServerInstancesClientGetResponse{
	// 	SAPApplicationServerInstance: &armworkloadssapvirtualinstance.SAPApplicationServerInstance{
	// 		Name: to.Ptr("app01"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances/applicationInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/applicationInstances/app01"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPApplicationServerProperties{
	// 			DispatcherStatus: to.Ptr("Running"),
	// 			GatewayPort: to.Ptr[int64](3300),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 			Hostname: to.Ptr("vh-nw1"),
	// 			IcmHTTPPort: to.Ptr[int64](3312),
	// 			IcmHTTPSPort: to.Ptr[int64](3313),
	// 			InstanceNo: to.Ptr("00"),
	// 			IPAddress: to.Ptr("10.0.0.5"),
	// 			KernelPatch: to.Ptr("patch 300"),
	// 			KernelVersion: to.Ptr("777"),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
	// 			Subnet: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/SAP-E2ETest-rg/providers/Microsoft.Network/virtualNetworks/loop-test-vnet/subnets/loopsubnet"),
	// 			VMDetails: []*armworkloadssapvirtualinstance.ApplicationServerVMDetails{
	// 				{
	// 					Type: to.Ptr(armworkloadssapvirtualinstance.ApplicationServerVirtualMachineTypeActive),
	// 					VirtualMachineID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/app01-vm"),
	// 				},
	// 			},
	// 		},
	// 		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{
	// 		},
	// 	},
	// }
}

func (*SAPApplicationServerInstancesClient) NewListPager

NewListPager - Lists the SAP Application Server Instance resources for a given Virtual Instance for SAP solutions resource.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • options - SAPApplicationServerInstancesClientListOptions contains the optional parameters for the SAPApplicationServerInstancesClient.NewListPager method.
Example

Generated from example definition: 2024-09-01/SapApplicationServerInstances_ListBySapVirtualInstance.json

package main

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

func main() {
	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.NewSAPApplicationServerInstancesClient().NewListPager("test-rg", "X00", 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.SAPApplicationServerInstancesClientListResponse{
		// 	SAPApplicationServerInstanceListResult: armworkloadssapvirtualinstance.SAPApplicationServerInstanceListResult{
		// 		Value: []*armworkloadssapvirtualinstance.SAPApplicationServerInstance{
		// 			{
		// 				Name: to.Ptr("app01"),
		// 				Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances/applicationInstances"),
		// 				ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/applicationInstances/app01"),
		// 				Location: to.Ptr("westcentralus"),
		// 				Properties: &armworkloadssapvirtualinstance.SAPApplicationServerProperties{
		// 					DispatcherStatus: to.Ptr("Running"),
		// 					GatewayPort: to.Ptr[int64](3300),
		// 					Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
		// 					Hostname: to.Ptr("vh-nw1"),
		// 					IcmHTTPPort: to.Ptr[int64](3312),
		// 					IcmHTTPSPort: to.Ptr[int64](3313),
		// 					InstanceNo: to.Ptr("00"),
		// 					IPAddress: to.Ptr("10.0.0.5"),
		// 					KernelPatch: to.Ptr("patch 300"),
		// 					KernelVersion: to.Ptr("777"),
		// 					ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
		// 					Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
		// 					Subnet: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/SAP-E2ETest-rg/providers/Microsoft.Network/virtualNetworks/loop-test-vnet/subnets/loopsubnet"),
		// 					VMDetails: []*armworkloadssapvirtualinstance.ApplicationServerVMDetails{
		// 						{
		// 							Type: to.Ptr(armworkloadssapvirtualinstance.ApplicationServerVirtualMachineTypeActive),
		// 							VirtualMachineID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/app01-vm"),
		// 						},
		// 					},
		// 				},
		// 				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("app02"),
		// 				Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances/applicationInstances"),
		// 				ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/applicationInstances/app02"),
		// 				Location: to.Ptr("westcentralus"),
		// 				Properties: &armworkloadssapvirtualinstance.SAPApplicationServerProperties{
		// 					DispatcherStatus: to.Ptr("Running"),
		// 					GatewayPort: to.Ptr[int64](3300),
		// 					Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
		// 					Hostname: to.Ptr("vh-nw1"),
		// 					IcmHTTPPort: to.Ptr[int64](3312),
		// 					IcmHTTPSPort: to.Ptr[int64](3313),
		// 					InstanceNo: to.Ptr("01"),
		// 					IPAddress: to.Ptr("10.0.0.5"),
		// 					KernelPatch: to.Ptr("patch 300"),
		// 					KernelVersion: to.Ptr("777"),
		// 					ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
		// 					Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
		// 					Subnet: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/SAP-E2ETest-rg/providers/Microsoft.Network/virtualNetworks/loop-test-vnet/subnets/loopsubnet"),
		// 					VMDetails: []*armworkloadssapvirtualinstance.ApplicationServerVMDetails{
		// 						{
		// 							Type: to.Ptr(armworkloadssapvirtualinstance.ApplicationServerVirtualMachineTypeActive),
		// 							VirtualMachineID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/app01-vm"),
		// 						},
		// 					},
		// 				},
		// 				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{
		// 				},
		// 			},
		// 		},
		// 	},
		// }
	}
}

func (*SAPApplicationServerInstancesClient) Update

Update - Puts the SAP Application Server Instance resource. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • applicationInstanceName - The name of SAP Application Server instance resource.
  • properties - The SAP Application Server Instance resource request body.
  • options - SAPApplicationServerInstancesClientUpdateOptions contains the optional parameters for the SAPApplicationServerInstancesClient.Update method.
Example

Generated from example definition: 2024-09-01/SapApplicationServerInstances_Update.json

package main

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"
)

func main() {
	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)
	}
	res, err := clientFactory.NewSAPApplicationServerInstancesClient().Update(ctx, "test-rg", "X00", "app01", armworkloadssapvirtualinstance.UpdateSAPApplicationInstanceRequest{
		Tags: map[string]*string{
			"tag1": to.Ptr("value1"),
		},
	}, 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.SAPApplicationServerInstancesClientUpdateResponse{
	// 	SAPApplicationServerInstance: &armworkloadssapvirtualinstance.SAPApplicationServerInstance{
	// 		Name: to.Ptr("app01"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances/applicationInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/applicationInstances/app01"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPApplicationServerProperties{
	// 			DispatcherStatus: to.Ptr("Running"),
	// 			GatewayPort: to.Ptr[int64](3300),
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 			Hostname: to.Ptr("vh-nw1"),
	// 			IcmHTTPPort: to.Ptr[int64](3312),
	// 			IcmHTTPSPort: to.Ptr[int64](3313),
	// 			InstanceNo: to.Ptr("01"),
	// 			IPAddress: to.Ptr("10.0.0.5"),
	// 			KernelPatch: to.Ptr("patch 300"),
	// 			KernelVersion: to.Ptr("777"),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
	// 			Subnet: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/SAP-E2ETest-rg/providers/Microsoft.Network/virtualNetworks/loop-test-vnet/subnets/loopsubnet"),
	// 			VMDetails: []*armworkloadssapvirtualinstance.ApplicationServerVMDetails{
	// 				{
	// 					Type: to.Ptr(armworkloadssapvirtualinstance.ApplicationServerVirtualMachineTypeActive),
	// 					VirtualMachineID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/app01-vm"),
	// 				},
	// 			},
	// 		},
	// 		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{
	// 		},
	// 	},
	// }
}

type SAPApplicationServerInstancesClientBeginCreateOptions

type SAPApplicationServerInstancesClientBeginCreateOptions struct {
	// Resumes the long-running operation from the provided token.
	ResumeToken string
}

SAPApplicationServerInstancesClientBeginCreateOptions contains the optional parameters for the SAPApplicationServerInstancesClient.BeginCreate method.

type SAPApplicationServerInstancesClientBeginDeleteOptions

type SAPApplicationServerInstancesClientBeginDeleteOptions struct {
	// Resumes the long-running operation from the provided token.
	ResumeToken string
}

SAPApplicationServerInstancesClientBeginDeleteOptions contains the optional parameters for the SAPApplicationServerInstancesClient.BeginDelete method.

type SAPApplicationServerInstancesClientBeginStartOptions added in v1.0.0

type SAPApplicationServerInstancesClientBeginStartOptions struct {
	// Resumes the long-running operation from the provided token.
	ResumeToken string

	// SAP Application server instance start request body.
	Body *StartRequest
}

SAPApplicationServerInstancesClientBeginStartOptions contains the optional parameters for the SAPApplicationServerInstancesClient.BeginStart method.

type SAPApplicationServerInstancesClientBeginStopOptions added in v1.0.0

type SAPApplicationServerInstancesClientBeginStopOptions struct {
	// Resumes the long-running operation from the provided token.
	ResumeToken string

	// SAP Application server instance stop request body.
	Body *StopRequest
}

SAPApplicationServerInstancesClientBeginStopOptions contains the optional parameters for the SAPApplicationServerInstancesClient.BeginStop method.

type SAPApplicationServerInstancesClientCreateResponse

type SAPApplicationServerInstancesClientCreateResponse struct {
	// Define the SAP Application Server Instance resource.
	SAPApplicationServerInstance
}

SAPApplicationServerInstancesClientCreateResponse contains the response from method SAPApplicationServerInstancesClient.BeginCreate.

type SAPApplicationServerInstancesClientDeleteResponse

type SAPApplicationServerInstancesClientDeleteResponse struct {
}

SAPApplicationServerInstancesClientDeleteResponse contains the response from method SAPApplicationServerInstancesClient.BeginDelete.

type SAPApplicationServerInstancesClientGetOptions

type SAPApplicationServerInstancesClientGetOptions struct {
}

SAPApplicationServerInstancesClientGetOptions contains the optional parameters for the SAPApplicationServerInstancesClient.Get method.

type SAPApplicationServerInstancesClientGetResponse

type SAPApplicationServerInstancesClientGetResponse struct {
	// Define the SAP Application Server Instance resource.
	SAPApplicationServerInstance
}

SAPApplicationServerInstancesClientGetResponse contains the response from method SAPApplicationServerInstancesClient.Get.

type SAPApplicationServerInstancesClientListOptions

type SAPApplicationServerInstancesClientListOptions struct {
}

SAPApplicationServerInstancesClientListOptions contains the optional parameters for the SAPApplicationServerInstancesClient.NewListPager method.

type SAPApplicationServerInstancesClientListResponse

type SAPApplicationServerInstancesClientListResponse struct {
	// The response of a SAPApplicationServerInstance list operation.
	SAPApplicationServerInstanceListResult
}

SAPApplicationServerInstancesClientListResponse contains the response from method SAPApplicationServerInstancesClient.NewListPager.

type SAPApplicationServerInstancesClientStartResponse added in v1.0.0

type SAPApplicationServerInstancesClientStartResponse struct {
	// The current status of an async operation.
	OperationStatusResult
}

SAPApplicationServerInstancesClientStartResponse contains the response from method SAPApplicationServerInstancesClient.BeginStart.

type SAPApplicationServerInstancesClientStopResponse added in v1.0.0

type SAPApplicationServerInstancesClientStopResponse struct {
	// The current status of an async operation.
	OperationStatusResult
}

SAPApplicationServerInstancesClientStopResponse contains the response from method SAPApplicationServerInstancesClient.BeginStop.

type SAPApplicationServerInstancesClientUpdateOptions

type SAPApplicationServerInstancesClientUpdateOptions struct {
}

SAPApplicationServerInstancesClientUpdateOptions contains the optional parameters for the SAPApplicationServerInstancesClient.Update method.

type SAPApplicationServerInstancesClientUpdateResponse

type SAPApplicationServerInstancesClientUpdateResponse struct {
	// Define the SAP Application Server Instance resource.
	SAPApplicationServerInstance
}

SAPApplicationServerInstancesClientUpdateResponse contains the response from method SAPApplicationServerInstancesClient.Update.

type SAPApplicationServerProperties

type SAPApplicationServerProperties struct {
	// READ-ONLY; Application server instance dispatcher status.
	DispatcherStatus *string

	// READ-ONLY; Defines the Application Instance errors.
	Errors *SAPVirtualInstanceError

	// READ-ONLY; Application server instance gateway Port.
	GatewayPort *int64

	// READ-ONLY; Defines the health of SAP Instances.
	Health *SAPHealthState

	// READ-ONLY; Application server instance SAP hostname.
	Hostname *string

	// READ-ONLY; Application server instance SAP IP Address.
	IPAddress *string

	// READ-ONLY; Application server instance ICM HTTP Port.
	IcmHTTPPort *int64

	// READ-ONLY; Application server instance ICM HTTPS Port.
	IcmHTTPSPort *int64

	// READ-ONLY; Application server Instance Number.
	InstanceNo *string

	// READ-ONLY; Application server instance SAP Kernel Patch level.
	KernelPatch *string

	// READ-ONLY; Application server instance SAP Kernel Version.
	KernelVersion *string

	// READ-ONLY; The Load Balancer details such as LoadBalancer ID attached to Application Server Virtual Machines
	LoadBalancerDetails *LoadBalancerDetails

	// READ-ONLY; Defines the provisioning states.
	ProvisioningState *SapVirtualInstanceProvisioningState

	// READ-ONLY; Defines the SAP Instance status.
	Status *SAPVirtualInstanceStatus

	// READ-ONLY; Application server Subnet.
	Subnet *string

	// READ-ONLY; The list of virtual machines.
	VMDetails []*ApplicationServerVMDetails
}

SAPApplicationServerProperties - Defines the SAP Application Server instance properties.

func (SAPApplicationServerProperties) MarshalJSON

func (s SAPApplicationServerProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPApplicationServerProperties.

func (*SAPApplicationServerProperties) UnmarshalJSON

func (s *SAPApplicationServerProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPApplicationServerProperties.

type SAPAvailabilityZoneDetailsRequest

type SAPAvailabilityZoneDetailsRequest struct {
	// REQUIRED; The geo-location where the SAP resources will be created.
	AppLocation *string

	// REQUIRED; The database type. Eg: HANA, DB2, etc
	DatabaseType *SAPDatabaseType

	// REQUIRED; Defines the SAP Product type.
	SapProduct *SAPProductType
}

SAPAvailabilityZoneDetailsRequest - The SAP request to get list of availability zones.

func (SAPAvailabilityZoneDetailsRequest) MarshalJSON

func (s SAPAvailabilityZoneDetailsRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPAvailabilityZoneDetailsRequest.

func (*SAPAvailabilityZoneDetailsRequest) UnmarshalJSON

func (s *SAPAvailabilityZoneDetailsRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPAvailabilityZoneDetailsRequest.

type SAPAvailabilityZoneDetailsResult

type SAPAvailabilityZoneDetailsResult struct {
	// Gets the list of availability zone pairs.
	AvailabilityZonePairs []*SAPAvailabilityZonePair
}

SAPAvailabilityZoneDetailsResult - The list of supported availability zone pairs which are part of SAP HA deployment.

func (SAPAvailabilityZoneDetailsResult) MarshalJSON

func (s SAPAvailabilityZoneDetailsResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPAvailabilityZoneDetailsResult.

func (*SAPAvailabilityZoneDetailsResult) UnmarshalJSON

func (s *SAPAvailabilityZoneDetailsResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPAvailabilityZoneDetailsResult.

type SAPAvailabilityZonePair

type SAPAvailabilityZonePair struct {
	// The zone A.
	ZoneA *int64

	// The zone B.
	ZoneB *int64
}

SAPAvailabilityZonePair - The SAP Availability Zone Pair.

func (SAPAvailabilityZonePair) MarshalJSON

func (s SAPAvailabilityZonePair) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPAvailabilityZonePair.

func (*SAPAvailabilityZonePair) UnmarshalJSON

func (s *SAPAvailabilityZonePair) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPAvailabilityZonePair.

type SAPCentralServerInstance

type SAPCentralServerInstance struct {
	// REQUIRED; The geo-location where the resource lives
	Location *string

	// The resource-specific properties for this resource.
	Properties *SAPCentralServerProperties

	// Resource tags.
	Tags map[string]*string

	// READ-ONLY; Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
	Name *string

	// READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
	ID *string

	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
	SystemData *SystemData

	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
	Type *string
}

SAPCentralServerInstance - Define the SAP Central Services Instance resource.

func (SAPCentralServerInstance) MarshalJSON

func (s SAPCentralServerInstance) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPCentralServerInstance.

func (*SAPCentralServerInstance) UnmarshalJSON

func (s *SAPCentralServerInstance) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPCentralServerInstance.

type SAPCentralServerInstanceListResult added in v1.0.0

type SAPCentralServerInstanceListResult struct {
	// REQUIRED; The SAPCentralServerInstance items on this page
	Value []*SAPCentralServerInstance

	// The link to the next page of items
	NextLink *string
}

SAPCentralServerInstanceListResult - The response of a SAPCentralServerInstance list operation.

func (SAPCentralServerInstanceListResult) MarshalJSON added in v1.0.0

func (s SAPCentralServerInstanceListResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPCentralServerInstanceListResult.

func (*SAPCentralServerInstanceListResult) UnmarshalJSON added in v1.0.0

func (s *SAPCentralServerInstanceListResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPCentralServerInstanceListResult.

type SAPCentralServerInstancesClient added in v1.0.0

type SAPCentralServerInstancesClient struct {
	// contains filtered or unexported fields
}

SAPCentralServerInstancesClient contains the methods for the SAPCentralServerInstances group. Don't use this type directly, use NewSAPCentralServerInstancesClient() instead.

func NewSAPCentralServerInstancesClient added in v1.0.0

func NewSAPCentralServerInstancesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*SAPCentralServerInstancesClient, error)

NewSAPCentralServerInstancesClient creates a new instance of SAPCentralServerInstancesClient with the specified values.

  • subscriptionID - The ID of the target subscription. The value must be an UUID.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*SAPCentralServerInstancesClient) BeginCreate added in v1.0.0

func (client *SAPCentralServerInstancesClient) BeginCreate(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, centralInstanceName string, resource SAPCentralServerInstance, options *SAPCentralServerInstancesClientBeginCreateOptions) (*runtime.Poller[SAPCentralServerInstancesClientCreateResponse], error)

BeginCreate - Creates the SAP Central Services Instance resource. &lt;br&gt;&lt;br&gt;This will be used by service only. PUT operation on this resource by end user will return a Bad Request error. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • centralInstanceName - Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
  • resource - The SAP Central Services Instance request body.
  • options - SAPCentralServerInstancesClientBeginCreateOptions contains the optional parameters for the SAPCentralServerInstancesClient.BeginCreate method.
Example (CreateSapCentralInstancesForHaSystemWithAvailabilitySet)

Generated from example definition: 2024-09-01/SapCentralInstances_CreateForHaWithAvailabilitySet.json

package main

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"
)

func main() {
	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.NewSAPCentralServerInstancesClient().BeginCreate(ctx, "test-rg", "X00", "centralServer", armworkloadssapvirtualinstance.SAPCentralServerInstance{
		Location:   to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPCentralServerProperties{},
		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.SAPCentralServerInstancesClientCreateResponse{
	// 	SAPCentralServerInstance: &armworkloadssapvirtualinstance.SAPCentralServerInstance{
	// 		Name: to.Ptr("centralServer"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances/centralInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/centralInstances/centralServer"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPCentralServerProperties{
	// 			EnqueueReplicationServerProperties: &armworkloadssapvirtualinstance.EnqueueReplicationServerProperties{
	// 				ErsVersion: to.Ptr(armworkloadssapvirtualinstance.EnqueueReplicationServerTypeEnqueueReplicator1),
	// 				Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 				Hostname: to.Ptr("vh-ers1"),
	// 				InstanceNo: to.Ptr("00"),
	// 				IPAddress: to.Ptr("10.0.0.5"),
	// 				KernelPatch: to.Ptr("patch 300"),
	// 				KernelVersion: to.Ptr("777"),
	// 			},
	// 			EnqueueServerProperties: &armworkloadssapvirtualinstance.EnqueueServerProperties{
	// 				Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 				Hostname: to.Ptr("vh-ascs1"),
	// 				IPAddress: to.Ptr("10.0.0.5"),
	// 				Port: to.Ptr[int64](3600),
	// 			},
	// 			GatewayServerProperties: &armworkloadssapvirtualinstance.GatewayServerProperties{
	// 				Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 				Port: to.Ptr[int64](3300),
	// 			},
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 			InstanceNo: to.Ptr("00"),
	// 			KernelPatch: to.Ptr("patch 300"),
	// 			KernelVersion: to.Ptr("777"),
	// 			LoadBalancerDetails: &armworkloadssapvirtualinstance.LoadBalancerDetails{
	// 				ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Network/loadBalancers/cs-ASCS-loadBalancer"),
	// 			},
	// 			MessageServerProperties: &armworkloadssapvirtualinstance.MessageServerProperties{
	// 				Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 				Hostname: to.Ptr("vh-ascs1"),
	// 				HTTPPort: to.Ptr[int64](8100),
	// 				HTTPSPort: to.Ptr[int64](44400),
	// 				InternalMsPort: to.Ptr[int64](3900),
	// 				IPAddress: to.Ptr("10.0.0.5"),
	// 				MSPort: to.Ptr[int64](3600),
	// 			},
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
	// 			Subnet: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/SAP-E2ETest-rg/providers/Microsoft.Network/virtualNetworks/loop-test-vnet/subnets/loopsubnet"),
	// 			VMDetails: []*armworkloadssapvirtualinstance.CentralServerVMDetails{
	// 				{
	// 					Type: to.Ptr(armworkloadssapvirtualinstance.CentralServerVirtualMachineTypePrimary),
	// 					StorageDetails: []*armworkloadssapvirtualinstance.StorageInformation{
	// 						{
	// 							ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/nfsstorageaccount"),
	// 						},
	// 					},
	// 					VirtualMachineID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/cs-vm1"),
	// 				},
	// 				{
	// 					Type: to.Ptr(armworkloadssapvirtualinstance.CentralServerVirtualMachineTypePrimary),
	// 					StorageDetails: []*armworkloadssapvirtualinstance.StorageInformation{
	// 						{
	// 							ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/nfsstorageaccount"),
	// 						},
	// 					},
	// 					VirtualMachineID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/cs-vm2"),
	// 				},
	// 			},
	// 		},
	// 		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{
	// 		},
	// 	},
	// }
}
Example (SapCentralServerInstancesCreate)

Generated from example definition: 2024-09-01/SapCentralInstances_Create.json

package main

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"
)

func main() {
	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.NewSAPCentralServerInstancesClient().BeginCreate(ctx, "test-rg", "X00", "centralServer", armworkloadssapvirtualinstance.SAPCentralServerInstance{
		Location:   to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPCentralServerProperties{},
		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.SAPCentralServerInstancesClientCreateResponse{
	// 	SAPCentralServerInstance: &armworkloadssapvirtualinstance.SAPCentralServerInstance{
	// 		Name: to.Ptr("centralServer"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances/centralInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/centralInstances/centralServer"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPCentralServerProperties{
	// 			EnqueueReplicationServerProperties: &armworkloadssapvirtualinstance.EnqueueReplicationServerProperties{
	// 				ErsVersion: to.Ptr(armworkloadssapvirtualinstance.EnqueueReplicationServerTypeEnqueueReplicator1),
	// 				Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 				Hostname: to.Ptr("vh-ers1"),
	// 				InstanceNo: to.Ptr("00"),
	// 				IPAddress: to.Ptr("10.0.0.5"),
	// 				KernelPatch: to.Ptr("patch 300"),
	// 				KernelVersion: to.Ptr("777"),
	// 			},
	// 			EnqueueServerProperties: &armworkloadssapvirtualinstance.EnqueueServerProperties{
	// 				Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 				Hostname: to.Ptr("vh-ascs1"),
	// 				IPAddress: to.Ptr("10.0.0.5"),
	// 				Port: to.Ptr[int64](3600),
	// 			},
	// 			GatewayServerProperties: &armworkloadssapvirtualinstance.GatewayServerProperties{
	// 				Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 				Port: to.Ptr[int64](3300),
	// 			},
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 			InstanceNo: to.Ptr("00"),
	// 			KernelPatch: to.Ptr("patch 300"),
	// 			KernelVersion: to.Ptr("777"),
	// 			MessageServerProperties: &armworkloadssapvirtualinstance.MessageServerProperties{
	// 				Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 				Hostname: to.Ptr("vh-ascs1"),
	// 				HTTPPort: to.Ptr[int64](8100),
	// 				HTTPSPort: to.Ptr[int64](44400),
	// 				InternalMsPort: to.Ptr[int64](3900),
	// 				IPAddress: to.Ptr("10.0.0.5"),
	// 				MSPort: to.Ptr[int64](3600),
	// 			},
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
	// 			Subnet: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/SAP-E2ETest-rg/providers/Microsoft.Network/virtualNetworks/loop-test-vnet/subnets/loopsubnet"),
	// 			VMDetails: []*armworkloadssapvirtualinstance.CentralServerVMDetails{
	// 				{
	// 					Type: to.Ptr(armworkloadssapvirtualinstance.CentralServerVirtualMachineTypePrimary),
	// 					VirtualMachineID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/cs-vm"),
	// 				},
	// 			},
	// 		},
	// 		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{
	// 		},
	// 	},
	// }
}

func (*SAPCentralServerInstancesClient) BeginDelete added in v1.0.0

func (client *SAPCentralServerInstancesClient) BeginDelete(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, centralInstanceName string, options *SAPCentralServerInstancesClientBeginDeleteOptions) (*runtime.Poller[SAPCentralServerInstancesClientDeleteResponse], error)

BeginDelete - Deletes the SAP Central Services Instance resource. &lt;br&gt;&lt;br&gt;This will be used by service only. Delete operation on this resource by end user will return a Bad Request error. You can delete the parent resource, which is the Virtual Instance for SAP solutions resource, using the delete operation on it. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • centralInstanceName - Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
  • options - SAPCentralServerInstancesClientBeginDeleteOptions contains the optional parameters for the SAPCentralServerInstancesClient.BeginDelete method.
Example

Generated from example definition: 2024-09-01/SapCentralInstances_Delete.json

package main

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

func main() {
	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.NewSAPCentralServerInstancesClient().BeginDelete(ctx, "test-rg", "X00", "centralServer", 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)
	}
}

func (*SAPCentralServerInstancesClient) BeginStart added in v1.0.0

func (client *SAPCentralServerInstancesClient) BeginStart(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, centralInstanceName string, options *SAPCentralServerInstancesClientBeginStartOptions) (*runtime.Poller[SAPCentralServerInstancesClientStartResponse], error)

BeginStart - Starts the SAP Central Services Instance. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • centralInstanceName - Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
  • options - SAPCentralServerInstancesClientBeginStartOptions contains the optional parameters for the SAPCentralServerInstancesClient.BeginStart method.
Example (StartTheSapCentralServicesInstance)

Generated from example definition: 2024-09-01/SapCentralInstances_StartInstance.json

package main

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

func main() {
	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.NewSAPCentralServerInstancesClient().BeginStart(ctx, "test-rg", "X00", "centralServer", &armworkloadssapvirtualinstance.SAPCentralServerInstancesClientBeginStartOptions{
		Body: &armworkloadssapvirtualinstance.StartRequest{}})
	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.SAPCentralServerInstancesClientStartResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("centralServer"),
	// 		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/sapVirtualInstances/X00/centralInstances/centralServer"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}
Example (StartTheVirtualMachineSAndTheSapCentralServicesInstanceOnIt)

Generated from example definition: 2024-09-01/SapCentralInstances_StartInstanceVM.json

package main

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"
)

func main() {
	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.NewSAPCentralServerInstancesClient().BeginStart(ctx, "test-rg", "X00", "centralServer", &armworkloadssapvirtualinstance.SAPCentralServerInstancesClientBeginStartOptions{
		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.SAPCentralServerInstancesClientStartResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("centralServer"),
	// 		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/sapVirtualInstances/X00/centralInstances/centralServer"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}

func (*SAPCentralServerInstancesClient) BeginStop added in v1.0.0

func (client *SAPCentralServerInstancesClient) BeginStop(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, centralInstanceName string, options *SAPCentralServerInstancesClientBeginStopOptions) (*runtime.Poller[SAPCentralServerInstancesClientStopResponse], error)

BeginStop - Stops the SAP Central Services Instance. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • centralInstanceName - Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
  • options - SAPCentralServerInstancesClientBeginStopOptions contains the optional parameters for the SAPCentralServerInstancesClient.BeginStop method.
Example (StopTheSapCentralServicesInstance)

Generated from example definition: 2024-09-01/SapCentralInstances_StopInstance.json

package main

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"
)

func main() {
	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.NewSAPCentralServerInstancesClient().BeginStop(ctx, "test-rg", "X00", "centralServer", &armworkloadssapvirtualinstance.SAPCentralServerInstancesClientBeginStopOptions{
		Body: &armworkloadssapvirtualinstance.StopRequest{
			SoftStopTimeoutSeconds: to.Ptr[int64](1200),
		}})
	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.SAPCentralServerInstancesClientStopResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("centralServer"),
	// 		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/sapVirtualInstances/X00/centralInstances/centralServer"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}
Example (StopTheSapCentralServicesInstanceAndItsUnderlyingVirtualMachineS)

Generated from example definition: 2024-09-01/SapCentralInstances_StopInstanceVM.json

package main

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"
)

func main() {
	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.NewSAPCentralServerInstancesClient().BeginStop(ctx, "test-rg", "X00", "centralServer", &armworkloadssapvirtualinstance.SAPCentralServerInstancesClientBeginStopOptions{
		Body: &armworkloadssapvirtualinstance.StopRequest{
			DeallocateVM: 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.SAPCentralServerInstancesClientStopResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("centralServer"),
	// 		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/sapVirtualInstances/X00/centralInstances/centralServer"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2021-08-19T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}

func (*SAPCentralServerInstancesClient) Get added in v1.0.0

func (client *SAPCentralServerInstancesClient) Get(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, centralInstanceName string, options *SAPCentralServerInstancesClientGetOptions) (SAPCentralServerInstancesClientGetResponse, error)

Get - Gets the SAP Central Services Instance resource. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • centralInstanceName - Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
  • options - SAPCentralServerInstancesClientGetOptions contains the optional parameters for the SAPCentralServerInstancesClient.Get method.
Example

Generated from example definition: 2024-09-01/SapCentralInstances_Get.json

package main

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

func main() {
	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)
	}
	res, err := clientFactory.NewSAPCentralServerInstancesClient().Get(ctx, "test-rg", "X00", "centralServer", 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.SAPCentralServerInstancesClientGetResponse{
	// 	SAPCentralServerInstance: &armworkloadssapvirtualinstance.SAPCentralServerInstance{
	// 		Name: to.Ptr("centralServer"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances/centralInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/centralInstances/centralServer"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPCentralServerProperties{
	// 			EnqueueReplicationServerProperties: &armworkloadssapvirtualinstance.EnqueueReplicationServerProperties{
	// 				ErsVersion: to.Ptr(armworkloadssapvirtualinstance.EnqueueReplicationServerTypeEnqueueReplicator1),
	// 				Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 				Hostname: to.Ptr("vh-ers1"),
	// 				InstanceNo: to.Ptr("00"),
	// 				IPAddress: to.Ptr("10.0.0.5"),
	// 				KernelPatch: to.Ptr("patch 300"),
	// 				KernelVersion: to.Ptr("777"),
	// 			},
	// 			EnqueueServerProperties: &armworkloadssapvirtualinstance.EnqueueServerProperties{
	// 				Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 				Hostname: to.Ptr("vh-ascs1"),
	// 				IPAddress: to.Ptr("10.0.0.5"),
	// 				Port: to.Ptr[int64](3600),
	// 			},
	// 			GatewayServerProperties: &armworkloadssapvirtualinstance.GatewayServerProperties{
	// 				Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateDegraded),
	// 				Port: to.Ptr[int64](3300),
	// 			},
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnknown),
	// 			InstanceNo: to.Ptr("00"),
	// 			KernelPatch: to.Ptr("patch 300"),
	// 			KernelVersion: to.Ptr("777"),
	// 			MessageServerProperties: &armworkloadssapvirtualinstance.MessageServerProperties{
	// 				Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateUnhealthy),
	// 				Hostname: to.Ptr("vh-ascs1"),
	// 				HTTPPort: to.Ptr[int64](8100),
	// 				HTTPSPort: to.Ptr[int64](44400),
	// 				InternalMsPort: to.Ptr[int64](3900),
	// 				IPAddress: to.Ptr("10.0.0.5"),
	// 				MSPort: to.Ptr[int64](3600),
	// 			},
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
	// 			Subnet: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/SAP-E2ETest-rg/providers/Microsoft.Network/virtualNetworks/loop-test-vnet/subnets/loopsubnet"),
	// 			VMDetails: []*armworkloadssapvirtualinstance.CentralServerVMDetails{
	// 				{
	// 					Type: to.Ptr(armworkloadssapvirtualinstance.CentralServerVirtualMachineTypePrimary),
	// 					VirtualMachineID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/cs-vm"),
	// 				},
	// 			},
	// 		},
	// 		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{
	// 		},
	// 	},
	// }
}

func (*SAPCentralServerInstancesClient) NewListPager added in v1.0.0

NewListPager - Lists the SAP Central Services Instance resource for the given Virtual Instance for SAP solutions resource.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • options - SAPCentralServerInstancesClientListOptions contains the optional parameters for the SAPCentralServerInstancesClient.NewListPager method.
Example

Generated from example definition: 2024-09-01/SapCentralServerInstances_ListBySapVirtualInstance.json

package main

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

func main() {
	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.NewSAPCentralServerInstancesClient().NewListPager("test-rg", "X00", 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.SAPCentralServerInstancesClientListResponse{
		// 	SAPCentralServerInstanceListResult: armworkloadssapvirtualinstance.SAPCentralServerInstanceListResult{
		// 		Value: []*armworkloadssapvirtualinstance.SAPCentralServerInstance{
		// 			{
		// 				Name: to.Ptr("centralServer"),
		// 				Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances/centralInstances"),
		// 				ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/centralInstances/centralServer"),
		// 				Location: to.Ptr("westcentralus"),
		// 				Properties: &armworkloadssapvirtualinstance.SAPCentralServerProperties{
		// 					EnqueueReplicationServerProperties: &armworkloadssapvirtualinstance.EnqueueReplicationServerProperties{
		// 						ErsVersion: to.Ptr(armworkloadssapvirtualinstance.EnqueueReplicationServerTypeEnqueueReplicator1),
		// 						Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
		// 						Hostname: to.Ptr("vh-ers1"),
		// 						InstanceNo: to.Ptr("00"),
		// 						IPAddress: to.Ptr("10.0.0.5"),
		// 						KernelPatch: to.Ptr("patch 300"),
		// 						KernelVersion: to.Ptr("777"),
		// 					},
		// 					EnqueueServerProperties: &armworkloadssapvirtualinstance.EnqueueServerProperties{
		// 						Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
		// 						Hostname: to.Ptr("vh-ascs1"),
		// 						IPAddress: to.Ptr("10.0.0.5"),
		// 						Port: to.Ptr[int64](3600),
		// 					},
		// 					GatewayServerProperties: &armworkloadssapvirtualinstance.GatewayServerProperties{
		// 						Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
		// 						Port: to.Ptr[int64](3300),
		// 					},
		// 					Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
		// 					InstanceNo: to.Ptr("00"),
		// 					KernelPatch: to.Ptr("patch 300"),
		// 					KernelVersion: to.Ptr("777"),
		// 					MessageServerProperties: &armworkloadssapvirtualinstance.MessageServerProperties{
		// 						Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
		// 						Hostname: to.Ptr("vh-ascs1"),
		// 						HTTPPort: to.Ptr[int64](8100),
		// 						HTTPSPort: to.Ptr[int64](44400),
		// 						InternalMsPort: to.Ptr[int64](3900),
		// 						IPAddress: to.Ptr("10.0.0.5"),
		// 						MSPort: to.Ptr[int64](3600),
		// 					},
		// 					ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
		// 					Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
		// 					Subnet: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/SAP-E2ETest-rg/providers/Microsoft.Network/virtualNetworks/loop-test-vnet/subnets/loopsubnet"),
		// 					VMDetails: []*armworkloadssapvirtualinstance.CentralServerVMDetails{
		// 						{
		// 							Type: to.Ptr(armworkloadssapvirtualinstance.CentralServerVirtualMachineTypePrimary),
		// 							VirtualMachineID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/cs-vm"),
		// 						},
		// 					},
		// 				},
		// 				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{
		// 				},
		// 			},
		// 		},
		// 	},
		// }
	}
}

func (*SAPCentralServerInstancesClient) Update added in v1.0.0

func (client *SAPCentralServerInstancesClient) Update(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, centralInstanceName string, properties UpdateSAPCentralInstanceRequest, options *SAPCentralServerInstancesClientUpdateOptions) (SAPCentralServerInstancesClientUpdateResponse, error)

Update - Updates the SAP Central Services Instance resource. &lt;br&gt;&lt;br&gt;This can be used to update tags on the resource. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • centralInstanceName - Central Services Instance resource name string modeled as parameter for auto generation to work correctly.
  • properties - The SAP Central Services Instance resource request body.
  • options - SAPCentralServerInstancesClientUpdateOptions contains the optional parameters for the SAPCentralServerInstancesClient.Update method.
Example

Generated from example definition: 2024-09-01/SapCentralInstances_Update.json

package main

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"
)

func main() {
	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)
	}
	res, err := clientFactory.NewSAPCentralServerInstancesClient().Update(ctx, "test-rg", "X00", "centralServer", armworkloadssapvirtualinstance.UpdateSAPCentralInstanceRequest{
		Tags: map[string]*string{
			"tag1": to.Ptr("value1"),
		},
	}, 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.SAPCentralServerInstancesClientUpdateResponse{
	// 	SAPCentralServerInstance: &armworkloadssapvirtualinstance.SAPCentralServerInstance{
	// 		Name: to.Ptr("centralServer"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances/centralInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/centralInstances/centralServer"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPCentralServerProperties{
	// 			EnqueueReplicationServerProperties: &armworkloadssapvirtualinstance.EnqueueReplicationServerProperties{
	// 				ErsVersion: to.Ptr(armworkloadssapvirtualinstance.EnqueueReplicationServerTypeEnqueueReplicator1),
	// 				Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 				Hostname: to.Ptr("vh-ers1"),
	// 				InstanceNo: to.Ptr("00"),
	// 				IPAddress: to.Ptr("10.0.0.5"),
	// 				KernelPatch: to.Ptr("patch 300"),
	// 				KernelVersion: to.Ptr("777"),
	// 			},
	// 			EnqueueServerProperties: &armworkloadssapvirtualinstance.EnqueueServerProperties{
	// 				Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 				Hostname: to.Ptr("vh-ascs1"),
	// 				IPAddress: to.Ptr("10.0.0.5"),
	// 				Port: to.Ptr[int64](3600),
	// 			},
	// 			GatewayServerProperties: &armworkloadssapvirtualinstance.GatewayServerProperties{
	// 				Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 				Port: to.Ptr[int64](3300),
	// 			},
	// 			Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 			InstanceNo: to.Ptr("00"),
	// 			KernelPatch: to.Ptr("patch 300"),
	// 			KernelVersion: to.Ptr("777"),
	// 			MessageServerProperties: &armworkloadssapvirtualinstance.MessageServerProperties{
	// 				Health: to.Ptr(armworkloadssapvirtualinstance.SAPHealthStateHealthy),
	// 				Hostname: to.Ptr("vh-ascs1"),
	// 				HTTPPort: to.Ptr[int64](8100),
	// 				HTTPSPort: to.Ptr[int64](44400),
	// 				InternalMsPort: to.Ptr[int64](3900),
	// 				IPAddress: to.Ptr("10.0.0.5"),
	// 				MSPort: to.Ptr[int64](3600),
	// 			},
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
	// 			Subnet: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/SAP-E2ETest-rg/providers/Microsoft.Network/virtualNetworks/loop-test-vnet/subnets/loopsubnet"),
	// 			VMDetails: []*armworkloadssapvirtualinstance.CentralServerVMDetails{
	// 				{
	// 					Type: to.Ptr(armworkloadssapvirtualinstance.CentralServerVirtualMachineTypePrimary),
	// 					VirtualMachineID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/cs-vm"),
	// 				},
	// 			},
	// 		},
	// 		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{
	// 		},
	// 	},
	// }
}

type SAPCentralServerInstancesClientBeginCreateOptions added in v1.0.0

type SAPCentralServerInstancesClientBeginCreateOptions struct {
	// Resumes the long-running operation from the provided token.
	ResumeToken string
}

SAPCentralServerInstancesClientBeginCreateOptions contains the optional parameters for the SAPCentralServerInstancesClient.BeginCreate method.

type SAPCentralServerInstancesClientBeginDeleteOptions added in v1.0.0

type SAPCentralServerInstancesClientBeginDeleteOptions struct {
	// Resumes the long-running operation from the provided token.
	ResumeToken string
}

SAPCentralServerInstancesClientBeginDeleteOptions contains the optional parameters for the SAPCentralServerInstancesClient.BeginDelete method.

type SAPCentralServerInstancesClientBeginStartOptions added in v1.0.0

type SAPCentralServerInstancesClientBeginStartOptions struct {
	// Resumes the long-running operation from the provided token.
	ResumeToken string

	// SAP Central Services instance start request body.
	Body *StartRequest
}

SAPCentralServerInstancesClientBeginStartOptions contains the optional parameters for the SAPCentralServerInstancesClient.BeginStart method.

type SAPCentralServerInstancesClientBeginStopOptions added in v1.0.0

type SAPCentralServerInstancesClientBeginStopOptions struct {
	// Resumes the long-running operation from the provided token.
	ResumeToken string

	// SAP Central Services instance stop request body.
	Body *StopRequest
}

SAPCentralServerInstancesClientBeginStopOptions contains the optional parameters for the SAPCentralServerInstancesClient.BeginStop method.

type SAPCentralServerInstancesClientCreateResponse added in v1.0.0

type SAPCentralServerInstancesClientCreateResponse struct {
	// Define the SAP Central Services Instance resource.
	SAPCentralServerInstance
}

SAPCentralServerInstancesClientCreateResponse contains the response from method SAPCentralServerInstancesClient.BeginCreate.

type SAPCentralServerInstancesClientDeleteResponse added in v1.0.0

type SAPCentralServerInstancesClientDeleteResponse struct {
}

SAPCentralServerInstancesClientDeleteResponse contains the response from method SAPCentralServerInstancesClient.BeginDelete.

type SAPCentralServerInstancesClientGetOptions added in v1.0.0

type SAPCentralServerInstancesClientGetOptions struct {
}

SAPCentralServerInstancesClientGetOptions contains the optional parameters for the SAPCentralServerInstancesClient.Get method.

type SAPCentralServerInstancesClientGetResponse added in v1.0.0

type SAPCentralServerInstancesClientGetResponse struct {
	// Define the SAP Central Services Instance resource.
	SAPCentralServerInstance
}

SAPCentralServerInstancesClientGetResponse contains the response from method SAPCentralServerInstancesClient.Get.

type SAPCentralServerInstancesClientListOptions added in v1.0.0

type SAPCentralServerInstancesClientListOptions struct {
}

SAPCentralServerInstancesClientListOptions contains the optional parameters for the SAPCentralServerInstancesClient.NewListPager method.

type SAPCentralServerInstancesClientListResponse added in v1.0.0

type SAPCentralServerInstancesClientListResponse struct {
	// The response of a SAPCentralServerInstance list operation.
	SAPCentralServerInstanceListResult
}

SAPCentralServerInstancesClientListResponse contains the response from method SAPCentralServerInstancesClient.NewListPager.

type SAPCentralServerInstancesClientStartResponse added in v1.0.0

type SAPCentralServerInstancesClientStartResponse struct {
	// The current status of an async operation.
	OperationStatusResult
}

SAPCentralServerInstancesClientStartResponse contains the response from method SAPCentralServerInstancesClient.BeginStart.

type SAPCentralServerInstancesClientStopResponse added in v1.0.0

type SAPCentralServerInstancesClientStopResponse struct {
	// The current status of an async operation.
	OperationStatusResult
}

SAPCentralServerInstancesClientStopResponse contains the response from method SAPCentralServerInstancesClient.BeginStop.

type SAPCentralServerInstancesClientUpdateOptions added in v1.0.0

type SAPCentralServerInstancesClientUpdateOptions struct {
}

SAPCentralServerInstancesClientUpdateOptions contains the optional parameters for the SAPCentralServerInstancesClient.Update method.

type SAPCentralServerInstancesClientUpdateResponse added in v1.0.0

type SAPCentralServerInstancesClientUpdateResponse struct {
	// Define the SAP Central Services Instance resource.
	SAPCentralServerInstance
}

SAPCentralServerInstancesClientUpdateResponse contains the response from method SAPCentralServerInstancesClient.Update.

type SAPCentralServerProperties

type SAPCentralServerProperties struct {
	// Defines the SAP Enqueue Replication Server (ERS) properties.
	EnqueueReplicationServerProperties *EnqueueReplicationServerProperties

	// Defines the SAP Enqueue Server properties.
	EnqueueServerProperties *EnqueueServerProperties

	// Defines the SAP Gateway Server properties.
	GatewayServerProperties *GatewayServerProperties

	// Defines the SAP message server properties.
	MessageServerProperties *MessageServerProperties

	// READ-ONLY; Defines the errors related to SAP Central Services Instance resource.
	Errors *SAPVirtualInstanceError

	// READ-ONLY; Defines the health of SAP Instances.
	Health *SAPHealthState

	// READ-ONLY; The central services instance number.
	InstanceNo *string

	// READ-ONLY; The central services instance Kernel Patch level.
	KernelPatch *string

	// READ-ONLY; The central services instance Kernel Version.
	KernelVersion *string

	// READ-ONLY; The Load Balancer details such as LoadBalancer ID attached to ASCS Virtual Machines
	LoadBalancerDetails *LoadBalancerDetails

	// READ-ONLY; Defines the provisioning states.
	ProvisioningState *SapVirtualInstanceProvisioningState

	// READ-ONLY; Defines the SAP Instance status.
	Status *SAPVirtualInstanceStatus

	// READ-ONLY; The central services instance subnet.
	Subnet *string

	// READ-ONLY; The list of virtual machines corresponding to the Central Services instance.
	VMDetails []*CentralServerVMDetails
}

SAPCentralServerProperties - Defines the SAP Central Services Instance properties.

func (SAPCentralServerProperties) MarshalJSON

func (s SAPCentralServerProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPCentralServerProperties.

func (*SAPCentralServerProperties) UnmarshalJSON

func (s *SAPCentralServerProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPCentralServerProperties.

type SAPConfiguration

type SAPConfiguration struct {
	// REQUIRED; The configuration type. Eg: Deployment/Discovery
	ConfigurationType *SAPConfigurationType
}

SAPConfiguration - The SAP Configuration.

func (*SAPConfiguration) GetSAPConfiguration

func (s *SAPConfiguration) GetSAPConfiguration() *SAPConfiguration

GetSAPConfiguration implements the SAPConfigurationClassification interface for type SAPConfiguration.

func (SAPConfiguration) MarshalJSON

func (s SAPConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPConfiguration.

func (*SAPConfiguration) UnmarshalJSON

func (s *SAPConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPConfiguration.

type SAPConfigurationClassification

type SAPConfigurationClassification interface {
	// GetSAPConfiguration returns the SAPConfiguration content of the underlying type.
	GetSAPConfiguration() *SAPConfiguration
}

SAPConfigurationClassification provides polymorphic access to related types. Call the interface's GetSAPConfiguration() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *DeploymentConfiguration, *DeploymentWithOSConfiguration, *DiscoveryConfiguration, *SAPConfiguration

type SAPConfigurationType

type SAPConfigurationType string

SAPConfigurationType - The configuration Type.

const (
	// SAPConfigurationTypeDeployment - SAP system will be deployed by service. No OS configurations will be done.
	SAPConfigurationTypeDeployment SAPConfigurationType = "Deployment"
	// SAPConfigurationTypeDeploymentWithOSConfig - SAP system will be deployed by service. OS configurations will be done.
	SAPConfigurationTypeDeploymentWithOSConfig SAPConfigurationType = "DeploymentWithOSConfig"
	// SAPConfigurationTypeDiscovery - Existing SAP system will be registered.
	SAPConfigurationTypeDiscovery SAPConfigurationType = "Discovery"
)

func PossibleSAPConfigurationTypeValues

func PossibleSAPConfigurationTypeValues() []SAPConfigurationType

PossibleSAPConfigurationTypeValues returns the possible values for the SAPConfigurationType const type.

type SAPDatabaseInstance

type SAPDatabaseInstance struct {
	// REQUIRED; The geo-location where the resource lives
	Location *string

	// The resource-specific properties for this resource.
	Properties *SAPDatabaseProperties

	// Resource tags.
	Tags map[string]*string

	// READ-ONLY; Database resource name string modeled as parameter for auto generation to work correctly.
	Name *string

	// READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
	ID *string

	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
	SystemData *SystemData

	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
	Type *string
}

SAPDatabaseInstance - Define the Database resource.

func (SAPDatabaseInstance) MarshalJSON

func (s SAPDatabaseInstance) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPDatabaseInstance.

func (*SAPDatabaseInstance) UnmarshalJSON

func (s *SAPDatabaseInstance) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPDatabaseInstance.

type SAPDatabaseInstanceListResult added in v1.0.0

type SAPDatabaseInstanceListResult struct {
	// REQUIRED; The SAPDatabaseInstance items on this page
	Value []*SAPDatabaseInstance

	// The link to the next page of items
	NextLink *string
}

SAPDatabaseInstanceListResult - The response of a SAPDatabaseInstance list operation.

func (SAPDatabaseInstanceListResult) MarshalJSON added in v1.0.0

func (s SAPDatabaseInstanceListResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPDatabaseInstanceListResult.

func (*SAPDatabaseInstanceListResult) UnmarshalJSON added in v1.0.0

func (s *SAPDatabaseInstanceListResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPDatabaseInstanceListResult.

type SAPDatabaseInstancesClient

type SAPDatabaseInstancesClient struct {
	// contains filtered or unexported fields
}

SAPDatabaseInstancesClient contains the methods for the SAPDatabaseInstances group. Don't use this type directly, use NewSAPDatabaseInstancesClient() instead.

func NewSAPDatabaseInstancesClient

func NewSAPDatabaseInstancesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*SAPDatabaseInstancesClient, error)

NewSAPDatabaseInstancesClient creates a new instance of SAPDatabaseInstancesClient with the specified values.

  • subscriptionID - The ID of the target subscription. The value must be an UUID.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*SAPDatabaseInstancesClient) BeginCreate

func (client *SAPDatabaseInstancesClient) BeginCreate(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, databaseInstanceName string, resource SAPDatabaseInstance, options *SAPDatabaseInstancesClientBeginCreateOptions) (*runtime.Poller[SAPDatabaseInstancesClientCreateResponse], error)

BeginCreate - Creates the Database resource corresponding to the Virtual Instance for SAP solutions resource. &lt;br&gt;&lt;br&gt;This will be used by service only. PUT by end user will return a Bad Request error. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • databaseInstanceName - Database resource name string modeled as parameter for auto generation to work correctly.
  • resource - Request body of Database resource of a SAP system.
  • options - SAPDatabaseInstancesClientBeginCreateOptions contains the optional parameters for the SAPDatabaseInstancesClient.BeginCreate method.
Example (CreateSapDatabaseInstancesForHaSystemWithAvailabilitySet)

Generated from example definition: 2024-09-01/SapDatabaseInstances_CreateForHaWithAvailabilitySet.json

package main

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"
)

func main() {
	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.NewSAPDatabaseInstancesClient().BeginCreate(ctx, "test-rg", "X00", "databaseServer", armworkloadssapvirtualinstance.SAPDatabaseInstance{
		Location:   to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPDatabaseProperties{},
		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.SAPDatabaseInstancesClientCreateResponse{
	// 	SAPDatabaseInstance: &armworkloadssapvirtualinstance.SAPDatabaseInstance{
	// 		Name: to.Ptr("databaseServer"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances/databaseInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/databaseInstances/databaseServer"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPDatabaseProperties{
	// 			DatabaseSid: to.Ptr("X00"),
	// 			DatabaseType: to.Ptr("hdb"),
	// 			IPAddress: to.Ptr("10.0.0.5"),
	// 			LoadBalancerDetails: &armworkloadssapvirtualinstance.LoadBalancerDetails{
	// 				ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Network/loadBalancers/db-loadBalancer"),
	// 			},
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
	// 			Subnet: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
	// 			VMDetails: []*armworkloadssapvirtualinstance.DatabaseVMDetails{
	// 				{
	// 					StorageDetails: []*armworkloadssapvirtualinstance.StorageInformation{
	// 						{
	// 							ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/nfsstorageaccount"),
	// 						},
	// 					},
	// 					VirtualMachineID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/db-vm"),
	// 				},
	// 			},
	// 		},
	// 		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{
	// 		},
	// 	},
	// }
}
Example (SapDatabaseInstancesCreate)

Generated from example definition: 2024-09-01/SapDatabaseInstances_Create.json

package main

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"
)

func main() {
	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.NewSAPDatabaseInstancesClient().BeginCreate(ctx, "test-rg", "X00", "databaseServer", armworkloadssapvirtualinstance.SAPDatabaseInstance{
		Location:   to.Ptr("westcentralus"),
		Properties: &armworkloadssapvirtualinstance.SAPDatabaseProperties{},
		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.SAPDatabaseInstancesClientCreateResponse{
	// 	SAPDatabaseInstance: &armworkloadssapvirtualinstance.SAPDatabaseInstance{
	// 		Name: to.Ptr("databaseServer"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances/databaseInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/databaseInstances/databaseServer"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPDatabaseProperties{
	// 			DatabaseSid: to.Ptr("X00"),
	// 			DatabaseType: to.Ptr("hdb"),
	// 			IPAddress: to.Ptr("10.0.0.5"),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
	// 			Subnet: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
	// 			VMDetails: []*armworkloadssapvirtualinstance.DatabaseVMDetails{
	// 				{
	// 					VirtualMachineID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/db-vm"),
	// 				},
	// 			},
	// 		},
	// 		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{
	// 		},
	// 	},
	// }
}

func (*SAPDatabaseInstancesClient) BeginDelete

func (client *SAPDatabaseInstancesClient) BeginDelete(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, databaseInstanceName string, options *SAPDatabaseInstancesClientBeginDeleteOptions) (*runtime.Poller[SAPDatabaseInstancesClientDeleteResponse], error)

BeginDelete - Deletes the Database resource corresponding to a Virtual Instance for SAP solutions resource. &lt;br&gt;&lt;br&gt;This will be used by service only. Delete by end user will return a Bad Request error. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • databaseInstanceName - Database resource name string modeled as parameter for auto generation to work correctly.
  • options - SAPDatabaseInstancesClientBeginDeleteOptions contains the optional parameters for the SAPDatabaseInstancesClient.BeginDelete method.
Example

Generated from example definition: 2024-09-01/SapDatabaseInstances_Delete.json

package main

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

func main() {
	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.NewSAPDatabaseInstancesClient().BeginDelete(ctx, "test-rg", "X00", "databaseServer", 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)
	}
}

func (*SAPDatabaseInstancesClient) BeginStart added in v1.0.0

func (client *SAPDatabaseInstancesClient) BeginStart(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, databaseInstanceName string, options *SAPDatabaseInstancesClientBeginStartOptions) (*runtime.Poller[SAPDatabaseInstancesClientStartResponse], error)

BeginStart - Starts the database instance of the SAP system. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • databaseInstanceName - Database resource name string modeled as parameter for auto generation to work correctly.
  • options - SAPDatabaseInstancesClientBeginStartOptions contains the optional parameters for the SAPDatabaseInstancesClient.BeginStart method.
Example (StartTheDatabaseInstanceOfTheSapSystem)

Generated from example definition: 2024-09-01/SapDatabaseInstances_StartInstance.json

package main

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

func main() {
	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.NewSAPDatabaseInstancesClient().BeginStart(ctx, "test-rg", "X00", "db0", &armworkloadssapvirtualinstance.SAPDatabaseInstancesClientBeginStartOptions{
		Body: &armworkloadssapvirtualinstance.StartRequest{}})
	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.SAPDatabaseInstancesClientStartResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("db0"),
	// 		EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-01T03:38:07.000Z"); return t}()),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/applicationInstances/db0"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-01T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}
Example (StartVirtualMachineAndTheDatabaseInstanceOfTheSapSystemOnIt)

Generated from example definition: 2024-09-01/SapDatabaseInstances_StartInstanceVM.json

package main

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"
)

func main() {
	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.NewSAPDatabaseInstancesClient().BeginStart(ctx, "test-rg", "X00", "db0", &armworkloadssapvirtualinstance.SAPDatabaseInstancesClientBeginStartOptions{
		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.SAPDatabaseInstancesClientStartResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("db0"),
	// 		EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-01T03:38:07.000Z"); return t}()),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/applicationInstances/db0"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-01T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}

func (*SAPDatabaseInstancesClient) BeginStop added in v1.0.0

func (client *SAPDatabaseInstancesClient) BeginStop(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, databaseInstanceName string, options *SAPDatabaseInstancesClientBeginStopOptions) (*runtime.Poller[SAPDatabaseInstancesClientStopResponse], error)

BeginStop - Stops the database instance of the SAP system. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • databaseInstanceName - Database resource name string modeled as parameter for auto generation to work correctly.
  • options - SAPDatabaseInstancesClientBeginStopOptions contains the optional parameters for the SAPDatabaseInstancesClient.BeginStop method.
Example (SoftStopTheDatabaseInstanceOfTheSapSystem)

Generated from example definition: 2024-09-01/SapDatabaseInstances_StopInstanceSoft.json

package main

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"
)

func main() {
	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.NewSAPDatabaseInstancesClient().BeginStop(ctx, "test-rg", "X00", "db0", &armworkloadssapvirtualinstance.SAPDatabaseInstancesClientBeginStopOptions{
		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.SAPDatabaseInstancesClientStopResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("db0"),
	// 		EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-01T03:38:07.000Z"); return t}()),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/applicationInstances/db0"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-01T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}
Example (SoftStopTheDatabaseInstanceOfTheSapSystemAndTheUnderlyingVirtualMachineS)

Generated from example definition: 2024-09-01/SapDatabaseInstances_StopInstanceSoftVM.json

package main

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"
)

func main() {
	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.NewSAPDatabaseInstancesClient().BeginStop(ctx, "test-rg", "X00", "db0", &armworkloadssapvirtualinstance.SAPDatabaseInstancesClientBeginStopOptions{
		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.SAPDatabaseInstancesClientStopResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("db0"),
	// 		EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-01T03:38:07.000Z"); return t}()),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/applicationInstances/db0"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-01T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}
Example (StopTheDatabaseInstanceOfTheSapSystem)

Generated from example definition: 2024-09-01/SapDatabaseInstances_StopInstance.json

package main

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"
)

func main() {
	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.NewSAPDatabaseInstancesClient().BeginStop(ctx, "test-rg", "X00", "db0", &armworkloadssapvirtualinstance.SAPDatabaseInstancesClientBeginStopOptions{
		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.SAPDatabaseInstancesClientStopResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("db0"),
	// 		EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-01T03:38:07.000Z"); return t}()),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/applicationInstances/db0"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-01T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}
Example (StopTheDatabaseInstanceOfTheSapSystemAndTheUnderlyingVirtualMachineS)

Generated from example definition: 2024-09-01/SapDatabaseInstances_StopInstanceVM.json

package main

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"
)

func main() {
	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.NewSAPDatabaseInstancesClient().BeginStop(ctx, "test-rg", "X00", "db0", &armworkloadssapvirtualinstance.SAPDatabaseInstancesClientBeginStopOptions{
		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.SAPDatabaseInstancesClientStopResponse{
	// 	OperationStatusResult: &armworkloadssapvirtualinstance.OperationStatusResult{
	// 		Name: to.Ptr("db0"),
	// 		EndTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-01T03:38:07.000Z"); return t}()),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/applicationInstances/db0"),
	// 		StartTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2022-11-01T03:36:07.000Z"); return t}()),
	// 		Status: to.Ptr("Succeeded"),
	// 	},
	// }
}

func (*SAPDatabaseInstancesClient) Get

func (client *SAPDatabaseInstancesClient) Get(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, databaseInstanceName string, options *SAPDatabaseInstancesClientGetOptions) (SAPDatabaseInstancesClientGetResponse, error)

Get - Gets the SAP Database Instance resource. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • databaseInstanceName - Database resource name string modeled as parameter for auto generation to work correctly.
  • options - SAPDatabaseInstancesClientGetOptions contains the optional parameters for the SAPDatabaseInstancesClient.Get method.
Example

Generated from example definition: 2024-09-01/SapDatabaseInstances_Get.json

package main

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

func main() {
	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)
	}
	res, err := clientFactory.NewSAPDatabaseInstancesClient().Get(ctx, "test-rg", "X00", "databaseServer", 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.SAPDatabaseInstancesClientGetResponse{
	// 	SAPDatabaseInstance: &armworkloadssapvirtualinstance.SAPDatabaseInstance{
	// 		Name: to.Ptr("databaseServer"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances/databaseInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/databaseInstances/databaseServer"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPDatabaseProperties{
	// 			DatabaseSid: to.Ptr("X00"),
	// 			DatabaseType: to.Ptr("hdb"),
	// 			IPAddress: to.Ptr("10.0.0.5"),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
	// 			Subnet: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
	// 			VMDetails: []*armworkloadssapvirtualinstance.DatabaseVMDetails{
	// 				{
	// 					VirtualMachineID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/db-vm"),
	// 				},
	// 			},
	// 		},
	// 		Tags: map[string]*string{
	// 		},
	// 	},
	// }
}

func (*SAPDatabaseInstancesClient) NewListPager

func (client *SAPDatabaseInstancesClient) NewListPager(resourceGroupName string, sapVirtualInstanceName string, options *SAPDatabaseInstancesClientListOptions) *runtime.Pager[SAPDatabaseInstancesClientListResponse]

NewListPager - Lists the Database resources associated with a Virtual Instance for SAP solutions resource.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • options - SAPDatabaseInstancesClientListOptions contains the optional parameters for the SAPDatabaseInstancesClient.NewListPager method.
Example

Generated from example definition: 2024-09-01/SapDatabaseInstances_List.json

package main

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

func main() {
	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.NewSAPDatabaseInstancesClient().NewListPager("test-rg", "X00", 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.SAPDatabaseInstancesClientListResponse{
		// 	SAPDatabaseInstanceListResult: armworkloadssapvirtualinstance.SAPDatabaseInstanceListResult{
		// 		Value: []*armworkloadssapvirtualinstance.SAPDatabaseInstance{
		// 			{
		// 				Name: to.Ptr("databaseServer"),
		// 				Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances/databaseInstances"),
		// 				ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/databaseInstances/databaseServer"),
		// 				Location: to.Ptr("westcentralus"),
		// 				Properties: &armworkloadssapvirtualinstance.SAPDatabaseProperties{
		// 					DatabaseSid: to.Ptr("X00"),
		// 					DatabaseType: to.Ptr("hdb"),
		// 					IPAddress: to.Ptr("10.0.0.5"),
		// 					ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
		// 					Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
		// 					Subnet: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
		// 					VMDetails: []*armworkloadssapvirtualinstance.DatabaseVMDetails{
		// 						{
		// 							VirtualMachineID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/db-vm"),
		// 						},
		// 					},
		// 				},
		// 				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{
		// 				},
		// 			},
		// 		},
		// 	},
		// }
	}
}

func (*SAPDatabaseInstancesClient) Update

func (client *SAPDatabaseInstancesClient) Update(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, databaseInstanceName string, properties UpdateSAPDatabaseInstanceRequest, options *SAPDatabaseInstancesClientUpdateOptions) (SAPDatabaseInstancesClientUpdateResponse, error)

Update - Updates the Database resource. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • databaseInstanceName - Database resource name string modeled as parameter for auto generation to work correctly.
  • properties - Database resource update request body.
  • options - SAPDatabaseInstancesClientUpdateOptions contains the optional parameters for the SAPDatabaseInstancesClient.Update method.
Example

Generated from example definition: 2024-09-01/SapDatabaseInstances_Update.json

package main

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"
)

func main() {
	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)
	}
	res, err := clientFactory.NewSAPDatabaseInstancesClient().Update(ctx, "test-rg", "X00", "databaseServer", armworkloadssapvirtualinstance.UpdateSAPDatabaseInstanceRequest{
		Tags: map[string]*string{
			"key1": to.Ptr("value1"),
		},
	}, 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.SAPDatabaseInstancesClientUpdateResponse{
	// 	SAPDatabaseInstance: &armworkloadssapvirtualinstance.SAPDatabaseInstance{
	// 		Name: to.Ptr("databaseServer"),
	// 		Type: to.Ptr("Microsoft.Workloads/sapVirtualInstances/databaseInstances"),
	// 		ID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Workloads/sapVirtualInstances/X00/databaseInstances/databaseServer"),
	// 		Location: to.Ptr("westcentralus"),
	// 		Properties: &armworkloadssapvirtualinstance.SAPDatabaseProperties{
	// 			DatabaseSid: to.Ptr("X00"),
	// 			DatabaseType: to.Ptr("hdb"),
	// 			IPAddress: to.Ptr("10.0.0.5"),
	// 			ProvisioningState: to.Ptr(armworkloadssapvirtualinstance.SapVirtualInstanceProvisioningStateSucceeded),
	// 			Status: to.Ptr(armworkloadssapvirtualinstance.SAPVirtualInstanceStatusRunning),
	// 			Subnet: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
	// 			VMDetails: []*armworkloadssapvirtualinstance.DatabaseVMDetails{
	// 				{
	// 					VirtualMachineID: to.Ptr("/subscriptions/6d875e77-e412-4d7d-9af4-8895278b4443/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/db-vm"),
	// 				},
	// 			},
	// 		},
	// 		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{
	// 		},
	// 	},
	// }
}

type SAPDatabaseInstancesClientBeginCreateOptions

type SAPDatabaseInstancesClientBeginCreateOptions struct {
	// Resumes the long-running operation from the provided token.
	ResumeToken string
}

SAPDatabaseInstancesClientBeginCreateOptions contains the optional parameters for the SAPDatabaseInstancesClient.BeginCreate method.

type SAPDatabaseInstancesClientBeginDeleteOptions

type SAPDatabaseInstancesClientBeginDeleteOptions struct {
	// Resumes the long-running operation from the provided token.
	ResumeToken string
}

SAPDatabaseInstancesClientBeginDeleteOptions contains the optional parameters for the SAPDatabaseInstancesClient.BeginDelete method.

type SAPDatabaseInstancesClientBeginStartOptions added in v1.0.0

type SAPDatabaseInstancesClientBeginStartOptions struct {
	// Resumes the long-running operation from the provided token.
	ResumeToken string

	// SAP Database server instance start request body.
	Body *StartRequest
}

SAPDatabaseInstancesClientBeginStartOptions contains the optional parameters for the SAPDatabaseInstancesClient.BeginStart method.

type SAPDatabaseInstancesClientBeginStopOptions added in v1.0.0

type SAPDatabaseInstancesClientBeginStopOptions struct {
	// Resumes the long-running operation from the provided token.
	ResumeToken string

	// Stop request for the database instance of the SAP system.
	Body *StopRequest
}

SAPDatabaseInstancesClientBeginStopOptions contains the optional parameters for the SAPDatabaseInstancesClient.BeginStop method.

type SAPDatabaseInstancesClientCreateResponse

type SAPDatabaseInstancesClientCreateResponse struct {
	// Define the Database resource.
	SAPDatabaseInstance
}

SAPDatabaseInstancesClientCreateResponse contains the response from method SAPDatabaseInstancesClient.BeginCreate.

type SAPDatabaseInstancesClientDeleteResponse

type SAPDatabaseInstancesClientDeleteResponse struct {
}

SAPDatabaseInstancesClientDeleteResponse contains the response from method SAPDatabaseInstancesClient.BeginDelete.

type SAPDatabaseInstancesClientGetOptions

type SAPDatabaseInstancesClientGetOptions struct {
}

SAPDatabaseInstancesClientGetOptions contains the optional parameters for the SAPDatabaseInstancesClient.Get method.

type SAPDatabaseInstancesClientGetResponse

type SAPDatabaseInstancesClientGetResponse struct {
	// Define the Database resource.
	SAPDatabaseInstance
}

SAPDatabaseInstancesClientGetResponse contains the response from method SAPDatabaseInstancesClient.Get.

type SAPDatabaseInstancesClientListOptions

type SAPDatabaseInstancesClientListOptions struct {
}

SAPDatabaseInstancesClientListOptions contains the optional parameters for the SAPDatabaseInstancesClient.NewListPager method.

type SAPDatabaseInstancesClientListResponse

type SAPDatabaseInstancesClientListResponse struct {
	// The response of a SAPDatabaseInstance list operation.
	SAPDatabaseInstanceListResult
}

SAPDatabaseInstancesClientListResponse contains the response from method SAPDatabaseInstancesClient.NewListPager.

type SAPDatabaseInstancesClientStartResponse added in v1.0.0

type SAPDatabaseInstancesClientStartResponse struct {
	// The current status of an async operation.
	OperationStatusResult
}

SAPDatabaseInstancesClientStartResponse contains the response from method SAPDatabaseInstancesClient.BeginStart.

type SAPDatabaseInstancesClientStopResponse added in v1.0.0

type SAPDatabaseInstancesClientStopResponse struct {
	// The current status of an async operation.
	OperationStatusResult
}

SAPDatabaseInstancesClientStopResponse contains the response from method SAPDatabaseInstancesClient.BeginStop.

type SAPDatabaseInstancesClientUpdateOptions

type SAPDatabaseInstancesClientUpdateOptions struct {
}

SAPDatabaseInstancesClientUpdateOptions contains the optional parameters for the SAPDatabaseInstancesClient.Update method.

type SAPDatabaseInstancesClientUpdateResponse

type SAPDatabaseInstancesClientUpdateResponse struct {
	// Define the Database resource.
	SAPDatabaseInstance
}

SAPDatabaseInstancesClientUpdateResponse contains the response from method SAPDatabaseInstancesClient.Update.

type SAPDatabaseProperties

type SAPDatabaseProperties struct {
	// READ-ONLY; Database SID name.
	DatabaseSid *string

	// READ-ONLY; Database type, that is if the DB is HANA, DB2, Oracle, SAP ASE, Max DB or MS SQL Server.
	DatabaseType *string

	// READ-ONLY; Defines the errors related to Database resource.
	Errors *SAPVirtualInstanceError

	// READ-ONLY; Database IP Address.
	IPAddress *string

	// READ-ONLY; The Load Balancer details such as LoadBalancer ID attached to Database Virtual Machines
	LoadBalancerDetails *LoadBalancerDetails

	// READ-ONLY; Defines the provisioning states.
	ProvisioningState *SapVirtualInstanceProvisioningState

	// READ-ONLY; Defines the SAP Instance status.
	Status *SAPVirtualInstanceStatus

	// READ-ONLY; Database subnet.
	Subnet *string

	// READ-ONLY; The list of virtual machines corresponding to the Database resource.
	VMDetails []*DatabaseVMDetails
}

SAPDatabaseProperties - Defines the Database properties.

func (SAPDatabaseProperties) MarshalJSON

func (s SAPDatabaseProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPDatabaseProperties.

func (*SAPDatabaseProperties) UnmarshalJSON

func (s *SAPDatabaseProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPDatabaseProperties.

type SAPDatabaseScaleMethod

type SAPDatabaseScaleMethod string

SAPDatabaseScaleMethod - The database scale method.

const (
	// SAPDatabaseScaleMethodScaleUp - ScaleUp Hana Database deployment type
	SAPDatabaseScaleMethodScaleUp SAPDatabaseScaleMethod = "ScaleUp"
)

func PossibleSAPDatabaseScaleMethodValues

func PossibleSAPDatabaseScaleMethodValues() []SAPDatabaseScaleMethod

PossibleSAPDatabaseScaleMethodValues returns the possible values for the SAPDatabaseScaleMethod const type.

type SAPDatabaseType

type SAPDatabaseType string

SAPDatabaseType - Defines the supported SAP Database types.

const (
	// SAPDatabaseTypeDB2 - DB2 database type of the SAP system.
	SAPDatabaseTypeDB2 SAPDatabaseType = "DB2"
	// SAPDatabaseTypeHANA - HANA Database type of SAP system.
	SAPDatabaseTypeHANA SAPDatabaseType = "HANA"
)

func PossibleSAPDatabaseTypeValues

func PossibleSAPDatabaseTypeValues() []SAPDatabaseType

PossibleSAPDatabaseTypeValues returns the possible values for the SAPDatabaseType const type.

type SAPDeploymentType

type SAPDeploymentType string

SAPDeploymentType - The type of SAP deployment, single server or Three tier.

const (
	// SAPDeploymentTypeSingleServer - SAP Single server deployment type.
	SAPDeploymentTypeSingleServer SAPDeploymentType = "SingleServer"
	// SAPDeploymentTypeThreeTier - SAP Distributed deployment type.
	SAPDeploymentTypeThreeTier SAPDeploymentType = "ThreeTier"
)

func PossibleSAPDeploymentTypeValues

func PossibleSAPDeploymentTypeValues() []SAPDeploymentType

PossibleSAPDeploymentTypeValues returns the possible values for the SAPDeploymentType const type.

type SAPDiskConfiguration

type SAPDiskConfiguration struct {
	// The recommended disk details for a given VM Sku.
	RecommendedConfiguration *DiskVolumeConfiguration

	// The list of supported disks for a given VM Sku.
	SupportedConfigurations []*DiskDetails
}

SAPDiskConfiguration - The SAP Disk Configuration contains 'recommended disk' details and list of supported disks detail for a volume type.

func (SAPDiskConfiguration) MarshalJSON

func (s SAPDiskConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPDiskConfiguration.

func (*SAPDiskConfiguration) UnmarshalJSON

func (s *SAPDiskConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPDiskConfiguration.

type SAPDiskConfigurationsRequest

type SAPDiskConfigurationsRequest struct {
	// REQUIRED; The geo-location where the SAP resources will be created.
	AppLocation *string

	// REQUIRED; The database type. Eg: HANA, DB2, etc
	DatabaseType *SAPDatabaseType

	// REQUIRED; The VM SKU for database instance.
	DbVMSKU *string

	// REQUIRED; The deployment type. Eg: SingleServer/ThreeTier
	DeploymentType *SAPDeploymentType

	// REQUIRED; Defines the environment type - Production/Non Production.
	Environment *SAPEnvironmentType

	// REQUIRED; Defines the SAP Product type.
	SapProduct *SAPProductType
}

SAPDiskConfigurationsRequest - The SAP request to get list of disk configurations.

func (SAPDiskConfigurationsRequest) MarshalJSON

func (s SAPDiskConfigurationsRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPDiskConfigurationsRequest.

func (*SAPDiskConfigurationsRequest) UnmarshalJSON

func (s *SAPDiskConfigurationsRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPDiskConfigurationsRequest.

type SAPDiskConfigurationsResult

type SAPDiskConfigurationsResult struct {
	// The disk configuration for the db volume. For HANA, Required volumes are: ['hana/data', 'hana/log', hana/shared', 'usr/sap',
	// 'os'], Optional volume : ['backup'].
	VolumeConfigurations map[string]*SAPDiskConfiguration
}

SAPDiskConfigurationsResult - The list of disk configuration for vmSku which are part of SAP deployment.

func (SAPDiskConfigurationsResult) MarshalJSON

func (s SAPDiskConfigurationsResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPDiskConfigurationsResult.

func (*SAPDiskConfigurationsResult) UnmarshalJSON

func (s *SAPDiskConfigurationsResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPDiskConfigurationsResult.

type SAPEnvironmentType

type SAPEnvironmentType string

SAPEnvironmentType - Defines the environment type - Production/Non Production.

const (
	// SAPEnvironmentTypeNonProd - Non Production SAP system.
	SAPEnvironmentTypeNonProd SAPEnvironmentType = "NonProd"
	// SAPEnvironmentTypeProd - Production SAP system.
	SAPEnvironmentTypeProd SAPEnvironmentType = "Prod"
)

func PossibleSAPEnvironmentTypeValues

func PossibleSAPEnvironmentTypeValues() []SAPEnvironmentType

PossibleSAPEnvironmentTypeValues returns the possible values for the SAPEnvironmentType const type.

type SAPHealthState

type SAPHealthState string

SAPHealthState - Defines the health of SAP Instances.

const (
	// SAPHealthStateDegraded - SAP System health is degraded.
	SAPHealthStateDegraded SAPHealthState = "Degraded"
	// SAPHealthStateHealthy - SAP System health is healthy.
	SAPHealthStateHealthy SAPHealthState = "Healthy"
	// SAPHealthStateUnhealthy - SAP System is unhealthy.
	SAPHealthStateUnhealthy SAPHealthState = "Unhealthy"
	// SAPHealthStateUnknown - SAP System health is unknown.
	SAPHealthStateUnknown SAPHealthState = "Unknown"
)

func PossibleSAPHealthStateValues

func PossibleSAPHealthStateValues() []SAPHealthState

PossibleSAPHealthStateValues returns the possible values for the SAPHealthState const type.

type SAPHighAvailabilityType

type SAPHighAvailabilityType string

SAPHighAvailabilityType - The high availability type (AvailabilitySet or AvailabilityZone).

const (
	// SAPHighAvailabilityTypeAvailabilitySet - HA deployment with availability sets.
	SAPHighAvailabilityTypeAvailabilitySet SAPHighAvailabilityType = "AvailabilitySet"
	// SAPHighAvailabilityTypeAvailabilityZone - HA deployment with availability zones.
	SAPHighAvailabilityTypeAvailabilityZone SAPHighAvailabilityType = "AvailabilityZone"
)

func PossibleSAPHighAvailabilityTypeValues

func PossibleSAPHighAvailabilityTypeValues() []SAPHighAvailabilityType

PossibleSAPHighAvailabilityTypeValues returns the possible values for the SAPHighAvailabilityType const type.

type SAPInstallWithoutOSConfigSoftwareConfiguration

type SAPInstallWithoutOSConfigSoftwareConfiguration struct {
	// REQUIRED; The URL to the SAP Build of Materials(BOM) file.
	BomURL *string

	// REQUIRED; The SAP bits storage account id.
	SapBitsStorageAccountID *string

	// CONSTANT; The SAP software installation Type.
	// Field has constant value SAPSoftwareInstallationTypeSAPInstallWithoutOSConfig, any specified value is ignored.
	SoftwareInstallationType *SAPSoftwareInstallationType

	// REQUIRED; The software version to install.
	SoftwareVersion *string

	// Gets or sets the HA software configuration.
	HighAvailabilitySoftwareConfiguration *HighAvailabilitySoftwareConfiguration
}

SAPInstallWithoutOSConfigSoftwareConfiguration - The SAP Software configuration Input when the software is to be installed by service without OS Configurations

func (*SAPInstallWithoutOSConfigSoftwareConfiguration) GetSoftwareConfiguration

GetSoftwareConfiguration implements the SoftwareConfigurationClassification interface for type SAPInstallWithoutOSConfigSoftwareConfiguration.

func (SAPInstallWithoutOSConfigSoftwareConfiguration) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type SAPInstallWithoutOSConfigSoftwareConfiguration.

func (*SAPInstallWithoutOSConfigSoftwareConfiguration) UnmarshalJSON

UnmarshalJSON implements the json.Unmarshaller interface for type SAPInstallWithoutOSConfigSoftwareConfiguration.

type SAPProductType

type SAPProductType string

SAPProductType - Defines the SAP Product type.

const (
	// SAPProductTypeECC - SAP Product ECC.
	SAPProductTypeECC SAPProductType = "ECC"
	// SAPProductTypeOther - SAP Products other than the ones listed.
	SAPProductTypeOther SAPProductType = "Other"
	// SAPProductTypeS4HANA - SAP Product S4HANA.
	SAPProductTypeS4HANA SAPProductType = "S4HANA"
)

func PossibleSAPProductTypeValues

func PossibleSAPProductTypeValues() []SAPProductType

PossibleSAPProductTypeValues returns the possible values for the SAPProductType const type.

type SAPSizingRecommendationRequest

type SAPSizingRecommendationRequest struct {
	// REQUIRED; The geo-location where the resource is to be created.
	AppLocation *string

	// REQUIRED; The database type.
	DatabaseType *SAPDatabaseType

	// REQUIRED; The database memory configuration.
	DbMemory *int64

	// REQUIRED; The deployment type. Eg: SingleServer/ThreeTier
	DeploymentType *SAPDeploymentType

	// REQUIRED; Defines the environment type - Production/Non Production.
	Environment *SAPEnvironmentType

	// REQUIRED; Defines the SAP Product type.
	SapProduct *SAPProductType

	// REQUIRED; The SAP Application Performance Standard measurement.
	Saps *int64

	// The DB scale method.
	DbScaleMethod *SAPDatabaseScaleMethod

	// The high availability type.
	HighAvailabilityType *SAPHighAvailabilityType
}

SAPSizingRecommendationRequest - The SAP Sizing Recommendation request.

func (SAPSizingRecommendationRequest) MarshalJSON

func (s SAPSizingRecommendationRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPSizingRecommendationRequest.

func (*SAPSizingRecommendationRequest) UnmarshalJSON

func (s *SAPSizingRecommendationRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPSizingRecommendationRequest.

type SAPSizingRecommendationResult

type SAPSizingRecommendationResult struct {
	// REQUIRED; The deployment type. Eg: SingleServer/ThreeTier
	DeploymentType *SAPDeploymentType
}

SAPSizingRecommendationResult - The SAP sizing recommendation result.

func (*SAPSizingRecommendationResult) GetSAPSizingRecommendationResult

func (s *SAPSizingRecommendationResult) GetSAPSizingRecommendationResult() *SAPSizingRecommendationResult

GetSAPSizingRecommendationResult implements the SAPSizingRecommendationResultClassification interface for type SAPSizingRecommendationResult.

func (SAPSizingRecommendationResult) MarshalJSON

func (s SAPSizingRecommendationResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPSizingRecommendationResult.

func (*SAPSizingRecommendationResult) UnmarshalJSON

func (s *SAPSizingRecommendationResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPSizingRecommendationResult.

type SAPSizingRecommendationResultClassification

type SAPSizingRecommendationResultClassification interface {
	// GetSAPSizingRecommendationResult returns the SAPSizingRecommendationResult content of the underlying type.
	GetSAPSizingRecommendationResult() *SAPSizingRecommendationResult
}

SAPSizingRecommendationResultClassification provides polymorphic access to related types. Call the interface's GetSAPSizingRecommendationResult() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *SAPSizingRecommendationResult, *SingleServerRecommendationResult, *ThreeTierRecommendationResult

type SAPSoftwareInstallationType

type SAPSoftwareInstallationType string

SAPSoftwareInstallationType - The SAP software installation Type.

const (
	// SAPSoftwareInstallationTypeExternal - External software installation type.
	SAPSoftwareInstallationTypeExternal SAPSoftwareInstallationType = "External"
	// SAPSoftwareInstallationTypeSAPInstallWithoutOSConfig - SAP Install without OS Config.
	SAPSoftwareInstallationTypeSAPInstallWithoutOSConfig SAPSoftwareInstallationType = "SAPInstallWithoutOSConfig"
	// SAPSoftwareInstallationTypeServiceInitiated - SAP Install managed by service.
	SAPSoftwareInstallationTypeServiceInitiated SAPSoftwareInstallationType = "ServiceInitiated"
)

func PossibleSAPSoftwareInstallationTypeValues

func PossibleSAPSoftwareInstallationTypeValues() []SAPSoftwareInstallationType

PossibleSAPSoftwareInstallationTypeValues returns the possible values for the SAPSoftwareInstallationType const type.

type SAPSupportedResourceSKUsResult

type SAPSupportedResourceSKUsResult struct {
	// Gets the list of SAP supported SKUs.
	SupportedSKUs []*SAPSupportedSKU
}

SAPSupportedResourceSKUsResult - The list of supported SKUs for different resources which are part of SAP deployment.

func (SAPSupportedResourceSKUsResult) MarshalJSON

func (s SAPSupportedResourceSKUsResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPSupportedResourceSKUsResult.

func (*SAPSupportedResourceSKUsResult) UnmarshalJSON

func (s *SAPSupportedResourceSKUsResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPSupportedResourceSKUsResult.

type SAPSupportedSKU

type SAPSupportedSKU struct {
	// True if the Sku is certified for App server in the SAP system.
	IsAppServerCertified *bool

	// True if the Sku is certified for Database server in the SAP system.
	IsDatabaseCertified *bool

	// The VM Sku.
	VMSKU *string
}

SAPSupportedSKU - The SAP supported SKU.

func (SAPSupportedSKU) MarshalJSON

func (s SAPSupportedSKU) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPSupportedSKU.

func (*SAPSupportedSKU) UnmarshalJSON

func (s *SAPSupportedSKU) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPSupportedSKU.

type SAPSupportedSKUsRequest

type SAPSupportedSKUsRequest struct {
	// REQUIRED; The geo-location where the resource is to be created.
	AppLocation *string

	// REQUIRED; The database type. Eg: HANA, DB2, etc
	DatabaseType *SAPDatabaseType

	// REQUIRED; The deployment type. Eg: SingleServer/ThreeTier
	DeploymentType *SAPDeploymentType

	// REQUIRED; Defines the environment type - Production/Non Production.
	Environment *SAPEnvironmentType

	// REQUIRED; Defines the SAP Product type.
	SapProduct *SAPProductType

	// The high availability type.
	HighAvailabilityType *SAPHighAvailabilityType
}

SAPSupportedSKUsRequest - The SAP request to get list of supported SKUs.

func (SAPSupportedSKUsRequest) MarshalJSON

func (s SAPSupportedSKUsRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPSupportedSKUsRequest.

func (*SAPSupportedSKUsRequest) UnmarshalJSON

func (s *SAPSupportedSKUsRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPSupportedSKUsRequest.

type SAPVirtualInstance

type SAPVirtualInstance struct {
	// REQUIRED; The geo-location where the resource lives
	Location *string

	// READ-ONLY; The name of the Virtual Instances for SAP solutions resource
	Name *string

	// The managed service identities assigned to this resource.
	Identity *SAPVirtualInstanceIdentity

	// The resource-specific properties for this resource.
	Properties *SAPVirtualInstanceProperties

	// Resource tags.
	Tags map[string]*string

	// READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
	ID *string

	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
	SystemData *SystemData

	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
	Type *string
}

SAPVirtualInstance - Define the Virtual Instance for SAP solutions resource.

func (SAPVirtualInstance) MarshalJSON

func (s SAPVirtualInstance) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPVirtualInstance.

func (*SAPVirtualInstance) UnmarshalJSON

func (s *SAPVirtualInstance) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPVirtualInstance.

type SAPVirtualInstanceError

type SAPVirtualInstanceError struct {
	// The Virtual Instance for SAP error body.
	Properties *ErrorDefinition
}

SAPVirtualInstanceError - An error response from the Virtual Instance for SAP Workload service.

func (SAPVirtualInstanceError) MarshalJSON

func (s SAPVirtualInstanceError) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPVirtualInstanceError.

func (*SAPVirtualInstanceError) UnmarshalJSON

func (s *SAPVirtualInstanceError) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPVirtualInstanceError.

type SAPVirtualInstanceIdentity added in v1.0.0

type SAPVirtualInstanceIdentity struct {
	// REQUIRED; The type of managed identity assigned to this resource.
	Type *SAPVirtualInstanceIdentityType

	// The identities assigned to this resource by the user.
	UserAssignedIdentities map[string]*UserAssignedIdentity
}

SAPVirtualInstanceIdentity - Managed service identity (user assigned identities)

func (SAPVirtualInstanceIdentity) MarshalJSON added in v1.0.0

func (s SAPVirtualInstanceIdentity) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPVirtualInstanceIdentity.

func (*SAPVirtualInstanceIdentity) UnmarshalJSON added in v1.0.0

func (s *SAPVirtualInstanceIdentity) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPVirtualInstanceIdentity.

type SAPVirtualInstanceIdentityType added in v1.0.0

type SAPVirtualInstanceIdentityType string

SAPVirtualInstanceIdentityType - Type of managed service identity (where only None and UserAssigned types are allowed).

const (
	// SAPVirtualInstanceIdentityTypeNone - No managed identity.
	SAPVirtualInstanceIdentityTypeNone SAPVirtualInstanceIdentityType = "None"
	// SAPVirtualInstanceIdentityTypeUserAssigned - User assigned managed identity.
	SAPVirtualInstanceIdentityTypeUserAssigned SAPVirtualInstanceIdentityType = "UserAssigned"
)

func PossibleSAPVirtualInstanceIdentityTypeValues added in v1.0.0

func PossibleSAPVirtualInstanceIdentityTypeValues() []SAPVirtualInstanceIdentityType

PossibleSAPVirtualInstanceIdentityTypeValues returns the possible values for the SAPVirtualInstanceIdentityType const type.

type SAPVirtualInstanceListResult added in v1.0.0

type SAPVirtualInstanceListResult struct {
	// REQUIRED; The SAPVirtualInstance items on this page
	Value []*SAPVirtualInstance

	// The link to the next page of items
	NextLink *string
}

SAPVirtualInstanceListResult - The response of a SAPVirtualInstance list operation.

func (SAPVirtualInstanceListResult) MarshalJSON added in v1.0.0

func (s SAPVirtualInstanceListResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPVirtualInstanceListResult.

func (*SAPVirtualInstanceListResult) UnmarshalJSON added in v1.0.0

func (s *SAPVirtualInstanceListResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPVirtualInstanceListResult.

type SAPVirtualInstanceProperties

type SAPVirtualInstanceProperties struct {
	// REQUIRED; Defines if the SAP system is being created using Azure Center for SAP solutions (ACSS) or if an existing SAP
	// system is being registered with ACSS
	Configuration SAPConfigurationClassification

	// REQUIRED; Defines the environment type - Production/Non Production.
	Environment *SAPEnvironmentType

	// REQUIRED; Defines the SAP Product type.
	SapProduct *SAPProductType

	// Managed resource group configuration
	ManagedResourceGroupConfiguration *ManagedRGConfiguration

	// Specifies the network access configuration for the resources that will be deployed in the Managed Resource Group. The options
	// to choose from are Public and Private. If 'Private' is chosen, the Storage Account service tag should be enabled on the
	// subnets in which the SAP VMs exist. This is required for establishing connectivity between VM extensions and the managed
	// resource group storage account. This setting is currently applicable only to Storage Account. Learn more here https://go.microsoft.com/fwlink/?linkid=2247228
	ManagedResourcesNetworkAccessType *ManagedResourcesNetworkAccessType

	// READ-ONLY; Indicates any errors on the Virtual Instance for SAP solutions resource.
	Errors *SAPVirtualInstanceError

	// READ-ONLY; Defines the health of SAP Instances.
	Health *SAPHealthState

	// READ-ONLY; Defines the provisioning states.
	ProvisioningState *SapVirtualInstanceProvisioningState

	// READ-ONLY; Defines the Virtual Instance for SAP state.
	State *SAPVirtualInstanceState

	// READ-ONLY; Defines the SAP Instance status.
	Status *SAPVirtualInstanceStatus
}

SAPVirtualInstanceProperties - Defines the Virtual Instance for SAP solutions resource properties.

func (SAPVirtualInstanceProperties) MarshalJSON

func (s SAPVirtualInstanceProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SAPVirtualInstanceProperties.

func (*SAPVirtualInstanceProperties) UnmarshalJSON

func (s *SAPVirtualInstanceProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SAPVirtualInstanceProperties.

type SAPVirtualInstanceState

type SAPVirtualInstanceState string

SAPVirtualInstanceState - Defines the Virtual Instance for SAP state.

const (
	// SAPVirtualInstanceStateACSSInstallationBlocked - ACSS installation cannot proceed.
	SAPVirtualInstanceStateACSSInstallationBlocked SAPVirtualInstanceState = "ACSSInstallationBlocked"
	// SAPVirtualInstanceStateDiscoveryFailed - Registration has failed.
	SAPVirtualInstanceStateDiscoveryFailed SAPVirtualInstanceState = "DiscoveryFailed"
	// SAPVirtualInstanceStateDiscoveryInProgress - Registration is in progress.
	SAPVirtualInstanceStateDiscoveryInProgress SAPVirtualInstanceState = "DiscoveryInProgress"
	// SAPVirtualInstanceStateDiscoveryPending - Registration has not started.
	SAPVirtualInstanceStateDiscoveryPending SAPVirtualInstanceState = "DiscoveryPending"
	// SAPVirtualInstanceStateInfrastructureDeploymentFailed - Infrastructure deployment has failed.
	SAPVirtualInstanceStateInfrastructureDeploymentFailed SAPVirtualInstanceState = "InfrastructureDeploymentFailed"
	// SAPVirtualInstanceStateInfrastructureDeploymentInProgress - Infrastructure deployment is in progress.
	SAPVirtualInstanceStateInfrastructureDeploymentInProgress SAPVirtualInstanceState = "InfrastructureDeploymentInProgress"
	// SAPVirtualInstanceStateInfrastructureDeploymentPending - Infrastructure is not yet deployed.
	SAPVirtualInstanceStateInfrastructureDeploymentPending SAPVirtualInstanceState = "InfrastructureDeploymentPending"
	// SAPVirtualInstanceStateRegistrationComplete - Registration is complete.
	SAPVirtualInstanceStateRegistrationComplete SAPVirtualInstanceState = "RegistrationComplete"
	// SAPVirtualInstanceStateSoftwareDetectionFailed - Software detection failed.
	SAPVirtualInstanceStateSoftwareDetectionFailed SAPVirtualInstanceState = "SoftwareDetectionFailed"
	// SAPVirtualInstanceStateSoftwareDetectionInProgress - Software detection is in progress.
	SAPVirtualInstanceStateSoftwareDetectionInProgress SAPVirtualInstanceState = "SoftwareDetectionInProgress"
	// SAPVirtualInstanceStateSoftwareInstallationFailed - Software installation failed.
	SAPVirtualInstanceStateSoftwareInstallationFailed SAPVirtualInstanceState = "SoftwareInstallationFailed"
	// SAPVirtualInstanceStateSoftwareInstallationInProgress - Software installation is in progress.
	SAPVirtualInstanceStateSoftwareInstallationInProgress SAPVirtualInstanceState = "SoftwareInstallationInProgress"
	// SAPVirtualInstanceStateSoftwareInstallationPending - Infrastructure deployment is successful. Software installation is
	// pending.
	SAPVirtualInstanceStateSoftwareInstallationPending SAPVirtualInstanceState = "SoftwareInstallationPending"
)

func PossibleSAPVirtualInstanceStateValues

func PossibleSAPVirtualInstanceStateValues() []SAPVirtualInstanceState

PossibleSAPVirtualInstanceStateValues returns the possible values for the SAPVirtualInstanceState const type.

type SAPVirtualInstanceStatus

type SAPVirtualInstanceStatus string

SAPVirtualInstanceStatus - Defines the SAP Instance status.

const (
	// SAPVirtualInstanceStatusOffline - SAP system is offline.
	SAPVirtualInstanceStatusOffline SAPVirtualInstanceStatus = "Offline"
	// SAPVirtualInstanceStatusPartiallyRunning - SAP system is partially running.
	SAPVirtualInstanceStatusPartiallyRunning SAPVirtualInstanceStatus = "PartiallyRunning"
	// SAPVirtualInstanceStatusRunning - SAP system is running.
	SAPVirtualInstanceStatusRunning SAPVirtualInstanceStatus = "Running"
	// SAPVirtualInstanceStatusSoftShutdown - Soft shutdown of SAP system is initiated.
	SAPVirtualInstanceStatusSoftShutdown SAPVirtualInstanceStatus = "SoftShutdown"
	// SAPVirtualInstanceStatusStarting - SAP system is getting started.
	SAPVirtualInstanceStatusStarting SAPVirtualInstanceStatus = "Starting"
	// SAPVirtualInstanceStatusStopping - SAP system is being stopped.
	SAPVirtualInstanceStatusStopping SAPVirtualInstanceStatus = "Stopping"
	// SAPVirtualInstanceStatusUnavailable - SAP system status is unavailable.
	SAPVirtualInstanceStatusUnavailable SAPVirtualInstanceStatus = "Unavailable"
)

func PossibleSAPVirtualInstanceStatusValues

func PossibleSAPVirtualInstanceStatusValues() []SAPVirtualInstanceStatus

PossibleSAPVirtualInstanceStatusValues returns the possible values for the SAPVirtualInstanceStatus const type.

type SAPVirtualInstancesClient

type SAPVirtualInstancesClient struct {
	// contains filtered or unexported fields
}

SAPVirtualInstancesClient contains the methods for the SAPVirtualInstances group. Don't use this type directly, use NewSAPVirtualInstancesClient() instead.

func NewSAPVirtualInstancesClient

func NewSAPVirtualInstancesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*SAPVirtualInstancesClient, error)

NewSAPVirtualInstancesClient creates a new instance of SAPVirtualInstancesClient with the specified values.

  • subscriptionID - The ID of the target subscription. The value must be an UUID.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*SAPVirtualInstancesClient) BeginCreate

BeginCreate - Creates a Virtual Instance for SAP solutions (VIS) resource If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • resource - Virtual Instance for SAP solutions resource request body.
  • options - SAPVirtualInstancesClientBeginCreateOptions contains the optional parameters for the SAPVirtualInstancesClient.BeginCreate method.
Example (CreateInfrastructureOnlyForDistributedSystem)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraDS.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureOnlyForHaSystemWithAvailabilitySet)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraHaAvailabilitySet.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureOnlyForHaSystemWithAvailabilityZone)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraHaAvailabilityZone.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureOnlyForSingleServerSystem)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraSingleServer.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureWithANewSapTransportDirectoryFileshare)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraWithNewFileshare.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureWithAnExistingSapTransportDirectoryFileshare)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraWithExistingFileshare.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureWithDiskAndOSConfigurationForDistributedSystemRecommended)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraDiskOsDSRecommended.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureWithDiskAndOSConfigurationForHaSystemWithAvailabilitySetRecommended)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraDiskOsHaAvailabilitySetRecommended.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureWithDiskAndOSConfigurationForHaSystemWithAvailabilityZoneRecommended)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraDiskOsHaAvailabilityZoneRecommended.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureWithDiskAndOSConfigurationsForSingleServerSystemRecommended)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraDiskOsSingleServerRecommended.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureWithOSConfigurationForDistributedSystemRecommended)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraOsDSRecommended.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureWithOSConfigurationForHaSystemWithAvailabilitySetRecommended)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraOsHaAvailabilitySetRecommended.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureWithOSConfigurationForHaSystemWithAvailabilityZoneRecommended)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraOsHaAvailabilityZoneRecommended.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureWithOSConfigurationForSingleServerSystemRecommended)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraOsSIngleServerRecommended.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureWithOSConfigurationWithAzureComputeGalleryImage)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraOsComputeGalleryImage.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureWithOSConfigurationWithCustomResourceNamesForDistributedSystem)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraOsCustomResourceNamesDS.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureWithOSConfigurationWithCustomResourceNamesForHaSystemWithAvailabilitySet)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraOsCustomResourceNamesHaAvailabilitySet.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureWithOSConfigurationWithCustomResourceNamesForHaSystemWithAvailabilityZone)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraOsCustomResourceNamesHaAvailabilityZone.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureWithOSConfigurationWithCustomResourceNamesForSingleServerSystem)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraOsCustomResourceNamesSingleServer.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureWithOSConfigurationWithTrustedAccessEnabled)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraWithOsTrustedAccess.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (CreateInfrastructureWithoutASapTransportDirectoryFileshare)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInfraWithoutFileshare.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (DetectSapSoftwareInstallationOnADistributedSystem)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateDetectDS.json

package main

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"
)

func main() {
	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"),
	// 		},
	// 	},
	// }
}
Example (DetectSapSoftwareInstallationOnASingleServerSystem)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateDetectSingleServer.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (DetectSapSoftwareInstallationOnAnHaSystemWithAvailabilitySet)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateDetectHaAvailabilitySet.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (DetectSapSoftwareInstallationOnAnHaSystemWithAvailabilityZone)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateDetectHaAvailabilityZone.json

package main

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"
)

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (InstallSapSoftwareOnDistributedSystem)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInstallDS.json

package main

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"
)

func main() {
	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"),
	// 		},
	// 	},
	// }
}
Example (InstallSapSoftwareOnSingleServerSystem)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateInstallSingleServer.json

package main

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"
)

func main() {
	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"),
	// 		},
	// 	},
	// }
}
Example (RegisterExistingSapSystemAsVirtualInstanceForSapSolutions)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateRegisterSapSolutions.json

package main

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"
)

func main() {
	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),
	// 		},
	// 	},
	// }
}
Example (RegisterExistingSapSystemAsVirtualInstanceForSapSolutionsWithOptionalCustomizations)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateRegisterSapSolutionsCustom.json

package main

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"
)

func main() {
	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),
	// 		},
	// 	},
	// }
}
Example (RegisterWithTrustedAccessEnabled)

Generated from example definition: 2024-09-01/SapVirtualInstances_CreateRegisterWithTrustedAccess.json

package main

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"
)

func main() {
	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),
	// 		},
	// 	},
	// }
}

func (*SAPVirtualInstancesClient) BeginDelete

func (client *SAPVirtualInstancesClient) BeginDelete(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, options *SAPVirtualInstancesClientBeginDeleteOptions) (*runtime.Poller[SAPVirtualInstancesClientDeleteResponse], error)

BeginDelete - Deletes a Virtual Instance for SAP solutions resource and its child resources, that is the associated Central Services Instance, Application Server Instances and Database Instance. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • options - SAPVirtualInstancesClientBeginDeleteOptions contains the optional parameters for the SAPVirtualInstancesClient.BeginDelete method.
Example

Generated from example definition: 2024-09-01/SapVirtualInstances_Delete.json

package main

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

func main() {
	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)
	}
}

func (*SAPVirtualInstancesClient) BeginStart

func (client *SAPVirtualInstancesClient) BeginStart(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, options *SAPVirtualInstancesClientBeginStartOptions) (*runtime.Poller[SAPVirtualInstancesClientStartResponse], error)

BeginStart - Starts the SAP application, that is the Central Services instance and Application server instances. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • options - SAPVirtualInstancesClientBeginStartOptions contains the optional parameters for the SAPVirtualInstancesClient.BeginStart method.
Example (SapVirtualInstancesStart)

Generated from example definition: 2024-09-01/SapVirtualInstances_Start.json

package main

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"
)

func main() {
	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"),
	// 	},
	// }
}
Example (SapVirtualInstancesStartWithInfraOperations)

Generated from example definition: 2024-09-01/SapVirtualInstances_StartWithInfraOperations.json

package main

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"
)

func main() {
	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"),
	// 	},
	// }
}

func (*SAPVirtualInstancesClient) BeginStop

func (client *SAPVirtualInstancesClient) BeginStop(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, options *SAPVirtualInstancesClientBeginStopOptions) (*runtime.Poller[SAPVirtualInstancesClientStopResponse], error)

BeginStop - Stops the SAP Application, that is the Application server instances and Central Services instance. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • options - SAPVirtualInstancesClientBeginStopOptions contains the optional parameters for the SAPVirtualInstancesClient.BeginStop method.
Example (SapVirtualInstancesStop)

Generated from example definition: 2024-09-01/SapVirtualInstances_Stop.json

package main

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"
)

func main() {
	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"),
	// 	},
	// }
}
Example (SoftStopOfSapVirtualInstancesStop)

Generated from example definition: 2024-09-01/SapVirtualInstances_SoftStop.json

package main

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"
)

func main() {
	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"),
	// 	},
	// }
}
Example (SoftStopTheVirtualMachineSAndTheSapSystemOnIt)

Generated from example definition: 2024-09-01/SapVirtualInstances_SoftStopVMAndSystem.json

package main

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"
)

func main() {
	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"),
	// 	},
	// }
}
Example (StopTheVirtualMachineSAndTheSapSystemOnIt)

Generated from example definition: 2024-09-01/SapVirtualInstances_StopVMAndSystem.json

package main

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"
)

func main() {
	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"),
	// 	},
	// }
}

func (*SAPVirtualInstancesClient) BeginUpdate

BeginUpdate - Updates a Virtual Instance for SAP solutions resource If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • properties - Request body to update a Virtual Instance for SAP solutions resource.
  • options - SAPVirtualInstancesClientBeginUpdateOptions contains the optional parameters for the SAPVirtualInstancesClient.BeginUpdate method.
Example (SapVirtualInstancesTrustedAccessEnableUpdate)

Generated from example definition: 2024-09-01/SapVirtualInstances_UpdateTrustedAccess.json

package main

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"
)

func main() {
	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"),
	// 		},
	// 	},
	// }
}
Example (SapVirtualInstancesUpdate)

Generated from example definition: 2024-09-01/SapVirtualInstances_Update.json

package main

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"
)

func main() {
	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"),
	// 		},
	// 	},
	// }
}

func (*SAPVirtualInstancesClient) Get

func (client *SAPVirtualInstancesClient) Get(ctx context.Context, resourceGroupName string, sapVirtualInstanceName string, options *SAPVirtualInstancesClientGetOptions) (SAPVirtualInstancesClientGetResponse, error)

Get - Gets a Virtual Instance for SAP solutions resource If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • sapVirtualInstanceName - The name of the Virtual Instances for SAP solutions resource
  • options - SAPVirtualInstancesClientGetOptions contains the optional parameters for the SAPVirtualInstancesClient.Get method.
Example (SapVirtualInstancesGet)

Generated from example definition: 2024-09-01/SapVirtualInstances_Get.json

package main

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

func main() {
	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{
	// 		},
	// 	},
	// }
}
Example (SapVirtualInstancesGetWithAcssInstallationBlocked)

Generated from example definition: 2024-09-01/SapVirtualInstances_GetAcssInstallationBlocked.json

package main

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

func main() {
	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{
	// 		},
	// 	},
	// }
}

func (*SAPVirtualInstancesClient) GetAvailabilityZoneDetails added in v1.0.0

GetAvailabilityZoneDetails - Get the recommended SAP Availability Zone Pair Details for your region. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • location - The name of the Azure region.
  • body - The content of the action request
  • options - SAPVirtualInstancesClientGetAvailabilityZoneDetailsOptions contains the optional parameters for the SAPVirtualInstancesClient.GetAvailabilityZoneDetails method.
Example (SapAvailabilityZoneDetailsInEastUs)

Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeAvailabilityZoneDetails_eastus.json

package main

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"
)

func main() {
	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),
	// 			},
	// 		},
	// 	},
	// }
}
Example (SapAvailabilityZoneDetailsInNorthEurope)

Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeAvailabilityZoneDetails_northeurope.json

package main

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"
)

func main() {
	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),
	// 			},
	// 		},
	// 	},
	// }
}

func (*SAPVirtualInstancesClient) GetDiskConfigurations added in v1.0.0

GetDiskConfigurations - Get the SAP Disk Configuration Layout prod/non-prod SAP System. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • location - The name of the Azure region.
  • body - The content of the action request
  • options - SAPVirtualInstancesClientGetDiskConfigurationsOptions contains the optional parameters for the SAPVirtualInstancesClient.GetDiskConfigurations method.
Example (SapDiskConfigurationsForInputEnvironmentNonProd)

Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeDiskConfigurations_NonProd.json

package main

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"
)

func main() {
	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"),
	// 					},
	// 				},
	// 			},
	// 		},
	// 	},
	// }
}
Example (SapDiskConfigurationsForInputEnvironmentProd)

Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeDiskConfigurations_Prod.json

package main

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"
)

func main() {
	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"),
	// 					},
	// 				},
	// 			},
	// 		},
	// 	},
	// }
}

func (*SAPVirtualInstancesClient) GetSapSupportedSKU added in v1.0.0

GetSapSupportedSKU - Get a list of SAP supported SKUs for ASCS, Application and Database tier. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • location - The name of the Azure region.
  • body - The content of the action request
  • options - SAPVirtualInstancesClientGetSapSupportedSKUOptions contains the optional parameters for the SAPVirtualInstancesClient.GetSapSupportedSKU method.
Example (SapSupportedSkUsForDistributedHaEnvironmentWithAvailabilitySet)

Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeSapSupportedSku_DistributedHA_AvSet.json

package main

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"
)

func main() {
	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"),
	// 			},
	// 		},
	// 	},
	// }
}
Example (SapSupportedSkUsForDistributedNonHaEnvironment)

Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeSapSupportedSku_Distributed.json

package main

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"
)

func main() {
	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"),
	// 			},
	// 		},
	// 	},
	// }
}
Example (SapSupportedSkUsForSingleServer)

Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeSapSupportedSku_SingleServer.json

package main

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"
)

func main() {
	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"),
	// 			},
	// 		},
	// 	},
	// }
}
Example (SapSupportedSkusForHaWithAvailabilityZone)

Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeSapSupportedSku_DistributedHA_AvZone.json

package main

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"
)

func main() {
	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"),
	// 			},
	// 		},
	// 	},
	// }
}

func (*SAPVirtualInstancesClient) GetSizingRecommendations added in v1.0.0

GetSizingRecommendations - Gets the sizing recommendations. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2024-09-01

  • location - The name of the Azure region.
  • body - The content of the action request
  • options - SAPVirtualInstancesClientGetSizingRecommendationsOptions contains the optional parameters for the SAPVirtualInstancesClient.GetSizingRecommendations method.
Example (SapSizingRecommendationsForHaWithAvailabilitySet)

Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeSizingRecommendations_S4HANA_HA_AvSet.json

package main

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"
)

func main() {
	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),
	// 	},
	// }
}
Example (SapSizingRecommendationsForHaWithAvailabilityZone)

Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeSizingRecommendations_S4HANA_HA_AvZone.json

package main

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"
)

func main() {
	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),
	// 	},
	// }
}
Example (SapSizingRecommendationsForNonHaDistributedSystem)

Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeSizingRecommendations_S4HANA_Distributed.json

package main

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"
)

func main() {
	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),
	// 	},
	// }
}
Example (SapSizingRecommendationsForSingleServer)

Generated from example definition: 2024-09-01/SapVirtualInstances_InvokeSizingRecommendations_S4HANA_SingleServer.json

package main

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"
)

func main() {
	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),
	// 	},
	// }
}

func (*SAPVirtualInstancesClient) NewListByResourceGroupPager

NewListByResourceGroupPager - Gets all Virtual Instances for SAP solutions resources in a Resource Group.

Generated from API version 2024-09-01

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • options - SAPVirtualInstancesClientListByResourceGroupOptions contains the optional parameters for the SAPVirtualInstancesClient.NewListByResourceGroupPager method.
Example

Generated from example definition: 2024-09-01/SapVirtualInstances_ListByResourceGroup.json

package main

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

func main() {
	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{
		// 				},
		// 			},
		// 		},
		// 	},
		// }
	}
}

func (*SAPVirtualInstancesClient) NewListBySubscriptionPager

NewListBySubscriptionPager - Gets all Virtual Instances for SAP solutions resources in a Subscription.

Generated from API version 2024-09-01

  • options - SAPVirtualInstancesClientListBySubscriptionOptions contains the optional parameters for the SAPVirtualInstancesClient.NewListBySubscriptionPager method.
Example

Generated from example definition: 2024-09-01/SapVirtualInstances_ListBySubscription.json

package main

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

func main() {
	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{
		// 				},
		// 			},
		// 		},
		// 	},
		// }
	}
}

type SAPVirtualInstancesClientBeginCreateOptions

type SAPVirtualInstancesClientBeginCreateOptions struct {
	// Resumes the long-running operation from the provided token.
	ResumeToken string
}

SAPVirtualInstancesClientBeginCreateOptions contains the optional parameters for the SAPVirtualInstancesClient.BeginCreate method.

type SAPVirtualInstancesClientBeginDeleteOptions

type SAPVirtualInstancesClientBeginDeleteOptions struct {
	// Resumes the long-running operation from the provided token.
	ResumeToken string
}

SAPVirtualInstancesClientBeginDeleteOptions contains the optional parameters for the SAPVirtualInstancesClient.BeginDelete method.

type SAPVirtualInstancesClientBeginStartOptions

type SAPVirtualInstancesClientBeginStartOptions struct {
	// Resumes the long-running operation from the provided token.
	ResumeToken string

	// The Virtual Instance for SAP solutions resource start request body.
	Body *StartRequest
}

SAPVirtualInstancesClientBeginStartOptions contains the optional parameters for the SAPVirtualInstancesClient.BeginStart method.

type SAPVirtualInstancesClientBeginStopOptions

type SAPVirtualInstancesClientBeginStopOptions struct {
	// Resumes the long-running operation from the provided token.
	ResumeToken string

	// The Virtual Instance for SAP solutions resource stop request body.
	Body *StopRequest
}

SAPVirtualInstancesClientBeginStopOptions contains the optional parameters for the SAPVirtualInstancesClient.BeginStop method.

type SAPVirtualInstancesClientBeginUpdateOptions

type SAPVirtualInstancesClientBeginUpdateOptions struct {
	// Resumes the long-running operation from the provided token.
	ResumeToken string
}

SAPVirtualInstancesClientBeginUpdateOptions contains the optional parameters for the SAPVirtualInstancesClient.BeginUpdate method.

type SAPVirtualInstancesClientCreateResponse

type SAPVirtualInstancesClientCreateResponse struct {
	// Define the Virtual Instance for SAP solutions resource.
	SAPVirtualInstance
}

SAPVirtualInstancesClientCreateResponse contains the response from method SAPVirtualInstancesClient.BeginCreate.

type SAPVirtualInstancesClientDeleteResponse

type SAPVirtualInstancesClientDeleteResponse struct {
}

SAPVirtualInstancesClientDeleteResponse contains the response from method SAPVirtualInstancesClient.BeginDelete.

type SAPVirtualInstancesClientGetAvailabilityZoneDetailsOptions added in v1.0.0

type SAPVirtualInstancesClientGetAvailabilityZoneDetailsOptions struct {
}

SAPVirtualInstancesClientGetAvailabilityZoneDetailsOptions contains the optional parameters for the SAPVirtualInstancesClient.GetAvailabilityZoneDetails method.

type SAPVirtualInstancesClientGetAvailabilityZoneDetailsResponse added in v1.0.0

type SAPVirtualInstancesClientGetAvailabilityZoneDetailsResponse struct {
	// The list of supported availability zone pairs which are part of SAP HA deployment.
	SAPAvailabilityZoneDetailsResult
}

SAPVirtualInstancesClientGetAvailabilityZoneDetailsResponse contains the response from method SAPVirtualInstancesClient.GetAvailabilityZoneDetails.

type SAPVirtualInstancesClientGetDiskConfigurationsOptions added in v1.0.0

type SAPVirtualInstancesClientGetDiskConfigurationsOptions struct {
}

SAPVirtualInstancesClientGetDiskConfigurationsOptions contains the optional parameters for the SAPVirtualInstancesClient.GetDiskConfigurations method.

type SAPVirtualInstancesClientGetDiskConfigurationsResponse added in v1.0.0

type SAPVirtualInstancesClientGetDiskConfigurationsResponse struct {
	// The list of disk configuration for vmSku which are part of SAP deployment.
	SAPDiskConfigurationsResult
}

SAPVirtualInstancesClientGetDiskConfigurationsResponse contains the response from method SAPVirtualInstancesClient.GetDiskConfigurations.

type SAPVirtualInstancesClientGetOptions

type SAPVirtualInstancesClientGetOptions struct {
}

SAPVirtualInstancesClientGetOptions contains the optional parameters for the SAPVirtualInstancesClient.Get method.

type SAPVirtualInstancesClientGetResponse

type SAPVirtualInstancesClientGetResponse struct {
	// Define the Virtual Instance for SAP solutions resource.
	SAPVirtualInstance
}

SAPVirtualInstancesClientGetResponse contains the response from method SAPVirtualInstancesClient.Get.

type SAPVirtualInstancesClientGetSapSupportedSKUOptions added in v1.0.0

type SAPVirtualInstancesClientGetSapSupportedSKUOptions struct {
}

SAPVirtualInstancesClientGetSapSupportedSKUOptions contains the optional parameters for the SAPVirtualInstancesClient.GetSapSupportedSKU method.

type SAPVirtualInstancesClientGetSapSupportedSKUResponse added in v1.0.0

type SAPVirtualInstancesClientGetSapSupportedSKUResponse struct {
	// The list of supported SKUs for different resources which are part of SAP deployment.
	SAPSupportedResourceSKUsResult
}

SAPVirtualInstancesClientGetSapSupportedSKUResponse contains the response from method SAPVirtualInstancesClient.GetSapSupportedSKU.

type SAPVirtualInstancesClientGetSizingRecommendationsOptions added in v1.0.0

type SAPVirtualInstancesClientGetSizingRecommendationsOptions struct {
}

SAPVirtualInstancesClientGetSizingRecommendationsOptions contains the optional parameters for the SAPVirtualInstancesClient.GetSizingRecommendations method.

type SAPVirtualInstancesClientGetSizingRecommendationsResponse added in v1.0.0

type SAPVirtualInstancesClientGetSizingRecommendationsResponse struct {
	// The SAP sizing recommendation result.
	SAPSizingRecommendationResultClassification
}

SAPVirtualInstancesClientGetSizingRecommendationsResponse contains the response from method SAPVirtualInstancesClient.GetSizingRecommendations.

func (*SAPVirtualInstancesClientGetSizingRecommendationsResponse) UnmarshalJSON added in v1.0.0

UnmarshalJSON implements the json.Unmarshaller interface for type SAPVirtualInstancesClientGetSizingRecommendationsResponse.

type SAPVirtualInstancesClientListByResourceGroupOptions

type SAPVirtualInstancesClientListByResourceGroupOptions struct {
}

SAPVirtualInstancesClientListByResourceGroupOptions contains the optional parameters for the SAPVirtualInstancesClient.NewListByResourceGroupPager method.

type SAPVirtualInstancesClientListByResourceGroupResponse

type SAPVirtualInstancesClientListByResourceGroupResponse struct {
	// The response of a SAPVirtualInstance list operation.
	SAPVirtualInstanceListResult
}

SAPVirtualInstancesClientListByResourceGroupResponse contains the response from method SAPVirtualInstancesClient.NewListByResourceGroupPager.

type SAPVirtualInstancesClientListBySubscriptionOptions

type SAPVirtualInstancesClientListBySubscriptionOptions struct {
}

SAPVirtualInstancesClientListBySubscriptionOptions contains the optional parameters for the SAPVirtualInstancesClient.NewListBySubscriptionPager method.

type SAPVirtualInstancesClientListBySubscriptionResponse

type SAPVirtualInstancesClientListBySubscriptionResponse struct {
	// The response of a SAPVirtualInstance list operation.
	SAPVirtualInstanceListResult
}

SAPVirtualInstancesClientListBySubscriptionResponse contains the response from method SAPVirtualInstancesClient.NewListBySubscriptionPager.

type SAPVirtualInstancesClientStartResponse

type SAPVirtualInstancesClientStartResponse struct {
	// The current status of an async operation.
	OperationStatusResult
}

SAPVirtualInstancesClientStartResponse contains the response from method SAPVirtualInstancesClient.BeginStart.

type SAPVirtualInstancesClientStopResponse

type SAPVirtualInstancesClientStopResponse struct {
	// The current status of an async operation.
	OperationStatusResult
}

SAPVirtualInstancesClientStopResponse contains the response from method SAPVirtualInstancesClient.BeginStop.

type SAPVirtualInstancesClientUpdateResponse

type SAPVirtualInstancesClientUpdateResponse struct {
	// Define the Virtual Instance for SAP solutions resource.
	SAPVirtualInstance
}

SAPVirtualInstancesClientUpdateResponse contains the response from method SAPVirtualInstancesClient.BeginUpdate.

type SSHConfiguration

type SSHConfiguration struct {
	// The list of SSH public keys used to authenticate with linux based VMs.
	PublicKeys []*SSHPublicKey
}

SSHConfiguration - SSH configuration for Linux based VMs running on Azure

func (SSHConfiguration) MarshalJSON

func (s SSHConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SSHConfiguration.

func (*SSHConfiguration) UnmarshalJSON

func (s *SSHConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SSHConfiguration.

type SSHKeyPair

type SSHKeyPair struct {
	// SSH private key.
	PrivateKey *string

	// SSH public key
	PublicKey *string
}

SSHKeyPair - The SSH Key-pair used to authenticate with the VM. The key needs to be at least 2048-bit and in ssh-rsa format. For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://learn.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).

func (SSHKeyPair) MarshalJSON

func (s SSHKeyPair) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SSHKeyPair.

func (*SSHKeyPair) UnmarshalJSON

func (s *SSHKeyPair) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SSHKeyPair.

type SSHPublicKey

type SSHPublicKey struct {
	// SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa
	// format. <br><br> For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://learn.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
	KeyData *string
}

SSHPublicKey - Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed.

func (SSHPublicKey) MarshalJSON

func (s SSHPublicKey) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SSHPublicKey.

func (*SSHPublicKey) UnmarshalJSON

func (s *SSHPublicKey) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SSHPublicKey.

type SapVirtualInstanceProvisioningState

type SapVirtualInstanceProvisioningState string

SapVirtualInstanceProvisioningState - Defines the provisioning states.

const (
	// SapVirtualInstanceProvisioningStateCanceled - ACSS Canceled provisioning state.
	SapVirtualInstanceProvisioningStateCanceled SapVirtualInstanceProvisioningState = "Canceled"
	// SapVirtualInstanceProvisioningStateCreating - ACSS Creating provisioning state.
	SapVirtualInstanceProvisioningStateCreating SapVirtualInstanceProvisioningState = "Creating"
	// SapVirtualInstanceProvisioningStateDeleting - ACSS Deleting provisioning state.
	SapVirtualInstanceProvisioningStateDeleting SapVirtualInstanceProvisioningState = "Deleting"
	// SapVirtualInstanceProvisioningStateFailed - ACSS Failed provisioning state.
	SapVirtualInstanceProvisioningStateFailed SapVirtualInstanceProvisioningState = "Failed"
	// SapVirtualInstanceProvisioningStateSucceeded - ACSS succeeded provisioning state.
	SapVirtualInstanceProvisioningStateSucceeded SapVirtualInstanceProvisioningState = "Succeeded"
	// SapVirtualInstanceProvisioningStateUpdating - ACSS updating provisioning state.
	SapVirtualInstanceProvisioningStateUpdating SapVirtualInstanceProvisioningState = "Updating"
)

func PossibleSapVirtualInstanceProvisioningStateValues

func PossibleSapVirtualInstanceProvisioningStateValues() []SapVirtualInstanceProvisioningState

PossibleSapVirtualInstanceProvisioningStateValues returns the possible values for the SapVirtualInstanceProvisioningState const type.

type ServiceInitiatedSoftwareConfiguration

type ServiceInitiatedSoftwareConfiguration struct {
	// REQUIRED; The URL to the SAP Build of Materials(BOM) file.
	BomURL *string

	// REQUIRED; The SSH private key.
	SSHPrivateKey *string

	// REQUIRED; The SAP bits storage account id.
	SapBitsStorageAccountID *string

	// REQUIRED; The FQDN to set for the SAP system during install.
	SapFqdn *string

	// CONSTANT; The SAP software installation Type, service initiated in this case.
	// Field has constant value SAPSoftwareInstallationTypeServiceInitiated, any specified value is ignored.
	SoftwareInstallationType *SAPSoftwareInstallationType

	// REQUIRED; The software version to install.
	SoftwareVersion *string

	// Gets or sets the HA software configuration.
	HighAvailabilitySoftwareConfiguration *HighAvailabilitySoftwareConfiguration
}

ServiceInitiatedSoftwareConfiguration - The SAP Software configuration Input when the software is to be installed by service.

func (*ServiceInitiatedSoftwareConfiguration) GetSoftwareConfiguration

func (s *ServiceInitiatedSoftwareConfiguration) GetSoftwareConfiguration() *SoftwareConfiguration

GetSoftwareConfiguration implements the SoftwareConfigurationClassification interface for type ServiceInitiatedSoftwareConfiguration.

func (ServiceInitiatedSoftwareConfiguration) MarshalJSON

func (s ServiceInitiatedSoftwareConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ServiceInitiatedSoftwareConfiguration.

func (*ServiceInitiatedSoftwareConfiguration) UnmarshalJSON

func (s *ServiceInitiatedSoftwareConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ServiceInitiatedSoftwareConfiguration.

type SharedStorageResourceNames

type SharedStorageResourceNames struct {
	// The full name of the shared storage account. If it is not provided, it will be defaulted to {SID}nfs{guid of 15 chars}.
	SharedStorageAccountName *string

	// The full name of private end point for the shared storage account. If it is not provided, it will be defaulted to {storageAccountName}_pe
	SharedStorageAccountPrivateEndPointName *string
}

SharedStorageResourceNames - The resource names object for shared storage.

func (SharedStorageResourceNames) MarshalJSON

func (s SharedStorageResourceNames) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SharedStorageResourceNames.

func (*SharedStorageResourceNames) UnmarshalJSON

func (s *SharedStorageResourceNames) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SharedStorageResourceNames.

type SingleServerConfiguration

type SingleServerConfiguration struct {
	// REQUIRED; The application resource group where SAP system resources will be deployed.
	AppResourceGroup *string

	// CONSTANT; The type of SAP deployment, single server in this case.
	// Field has constant value SAPDeploymentTypeSingleServer, any specified value is ignored.
	DeploymentType *SAPDeploymentType

	// REQUIRED; The subnet id.
	SubnetID *string

	// REQUIRED; Gets or sets the virtual machine configuration.
	VirtualMachineConfiguration *VirtualMachineConfiguration

	// The set of custom names to be used for underlying azure resources that are part of the SAP system.
	CustomResourceNames SingleServerCustomResourceNamesClassification

	// The database type.
	DatabaseType *SAPDatabaseType

	// Gets or sets the disk configuration.
	DbDiskConfiguration *DiskConfiguration

	// Network configuration for the server
	NetworkConfiguration *NetworkConfiguration
}

SingleServerConfiguration - Gets or sets the single server configuration. For prerequisites for creating the infrastructure, please see [here](https://go.microsoft.com/fwlink/?linkid=2212611&amp;clcid=0x409)

func (*SingleServerConfiguration) GetInfrastructureConfiguration

func (s *SingleServerConfiguration) GetInfrastructureConfiguration() *InfrastructureConfiguration

GetInfrastructureConfiguration implements the InfrastructureConfigurationClassification interface for type SingleServerConfiguration.

func (SingleServerConfiguration) MarshalJSON

func (s SingleServerConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SingleServerConfiguration.

func (*SingleServerConfiguration) UnmarshalJSON

func (s *SingleServerConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SingleServerConfiguration.

type SingleServerCustomResourceNames

type SingleServerCustomResourceNames struct {
	// REQUIRED; The naming pattern type.
	NamingPatternType *NamingPatternType
}

SingleServerCustomResourceNames - The resource-names input to specify custom names for underlying azure resources that are part of a single server SAP system.

func (*SingleServerCustomResourceNames) GetSingleServerCustomResourceNames

func (s *SingleServerCustomResourceNames) GetSingleServerCustomResourceNames() *SingleServerCustomResourceNames

GetSingleServerCustomResourceNames implements the SingleServerCustomResourceNamesClassification interface for type SingleServerCustomResourceNames.

func (SingleServerCustomResourceNames) MarshalJSON

func (s SingleServerCustomResourceNames) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SingleServerCustomResourceNames.

func (*SingleServerCustomResourceNames) UnmarshalJSON

func (s *SingleServerCustomResourceNames) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SingleServerCustomResourceNames.

type SingleServerCustomResourceNamesClassification

type SingleServerCustomResourceNamesClassification interface {
	// GetSingleServerCustomResourceNames returns the SingleServerCustomResourceNames content of the underlying type.
	GetSingleServerCustomResourceNames() *SingleServerCustomResourceNames
}

SingleServerCustomResourceNamesClassification provides polymorphic access to related types. Call the interface's GetSingleServerCustomResourceNames() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *SingleServerCustomResourceNames, *SingleServerFullResourceNames

type SingleServerFullResourceNames

type SingleServerFullResourceNames struct {
	// CONSTANT; The pattern type to be used for resource naming.
	// Field has constant value NamingPatternTypeFullResourceName, any specified value is ignored.
	NamingPatternType *NamingPatternType

	// The resource names object for virtual machine and related resources.
	VirtualMachine *VirtualMachineResourceNames
}

SingleServerFullResourceNames - The resource name object where the specified values will be full resource names of the corresponding resources in a single server SAP system.

func (*SingleServerFullResourceNames) GetSingleServerCustomResourceNames

func (s *SingleServerFullResourceNames) GetSingleServerCustomResourceNames() *SingleServerCustomResourceNames

GetSingleServerCustomResourceNames implements the SingleServerCustomResourceNamesClassification interface for type SingleServerFullResourceNames.

func (SingleServerFullResourceNames) MarshalJSON

func (s SingleServerFullResourceNames) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SingleServerFullResourceNames.

func (*SingleServerFullResourceNames) UnmarshalJSON

func (s *SingleServerFullResourceNames) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SingleServerFullResourceNames.

type SingleServerRecommendationResult

type SingleServerRecommendationResult struct {
	// REQUIRED; The single server SAP deployment type.
	DeploymentType *SAPDeploymentType

	// The recommended VM SKU for single server.
	VMSKU *string
}

SingleServerRecommendationResult - The recommended configuration for a single server SAP system.

func (*SingleServerRecommendationResult) GetSAPSizingRecommendationResult

func (s *SingleServerRecommendationResult) GetSAPSizingRecommendationResult() *SAPSizingRecommendationResult

GetSAPSizingRecommendationResult implements the SAPSizingRecommendationResultClassification interface for type SingleServerRecommendationResult.

func (SingleServerRecommendationResult) MarshalJSON

func (s SingleServerRecommendationResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SingleServerRecommendationResult.

func (*SingleServerRecommendationResult) UnmarshalJSON

func (s *SingleServerRecommendationResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SingleServerRecommendationResult.

type SkipFileShareConfiguration

type SkipFileShareConfiguration struct {
	// CONSTANT; The type of file share config, skip in this case i.e. fileshare is not created or required.
	// Field has constant value FileShareConfigurationTypeSkip, any specified value is ignored.
	ConfigurationType *FileShareConfigurationType
}

SkipFileShareConfiguration - Gets or sets the file share configuration for scenarios where transport directory fileshare is not created or required.

func (*SkipFileShareConfiguration) GetFileShareConfiguration

func (s *SkipFileShareConfiguration) GetFileShareConfiguration() *FileShareConfiguration

GetFileShareConfiguration implements the FileShareConfigurationClassification interface for type SkipFileShareConfiguration.

func (SkipFileShareConfiguration) MarshalJSON

func (s SkipFileShareConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SkipFileShareConfiguration.

func (*SkipFileShareConfiguration) UnmarshalJSON

func (s *SkipFileShareConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SkipFileShareConfiguration.

type SoftwareConfiguration

type SoftwareConfiguration struct {
	// REQUIRED; The SAP software installation type.
	SoftwareInstallationType *SAPSoftwareInstallationType
}

SoftwareConfiguration - The SAP Software configuration Input.

func (*SoftwareConfiguration) GetSoftwareConfiguration

func (s *SoftwareConfiguration) GetSoftwareConfiguration() *SoftwareConfiguration

GetSoftwareConfiguration implements the SoftwareConfigurationClassification interface for type SoftwareConfiguration.

func (SoftwareConfiguration) MarshalJSON

func (s SoftwareConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SoftwareConfiguration.

func (*SoftwareConfiguration) UnmarshalJSON

func (s *SoftwareConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SoftwareConfiguration.

type SoftwareConfigurationClassification

type SoftwareConfigurationClassification interface {
	// GetSoftwareConfiguration returns the SoftwareConfiguration content of the underlying type.
	GetSoftwareConfiguration() *SoftwareConfiguration
}

SoftwareConfigurationClassification provides polymorphic access to related types. Call the interface's GetSoftwareConfiguration() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *ExternalInstallationSoftwareConfiguration, *SAPInstallWithoutOSConfigSoftwareConfiguration, *ServiceInitiatedSoftwareConfiguration, - *SoftwareConfiguration

type StartRequest

type StartRequest struct {
	// The boolean value indicates whether to start the virtual machines before starting the SAP instances.
	StartVM *bool
}

StartRequest - Start SAP instance(s) request body.

func (StartRequest) MarshalJSON

func (s StartRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type StartRequest.

func (*StartRequest) UnmarshalJSON

func (s *StartRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type StartRequest.

type StopRequest

type StopRequest struct {
	// The boolean value indicates whether to Stop and deallocate the virtual machines along with the SAP instances.
	DeallocateVM *bool

	// This parameter defines how long (in seconds) the soft shutdown waits until the RFC/HTTP clients no longer consider the
	// server for calls with load balancing. Value 0 means that the kernel does not wait, but goes directly into the next shutdown
	// state, i.e. hard stop.
	SoftStopTimeoutSeconds *int64
}

StopRequest - Stop SAP instance(s) request body.

func (StopRequest) MarshalJSON

func (s StopRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type StopRequest.

func (*StopRequest) UnmarshalJSON

func (s *StopRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type StopRequest.

type StorageConfiguration

type StorageConfiguration struct {
	// The properties of the transport directory attached to the VIS. The default for transportFileShareConfiguration is the createAndMount
	// flow if storage configuration is missing.
	TransportFileShareConfiguration FileShareConfigurationClassification
}

StorageConfiguration - Gets or sets the storage configuration.

func (StorageConfiguration) MarshalJSON

func (s StorageConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type StorageConfiguration.

func (*StorageConfiguration) UnmarshalJSON

func (s *StorageConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type StorageConfiguration.

type StorageInformation

type StorageInformation struct {
	// READ-ONLY; Fully qualified resource ID for the storage account.
	ID *string
}

StorageInformation - Storage details of all the Storage accounts attached to the VM. For e.g. NFS on AFS Shared Storage.

func (StorageInformation) MarshalJSON

func (s StorageInformation) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type StorageInformation.

func (*StorageInformation) UnmarshalJSON

func (s *StorageInformation) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type StorageInformation.

type SystemData

type SystemData struct {
	// The timestamp of resource creation (UTC).
	CreatedAt *time.Time

	// The identity that created the resource.
	CreatedBy *string

	// The type of identity that created the resource.
	CreatedByType *CreatedByType

	// The timestamp of resource last modification (UTC)
	LastModifiedAt *time.Time

	// The identity that last modified the resource.
	LastModifiedBy *string

	// The type of identity that last modified the resource.
	LastModifiedByType *CreatedByType
}

SystemData - Metadata pertaining to creation and last modification of the resource.

func (SystemData) MarshalJSON

func (s SystemData) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SystemData.

func (*SystemData) UnmarshalJSON

func (s *SystemData) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SystemData.

type ThreeTierConfiguration

type ThreeTierConfiguration struct {
	// REQUIRED; The application resource group where SAP system resources will be deployed.
	AppResourceGroup *string

	// REQUIRED; The application server configuration.
	ApplicationServer *ApplicationServerConfiguration

	// REQUIRED; The central server configuration.
	CentralServer *CentralServerConfiguration

	// REQUIRED; The database configuration.
	DatabaseServer *DatabaseConfiguration

	// CONSTANT; The type of SAP deployment, ThreeTier in this case.
	// Field has constant value SAPDeploymentTypeThreeTier, any specified value is ignored.
	DeploymentType *SAPDeploymentType

	// The set of custom names to be used for underlying azure resources that are part of the SAP system.
	CustomResourceNames ThreeTierCustomResourceNamesClassification

	// The high availability configuration.
	HighAvailabilityConfig *HighAvailabilityConfiguration

	// Network configuration common to all servers
	NetworkConfiguration *NetworkConfiguration

	// The storage configuration.
	StorageConfiguration *StorageConfiguration
}

ThreeTierConfiguration - Gets or sets the three tier SAP configuration. For prerequisites for creating the infrastructure, please see [here](https://go.microsoft.com/fwlink/?linkid=2212611&amp;clcid=0x409)

func (*ThreeTierConfiguration) GetInfrastructureConfiguration

func (t *ThreeTierConfiguration) GetInfrastructureConfiguration() *InfrastructureConfiguration

GetInfrastructureConfiguration implements the InfrastructureConfigurationClassification interface for type ThreeTierConfiguration.

func (ThreeTierConfiguration) MarshalJSON

func (t ThreeTierConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ThreeTierConfiguration.

func (*ThreeTierConfiguration) UnmarshalJSON

func (t *ThreeTierConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ThreeTierConfiguration.

type ThreeTierCustomResourceNames

type ThreeTierCustomResourceNames struct {
	// REQUIRED; The pattern type to be used for resource naming.
	NamingPatternType *NamingPatternType
}

ThreeTierCustomResourceNames - The resource-names input to specify custom names for underlying azure resources that are part of a three tier SAP system.

func (*ThreeTierCustomResourceNames) GetThreeTierCustomResourceNames

func (t *ThreeTierCustomResourceNames) GetThreeTierCustomResourceNames() *ThreeTierCustomResourceNames

GetThreeTierCustomResourceNames implements the ThreeTierCustomResourceNamesClassification interface for type ThreeTierCustomResourceNames.

func (ThreeTierCustomResourceNames) MarshalJSON

func (t ThreeTierCustomResourceNames) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ThreeTierCustomResourceNames.

func (*ThreeTierCustomResourceNames) UnmarshalJSON

func (t *ThreeTierCustomResourceNames) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ThreeTierCustomResourceNames.

type ThreeTierCustomResourceNamesClassification

type ThreeTierCustomResourceNamesClassification interface {
	// GetThreeTierCustomResourceNames returns the ThreeTierCustomResourceNames content of the underlying type.
	GetThreeTierCustomResourceNames() *ThreeTierCustomResourceNames
}

ThreeTierCustomResourceNamesClassification provides polymorphic access to related types. Call the interface's GetThreeTierCustomResourceNames() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *ThreeTierCustomResourceNames, *ThreeTierFullResourceNames

type ThreeTierFullResourceNames

type ThreeTierFullResourceNames struct {
	// CONSTANT; The pattern type to be used for resource naming, FullResourceName in this case.
	// Field has constant value NamingPatternTypeFullResourceName, any specified value is ignored.
	NamingPatternType *NamingPatternType

	// The full resource names object for application layer resources. The number of entries in this list should be equal to the
	// number VMs to be created for application layer.
	ApplicationServer *ApplicationServerFullResourceNames

	// The full resource names object for central server layer resources.
	CentralServer *CentralServerFullResourceNames

	// The full resource names object for database layer resources. The number of entries in this list should be equal to the
	// number VMs to be created for database layer.
	DatabaseServer *DatabaseServerFullResourceNames

	// The resource names object for shared storage.
	SharedStorage *SharedStorageResourceNames
}

ThreeTierFullResourceNames - The resource name object where the specified values will be full resource names of the corresponding resources in a three tier SAP system.

func (*ThreeTierFullResourceNames) GetThreeTierCustomResourceNames

func (t *ThreeTierFullResourceNames) GetThreeTierCustomResourceNames() *ThreeTierCustomResourceNames

GetThreeTierCustomResourceNames implements the ThreeTierCustomResourceNamesClassification interface for type ThreeTierFullResourceNames.

func (ThreeTierFullResourceNames) MarshalJSON

func (t ThreeTierFullResourceNames) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ThreeTierFullResourceNames.

func (*ThreeTierFullResourceNames) UnmarshalJSON

func (t *ThreeTierFullResourceNames) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ThreeTierFullResourceNames.

type ThreeTierRecommendationResult

type ThreeTierRecommendationResult struct {
	// REQUIRED; The three tier SAP deployment type.
	DeploymentType *SAPDeploymentType

	// The application server instance count.
	ApplicationServerInstanceCount *int64

	// The application server VM SKU.
	ApplicationServerVMSKU *string

	// The central server instance count.
	CentralServerInstanceCount *int64

	// The central server VM SKU.
	CentralServerVMSKU *string

	// The database server instance count.
	DatabaseInstanceCount *int64

	// The database VM SKU.
	DbVMSKU *string
}

ThreeTierRecommendationResult - The recommended configuration for a three tier SAP system.

func (*ThreeTierRecommendationResult) GetSAPSizingRecommendationResult

func (t *ThreeTierRecommendationResult) GetSAPSizingRecommendationResult() *SAPSizingRecommendationResult

GetSAPSizingRecommendationResult implements the SAPSizingRecommendationResultClassification interface for type ThreeTierRecommendationResult.

func (ThreeTierRecommendationResult) MarshalJSON

func (t ThreeTierRecommendationResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ThreeTierRecommendationResult.

func (*ThreeTierRecommendationResult) UnmarshalJSON

func (t *ThreeTierRecommendationResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ThreeTierRecommendationResult.

type UpdateSAPApplicationInstanceRequest

type UpdateSAPApplicationInstanceRequest struct {
	// Gets or sets the Resource tags.
	Tags map[string]*string
}

UpdateSAPApplicationInstanceRequest - Defines the request body for updating SAP Application Instance.

func (UpdateSAPApplicationInstanceRequest) MarshalJSON

func (u UpdateSAPApplicationInstanceRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UpdateSAPApplicationInstanceRequest.

func (*UpdateSAPApplicationInstanceRequest) UnmarshalJSON

func (u *UpdateSAPApplicationInstanceRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type UpdateSAPApplicationInstanceRequest.

type UpdateSAPCentralInstanceRequest

type UpdateSAPCentralInstanceRequest struct {
	// Gets or sets the Resource tags.
	Tags map[string]*string
}

UpdateSAPCentralInstanceRequest - Defines the request body for updating SAP Central Instance.

func (UpdateSAPCentralInstanceRequest) MarshalJSON

func (u UpdateSAPCentralInstanceRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UpdateSAPCentralInstanceRequest.

func (*UpdateSAPCentralInstanceRequest) UnmarshalJSON

func (u *UpdateSAPCentralInstanceRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type UpdateSAPCentralInstanceRequest.

type UpdateSAPDatabaseInstanceRequest

type UpdateSAPDatabaseInstanceRequest struct {
	// Gets or sets the Resource tags.
	Tags map[string]*string
}

UpdateSAPDatabaseInstanceRequest - Defines the request body for updating SAP Database Instance.

func (UpdateSAPDatabaseInstanceRequest) MarshalJSON

func (u UpdateSAPDatabaseInstanceRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UpdateSAPDatabaseInstanceRequest.

func (*UpdateSAPDatabaseInstanceRequest) UnmarshalJSON

func (u *UpdateSAPDatabaseInstanceRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type UpdateSAPDatabaseInstanceRequest.

type UpdateSAPVirtualInstanceProperties

type UpdateSAPVirtualInstanceProperties struct {
	// Specifies the network access configuration for the resources that will be deployed in the Managed Resource Group. The options
	// to choose from are Public and Private. If 'Private' is chosen, the Storage Account service tag should be enabled on the
	// subnets in which the SAP VMs exist. This is required for establishing connectivity between VM extensions and the managed
	// resource group storage account. This setting is currently applicable only to Storage Account. Learn more here https://go.microsoft.com/fwlink/?linkid=2247228
	ManagedResourcesNetworkAccessType *ManagedResourcesNetworkAccessType
}

UpdateSAPVirtualInstanceProperties - Defines the update request body properties for updating Virtual Instance for SAP.

func (UpdateSAPVirtualInstanceProperties) MarshalJSON

func (u UpdateSAPVirtualInstanceProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UpdateSAPVirtualInstanceProperties.

func (*UpdateSAPVirtualInstanceProperties) UnmarshalJSON

func (u *UpdateSAPVirtualInstanceProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type UpdateSAPVirtualInstanceProperties.

type UpdateSAPVirtualInstanceRequest

type UpdateSAPVirtualInstanceRequest struct {
	// Managed service identity (user assigned identities)
	Identity *SAPVirtualInstanceIdentity

	// The update properties.
	Properties *UpdateSAPVirtualInstanceProperties

	// Gets or sets the Resource tags.
	Tags map[string]*string
}

UpdateSAPVirtualInstanceRequest - Defines the request body for updating Virtual Instance for SAP.

func (UpdateSAPVirtualInstanceRequest) MarshalJSON

func (u UpdateSAPVirtualInstanceRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UpdateSAPVirtualInstanceRequest.

func (*UpdateSAPVirtualInstanceRequest) UnmarshalJSON

func (u *UpdateSAPVirtualInstanceRequest) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type UpdateSAPVirtualInstanceRequest.

type UserAssignedIdentity

type UserAssignedIdentity struct {
	// READ-ONLY; The client ID of the assigned identity.
	ClientID *string

	// READ-ONLY; The principal ID of the assigned identity.
	PrincipalID *string
}

UserAssignedIdentity - User assigned identity properties

func (UserAssignedIdentity) MarshalJSON

func (u UserAssignedIdentity) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UserAssignedIdentity.

func (*UserAssignedIdentity) UnmarshalJSON

func (u *UserAssignedIdentity) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type UserAssignedIdentity.

type VirtualMachineConfiguration

type VirtualMachineConfiguration struct {
	// REQUIRED; The image reference.
	ImageReference *ImageReference

	// REQUIRED; The OS profile.
	OSProfile *OSProfile

	// REQUIRED; The virtual machine size.
	VMSize *string
}

VirtualMachineConfiguration - Defines the virtual machine configuration.

func (VirtualMachineConfiguration) MarshalJSON

func (v VirtualMachineConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type VirtualMachineConfiguration.

func (*VirtualMachineConfiguration) UnmarshalJSON

func (v *VirtualMachineConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type VirtualMachineConfiguration.

type VirtualMachineResourceNames

type VirtualMachineResourceNames struct {
	// The full resource names for virtual machine data disks. This is a dictionary containing list of names of data disks per
	// volume. Currently supported volumes for database layer are ['hana/data', 'hana/log', hana/shared', 'usr/sap', 'os', 'backup'].
	// For application and cs layers, only 'default' volume is supported
	DataDiskNames map[string][]*string

	// The full name for virtual-machine's host (computer name). Currently, ACSS only supports host names which are less than
	// or equal to 13 characters long. If this value is not provided, vmName will be used as host name.
	HostName *string

	// The list of network interface name objects for the selected virtual machine. Currently, only one network interface is supported
	// per virtual machine.
	NetworkInterfaces []*NetworkInterfaceResourceNames

	// The full name for OS disk attached to the VM. If this value is not provided, it will be named by ARM as per its default
	// naming standards (prefixed with vm name). There is only one OS disk attached per Virtual Machine.
	OSDiskName *string

	// The full name for virtual machine. The length of this field can be upto 64 characters. If name is not provided, service
	// uses a default name based on the deployment type. For SingleServer, default name is {SID}vm. In case of HA-AvZone systems,
	// default name will be {SID}{app/ascs/db}z{a/b}vm with an incrementor at the end in case of more than 1 vm per layer. For
	// distributed and HA-AvSet systems, default name will be {SID}{app/ascs/db}vm with an incrementor at the end in case of more
	// than 1 vm per layer.
	VMName *string
}

VirtualMachineResourceNames - The resource names object for virtual machine and related resources.

func (VirtualMachineResourceNames) MarshalJSON

func (v VirtualMachineResourceNames) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type VirtualMachineResourceNames.

func (*VirtualMachineResourceNames) UnmarshalJSON

func (v *VirtualMachineResourceNames) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type VirtualMachineResourceNames.

type WindowsConfiguration

type WindowsConfiguration struct {
	// CONSTANT; The OS Type
	// Field has constant value OSTypeWindows, any specified value is ignored.
	OSType *OSType
}

WindowsConfiguration - Specifies Windows operating system settings on the virtual machine.

func (*WindowsConfiguration) GetOSConfiguration

func (w *WindowsConfiguration) GetOSConfiguration() *OSConfiguration

GetOSConfiguration implements the OSConfigurationClassification interface for type WindowsConfiguration.

func (WindowsConfiguration) MarshalJSON

func (w WindowsConfiguration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type WindowsConfiguration.

func (*WindowsConfiguration) UnmarshalJSON

func (w *WindowsConfiguration) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type WindowsConfiguration.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL