def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions]=None, daily_recurrence: Optional[pulumi.Input[pulumi.InputType['DayDetailsArgs']]]=None, hourly_recurrence: Optional[pulumi.Input[pulumi.InputType['HourDetailsArgs']]]=None, lab_name: Optional[pulumi.Input[str]]=None, location: Optional[pulumi.Input[str]]=None, name: Optional[pulumi.Input[str]]=None, notification_settings: Optional[pulumi.Input[pulumi.InputType['NotificationSettingsArgs']]]=None, resource_group_name: Optional[pulumi.Input[str]]=None, status: Optional[pulumi.Input[Union[(str, 'EnableStatus')]]]=None, tags: Optional[pulumi.Input[Mapping[(str, pulumi.Input[str])]]]=None, target_resource_id: Optional[pulumi.Input[str]]=None, task_type: Optional[pulumi.Input[str]]=None, time_zone_id: Optional[pulumi.Input[str]]=None, weekly_recurrence: Optional[pulumi.Input[pulumi.InputType['WeekDetailsArgs']]]=None, __props__=None, __name__=None, __opts__=None):
    "\n        A schedule.\n        API Version: 2018-09-15.\n\n        :param str resource_name: The name of the resource.\n        :param pulumi.ResourceOptions opts: Options for the resource.\n        :param pulumi.Input[pulumi.InputType['DayDetailsArgs']] daily_recurrence: If the schedule will occur once each day of the week, specify the daily recurrence.\n        :param pulumi.Input[pulumi.InputType['HourDetailsArgs']] hourly_recurrence: If the schedule will occur multiple times a day, specify the hourly recurrence.\n        :param pulumi.Input[str] lab_name: The name of the lab.\n        :param pulumi.Input[str] location: The location of the resource.\n        :param pulumi.Input[str] name: The name of the schedule.\n        :param pulumi.Input[pulumi.InputType['NotificationSettingsArgs']] notification_settings: Notification settings.\n        :param pulumi.Input[str] resource_group_name: The name of the resource group.\n        :param pulumi.Input[Union[str, 'EnableStatus']] status: The status of the schedule (i.e. Enabled, Disabled)\n        :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: The tags of the resource.\n        :param pulumi.Input[str] target_resource_id: The resource ID to which the schedule belongs\n        :param pulumi.Input[str] task_type: The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).\n        :param pulumi.Input[str] time_zone_id: The time zone ID (e.g. Pacific Standard time).\n        :param pulumi.Input[pulumi.InputType['WeekDetailsArgs']] weekly_recurrence: If the schedule will occur only some days of the week, specify the weekly recurrence.\n        "
    if (__name__ is not None):
        warnings.warn('explicit use of __name__ is deprecated', DeprecationWarning)
        resource_name = __name__
    if (__opts__ is not None):
        warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning)
        opts = __opts__
    if (opts is None):
        opts = pulumi.ResourceOptions()
    if (not isinstance(opts, pulumi.ResourceOptions)):
        raise TypeError('Expected resource options to be a ResourceOptions instance')
    if (opts.version is None):
        opts.version = _utilities.get_version()
    if (opts.id is None):
        if (__props__ is not None):
            raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
        __props__ = dict()
        __props__['daily_recurrence'] = daily_recurrence
        __props__['hourly_recurrence'] = hourly_recurrence
        if ((lab_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'lab_name'")
        __props__['lab_name'] = lab_name
        __props__['location'] = location
        __props__['name'] = name
        __props__['notification_settings'] = notification_settings
        if ((resource_group_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'resource_group_name'")
        __props__['resource_group_name'] = resource_group_name
        __props__['status'] = status
        __props__['tags'] = tags
        __props__['target_resource_id'] = target_resource_id
        __props__['task_type'] = task_type
        __props__['time_zone_id'] = time_zone_id
        __props__['weekly_recurrence'] = weekly_recurrence
        __props__['created_date'] = None
        __props__['provisioning_state'] = None
        __props__['type'] = None
        __props__['unique_identifier'] = None
    alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_='azure-nextgen:devtestlab/latest:Schedule'), pulumi.Alias(type_='azure-nextgen:devtestlab/v20150521preview:Schedule'), pulumi.Alias(type_='azure-nextgen:devtestlab/v20160515:Schedule'), pulumi.Alias(type_='azure-nextgen:devtestlab/v20180915:Schedule')])
    opts = pulumi.ResourceOptions.merge(opts, alias_opts)
    super(Schedule, __self__).__init__('azure-nextgen:devtestlab:Schedule', resource_name, __props__, opts)
A schedule.
API Version: 2018-09-15.

:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[pulumi.InputType['DayDetailsArgs']] daily_recurrence: If the schedule will occur once each day of the week, specify the daily recurrence.
:param pulumi.Input[pulumi.InputType['HourDetailsArgs']] hourly_recurrence: If the schedule will occur multiple times a day, specify the hourly recurrence.
:param pulumi.Input[str] lab_name: The name of the lab.
:param pulumi.Input[str] location: The location of the resource.
:param pulumi.Input[str] name: The name of the schedule.
:param pulumi.Input[pulumi.InputType['NotificationSettingsArgs']] notification_settings: Notification settings.
:param pulumi.Input[str] resource_group_name: The name of the resource group.
:param pulumi.Input[Union[str, 'EnableStatus']] status: The status of the schedule (i.e. Enabled, Disabled)
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: The tags of the resource.
:param pulumi.Input[str] target_resource_id: The resource ID to which the schedule belongs
:param pulumi.Input[str] task_type: The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).
:param pulumi.Input[str] time_zone_id: The time zone ID (e.g. Pacific Standard time).
:param pulumi.Input[pulumi.InputType['WeekDetailsArgs']] weekly_recurrence: If the schedule will occur only some days of the week, specify the weekly recurrence.
def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions]=None, daily_recurrence: Optional[pulumi.Input[pulumi.InputType['DayDetailsArgs']]]=None, hourly_recurrence: Optional[pulumi.Input[pulumi.InputType['HourDetailsArgs']]]=None, lab_name: Optional[pulumi.Input[str]]=None, location: Optional[pulumi.Input[str]]=None, name: Optional[pulumi.Input[str]]=None, notification_settings: Optional[pulumi.Input[pulumi.InputType['NotificationSettingsArgs']]]=None, resource_group_name: Optional[pulumi.Input[str]]=None, status: Optional[pulumi.Input[Union[(str, 'EnableStatus')]]]=None, tags: Optional[pulumi.Input[Mapping[(str, pulumi.Input[str])]]]=None, target_resource_id: Optional[pulumi.Input[str]]=None, task_type: Optional[pulumi.Input[str]]=None, time_zone_id: Optional[pulumi.Input[str]]=None, weekly_recurrence: Optional[pulumi.Input[pulumi.InputType['WeekDetailsArgs']]]=None, __props__=None, __name__=None, __opts__=None):
    "\n        A schedule.\n        API Version: 2018-09-15.\n\n        :param str resource_name: The name of the resource.\n        :param pulumi.ResourceOptions opts: Options for the resource.\n        :param pulumi.Input[pulumi.InputType['DayDetailsArgs']] daily_recurrence: If the schedule will occur once each day of the week, specify the daily recurrence.\n        :param pulumi.Input[pulumi.InputType['HourDetailsArgs']] hourly_recurrence: If the schedule will occur multiple times a day, specify the hourly recurrence.\n        :param pulumi.Input[str] lab_name: The name of the lab.\n        :param pulumi.Input[str] location: The location of the resource.\n        :param pulumi.Input[str] name: The name of the schedule.\n        :param pulumi.Input[pulumi.InputType['NotificationSettingsArgs']] notification_settings: Notification settings.\n        :param pulumi.Input[str] resource_group_name: The name of the resource group.\n        :param pulumi.Input[Union[str, 'EnableStatus']] status: The status of the schedule (i.e. Enabled, Disabled)\n        :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: The tags of the resource.\n        :param pulumi.Input[str] target_resource_id: The resource ID to which the schedule belongs\n        :param pulumi.Input[str] task_type: The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).\n        :param pulumi.Input[str] time_zone_id: The time zone ID (e.g. Pacific Standard time).\n        :param pulumi.Input[pulumi.InputType['WeekDetailsArgs']] weekly_recurrence: If the schedule will occur only some days of the week, specify the weekly recurrence.\n        "
    if (__name__ is not None):
        warnings.warn('explicit use of __name__ is deprecated', DeprecationWarning)
        resource_name = __name__
    if (__opts__ is not None):
        warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning)
        opts = __opts__
    if (opts is None):
        opts = pulumi.ResourceOptions()
    if (not isinstance(opts, pulumi.ResourceOptions)):
        raise TypeError('Expected resource options to be a ResourceOptions instance')
    if (opts.version is None):
        opts.version = _utilities.get_version()
    if (opts.id is None):
        if (__props__ is not None):
            raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
        __props__ = dict()
        __props__['daily_recurrence'] = daily_recurrence
        __props__['hourly_recurrence'] = hourly_recurrence
        if ((lab_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'lab_name'")
        __props__['lab_name'] = lab_name
        __props__['location'] = location
        __props__['name'] = name
        __props__['notification_settings'] = notification_settings
        if ((resource_group_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'resource_group_name'")
        __props__['resource_group_name'] = resource_group_name
        __props__['status'] = status
        __props__['tags'] = tags
        __props__['target_resource_id'] = target_resource_id
        __props__['task_type'] = task_type
        __props__['time_zone_id'] = time_zone_id
        __props__['weekly_recurrence'] = weekly_recurrence
        __props__['created_date'] = None
        __props__['provisioning_state'] = None
        __props__['type'] = None
        __props__['unique_identifier'] = None
    alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_='azure-nextgen:devtestlab/latest:Schedule'), pulumi.Alias(type_='azure-nextgen:devtestlab/v20150521preview:Schedule'), pulumi.Alias(type_='azure-nextgen:devtestlab/v20160515:Schedule'), pulumi.Alias(type_='azure-nextgen:devtestlab/v20180915:Schedule')])
    opts = pulumi.ResourceOptions.merge(opts, alias_opts)
    super(Schedule, __self__).__init__('azure-nextgen:devtestlab:Schedule', resource_name, __props__, opts)