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

package com.azure.resourcemanager.devhub.models;

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

/** Information on the azure container registry. */
@Fluent
public final class Acr {
    /*
     * ACR subscription id
     */
    @JsonProperty(value = "acrSubscriptionId")
    private String acrSubscriptionId;

    /*
     * ACR resource group
     */
    @JsonProperty(value = "acrResourceGroup")
    private String acrResourceGroup;

    /*
     * ACR registry
     */
    @JsonProperty(value = "acrRegistryName")
    private String acrRegistryName;

    /*
     * ACR repository
     */
    @JsonProperty(value = "acrRepositoryName")
    private String acrRepositoryName;

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

    /**
     * Get the acrSubscriptionId property: ACR subscription id.
     *
     * @return the acrSubscriptionId value.
     */
    public String acrSubscriptionId() {
        return this.acrSubscriptionId;
    }

    /**
     * Set the acrSubscriptionId property: ACR subscription id.
     *
     * @param acrSubscriptionId the acrSubscriptionId value to set.
     * @return the Acr object itself.
     */
    public Acr withAcrSubscriptionId(String acrSubscriptionId) {
        this.acrSubscriptionId = acrSubscriptionId;
        return this;
    }

    /**
     * Get the acrResourceGroup property: ACR resource group.
     *
     * @return the acrResourceGroup value.
     */
    public String acrResourceGroup() {
        return this.acrResourceGroup;
    }

    /**
     * Set the acrResourceGroup property: ACR resource group.
     *
     * @param acrResourceGroup the acrResourceGroup value to set.
     * @return the Acr object itself.
     */
    public Acr withAcrResourceGroup(String acrResourceGroup) {
        this.acrResourceGroup = acrResourceGroup;
        return this;
    }

    /**
     * Get the acrRegistryName property: ACR registry.
     *
     * @return the acrRegistryName value.
     */
    public String acrRegistryName() {
        return this.acrRegistryName;
    }

    /**
     * Set the acrRegistryName property: ACR registry.
     *
     * @param acrRegistryName the acrRegistryName value to set.
     * @return the Acr object itself.
     */
    public Acr withAcrRegistryName(String acrRegistryName) {
        this.acrRegistryName = acrRegistryName;
        return this;
    }

    /**
     * Get the acrRepositoryName property: ACR repository.
     *
     * @return the acrRepositoryName value.
     */
    public String acrRepositoryName() {
        return this.acrRepositoryName;
    }

    /**
     * Set the acrRepositoryName property: ACR repository.
     *
     * @param acrRepositoryName the acrRepositoryName value to set.
     * @return the Acr object itself.
     */
    public Acr withAcrRepositoryName(String acrRepositoryName) {
        this.acrRepositoryName = acrRepositoryName;
        return this;
    }

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