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

package com.azure.resourcemanager.healthcareapis.models;

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

/** Event Hub ingestion endpoint configuration. */
@Fluent
public final class IotEventHubIngestionEndpointConfiguration {
    /*
     * Event Hub name to connect to.
     */
    @JsonProperty(value = "eventHubName")
    private String eventHubName;

    /*
     * Consumer group of the event hub to connected to.
     */
    @JsonProperty(value = "consumerGroup")
    private String consumerGroup;

    /*
     * Fully qualified namespace of the Event Hub to connect to.
     */
    @JsonProperty(value = "fullyQualifiedEventHubNamespace")
    private String fullyQualifiedEventHubNamespace;

    /**
     * Get the eventHubName property: Event Hub name to connect to.
     *
     * @return the eventHubName value.
     */
    public String eventHubName() {
        return this.eventHubName;
    }

    /**
     * Set the eventHubName property: Event Hub name to connect to.
     *
     * @param eventHubName the eventHubName value to set.
     * @return the IotEventHubIngestionEndpointConfiguration object itself.
     */
    public IotEventHubIngestionEndpointConfiguration withEventHubName(String eventHubName) {
        this.eventHubName = eventHubName;
        return this;
    }

    /**
     * Get the consumerGroup property: Consumer group of the event hub to connected to.
     *
     * @return the consumerGroup value.
     */
    public String consumerGroup() {
        return this.consumerGroup;
    }

    /**
     * Set the consumerGroup property: Consumer group of the event hub to connected to.
     *
     * @param consumerGroup the consumerGroup value to set.
     * @return the IotEventHubIngestionEndpointConfiguration object itself.
     */
    public IotEventHubIngestionEndpointConfiguration withConsumerGroup(String consumerGroup) {
        this.consumerGroup = consumerGroup;
        return this;
    }

    /**
     * Get the fullyQualifiedEventHubNamespace property: Fully qualified namespace of the Event Hub to connect to.
     *
     * @return the fullyQualifiedEventHubNamespace value.
     */
    public String fullyQualifiedEventHubNamespace() {
        return this.fullyQualifiedEventHubNamespace;
    }

    /**
     * Set the fullyQualifiedEventHubNamespace property: Fully qualified namespace of the Event Hub to connect to.
     *
     * @param fullyQualifiedEventHubNamespace the fullyQualifiedEventHubNamespace value to set.
     * @return the IotEventHubIngestionEndpointConfiguration object itself.
     */
    public IotEventHubIngestionEndpointConfiguration withFullyQualifiedEventHubNamespace(
        String fullyQualifiedEventHubNamespace) {
        this.fullyQualifiedEventHubNamespace = fullyQualifiedEventHubNamespace;
        return this;
    }

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