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

package com.azure.resourcemanager.orbital.fluent.models;

import com.azure.core.annotation.Fluent;
import com.azure.resourcemanager.orbital.models.AutoTrackingConfiguration;
import com.azure.resourcemanager.orbital.models.ContactProfileLink;
import com.azure.resourcemanager.orbital.models.ContactProfileThirdPartyConfiguration;
import com.azure.resourcemanager.orbital.models.ContactProfilesProperties;
import com.azure.resourcemanager.orbital.models.ContactProfilesPropertiesNetworkConfiguration;
import com.azure.resourcemanager.orbital.models.ContactProfilesPropertiesProvisioningState;
import java.util.List;

/** Properties of the contact profile resource. */
@Fluent
public final class ContactProfileProperties extends ContactProfilesProperties {
    /** Creates an instance of ContactProfileProperties class. */
    public ContactProfileProperties() {
    }

    /** {@inheritDoc} */
    @Override
    public ContactProfileProperties withProvisioningState(
        ContactProfilesPropertiesProvisioningState provisioningState) {
        super.withProvisioningState(provisioningState);
        return this;
    }

    /** {@inheritDoc} */
    @Override
    public ContactProfileProperties withMinimumViableContactDuration(String minimumViableContactDuration) {
        super.withMinimumViableContactDuration(minimumViableContactDuration);
        return this;
    }

    /** {@inheritDoc} */
    @Override
    public ContactProfileProperties withMinimumElevationDegrees(Float minimumElevationDegrees) {
        super.withMinimumElevationDegrees(minimumElevationDegrees);
        return this;
    }

    /** {@inheritDoc} */
    @Override
    public ContactProfileProperties withAutoTrackingConfiguration(AutoTrackingConfiguration autoTrackingConfiguration) {
        super.withAutoTrackingConfiguration(autoTrackingConfiguration);
        return this;
    }

    /** {@inheritDoc} */
    @Override
    public ContactProfileProperties withEventHubUri(String eventHubUri) {
        super.withEventHubUri(eventHubUri);
        return this;
    }

    /** {@inheritDoc} */
    @Override
    public ContactProfileProperties withNetworkConfiguration(
        ContactProfilesPropertiesNetworkConfiguration networkConfiguration) {
        super.withNetworkConfiguration(networkConfiguration);
        return this;
    }

    /** {@inheritDoc} */
    @Override
    public ContactProfileProperties withThirdPartyConfigurations(
        List<ContactProfileThirdPartyConfiguration> thirdPartyConfigurations) {
        super.withThirdPartyConfigurations(thirdPartyConfigurations);
        return this;
    }

    /** {@inheritDoc} */
    @Override
    public ContactProfileProperties withLinks(List<ContactProfileLink> links) {
        super.withLinks(links);
        return this;
    }

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