REST-Ressource: projects.guestPolicies

Ressource: GuestPolicy

Eine OS Config-Ressource, die eine Gastkonfigurationsrichtlinie darstellt. Diese Richtlinien stellen den gewünschten Status für Gastumgebungen der VM-Instanz dar, einschließlich zu installierender oder zu entfernender Pakete, Paket-Repository-Konfigurationen und zu installierender Software.

JSON-Darstellung

{
      "name": string,
      "description": string,
      "createTime": string,
      "updateTime": string,
      "assignment": {
        object (Assignment)
      },
      "packages": [
        {
          object (Package)
        }
      ],
      "packageRepositories": [
        {
          object (PackageRepository)
        }
      ],
      "recipes": [
        {
          object (SoftwareRecipe)
        }
      ],
      "etag": string
    }
Felder
name

string

Erforderlich Eindeutiger Name der Ressource in diesem Projekt in einem der folgenden Formate: projects/{project_number}/guestPolicies/{guestPolicyId}.

description

string

Beschreibung der Gastrichtlinie. Die Länge der Beschreibung ist auf 1.024 Zeichen beschränkt.

createTime

string (Timestamp format)

Nur Ausgabe Zeit, zu der diese Gastrichtlinie erstellt wurde.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" in Nanosekunden. Beispiel: "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Nur Ausgabe Das letzte Mal, als diese Gastrichtlinie aktualisiert wurde.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" in Nanosekunden. Beispiel: "2014-10-02T15:01:23.045123456Z".

assignment

object (Assignment)

Erforderlich Gibt die VM-Instanzen an, die dieser Richtlinie zugewiesen sind. Auf diese Weise können Sie für Gruppen von VM-Instanzen ein Targeting nach verschiedenen Parametern wie Labels, Namen, Betriebssystem oder Zonen ausführen.

Wenn kein Wert angegeben wird, wird das Targeting für alle VM-Instanzen unterhalb dieser Richtlinie ausgeführt.

Der Dienst verhindert das Erstellen mehrerer Richtlinien, die in Konflikt miteinander stehen, auf derselben Ebene in der Ressourcenhierarchie (d. h. innerhalb eines Projekts). Weitere Informationen finden Sie im Abschnitt dazu, wie der Dienst mit Zuweisungskonflikten umgeht.

packages[]

object (Package)

Die Softwarepakete, die von dieser Richtlinie verwaltet werden sollen.

packageRepositories[]

object (PackageRepository)

Eine Liste der Paket-Repositories, die auf der VM-Instanz konfiguriert werden sollen. Dies erfolgt, bevor andere Konfigurationen durchgeführt werden, damit diese Repositories verwendet werden können. Paket-Repositories werden nur konfiguriert, wenn die entsprechenden Paketmanager verfügbar sind.

recipes[]

object (SoftwareRecipe)

Eine Liste der Schemata, die auf der VM-Instanz installiert werden sollen.

etag

string

Das ETag für diese Gastrichtlinie. Wenn es bei der Aktualisierung angegeben wird, muss es mit dem ETag des Servers übereinstimmen.

Zuweisung

Eine Zuweisung stellt die Gruppe oder die Gruppen von VM-Instanzen dar, auf die die Richtlinie angewendet wird.

Wenn eine Zuweisung leer ist, gilt sie für alle VM-Instanzen. Andernfalls müssen die VM-Zielinstanzen alle angegebenen Kriterien erfüllen. Wenn also sowohl Labels als auch Zonen angegeben sind, gilt die Richtlinie für VM-Instanzen mit diesen Labels und in diesen Zonen.

JSON-Darstellung

{
      "groupLabels": [
        {
          object (GroupLabel)
        }
      ],
      "zones": [
        string
      ],
      "instances": [
        string
      ],
      "instanceNamePrefixes": [
        string
      ],
      "osTypes": [
        {
          object (OsType)
        }
      ]
    }
Felder
groupLabels[]

object (GroupLabel)

Targeting von Instanzen, die mindestens einem dieser Labelsätze entsprechen. Dadurch kann eine Zuweisung auf verschiedene Gruppen ausgerichtet werden, z. B. "env=prod oder env=staging".

