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

package com.azure.resourcemanager.policyinsights.models;

import com.azure.resourcemanager.policyinsights.fluent.models.PolicyMetadataInner;

/** An immutable client-side representation of PolicyMetadata. */
public interface PolicyMetadata {
    /**
     * Gets the id property: The ID of the policy metadata.
     *
     * @return the id value.
     */
    String id();

    /**
     * Gets the type property: The type of the policy metadata.
     *
     * @return the type value.
     */
    String type();

    /**
     * Gets the name property: The name of the policy metadata.
     *
     * @return the name value.
     */
    String name();

    /**
     * Gets the description property: The description of the policy metadata.
     *
     * @return the description value.
     */
    String description();

    /**
     * Gets the requirements property: The requirements of the policy metadata.
     *
     * @return the requirements value.
     */
    String requirements();

    /**
     * Gets the metadataId property: The policy metadata identifier.
     *
     * @return the metadataId value.
     */
    String metadataId();

    /**
     * Gets the category property: The category of the policy metadata.
     *
     * @return the category value.
     */
    String category();

    /**
     * Gets the title property: The title of the policy metadata.
     *
     * @return the title value.
     */
    String title();

    /**
     * Gets the owner property: The owner of the policy metadata.
     *
     * @return the owner value.
     */
    String owner();

    /**
     * Gets the additionalContentUrl property: Url for getting additional content about the resource metadata.
     *
     * @return the additionalContentUrl value.
     */
    String additionalContentUrl();

    /**
     * Gets the metadata property: Additional metadata.
     *
     * @return the metadata value.
     */
    Object metadata();

    /**
     * Gets the inner com.azure.resourcemanager.policyinsights.fluent.models.PolicyMetadataInner object.
     *
     * @return the inner object.
     */
    PolicyMetadataInner innerModel();
}
