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-usefür benutzerdefinierte Bilder, Bilder, die von einem privaten Katalog verwaltet werden, und Bilder von Datenträgernis.volume.volume.manage-allowed-usefür Boot-Volumesis.snapshot.snapshot.manage-allowed-usefü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.
| Ausdruck für die zulässige Verwendung | Ausdrucksvariable | Typ |
|---|---|---|
| Ausdruck virtueller Server | gpu.countGibt die Anzahl der GPUs an, die der virtuellen Serverinstanz zugewiesen sind. |
Integer |
|
|
gpu.manufacturerGibt den Hersteller der GPU an. |
Zeichenkette mit Unterscheidung zwischen Groß- und Kleinschreibung |
|
|
gpu.memoryZeigt den Gesamtumfang des GPU-Speichers in GiB an. |
Integer |
|
|
gpu.modelGibt das GPU-Modell an. |
Zeichenkette mit Unterscheidung zwischen Groß- und Kleinschreibung |
|
|
enable_secure_bootGibt an, ob „Secure Boot“ für die virtuelle Serverinstanz aktiviert ist. |
Boolescher Wert |
| Ausdruck für die zulässige Verwendung | Ausdrucksvariable | Typ |
|---|---|---|
| Ausdruck Bare Metal Server | enable_secure_bootGibt 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.
| Option "Erlaubte Verwendung | Ausdrucksvariable | Typ |
|---|---|---|
--allowed-use-instance |
gpu.countGibt die Anzahl der GPUs an, die der virtuellen Serverinstanz zugewiesen sind. |
Integer |
|
|
gpu.manufacturerGibt den Hersteller der GPU an. |
Zeichenkette mit Unterscheidung zwischen Groß- und Kleinschreibung |
|
|
gpu.memoryZeigt den Gesamtumfang des GPU-Speichers in GiB an. |
Integer |
|
|
gpu.modelGibt das GPU-Modell an. |
Zeichenkette mit Unterscheidung zwischen Groß- und Kleinschreibung |
|
|
enable_secure_bootGibt an, ob „Secure Boot“ für die virtuelle Serverinstanz aktiviert ist. |
Boolescher Wert |
| Option "Erlaubte Verwendung | Ausdrucksvariable | Typ |
|---|---|---|
--allowed-use-bare-metal-server |
enable_secure_bootGibt 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.
| Eigenschaft "Erlaubte Nutzung | Untereigenschaft "Erlaubte Verwendung | Ausdrucksvariable | Typ |
|---|---|---|---|
allowed_use |
instance |
gpu.countGibt die Anzahl der GPUs an, die der virtuellen Serverinstanz zugewiesen sind. |
Integer |
|
|
|
gpu.manufacturerGibt den Hersteller der GPU an. |
Zeichenkette mit Unterscheidung zwischen Groß- und Kleinschreibung |
|
|
|
gpu.memoryZeigt den Gesamtumfang des GPU-Speichers in GiB an. |
Integer |
|
|
|
gpu.modelGibt das GPU-Modell an. |
Zeichenkette mit Unterscheidung zwischen Groß- und Kleinschreibung |
|
|
|
enable_secure_bootGibt an, ob „Secure Boot“ für die virtuelle Serverinstanz aktiviert ist. |
Boolescher Wert |
| Eigenschaft "Erlaubte Nutzung | Untereigenschaft "Erlaubte Verwendung | Ausdrucksvariable | Typ |
|---|---|---|---|
allowed_use |
bare_metal_server |
enable_secure_bootGibt 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.
| Attribut "Erlaubte Verwendung | Unterattribut "Erlaubte Verwendung | Ausdrucksvariable | Typ |
|---|---|---|---|
allowed_use |
instance |
gpu.countGibt die Anzahl der GPUs an, die der virtuellen Serverinstanz zugewiesen sind. |
Integer |
|
|
|
gpu.manufacturerGibt den Hersteller der GPU an. |
Zeichenkette mit Unterscheidung zwischen Groß- und Kleinschreibung |
|
|
|
gpu.memoryZeigt den Gesamtumfang des GPU-Speichers in GiB an. |
Integer |
|
|
|
gpu.modelGibt das GPU-Modell an. |
Zeichenkette mit Unterscheidung zwischen Groß- und Kleinschreibung |
|
|
|
enable_secure_bootGibt an, ob „Secure Boot“ für die virtuelle Serverinstanz aktiviert ist. |
Boolescher Wert |
| Attribut "Erlaubte Verwendung | Unterattribut "Erlaubte Verwendung | Ausdrucksvariable | Typ |
|---|---|---|---|
allowed_use |
bare_metal_server |
enable_secure_bootGibt 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</