zones[]

string

Targeting von Instanzen in einer dieser Zonen. Lassen Sie das Feld leer, um das Targeting für Instanzen in einer beliebigen Zone auszuführen.

Zonales Targeting wird selten genutzt und wird unterstützt, um die Verwaltung von Änderungen nach Zone zu erleichtern.

instances[]

string

Targeting von allen angegebenen Instanzen. Instanzen werden über ihren URI im Format zones/[ZONE]/instances/[INSTANCE_NAME] angegeben.

Das Instanz-Targeting wird selten genutzt und wird unterstützt, um die Verwaltung von Änderungen durch die Instanz oder das Targeting bestimmter VM-Instanzen für die Entwicklung und für Tests zu erleichtern.

Wird nur für Richtlinien auf Projektebene unterstützt und muss auf Instanzen innerhalb dieses Projekts verweisen.

instanceNamePrefixes[]

string

Targeting von VM-Instanzen, deren Name mit einem dieser Präfixe beginnt.

Wie Labels ist dies eine weitere Möglichkeit, VM-Instanzen beim Targeting von Konfigurationen zu gruppieren, z. B. prefix="prod-".

Wird nur für Richtlinien auf Projektebene unterstützt.

osTypes[]

object (OsType)

Targeting von VM-Instanzen, die mindestens einem der folgenden Betriebssystemtypen entsprechen.

VM-Instanzen müssen allen angegebenen Kriterien für einen bestimmten einzuschließenden Betriebssystemtyp (OsType) entsprechen.

GroupLabel

Stellt eine Gruppe von VM-Intents dar, die alle diese Labels haben können, z. B. "env=prod and app=web".

JSON-Darstellung

{
      "labels": {
        string: string,
        ...
      }
    }
Felder
labels

map (key: string, value: string)

Google Compute Engine-Instanzlabels, die vorhanden sein müssen, damit eine Instanz in diese Zuweisungsgruppe aufgenommen wird.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Typ des Betriebssystems

Definiert die Kriterien für die Auswahl von VM-Instanzen nach Betriebssystemtyp.

JSON-Darstellung

{
      "osShortName": string,
      "osVersion": string,
      "osArchitecture": string
    }
Felder
osShortName

string

Targeting von VM-Instanzen mit aktiviertem OS Inventory und dem folgenden Kurznamen für das Betriebssystem, z. B. "debian" oder "windows".

osVersion

string

Targeting von VM-Instanzen mit aktiviertem OS Inventory und der folgenden Betriebssystemversion.

osArchitecture

string

Targeting von VM-Instanzen mit aktiviertem OS Inventory und der folgenden Betriebssystemarchitektur.

Paket

"Paket" ist ein Verweis auf das Softwarepaket, das installiert oder entfernt werden soll. Der Agent in der VM-Instanz verwendet den Systempaketmanager, um die Konfiguration anzuwenden.

Im Folgenden sind die Befehle aufgeführt, die der Agent zum Installieren oder Entfernen von Paketen verwendet.

Apt installieren: apt-get update && apt-get -y install package1 package2 package3 entfernen: apt-get -y remove package1 package2 package3

Yum installieren: yum -y install package1 package2 package3 entfernen: yum -y remove package1 package2 package3

Zypper installieren: zypper install package1 package2 package3 entfernen: zypper rm package1 package2

Googet installieren: googet -noconfirm install package1 package2 package3 entfernen: googet -noconfirm remove package1 package2 package3

JSON-Darstellung

{
      "name": string,
      "desiredState": enum (DesiredState),
      "manager": enum (Manager)
    }
Felder
name

string

Erforderlich Der Name des Pakets. Ein Paket wird zur Konfliktüberprüfung eindeutig identifiziert. Dazu werden der Paketname und die Manager, auf die das Paket ausgerichtet ist, überprüft.

desiredState

enum (DesiredState)

Der gewünschte Status (desiredState), den der Agent für dieses Paket beibehalten soll. Standardmäßig soll das Paket installiert sein.

manager

enum (Manager)

