Syntaxe de politique de quotas

La rubrique suivante décrit la syntaxe de la politique de quota de compartiment.

Trois types d'énoncé de politique de quota sont disponibles :

  • set : Définit le nombre maximal de ressources en nuage que peut utiliser un compartiment.
  • unset : Réinitialise les quotas aux limites de service par défaut.
  • zero : Supprime l'accès à une ressource en nuage pour un compartiment.
Les énoncés de politique de quota ont le format suivant :
Diagramme d'énoncés "set" de politique de quota
Diagramme d'énoncés d'un jeu de politiques de quota
Diagramme d'énoncés zéro de politique de quota

Les composants de langage d'un énoncé de politique de quota :

  • Le mot clé action, qui correspond au type de quota défini. Le mot clé peut être set, unset ou zero.
  • Le nom de la famille de services, par exemple : compute-core.
  • Le mot clé quota ou quotas.
  • Le nom du quota, qui varie selon la famille de services. Par exemple, un quota valide dans la famille compute-core est standard-e4-core-count.
    • Vous pouvez également utiliser des cartes génériques pour spécifier un intervalle de noms. Par exemple, "/standard*/" correspond à tous les quotas du service de calcul qui commencent par l'expression "standard".
  • Pour les énoncés "set", la valeur du quota.
  • Le compartiment couvert par le quota.
  • Une condition facultative. Par exemple, where request.region = 'us-phoenix-1'. Les conditions actuellement prises en charge sont request.region et request.ad.

Voir aussi Exemples de quotas pour des exemples d'utilisation courants.

Portée

Les quotas peuvent avoir des portées différentes et s'appliquer au domaine de disponibilité, à la région ou globalement. Voici quelques points importants à comprendre sur la portée lors de l'utilisation des quotas de compartiment :

  • Lors de la définition d'un quota au niveau des domaines de disponibilité, le quota est affecté à chaque domaine de disponibilité. Par conséquent, par exemple, si vous définissez un quota de 120 OCPU pour un compartiment, en fait, vous définissez une limite de 120 OCPU par domaine de disponibilité. Pour cibler un domaine de disponibilité spécifique, utilisez le paramètre request.ad dans la clause where.

  • Les quotas régionaux s'appliquent à chaque région. Voir Exemples de quotas pour un exemple de quota régional.

  • L'utilisation des sous-compartiments est comptabilisée dans l'utilisation du compartiment principal.

Pour plus d'informations, voir Régions et domaines de disponibilité.

Autorisations et intégration

Des quotas de compartiment peuvent être définis pour le compartiment racine. Un administrateur (qui doit être autorisé à gérer les quotas pour le compartiment racine) peut définir des quotas pour son propre compartiment et les éventuels compartiments enfants. Les quotas définis pour un compartiment parent remplacent ceux définis pour les compartiments enfants. Ainsi, un administrateur d'un compartiment parent peut créer un quota pour un compartiment enfant, qui ne peut pas être remplacé par celui-ci.

Note

Les politiques qui ciblent les compartiments imbriqués sont écrites comme suit :
set compute quota standard-e4-core-count to 10 in compartment parent:child:another_child

Évaluation et priorité des quotas

Les règles suivantes s'appliquent lors de l'évaluation des énoncés de quota :
  • Dans une politique, les énoncés de quota sont évalués dans l'ordre, et les derniers énoncés sont prioritaires sur les énoncés précédents qui ciblent la même ressource.
  • Lorsque plusieurs politiques sont définies pour la même ressource, la politique la plus restrictive s'applique.
  • Les limites de service sont toujours prioritaires par rapport aux quotas. Bien qu'il est possible de spécifier un quota pour une ressource dépassant la limite de service pour cette ressource, la limite de service est toujours appliquée.

Wildcards

Certaines familles de quotas ont de nombreuses ressources, par exemple, la famille de quotas de la base de données est composée de nombreux quotas. Les caractères génériques de nom de quota peuvent être utilisés dans de tels cas pour spécifier un intervalle de noms.

Cet exemple utilise un caractère générique pour affecter toutes les ressources exadata au compartiment ProductionApp :

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