REST Resource: customers.policySchemas

Zasób: PolicySchema

Zasób reprezentujący schemat zasad.

Zapis JSON
{
  "name": string,
  "policyDescription": string,
  "additionalTargetKeyNames": [
    {
      object (AdditionalTargetKeyName)
    }
  ],
  "definition": {
    object (FileDescriptorProto)
  },
  "fieldDescriptions": [
    {
      object (PolicySchemaFieldDescription)
    }
  ],
  "accessRestrictions": [
    string
  ],
  "notices": [
    {
      object (PolicySchemaNoticeDescription)
    }
  ],
  "supportUri": string,
  "schemaName": string,
  "validTargetResources": [
    enum (TargetResource)
  ],
  "policyApiLifecycle": {
    object (PolicyApiLifecycle)
  },
  "categoryTitle": string
}
Pola
name

string

Format: name=customers/{customer}/policySchemas/{schema_namespace}

policyDescription

string

Tylko dane wyjściowe. Opis schematu zasad wykorzystywania danych przez użytkowników.

additionalTargetKeyNames[]

object (AdditionalTargetKeyName)

Tylko dane wyjściowe. Dodatkowe nazwy kluczy, które będą używane do identyfikacji miejsca docelowego wartości zasady. Podczas określania obiektu policyTargetKey każdy z wymienionych tutaj dodatkowych kluczy musi być uwzględniony w mapie additionalTargetKeys.

definition

object (FileDescriptorProto)

Definicja schematu z użyciem deskryptora proto.

fieldDescriptions[]

object (PolicySchemaFieldDescription)

Tylko dane wyjściowe. Szczegółowy opis każdego pola należącego do schematu.

accessRestrictions[]

string

Tylko dane wyjściowe. Określone ograniczenia dostępu związane z tymi zasadami.

notices[]

object (PolicySchemaNoticeDescription)

Tylko dane wyjściowe. Specjalne uwagi związane z ustawianiem określonych wartości w określonych polach schematu.

supportUri

string

Tylko dane wyjściowe. Identyfikator URI artykułu pomocy powiązanego z tym schematem.

schemaName

string

Tylko dane wyjściowe. Pełna i jednoznaczna nazwa schematu zasad. Ta wartość służy do wypełnienia pola policySchema w PolicyValue podczas wywoływania orgunits.batchInherit orgunits.batchModify groups.batchModify lub groups.batchDelete.

validTargetResources[]

enum (TargetResource)

Tylko dane wyjściowe. Informacje o zasobach docelowych odpowiednich dla zasady.

policyApiLifecycle

object (PolicyApiLifecycle)

Tylko dane wyjściowe. Informacje o bieżącym cyklu życia.

categoryTitle

string

Tytuł kategorii, do której należy ustawienie.

AdditionalTargetKeyName

Dodatkowe nazwy kluczy, które będą używane do identyfikacji miejsca docelowego wartości zasady.

Zapis JSON
{
  "key": string,
  "keyDescription": string
}
Pola
key

string

Nazwa klucza.

keyDescription

string

Opis klucza.

FileDescriptorProto

Opisuje pełny plik .proto.

Zapis JSON
{
  "name": string,
  "package": string,
  "messageType": [
    {
      object (DescriptorProto)
    }
  ],
  "enumType": [
    {
      object (EnumDescriptorProto)
    }
  ],
  "syntax": string
}
Pola
name

string

nazwa pliku względem poziomu głównego drzewa źródłowego

package

string

np. „foo”, „foo.bar” itp.

messageType[]

object (DescriptorProto)

Wszystkie definicje najwyższego poziomu w tym pliku.

enumType[]

object (EnumDescriptorProto)

syntax

string

Składnia pliku proto. Obsługiwane wartości to „proto2”, „proto3” i „editions”.

Jeśli występuje edition, ta wartość musi być wartością „editions”.

DescriptorProto

Opisuje typ wiadomości.

Zapis JSON
{
  "name": string,
  "field": [
    {
      object (FieldDescriptorProto)
    }
  ],
  "nestedType": [
    {
      object (DescriptorProto)
    }
  ],
  "enumType": [
    {
      object (EnumDescriptorProto)
    }
  ],
  "oneofDecl": [
    {
      object (OneofDescriptorProto)
    }
  ]
}
Pola
name

