// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.azure.media.videoanalyzer.edge.models;

import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonProperty;

/** The ONVIF device DNS properties. */
@Fluent
public final class OnvifSystemDateTime {
    /*
     * An enum value determining whether the date time was configured using NTP
     * or manual.
     */
    @JsonProperty(value = "type")
    private OnvifSystemDateTimeType type;

    /*
     * The device datetime returned when calling the request.
     */
    @JsonProperty(value = "time")
    private String time;

    /*
     * The timezone of the ONVIF device datetime.
     */
    @JsonProperty(value = "timeZone")
    private String timeZone;

    /**
     * Get the type property: An enum value determining whether the date time was configured using NTP or manual.
     *
     * @return the type value.
     */
    public OnvifSystemDateTimeType getType() {
        return this.type;
    }

    /**
     * Set the type property: An enum value determining whether the date time was configured using NTP or manual.
     *
     * @param type the type value to set.
     * @return the OnvifSystemDateTime object itself.
     */
    public OnvifSystemDateTime setType(OnvifSystemDateTimeType type) {
        this.type = type;
        return this;
    }

    /**
     * Get the time property: The device datetime returned when calling the request.
     *
     * @return the time value.
     */
    public String getTime() {
        return this.time;
    }

    /**
     * Set the time property: The device datetime returned when calling the request.
     *
     * @param time the time value to set.
     * @return the OnvifSystemDateTime object itself.
     */
    public OnvifSystemDateTime setTime(String time) {
        this.time = time;
        return this;
    }

    /**
     * Get the timeZone property: The timezone of the ONVIF device datetime.
     *
     * @return the timeZone value.
     */
    public String getTimeZone() {
        return this.timeZone;
    }

    /**
     * Set the timeZone property: The timezone of the ONVIF device datetime.
     *
     * @param timeZone the timeZone value to set.
     * @return the OnvifSystemDateTime object itself.
     */
    public OnvifSystemDateTime setTimeZone(String timeZone) {
        this.timeZone = timeZone;
        return this;
    }
}
