Hinzufügen von Ausdrücken für die zulässige Verwendung zu benutzerdefinierten Bildern

Verwenden Sie einen Ausdruck für die erlaubte Verwendung mit Ihrem benutzerdefinierten Bild, um die Fähigkeiten und Einschränkungen eines Bildes zu definieren und Ihnen zu helfen, kompatible Bild- und Profilkombinationen während der Servererstellung zu finden.

Sie können Ausdrücke für die erlaubte Verwendung verwenden, um zu konfigurieren, welche Profile, Images und Servereinstellungen bei der Bereitstellung einer virtuellen Serverinstanz oder eines Bare-Metal-Servers zusammen verwendet werden können. Wenn Sie bei der Erstellung einer virtuellen Serverinstanz oder eines Bare-Metal-Servers ein benutzerdefiniertes Image mit definierten Ausdrücken für die zulässige Verwendung verwenden, können Sie anschließend bestimmen, welche Profile mit diesen Ausdrücken kompatibel sind.

Bei der Erstellung einer virtuellen Serverinstanz oder eines Bare-Metal-Servers mit benutzerdefinierten Images, die einen Ausdruck für die zulässige Verwendung haben, werden die in den Eigenschaften für die zulässige Verwendung enthaltenen Informationen mit den Eigenschaften einer potenziellen virtuellen Serverinstanz oder eines Bare-Metal-Servers verglichen, um festzustellen, ob das benutzerdefinierte Image zur Erstellung der virtuellen Serverinstanz oder des Bare-Metal-Servers verwendet werden kann.

Über die Benutzeroberfläche, die Befehlszeilenschnittstelle und die API können Sie Ausdrücke für die erlaubte Verwendung für jedes benutzerdefinierte Image, Image von einem Volume, abgetrenntes Boot-Volume oder Snapshots von Boot-Volumes definieren. IBM Cloud® Virtual Private Cloud legt die Ausdrücke für die erlaubte Verwendung für alle Standard-Images fest, aber Sie können sie für jedes von Ihnen erstellte benutzerdefinierte Image definieren. Der Standardwert ist, dass der Ausdruck allowed-use den Wert true hat, was bedeutet, dass das benutzerdefinierte Bild mit allen potenziellen Server-Provisionen verwendet werden darf. Sie müssen die Ausdrücke für die zulässige Verwendung definieren oder bearbeiten, wenn Sie nicht möchten, dass das benutzerdefinierte Bild in bestimmten Situationen verwendet wird.

Für benutzerdefinierte Bilder und Bilder, die mit einem privaten Katalog geteilt werden, können Sie die Ausdrücke für die erlaubte Verwendung beim Erstellen des Bildes in IBM Cloud VPC definieren. Bei Images von Volumes, abgetrennten Boot-Volumes und Snapshots von Boot-Volumes werden die Ausdrücke für die erlaubte Verwendung standardmäßig von der Quelle übernommen. Sie können diese Ausdrücke jedoch bei der Erstellung der Ressource außer Kraft setzen. Für alle Images, Boot-Volumes und Snapshots von Boot-Volumes können die Ausdrücke für die zulässige Verwendung nach der Erstellung aktualisiert werden.

Weitere Informationen über x86 virtuelle Serverprofile und Informationen zur Definition der Ausdrücke für die erlaubte Verwendung, die Sie für Ihr benutzerdefiniertes Image verwenden möchten, finden Sie unter x86-64 instance profiles. Weitere Informationen zu x86-64 Bare-Metal-Serverprofilen finden Sie unter x86-64 Bare-Metal-Serverprofile.

IAM-Autorität erforderlich, um Ausdrücke für die zulässige Verwendung zu definieren

Je nachdem, mit welcher Art von Ressource Sie arbeiten, müssen Sie über eine oder mehrere der folgenden Berechtigungen verfügen, um Ausdrücke für die zulässige Verwendung definieren zu können.

  • is.image.image.manage-allowed-use für benutzerdefinierte Bilder, Bilder, die von einem privaten Katalog verwaltet werden, und Bilder von Datenträgern
  • is.volume.volume.manage-allowed-use für Boot-Volumes
  • is.snapshot.snapshot.manage-allowed-use für Snapshots von Boot-Volumes

Definition von Ausdrücken für die zulässige Verwendung mit Hilfe der Benutzeroberfläche