string

field[]

object (FieldDescriptorProto)

nestedType[]

object (DescriptorProto)

enumType[]

object (EnumDescriptorProto)

oneofDecl[]

object (OneofDescriptorProto)

FieldDescriptorProto

Opisuje pole w wiadomości.

Zapis JSON
{
  "name": string,
  "number": integer,
  "label": enum (Label),
  "type": enum (Type),
  "typeName": string,
  "defaultValue": string,
  "oneofIndex": integer,
  "jsonName": string,
  "proto3Optional": boolean
}
Pola
name

string

number

integer

label

enum (Label)

type

enum (Type)

Nie można go ustawiać, jeśli typ typeName jest ustawiony. Jeśli ustawiono zarówno to, jak i typeName, należy podać wartość TYPE_ENUM, TYPE_MESSAGE lub TYPE_GROUP.

typeName

string

W przypadku typów wiadomości i wyliczeń jest to nazwa typu. Nazwa rozpoczynająca się znakiem „.” jest pełna. W przeciwnym razie do znalezienia typu używane są reguły określania zakresu podobne do C++ (tzn. najpierw przeszukiwane są typy zagnieżdżone w wiadomości, a następnie w jednostce nadrzędnej, aż do przestrzeni nazw głównej).

defaultValue

string

W przypadku typów liczbowych zawiera pierwotną reprezentację tekstową wartości. W przypadku wartości logicznych „true” (prawda) lub „false” (fałsz). W przypadku ciągów znaków zawiera domyślną treść tekstową (bez zmiany znaczenia). W przypadku bajtów zawiera wartość C po zmianie znaczenia. Wszystkie bajty >= 128 mają zmienione znaczenie.

oneofIndex

integer

Jeśli jest ustawiony, zwraca indeks jednego z typów na liście oneofDecl typu zawierającego. To pole należy do tego pola.

jsonName

string

Nazwa JSON tego pola. Wartość jest ustawiana przez kompilator protokołów. Jeśli użytkownik ustawił w tym polu opcję „jsonName”, będzie używana wartość tej opcji. W przeciwnym razie jest dedukowany od nazwy pola przez przekształcenie go na format CamlCase.

proto3Optional

boolean

Jeśli ma wartość true (prawda), jest to „opcjonalny” protokół proto3. Gdy pole proto3 jest opcjonalne, śledzi ono obecność niezależnie od jego typu.

Gdy proto3Optional ma wartość Prawda, to pole musi należeć do jednego z tych pól, aby zasygnalizować starym klientom protokołu proto3, że jego obecność jest śledzona. Pole to jest nazywane „syntetycznym” i musi być jego jedynym elementem (każde opcjonalne pole proto3 ma własne pole syntetyczne). Syntetyczne występują tylko w deskryptorze i nie generują żadnego interfejsu API. Jednostki syntetyczne muszą być uporządkowane po wszystkich „rzeczywistych”.

W przypadku pól wiadomości funkcja proto3Optional nie wprowadza żadnych zmian semantycznych, ponieważ niepowtarzalne pola wiadomości zawsze śledzą obecność. Nadal jednak zawiera semantyczną informację o tym, czy użytkownik wpisał hasło „opcjonalne”, czy nie. Może to być przydatne do zaokrąglenia pliku .proto. Aby zachować spójność, nadajemy także polom wiadomości pole syntetyczne, choć nie jest ono wymagane do śledzenia obecności. Jest to szczególnie ważne, ponieważ parser nie jest w stanie określić, czy pole to wiadomość czy wyliczenie, dlatego musi zawsze utworzyć pole syntetyczne.

Pola opcjonalne Proto2 nie ustawiają tej flagi, ponieważ wskazują one już jako opcjonalne w polu LABEL_OPTIONAL.

Etykieta

Wartości w polu enum
LABEL_OPTIONAL Wartość 0 jest zarezerwowana dla błędów
LABEL_REQUIRED
LABEL_REPEATED

Typ