Der Typ des Paketmanagers, mit dem dieses Paket installiert werden kann. Wenn ein System den Paketmanager nicht hat, wird das Paket nicht installiert oder entfernt. Es wird keine Fehlermeldung zurückgegeben. Der Agent versucht standardmäßig oder bei Angabe von ANY, dieses Paket mithilfe des Standardpaketmanagers zu installieren und zu entfernen. Dies ist hilfreich, wenn Sie eine Richtlinie erstellen, die für verschiedene Systemtypen gilt.

Das Standardverhalten ist ANY.

DesiredState

Der gewünschte Status, den der OS Config-Agent auf der VM-Instanz beibehält.

Enums
DESIRED_STATE_UNSPECIFIED Standardmäßig soll das Paket installiert sein.
INSTALLED Der Agent sorgt dafür, dass das Paket installiert ist.
UPDATED Der Agent sorgt dafür, dass das Paket installiert ist. Er prüft auch regelmäßig, ob Aktualisierungen vorhanden sind, und installiert diese.
REMOVED Der Agent sorgt dafür, dass das Paket nicht installiert ist, und deinstalliert es, falls es erkannt wird.

Manager

Arten von Paketmanagern, die zur Verwaltung dieses Pakets verwendet werden können.

Enums
MANAGER_UNSPECIFIED Das Standardverhalten ist ANY.
ANY Wenden Sie diese Paketkonfiguration mit dem Standard-Systempaketmanager an.
APT Wenden Sie diese Paketkonfiguration nur an, wenn Apt im System verfügbar ist.
YUM Wenden Sie diese Paketkonfiguration nur an, wenn im System Yum verfügbar ist.
ZYPPER Wenden Sie diese Paketkonfiguration nur an, wenn im System Zyper verfügbar ist.
GOO Wenden Sie diese Paketkonfiguration nur an, wenn GooGet im System verfügbar ist.

PackageRepository

Ein Paket-Repository.

JSON-Darstellung

{

      // Union field repository can be only one of the following:
      "apt": {
        object (AptRepository)
      },
      "yum": {
        object (YumRepository)
      },
      "zypper": {
        object (ZypperRepository)
      },
      "goo": {
        object (GooRepository)
      }
      // End of list of possible types for union field repository.
    }
Felder
Union-Feld repository. Eine bestimmte Art von Repository. Für repository ist nur einer der folgenden Werte zulässig:
apt

object (AptRepository)

Ein Apt-Repository.

yum

object (YumRepository)

Ein Yum-Repository.

zypper

object (ZypperRepository)

Ein Zypper-Repository.

goo

object (GooRepository)

Ein Goo-Repository.

AptRepository

Stellt ein einzelnes Apt-Paket-Repository dar. Dieses Repository wird einer Repository-Datei hinzugefügt, die unter /etc/apt/sources.list.d/google_osconfig.list gespeichert wird.

JSON-Darstellung

{
      "archiveType": enum (ArchiveType),
      "uri": string,
      "distribution": string,
      "components": [
        string
      ],
      "gpgKey": string
    }
Felder
archiveType

enum (ArchiveType)

Der Typ der Archivdateien in diesem Repository. Das Standardverhalten ist DEB.

uri

string

Erforderlich URI für dieses Repository.

distribution

string

Erforderlich Verteilung dieses Repositorys.

components[]

string

Erforderlich Liste der Komponenten für dieses Repository. Muss mindestens ein Element enthalten.

gpgKey

string

URI der Schlüsseldatei für dieses Repository. Der Agent verwaltet einen Schlüsselbund unter /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg, der alle Schlüssel in jeder angewendeten Gastrichtlinie enthält.

ArchiveType

Typ des Archivs.

Enums
ARCHIVE_TYPE_UNSPECIFIED Nicht angegeben.
DEB DEB gibt an, dass das Archiv Binärdateien enthält.
DEB_SRC DEB_SRC gibt an, dass das Archiv Quelldateien enthält.

YumRepository

Stellt ein einzelnes Yum-Paket-Repository dar. Dieses Repository wird einer Repository-Datei hinzugefügt, die unter /etc/yum.repos.d/google_osconfig.repo gespeichert wird.

JSON-Darstellung

{
      "id": string,
      "displayName": string,
      "baseUrl": string,
      "gpgKeys": [
        string
      ]
    }
