// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for
// license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.azure.quantum.jobs.models;

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

/** Target status. */
@Immutable
public final class TargetStatus {
    /*
     * Target id.
     */
    @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
    private String id;

    /*
     * Target availability.
     */
    @JsonProperty(value = "currentAvailability", access = JsonProperty.Access.WRITE_ONLY)
    private TargetAvailability currentAvailability;

    /*
     * Average queue time in seconds.
     */
    @JsonProperty(value = "averageQueueTime", access = JsonProperty.Access.WRITE_ONLY)
    private Long averageQueueTime;

    /*
     * A page with detailed status of the provider.
     */
    @JsonProperty(value = "statusPage", access = JsonProperty.Access.WRITE_ONLY)
    private String statusPage;

    /**
     * Get the id property: Target id.
     *
     * @return the id value.
     */
    public String getId() {
        return this.id;
    }

    /**
     * Get the currentAvailability property: Target availability.
     *
     * @return the currentAvailability value.
     */
    public TargetAvailability getCurrentAvailability() {
        return this.currentAvailability;
    }

    /**
     * Get the averageQueueTime property: Average queue time in seconds.
     *
     * @return the averageQueueTime value.
     */
    public Long getAverageQueueTime() {
        return this.averageQueueTime;
    }

    /**
     * Get the statusPage property: A page with detailed status of the provider.
     *
     * @return the statusPage value.
     */
    public String getStatusPage() {
        return this.statusPage;
    }
}