Wartości w polu enum
TYPE_DOUBLE Wartość 0 jest zarezerwowana dla błędów. Zamówienie jest dziwne z powodów historycznych.
TYPE_FLOAT
TYPE_INT64 Brak kodowania ZigZag. Liczby ujemne zajmują 10 bajtów. Jeśli prawdopodobne jest, że wartości są ujemne, użyj TYPE_SINT64.
TYPE_UINT64
TYPE_INT32 Brak kodowania ZigZag. Liczby ujemne zajmują 10 bajtów. Jeśli jest prawdopodobne, że wartości są ujemne, użyj TYPE_SINT32.
TYPE_FIXED64
TYPE_FIXED32
TYPE_BOOL
TYPE_STRING
TYPE_GROUP Dane zbiorcze rozdzielane tagami. Ten typ grupy został wycofany i nie jest obsługiwany w proto3. Jednak implementacje Proto3 nadal powinny mieć możliwość analizowania formatu przewodu grupy i traktowania pól grup jako pól nieznanych.
TYPE_MESSAGE Dane zbiorcze rozdzielane długością.
TYPE_BYTES Nowość w wersji 2.
TYPE_UINT32
TYPE_ENUM
TYPE_SFIXED32
TYPE_SFIXED64
TYPE_SINT32 Wykorzystuje kodowanie ZigZag.
TYPE_SINT64 Wykorzystuje kodowanie ZigZag.

EnumDescriptorProto

Opisuje typ wyliczeniowy.

Zapis JSON
{
  "name": string,
  "value": [
    {
      object (EnumValueDescriptorProto)
    }
  ]
}
Pola
name

string

value[]

object (EnumValueDescriptorProto)

EnumValueDescriptorProto

Opisuje wartość w wyliczeniu.

Zapis JSON
{
  "name": string,
  "number": integer
}
Pola
name

string

number

integer

OneofDescriptorProto

Opisuje jedynkę.

Zapis JSON
{
  "name": string
}
Pola
name

string

PolicySchemaFieldDescription

Zawiera szczegółowe informacje o konkretnym polu, które jest częścią PolicySchema.

Zapis JSON
{
  "field": string,
  "description": string,
  "inputConstraint": string,
  "knownValueDescriptions": [
    {
      object (PolicySchemaFieldKnownValueDescription)
    }
  ],
  "nestedFieldDescriptions": [
    {
      object (PolicySchemaFieldDescription)
    }
  ],
  "fieldDependencies": [
    {
      object (PolicySchemaFieldDependencies)
    }
  ],
  "requiredItems": [
    {
      object (PolicySchemaRequiredItems)
    }
  ],
  "defaultValue": value,
  "name": string,
  "fieldDescription": string,
  "fieldConstraints": {
    object (FieldConstraints)
  }
}
Pola
field

string

Tylko dane wyjściowe. Nazwa pola powiązanego z tym opisem.

description
(deprecated)

string

Rola wycofana. Zamiast tego użyj parametru „name” i „fieldDescription”. Opis pola.

inputConstraint

string

Tylko dane wyjściowe. Wszelkie ograniczenia związane z danymi wejściowymi powiązane z wartościami tego pola.

knownValueDescriptions[]

object (PolicySchemaFieldKnownValueDescription)

Tylko dane wyjściowe. Jeśli pole ma zestaw znanych wartości, będzie ono zawierać opis tych wartości.

nestedFieldDescriptions[]

object (PolicySchemaFieldDescription)

Tylko dane wyjściowe. Zawiera opis pól zagnieżdżonych w tym polu, jeśli jest to typ wiadomości, który definiuje wiele pól.

fieldDependencies[]

object (PolicySchemaFieldDependencies)

Tylko dane wyjściowe. Zawiera listę pól i wartości. Aby można było ustawić to pole, co najmniej jedno z pól musi mieć odpowiednią wartość.

requiredItems[]

object (PolicySchemaRequiredItems)

Tylko dane wyjściowe. Zawiera listę pól, które należy ustawić, jeśli to pole ma określoną wartość.

defaultValue

value (Value format)

Tylko dane wyjściowe. Ustawienie domyślne klienta, jeśli zasada jest nieskonfigurowana.

name

string

Tylko dane wyjściowe. Nazwa pola.

fieldDescription

string

Tylko dane wyjściowe. Opis pola.