Wenn Sie ein Bild über die Benutzeroberfläche erstellen, können Sie die Details des Ausdrucks für die zulässige Verwendung im Bereich Advanced Options hinzufügen. Wenn Sie ein vorhandenes Bild betrachten, werden die Bilddetails unter Virtual server expression und Bare metal server expression angezeigt. Klicken Sie auf "Bearbeiten" in einem dieser Felder, um das Textfeld "Ausdruck für zulässige Verwendung" zu öffnen.

Der Abschnitt "Ausdruck für zulässige Verwendung" ist ein Textfeld, in das Sie die in der folgenden Tabelle aufgeführten Ausdrücke eingeben können. In den folgenden Tabellen finden Sie Details zu den Ausdrücken für die zulässige Verwendung für virtuelle Serverinstanzen und Bare-Metal-Server.

Ausdrücke für die erlaubte Verwendung der virtuellen Serverinstanz UI
Optionen für zulässige Ausdrücke in der Benutzeroberfläche der virtuellen Serverinstanz
Ausdruck für die zulässige Verwendung Ausdrucksvariable Typ
Ausdruck virtueller Server gpu.count
Gibt die Anzahl der GPUs an, die der virtuellen Serverinstanz zugewiesen sind.
Integer
gpu.manufacturer
Gibt den Hersteller der GPU an.
Zeichenkette mit Unterscheidung zwischen Groß- und Kleinschreibung
gpu.memory
Zeigt den Gesamtumfang des GPU-Speichers in GiB an.
Integer
gpu.model
Gibt das GPU-Modell an.
Zeichenkette mit Unterscheidung zwischen Groß- und Kleinschreibung
enable_secure_boot
Gibt an, ob „Secure Boot“ für die virtuelle Serverinstanz aktiviert ist.
Boolescher Wert
Bare Metal Server UI - Ausdrücke für erlaubte Verwendung
Optionen für zulässige Ausdrücke in der Benutzeroberfläche von Bare-Metal-Servern
Ausdruck für die zulässige Verwendung Ausdrucksvariable Typ
Ausdruck Bare Metal Server enable_secure_boot
Gibt an, ob sicheres Booten für den Bare-Metal-Server aktiviert ist.
Boolescher Wert

Das folgende Beispiel ist ein Ausdruck für die zulässige Verwendung für eine virtuelle Serverinstanz für eine GPU-Anzahl, die größer als eins ist, mit Nvidia als GPU-Hersteller. Sicheres Booten ist erforderlich.

gpu.count > 1 && gpu.manufacturer == 'nvidia' && enable_secure_boot

Weitere Informationen über die Common Expression Language, die zur Erstellung des Ausdrucks für die zulässige Verwendung verwendet wird, finden Sie unter Google in der Referenz zur CEL-Sprachdefinition

Definition von Ausdrücken für die erlaubte Verwendung mit Hilfe der CLI

In den folgenden Tabellen finden Sie Details zu den Ausdrücken für die zulässige Verwendung für virtuelle Serverinstanzen und Bare-Metal-Server.

CLI-Ausdrücke für die zulässige Verwendung der virtuellen Serverinstanz
Optionen für den Ausdruck „allowed-use“ in der Befehlszeilenschnittstelle (CLI) für virtuelle Serverinstanzen
Option "Erlaubte Verwendung Ausdrucksvariable Typ
--allowed-use-instance gpu.count
Gibt die Anzahl der GPUs an, die der virtuellen Serverinstanz zugewiesen sind.
Integer
gpu.manufacturer
Gibt den Hersteller der GPU an.
Zeichenkette mit Unterscheidung zwischen Groß- und Kleinschreibung
gpu.memory
Zeigt den Gesamtumfang des GPU-Speichers in GiB an.
Integer
gpu.model
Gibt das GPU-Modell an.
Zeichenkette mit Unterscheidung zwischen Groß- und Kleinschreibung
enable_secure_boot
Gibt an, ob „Secure Boot“ für die virtuelle Serverinstanz aktiviert ist.
Boolescher Wert
Bare-Metal-Server-CLI-Ausdrücke für die erlaubte Verwendung
Optionen für den Ausdruck „allowed-use“ in der Befehlszeilenschnittstelle (CLI) von Bare-Metal-Servern
Option "Erlaubte Verwendung Ausdrucksvariable Typ
--allowed-use-bare-metal-server enable_secure_boot
Gibt an, ob sicheres Booten für den Bare-Metal-Server aktiviert ist.
Boolescher Wert

