//go:build go1.18
// +build go1.18

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.
// DO NOT EDIT.

package armdesktopvirtualization_test

import (
	"context"
	"log"

	"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/desktopvirtualization/armdesktopvirtualization/v2"
)

// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4883fa5dbf6f2c9093fac8ce334547e9dfac68fa/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Get.json
func ExampleScalingPlansClient_Get() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armdesktopvirtualization.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewScalingPlansClient().Get(ctx, "resourceGroup1", "scalingPlan1", 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.ScalingPlan = armdesktopvirtualization.ScalingPlan{
	// 	Name: to.Ptr("workspace1"),
	// 	Type: to.Ptr("Microsoft.DesktopVirtualization/scalingPlans"),
	// 	ID: to.Ptr("/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1"),
	// 	SystemData: &armdesktopvirtualization.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-01-01T17:18:19.123Z"); return t}()),
	// 		CreatedBy: to.Ptr("user1"),
	// 		CreatedByType: to.Ptr(armdesktopvirtualization.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-01-02T17:18:19.123Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("user2"),
	// 		LastModifiedByType: to.Ptr(armdesktopvirtualization.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("centralus"),
	// 	Tags: map[string]*string{
	// 		"key1": to.Ptr("value1"),
	// 		"key2": to.Ptr("value2"),
	// 	},
	// 	Properties: &armdesktopvirtualization.ScalingPlanProperties{
	// 		Description: to.Ptr("Description of scaling plan"),
	// 		ExclusionTag: to.Ptr("value"),
	// 		FriendlyName: to.Ptr("Scaling Plan 1"),
	// 		HostPoolReferences: []*armdesktopvirtualization.ScalingHostPoolReference{
	// 			{
	// 				HostPoolArmPath: to.Ptr("/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1"),
	// 				ScalingPlanEnabled: to.Ptr(true),
	// 		}},
	// 		HostPoolType: to.Ptr(armdesktopvirtualization.ScalingHostPoolTypePooled),
	// 		ObjectID: to.Ptr("00000000-0000-0000-0000-000000000000"),
	// 		Schedules: []*armdesktopvirtualization.ScalingSchedule{
	// 			{
	// 				Name: to.Ptr("schedule1"),
	// 				DaysOfWeek: []*armdesktopvirtualization.ScalingScheduleDaysOfWeekItem{
	// 					to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemMonday),
	// 					to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemTuesday),
	// 					to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemWednesday),
	// 					to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemThursday),
	// 					to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemFriday)},
	// 					OffPeakLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
	// 					OffPeakStartTime: &armdesktopvirtualization.Time{
	// 						Hour: to.Ptr[int32](20),
	// 						Minute: to.Ptr[int32](0),
	// 					},
	// 					PeakLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmBreadthFirst),
	// 					PeakStartTime: &armdesktopvirtualization.Time{
	// 						Hour: to.Ptr[int32](8),
	// 						Minute: to.Ptr[int32](0),
	// 					},
	// 					RampDownCapacityThresholdPct: to.Ptr[int32](50),
	// 					RampDownForceLogoffUsers: to.Ptr(true),
	// 					RampDownLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
	// 					RampDownMinimumHostsPct: to.Ptr[int32](20),
	// 					RampDownNotificationMessage: to.Ptr("message"),
	// 					RampDownStartTime: &armdesktopvirtualization.Time{
	// 						Hour: to.Ptr[int32](18),
	// 						Minute: to.Ptr[int32](0),
	// 					},
	// 					RampDownWaitTimeMinutes: to.Ptr[int32](30),
	// 					RampUpCapacityThresholdPct: to.Ptr[int32](80),
	// 					RampUpLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
	// 					RampUpMinimumHostsPct: to.Ptr[int32](20),
	// 					RampUpStartTime: &armdesktopvirtualization.Time{
	// 						Hour: to.Ptr[int32](6),
	// 						Minute: to.Ptr[int32](0),
	// 					},
	// 			}},
	// 			TimeZone: to.Ptr("Central Standard Time"),
	// 		},
	// 	}
}

// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4883fa5dbf6f2c9093fac8ce334547e9dfac68fa/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Create.json
func ExampleScalingPlansClient_Create() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armdesktopvirtualization.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewScalingPlansClient().Create(ctx, "resourceGroup1", "scalingPlan1", armdesktopvirtualization.ScalingPlan{
		Location: to.Ptr("centralus"),
		Tags: map[string]*string{
			"tag1": to.Ptr("value1"),
			"tag2": to.Ptr("value2"),
		},
		Properties: &armdesktopvirtualization.ScalingPlanProperties{
			Description:  to.Ptr("Description of Scaling Plan"),
			ExclusionTag: to.Ptr("value"),
			FriendlyName: to.Ptr("Scaling Plan 1"),
			HostPoolReferences: []*armdesktopvirtualization.ScalingHostPoolReference{
				{
					HostPoolArmPath:    to.Ptr("/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1"),
					ScalingPlanEnabled: to.Ptr(true),
				}},
			HostPoolType: to.Ptr(armdesktopvirtualization.ScalingHostPoolTypePooled),
			Schedules: []*armdesktopvirtualization.ScalingSchedule{
				{
					Name: to.Ptr("schedule1"),
					DaysOfWeek: []*armdesktopvirtualization.ScalingScheduleDaysOfWeekItem{
						to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemMonday),
						to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemTuesday),
						to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemWednesday),
						to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemThursday),
						to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemFriday)},
					OffPeakLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
					OffPeakStartTime: &armdesktopvirtualization.Time{
						Hour:   to.Ptr[int32](20),
						Minute: to.Ptr[int32](0),
					},
					PeakLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmBreadthFirst),
					PeakStartTime: &armdesktopvirtualization.Time{
						Hour:   to.Ptr[int32](8),
						Minute: to.Ptr[int32](0),
					},
					RampDownCapacityThresholdPct:   to.Ptr[int32](50),
					RampDownForceLogoffUsers:       to.Ptr(true),
					RampDownLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
					RampDownMinimumHostsPct:        to.Ptr[int32](20),
					RampDownNotificationMessage:    to.Ptr("message"),
					RampDownStartTime: &armdesktopvirtualization.Time{
						Hour:   to.Ptr[int32](18),
						Minute: to.Ptr[int32](0),
					},
					RampDownWaitTimeMinutes:      to.Ptr[int32](30),
					RampUpCapacityThresholdPct:   to.Ptr[int32](80),
					RampUpLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
					RampUpMinimumHostsPct:        to.Ptr[int32](20),
					RampUpStartTime: &armdesktopvirtualization.Time{
						Hour:   to.Ptr[int32](6),
						Minute: to.Ptr[int32](0),
					},
				}},
			TimeZone: to.Ptr("Central Standard Time"),
		},
	}, 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.ScalingPlan = armdesktopvirtualization.ScalingPlan{
	// 	Name: to.Ptr("scalingPlan1"),
	// 	Type: to.Ptr("Microsoft.DesktopVirtualization/scalingPlans"),
	// 	ID: to.Ptr("/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1"),
	// 	SystemData: &armdesktopvirtualization.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-01-01T17:18:19.123Z"); return t}()),
	// 		CreatedBy: to.Ptr("user1"),
	// 		CreatedByType: to.Ptr(armdesktopvirtualization.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-01-02T17:18:19.123Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("user2"),
	// 		LastModifiedByType: to.Ptr(armdesktopvirtualization.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("centralus"),
	// 	Tags: map[string]*string{
	// 		"key1": to.Ptr("value1"),
	// 		"key2": to.Ptr("value2"),
	// 	},
	// 	Properties: &armdesktopvirtualization.ScalingPlanProperties{
	// 		Description: to.Ptr("Description of Scaling Plan"),
	// 		ExclusionTag: to.Ptr("value"),
	// 		FriendlyName: to.Ptr("Scaling Plan 1"),
	// 		HostPoolReferences: []*armdesktopvirtualization.ScalingHostPoolReference{
	// 			{
	// 				HostPoolArmPath: to.Ptr("/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1"),
	// 				ScalingPlanEnabled: to.Ptr(true),
	// 		}},
	// 		HostPoolType: to.Ptr(armdesktopvirtualization.ScalingHostPoolTypePooled),
	// 		ObjectID: to.Ptr("00000000-0000-0000-0000-000000000000"),
	// 		Schedules: []*armdesktopvirtualization.ScalingSchedule{
	// 			{
	// 				Name: to.Ptr("schedule1"),
	// 				DaysOfWeek: []*armdesktopvirtualization.ScalingScheduleDaysOfWeekItem{
	// 					to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemMonday),
	// 					to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemTuesday),
	// 					to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemWednesday),
	// 					to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemThursday),
	// 					to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemFriday)},
	// 					OffPeakLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
	// 					OffPeakStartTime: &armdesktopvirtualization.Time{
	// 						Hour: to.Ptr[int32](20),
	// 						Minute: to.Ptr[int32](0),
	// 					},
	// 					PeakLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmBreadthFirst),
	// 					PeakStartTime: &armdesktopvirtualization.Time{
	// 						Hour: to.Ptr[int32](8),
	// 						Minute: to.Ptr[int32](0),
	// 					},
	// 					RampDownCapacityThresholdPct: to.Ptr[int32](50),
	// 					RampDownForceLogoffUsers: to.Ptr(true),
	// 					RampDownLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
	// 					RampDownMinimumHostsPct: to.Ptr[int32](20),
	// 					RampDownNotificationMessage: to.Ptr("message"),
	// 					RampDownStartTime: &armdesktopvirtualization.Time{
	// 						Hour: to.Ptr[int32](18),
	// 						Minute: to.Ptr[int32](0),
	// 					},
	// 					RampDownWaitTimeMinutes: to.Ptr[int32](30),
	// 					RampUpCapacityThresholdPct: to.Ptr[int32](80),
	// 					RampUpLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
	// 					RampUpMinimumHostsPct: to.Ptr[int32](20),
	// 					RampUpStartTime: &armdesktopvirtualization.Time{
	// 						Hour: to.Ptr[int32](6),
	// 						Minute: to.Ptr[int32](0),
	// 					},
	// 			}},
	// 			TimeZone: to.Ptr("Central Standard Time"),
	// 		},
	// 	}
}

// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4883fa5dbf6f2c9093fac8ce334547e9dfac68fa/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Delete.json
func ExampleScalingPlansClient_Delete() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armdesktopvirtualization.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	_, err = clientFactory.NewScalingPlansClient().Delete(ctx, "resourceGroup1", "scalingPlan1", nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
}

// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4883fa5dbf6f2c9093fac8ce334547e9dfac68fa/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_Update.json
func ExampleScalingPlansClient_Update() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armdesktopvirtualization.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewScalingPlansClient().Update(ctx, "resourceGroup1", "scalingPlan1", &armdesktopvirtualization.ScalingPlansClientUpdateOptions{ScalingPlan: 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.ScalingPlan = armdesktopvirtualization.ScalingPlan{
	// 	Name: to.Ptr("scalingPlan1"),
	// 	Type: to.Ptr("Microsoft.DesktopVirtualization/scalingPlans"),
	// 	ID: to.Ptr("/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1"),
	// 	SystemData: &armdesktopvirtualization.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-01-01T17:18:19.123Z"); return t}()),
	// 		CreatedBy: to.Ptr("user1"),
	// 		CreatedByType: to.Ptr(armdesktopvirtualization.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-01-02T17:18:19.123Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("user2"),
	// 		LastModifiedByType: to.Ptr(armdesktopvirtualization.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("centralus"),
	// 	Tags: map[string]*string{
	// 		"key1": to.Ptr("value1"),
	// 		"key2": to.Ptr("value2"),
	// 	},
	// 	Properties: &armdesktopvirtualization.ScalingPlanProperties{
	// 		Description: to.Ptr("Description of Scaling Plan"),
	// 		ExclusionTag: to.Ptr("value"),
	// 		FriendlyName: to.Ptr("Scaling Plan 1"),
	// 		HostPoolReferences: []*armdesktopvirtualization.ScalingHostPoolReference{
	// 			{
	// 				HostPoolArmPath: to.Ptr("/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1"),
	// 				ScalingPlanEnabled: to.Ptr(true),
	// 		}},
	// 		HostPoolType: to.Ptr(armdesktopvirtualization.ScalingHostPoolTypePooled),
	// 		ObjectID: to.Ptr("00000000-0000-0000-0000-000000000000"),
	// 		Schedules: []*armdesktopvirtualization.ScalingSchedule{
	// 			{
	// 				Name: to.Ptr("schedule1"),
	// 				DaysOfWeek: []*armdesktopvirtualization.ScalingScheduleDaysOfWeekItem{
	// 					to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemMonday),
	// 					to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemTuesday),
	// 					to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemWednesday),
	// 					to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemThursday),
	// 					to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemFriday)},
	// 					OffPeakLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
	// 					OffPeakStartTime: &armdesktopvirtualization.Time{
	// 						Hour: to.Ptr[int32](20),
	// 						Minute: to.Ptr[int32](0),
	// 					},
	// 					PeakLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmBreadthFirst),
	// 					PeakStartTime: &armdesktopvirtualization.Time{
	// 						Hour: to.Ptr[int32](8),
	// 						Minute: to.Ptr[int32](0),
	// 					},
	// 					RampDownCapacityThresholdPct: to.Ptr[int32](50),
	// 					RampDownForceLogoffUsers: to.Ptr(true),
	// 					RampDownLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
	// 					RampDownMinimumHostsPct: to.Ptr[int32](20),
	// 					RampDownNotificationMessage: to.Ptr("message"),
	// 					RampDownStartTime: &armdesktopvirtualization.Time{
	// 						Hour: to.Ptr[int32](18),
	// 						Minute: to.Ptr[int32](0),
	// 					},
	// 					RampDownWaitTimeMinutes: to.Ptr[int32](30),
	// 					RampUpCapacityThresholdPct: to.Ptr[int32](80),
	// 					RampUpLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
	// 					RampUpMinimumHostsPct: to.Ptr[int32](20),
	// 					RampUpStartTime: &armdesktopvirtualization.Time{
	// 						Hour: to.Ptr[int32](6),
	// 						Minute: to.Ptr[int32](0),
	// 					},
	// 			}},
	// 			TimeZone: to.Ptr("Central Standard Time"),
	// 		},
	// 	}
}

// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4883fa5dbf6f2c9093fac8ce334547e9dfac68fa/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_ListByResourceGroup.json
func ExampleScalingPlansClient_NewListByResourceGroupPager() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armdesktopvirtualization.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewScalingPlansClient().NewListByResourceGroupPager("resourceGroup1", &armdesktopvirtualization.ScalingPlansClientListByResourceGroupOptions{PageSize: to.Ptr[int32](10),
		IsDescending: to.Ptr(true),
		InitialSkip:  to.Ptr[int32](0),
	})
	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.ScalingPlanList = armdesktopvirtualization.ScalingPlanList{
		// 	Value: []*armdesktopvirtualization.ScalingPlan{
		// 		{
		// 			Name: to.Ptr("scalingPlan1"),
		// 			Type: to.Ptr("Microsoft.DesktopVirtualization/scalingPlans"),
		// 			ID: to.Ptr("/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1"),
		// 			SystemData: &armdesktopvirtualization.SystemData{
		// 				CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-01-01T17:18:19.123Z"); return t}()),
		// 				CreatedBy: to.Ptr("user1"),
		// 				CreatedByType: to.Ptr(armdesktopvirtualization.CreatedByTypeUser),
		// 				LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-01-02T17:18:19.123Z"); return t}()),
		// 				LastModifiedBy: to.Ptr("user2"),
		// 				LastModifiedByType: to.Ptr(armdesktopvirtualization.CreatedByTypeUser),
		// 			},
		// 			Location: to.Ptr("centralus"),
		// 			Tags: map[string]*string{
		// 				"key1": to.Ptr("value1"),
		// 				"key2": to.Ptr("value2"),
		// 			},
		// 			Properties: &armdesktopvirtualization.ScalingPlanProperties{
		// 				Description: to.Ptr("Description of Scaling Plan"),
		// 				ExclusionTag: to.Ptr("value"),
		// 				FriendlyName: to.Ptr("Scaling Plan 1"),
		// 				HostPoolReferences: []*armdesktopvirtualization.ScalingHostPoolReference{
		// 					{
		// 						HostPoolArmPath: to.Ptr("/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1"),
		// 						ScalingPlanEnabled: to.Ptr(true),
		// 				}},
		// 				HostPoolType: to.Ptr(armdesktopvirtualization.ScalingHostPoolTypePooled),
		// 				ObjectID: to.Ptr("00000000-0000-0000-0000-000000000000"),
		// 				Schedules: []*armdesktopvirtualization.ScalingSchedule{
		// 					{
		// 						Name: to.Ptr("schedule1"),
		// 						DaysOfWeek: []*armdesktopvirtualization.ScalingScheduleDaysOfWeekItem{
		// 							to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemMonday),
		// 							to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemTuesday),
		// 							to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemWednesday),
		// 							to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemThursday),
		// 							to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemFriday)},
		// 							OffPeakLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
		// 							OffPeakStartTime: &armdesktopvirtualization.Time{
		// 								Hour: to.Ptr[int32](20),
		// 								Minute: to.Ptr[int32](0),
		// 							},
		// 							PeakLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmBreadthFirst),
		// 							PeakStartTime: &armdesktopvirtualization.Time{
		// 								Hour: to.Ptr[int32](8),
		// 								Minute: to.Ptr[int32](0),
		// 							},
		// 							RampDownCapacityThresholdPct: to.Ptr[int32](50),
		// 							RampDownForceLogoffUsers: to.Ptr(true),
		// 							RampDownLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
		// 							RampDownMinimumHostsPct: to.Ptr[int32](20),
		// 							RampDownNotificationMessage: to.Ptr("message"),
		// 							RampDownStartTime: &armdesktopvirtualization.Time{
		// 								Hour: to.Ptr[int32](18),
		// 								Minute: to.Ptr[int32](0),
		// 							},
		// 							RampDownWaitTimeMinutes: to.Ptr[int32](30),
		// 							RampUpCapacityThresholdPct: to.Ptr[int32](80),
		// 							RampUpLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
		// 							RampUpMinimumHostsPct: to.Ptr[int32](20),
		// 							RampUpStartTime: &armdesktopvirtualization.Time{
		// 								Hour: to.Ptr[int32](6),
		// 								Minute: to.Ptr[int32](0),
		// 							},
		// 					}},
		// 					TimeZone: to.Ptr("Central Standard Time"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("scalingPlan2"),
		// 				Type: to.Ptr("Microsoft.DesktopVirtualization/scalingPlans"),
		// 				ID: to.Ptr("/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan2"),
		// 				SystemData: &armdesktopvirtualization.SystemData{
		// 					CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-01-01T17:18:19.123Z"); return t}()),
		// 					CreatedBy: to.Ptr("user1"),
		// 					CreatedByType: to.Ptr(armdesktopvirtualization.CreatedByTypeUser),
		// 					LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-01-02T17:18:19.123Z"); return t}()),
		// 					LastModifiedBy: to.Ptr("user2"),
		// 					LastModifiedByType: to.Ptr(armdesktopvirtualization.CreatedByTypeUser),
		// 				},
		// 				Location: to.Ptr("centralus"),
		// 				Tags: map[string]*string{
		// 					"key1": to.Ptr("value1"),
		// 					"key2": to.Ptr("value2"),
		// 				},
		// 				Properties: &armdesktopvirtualization.ScalingPlanProperties{
		// 					Description: to.Ptr("Description of Scaling Plan"),
		// 					ExclusionTag: to.Ptr("value"),
		// 					FriendlyName: to.Ptr("Scaling Plan 1"),
		// 					HostPoolReferences: []*armdesktopvirtualization.ScalingHostPoolReference{
		// 						{
		// 							HostPoolArmPath: to.Ptr("/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1"),
		// 							ScalingPlanEnabled: to.Ptr(true),
		// 					}},
		// 					HostPoolType: to.Ptr(armdesktopvirtualization.ScalingHostPoolTypePooled),
		// 					ObjectID: to.Ptr("00000000-0000-0000-0000-000000000000"),
		// 					Schedules: []*armdesktopvirtualization.ScalingSchedule{
		// 						{
		// 							Name: to.Ptr("schedule1"),
		// 							DaysOfWeek: []*armdesktopvirtualization.ScalingScheduleDaysOfWeekItem{
		// 								to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemMonday),
		// 								to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemTuesday),
		// 								to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemWednesday),
		// 								to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemThursday),
		// 								to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemFriday)},
		// 								OffPeakLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
		// 								OffPeakStartTime: &armdesktopvirtualization.Time{
		// 									Hour: to.Ptr[int32](20),
		// 									Minute: to.Ptr[int32](0),
		// 								},
		// 								PeakLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmBreadthFirst),
		// 								PeakStartTime: &armdesktopvirtualization.Time{
		// 									Hour: to.Ptr[int32](8),
		// 									Minute: to.Ptr[int32](0),
		// 								},
		// 								RampDownCapacityThresholdPct: to.Ptr[int32](50),
		// 								RampDownForceLogoffUsers: to.Ptr(false),
		// 								RampDownLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
		// 								RampDownMinimumHostsPct: to.Ptr[int32](20),
		// 								RampDownStartTime: &armdesktopvirtualization.Time{
		// 									Hour: to.Ptr[int32](18),
		// 									Minute: to.Ptr[int32](0),
		// 								},
		// 								RampDownStopHostsWhen: to.Ptr(armdesktopvirtualization.StopHostsWhenZeroSessions),
		// 								RampUpCapacityThresholdPct: to.Ptr[int32](80),
		// 								RampUpLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
		// 								RampUpMinimumHostsPct: to.Ptr[int32](20),
		// 								RampUpStartTime: &armdesktopvirtualization.Time{
		// 									Hour: to.Ptr[int32](6),
		// 									Minute: to.Ptr[int32](0),
		// 								},
		// 						}},
		// 						TimeZone: to.Ptr("Central Standard Time"),
		// 					},
		// 			}},
		// 		}
	}
}

// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4883fa5dbf6f2c9093fac8ce334547e9dfac68fa/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_ListBySubscription.json
func ExampleScalingPlansClient_NewListBySubscriptionPager() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armdesktopvirtualization.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewScalingPlansClient().NewListBySubscriptionPager(&armdesktopvirtualization.ScalingPlansClientListBySubscriptionOptions{PageSize: to.Ptr[int32](10),
		IsDescending: to.Ptr(true),
		InitialSkip:  to.Ptr[int32](0),
	})
	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.ScalingPlanList = armdesktopvirtualization.ScalingPlanList{
		// 	Value: []*armdesktopvirtualization.ScalingPlan{
		// 		{
		// 			Name: to.Ptr("scalingPlan1"),
		// 			Type: to.Ptr("Microsoft.DesktopVirtualization/scalingPlans"),
		// 			ID: to.Ptr("/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1"),
		// 			SystemData: &armdesktopvirtualization.SystemData{
		// 				CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-01-01T17:18:19.123Z"); return t}()),
		// 				CreatedBy: to.Ptr("user1"),
		// 				CreatedByType: to.Ptr(armdesktopvirtualization.CreatedByTypeUser),
		// 				LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-01-02T17:18:19.123Z"); return t}()),
		// 				LastModifiedBy: to.Ptr("user2"),
		// 				LastModifiedByType: to.Ptr(armdesktopvirtualization.CreatedByTypeUser),
		// 			},
		// 			Location: to.Ptr("centralus"),
		// 			Tags: map[string]*string{
		// 				"key1": to.Ptr("value1"),
		// 				"key2": to.Ptr("value2"),
		// 			},
		// 			Properties: &armdesktopvirtualization.ScalingPlanProperties{
		// 				Description: to.Ptr("Description of Scaling Plan"),
		// 				ExclusionTag: to.Ptr("value"),
		// 				FriendlyName: to.Ptr("Scaling Plan 1"),
		// 				HostPoolReferences: []*armdesktopvirtualization.ScalingHostPoolReference{
		// 					{
		// 						HostPoolArmPath: to.Ptr("/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1"),
		// 						ScalingPlanEnabled: to.Ptr(true),
		// 				}},
		// 				HostPoolType: to.Ptr(armdesktopvirtualization.ScalingHostPoolTypePooled),
		// 				ObjectID: to.Ptr("00000000-0000-0000-0000-000000000000"),
		// 				Schedules: []*armdesktopvirtualization.ScalingSchedule{
		// 					{
		// 						Name: to.Ptr("schedule1"),
		// 						DaysOfWeek: []*armdesktopvirtualization.ScalingScheduleDaysOfWeekItem{
		// 							to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemMonday),
		// 							to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemTuesday),
		// 							to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemWednesday),
		// 							to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemThursday),
		// 							to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemFriday)},
		// 							OffPeakLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
		// 							OffPeakStartTime: &armdesktopvirtualization.Time{
		// 								Hour: to.Ptr[int32](20),
		// 								Minute: to.Ptr[int32](0),
		// 							},
		// 							PeakLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmBreadthFirst),
		// 							PeakStartTime: &armdesktopvirtualization.Time{
		// 								Hour: to.Ptr[int32](8),
		// 								Minute: to.Ptr[int32](0),
		// 							},
		// 							RampDownCapacityThresholdPct: to.Ptr[int32](50),
		// 							RampDownForceLogoffUsers: to.Ptr(true),
		// 							RampDownLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
		// 							RampDownMinimumHostsPct: to.Ptr[int32](20),
		// 							RampDownNotificationMessage: to.Ptr("message"),
		// 							RampDownStartTime: &armdesktopvirtualization.Time{
		// 								Hour: to.Ptr[int32](18),
		// 								Minute: to.Ptr[int32](0),
		// 							},
		// 							RampDownWaitTimeMinutes: to.Ptr[int32](30),
		// 							RampUpCapacityThresholdPct: to.Ptr[int32](80),
		// 							RampUpLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
		// 							RampUpMinimumHostsPct: to.Ptr[int32](20),
		// 							RampUpStartTime: &armdesktopvirtualization.Time{
		// 								Hour: to.Ptr[int32](6),
		// 								Minute: to.Ptr[int32](0),
		// 							},
		// 					}},
		// 					TimeZone: to.Ptr("Central Standard Time"),
		// 				},
		// 			},
		// 			{
		// 				Name: to.Ptr("scalingPlan2"),
		// 				Type: to.Ptr("Microsoft.DesktopVirtualization/scalingPlans"),
		// 				ID: to.Ptr("/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan2"),
		// 				SystemData: &armdesktopvirtualization.SystemData{
		// 					CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-01-01T17:18:19.123Z"); return t}()),
		// 					CreatedBy: to.Ptr("user1"),
		// 					CreatedByType: to.Ptr(armdesktopvirtualization.CreatedByTypeUser),
		// 					LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-01-02T17:18:19.123Z"); return t}()),
		// 					LastModifiedBy: to.Ptr("user2"),
		// 					LastModifiedByType: to.Ptr(armdesktopvirtualization.CreatedByTypeUser),
		// 				},
		// 				Location: to.Ptr("centralus"),
		// 				Tags: map[string]*string{
		// 					"key1": to.Ptr("value1"),
		// 					"key2": to.Ptr("value2"),
		// 				},
		// 				Properties: &armdesktopvirtualization.ScalingPlanProperties{
		// 					Description: to.Ptr("Description of Scaling Plan"),
		// 					ExclusionTag: to.Ptr("value"),
		// 					FriendlyName: to.Ptr("Scaling Plan 1"),
		// 					HostPoolReferences: []*armdesktopvirtualization.ScalingHostPoolReference{
		// 						{
		// 							HostPoolArmPath: to.Ptr("/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1"),
		// 							ScalingPlanEnabled: to.Ptr(true),
		// 					}},
		// 					HostPoolType: to.Ptr(armdesktopvirtualization.ScalingHostPoolTypePooled),
		// 					ObjectID: to.Ptr("00000000-0000-0000-0000-000000000000"),
		// 					Schedules: []*armdesktopvirtualization.ScalingSchedule{
		// 						{
		// 							Name: to.Ptr("schedule1"),
		// 							DaysOfWeek: []*armdesktopvirtualization.ScalingScheduleDaysOfWeekItem{
		// 								to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemMonday),
		// 								to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemTuesday),
		// 								to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemWednesday),
		// 								to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemThursday),
		// 								to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemFriday)},
		// 								OffPeakLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
		// 								OffPeakStartTime: &armdesktopvirtualization.Time{
		// 									Hour: to.Ptr[int32](20),
		// 									Minute: to.Ptr[int32](0),
		// 								},
		// 								PeakLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmBreadthFirst),
		// 								PeakStartTime: &armdesktopvirtualization.Time{
		// 									Hour: to.Ptr[int32](8),
		// 									Minute: to.Ptr[int32](0),
		// 								},
		// 								RampDownCapacityThresholdPct: to.Ptr[int32](50),
		// 								RampDownForceLogoffUsers: to.Ptr(false),
		// 								RampDownLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
		// 								RampDownMinimumHostsPct: to.Ptr[int32](20),
		// 								RampDownStartTime: &armdesktopvirtualization.Time{
		// 									Hour: to.Ptr[int32](18),
		// 									Minute: to.Ptr[int32](0),
		// 								},
		// 								RampDownStopHostsWhen: to.Ptr(armdesktopvirtualization.StopHostsWhenZeroActiveSessions),
		// 								RampUpCapacityThresholdPct: to.Ptr[int32](80),
		// 								RampUpLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
		// 								RampUpMinimumHostsPct: to.Ptr[int32](20),
		// 								RampUpStartTime: &armdesktopvirtualization.Time{
		// 									Hour: to.Ptr[int32](6),
		// 									Minute: to.Ptr[int32](0),
		// 								},
		// 						}},
		// 						TimeZone: to.Ptr("Central Standard Time"),
		// 					},
		// 			}},
		// 		}
	}
}

// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4883fa5dbf6f2c9093fac8ce334547e9dfac68fa/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/stable/2024-04-03/examples/ScalingPlan_ListByHostPool.json
func ExampleScalingPlansClient_NewListByHostPoolPager() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armdesktopvirtualization.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewScalingPlansClient().NewListByHostPoolPager("resourceGroup1", "hostPool1", &armdesktopvirtualization.ScalingPlansClientListByHostPoolOptions{PageSize: to.Ptr[int32](10),
		IsDescending: to.Ptr(true),
		InitialSkip:  to.Ptr[int32](0),
	})
	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.ScalingPlanList = armdesktopvirtualization.ScalingPlanList{
		// 	Value: []*armdesktopvirtualization.ScalingPlan{
		// 		{
		// 			Name: to.Ptr("scalingPlan1"),
		// 			Type: to.Ptr("Microsoft.DesktopVirtualization/scalingPlans"),
		// 			ID: to.Ptr("/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1"),
		// 			SystemData: &armdesktopvirtualization.SystemData{
		// 				CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-01-01T17:18:19.123Z"); return t}()),
		// 				CreatedBy: to.Ptr("user1"),
		// 				CreatedByType: to.Ptr(armdesktopvirtualization.CreatedByTypeUser),
		// 				LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-01-02T17:18:19.123Z"); return t}()),
		// 				LastModifiedBy: to.Ptr("user2"),
		// 				LastModifiedByType: to.Ptr(armdesktopvirtualization.CreatedByTypeUser),
		// 			},
		// 			Location: to.Ptr("centralus"),
		// 			Tags: map[string]*string{
		// 				"key1": to.Ptr("value1"),
		// 				"key2": to.Ptr("value2"),
		// 			},
		// 			Properties: &armdesktopvirtualization.ScalingPlanProperties{
		// 				Description: to.Ptr("Description of Scaling Plan"),
		// 				ExclusionTag: to.Ptr("value"),
		// 				FriendlyName: to.Ptr("Scaling Plan 1"),
		// 				HostPoolReferences: []*armdesktopvirtualization.ScalingHostPoolReference{
		// 					{
		// 						HostPoolArmPath: to.Ptr("/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1"),
		// 						ScalingPlanEnabled: to.Ptr(true),
		// 				}},
		// 				HostPoolType: to.Ptr(armdesktopvirtualization.ScalingHostPoolTypePooled),
		// 				ObjectID: to.Ptr("00000000-0000-0000-0000-000000000000"),
		// 				Schedules: []*armdesktopvirtualization.ScalingSchedule{
		// 					{
		// 						Name: to.Ptr("schedule1"),
		// 						DaysOfWeek: []*armdesktopvirtualization.ScalingScheduleDaysOfWeekItem{
		// 							to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemMonday),
		// 							to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemTuesday),
		// 							to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemWednesday),
		// 							to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemThursday),
		// 							to.Ptr(armdesktopvirtualization.ScalingScheduleDaysOfWeekItemFriday)},
		// 							OffPeakLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
		// 							OffPeakStartTime: &armdesktopvirtualization.Time{
		// 								Hour: to.Ptr[int32](20),
		// 								Minute: to.Ptr[int32](0),
		// 							},
		// 							PeakLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmBreadthFirst),
		// 							PeakStartTime: &armdesktopvirtualization.Time{
		// 								Hour: to.Ptr[int32](8),
		// 								Minute: to.Ptr[int32](0),
		// 							},
		// 							RampDownCapacityThresholdPct: to.Ptr[int32](50),
		// 							RampDownForceLogoffUsers: to.Ptr(true),
		// 							RampDownLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
		// 							RampDownMinimumHostsPct: to.Ptr[int32](20),
		// 							RampDownNotificationMessage: to.Ptr("message"),
		// 							RampDownStartTime: &armdesktopvirtualization.Time{
		// 								Hour: to.Ptr[int32](18),
		// 								Minute: to.Ptr[int32](0),
		// 							},
		// 							RampDownWaitTimeMinutes: to.Ptr[int32](30),
		// 							RampUpCapacityThresholdPct: to.Ptr[int32](80),
		// 							RampUpLoadBalancingAlgorithm: to.Ptr(armdesktopvirtualization.SessionHostLoadBalancingAlgorithmDepthFirst),
		// 							RampUpMinimumHostsPct: to.Ptr[int32](20),
		// 							RampUpStartTime: &armdesktopvirtualization.Time{
		// 								Hour: to.Ptr[int32](6),
		// 								Minute: to.Ptr[int32](0),
		// 							},
		// 					}},
		// 					TimeZone: to.Ptr("Central Standard Time"),
		// 				},
		// 		}},
		// 	}
	}
}
