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 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 êtreset
,unset
ouzero
. - Le nom de la famille de services, par exemple :
compute-core
. - Le mot clé
quota
ouquotas
. - Le nom du quota, qui varie selon la famille de services. Par exemple, un quota valide dans la famille
compute-core
eststandard-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".
- Vous pouvez également utiliser des cartes génériques pour spécifier un intervalle de noms. Par exemple,
- 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 sontrequest.region
etrequest.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 clausewhere
. -
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.
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
- 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