/**
 *
 *
 * OpenAPI spec version: 20201101
 *
 *
 * NOTE: This class is auto generated by OracleSDKGenerator.
 * Do not edit the class manually.
 *
 * Copyright (c) 2020, 2021, Oracle and/or its affiliates.  All rights reserved.
 * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
 */

import * as model from "../model";
import common = require("oci-common");

/**
 * @example Click {@link https://docs.cloud.oracle.com/en-us/iaas/tools/typescript-sdk-examples/latest/databasemanagement/ListDatabaseParameters.ts.html |here} to see how to use ListDatabaseParametersRequest.
 */
export interface ListDatabaseParametersRequest extends common.BaseRequest {
  /**
   * The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the Managed Database.
   */
  "managedDatabaseId": string;
  /**
   * The client request ID for tracing.
   */
  "opcRequestId"?: string;
  /**
   * The source used to list database parameters. `CURRENT` is used to get the
   * database parameters that are currently in effect for the database
   * instance. `SPFILE` is used to list parameters from the server parameter
   * file. Default is `CURRENT`.
   *
   */
  "source"?: ListDatabaseParametersRequest.Source;
  /**
   * A filter to return all parameters that have the text given in their names.
   *
   */
  "name"?: string;
  /**
   * When true, results include a list of valid values for parameters (if applicable).
   *
   */
  "isAllowedValuesIncluded"?: boolean;
  /**
   * The field to sort information by. Only one sortOrder can be used. The
   * default sort order for `NAME` is ascending and it is case-sensitive.
   *
   */
  "sortBy"?: ListDatabaseParametersRequest.SortBy;
  /**
   * The option to sort information in ascending (\u2018ASC\u2019) or descending (\u2018DESC\u2019) order. Ascending order is the the default order.
   */
  "sortOrder"?: model.SortOrders;
}

export namespace ListDatabaseParametersRequest {
  export enum Source {
    Current = "CURRENT",
    Spfile = "SPFILE"
  }

  export enum SortBy {
    Name = "NAME"
  }
}
