in src/automation/azext_automation/manual/custom.py [0:0]
def automation_software_update_configuration_create(client, resource_group_name, automation_account_name,
software_update_configuration_name, frequency, interval,
operating_system, included_update_classifications=None,
excluded_kb_numbers=None, included_kb_numbers=None,
reboot_setting=None, duration=None, azure_virtual_machines=None,
non_azure_computer_names=None, azure_queries_scope=None,
azure_queries_locations=None, non_azure_queries_function_alias=None,
non_azure_queries_workspace_id=None, azure_queries_tags=None,
start_time=None, expiry_time=None, time_zone=None,
expiry_time_offset_minutes=None, is_enabled=None, next_run=None,
next_run_offset_minutes=None, creation_time=None,
last_modified_time=None, description=None, pre_task_status=None,
pre_task_source=None, pre_task_job_id=None, post_task_status=None,
post_task_source=None, post_task_job_id=None):
parameters = {}
update_configuration = {}
update_configuration['operatingSystem'] = operating_system
if operating_system == 'Windows':
windows = {}
if included_update_classifications is not None:
windows['includedUpdateClassifications'] = included_update_classifications
if excluded_kb_numbers is not None:
windows['excludedKbNumbers'] = excluded_kb_numbers
if included_kb_numbers is not None:
windows['includedKbNumbers'] = included_kb_numbers
if reboot_setting is not None:
windows['rebootSetting'] = reboot_setting
update_configuration['windows'] = windows
if operating_system == 'Linux':
linux = {}
if included_update_classifications is not None:
linux['includedUpdateClassifications'] = included_update_classifications
if excluded_kb_numbers is not None:
linux['excludedKbNumbers'] = excluded_kb_numbers
if included_kb_numbers is not None:
linux['includedKbNumbers'] = included_kb_numbers
if reboot_setting is not None:
linux['rebootSetting'] = reboot_setting
update_configuration['linux'] = linux
if duration is not None:
update_configuration['duration'] = duration
if azure_virtual_machines is not None:
update_configuration['azureVirtualMachines'] = azure_virtual_machines
if non_azure_computer_names:
update_configuration['nonAzureComputerNames'] = non_azure_computer_names
targets = {}
azure_queries = {}
if azure_queries_scope is not None:
azure_queries['scope'] = azure_queries_scope
if azure_queries_locations is not None:
azure_queries['locations'] = azure_queries_locations
if azure_queries_tags is not None:
azure_queries['tagSettings'] = {'tags': {'tag': azure_queries_tags}}
if azure_queries:
targets['azureQueries'] = [azure_queries]
non_azure_queries = {}
if non_azure_queries_function_alias is not None:
non_azure_queries['functionAlias'] = non_azure_queries_function_alias
if non_azure_queries_workspace_id is not None:
non_azure_queries['workspaceId'] = non_azure_queries_workspace_id
if non_azure_queries:
targets['nonAzureQueries'] = [non_azure_queries]
if targets:
update_configuration['targets'] = targets
if update_configuration:
parameters['updateConfiguration'] = update_configuration
schedule_info = {}
if start_time is not None:
schedule_info['startTime'] = start_time
if expiry_time is not None:
schedule_info['expiryTime'] = expiry_time
if expiry_time_offset_minutes is not None:
schedule_info['expiryTimeOffsetMinutes'] = expiry_time_offset_minutes
if is_enabled is not None:
schedule_info['isEnabled'] = is_enabled
if next_run is not None:
schedule_info['nextRun'] = next_run
if next_run_offset_minutes is not None:
schedule_info['nextRunOffsetMinutes'] = next_run_offset_minutes
if interval is not None:
schedule_info['interval'] = interval
if frequency is not None:
schedule_info['frequency'] = frequency
if time_zone is not None:
schedule_info['timeZone'] = time_zone
if creation_time is not None:
schedule_info['creationTime'] = creation_time
if last_modified_time is not None:
schedule_info['lastModifiedTime'] = last_modified_time
if description is not None:
schedule_info['description'] = description
if schedule_info:
parameters['scheduleInfo'] = schedule_info
tasks = {}
pre_task = {}
if pre_task_status is not None:
pre_task['status'] = pre_task_status
if pre_task_source is not None:
pre_task['source'] = pre_task_source
if pre_task_status is not None:
pre_task['jobId'] = pre_task_job_id
post_task = {}
if post_task_status is not None:
post_task['status'] = post_task_status
if post_task_source is not None:
post_task['source'] = post_task_source
if post_task_status is not None:
post_task['jobId'] = post_task_job_id
if pre_task:
tasks['preTask'] = pre_task
if post_task:
tasks['postTask'] = post_task
if tasks:
parameters['tasks'] = tasks
return client.create(resource_group_name, automation_account_name, software_update_configuration_name, parameters)