// 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.fluent.models;

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

/** The properties of the policy metadata, excluding properties containing large strings. */
@Immutable
public class PolicyMetadataSlimProperties {
    /*
     * The policy metadata identifier.
     */
    @JsonProperty(value = "metadataId", access = JsonProperty.Access.WRITE_ONLY)
    private String metadataId;

    /*
     * The category of the policy metadata.
     */
    @JsonProperty(value = "category", access = JsonProperty.Access.WRITE_ONLY)
    private String category;

    /*
     * The title of the policy metadata.
     */
    @JsonProperty(value = "title", access = JsonProperty.Access.WRITE_ONLY)
    private String title;

    /*
     * The owner of the policy metadata.
     */
    @JsonProperty(value = "owner", access = JsonProperty.Access.WRITE_ONLY)
    private String owner;

    /*
     * Url for getting additional content about the resource metadata.
     */
    @JsonProperty(value = "additionalContentUrl", access = JsonProperty.Access.WRITE_ONLY)
    private String additionalContentUrl;

    /*
     * Additional metadata.
     */
    @JsonProperty(value = "metadata", access = JsonProperty.Access.WRITE_ONLY)
    private Object metadata;

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

    /**
     * Get the metadataId property: The policy metadata identifier.
     *
     * @return the metadataId value.
     */
    public String metadataId() {
        return this.metadataId;
    }

    /**
     * Get the category property: The category of the policy metadata.
     *
     * @return the category value.
     */
    public String category() {
        return this.category;
    }

    /**
     * Get the title property: The title of the policy metadata.
     *
     * @return the title value.
     */
    public String title() {
        return this.title;
    }

    /**
     * Get the owner property: The owner of the policy metadata.
     *
     * @return the owner value.
     */
    public String owner() {
        return this.owner;
    }

    /**
     * Get the additionalContentUrl property: Url for getting additional content about the resource metadata.
     *
     * @return the additionalContentUrl value.
     */
    public String additionalContentUrl() {
        return this.additionalContentUrl;
    }

    /**
     * Get the metadata property: Additional metadata.
     *
     * @return the metadata value.
     */
    public Object metadata() {
        return this.metadata;
    }

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