Felder
id

string

Erforderlich Ein nur einmal vorkommender Ein-Wort-Name für dieses Repository. Dies ist die repo id in der Yum-Konfigurationsdatei und auch der displayName, falls displayName ausgelassen wird. Diese ID wird auch als eindeutige Kennung verwendet, wenn die Gastrichtlinie auf Konflikte geprüft wird.

displayName

string

Der Anzeigename des Repositorys.

baseUrl

string

Erforderlich Der Speicherort des Repository-Verzeichnisses.

gpgKeys[]

string

URIs von GPG-Schlüsseln.

ZypperRepository

Stellt ein einzelnes Zypper-Paket-Repository dar. Dieses Repository wird einer Repository-Datei hinzugefügt, die unter /etc/zypp/repos.d/google_osconfig.repo gespeichert wird.

JSON-Darstellung

{
      "id": string,
      "displayName": string,
      "baseUrl": string,
      "gpgKeys": [
        string
      ]
    }
Felder
id

string

Erforderlich Ein nur einmal vorkommender Ein-Wort-Name für dieses Repository. Dies ist die repo id in der Zypper-Konfigurationsdatei und auch der displayName, falls displayName ausgelassen wird. Diese ID wird auch als eindeutige Kennung verwendet, wenn die Gastrichtlinie auf Konflikte geprüft wird.

displayName

string

Der Anzeigename des Repositorys.

baseUrl

string

Erforderlich Der Speicherort des Repository-Verzeichnisses.

gpgKeys[]

string

URIs von GPG-Schlüsseln.

GooRepository

Stellt ein Goo-Paket-Repository dar. Es wird einer Repository-Datei hinzugefügt, die unter C:/ProgramData/GooGet/repos/google_osconfig.repo gespeichert ist.

JSON-Darstellung

{
      "name": string,
      "url": string
    }
Felder
name

string

Erforderlich Name des Repositorys.

url

string

Erforderlich URL des Repositorys.

SoftwareRecipe

Ein Softwareschema besteht aus einer Reihe von Anweisungen zur Installation und Konfiguration einer Software. Es setzt sich aus einer Reihe von Artefakten zusammen, die heruntergeladen werden, und einer Reihe von Schritten, die die Software installieren, konfigurieren und/oder aktualisieren.

Schemata unterstützen die Installation und Aktualisierung von Software aus Artefakten in den folgenden Formaten: ZIP-Archiv, TAR-Archiv, Windows MSI, Debian-Paket und RPM-Paket.

Außerdem unterstützen Schemata das Ausführen eines Skripts, das entweder in einer Datei oder direkt in dieser API definiert ist, in Bash, Shell, CMD und PowerShell.

Softwareschema aktualisieren

Wenn ein Schema einer Instanz zugewiesen wird und ein Schema mit demselben Namen, aber einer niedrigeren Version bereits installiert ist und der zugewiesene Status des Schemas INSTALLED_KEEP_UPDATED lautet, wird das Schema auf die neue Version aktualisiert.

Skript-Arbeitsverzeichnisse

Jedes Skript oder jeder Ausführungsschritt wird in einem eigenen temporären Verzeichnis ausgeführt, das nach Abschluss des Schritts gelöscht wird.

JSON-Darstellung

{
      "name": string,
      "version": string,
      "artifacts": [
        {
          object (Artifact)
        }
      ],
      "installSteps": [
        {
          object (Step)
        }
      ],
      "updateSteps": [
        {
          object (Step)
        }
      ],
      "desiredState": enum (DesiredState)
    }
Felder
name

string

Erforderlich Eindeutige Kennung für das Schema. Auf einer Instanz wird nur ein Schema mit einem bestimmten Namen installiert.

Namen werden auch zum Identifizieren von Ressourcen verwendet, um festzustellen, ob es Konflikte in Gastrichtlinien gibt. Das bedeutet, dass Anfragen zum Erstellen mehrerer Schemata mit demselben Namen und derselben Version abgelehnt werden, da sie möglicherweise widersprüchliche Zuweisungen haben.

version

string

Die Version dieses Softwareschemas. Die Version kann aus bis zu vier durch Punkte getrennten Zahlen bestehen (z. B. 12.34.56.78).

