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

package com.azure.resourcemanager.workloads.models;

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

/**
 * The SSH Key-pair used to authenticate with the VM. The key needs to be at least 2048-bit and in ssh-rsa format.
 * &lt;br&gt;&lt;br&gt; For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in
 * Azure](https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
 */
@Fluent
public final class SshKeyPair {
    /*
     * SSH public key
     */
    @JsonProperty(value = "publicKey")
    private String publicKey;

    /*
     * SSH private key.
     */
    @JsonProperty(value = "privateKey")
    private String privateKey;

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

    /**
     * Get the publicKey property: SSH public key.
     *
     * @return the publicKey value.
     */
    public String publicKey() {
        return this.publicKey;
    }

    /**
     * Set the publicKey property: SSH public key.
     *
     * @param publicKey the publicKey value to set.
     * @return the SshKeyPair object itself.
     */
    public SshKeyPair withPublicKey(String publicKey) {
        this.publicKey = publicKey;
        return this;
    }

    /**
     * Get the privateKey property: SSH private key.
     *
     * @return the privateKey value.
     */
    public String privateKey() {
        return this.privateKey;
    }

    /**
     * Set the privateKey property: SSH private key.
     *
     * @param privateKey the privateKey value to set.
     * @return the SshKeyPair object itself.
     */
    public SshKeyPair withPrivateKey(String privateKey) {
        this.privateKey = privateKey;
        return this;
    }

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