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

package com.azure.resourcemanager.security.models;

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

/** Describe the additional data of governance assignment - optional. */
@Fluent
public final class GovernanceAssignmentAdditionalData {
    /*
     * Ticket number associated with this governance assignment
     */
    @JsonProperty(value = "ticketNumber")
    private Integer ticketNumber;

    /*
     * Ticket link associated with this governance assignment - for example: https://snow.com
     */
    @JsonProperty(value = "ticketLink")
    private String ticketLink;

    /*
     * The ticket status associated with this governance assignment - for example: Active
     */
    @JsonProperty(value = "ticketStatus")
    private String ticketStatus;

    /** Creates an instance of GovernanceAssignmentAdditionalData class. */
    public GovernanceAssignmentAdditionalData() {
    }

    /**
     * Get the ticketNumber property: Ticket number associated with this governance assignment.
     *
     * @return the ticketNumber value.
     */
    public Integer ticketNumber() {
        return this.ticketNumber;
    }

    /**
     * Set the ticketNumber property: Ticket number associated with this governance assignment.
     *
     * @param ticketNumber the ticketNumber value to set.
     * @return the GovernanceAssignmentAdditionalData object itself.
     */
    public GovernanceAssignmentAdditionalData withTicketNumber(Integer ticketNumber) {
        this.ticketNumber = ticketNumber;
        return this;
    }

    /**
     * Get the ticketLink property: Ticket link associated with this governance assignment - for example:
     * https://snow.com.
     *
     * @return the ticketLink value.
     */
    public String ticketLink() {
        return this.ticketLink;
    }

    /**
     * Set the ticketLink property: Ticket link associated with this governance assignment - for example:
     * https://snow.com.
     *
     * @param ticketLink the ticketLink value to set.
     * @return the GovernanceAssignmentAdditionalData object itself.
     */
    public GovernanceAssignmentAdditionalData withTicketLink(String ticketLink) {
        this.ticketLink = ticketLink;
        return this;
    }

    /**
     * Get the ticketStatus property: The ticket status associated with this governance assignment - for example:
     * Active.
     *
     * @return the ticketStatus value.
     */
    public String ticketStatus() {
        return this.ticketStatus;
    }

    /**
     * Set the ticketStatus property: The ticket status associated with this governance assignment - for example:
     * Active.
     *
     * @param ticketStatus the ticketStatus value to set.
     * @return the GovernanceAssignmentAdditionalData object itself.
     */
    public GovernanceAssignmentAdditionalData withTicketStatus(String ticketStatus) {
        this.ticketStatus = ticketStatus;
        return this;
    }

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