artifacts[]

object (Artifact)

Ressourcen, die in den Schritten im Schema verwendet werden können.

installSteps[]

object (Step)

Aktionen, die durchgeführt werden müssen, um dieses Schema zu installieren. Bei einem Fehler wird die Ausführung von Schritten gestoppt und es wird keine weitere Installation durchgeführt. Durchgeführte Schritte (einschließlich teilweise abgeschlossener Schritte) werden nicht rückgängig gemacht.

updateSteps[]

object (Step)

Aktionen für die Aktualisierung dieses Schemas. Bei einem Fehler wird die Ausführung von Schritten gestoppt und es wird keine weitere Aktualisierung für dieses Schema durchgeführt. Durchgeführte Schritte (einschließlich teilweise abgeschlossener Schritte) werden nicht rückgängig gemacht.

desiredState

enum (DesiredState)

Der Standardwert ist INSTALLED. Der gewünschte Status, den der Agent für dieses Schema beibehalten soll.

INSTALLED: Das Softwareschema wird auf der Instanz installiert, aber nicht auf neue Versionen aktualisiert. INSTALLED_KEEP_UPDATED: Das Softwareschema wird auf der Instanz installiert. Das Schema wird auf eine höhere Version aktualisiert, wenn dieser Instanz eine höhere Version des Schemas zugewiesen ist. REMOVE: Das Entfernen wird für Softwareschemata nicht unterstützt und Versuche, ein Schema mit dem REMOVE-Status zu erstellen oder zu aktualisieren, werden abgelehnt.

Artefakt

Gibt eine Ressource an, die im Schema verwendet werden soll.

JSON-Darstellung

{
      "id": string,
      "allowInsecure": boolean,

      // Union field artifact can be only one of the following:
      "remote": {
        object (Remote)
      },
      "gcs": {
        object (Gcs)
      }
      // End of list of possible types for union field artifact.
    }
Felder
id

string

Erforderlich ID des Artefakts, auf das die Installations- und Aktualisierungsschritte dieses Schemas verweisen können. Artefakte in einem Schema dürfen nicht dieselbe ID haben.

allowInsecure

boolean

Die Standardeinstellung ist "false". Bei "false" werden Schemata anhand des Artefakttyps geprüft:

Remote: Eine Prüfsumme muss angegeben werden und nur Protokolle mit Transport Layer Security sind zulässig. GCS: Eine Objektgenerierungsnummer muss angegeben werden.

Union-Feld artifact. Ein bestimmter Artefakttyp. Für artifact ist nur einer der folgenden Werte zulässig:
remote

object (Remote)

Ein allgemeines Remote-Artefakt.

gcs

object (Gcs)

Ein Google Cloud Storage-Artefakt.

Remote

Gibt ein über einen URI verfügbares Artefakt an.

JSON-Darstellung

{
      "uri": string,
      "checksum": string
    }
Felder
uri

string

URI, von dem das Objekt abgerufen wird. Dieser sollte sowohl das Protokoll als auch den Pfad entsprechend dem Format {protocol}://{location} enthalten.

checksum

string

Muss angegeben werden, wenn allowInsecure false ist. SHA256-Prüfsumme im Hexadezimalformat, zum Vergleich mit der Prüfsumme des Artefakts. Wenn die Prüfsumme nicht leer ist und nicht mit dem Artefakt übereinstimmt, schlägt die Installation des Schemas fehl, bevor einer der Schritte ausgeführt wird.

GCS

Gibt ein Artefakt an, das als Google Cloud Storage-Objekt verfügbar ist.

JSON-Darstellung

{
      "bucket": string,
      "object": string,
      "generation": string
    }
Felder
bucket

string

Der Bucket des Google Cloud Storage-Objekts. Bei einer Beispiel-URL wie https://storage.googleapis.com/my-bucket/foo/bar#1234567 wäre dieser Wert my-bucket.

object

string

Der Name des Google Cloud Storage-Objekts. Wie hier angegeben. Bei einer Beispiel-URL wie https://storage.googleapis.com/my-bucket/foo/bar#1234567 wäre dieser Wert foo/bar.

generation

string (int64 format)

