Beispiel-Ressourcenpool, der die Auswahlmöglichkeiten auf die Kostenstelle beschränkt
Sie können Ressourcenpools mit Blaupausen verwenden, um die Auswahlmöglichkeiten im Cloud-Kataloganforderungsformular zu beschränken.
Anwendungsfall: Kostenstellenauswahl beschränken
In diesem Beispiel werden die Kosten des Cloud-Assets mit dem Budget der Kostenstelle des Benutzers verrechnet. Basissystem UserCostCenter Ressourcenpool stellt sicher, dass ein Benutzer nur Ressourcen in seiner Kostenstelle auswählen kann.
Annahmen
- Das Plugin „Cost Management“ [con.snc.cost_management] ist aktiv.
- Kostenstellen sind definiert, und den Kostenstellen sind Benutzer zugeordnet.
- Mindestens eine Blaupause ist definiert. In diesem Beispiel wird eine Blaupause mit dem Namen Virtueller AWS-Server verwendet.
- Ihnen ist die Rolle „sn_cmp_cloud_admin“ zugewiesen, und Sie kennen JavaScript- und JSON-Skripting.
Komponenten
- Ressourcenpoolfilter überprüfen
- Navigieren Sie im Cloud-Administratorportal zu an.
- Öffnen Sie den CostCenterPool, und überprüfen Sie die zugehörigen Ressourcenpoolfilter.
- Alle ist ein Abfragefilter, der alle Kostenstellen in der Tabelle zurückgibt.
- UserCostCenter ist ein Skriptfilter, der die Kostenstelle sucht, die dem Benutzer zugeordnet ist, der das Element bestellt.
Dies ist das Skript für den Filter UserCostCenter:getFilteredRecords(); //Do not remove function declaration /** * @returns filtered records in the format [{"value"="lookupValue",label="displayValue"}] */ function getFilteredRecords() { var filteredRecords = []; var userId = gs.getUserID(); var userGr = new GlideRecord('sys_user'); if (userGr.get(userId)){ var costCenterId = userGr.getValue('cost_center'); if (costCenterId){ var costCenterGr = new GlideRecord('cmn_cost_center'); if (costCenterGr.get(costCenterId)){ var costCenter = {}; costCenter.value = costCenterGr.getUniqueValue(); costCenter.label = costCenterGr.getValue('name'); filteredRecords.push(costCenter); } } } //force to string return new global.JSON().encode(filteredRecords); }
- Parameter des Blaupausenkatalogformulars
- Navigieren zu , Und klicken Sie dann auf die Kachel für den Blueprint, den Sie öffnen möchten.
- Mit dem Blueprint in Entwurf status, klicken Sie auf Bereitstellung Vorgangskachel auf der Registerkarte
- Klicken Sie in der zugehörigen Liste „Variablensätze“ auf den Variablensatz Allgemeine Informationen. Standardmäßig befindet sich die Variable „CostCenter“ in diesem Variablensatz.
- Klicken Sie in der zugehörigen Liste „Cloud-Variablen“ im Formular „Variablensatz“ auf die Variable CostCenter.
- Klicken Sie auf dem Formular „Cloud-Variable“ auf die Registerkarte Typspezifikationen.
- Sehen Sie sich die Felder Pool und Poolfilter an, die auf den Ressourcenpool und Filter verweisen.
- CostCenterPool ist der Name des Ressourcenpools.
- UserCostCenter ist das Filterskript, das die Kostenstellenoptionen für die Auswahl durch den Benutzer abruft.
- Legen Sie die Blaupause auf Veröffentlicht fest.
- Kostenstellenbenutzer
- Identifizieren Sie einen Benutzer, der Mitglied einer Kostenstelle ist und Zugriff auf das Cloudbenutzerportal hat.
Ressourcenpoolfilter testen
Nach der Überprüfung der Komponenten dieses Anwendungsfalls testen Sie das Cloud-Katalogelement, um sicherzustellen, dass Benutzer nur ihre Kostenstelle auswählen können.
- Nehmen Sie in diesem Beispiel die Identität der Benutzerin Alene Rabeck an.
- Klicken Sie im Cloudbenutzerportal auf Einen Stapel starten, und wählen Sie dann das Cloud-Katalogelement aus (in diesem Beispiel Virtueller AWS-Server).
- Überprüfen Sie die Auswahlmöglichkeiten in der Liste Kostenstelle.
Mit dem Datenquellenwert CostCenterPool::UserCostCenter für dieses Katalogelement ist die einzige Option für die Kostenstelle die Kostenstelle, bei der der Benutzer Mitglied ist.
Ressourcenpoolfilter ändern
Testen Sie, ob der Ressourcenpoolfilter das Verhalten des Felds Kostenstelle steuert, indem Sie ihn ändern und sich die Ergebnisse ansehen.
- Navigieren Sie im Cloud-Administratorportal zu Und klicken Sie dann auf Virtueller AWS-Server .
- Klicken Sie auf die Vorgangskachel Bereitstellung.
- Klicken Sie in der zugehörigen Liste „Variablensätze“ auf den Variablensatz Allgemeine Informationen. Standardmäßig befindet sich die Variable „CostCenter“ in diesem Variablensatz.
- Klicken Sie in der zugehörigen Liste „Cloud-Variablen“ im Formular „Variablensatz“ auf die Variable CostCenter.
- Klicken Sie auf dem Formular „Cloud-Variable“ auf die Registerkarte Typspezifikationen.
- Bearbeiten Sie das Feld Poolfilter, um den Filter von UserCostCenter in All zu ändern.
- Klicken Sie auf Aktualisieren und anschließend auf Veröffentlichen.
- Nehmen Sie in diesem Beispiel die Identität der Benutzerin Alene Rabeck an.
- Starten Sie im Cloudbenutzerportal einen Stapel, und wählen Sie dann Virtueller AWS-Server aus.
- Stellen Sie sicher, dass alle Kostenstellen aufgelistet sind.