Sintaxis de las políticas de cuota

En el siguiente tema se describe la sintaxis de la política de cuota de compartimento.

Están disponibles tres tipos de sentencias de política de cuota:

  • set: define el número máximo de un recurso en la nube que se puede utilizar para un compartimento.
  • unset: restablece las cuotas a los límites de servicio por defecto.
  • zero: elimina el acceso a un recurso en la nube para un compartimento.
Las sentencias de política de cuota tienen el siguiente formato:
Diagrama de sentencias de política de cuota "set"
Diagrama de sentencias de política de cuota sin definir
Diagrama de sentencias de política de cuota "zero"

Los componentes de lenguaje para una sentencia de política de cuota son los siguientes:

  • La palabra clave action, que corresponde al tipo de cuota que se define. La palabra clave puede ser set, unset o zero.
  • El nombre de la familia de servicios, por ejemplo: compute-core.
  • La palabra clave quota o quotas.
  • Nombre de la cuota, que varía según la familia de servicios. Por ejemplo, una cuota válida en la familia compute-core es standard-e4-core-count.
    • También puede utilizar comodines para especificar un rango de nombres. Por ejemplo, "/standard*/" coincide con todas las cuotas de Compute que empiezan por la frase "standard".
  • Para sentencias "set", el valor de la cuota.
  • El compartimento que abarca la cuota.
  • Una condición opcional. Por ejemplo, where request.region = 'us-phoenix-1'. Las condiciones soportadas actualmente son request.region y request.ad.

Consulte también Cuotas de ejemplo para ver algunos ejemplos de uso comunes.

Ámbito

Las cuotas pueden tener diferentes ámbitos y funcionar en el dominio de disponibilidad, la región o globalmente. A continuación se muestran algunos puntos importantes que debe comprender sobre el ámbito al trabajar con cuotas de compartimento:

  • Al configurar una cuota en el nivel del dominio de disponibilidad (AD), la cuota se asigna a cada AD. Por ejemplo, la definición de una cuota de 120 OCPU en un compartimento define, en realidad, un límite de 120 OCPU por dominio de disponibilidad. Para dirigirse a un dominio de disponibilidad específico, use el parámetro request.ad en la cláusula where.

  • Las cuotas regionales se aplican a cada región. Consulte Cuotas de ejemplo para obtener un ejemplo de una cuota regional.

  • El uso de subcompartimentos se tiene en cuenta para el uso del compartimento principal.

Para obtener más información, consulte Regiones y dominios de disponibilidad.

Permisos y anidación

Las cuotas de compartimento se pueden definir en el compartimento raíz. Un administrador (que debe poder gestionar cuotas en el compartimento raíz) puede definir cuotas en sus propios compartimentos y en cualquier compartimento secundario. Las cuotas definidas en un compartimento principal sustituyen las cuotas definidas en los compartimentos secundarios. De esta forma, el administrador de un compartimento principal puede crear una cuota en un compartimento secundario que no se pueda sustituir por el secundario.

Nota

Las políticas que están dirigidas a compartimentos anidados se escriben de la siguiente manera:
set compute quota standard-e4-core-count to 10 in compartment parent:child:another_child

Evaluación y precedencia de cuota

Las siguientes reglas se aplican cuando se evalúan sentencias de cuota:
  • En una política, las sentencias de cuota se evalúan en orden, y las sentencias más recientes sustituyen a las sentencias anteriores que se dirigen al mismo recurso.
  • En los casos en los que se establece más de una política para el mismo recurso, se aplica la política más restrictiva.
  • Los límites de servicio siempre tienen prioridad sobre las cuotas. Aunque es posible especificar una cuota para un recurso que exceda el límite de servicio para dicho recurso, el límite se sigue aplicando.

Comodines

Algunas familias de cuotas tienen muchos recursos, por ejemplo, la familia de cuotas de Database está compuesta por muchas cuotas. En estos casos, se puede utilizar el nombre de cuota wildcards para especificar un rango de nombres.

En este ejemplo se utiliza un comodín para asignar todos los recursos exadata al compartimento ProductionApp:

zero database quota /*exadata*/ in tenancy
unset database quota /*exadata*/ in compartment ProductionApp