Muss angegeben werden, wenn für "allowInsecure" der Wert "false" festgelegt ist. Die Generierungsnummer des Google Cloud Storage-Objekts. Bei https://storage.googleapis.com/my-bucket/foo/bar#1234567 wäre dieser Wert 1234567.

Schritt

Eine Aktion, die im Rahmen der Installation oder Aktualisierung eines Schemas ausgeführt werden kann.

JSON-Darstellung

{

      // Union field step can be only one of the following:
      "fileCopy": {
        object (CopyFile)
      },
      "archiveExtraction": {
        object (ExtractArchive)
      },
      "msiInstallation": {
        object (InstallMsi)
      },
      "dpkgInstallation": {
        object (InstallDpkg)
      },
      "rpmInstallation": {
        object (InstallRpm)
      },
      "fileExec": {
        object (ExecFile)
      },
      "scriptRun": {
        object (RunScript)
      }
      // End of list of possible types for union field step.
    }
Felder
Union-Feld step. Eine bestimmte Art von Schritt. Für step ist nur einer der folgenden Werte zulässig:
fileCopy

object (CopyFile)

Kopiert eine Datei auf die Instanz.

archiveExtraction

object (ExtractArchive)

Extrahiert ein Archiv in das angegebene Verzeichnis.

msiInstallation

object (InstallMsi)

Installiert eine MSI-Datei.

dpkgInstallation

object (InstallDpkg)

Installiert eine DEB-Datei über dpkg.

rpmInstallation

object (InstallRpm)

Installiert eine RPM-Datei über das RPM-Dienstprogramm.

fileExec

object (ExecFile)

Führt ein Artefakt oder eine lokale Datei aus.

scriptRun

object (RunScript)

Führt Befehle in einer Shell aus.

CopyFile

Kopiert das Artefakt in den angegebenen Pfad auf der Instanz.

JSON-Darstellung

{
      "artifactId": string,
      "destination": string,
      "overwrite": boolean,
      "permissions": string
    }
Felder
artifactId

string

Erforderlich Die ID des relevanten Artefakts im Schema.

destination

string

Erforderlich Der absolute Pfad in der Instanz, in den die Datei eingefügt werden soll.

overwrite

boolean

Gibt an, ob dieser Schritt vorhandene Dateien überschreiben soll. Wenn dieser Wert "false" lautet und die Datei bereits vorhanden ist, wird die Datei nicht überschrieben und der Schritt wird als erfolgreich erachtet. Die Standardeinstellung ist "false".

permissions

string

Besteht aus drei Oktalziffern, die in der angegebenen Reihenfolge die Berechtigungen des Eigentümers, der Gruppe und anderer Nutzer für die Datei darstellen. Dies entspricht dem numerischen Modus des Linux-Dienstprogramms chmod. Jede Ziffer stellt eine Drei-Bit-Zahl dar, wobei das Bit 4 den Leseberechtigungen, das Bit 2 dem Schreib-Bit und das Bit 1 der Ausführungsberechtigung entspricht. Das Standardverhalten lautet 755.

Im Folgenden finden Sie einige Beispiele für Berechtigungen und die zugehörigen Werte: Lesen, Schreiben und Ausführen (read, write and execute): 7 Lesen und Ausführen (read and execute): 5 Lesen und Schreiben (read and write): 6 Nur Lesen (read only): 4

ExtractArchive

Extrahiert ein Archiv des im angegebenen Verzeichnis definierten Typs.

JSON-Darstellung

{
      "artifactId": string,
      "destination": string,
      "type": enum (ArchiveType)
    }
Felder
artifactId

string

Erforderlich Die ID des relevanten Artefakts im Schema.

destination

string

Das Verzeichnis, in das das Archiv extrahiert werden soll. Der Standardwert ist / für Linux oder C:\ für Windows.

type

enum (ArchiveType)

Erforderlich Der Typ des zu extrahierenden Archivs.

ArchiveType

Angabe des Archivtyps.