Das folgende Codebeispiel zeigt, wie Sie die Optionen für den Ausdruck "allowed-use" verwenden, wenn Sie ein neues benutzerdefiniertes Bild mithilfe der Befehlszeilenschnittstelle erstellen. Im Beispiel wird das Image so eingerichtet, dass für einen Bare-Metal-Server eine sichere Boot-Aktivierung erforderlich ist und die Bereitstellung einer virtuellen Serverinstanz möglich ist.

ibmcloud is image-create my-ubuntu-20-amd64 --file cos://us-south/custom-image-vpc-bucket/customImage-0.qcow2 --os-name ubuntu-20-04-amd64 --allowed-use-bare-metal-server "enable_secure_boot==true" --allowed-use-instance true

Das folgende Codebeispiel zeigt, wie Sie die Optionen für den Ausdruck "allowed-use" verwenden, wenn Sie ein vorhandenes benutzerdefiniertes Bild mithilfe der Befehlszeilenschnittstelle aktualisieren. In diesem Beispiel wird ein Image so aktualisiert, dass für die Bereitstellung sowohl eines Bare-Metal-Servers als auch einer virtuellen Serverinstanz die Aktivierung von Secure Boot erforderlich ist.

ibmcloud is image-update r006-c9da1575-20cd-4412-9269-8ed08d3ac278 --allowed-use-bare-metal-server enable_secure_boot==true --allowed-use-instance enable_secure_boot==true

Weitere Informationen zu den Optionen und Variablen des CLI-Ausdrucks "Zulässige Verwendung" finden Sie in der VPC CLI-Referenz: Bilder. Weitere Informationen zur Common Expression Language, die zur Erstellung des Ausdrucks für die zulässige Verwendung verwendet wird, finden Sie unter Google in der Referenz zur CEL-Sprachdefinition

Definition von Ausdrücken für die zulässige Verwendung mithilfe der API

In den folgenden Tabellen finden Sie Details zu den Ausdrücken für die zulässige Verwendung für virtuelle Serverinstanzen und Bare-Metal-Server.

Ausdrücke für die zulässige Verwendung der virtuellen Serverinstanz-API
Optionen für den Ausdruck „allowed-use“ der API für virtuelle Serverinstanzen
Eigenschaft "Erlaubte Nutzung Untereigenschaft "Erlaubte Verwendung Ausdrucksvariable Typ
allowed_use instance gpu.count
Gibt die Anzahl der GPUs an, die der virtuellen Serverinstanz zugewiesen sind.
Integer
gpu.manufacturer
Gibt den Hersteller der GPU an.
Zeichenkette mit Unterscheidung zwischen Groß- und Kleinschreibung
gpu.memory
Zeigt den Gesamtumfang des GPU-Speichers in GiB an.
Integer
gpu.model
Gibt das GPU-Modell an.
Zeichenkette mit Unterscheidung zwischen Groß- und Kleinschreibung
enable_secure_boot
Gibt an, ob „Secure Boot“ für die virtuelle Serverinstanz aktiviert ist.
Boolescher Wert
Ausdrücke für die zulässige Verwendung der Bare-Metal-Server-API
Optionen für den Ausdruck „allowed-use“ der Bare-Metal-Server-API
Eigenschaft "Erlaubte Nutzung Untereigenschaft "Erlaubte Verwendung Ausdrucksvariable Typ
allowed_use bare_metal_server enable_secure_boot
Gibt an, ob sicheres Booten für den Bare-Metal-Server aktiviert ist.
Boolescher Wert

Um ein neues benutzerdefiniertes Bild mit Ausdrücken für die zulässige Verwendung zu erstellen, verwenden Sie den API-Befehl POST /images. Im folgenden Beispiel wird ein neues benutzerdefiniertes Image mit einem Ausdruck für die zulässige Verwendung für eine virtuelle Serverinstanz für eine GPU-Anzahl von mehr als eins mit Nvidia als GPU-Hersteller erstellt. Sicheres Booten ist erforderlich. Der Ausdruck "Bare Metal Server allowed-use" ist auf "false" gesetzt, so dass das Image nicht zur Bereitstellung eines Bare Metal Servers verwendet werden kann.

curl -X POST "$vpc_api_endpoint/v1/images?version=$today&generation=2" -H "Authorization: Bearer $iam_token" -d '{
      "name": "my-image",
      "file": {
        "href": "cos://us-south/my-bucket/my-image.qcow2"
      },
      "operating_system": {
        "name": "debian-9-amd64"
      },
      "allowed_use": {
         "instance": "gpu.count > 1 && gpu.manufacturer == \"nvidia\" && enable_secure_boot",
         "bare_metal_server": "false"
      }
    }'

