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

package com.azure.resourcemanager.logic.models;

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

/** The key attributes. */
@Fluent
public final class KeyVaultKeyAttributes {
    /*
     * Whether the key is enabled or not.
     */
    @JsonProperty(value = "enabled")
    private Boolean enabled;

    /*
     * When the key was created.
     */
    @JsonProperty(value = "created")
    private Long created;

    /*
     * When the key was updated.
     */
    @JsonProperty(value = "updated")
    private Long updated;

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

    /**
     * Get the enabled property: Whether the key is enabled or not.
     *
     * @return the enabled value.
     */
    public Boolean enabled() {
        return this.enabled;
    }

    /**
     * Set the enabled property: Whether the key is enabled or not.
     *
     * @param enabled the enabled value to set.
     * @return the KeyVaultKeyAttributes object itself.
     */
    public KeyVaultKeyAttributes withEnabled(Boolean enabled) {
        this.enabled = enabled;
        return this;
    }

    /**
     * Get the created property: When the key was created.
     *
     * @return the created value.
     */
    public Long created() {
        return this.created;
    }

    /**
     * Set the created property: When the key was created.
     *
     * @param created the created value to set.
     * @return the KeyVaultKeyAttributes object itself.
     */
    public KeyVaultKeyAttributes withCreated(Long created) {
        this.created = created;
        return this;
    }

    /**
     * Get the updated property: When the key was updated.
     *
     * @return the updated value.
     */
    public Long updated() {
        return this.updated;
    }

    /**
     * Set the updated property: When the key was updated.
     *
     * @param updated the updated value to set.
     * @return the KeyVaultKeyAttributes object itself.
     */
    public KeyVaultKeyAttributes withUpdated(Long updated) {
        this.updated = updated;
        return this;
    }

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