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

package com.azure.resourcemanager.elastic.models;

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

/** Details of the user's elastic deployment associated with the monitor resource. */
@Immutable
public final class ElasticCloudDeployment {
    /*
     * Elastic deployment name
     */
    @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
    private String name;

    /*
     * Elastic deployment Id
     */
    @JsonProperty(value = "deploymentId", access = JsonProperty.Access.WRITE_ONLY)
    private String deploymentId;

    /*
     * Associated Azure subscription Id for the elastic deployment.
     */
    @JsonProperty(value = "azureSubscriptionId", access = JsonProperty.Access.WRITE_ONLY)
    private String azureSubscriptionId;

    /*
     * Region where Deployment at Elastic side took place.
     */
    @JsonProperty(value = "elasticsearchRegion", access = JsonProperty.Access.WRITE_ONLY)
    private String elasticsearchRegion;

    /*
     * Elasticsearch ingestion endpoint of the Elastic deployment.
     */
    @JsonProperty(value = "elasticsearchServiceUrl", access = JsonProperty.Access.WRITE_ONLY)
    private String elasticsearchServiceUrl;

    /*
     * Kibana endpoint of the Elastic deployment.
     */
    @JsonProperty(value = "kibanaServiceUrl", access = JsonProperty.Access.WRITE_ONLY)
    private String kibanaServiceUrl;

    /*
     * Kibana dashboard sso URL of the Elastic deployment.
     */
    @JsonProperty(value = "kibanaSsoUrl", access = JsonProperty.Access.WRITE_ONLY)
    private String kibanaSsoUrl;

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

    /**
     * Get the name property: Elastic deployment name.
     *
     * @return the name value.
     */
    public String name() {
        return this.name;
    }

    /**
     * Get the deploymentId property: Elastic deployment Id.
     *
     * @return the deploymentId value.
     */
    public String deploymentId() {
        return this.deploymentId;
    }

    /**
     * Get the azureSubscriptionId property: Associated Azure subscription Id for the elastic deployment.
     *
     * @return the azureSubscriptionId value.
     */
    public String azureSubscriptionId() {
        return this.azureSubscriptionId;
    }

    /**
     * Get the elasticsearchRegion property: Region where Deployment at Elastic side took place.
     *
     * @return the elasticsearchRegion value.
     */
    public String elasticsearchRegion() {
        return this.elasticsearchRegion;
    }

    /**
     * Get the elasticsearchServiceUrl property: Elasticsearch ingestion endpoint of the Elastic deployment.
     *
     * @return the elasticsearchServiceUrl value.
     */
    public String elasticsearchServiceUrl() {
        return this.elasticsearchServiceUrl;
    }

    /**
     * Get the kibanaServiceUrl property: Kibana endpoint of the Elastic deployment.
     *
     * @return the kibanaServiceUrl value.
     */
    public String kibanaServiceUrl() {
        return this.kibanaServiceUrl;
    }

    /**
     * Get the kibanaSsoUrl property: Kibana dashboard sso URL of the Elastic deployment.
     *
     * @return the kibanaSsoUrl value.
     */
    public String kibanaSsoUrl() {
        return this.kibanaSsoUrl;
    }

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