Um ein vorhandenes benutzerdefiniertes Bild mit einem Ausdruck für zulässige Verwendung zu aktualisieren, verwenden Sie den API-Befehl PATCH /images. Das folgende Beispiel aktualisiert ein vorhandenes benutzerdefiniertes Image mit einem Ausdruck für die erlaubte Verwendung für eine virtuelle Serverinstanz für eine GPU-Anzahl, die größer als eins ist, mit Nvidia als GPU-Hersteller. Sicheres Booten ist erforderlich. Der Ausdruck "Bare Metal Server allowed-use" ist auf "false" gesetzt, so dass das Image nicht zur Bereitstellung eines Bare Metal Servers verwendet werden kann.

curl -X PATCH "$vpc_api_endpoint/v1/images/$image_id?version=$today&generation=2" -H 'Content-Type: application/json' -H "Authorization: Bearer $iam_token"  -d '{
"allowed_use": {
  "instance": "gpu.count > 1 && gpu.manufacturer == \"nvidia\" && enable_secure_boot",
  "bare_metal_server": "false"
  }
}'

Weitere Einzelheiten über die Eigenschaft API allowed_use und die Untereigenschaften finden Sie in der Virtual Private Cloud API: Bild erstellen und Virtual Private Cloud API: Bild aktualisieren. Weitere Informationen zur Common Expression Language, die zur Erstellung des Ausdrucks für die zulässige Verwendung verwendet wird, finden Sie unter Google in der Referenz zur CEL-Sprachdefinition

Definition von Ausdrücken für die erlaubte Nutzung mit Terraform

In den folgenden Tabellen finden Sie Details zu den Ausdrücken für die zulässige Verwendung für virtuelle Serverinstanzen und Bare-Metal-Server.

Virtuelle Serverinstanz Terraform-Ausdrücke für die erlaubte Verwendung
Optionen für den Ausdruck „allowed-use“ in Terraform für virtuelle Serverinstanzen
Attribut "Erlaubte Verwendung Unterattribut "Erlaubte Verwendung Ausdrucksvariable Typ
allowed_use instance gpu.count
Gibt die Anzahl der GPUs an, die der virtuellen Serverinstanz zugewiesen sind.
Integer
gpu.manufacturer
Gibt den Hersteller der GPU an.
Zeichenkette mit Unterscheidung zwischen Groß- und Kleinschreibung
gpu.memory
Zeigt den Gesamtumfang des GPU-Speichers in GiB an.
Integer
gpu.model
Gibt das GPU-Modell an.
Zeichenkette mit Unterscheidung zwischen Groß- und Kleinschreibung
enable_secure_boot
Gibt an, ob „Secure Boot“ für die virtuelle Serverinstanz aktiviert ist.
Boolescher Wert
Bare Metal Server Terraform Ausdrücke für erlaubte Nutzung
Optionen für den Ausdruck „allowed-use“ bei Terraform für Bare-Metal-Server
Attribut "Erlaubte Verwendung Unterattribut "Erlaubte Verwendung Ausdrucksvariable Typ
allowed_use bare_metal_server enable_secure_boot
Gibt an, ob „Secure Boot“ für die virtuelle Serverinstanz aktiviert ist.
Boolescher Wert

Um ein neues benutzerdefiniertes Bild mit Ausdrücken für die zulässige Verwendung zu erstellen oder ein vorhandenes Bild zu aktualisieren, aktualisieren Sie die Ressource ibm_is_image. Im folgenden Beispiel wird ein neues benutzerdefiniertes Image mit einem Ausdruck für die zulässige Verwendung für eine virtuelle Serverinstanz für eine GPU-Anzahl von mehr als eins mit Nvidia als GPU-Hersteller erstellt. Sicheres Booten ist erforderlich. Der Ausdruck "Bare Metal Server allowed-use" ist auf "false" gesetzt, so dass das Image nicht zur Bereitstellung eines Bare Metal Servers verwendet werden kann.

resource "ibm_is_image" "example" {
  name               = "my-image"
  href               = "cos://us-south/buckettesttest/livecd.ubuntu-cpc.azure.vhd"
  operating_system   = "ubuntu-16-04-amd64"
  allowed_use{
    api_version       = "2025-04-03"
    bare_metal_server = “enable_secure_boot == true”
    instance = “gpu.count > 0 && enable_secure_boot == true”
  }
}

Weitere Informationen zur Common Expression Language, mit der die Ausdrücke für die zulässige Verwendung erstellt werden, finden Sie unter Google in der Referenz zur CEL-Sprachdefinition</