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

package com.azure.communication.jobrouter.models;

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

import java.util.Objects;

/**
 * OAuth2.0 Credentials used to Contoso's Authorization server. Reference:
 * https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/.
 */
@Fluent
public final class Oauth2ClientCredential {
    /**
     * Creates an instance of Oauth2ClientCredential class.
     *
     * @param clientId ClientId for Contoso Authorization server.
     * @param clientSecret Client secret for Contoso Authorization server.
     */
    public Oauth2ClientCredential(String clientId, String clientSecret) {
        this.clientId = Objects.requireNonNull(clientId, "'clientId' cannot be null.");
        this.clientSecret = Objects.requireNonNull(clientSecret, "'clientSecret' cannot be null.");
    }
    /*
     * ClientId for Contoso Authorization server.
     */
    @JsonProperty(value = "clientId")
    private final String clientId;

    /*
     * Client secret for Contoso Authorization server.
     */
    @JsonProperty(value = "clientSecret")
    private final String clientSecret;

    /**
     * Get the clientId property: ClientId for Contoso Authorization server.
     *
     * @return the clientId value.
     */
    public String getClientId() {
        return this.clientId;
    }

    /**
     * Get the clientSecret property: Client secret for Contoso Authorization server.
     *
     * @return the clientSecret value.
     */
    public String getClientSecret() {
        return this.clientSecret;
    }
}
