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

package com.azure.resourcemanager.notificationhubs.fluent.models;

import com.azure.core.annotation.Fluent;
import com.azure.core.util.logging.ClientLogger;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;

/** The DebugSendResult model. */
@Fluent
public final class DebugSendResult {
    @JsonIgnore private final ClientLogger logger = new ClientLogger(DebugSendResult.class);

    /*
     * successful send
     */
    @JsonProperty(value = "success")
    private Float success;

    /*
     * send failure
     */
    @JsonProperty(value = "failure")
    private Float failure;

    /*
     * actual failure description
     */
    @JsonProperty(value = "results")
    private Object results;

    /**
     * Get the success property: successful send.
     *
     * @return the success value.
     */
    public Float success() {
        return this.success;
    }

    /**
     * Set the success property: successful send.
     *
     * @param success the success value to set.
     * @return the DebugSendResult object itself.
     */
    public DebugSendResult withSuccess(Float success) {
        this.success = success;
        return this;
    }

    /**
     * Get the failure property: send failure.
     *
     * @return the failure value.
     */
    public Float failure() {
        return this.failure;
    }

    /**
     * Set the failure property: send failure.
     *
     * @param failure the failure value to set.
     * @return the DebugSendResult object itself.
     */
    public DebugSendResult withFailure(Float failure) {
        this.failure = failure;
        return this;
    }

    /**
     * Get the results property: actual failure description.
     *
     * @return the results value.
     */
    public Object results() {
        return this.results;
    }

    /**
     * Set the results property: actual failure description.
     *
     * @param results the results value to set.
     * @return the DebugSendResult object itself.
     */
    public DebugSendResult withResults(Object results) {
        this.results = results;
        return this;
    }

    /**
     * Validates the instance.
     *
     * @throws IllegalArgumentException thrown if the instance is not valid.
     */
    public void validate() {
    }
}
