def __call__(self, parser, namespace, values, option_string=None): from azure.mgmt.monitor.models import ScaleAction, ScaleType if len(values) == 1: # workaround because CMD.exe eats > character... Allows condition to be # specified as a quoted expression values = values[0].split(' ') if len(values) != 2: from knack.util import CLIError raise CLIError('usage error: --scale {in,out,to} VALUE[%]') dir_val = values[0] amt_val = values[1] scale_type = None if dir_val == 'to': scale_type = ScaleType.exact_count.value elif str(amt_val).endswith('%'): scale_type = ScaleType.percent_change_count.value amt_val = amt_val[:-1] # strip off the percent else: scale_type = ScaleType.change_count.value scale = ScaleAction( direction=get_autoscale_scale_direction_map()[dir_val], type=scale_type, cooldown=None, # this will be filled in later value=amt_val) namespace.scale = scale
def __call__(self, parser, namespace, values, option_string=None): from azure.mgmt.monitor.models import ScaleAction, ScaleType if len(values) == 1: # workaround because CMD.exe eats > character... Allows condition to be # specified as a quoted expression values = values[0].split(' ') if len(values) != 2: from knack.util import CLIError raise CLIError('usage error: --scale {in,out,to} VALUE[%]') dir_val = values[0] amt_val = values[1] scale_type = None if dir_val == 'to': scale_type = ScaleType.exact_count.value elif str(amt_val).endswith('%'): scale_type = ScaleType.percent_change_count.value amt_val = amt_val[:-1] # strip off the percent else: scale_type = ScaleType.change_count.value scale = ScaleAction( direction=get_autoscale_scale_direction_map()[dir_val], type=scale_type, cooldown=None, # this will be filled in later value=amt_val ) namespace.scale = scale