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

package com.azure.resourcemanager.devtestlabs.models;

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

/** Properties of an artifact deployment. */
@Fluent
public final class ArtifactDeploymentStatusProperties {
    /*
     * The deployment status of the artifact.
     */
    @JsonProperty(value = "deploymentStatus")
    private String deploymentStatus;

    /*
     * The total count of the artifacts that were successfully applied.
     */
    @JsonProperty(value = "artifactsApplied")
    private Integer artifactsApplied;

    /*
     * The total count of the artifacts that were tentatively applied.
     */
    @JsonProperty(value = "totalArtifacts")
    private Integer totalArtifacts;

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

    /**
     * Get the deploymentStatus property: The deployment status of the artifact.
     *
     * @return the deploymentStatus value.
     */
    public String deploymentStatus() {
        return this.deploymentStatus;
    }

    /**
     * Set the deploymentStatus property: The deployment status of the artifact.
     *
     * @param deploymentStatus the deploymentStatus value to set.
     * @return the ArtifactDeploymentStatusProperties object itself.
     */
    public ArtifactDeploymentStatusProperties withDeploymentStatus(String deploymentStatus) {
        this.deploymentStatus = deploymentStatus;
        return this;
    }

    /**
     * Get the artifactsApplied property: The total count of the artifacts that were successfully applied.
     *
     * @return the artifactsApplied value.
     */
    public Integer artifactsApplied() {
        return this.artifactsApplied;
    }

    /**
     * Set the artifactsApplied property: The total count of the artifacts that were successfully applied.
     *
     * @param artifactsApplied the artifactsApplied value to set.
     * @return the ArtifactDeploymentStatusProperties object itself.
     */
    public ArtifactDeploymentStatusProperties withArtifactsApplied(Integer artifactsApplied) {
        this.artifactsApplied = artifactsApplied;
        return this;
    }

    /**
     * Get the totalArtifacts property: The total count of the artifacts that were tentatively applied.
     *
     * @return the totalArtifacts value.
     */
    public Integer totalArtifacts() {
        return this.totalArtifacts;
    }

    /**
     * Set the totalArtifacts property: The total count of the artifacts that were tentatively applied.
     *
     * @param totalArtifacts the totalArtifacts value to set.
     * @return the ArtifactDeploymentStatusProperties object itself.
     */
    public ArtifactDeploymentStatusProperties withTotalArtifacts(Integer totalArtifacts) {
        this.totalArtifacts = totalArtifacts;
        return this;
    }

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