fieldConstraints

object (FieldConstraints)

Tylko dane wyjściowe. Informacje o ograniczeniach związanych z danymi wejściowymi powiązanymi z wartościami pola.

PolicySchemaFieldKnownValueDescription

Zawiera szczegółowe informacje o znanej wartości, która jest dozwolona dla określonego pola w PolicySchema.

Zapis JSON
{
  "value": string,
  "description": string
}
Pola
value

string

Tylko dane wyjściowe. Ponowne użycie ciągu znaków wartości, którą można ustawić dla tego pola.

description

string

Tylko dane wyjściowe. Dodatkowy opis tej wartości.

PolicySchemaFieldDependencies

Pole i wartość, które muszą zawierać, aby można było ustawić inne pole.

Zapis JSON
{
  "sourceField": string,
  "sourceFieldValue": string
}
Pola
sourceField

string

Pole źródłowe, od którego zależy to pole.

sourceFieldValue

string

Wartość, którą musi mieć pole źródłowe, aby można było ustawić to pole.

PolicySchemaRequiredItems

Pola, które staną się wymagane w zależności od wartości tego pola.

Zapis JSON
{
  "fieldConditions": [
    string
  ],
  "requiredFields": [
    string
  ]
}
Pola
fieldConditions[]

string

Wartości w polach, które prowadzone są o wymuszanie stosowania pól wymaganych. Puste pole fieldConditions oznacza, że jakakolwiek wartość przypisana do tego pola spowoduje wymuszanie stosowania pól wymaganych.

requiredFields[]

string

Pola, które są wymagane ze względu na warunki pola.

FieldConstraints

Informacje o ograniczeniach zakresu.

Zapis JSON
{
  "numericRangeConstraint": {
    object (NumericRangeConstraint)
  },
  "uploadedFileConstraints": {
    object (UploadedFileConstraints)
  }
}
Pola
numericRangeConstraint

object (NumericRangeConstraint)

Dozwolony zakres pól liczbowych.

uploadedFileConstraints

object (UploadedFileConstraints)

Ograniczenia dotyczące przesłanego pliku zasad dotyczących plików. Ta zasada wymaga adresu URL, który można pobrać, przesyłając plik z ograniczeniami określonymi w tym protokole.

NumericRangeConstraint

Ograniczenie dotyczące górnej lub dolnej granicy, przy czym wyznaczono co najmniej jedną z nich.

Zapis JSON
{
  "minimum": string,
  "maximum": string
}
Pola
minimum

string (int64 format)

Wartość minimalna.

maximum

string (int64 format)

Wartość maksymalna.

UploadedFileConstraints

Ograniczenia dotyczące przesłanego pliku zasad dotyczących plików.

Zapis JSON
{
  "supportedContentTypes": [
    enum (ContentType)
  ],
  "sizeLimitBytes": string
}
Pola
supportedContentTypes[]

enum (ContentType)

Typy plików, które można przesyłać dla danego ustawienia.

sizeLimitBytes

string (int64 format)

Limit rozmiaru przesyłanych plików dla ustawienia (w bajtach).

ContentType

Typy plików, które można przesyłać dla danego ustawienia.

Wartości w polu enum
CONTENT_TYPE_UNSPECIFIED Nieokreślony typ treści.
CONTENT_TYPE_PLAIN_TEXT Zwykły tekst.
CONTENT_TYPE_HTML HTML.
CONTENT_TYPE_IMAGE_JPEG JPEG.
CONTENT_TYPE_IMAGE_GIF GIF.
CONTENT_TYPE_IMAGE_PNG PNG
CONTENT_TYPE_JSON Plik JSON
CONTENT_TYPE_ZIP ZIP.
CONTENT_TYPE_GZIP GZIP.
CONTENT_TYPE_CSV CSV.
CONTENT_TYPE_YAML YAML.
CONTENT_TYPE_IMAGE_WEBP WebP.

PolicySchemaNoticeDescription

Zawiera specjalne powiadomienia związane z określoną wartością w polu, które jest częścią PolicySchema.

Zapis JSON
{
  "field": string,
  "noticeValue": string,
  "noticeMessage": string,
  "acknowledgementRequired": boolean
}
Pola
field

