@@ -1809,7 +1809,8 @@ def convert_av_set_to_managed_disk(cmd, resource_group_name, availability_set_na
1809
1809
1810
1810
def create_av_set (cmd , availability_set_name , resource_group_name , platform_fault_domain_count = 2 ,
1811
1811
platform_update_domain_count = None , location = None , proximity_placement_group = None , unmanaged = False ,
1812
- no_wait = False , tags = None , validate = False ):
1812
+ no_wait = False , tags = None , validate = False , additional_scheduled_events = None ,
1813
+ enable_user_reboot_scheduled_events = None , enable_user_redeploy_scheduled_events = None ):
1813
1814
from azure .cli .core .util import random_string
1814
1815
from azure .cli .core .commands .arm import ArmTemplateBuilder
1815
1816
from azure .cli .command_modules .vm ._template_builder import build_av_set_resource
@@ -1822,7 +1823,10 @@ def create_av_set(cmd, availability_set_name, resource_group_name, platform_faul
1822
1823
av_set_resource = build_av_set_resource (cmd , availability_set_name , location , tags ,
1823
1824
platform_update_domain_count ,
1824
1825
platform_fault_domain_count , unmanaged ,
1825
- proximity_placement_group = proximity_placement_group )
1826
+ proximity_placement_group = proximity_placement_group ,
1827
+ additional_scheduled_events = additional_scheduled_events ,
1828
+ enable_user_reboot_scheduled_events = enable_user_reboot_scheduled_events ,
1829
+ enable_user_redeploy_scheduled_events = enable_user_redeploy_scheduled_events )
1826
1830
master_template .add_resource (av_set_resource )
1827
1831
1828
1832
template = master_template .build ()
@@ -1851,9 +1855,38 @@ def create_av_set(cmd, availability_set_name, resource_group_name, platform_faul
1851
1855
return compute_client .availability_sets .get (resource_group_name , availability_set_name )
1852
1856
1853
1857
1854
- def update_av_set (instance , resource_group_name , proximity_placement_group = None ):
1858
+ def update_av_set (cmd , instance , resource_group_name , proximity_placement_group = None ,
1859
+ additional_scheduled_events = None , enable_user_reboot_scheduled_events = None ,
1860
+ enable_user_redeploy_scheduled_events = None ):
1855
1861
if proximity_placement_group is not None :
1856
- instance .proximity_placement_group = {'id' : proximity_placement_group }
1862
+ instance .proximity_placement_group = cmd .get_models ('SubResource' )(id = proximity_placement_group )
1863
+
1864
+ if instance .scheduled_events_policy is None and (
1865
+ additional_scheduled_events is not None or enable_user_reboot_scheduled_events is not None or
1866
+ enable_user_redeploy_scheduled_events is not None ):
1867
+ ScheduledEventsPolicy = cmd .get_models ('ScheduledEventsPolicy' )
1868
+ instance .scheduled_events_policy = ScheduledEventsPolicy ()
1869
+
1870
+ if additional_scheduled_events is not None :
1871
+ ScheduledEventsAdditionalPublishingTargets = cmd .get_models ('ScheduledEventsAdditionalPublishingTargets' )
1872
+ EventGridAndResourceGraph = cmd .get_models ('EventGridAndResourceGraph' )
1873
+ instance .scheduled_events_policy .scheduled_events_additional_publishing_targets = \
1874
+ ScheduledEventsAdditionalPublishingTargets (
1875
+ event_grid_and_resource_graph = EventGridAndResourceGraph (enable = additional_scheduled_events )
1876
+ )
1877
+
1878
+ if enable_user_reboot_scheduled_events is not None :
1879
+ UserInitiatedReboot = cmd .get_models ('UserInitiatedReboot' )
1880
+ instance .scheduled_events_policy .user_initiated_reboot = UserInitiatedReboot (
1881
+ automatically_approve = enable_user_reboot_scheduled_events
1882
+ )
1883
+
1884
+ if enable_user_redeploy_scheduled_events is not None :
1885
+ UserInitiatedRedeploy = cmd .get_models ('UserInitiatedRedeploy' )
1886
+ instance .scheduled_events_policy .user_initiated_redeploy = UserInitiatedRedeploy (
1887
+ automatically_approve = enable_user_redeploy_scheduled_events
1888
+ )
1889
+
1857
1890
return instance
1858
1891
1859
1892
0 commit comments