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

package com.azure.resourcemanager.securityinsights.models;

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

/** ThreatIntelligence property bag. */
@Immutable
public final class ThreatIntelligence {
    /*
     * Confidence (must be between 0 and 1)
     */
    @JsonProperty(value = "confidence", access = JsonProperty.Access.WRITE_ONLY)
    private Double confidence;

    /*
     * Name of the provider from whom this Threat Intelligence information was received
     */
    @JsonProperty(value = "providerName", access = JsonProperty.Access.WRITE_ONLY)
    private String providerName;

    /*
     * Report link
     */
    @JsonProperty(value = "reportLink", access = JsonProperty.Access.WRITE_ONLY)
    private String reportLink;

    /*
     * Threat description (free text)
     */
    @JsonProperty(value = "threatDescription", access = JsonProperty.Access.WRITE_ONLY)
    private String threatDescription;

    /*
     * Threat name (e.g. "Jedobot malware")
     */
    @JsonProperty(value = "threatName", access = JsonProperty.Access.WRITE_ONLY)
    private String threatName;

    /*
     * Threat type (e.g. "Botnet")
     */
    @JsonProperty(value = "threatType", access = JsonProperty.Access.WRITE_ONLY)
    private String threatType;

    /**
     * Get the confidence property: Confidence (must be between 0 and 1).
     *
     * @return the confidence value.
     */
    public Double confidence() {
        return this.confidence;
    }

    /**
     * Get the providerName property: Name of the provider from whom this Threat Intelligence information was received.
     *
     * @return the providerName value.
     */
    public String providerName() {
        return this.providerName;
    }

    /**
     * Get the reportLink property: Report link.
     *
     * @return the reportLink value.
     */
    public String reportLink() {
        return this.reportLink;
    }

    /**
     * Get the threatDescription property: Threat description (free text).
     *
     * @return the threatDescription value.
     */
    public String threatDescription() {
        return this.threatDescription;
    }

    /**
     * Get the threatName property: Threat name (e.g. "Jedobot malware").
     *
     * @return the threatName value.
     */
    public String threatName() {
        return this.threatName;
    }

    /**
     * Get the threatType property: Threat type (e.g. "Botnet").
     *
     * @return the threatType value.
     */
    public String threatType() {
        return this.threatType;
    }

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