string

Tylko dane wyjściowe. Nazwa pola powiązana z powiadomieniem.

noticeValue

string

Tylko dane wyjściowe. Wartość pola z powiadomieniem. Jeśli ustawisz tę wartość w tym polu, użytkownik może zostać poproszony o potwierdzenie komunikatu z powiadomieniem, aby możliwe było ustawienie tej wartości.

noticeMessage

string

Tylko dane wyjściowe. Powiadomienie jest powiązane z wartością tego pola.

acknowledgementRequired

boolean

Tylko dane wyjściowe. Określa, czy przed ustawieniem wartości użytkownik musi potwierdzić powiadomienie.

TargetResource

Typy zasobów docelowych

Wartości w polu enum
TARGET_RESOURCE_UNSPECIFIED Nieokreślony zasób docelowy.
ORG_UNIT Zasób docelowy jednostki organizacyjnej.
GROUP Zasób docelowy grupy.

PolicyApiLifecycle

Zapis JSON
{
  "policyApiLifecycleStage": enum (PolicyApiLifecycleEnum),
  "description": string,
  "endSupport": {
    object (Date)
  },
  "deprecatedInFavorOf": [
    string
  ]
}
Pola
policyApiLifecycleStage

enum (PolicyApiLifecycleEnum)

Wskaż bieżący etap cyklu życia zasad API.

description

string

Opis bieżącego cyklu życia.

endSupport

object (Date)

Data zakończenia obsługi bieżącej zasady.

deprecatedInFavorOf[]

string

Jeśli ta zasada zostanie wycofana i zastąpiona inną zasadą, pełne i jednoznaczne przestrzenie nazw nowych zasad będą widoczne w interfejsie PolicyAPI.

PolicyApiLifecycleEnum

Wartości w polu enum
API_UNSPECIFIED nie określono.
API_PREVIEW Zasady jeszcze nie działają, ale dają deweloperom informacje o formacie. Ten etap można przenieść do API_DEVELOPEMNT lub API_CURRENT.
API_DEVELOPMENT Zasada może zmienić format w niezgodny wstecznie sposób (zmiana niezgodna). Ten etap można przenieść do API_CURRENT lub API_DEPRECATED. Można ją stosować w przypadku zasad wdrażanych tylko dla TT lub dla wybranych klientów do użytku w sytuacjach awaryjnych.
API_CURRENT Zasady w oficjalnym formacie. Zasada może zmienić format w zgodny wstecznie sposób (zmiana niezmienna). Przykład: ta zasada może wprowadzić nowe pole, które jest uznawane za nienaruszające, gdy maski pól są prawidłowo używane. Ten etap można przenieść do API_DEPRECATED.
API_DEPRECATED Przestań używać tej zasady. Ta zasada została wycofana i może zostać usunięta w przyszłości. Najprawdopodobniej wprowadzono nową zasadę, która zastąpiła obecną.

Data

Reprezentuje całą datę kalendarzową lub jej część, na przykład datę urodzin. Pora dnia i strefa czasowa są podane w innym miejscu lub są nieistotne. Data odnosi się do kalendarza gregoriańskiego. Może to być:

  • Pełna data oraz wartości roku, miesiąca i dnia inne niż zero.
  • Miesiąc i dzień z zerowym rokiem (na przykład rocznica).
  • Jeden rok z zerowym miesiącem i dniem zerowym.
  • Rok i miesiąc z zerowym dniem (na przykład data ważności karty kredytowej).

Podobne typy:

Zapis JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Pola
year

integer

Rok daty. Należy podać wartość z zakresu od 1 do 9999 lub 0, aby określić datę bez roku.

month

integer

Miesiąc w roku. Należy podać wartość z zakresu od 1 do 12 lub 0, aby określić rok bez miesiąca i dnia.

day

integer

Dzień miesiąca. Należy podać wartość z zakresu od 1 do 31 i ważną dla roku i miesiąca lub 0, aby określić sam rok lub rok i miesiąc, w którym dzień nie jest istotny.

Metody

get

Pobierz konkretny schemat zasad dla klienta według nazwy zasobu.

list

Pobiera listę schematów zasad, które pasują do określonej wartości filtra dla danego klienta.