Enums
ARCHIVE_TYPE_UNSPECIFIED Gibt an, dass der Archivtyp nicht festgelegt wurde.
TAR Gibt an, dass das Archiv ein TAR-Archiv ohne Verschlüsselung ist.
TAR_GZIP Gibt an, dass das Archiv ein TAR-Archiv mit GZIP-Verschlüsselung ist.
TAR_BZIP Gibt an, dass das Archiv ein TAR-Archiv mit BZIP-Verschlüsselung ist.
TAR_LZMA Gibt an, dass das Archiv ein TAR-Archiv mit LZMA-Verschlüsselung ist.
TAR_XZ Gibt an, dass das Archiv ein TAR-Archiv mit XZ-Verschlüsselung ist.
ZIP Gibt an, dass das Archiv ein ZIP-Archiv ist.

InstallMsi

Installiert eine MSI-Datei.

JSON-Darstellung

{
      "artifactId": string,
      "flags": [
        string
      ],
      "allowedExitCodes": [
        integer
      ]
    }
Felder
artifactId

string

Erforderlich Die ID des relevanten Artefakts im Schema.

flags[]

string

Die Flags, die bei der Installation der MSI-Standardeinstellungen für ["/i"] verwendet werden sollen, also Installationsflags.

allowedExitCodes[]

integer

Gibt Codes zurück, die angeben, dass die Software erfolgreich installiert oder aktualisiert wurde. Das Verhalten ist standardmäßig auf [0] eingestellt.

InstallDpkg

Installiert eine DEB-Datei über dpkg.

JSON-Darstellung

{
      "artifactId": string
    }
Felder
artifactId

string

Erforderlich Die ID des relevanten Artefakts im Schema.

InstallRpm

Installiert eine RPM-Datei über das RPM-Dienstprogramm.

JSON-Darstellung

{
      "artifactId": string
    }
Felder
artifactId

string

Erforderlich Die ID des relevanten Artefakts im Schema.

ExecFile

Führt ein Artefakt oder eine lokale Datei aus.

JSON-Darstellung

{
      "args": [
        string
      ],
      "allowedExitCodes": [
        integer
      ],

      // Union field location_type can be only one of the following:
      "artifactId": string,
      "localPath": string
      // End of list of possible types for union field location_type.
    }
Felder
args[]

string

Argumente, die an die angegebene ausführbare Datei übergeben werden sollen.

allowedExitCodes[]

integer

Die Standardeinstellung ist [0]. Eine Liste möglicher Rückgabewerte, die das Programm zurückgeben kann, um einen Erfolg anzugeben.

Union-Feld location_type. Speicherort der auszuführenden Datei. Für location_type ist nur einer der folgenden Werte zulässig:
artifactId

string

Die ID des relevanten Artefakts im Schema.

localPath

string

Der absolute Pfad der Datei im lokalen Dateisystem.

RunScript

Führt ein Skript über einen Interpreter aus.

JSON-Darstellung

{
      "script": string,
      "allowedExitCodes": [
        integer
      ],
      "interpreter": enum (Interpreter)
    }
Felder
script

string

Erforderlich Das auszuführende Shell-Skript.

allowedExitCodes[]

integer

Gibt Codes zurück, die angeben, dass die Software erfolgreich installiert oder aktualisiert wurde. Das Verhalten ist standardmäßig auf [0] eingestellt.

interpreter

enum (Interpreter)

Der Skript-Interpreter, der zum Ausführen des Skripts verwendet werden soll. Wenn kein Interpreter angegeben ist, wird das Skript direkt ausgeführt, was voraussichtlich nur für Skripts mit Shebang-Zeilen funktioniert.

Interpreter

Der zum Ausführen eines Skripts verwendete Interpreter.

Enums
INTERPRETER_UNSPECIFIED Standardwert für ScriptType.
SHELL Gibt an, dass das Skript mit /bin/sh unter Linux und cmd unter Windows ausgeführt wird.
POWERSHELL Gibt an, dass das Skript mit PowerShell ausgeführt wird.

Methoden

create

Erstellt eine OS Config-Gastrichtlinie.

delete

Löscht eine OS Config-Gastrichtlinie.

get

Ruft eine OS Config-Gastrichtlinie ab.

list

Ruft eine Seite mit OS Config-Gastrichtlinien auf.

patch

Aktualisiert eine OS Config-Gastrichtlinie.