// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) Go Code Generator. DO NOT EDIT.

package armnetwork_test

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

// Generated from example definition: 2025-07-01/NetworkVirtualAppliancePut.json
func ExampleVirtualAppliancesClient_BeginCreateOrUpdate_createNetworkVirtualAppliance() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewVirtualAppliancesClient().BeginCreateOrUpdate(ctx, "rg1", "nva", armnetwork.VirtualAppliance{
		Identity: &armnetwork.ManagedServiceIdentity{
			Type: to.Ptr(armnetwork.ResourceIdentityTypeUserAssigned),
			UserAssignedIdentities: map[string]*armnetwork.ManagedServiceIdentityUserAssignedIdentities{
				"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {},
			},
		},
		Location: to.Ptr("West US"),
		Properties: &armnetwork.VirtualAppliancePropertiesFormat{
			AdditionalNics: []*armnetwork.VirtualApplianceAdditionalNicProperties{
				{
					Name:        to.Ptr("exrsdwan"),
					HasPublicIP: to.Ptr(true),
				},
			},
			BootStrapConfigurationBlobs: []*string{
				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig"),
			},
			CloudInitConfigurationBlobs: []*string{
				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig"),
			},
			InternetIngressPublicIPs: []*armnetwork.InternetIngressPublicIPsProperties{
				{
					ID: to.Ptr("/subscriptions/{{subscriptionId}}/resourceGroups/{{rg}}/providers/Microsoft.Network/publicIPAddresses/slbip"),
				},
			},
			NetworkProfile: &armnetwork.VirtualAppliancePropertiesFormatNetworkProfile{
				NetworkInterfaceConfigurations: []*armnetwork.VirtualApplianceNetworkInterfaceConfiguration{
					{
						NicType: to.Ptr(armnetwork.NicTypeInRequestPublicNic),
						Properties: &armnetwork.VirtualApplianceNetworkInterfaceConfigurationProperties{
							IPConfigurations: []*armnetwork.VirtualApplianceIPConfiguration{
								{
									Name: to.Ptr("publicnicipconfig"),
									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
										Primary: to.Ptr(true),
									},
								},
								{
									Name: to.Ptr("publicnicipconfig-2"),
									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
										Primary: to.Ptr(false),
									},
								},
							},
						},
					},
					{
						NicType: to.Ptr(armnetwork.NicTypeInRequestPrivateNic),
						Properties: &armnetwork.VirtualApplianceNetworkInterfaceConfigurationProperties{
							IPConfigurations: []*armnetwork.VirtualApplianceIPConfiguration{
								{
									Name: to.Ptr("privatenicipconfig"),
									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
										Primary: to.Ptr(true),
									},
								},
								{
									Name: to.Ptr("privatenicipconfig-2"),
									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
										Primary: to.Ptr(false),
									},
								},
							},
						},
					},
				},
			},
			NvaSKU: &armnetwork.VirtualApplianceSKUProperties{
				BundledScaleUnit:   to.Ptr("1"),
				MarketPlaceVersion: to.Ptr("12.1"),
				Vendor:             to.Ptr("Cisco SDWAN"),
			},
			VirtualApplianceAsn: to.Ptr[int64](10000),
			VirtualHub: &armnetwork.SubResource{
				ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1"),
			},
		},
		Tags: map[string]*string{
			"key1": to.Ptr("value1"),
		},
	}, 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 poll 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 = armnetwork.VirtualAppliancesClientCreateOrUpdateResponse{
	// 	VirtualAppliance: armnetwork.VirtualAppliance{
	// 		Name: to.Ptr("nva"),
	// 		Type: to.Ptr("Microsoft.Network/networkVirtualAppliances"),
	// 		Etag: to.Ptr("w/\\00000000-0000-0000-0000-000000000000\\"),
	// 		ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva"),
	// 		Identity: &armnetwork.ManagedServiceIdentity{
	// 			Type: to.Ptr(armnetwork.ResourceIdentityTypeUserAssigned),
	// 			UserAssignedIdentities: map[string]*armnetwork.ManagedServiceIdentityUserAssignedIdentities{
	// 				"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": &armnetwork.ManagedServiceIdentityUserAssignedIdentities{
	// 				},
	// 			},
	// 		},
	// 		Location: to.Ptr("West US"),
	// 		Properties: &armnetwork.VirtualAppliancePropertiesFormat{
	// 			AdditionalNics: []*armnetwork.VirtualApplianceAdditionalNicProperties{
	// 				{
	// 					Name: to.Ptr("exrsdwan"),
	// 					HasPublicIP: to.Ptr(true),
	// 				},
	// 			},
	// 			AddressPrefix: to.Ptr("192.168.1.0/16"),
	// 			BootStrapConfigurationBlobs: []*string{
	// 				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig"),
	// 			},
	// 			CloudInitConfigurationBlobs: []*string{
	// 				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig"),
	// 			},
	// 			InboundSecurityRules: []*armnetwork.SubResource{
	// 				{
	// 					ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1"),
	// 				},
	// 			},
	// 			InternetIngressPublicIPs: []*armnetwork.InternetIngressPublicIPsProperties{
	// 				{
	// 					ID: to.Ptr("/subscriptions/{{subscriptionId}}/resourceGroups/{{rg}}/providers/Microsoft.Network/publicIPAddresses/slbip"),
	// 				},
	// 			},
	// 			NetworkProfile: &armnetwork.VirtualAppliancePropertiesFormatNetworkProfile{
	// 				NetworkInterfaceConfigurations: []*armnetwork.VirtualApplianceNetworkInterfaceConfiguration{
	// 					{
	// 						NicType: to.Ptr(armnetwork.NicTypeInRequestPublicNic),
	// 						Properties: &armnetwork.VirtualApplianceNetworkInterfaceConfigurationProperties{
	// 							IPConfigurations: []*armnetwork.VirtualApplianceIPConfiguration{
	// 								{
	// 									Name: to.Ptr("publicnicipconfig"),
	// 									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
	// 										Primary: to.Ptr(true),
	// 									},
	// 								},
	// 								{
	// 									Name: to.Ptr("publicnicipconfig-2"),
	// 									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
	// 										Primary: to.Ptr(false),
	// 									},
	// 								},
	// 							},
	// 						},
	// 					},
	// 					{
	// 						NicType: to.Ptr(armnetwork.NicTypeInRequestPrivateNic),
	// 						Properties: &armnetwork.VirtualApplianceNetworkInterfaceConfigurationProperties{
	// 							IPConfigurations: []*armnetwork.VirtualApplianceIPConfiguration{
	// 								{
	// 									Name: to.Ptr("privatenicipconfig"),
	// 									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
	// 										Primary: to.Ptr(true),
	// 									},
	// 								},
	// 								{
	// 									Name: to.Ptr("privatenicipconfig-2"),
	// 									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
	// 										Primary: to.Ptr(false),
	// 									},
	// 								},
	// 							},
	// 						},
	// 					},
	// 				},
	// 			},
	// 			NvaSKU: &armnetwork.VirtualApplianceSKUProperties{
	// 				BundledScaleUnit: to.Ptr("1"),
	// 				MarketPlaceVersion: to.Ptr("12.1"),
	// 				Vendor: to.Ptr("Cisco SDWAN"),
	// 			},
	// 			ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
	// 			VirtualApplianceAsn: to.Ptr[int64](10000),
	// 			VirtualApplianceNics: []*armnetwork.VirtualApplianceNicProperties{
	// 				{
	// 					Name: to.Ptr("publicnicipconfig"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePublicNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.1"),
	// 					PublicIPAddress: to.Ptr("40.30.2.2"),
	// 				},
	// 				{
	// 					Name: to.Ptr("publicnicipconfig-2"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePublicNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.2"),
	// 					PublicIPAddress: to.Ptr("40.30.2.3"),
	// 				},
	// 				{
	// 					Name: to.Ptr("privatenicipconfig"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePrivateNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.3"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 				{
	// 					Name: to.Ptr("privatenicipconfig-2"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePrivateNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.4"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 				{
	// 					Name: to.Ptr("exrsdwan"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponseAdditionalNic),
	// 					PrivateIPAddress: to.Ptr("10.1.113.4"),
	// 					PublicIPAddress: to.Ptr("4.231.25.19"),
	// 				},
	// 			},
	// 			VirtualApplianceSites: []*armnetwork.SubResource{
	// 				{
	// 					ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1"),
	// 				},
	// 			},
	// 			VirtualHub: &armnetwork.SubResource{
	// 				ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1"),
	// 			},
	// 		},
	// 		Tags: map[string]*string{
	// 			"key1": to.Ptr("value1"),
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2025-07-01/NetworkVirtualApplianceSaaSPut.json
func ExampleVirtualAppliancesClient_BeginCreateOrUpdate_createSaaSNetworkVirtualAppliance() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewVirtualAppliancesClient().BeginCreateOrUpdate(ctx, "rg1", "nva", armnetwork.VirtualAppliance{
		Location: to.Ptr("West US"),
		Properties: &armnetwork.VirtualAppliancePropertiesFormat{
			Delegation: &armnetwork.DelegationProperties{
				ServiceName: to.Ptr("PaloAltoNetworks.Cloudngfw/firewalls"),
			},
			VirtualHub: &armnetwork.SubResource{
				ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1"),
			},
		},
		Tags: map[string]*string{
			"key1": to.Ptr("value1"),
		},
	}, 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 poll 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 = armnetwork.VirtualAppliancesClientCreateOrUpdateResponse{
	// 	VirtualAppliance: armnetwork.VirtualAppliance{
	// 		Name: to.Ptr("nva"),
	// 		Type: to.Ptr("Microsoft.Network/networkVirtualAppliances"),
	// 		Etag: to.Ptr("w/\\00000000-0000-0000-0000-000000000000\\"),
	// 		ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva"),
	// 		Location: to.Ptr("West US"),
	// 		Properties: &armnetwork.VirtualAppliancePropertiesFormat{
	// 			Delegation: &armnetwork.DelegationProperties{
	// 				ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
	// 				ServiceName: to.Ptr("PaloAltoNetworks.Cloudngfw/firewalls"),
	// 			},
	// 			DeploymentType: to.Ptr("PartnerManaged"),
	// 			PartnerManagedResource: &armnetwork.PartnerManagedResourceProperties{
	// 				ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Lifter/firewalls/paloAltoFirewall"),
	// 				InternalLoadBalancerID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/trustILB"),
	// 				StandardLoadBalancerID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/trustSLB"),
	// 			},
	// 			ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
	// 			VirtualHub: &armnetwork.SubResource{
	// 				ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1"),
	// 			},
	// 		},
	// 		Tags: map[string]*string{
	// 			"key1": to.Ptr("value1"),
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2025-07-01/NetworkVirtualApplianceVnetAdditionalPrivatePut.json
func ExampleVirtualAppliancesClient_BeginCreateOrUpdate_createNvaInVNetWithPrivateNicPublicNicAdditionalPrivateNic() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewVirtualAppliancesClient().BeginCreateOrUpdate(ctx, "rg1", "nva", armnetwork.VirtualAppliance{
		Identity: &armnetwork.ManagedServiceIdentity{
			Type: to.Ptr(armnetwork.ResourceIdentityTypeUserAssigned),
			UserAssignedIdentities: map[string]*armnetwork.ManagedServiceIdentityUserAssignedIdentities{
				"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {},
			},
		},
		Location: to.Ptr("West US"),
		Properties: &armnetwork.VirtualAppliancePropertiesFormat{
			BootStrapConfigurationBlobs: []*string{
				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig"),
			},
			CloudInitConfigurationBlobs: []*string{
				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig"),
			},
			NvaInterfaceConfigurations: []*armnetwork.NvaInterfaceConfigurationsProperties{
				{
					Name: to.Ptr("dataInterface"),
					Type: []*armnetwork.NvaNicType{
						to.Ptr(armnetwork.NvaNicTypePrivateNic),
					},
					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
					},
				},
				{
					Name: to.Ptr("managementInterface"),
					Type: []*armnetwork.NvaNicType{
						to.Ptr(armnetwork.NvaNicTypePublicNic),
					},
					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet2"),
					},
				},
				{
					Name: to.Ptr("myAdditionalInterface"),
					Type: []*armnetwork.NvaNicType{
						to.Ptr(armnetwork.NvaNicTypeAdditionalPrivateNic),
					},
					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet3"),
					},
				},
			},
			NvaSKU: &armnetwork.VirtualApplianceSKUProperties{
				BundledScaleUnit:   to.Ptr("1"),
				MarketPlaceVersion: to.Ptr("latest"),
				Vendor:             to.Ptr("Cisco SDWAN"),
			},
			VirtualApplianceAsn: to.Ptr[int64](10000),
		},
		Tags: map[string]*string{
			"key1": to.Ptr("value1"),
		},
	}, 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 poll 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 = armnetwork.VirtualAppliancesClientCreateOrUpdateResponse{
	// 	VirtualAppliance: armnetwork.VirtualAppliance{
	// 		Name: to.Ptr("nva"),
	// 		Type: to.Ptr("Microsoft.Network/networkVirtualAppliances"),
	// 		Etag: to.Ptr("w/\\00000000-0000-0000-0000-000000000000\\"),
	// 		ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva"),
	// 		Identity: &armnetwork.ManagedServiceIdentity{
	// 			Type: to.Ptr(armnetwork.ResourceIdentityTypeUserAssigned),
	// 			UserAssignedIdentities: map[string]*armnetwork.ManagedServiceIdentityUserAssignedIdentities{
	// 				"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": &armnetwork.ManagedServiceIdentityUserAssignedIdentities{
	// 				},
	// 			},
	// 		},
	// 		Location: to.Ptr("West US"),
	// 		Properties: &armnetwork.VirtualAppliancePropertiesFormat{
	// 			AddressPrefix: to.Ptr("192.168.1.0/16"),
	// 			BootStrapConfigurationBlobs: []*string{
	// 				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig"),
	// 			},
	// 			CloudInitConfigurationBlobs: []*string{
	// 				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig"),
	// 			},
	// 			InboundSecurityRules: []*armnetwork.SubResource{
	// 				{
	// 					ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1"),
	// 				},
	// 			},
	// 			NvaInterfaceConfigurations: []*armnetwork.NvaInterfaceConfigurationsProperties{
	// 				{
	// 					Name: to.Ptr("dataInterface"),
	// 					Type: []*armnetwork.NvaNicType{
	// 						to.Ptr(armnetwork.NvaNicTypePrivateNic),
	// 					},
	// 					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
	// 						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
	// 					},
	// 				},
	// 				{
	// 					Name: to.Ptr("managementInterface"),
	// 					Type: []*armnetwork.NvaNicType{
	// 						to.Ptr(armnetwork.NvaNicTypePublicNic),
	// 					},
	// 					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
	// 						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet2"),
	// 					},
	// 				},
	// 				{
	// 					Name: to.Ptr("myAdditionalInterface"),
	// 					Type: []*armnetwork.NvaNicType{
	// 						to.Ptr(armnetwork.NvaNicTypeAdditionalPrivateNic),
	// 					},
	// 					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
	// 						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet3"),
	// 					},
	// 				},
	// 			},
	// 			NvaSKU: &armnetwork.VirtualApplianceSKUProperties{
	// 				BundledScaleUnit: to.Ptr("1"),
	// 				MarketPlaceVersion: to.Ptr("latest"),
	// 				Vendor: to.Ptr("Cisco SDWAN"),
	// 			},
	// 			PrivateIPAddress: to.Ptr("192.168.12.7"),
	// 			ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
	// 			VirtualApplianceAsn: to.Ptr[int64](10000),
	// 			VirtualApplianceNics: []*armnetwork.VirtualApplianceNicProperties{
	// 				{
	// 					Name: to.Ptr("managementInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.1"),
	// 					PublicIPAddress: to.Ptr("40.30.2.2"),
	// 				},
	// 				{
	// 					Name: to.Ptr("managementInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.2"),
	// 					PublicIPAddress: to.Ptr("40.30.2.3"),
	// 				},
	// 				{
	// 					Name: to.Ptr("dataInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.3"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 				{
	// 					Name: to.Ptr("dataInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.4"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 				{
	// 					Name: to.Ptr("myAdditionalInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.5"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 				{
	// 					Name: to.Ptr("myAdditionalInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.6"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 			},
	// 		},
	// 		Tags: map[string]*string{
	// 			"key1": to.Ptr("value1"),
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2025-07-01/NetworkVirtualApplianceVnetAdditionalPublicPut.json
func ExampleVirtualAppliancesClient_BeginCreateOrUpdate_createNvaInVNetWithPrivateNicPublicNicAdditionalPublicNic() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewVirtualAppliancesClient().BeginCreateOrUpdate(ctx, "rg1", "nva", armnetwork.VirtualAppliance{
		Identity: &armnetwork.ManagedServiceIdentity{
			Type: to.Ptr(armnetwork.ResourceIdentityTypeUserAssigned),
			UserAssignedIdentities: map[string]*armnetwork.ManagedServiceIdentityUserAssignedIdentities{
				"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {},
			},
		},
		Location: to.Ptr("West US"),
		Properties: &armnetwork.VirtualAppliancePropertiesFormat{
			BootStrapConfigurationBlobs: []*string{
				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig"),
			},
			CloudInitConfigurationBlobs: []*string{
				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig"),
			},
			NvaInterfaceConfigurations: []*armnetwork.NvaInterfaceConfigurationsProperties{
				{
					Name: to.Ptr("dataInterface"),
					Type: []*armnetwork.NvaNicType{
						to.Ptr(armnetwork.NvaNicTypePrivateNic),
					},
					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
					},
				},
				{
					Name: to.Ptr("managementInterface"),
					Type: []*armnetwork.NvaNicType{
						to.Ptr(armnetwork.NvaNicTypePublicNic),
					},
					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet2"),
					},
				},
				{
					Name: to.Ptr("myAdditionalPublicInterface"),
					Type: []*armnetwork.NvaNicType{
						to.Ptr(armnetwork.NvaNicTypeAdditionalPublicNic),
					},
					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet3"),
					},
				},
			},
			NvaSKU: &armnetwork.VirtualApplianceSKUProperties{
				BundledScaleUnit:   to.Ptr("1"),
				MarketPlaceVersion: to.Ptr("latest"),
				Vendor:             to.Ptr("Cisco SDWAN"),
			},
			VirtualApplianceAsn: to.Ptr[int64](10000),
		},
		Tags: map[string]*string{
			"key1": to.Ptr("value1"),
		},
	}, 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 poll 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 = armnetwork.VirtualAppliancesClientCreateOrUpdateResponse{
	// 	VirtualAppliance: armnetwork.VirtualAppliance{
	// 		Name: to.Ptr("nva"),
	// 		Type: to.Ptr("Microsoft.Network/networkVirtualAppliances"),
	// 		Etag: to.Ptr("w/\\00000000-0000-0000-0000-000000000000\\"),
	// 		ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva"),
	// 		Identity: &armnetwork.ManagedServiceIdentity{
	// 			Type: to.Ptr(armnetwork.ResourceIdentityTypeUserAssigned),
	// 			UserAssignedIdentities: map[string]*armnetwork.ManagedServiceIdentityUserAssignedIdentities{
	// 				"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": &armnetwork.ManagedServiceIdentityUserAssignedIdentities{
	// 				},
	// 			},
	// 		},
	// 		Location: to.Ptr("West US"),
	// 		Properties: &armnetwork.VirtualAppliancePropertiesFormat{
	// 			AddressPrefix: to.Ptr("192.168.1.0/16"),
	// 			BootStrapConfigurationBlobs: []*string{
	// 				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig"),
	// 			},
	// 			CloudInitConfigurationBlobs: []*string{
	// 				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig"),
	// 			},
	// 			InboundSecurityRules: []*armnetwork.SubResource{
	// 				{
	// 					ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1"),
	// 				},
	// 			},
	// 			NvaInterfaceConfigurations: []*armnetwork.NvaInterfaceConfigurationsProperties{
	// 				{
	// 					Name: to.Ptr("dataInterface"),
	// 					Type: []*armnetwork.NvaNicType{
	// 						to.Ptr(armnetwork.NvaNicTypePrivateNic),
	// 					},
	// 					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
	// 						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
	// 					},
	// 				},
	// 				{
	// 					Name: to.Ptr("managementInterface"),
	// 					Type: []*armnetwork.NvaNicType{
	// 						to.Ptr(armnetwork.NvaNicTypePublicNic),
	// 					},
	// 					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
	// 						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet2"),
	// 					},
	// 				},
	// 				{
	// 					Name: to.Ptr("myAdditionalPublicInterface"),
	// 					Type: []*armnetwork.NvaNicType{
	// 						to.Ptr(armnetwork.NvaNicTypeAdditionalPublicNic),
	// 					},
	// 					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
	// 						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet3"),
	// 					},
	// 				},
	// 			},
	// 			NvaSKU: &armnetwork.VirtualApplianceSKUProperties{
	// 				BundledScaleUnit: to.Ptr("1"),
	// 				MarketPlaceVersion: to.Ptr("latest"),
	// 				Vendor: to.Ptr("Cisco SDWAN"),
	// 			},
	// 			PrivateIPAddress: to.Ptr("192.168.12.7"),
	// 			ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
	// 			VirtualApplianceAsn: to.Ptr[int64](10000),
	// 			VirtualApplianceNics: []*armnetwork.VirtualApplianceNicProperties{
	// 				{
	// 					Name: to.Ptr("managementInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.1"),
	// 					PublicIPAddress: to.Ptr("40.30.2.2"),
	// 				},
	// 				{
	// 					Name: to.Ptr("managementInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.2"),
	// 					PublicIPAddress: to.Ptr("40.30.2.3"),
	// 				},
	// 				{
	// 					Name: to.Ptr("dataInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.3"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 				{
	// 					Name: to.Ptr("dataInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.4"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 				{
	// 					Name: to.Ptr("myAdditionalPublicInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.5"),
	// 					PublicIPAddress: to.Ptr("40.30.2.4"),
	// 				},
	// 				{
	// 					Name: to.Ptr("myAdditionalPublicInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.6"),
	// 					PublicIPAddress: to.Ptr("40.30.2.5"),
	// 				},
	// 			},
	// 		},
	// 		Tags: map[string]*string{
	// 			"key1": to.Ptr("value1"),
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2025-07-01/NetworkVirtualApplianceVnetBasicPut.json
func ExampleVirtualAppliancesClient_BeginCreateOrUpdate_createNvaInVNetWithPrivateNicPublicNic() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewVirtualAppliancesClient().BeginCreateOrUpdate(ctx, "rg1", "nva", armnetwork.VirtualAppliance{
		Identity: &armnetwork.ManagedServiceIdentity{
			Type: to.Ptr(armnetwork.ResourceIdentityTypeUserAssigned),
			UserAssignedIdentities: map[string]*armnetwork.ManagedServiceIdentityUserAssignedIdentities{
				"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {},
			},
		},
		Location: to.Ptr("West US"),
		Properties: &armnetwork.VirtualAppliancePropertiesFormat{
			BootStrapConfigurationBlobs: []*string{
				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig"),
			},
			CloudInitConfigurationBlobs: []*string{
				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig"),
			},
			NvaInterfaceConfigurations: []*armnetwork.NvaInterfaceConfigurationsProperties{
				{
					Name: to.Ptr("dataInterface"),
					Type: []*armnetwork.NvaNicType{
						to.Ptr(armnetwork.NvaNicTypePrivateNic),
					},
					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
					},
				},
				{
					Name: to.Ptr("managementInterface"),
					Type: []*armnetwork.NvaNicType{
						to.Ptr(armnetwork.NvaNicTypePublicNic),
					},
					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet2"),
					},
				},
			},
			NvaSKU: &armnetwork.VirtualApplianceSKUProperties{
				BundledScaleUnit:   to.Ptr("1"),
				MarketPlaceVersion: to.Ptr("latest"),
				Vendor:             to.Ptr("Cisco SDWAN"),
			},
			VirtualApplianceAsn: to.Ptr[int64](10000),
		},
		Tags: map[string]*string{
			"key1": to.Ptr("value1"),
		},
	}, 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 poll 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 = armnetwork.VirtualAppliancesClientCreateOrUpdateResponse{
	// 	VirtualAppliance: armnetwork.VirtualAppliance{
	// 		Name: to.Ptr("nva"),
	// 		Type: to.Ptr("Microsoft.Network/networkVirtualAppliances"),
	// 		Etag: to.Ptr("w/\\00000000-0000-0000-0000-000000000000\\"),
	// 		ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva"),
	// 		Identity: &armnetwork.ManagedServiceIdentity{
	// 			Type: to.Ptr(armnetwork.ResourceIdentityTypeUserAssigned),
	// 			UserAssignedIdentities: map[string]*armnetwork.ManagedServiceIdentityUserAssignedIdentities{
	// 				"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": &armnetwork.ManagedServiceIdentityUserAssignedIdentities{
	// 				},
	// 			},
	// 		},
	// 		Location: to.Ptr("West US"),
	// 		Properties: &armnetwork.VirtualAppliancePropertiesFormat{
	// 			AddressPrefix: to.Ptr("192.168.1.0/16"),
	// 			BootStrapConfigurationBlobs: []*string{
	// 				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig"),
	// 			},
	// 			CloudInitConfigurationBlobs: []*string{
	// 				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig"),
	// 			},
	// 			InboundSecurityRules: []*armnetwork.SubResource{
	// 				{
	// 					ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1"),
	// 				},
	// 			},
	// 			NvaInterfaceConfigurations: []*armnetwork.NvaInterfaceConfigurationsProperties{
	// 				{
	// 					Name: to.Ptr("dataInterface"),
	// 					Type: []*armnetwork.NvaNicType{
	// 						to.Ptr(armnetwork.NvaNicTypePrivateNic),
	// 					},
	// 					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
	// 						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
	// 					},
	// 				},
	// 				{
	// 					Name: to.Ptr("managementInterface"),
	// 					Type: []*armnetwork.NvaNicType{
	// 						to.Ptr(armnetwork.NvaNicTypePublicNic),
	// 					},
	// 					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
	// 						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet2"),
	// 					},
	// 				},
	// 			},
	// 			NvaSKU: &armnetwork.VirtualApplianceSKUProperties{
	// 				BundledScaleUnit: to.Ptr("1"),
	// 				MarketPlaceVersion: to.Ptr("latest"),
	// 				Vendor: to.Ptr("Cisco SDWAN"),
	// 			},
	// 			PrivateIPAddress: to.Ptr("192.168.12.5"),
	// 			ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
	// 			VirtualApplianceAsn: to.Ptr[int64](10000),
	// 			VirtualApplianceNics: []*armnetwork.VirtualApplianceNicProperties{
	// 				{
	// 					Name: to.Ptr("managementInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.1"),
	// 					PublicIPAddress: to.Ptr("40.30.2.2"),
	// 				},
	// 				{
	// 					Name: to.Ptr("managementInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.2"),
	// 					PublicIPAddress: to.Ptr("40.30.2.3"),
	// 				},
	// 				{
	// 					Name: to.Ptr("dataInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.3"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 				{
	// 					Name: to.Ptr("dataInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.4"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 			},
	// 		},
	// 		Tags: map[string]*string{
	// 			"key1": to.Ptr("value1"),
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2025-07-01/NetworkVirtualApplianceVnetIngressPut.json
func ExampleVirtualAppliancesClient_BeginCreateOrUpdate_createNvaInVNetWithPrivateNicPublicNicIncludingInternetIngress() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewVirtualAppliancesClient().BeginCreateOrUpdate(ctx, "rg1", "nva", armnetwork.VirtualAppliance{
		Identity: &armnetwork.ManagedServiceIdentity{
			Type: to.Ptr(armnetwork.ResourceIdentityTypeUserAssigned),
			UserAssignedIdentities: map[string]*armnetwork.ManagedServiceIdentityUserAssignedIdentities{
				"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {},
			},
		},
		Location: to.Ptr("West US"),
		Properties: &armnetwork.VirtualAppliancePropertiesFormat{
			BootStrapConfigurationBlobs: []*string{
				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig"),
			},
			CloudInitConfigurationBlobs: []*string{
				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig"),
			},
			InternetIngressPublicIPs: []*armnetwork.InternetIngressPublicIPsProperties{
				{
					ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/slbip"),
				},
			},
			NvaInterfaceConfigurations: []*armnetwork.NvaInterfaceConfigurationsProperties{
				{
					Name: to.Ptr("dataInterface"),
					Type: []*armnetwork.NvaNicType{
						to.Ptr(armnetwork.NvaNicTypePrivateNic),
					},
					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
					},
				},
				{
					Name: to.Ptr("managementInterface"),
					Type: []*armnetwork.NvaNicType{
						to.Ptr(armnetwork.NvaNicTypePublicNic),
					},
					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet2"),
					},
				},
			},
			NvaSKU: &armnetwork.VirtualApplianceSKUProperties{
				BundledScaleUnit:   to.Ptr("1"),
				MarketPlaceVersion: to.Ptr("latest"),
				Vendor:             to.Ptr("Cisco SDWAN"),
			},
			VirtualApplianceAsn: to.Ptr[int64](10000),
		},
		Tags: map[string]*string{
			"key1": to.Ptr("value1"),
		},
	}, 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 poll 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 = armnetwork.VirtualAppliancesClientCreateOrUpdateResponse{
	// 	VirtualAppliance: armnetwork.VirtualAppliance{
	// 		Name: to.Ptr("nva"),
	// 		Type: to.Ptr("Microsoft.Network/networkVirtualAppliances"),
	// 		Etag: to.Ptr("w/\\00000000-0000-0000-0000-000000000000\\"),
	// 		ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva"),
	// 		Identity: &armnetwork.ManagedServiceIdentity{
	// 			Type: to.Ptr(armnetwork.ResourceIdentityTypeUserAssigned),
	// 			UserAssignedIdentities: map[string]*armnetwork.ManagedServiceIdentityUserAssignedIdentities{
	// 				"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": &armnetwork.ManagedServiceIdentityUserAssignedIdentities{
	// 				},
	// 			},
	// 		},
	// 		Location: to.Ptr("West US"),
	// 		Properties: &armnetwork.VirtualAppliancePropertiesFormat{
	// 			AddressPrefix: to.Ptr("192.168.1.0/16"),
	// 			BootStrapConfigurationBlobs: []*string{
	// 				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig"),
	// 			},
	// 			CloudInitConfigurationBlobs: []*string{
	// 				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig"),
	// 			},
	// 			InboundSecurityRules: []*armnetwork.SubResource{
	// 				{
	// 					ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1"),
	// 				},
	// 			},
	// 			InternetIngressPublicIPs: []*armnetwork.InternetIngressPublicIPsProperties{
	// 				{
	// 					ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/slbip"),
	// 				},
	// 			},
	// 			NvaInterfaceConfigurations: []*armnetwork.NvaInterfaceConfigurationsProperties{
	// 				{
	// 					Name: to.Ptr("dataInterface"),
	// 					Type: []*armnetwork.NvaNicType{
	// 						to.Ptr(armnetwork.NvaNicTypePrivateNic),
	// 					},
	// 					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
	// 						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
	// 					},
	// 				},
	// 				{
	// 					Name: to.Ptr("managementInterface"),
	// 					Type: []*armnetwork.NvaNicType{
	// 						to.Ptr(armnetwork.NvaNicTypePublicNic),
	// 					},
	// 					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
	// 						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet2"),
	// 					},
	// 				},
	// 			},
	// 			NvaSKU: &armnetwork.VirtualApplianceSKUProperties{
	// 				BundledScaleUnit: to.Ptr("1"),
	// 				MarketPlaceVersion: to.Ptr("latest"),
	// 				Vendor: to.Ptr("Cisco SDWAN"),
	// 			},
	// 			PrivateIPAddress: to.Ptr("192.168.12.5"),
	// 			ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
	// 			VirtualApplianceAsn: to.Ptr[int64](10000),
	// 			VirtualApplianceNics: []*armnetwork.VirtualApplianceNicProperties{
	// 				{
	// 					Name: to.Ptr("managementInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.1"),
	// 					PublicIPAddress: to.Ptr("40.30.2.2"),
	// 				},
	// 				{
	// 					Name: to.Ptr("managementInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.2"),
	// 					PublicIPAddress: to.Ptr("40.30.2.3"),
	// 				},
	// 				{
	// 					Name: to.Ptr("dataInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.3"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 				{
	// 					Name: to.Ptr("dataInterface-ipconfig"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponse("")),
	// 					PrivateIPAddress: to.Ptr("192.168.12.4"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 			},
	// 		},
	// 		Tags: map[string]*string{
	// 			"key1": to.Ptr("value1"),
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2025-07-01/NetworkVirtualApplianceVnetNetworkProfilePut.json
func ExampleVirtualAppliancesClient_BeginCreateOrUpdate_createNvaInVNetWithPrivateNicPublicNicIncludingNetworkProfile() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewVirtualAppliancesClient().BeginCreateOrUpdate(ctx, "rg1", "nva", armnetwork.VirtualAppliance{
		Identity: &armnetwork.ManagedServiceIdentity{
			Type: to.Ptr(armnetwork.ResourceIdentityTypeUserAssigned),
			UserAssignedIdentities: map[string]*armnetwork.ManagedServiceIdentityUserAssignedIdentities{
				"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {},
			},
		},
		Location: to.Ptr("West US"),
		Properties: &armnetwork.VirtualAppliancePropertiesFormat{
			BootStrapConfigurationBlobs: []*string{
				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig"),
			},
			CloudInitConfigurationBlobs: []*string{
				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig"),
			},
			NetworkProfile: &armnetwork.VirtualAppliancePropertiesFormatNetworkProfile{
				NetworkInterfaceConfigurations: []*armnetwork.VirtualApplianceNetworkInterfaceConfiguration{
					{
						NicType: to.Ptr(armnetwork.NicTypeInRequestPublicNic),
						Properties: &armnetwork.VirtualApplianceNetworkInterfaceConfigurationProperties{
							IPConfigurations: []*armnetwork.VirtualApplianceIPConfiguration{
								{
									Name: to.Ptr("myPrimaryPublicIpConfig"),
									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
										Primary: to.Ptr(true),
									},
								},
								{
									Name: to.Ptr("myNonPrimaryPublicIpConfig"),
									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
										Primary: to.Ptr(false),
									},
								},
							},
						},
					},
					{
						NicType: to.Ptr(armnetwork.NicTypeInRequestPrivateNic),
						Properties: &armnetwork.VirtualApplianceNetworkInterfaceConfigurationProperties{
							IPConfigurations: []*armnetwork.VirtualApplianceIPConfiguration{
								{
									Name: to.Ptr("myPrimaryPrivateIpConfig"),
									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
										Primary: to.Ptr(true),
									},
								},
								{
									Name: to.Ptr("myNonPrimaryPrivateIpConfig"),
									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
										Primary: to.Ptr(false),
									},
								},
							},
						},
					},
				},
			},
			NvaInterfaceConfigurations: []*armnetwork.NvaInterfaceConfigurationsProperties{
				{
					Name: to.Ptr("dataInterface"),
					Type: []*armnetwork.NvaNicType{
						to.Ptr(armnetwork.NvaNicTypePrivateNic),
					},
					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
					},
				},
				{
					Name: to.Ptr("managementInterface"),
					Type: []*armnetwork.NvaNicType{
						to.Ptr(armnetwork.NvaNicTypePublicNic),
					},
					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet2"),
					},
				},
			},
			NvaSKU: &armnetwork.VirtualApplianceSKUProperties{
				BundledScaleUnit:   to.Ptr("1"),
				MarketPlaceVersion: to.Ptr("latest"),
				Vendor:             to.Ptr("Cisco SDWAN"),
			},
			VirtualApplianceAsn: to.Ptr[int64](10000),
		},
		Tags: map[string]*string{
			"key1": to.Ptr("value1"),
		},
	}, 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 poll 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 = armnetwork.VirtualAppliancesClientCreateOrUpdateResponse{
	// 	VirtualAppliance: armnetwork.VirtualAppliance{
	// 		Name: to.Ptr("nva"),
	// 		Type: to.Ptr("Microsoft.Network/networkVirtualAppliances"),
	// 		Etag: to.Ptr("w/\\00000000-0000-0000-0000-000000000000\\"),
	// 		ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva"),
	// 		Identity: &armnetwork.ManagedServiceIdentity{
	// 			Type: to.Ptr(armnetwork.ResourceIdentityTypeUserAssigned),
	// 			UserAssignedIdentities: map[string]*armnetwork.ManagedServiceIdentityUserAssignedIdentities{
	// 				"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": &armnetwork.ManagedServiceIdentityUserAssignedIdentities{
	// 				},
	// 			},
	// 		},
	// 		Location: to.Ptr("West US"),
	// 		Properties: &armnetwork.VirtualAppliancePropertiesFormat{
	// 			AddressPrefix: to.Ptr("192.168.1.0/16"),
	// 			BootStrapConfigurationBlobs: []*string{
	// 				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig"),
	// 			},
	// 			CloudInitConfigurationBlobs: []*string{
	// 				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig"),
	// 			},
	// 			InboundSecurityRules: []*armnetwork.SubResource{
	// 				{
	// 					ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1"),
	// 				},
	// 			},
	// 			NetworkProfile: &armnetwork.VirtualAppliancePropertiesFormatNetworkProfile{
	// 				NetworkInterfaceConfigurations: []*armnetwork.VirtualApplianceNetworkInterfaceConfiguration{
	// 					{
	// 						NicType: to.Ptr(armnetwork.NicTypeInRequestPublicNic),
	// 						Properties: &armnetwork.VirtualApplianceNetworkInterfaceConfigurationProperties{
	// 							IPConfigurations: []*armnetwork.VirtualApplianceIPConfiguration{
	// 								{
	// 									Name: to.Ptr("myPrimaryPublicIpConfig"),
	// 									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
	// 										Primary: to.Ptr(true),
	// 									},
	// 								},
	// 								{
	// 									Name: to.Ptr("myNonPrimaryPublicIpConfig"),
	// 									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
	// 										Primary: to.Ptr(false),
	// 									},
	// 								},
	// 							},
	// 						},
	// 					},
	// 					{
	// 						NicType: to.Ptr(armnetwork.NicTypeInRequestPrivateNic),
	// 						Properties: &armnetwork.VirtualApplianceNetworkInterfaceConfigurationProperties{
	// 							IPConfigurations: []*armnetwork.VirtualApplianceIPConfiguration{
	// 								{
	// 									Name: to.Ptr("myPrimaryPrivateIpConfig"),
	// 									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
	// 										Primary: to.Ptr(true),
	// 									},
	// 								},
	// 								{
	// 									Name: to.Ptr("myNonPrimaryPrivateIpConfig"),
	// 									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
	// 										Primary: to.Ptr(false),
	// 									},
	// 								},
	// 							},
	// 						},
	// 					},
	// 				},
	// 			},
	// 			NvaInterfaceConfigurations: []*armnetwork.NvaInterfaceConfigurationsProperties{
	// 				{
	// 					Name: to.Ptr("dataInterface"),
	// 					Type: []*armnetwork.NvaNicType{
	// 						to.Ptr(armnetwork.NvaNicTypePrivateNic),
	// 					},
	// 					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
	// 						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
	// 					},
	// 				},
	// 				{
	// 					Name: to.Ptr("managementInterface"),
	// 					Type: []*armnetwork.NvaNicType{
	// 						to.Ptr(armnetwork.NvaNicTypePublicNic),
	// 					},
	// 					Subnet: &armnetwork.NvaInVnetSubnetReferenceProperties{
	// 						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet2"),
	// 					},
	// 				},
	// 			},
	// 			NvaSKU: &armnetwork.VirtualApplianceSKUProperties{
	// 				BundledScaleUnit: to.Ptr("1"),
	// 				MarketPlaceVersion: to.Ptr("latest"),
	// 				Vendor: to.Ptr("Cisco SDWAN"),
	// 			},
	// 			PrivateIPAddress: to.Ptr("192.168.12.9"),
	// 			ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
	// 			VirtualApplianceAsn: to.Ptr[int64](10000),
	// 			VirtualApplianceNics: []*armnetwork.VirtualApplianceNicProperties{
	// 				{
	// 					Name: to.Ptr("myPrimaryPublicIpConfig"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePublicNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.1"),
	// 					PublicIPAddress: to.Ptr("40.30.2.2"),
	// 				},
	// 				{
	// 					Name: to.Ptr("myNonPrimaryPublicIpConfig"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePublicNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.2"),
	// 					PublicIPAddress: to.Ptr("40.30.2.3"),
	// 				},
	// 				{
	// 					Name: to.Ptr("myPrimaryPrivateIpConfig"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePrivateNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.3"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 				{
	// 					Name: to.Ptr("myNonPrimaryPrivateIpConfig"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePrivateNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.4"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 				{
	// 					Name: to.Ptr("myPrimaryPublicIpConfig"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePublicNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.5"),
	// 					PublicIPAddress: to.Ptr("40.30.2.4"),
	// 				},
	// 				{
	// 					Name: to.Ptr("myNonPrimaryPublicIpConfig"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePublicNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.6"),
	// 					PublicIPAddress: to.Ptr("40.30.2.5"),
	// 				},
	// 				{
	// 					Name: to.Ptr("myPrimaryPrivateIpConfig"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePrivateNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.7"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 				{
	// 					Name: to.Ptr("myNonPrimaryPrivateIpConfig"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePrivateNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.8"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 			},
	// 		},
	// 		Tags: map[string]*string{
	// 			"key1": to.Ptr("value1"),
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2025-07-01/NetworkVirtualApplianceDelete.json
func ExampleVirtualAppliancesClient_BeginDelete() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewVirtualAppliancesClient().BeginDelete(ctx, "rg1", "nva", 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 poll 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 = armnetwork.VirtualAppliancesClientDeleteResponse{
	// }
}

// Generated from example definition: 2025-07-01/NetworkVirtualApplianceGet.json
func ExampleVirtualAppliancesClient_Get() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewVirtualAppliancesClient().Get(ctx, "rg1", "nva", 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 = armnetwork.VirtualAppliancesClientGetResponse{
	// 	VirtualAppliance: armnetwork.VirtualAppliance{
	// 		Name: to.Ptr("nva"),
	// 		Type: to.Ptr("Microsoft.Network/networkVirtualAppliances"),
	// 		Etag: to.Ptr("w/\\00000000-0000-0000-0000-000000000000\\"),
	// 		ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva"),
	// 		Identity: &armnetwork.ManagedServiceIdentity{
	// 			Type: to.Ptr(armnetwork.ResourceIdentityTypeUserAssigned),
	// 			UserAssignedIdentities: map[string]*armnetwork.ManagedServiceIdentityUserAssignedIdentities{
	// 				"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": &armnetwork.ManagedServiceIdentityUserAssignedIdentities{
	// 				},
	// 			},
	// 		},
	// 		Location: to.Ptr("West US"),
	// 		Properties: &armnetwork.VirtualAppliancePropertiesFormat{
	// 			AdditionalNics: []*armnetwork.VirtualApplianceAdditionalNicProperties{
	// 				{
	// 					Name: to.Ptr("exrsdwan"),
	// 					HasPublicIP: to.Ptr(true),
	// 				},
	// 			},
	// 			AddressPrefix: to.Ptr("192.168.1.0/16"),
	// 			BootStrapConfigurationBlobs: []*string{
	// 				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig"),
	// 			},
	// 			CloudInitConfigurationBlobs: []*string{
	// 				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig"),
	// 			},
	// 			InboundSecurityRules: []*armnetwork.SubResource{
	// 				{
	// 					ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1"),
	// 				},
	// 			},
	// 			InternetIngressPublicIPs: []*armnetwork.InternetIngressPublicIPsProperties{
	// 				{
	// 					ID: to.Ptr("/subscriptions/{{subscriptionId}}/resourceGroups/{{rg}}/providers/Microsoft.Network/publicIPAddresses/slbip"),
	// 				},
	// 			},
	// 			NetworkProfile: &armnetwork.VirtualAppliancePropertiesFormatNetworkProfile{
	// 				NetworkInterfaceConfigurations: []*armnetwork.VirtualApplianceNetworkInterfaceConfiguration{
	// 					{
	// 						NicType: to.Ptr(armnetwork.NicTypeInRequestPublicNic),
	// 						Properties: &armnetwork.VirtualApplianceNetworkInterfaceConfigurationProperties{
	// 							IPConfigurations: []*armnetwork.VirtualApplianceIPConfiguration{
	// 								{
	// 									Name: to.Ptr("publicnicipconfig"),
	// 									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
	// 										Primary: to.Ptr(true),
	// 									},
	// 								},
	// 								{
	// 									Name: to.Ptr("publicnicipconfig-2"),
	// 									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
	// 										Primary: to.Ptr(false),
	// 									},
	// 								},
	// 							},
	// 						},
	// 					},
	// 					{
	// 						NicType: to.Ptr(armnetwork.NicTypeInRequestPrivateNic),
	// 						Properties: &armnetwork.VirtualApplianceNetworkInterfaceConfigurationProperties{
	// 							IPConfigurations: []*armnetwork.VirtualApplianceIPConfiguration{
	// 								{
	// 									Name: to.Ptr("privatenicipconfig"),
	// 									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
	// 										Primary: to.Ptr(true),
	// 									},
	// 								},
	// 								{
	// 									Name: to.Ptr("privatenicipconfig-2"),
	// 									Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
	// 										Primary: to.Ptr(false),
	// 									},
	// 								},
	// 							},
	// 						},
	// 					},
	// 				},
	// 			},
	// 			NvaSKU: &armnetwork.VirtualApplianceSKUProperties{
	// 				BundledScaleUnit: to.Ptr("1"),
	// 				MarketPlaceVersion: to.Ptr("12.1"),
	// 				Vendor: to.Ptr("Cisco SDWAN"),
	// 			},
	// 			PrivateIPAddress: to.Ptr("192.168.12.11"),
	// 			ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
	// 			VirtualApplianceAsn: to.Ptr[int64](10000),
	// 			VirtualApplianceConnections: []*armnetwork.SubResource{
	// 				{
	// 					ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/networkVirtualApplianceConnections/connection1"),
	// 				},
	// 			},
	// 			VirtualApplianceNics: []*armnetwork.VirtualApplianceNicProperties{
	// 				{
	// 					Name: to.Ptr("publicnicipconfig"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePublicNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.1"),
	// 					PublicIPAddress: to.Ptr("40.30.2.2"),
	// 				},
	// 				{
	// 					Name: to.Ptr("publicnicipconfig-2"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePublicNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.2"),
	// 					PublicIPAddress: to.Ptr("40.30.2.3"),
	// 				},
	// 				{
	// 					Name: to.Ptr("privatenicipconfig"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePrivateNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.3"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 				{
	// 					Name: to.Ptr("privatenicipconfig-2"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePrivateNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.4"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 				{
	// 					Name: to.Ptr("exrsdwan"),
	// 					InstanceName: to.Ptr("nva_0"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponseAdditionalNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.5"),
	// 					PublicIPAddress: to.Ptr("4.231.25.19"),
	// 				},
	// 				{
	// 					Name: to.Ptr("publicnicipconfig"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePublicNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.6"),
	// 					PublicIPAddress: to.Ptr("40.30.2.2"),
	// 				},
	// 				{
	// 					Name: to.Ptr("publicnicipconfig-2"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePublicNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.7"),
	// 					PublicIPAddress: to.Ptr("40.30.2.3"),
	// 				},
	// 				{
	// 					Name: to.Ptr("privatenicipconfig"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePrivateNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.8"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 				{
	// 					Name: to.Ptr("privatenicipconfig-2"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponsePrivateNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.9"),
	// 					PublicIPAddress: to.Ptr(""),
	// 				},
	// 				{
	// 					Name: to.Ptr("exrsdwan"),
	// 					InstanceName: to.Ptr("nva_1"),
	// 					NicType: to.Ptr(armnetwork.NicTypeInResponseAdditionalNic),
	// 					PrivateIPAddress: to.Ptr("192.168.12.10"),
	// 					PublicIPAddress: to.Ptr("4.231.25.19"),
	// 				},
	// 			},
	// 			VirtualApplianceSites: []*armnetwork.SubResource{
	// 				{
	// 					ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1"),
	// 				},
	// 			},
	// 			VirtualHub: &armnetwork.SubResource{
	// 				ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1"),
	// 			},
	// 		},
	// 		Tags: map[string]*string{
	// 			"key1": to.Ptr("value1"),
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2025-07-01/NetworkVirtualApplianceBootDiagnostics.json
func ExampleVirtualAppliancesClient_BeginGetBootDiagnosticLogs() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewVirtualAppliancesClient().BeginGetBootDiagnosticLogs(ctx, "rg1", "nva", armnetwork.VirtualApplianceBootDiagnosticParameters{
		ConsoleScreenshotStorageSasURL: to.Ptr("https://blobcortextesturl.blob.core.windows.net/nvaBootDiagContainer/consoleScreenshot.png?sp=rw&se=2018-01-10T03%3A42%3A04Z&sv=2017-04-17&sig=WvXrT5bDmDFfgHs%2Brz%2BjAu123eRCNE9BO0eQYcPDT7pY%3D&sr=b"),
		InstanceID:                     to.Ptr[int32](0),
		SerialConsoleStorageSasURL:     to.Ptr("https://blobcortextesturl.blob.core.windows.net/nvaBootDiagContainer/serialLogs.txt?sp=rw&se=2018-01-10T03%3A42%3A04Z&sv=2017-04-17&sig=WvXrT5bDmDFfgHs%2Brz%2BjAu123eRCNE9BO0eQYcPDT7pY%3D&sr=b"),
	}, 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 poll 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 = armnetwork.VirtualAppliancesClientGetBootDiagnosticLogsResponse{
	// 	VirtualApplianceInstanceID: armnetwork.VirtualApplianceInstanceID{
	// 		InstanceID: to.Ptr[int32](0),
	// 	},
	// }
}

// Generated from example definition: 2025-07-01/NetworkVirtualApplianceListBySubscription.json
func ExampleVirtualAppliancesClient_NewListPager() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewVirtualAppliancesClient().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 = armnetwork.VirtualAppliancesClientListResponse{
		// 	VirtualApplianceListResult: armnetwork.VirtualApplianceListResult{
		// 		Value: []*armnetwork.VirtualAppliance{
		// 			{
		// 				Name: to.Ptr("nva"),
		// 				Type: to.Ptr("Microsoft.Network/networkVirtualAppliances"),
		// 				Etag: to.Ptr("w/\\00000000-0000-0000-0000-000000000000\\"),
		// 				ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva"),
		// 				Identity: &armnetwork.ManagedServiceIdentity{
		// 					Type: to.Ptr(armnetwork.ResourceIdentityTypeUserAssigned),
		// 					UserAssignedIdentities: map[string]*armnetwork.ManagedServiceIdentityUserAssignedIdentities{
		// 						"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": &armnetwork.ManagedServiceIdentityUserAssignedIdentities{
		// 						},
		// 					},
		// 				},
		// 				Location: to.Ptr("West US"),
		// 				Properties: &armnetwork.VirtualAppliancePropertiesFormat{
		// 					AdditionalNics: []*armnetwork.VirtualApplianceAdditionalNicProperties{
		// 						{
		// 							Name: to.Ptr("exrsdwan"),
		// 							HasPublicIP: to.Ptr(true),
		// 						},
		// 					},
		// 					AddressPrefix: to.Ptr("192.168.1.0/16"),
		// 					BootStrapConfigurationBlobs: []*string{
		// 						to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig"),
		// 					},
		// 					CloudInitConfigurationBlobs: []*string{
		// 						to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig"),
		// 					},
		// 					InboundSecurityRules: []*armnetwork.SubResource{
		// 						{
		// 							ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1"),
		// 						},
		// 					},
		// 					InternetIngressPublicIPs: []*armnetwork.InternetIngressPublicIPsProperties{
		// 						{
		// 							ID: to.Ptr("/subscriptions/{{subscriptionId}}/resourceGroups/{{rg}}/providers/Microsoft.Network/publicIPAddresses/slbip"),
		// 						},
		// 					},
		// 					NetworkProfile: &armnetwork.VirtualAppliancePropertiesFormatNetworkProfile{
		// 						NetworkInterfaceConfigurations: []*armnetwork.VirtualApplianceNetworkInterfaceConfiguration{
		// 							{
		// 								NicType: to.Ptr(armnetwork.NicTypeInRequestPublicNic),
		// 								Properties: &armnetwork.VirtualApplianceNetworkInterfaceConfigurationProperties{
		// 									IPConfigurations: []*armnetwork.VirtualApplianceIPConfiguration{
		// 										{
		// 											Name: to.Ptr("publicnicipconfig"),
		// 											Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
		// 												Primary: to.Ptr(true),
		// 											},
		// 										},
		// 										{
		// 											Name: to.Ptr("publicnicipconfig-2"),
		// 											Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
		// 												Primary: to.Ptr(false),
		// 											},
		// 										},
		// 									},
		// 								},
		// 							},
		// 							{
		// 								NicType: to.Ptr(armnetwork.NicTypeInRequestPrivateNic),
		// 								Properties: &armnetwork.VirtualApplianceNetworkInterfaceConfigurationProperties{
		// 									IPConfigurations: []*armnetwork.VirtualApplianceIPConfiguration{
		// 										{
		// 											Name: to.Ptr("privatenicipconfig"),
		// 											Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
		// 												Primary: to.Ptr(true),
		// 											},
		// 										},
		// 										{
		// 											Name: to.Ptr("privatenicipconfig-2"),
		// 											Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
		// 												Primary: to.Ptr(false),
		// 											},
		// 										},
		// 									},
		// 								},
		// 							},
		// 						},
		// 					},
		// 					NvaSKU: &armnetwork.VirtualApplianceSKUProperties{
		// 						BundledScaleUnit: to.Ptr("1"),
		// 						MarketPlaceVersion: to.Ptr("12.1"),
		// 						Vendor: to.Ptr("Cisco SDWAN"),
		// 					},
		// 					ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
		// 					VirtualApplianceAsn: to.Ptr[int64](10000),
		// 					VirtualApplianceNics: []*armnetwork.VirtualApplianceNicProperties{
		// 						{
		// 							Name: to.Ptr("publicnicipconfig"),
		// 							InstanceName: to.Ptr("nva_0"),
		// 							NicType: to.Ptr(armnetwork.NicTypeInResponsePublicNic),
		// 							PrivateIPAddress: to.Ptr("192.168.12.1"),
		// 							PublicIPAddress: to.Ptr("40.30.2.2"),
		// 						},
		// 						{
		// 							Name: to.Ptr("publicnicipconfig-2"),
		// 							InstanceName: to.Ptr("nva_0"),
		// 							NicType: to.Ptr(armnetwork.NicTypeInResponsePublicNic),
		// 							PrivateIPAddress: to.Ptr("192.168.12.2"),
		// 							PublicIPAddress: to.Ptr("40.30.2.3"),
		// 						},
		// 						{
		// 							Name: to.Ptr("privatenicipconfig"),
		// 							InstanceName: to.Ptr("nva_0"),
		// 							NicType: to.Ptr(armnetwork.NicTypeInResponsePrivateNic),
		// 							PrivateIPAddress: to.Ptr("192.168.12.3"),
		// 							PublicIPAddress: to.Ptr(""),
		// 						},
		// 						{
		// 							Name: to.Ptr("privatenicipconfig-2"),
		// 							InstanceName: to.Ptr("nva_0"),
		// 							NicType: to.Ptr(armnetwork.NicTypeInResponsePrivateNic),
		// 							PrivateIPAddress: to.Ptr("192.168.12.4"),
		// 							PublicIPAddress: to.Ptr(""),
		// 						},
		// 						{
		// 							Name: to.Ptr("exrsdwan"),
		// 							InstanceName: to.Ptr("nva_0"),
		// 							NicType: to.Ptr(armnetwork.NicTypeInResponseAdditionalNic),
		// 							PrivateIPAddress: to.Ptr("10.1.113.4"),
		// 							PublicIPAddress: to.Ptr("4.231.25.19"),
		// 						},
		// 					},
		// 					VirtualApplianceSites: []*armnetwork.SubResource{
		// 						{
		// 							ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1"),
		// 						},
		// 					},
		// 					VirtualHub: &armnetwork.SubResource{
		// 						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1"),
		// 					},
		// 				},
		// 				Tags: map[string]*string{
		// 					"key1": to.Ptr("value1"),
		// 				},
		// 			},
		// 		},
		// 	},
		// }
	}
}

// Generated from example definition: 2025-07-01/NetworkVirtualApplianceListByResourceGroup.json
func ExampleVirtualAppliancesClient_NewListByResourceGroupPager() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewVirtualAppliancesClient().NewListByResourceGroupPager("rg1", 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 = armnetwork.VirtualAppliancesClientListByResourceGroupResponse{
		// 	VirtualApplianceListResult: armnetwork.VirtualApplianceListResult{
		// 		Value: []*armnetwork.VirtualAppliance{
		// 			{
		// 				Name: to.Ptr("nva"),
		// 				Type: to.Ptr("Microsoft.Network/networkVirtualAppliances"),
		// 				Etag: to.Ptr("w/\\00000000-0000-0000-0000-000000000000\\"),
		// 				ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva"),
		// 				Identity: &armnetwork.ManagedServiceIdentity{
		// 					Type: to.Ptr(armnetwork.ResourceIdentityTypeUserAssigned),
		// 					UserAssignedIdentities: map[string]*armnetwork.ManagedServiceIdentityUserAssignedIdentities{
		// 						"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": &armnetwork.ManagedServiceIdentityUserAssignedIdentities{
		// 						},
		// 					},
		// 				},
		// 				Location: to.Ptr("West US"),
		// 				Properties: &armnetwork.VirtualAppliancePropertiesFormat{
		// 					AdditionalNics: []*armnetwork.VirtualApplianceAdditionalNicProperties{
		// 						{
		// 							Name: to.Ptr("exrsdwan"),
		// 							HasPublicIP: to.Ptr(true),
		// 						},
		// 					},
		// 					AddressPrefix: to.Ptr("192.168.1.0/16"),
		// 					BootStrapConfigurationBlobs: []*string{
		// 						to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig"),
		// 					},
		// 					CloudInitConfigurationBlobs: []*string{
		// 						to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig"),
		// 					},
		// 					InboundSecurityRules: []*armnetwork.SubResource{
		// 						{
		// 							ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1"),
		// 						},
		// 					},
		// 					InternetIngressPublicIPs: []*armnetwork.InternetIngressPublicIPsProperties{
		// 						{
		// 							ID: to.Ptr("/subscriptions/{{subscriptionId}}/resourceGroups/{{rg}}/providers/Microsoft.Network/publicIPAddresses/slbip"),
		// 						},
		// 					},
		// 					NetworkProfile: &armnetwork.VirtualAppliancePropertiesFormatNetworkProfile{
		// 						NetworkInterfaceConfigurations: []*armnetwork.VirtualApplianceNetworkInterfaceConfiguration{
		// 							{
		// 								NicType: to.Ptr(armnetwork.NicTypeInRequestPublicNic),
		// 								Properties: &armnetwork.VirtualApplianceNetworkInterfaceConfigurationProperties{
		// 									IPConfigurations: []*armnetwork.VirtualApplianceIPConfiguration{
		// 										{
		// 											Name: to.Ptr("publicnicipconfig"),
		// 											Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
		// 												Primary: to.Ptr(true),
		// 											},
		// 										},
		// 										{
		// 											Name: to.Ptr("publicnicipconfig-2"),
		// 											Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
		// 												Primary: to.Ptr(false),
		// 											},
		// 										},
		// 									},
		// 								},
		// 							},
		// 							{
		// 								NicType: to.Ptr(armnetwork.NicTypeInRequestPrivateNic),
		// 								Properties: &armnetwork.VirtualApplianceNetworkInterfaceConfigurationProperties{
		// 									IPConfigurations: []*armnetwork.VirtualApplianceIPConfiguration{
		// 										{
		// 											Name: to.Ptr("privatenicipconfig"),
		// 											Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
		// 												Primary: to.Ptr(true),
		// 											},
		// 										},
		// 										{
		// 											Name: to.Ptr("privatenicipconfig-2"),
		// 											Properties: &armnetwork.VirtualApplianceIPConfigurationProperties{
		// 												Primary: to.Ptr(false),
		// 											},
		// 										},
		// 									},
		// 								},
		// 							},
		// 						},
		// 					},
		// 					NvaSKU: &armnetwork.VirtualApplianceSKUProperties{
		// 						BundledScaleUnit: to.Ptr("1"),
		// 						MarketPlaceVersion: to.Ptr("12.1"),
		// 						Vendor: to.Ptr("Cisco SDWAN"),
		// 					},
		// 					ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
		// 					VirtualApplianceAsn: to.Ptr[int64](10000),
		// 					VirtualApplianceNics: []*armnetwork.VirtualApplianceNicProperties{
		// 						{
		// 							Name: to.Ptr("publicnicipconfig"),
		// 							InstanceName: to.Ptr("nva_0"),
		// 							NicType: to.Ptr(armnetwork.NicTypeInResponsePublicNic),
		// 							PrivateIPAddress: to.Ptr("192.168.12.1"),
		// 							PublicIPAddress: to.Ptr("40.30.2.2"),
		// 						},
		// 						{
		// 							Name: to.Ptr("publicnicipconfig-2"),
		// 							InstanceName: to.Ptr("nva_0"),
		// 							NicType: to.Ptr(armnetwork.NicTypeInResponsePublicNic),
		// 							PrivateIPAddress: to.Ptr("192.168.12.2"),
		// 							PublicIPAddress: to.Ptr("40.30.2.3"),
		// 						},
		// 						{
		// 							Name: to.Ptr("privatenicipconfig"),
		// 							InstanceName: to.Ptr("nva_0"),
		// 							NicType: to.Ptr(armnetwork.NicTypeInResponsePrivateNic),
		// 							PrivateIPAddress: to.Ptr("192.168.12.3"),
		// 							PublicIPAddress: to.Ptr(""),
		// 						},
		// 						{
		// 							Name: to.Ptr("privatenicipconfig-2"),
		// 							InstanceName: to.Ptr("nva_0"),
		// 							NicType: to.Ptr(armnetwork.NicTypeInResponsePrivateNic),
		// 							PrivateIPAddress: to.Ptr("192.168.12.4"),
		// 							PublicIPAddress: to.Ptr(""),
		// 						},
		// 						{
		// 							Name: to.Ptr("exrsdwan"),
		// 							InstanceName: to.Ptr("nva_0"),
		// 							NicType: to.Ptr(armnetwork.NicTypeInResponseAdditionalNic),
		// 							PrivateIPAddress: to.Ptr("10.1.113.4"),
		// 							PublicIPAddress: to.Ptr("4.231.25.19"),
		// 						},
		// 					},
		// 					VirtualApplianceSites: []*armnetwork.SubResource{
		// 						{
		// 							ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1"),
		// 						},
		// 					},
		// 					VirtualHub: &armnetwork.SubResource{
		// 						ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1"),
		// 					},
		// 				},
		// 				Tags: map[string]*string{
		// 					"key1": to.Ptr("value1"),
		// 				},
		// 			},
		// 		},
		// 	},
		// }
	}
}

// Generated from example definition: 2025-07-01/NetworkVirtualApplianceSpecificReimage.json
func ExampleVirtualAppliancesClient_BeginReimage() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewVirtualAppliancesClient().BeginReimage(ctx, "rg1", "nva", 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 poll 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 = armnetwork.VirtualAppliancesClientReimageResponse{
	// 	VirtualApplianceInstanceIDs: armnetwork.VirtualApplianceInstanceIDs{
	// 		InstanceIDs: []*string{
	// 			to.Ptr("0"),
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2025-07-01/NetworkVirtualApplianceEmptyRestart.json
func ExampleVirtualAppliancesClient_BeginRestart_restartAllNetworkVirtualApplianceVMSInVMScaleSet() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewVirtualAppliancesClient().BeginRestart(ctx, "rg1", "nva", 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 poll 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 = armnetwork.VirtualAppliancesClientRestartResponse{
	// 	VirtualApplianceInstanceIDs: armnetwork.VirtualApplianceInstanceIDs{
	// 		InstanceIDs: []*string{
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2025-07-01/NetworkVirtualApplianceSpecificRestart.json
func ExampleVirtualAppliancesClient_BeginRestart_restartSpecificNetworkVirtualApplianceVMSInVMScaleSet() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewVirtualAppliancesClient().BeginRestart(ctx, "rg1", "nva", 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 poll 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 = armnetwork.VirtualAppliancesClientRestartResponse{
	// 	VirtualApplianceInstanceIDs: armnetwork.VirtualApplianceInstanceIDs{
	// 		InstanceIDs: []*string{
	// 			to.Ptr("0"),
	// 			to.Ptr("1"),
	// 		},
	// 	},
	// }
}

// Generated from example definition: 2025-07-01/NetworkVirtualApplianceUpdateTags.json
func ExampleVirtualAppliancesClient_UpdateTags() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewVirtualAppliancesClient().UpdateTags(ctx, "rg1", "nva", armnetwork.TagsObject{
		Tags: map[string]*string{
			"key1": to.Ptr("value1"),
			"key2": to.Ptr("value2"),
		},
	}, 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 = armnetwork.VirtualAppliancesClientUpdateTagsResponse{
	// 	VirtualAppliance: armnetwork.VirtualAppliance{
	// 		Name: to.Ptr("nva"),
	// 		Type: to.Ptr("Microsoft.Network/networkVirtualAppliances"),
	// 		Etag: to.Ptr("w/\\00000000-0000-0000-0000-000000000000\\"),
	// 		ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva"),
	// 		Identity: &armnetwork.ManagedServiceIdentity{
	// 			Type: to.Ptr(armnetwork.ResourceIdentityTypeUserAssigned),
	// 			UserAssignedIdentities: map[string]*armnetwork.ManagedServiceIdentityUserAssignedIdentities{
	// 				"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": &armnetwork.ManagedServiceIdentityUserAssignedIdentities{
	// 				},
	// 			},
	// 		},
	// 		Location: to.Ptr("West US"),
	// 		Properties: &armnetwork.VirtualAppliancePropertiesFormat{
	// 			AddressPrefix: to.Ptr("192.168.1.0/16"),
	// 			BootStrapConfigurationBlobs: []*string{
	// 				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig"),
	// 			},
	// 			CloudInitConfigurationBlobs: []*string{
	// 				to.Ptr("https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig"),
	// 			},
	// 			NvaSKU: &armnetwork.VirtualApplianceSKUProperties{
	// 				BundledScaleUnit: to.Ptr("1"),
	// 				MarketPlaceVersion: to.Ptr("12.1"),
	// 				Vendor: to.Ptr("Cisco SDWAN"),
	// 			},
	// 			ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
	// 			VirtualApplianceAsn: to.Ptr[int64](10000),
	// 			VirtualApplianceNics: []*armnetwork.VirtualApplianceNicProperties{
	// 				{
	// 					Name: to.Ptr("managementNic"),
	// 					PrivateIPAddress: to.Ptr("192.168.12.1"),
	// 					PublicIPAddress: to.Ptr("40.30.2.2"),
	// 				},
	// 				{
	// 					Name: to.Ptr("privateNic-1"),
	// 					PrivateIPAddress: to.Ptr("192.168.12.2"),
	// 				},
	// 			},
	// 			VirtualApplianceSites: []*armnetwork.SubResource{
	// 				{
	// 					ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networtkVirtualAppliances/nva/virtualApplianceSites/site1"),
	// 				},
	// 			},
	// 			VirtualHub: &armnetwork.SubResource{
	// 				ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1"),
	// 			},
	// 		},
	// 		Tags: map[string]*string{
	// 			"key1": to.Ptr("value1"),
	// 			"key2": to.Ptr("value2"),
	// 		},
	// 	},
	// }
}
