1 - MutatingAdmissionPolicy

MutatingAdmissionPolicy описує визначення політики мутації допуску, яка змінює обʼєкт, що надходить у ланцюжок допуску.

apiVersion: admissionregistration.k8s.io/v1

import "k8s.io/api/admissionregistration/v1"

MutatingAdmissionPolicy

MutatingAdmissionPolicy описує визначення політики мутації допуску, яка змінює обʼєкт, що надходить у ланцюжок допуску.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind є рядковим значенням, що представляє REST-ресурс, який цей обʼєкт представляє. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ObjectMeta
metadata визначає стандартні метадані обʼєкта. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
spec
MutatingAdmissionPolicySpec
spec визначає бажану поведінку MutatingAdmissionPolicy.

MutatingAdmissionPolicySpec

MutatingAdmissionPolicySpec визначає бажану поведінку політики допуску.


ПолеОпис
failurePolicy
string
failurePolicy визначає, як обробляти помилки для політики допуску. Помилки можуть виникати через помилки розбору виразів CEL, помилки перевірки типів, помилки виконання та недійсні або неправильно налаштовані визначення політик або привʼязки. Політика є недійсною, якщо paramKind посилається на Kind, що не існує. Привʼязка є недійсною, якщо paramRef.name посилається на ресурс, якого не існує. failurePolicy не визначає, як обробляються перевірки, які оцінюються як false. Дозволені значення: Ignore або Fail. Стандартне значення — Fail.

Можливі значення enum:
  • "Fail" означає, що помилка виклику вебхука призводить до відхилення допуску.
  • "Ignore" означає, що помилка виклику вебхука ігнорується.
matchConditions
MatchCondition array
patch strategy: злиття за ключем name
`matchConditions` — це список умов, які повинні бути виконані для перевірки запиту. Умови відповідності фільтрують запити, які вже були відібрані за допомогою `matchConstraints`. Порожній список matchConditions відповідає всім запитам. Допускається максимум 64 умови відповідності. Якщо надано об’єкт параметра, доступ до нього можна отримати через дескриптор `params` так само, як і до виразів перевірки. Точна логіка відповідності така (за порядком):
  1. Якщо БУДЬ-ЯКА умова matchCondition має значення FALSE, політика пропускається.
  2. Якщо ВСІ умови matchConditions мають значення TRUE, політика оцінюється.
  3. Якщо будь-яка умова matchCondition має значення помилки (але жодна не має значення FALSE):
    • Якщо failurePolicy=Fail, запит відхиляється
    • Якщо failurePolicy=Ignore, політика пропускається
matchConstraints
MatchResources
Параметр matchConstraints визначає, які ресурси ця політика призначена перевіряти. Політика MutatingAdmissionPolicy враховує запит, якщо він відповідає _всім_ обмеженням. Однак, щоб запобігти переходу кластерів у нестабільний стан, з якого неможливо відновитися за допомогою API, MutatingAdmissionPolicy не може відповідати MutatingAdmissionPolicy та MutatingAdmissionPolicyBinding. Дозволено операції CREATE, UPDATE та CONNECT. Операція DELETE не може відповідати. '*' відповідає CREATE, UPDATE та CONNECT. Обовʼязковий параметр.
mutations
Mutation array
mutations містить операції, які слід виконати з відповідними об'єктами. Список mutations не може бути порожнім; потрібно вказати щонайменше одну операцію. Операції з mutations обчислюються послідовно та повторно викликаються відповідно до reinvoationPolicy. Операції з mutations політики викликаються для кожного зв'язування цієї політики, а повторний виклик операцій відбувається для кожного зв'язування окремо.
paramKind
ParamKind
paramKind визначає тип ресурсів, які використовуються для параметризації цієї політики. Якщо відсутній, параметри для цієї політики відсутні, і змінна param CEL не буде надана для виразів перевірки. Якщо paramKind посилається на тип, що не існує, визначення цієї політики некоректне, і застосовується FailurePolicy. Якщо paramKind вказано, але paramRef не встановлено в MutatingAdmissionPolicyBinding, змінна params буде null.
reinvocationPolicy
string
reinvocationPolicy показує, чи можуть мутації викликатися кілька разів для одного MutatingAdmissionPolicyBinding в рамках однієї оцінки допуску. Дозволені значення: "Never" та "IfNeeded".
Never: Ці мутації не будуть викликані більше одного разу для одного звʼязування в рамках однієї оцінки допуску.
IfNeeded: Ці мутації можуть бути викликані більше одного разу для одного звʼязування в рамках одного запиту на допуск, і немає гарантії порядку щодо інших втулків допуску, вебхуків допуску, звʼязувань цієї політики та політик допуску.
Мутації викликаються повторно лише тоді, коли мутації змінюють обʼєкт після виклику цієї мутації. Обовʼязковий параметр.

Можливі значення enum:
  • "IfNeeded" вказує, що мутація може бути викликана принаймні один додатковий раз в рамках оцінки допуску, якщо обʼєкт, що допускається, змінюється іншими плагінами допуску після початкового виклику мутації.
  • "Never" вказує, що мутація не повинна викликатися більше одного разу в рамках однієї оцінки допуску.
variables
Variable array
variables містить визначення змінних, які можна використовувати при складанні інших виразів. Кожна змінна визначається як іменований вираз CEL. Змінні, визначені тут, будуть доступні у variables в інших виразах політики, за винятком matchConditions, оскільки matchConditions оцінюються перед рештою політики. Вираз змінної може посилатися на інші змінні, визначені раніше в списку, але не на ті, що йдуть після. Таким чином, змінні повинні бути відсортовані за порядком першої появи та бути ациклічними.

MutatingAdmissionPolicyList

MutatingAdmissionPolicyList є списком MutatingAdmissionPolicy.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
MutatingAdmissionPolicy array
Список ValidatingAdmissionPolicy.
kind
string
Kind є рядковим значенням, що представляє REST-ресурс, який цей обʼєкт представляє. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
metadata визначає стандартні метадані обʼєкта. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.

ApplyConfiguration

ApplyConfiguration визначає бажану конфігурацію обʼєкта.


ПолеОпис
expression
string
expression буде оброблено CEL для створення конфігурації apply. Див: https://github.com/google/cel-spec. Конфігурації Apply оголошуються в CEL за допомогою ініціалізації обʼєкта. Наприклад, цей вираз CEL повертає конфігурацію apply для встановлення одного поля:
      Object{
          spec: Object.spec{
          serviceAccountName: "example"
          }
      }
      
Конфігурації Apply не можуть змінювати атомарні структури, мапи або масиви через ризик випадкового видалення значень, які не включені в конфігурацію apply. Вирази CEL мають доступ до типів обʼєктів, необхідних для створення конфігурацій apply:
  • 'Object' — тип CEL для обʼєкта ресурсу.
  • 'Object.\' — тип CEL для поля обʼєкта (наприклад, 'Object.spec')
  • 'Object.\.\...\' — тип CEL для вкладеного поля (наприклад, 'Object.spec.containers')
Вирази CEL мають доступ до вмісту API-запиту, організованого у змінні CEL, а також до деяких інших корисних змінних:
  • 'object' — Обʼєкт з вхідного запиту. Значення null для запитів DELETE.
  • 'oldObject' — Наявний обʼєкт. Значення null для запитів CREATE.
  • 'request' — Атрибути API-запиту([ref](/pkg/apis/admission/types.go#AdmissionRequest)).
  • 'params' — Ресурс параметрів, на який посилається привʼязка політики, що оцінюється. Заповнюється лише якщо політика має ParamKind.
  • 'namespaceObject' — Обʼєкт простору імен, до якого належить вхідний обʼєкт. Значення null для ресурсів з областю кластера.
  • 'variables' — Мапа композитних змінних, від імені до його відкладено обчисленого значення. Наприклад, змінну з імʼям 'foo' можна отримати як 'variables.foo'.
  • 'authorizer' — авторизатор CEL. Може використовуватися для виконання перевірок авторизації для принципала (користувача або службового облікового запису) запиту. Див. https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
  • 'authorizer.requestResource' — Ресурс CEL, створений з 'authorizer' і налаштований з ресурсом запиту.
apiVersion, kind, metadata.name та metadata.generateName завжди доступні з кореня обʼєкта. Жодні інші властивості метаданих недоступні. Доступні лише імена властивостей у формі [a-zA-Z_.-/][a-zA-Z0-9_.-/]*. Обовʼязково.

JSONPatch

JSONPatch визначає JSON Patch.


ПолеОпис
expression
string
expression буде оброблено CEL для створення JSON patch. Див: https://github.com/google/cel-spec. Вираз повинен повертати масив значень JSONPatch. Наприклад, цей вираз CEL повертає JSON patch для умовної зміни значення:
      [
        JSONPatch{op: "test", path: "/spec/example", value: "Red"},
        JSONPatch{op: "replace", path: "/spec/example", value: "Green"}
      ]
      
Щоб визначити обʼєкт для значення патчу, використовуйте типи Object. Наприклад:
      [
        JSONPatch{
          op: "add",
          path: "/spec/selector",
          value: Object.spec.selector{matchLabels: {"environment": "test"}}
        }
      ]
      
Щоб використовувати рядки, що містять '/' та '~' як ключі шляху JSONPatch, використовуйте jsonpatch.escapeKey. Наприклад:
      [
        JSONPatch{
          op: "add",
          path: "/metadata/labels/" + jsonpatch.escapeKey("example.com/environment"),
          value: "test"
        },
      ]
      
Вирази CEL мають доступ до типів, необхідних для створення JSON патчів та обʼєктів:
  • 'JSONPatch' — тип CEL для операцій JSON Patch. JSONPatch має поля 'op', 'from', 'path' та 'value'. Див: JSON patch для деталей. Поле 'value' може мати будь-яке значення: рядок, ціле число, масив, мапа або обʼєкт. Якщо встановлено, поля 'path' та 'from' повинні бути встановлені на JSON pointer рядок, де функція CEL 'jsonpatch.escapeKey()' може бути використана для екранування ключів шляху, що містять '/' та '~'.
  • 'Object' — тип CEL для обʼєкта ресурсу.
  • 'Object.<fieldName>' — тип CEL для поля обʼєкта (наприклад, 'Object.spec').
  • 'Object.<fieldName1>.<fieldName2>...<fieldNameN>' — тип CEL для вкладеного поля (наприклад, 'Object.spec.containers').
Вирази CEL мають доступ до вмісту API-запиту, організованого у змінні CEL, а також деякі інші корисні змінні:
  • 'object' — Обʼєкт з вхідного запиту. Значення null для DELETE-запитів.
  • 'oldObject' — Наявний обʼєкт. Значення null для CREATE-запитів.
  • 'request' — Атрибути API-запиту([ref](/pkg/apis/admission/types.go#AdmissionRequest)).
  • 'params' — Ресурс параметрів, на який посилається привʼязку політики, що оцінюється. Заповнюється лише якщо політика має ParamKind.
  • 'namespaceObject' — Обʼєкт простору імен, до якого належить вхідний обʼєкт. Значення null для ресурсів, що мають глобальну область застосування.
  • 'variables' — Мапа композитних змінних, від імені до його відкладено обчисленого значення. Наприклад, змінну з імʼям 'foo' можна отримати як 'variables.foo'.
  • 'authorizer' — авторизатор CEL. Може використовуватися для перевірки авторизації для принципала (користувача або службового облікового запису) запиту. Див: https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz.
  • 'authorizer.requestResource' — CEL ResourceCheck, створений з 'authorizer' і налаштований з ресурсом запиту.
Вирази CEL мають доступ до бібліотек функцій Kubernetes CEL, а також:
  • 'jsonpatch.escapeKey' — Виконує екранування ключів JSONPatch. '~' та '/' екрануються як '~0' та '~1' відповідно.
Лише імена властивостей у формі [a-zA-Z_.-/][a-zA-Z0-9_.-/]* доступні. Обов'язково.

Mutation

Mutation визначає CEL вираз, який використовується для застосування мутації.


ПолеОпис
applyConfiguration
ApplyConfiguration
applyConfiguration визначає бажані значення конфігурації обʼєкта. Конфігурація застосовується до обʼєкта допуску за допомогою structured merge diff. CEL вираз використовується для створення конфігурації apply.
jsonPatch
JSONPatch
jsonPatch визначає JSON patch операцію для виконання мутації обʼєкта. CEL вираз використовується для створення JSON patch.
patchType *
string
patchType вказує стратегію патчу, що використовується. Дозволені значення: "ApplyConfiguration" та "JSONPatch". Обовʼязково.

Можливі значення enum:
  • "ApplyConfiguration" ApplyConfiguration вказує, що мутація використовує конфігурацію apply для зміни обʼєкта.
  • "JSONPatch" JSONPatch вказує, що обʼєкт змінюється за допомогою JSON Patch.

Операції


post Create

HTTP Запит

POST /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicies

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyMutatingAdmissionPolicy

Відповідь

СтатусОписВідповідь
200OKMutatingAdmissionPolicy
201CreatedMutatingAdmissionPolicy
202AcceptedMutatingAdmissionPolicy

patch Patch

HTTP Запит

PATCH /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicies/{name}

Параметри шляху

НазваТипОпис
namestringНазва MutatingAdmissionPolicy

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint. Це поле є обов'язковим для запитів apply (application/apply-patch), але необов'язковим для інших типів патчів (JsonPatch, MergePatch, StrategicMergePatch).
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.
forcebooleanForce має на меті "примусово" застосовувати запити Apply. Це означає, що користувач повторно отримає конфліктні поля, що належать іншим користувачам. Прапорець Force повинен бути скасований для запитів, що не є патчами apply.

Параметри тіла запиту

НазваТипОпис
bodyPatch

Відповідь

СтатусОписВідповідь
200OKMutatingAdmissionPolicy
201CreatedMutatingAdmissionPolicy

put Replace

HTTP Запит

PUT /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicies/{name}

Параметри шляху

НазваТипОпис
namestringНазва MutatingAdmissionPolicy

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyMutatingAdmissionPolicy

Відповідь

СтатусОписВідповідь
200OKMutatingAdmissionPolicy
201CreatedMutatingAdmissionPolicy

delete Delete

HTTP Запит

DELETE /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicies/{name}

Параметри шляху

НазваТипОпис
namestringНазва MutatingAdmissionPolicy

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKStatus
202AcceptedStatus

delete Delete Collection

HTTP Запит

DELETE /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicies

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKStatus

get Read

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicies/{name}

Параметри шляху

НазваТипОпис
namestringНазва MutatingAdmissionPolicy

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).

Відповідь

СтатусОписВідповідь
200OKMutatingAdmissionPolicy

get List

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicies

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKMutatingAdmissionPolicyList

get Watch

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/watch/mutatingadmissionpolicies/{name}

Параметри шляху

НазваТипОпис
namestringНазва MutatingAdmissionPolicy

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

get Watch List

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/watch/mutatingadmissionpolicies

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

2 - MutatingAdmissionPolicyBinding

MutatingAdmissionPolicyBinding повʼязує MutatingAdmissionPolicy з параметризованими ресурсами. MutatingAdmissionPolicyBinding та необовʼязковий ресурс параметрів разом визначають, як адміністратори кластера налаштовують політики для кластерів.

Для даного запиту на допуск кожне привʼязування призведе до оцінки його політики N разів, де N дорівнює 1 для політик/привʼязувань, які не використовують параметри, інакше N дорівнює кількості параметрів, вибраних привʼязуванням. Кожна оцінка обмежується бюджетом витрат часу виконання.

Додавання/видалення політик, привʼязувань або параметрів не може вплинути на те, чи знаходиться дана комбінація (політика, привʼязування, параметр) у межах власного бюджету CEL.

apiVersion: admissionregistration.k8s.io/v1

import "k8s.io/api/admissionregistration/v1"

MutatingAdmissionPolicyBinding

MutatingAdmissionPolicyBinding повʼязує MutatingAdmissionPolicy з параметризованими ресурсами. MutatingAdmissionPolicyBinding та необовʼязковий ресурс параметрів разом визначають, як адміністратори кластера налаштовують політики для кластерів.

Для даного запиту на допуск кожне привʼязування призведе до оцінки його політики N разів, де N дорівнює 1 для політик/привʼязувань, які не використовують параметри, інакше N дорівнює кількості параметрів, вибраних привʼязуванням. Кожна оцінка обмежується бюджетом витрат часу виконання.

Додавання/видалення політик, привʼязувань або параметрів не може вплинути на те, чи знаходиться дана комбінація (політика, привʼязування, параметр) у межах власного бюджету CEL.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind визначає тип REST-ресурсу, який представляє цей обʼєкт. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ObjectMeta
metadata визначає стандартні метадані обʼєкта. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
spec
MutatingAdmissionPolicyBindingSpec
spec визначає бажану поведінку MutatingAdmissionPolicyBinding.

MutatingAdmissionPolicyBindingSpec

MutatingAdmissionPolicyBindingSpec визначає специфікацію MutatingAdmissionPolicyBinding.


ПолеОпис
matchResources
MatchResources
matchResources обмежує, які ресурси збігаються з цією привʼязкою і можуть бути змінені нею. Зверніть увагу, що якщо matchResources збігається з ресурсом, цей ресурс також повинен відповідати matchConstraints та matchConditions політики, перш ніж його можна буде змінити. Якщо matchResources не задано, це не обмежує збіг ресурсів, і для зміни ресурсу достатньо, щоб він мав збіг лише matchConstraints та matchConditions політики. Крім того, matchResources.resourceRules є необовʼязковими і не обмежують відповідність, якщо не встановлені. Зверніть увагу, що це відрізняється від matchConstraints MutatingAdmissionPolicy, де resourceRules є обовʼязковими. Дозволені операції CREATE, UPDATE та CONNECT. Операція DELETE не може мати збігу. '*' відповідає CREATE, UPDATE та CONNECT.
paramRef
ParamRef
paramRef визначає ресурс параметра, який використовується для налаштування політики контролю доступу. Він повинен вказувати на ресурс типу, зазначеного в spec.ParamKind привʼязаного MutatingAdmissionPolicy. Якщо політика вказує ParamKind, а ресурс, на який посилається ParamRef, не існує, ця привʼязка вважається неправильно налаштованою, і застосовується FailurePolicy MutatingAdmissionPolicy. Якщо політика не вказує ParamKind, це поле ігнорується, і правила оцінюються без параметра.
policyName
string
policyName посилається на імʼя MutatingAdmissionPolicy, до якої привʼязується MutatingAdmissionPolicyBinding. Якщо посиланий ресурс не існує, ця привʼязка вважається недійсною і буде ігноруватися. Є обовʼязковим.

MutatingAdmissionPolicyBindingList

MutatingAdmissionPolicyBindingList є списком MutatingAdmissionPolicyBinding.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Більше інформації: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
MutatingAdmissionPolicyBinding array
Список PolicyBinding.
kind
string
Kind є рядковим значенням, що представляє REST-ресурс, який цей обʼєкт представляє. Сервери можуть визначати його з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Більше інформації: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
metadata є стандартною метаданою списку. Більше інформації: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

Операції


post Create

HTTP запит

POST /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicybindings

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyMutatingAdmissionPolicyBinding

Відповідь

СтатусОписВідповідь
200OKMutatingAdmissionPolicyBinding
201CreatedMutatingAdmissionPolicyBinding
202AcceptedMutatingAdmissionPolicyBinding

patch Patch

HTTP Запит

PATCH /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicybindings/{name}

Параметри шляху

НазваТипОпис
namestringНазва MutatingAdmissionPolicyBinding

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint. Це поле обовʼязкове для запитів apply (application/apply-patch), але необовʼязкове для типів патчів, що не застосовуються (JsonPatch, MergePatch, StrategicMergePatch).
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надіслати попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.
forcebooleanForce має на меті "примусово" застосовувати запити Apply. Це означає, що користувач повторно отримає конфліктні поля, що належать іншим користувачам. Прапорець Force повинен бути скасований для запитів, що не є патчами apply.

Параметри тіла запиту

НазваТипОпис
bodyPatch

Відповідь

СтатусОписВідповідь
200OKMutatingAdmissionPolicyBinding
201CreatedMutatingAdmissionPolicyBinding

put Replace

HTTP Запит

PUT /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicybindings/{name}

Параметри шляху

НазваТипОпис
namestringНазва MutatingAdmissionPolicyBinding

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надіслати попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyMutatingAdmissionPolicyBinding

Відповідь

СтатусОписВідповідь
200OKMutatingAdmissionPolicyBinding
201CreatedMutatingAdmissionPolicyBinding

delete Delete

HTTP Запит

DELETE /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicybindings/{name}

Параметри шляху

НазваТипОпис
namestringНазва MutatingAdmissionPolicyBinding

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKStatus
202AcceptedStatus

delete Delete Collection

HTTP Запит

DELETE /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicybindings

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
gracePeriodSecondsintegerЧас у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль означає негайне видалення. Якщо це значення дорівнює nil, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для кожного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanякщо встановлено значення true, це призведе до небезпечного видалення ресурсу у випадку, якщо звичайний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища через а) неможливість трансформації даних, наприклад, помилка дешифрування, або б) невдачу при декодуванні в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження фіналізаторів, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на звичайний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKStatus

get Read

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicybindings/{name}

Параметри шляху

НазваТипОпис
namestringНазва MutatingAdmissionPolicyBinding

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).

Відповідь

СтатусОписВідповідь
200OKMutatingAdmissionPolicyBinding

get List

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicybindings

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKMutatingAdmissionPolicyBindingList

get Watch

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/watch/mutatingadmissionpolicybindings/{name}

Параметри шляху

НазваТипОпис
namestringназва MutatingAdmissionPolicyBinding

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

get Watch List

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/watch/mutatingadmissionpolicybindings

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтанОписВідповідь
200OKWatchEvent

3 - MutatingWebhookConfiguration

MutatingWebhookConfiguration описує конфігурацію вебхука для допуску або відхилення обʼєкта та можливу зміну цього об'єкта.

apiVersion: admissionregistration.k8s.io/v1

import "k8s.io/api/admissionregistration/v1"

MutatingWebhookConfiguration

MutatingWebhookConfiguration описує конфігурацію вебхука для допуску або відхилення обʼєкта та можливу зміну цього об'єкта.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind є рядковим значенням, що представляє REST-ресурс, який цей обʼєкт представляє. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ObjectMeta
metadata визначає стандартні метадані обʼєкта. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
webhooks
MutatingWebhook array
patch strategy: злиття за ключем name
webhooks є списком вебхуків та ресурсів і операцій, на які вони впливають.

MutatingWebhookConfigurationList

MutatingWebhookConfigurationList є списком MutatingWebhookConfiguration.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
MutatingWebhookConfiguration array
Список MutatingWebhookConfiguration.
kind
string
Kind є рядковим значенням, що представляє REST-ресурс, який цей обʼєкт представляє. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
metadata визначає стандартні метадані обʼєкта. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.

MutatingWebhook

MutatingWebhook описує admission webhook та ресурси і операції, до яких він застосовується.


ПолеОпис
admissionReviewVersions *
string array
admissionReviewVersions є впорядкованим списком переважних версій AdmissionReview, які очікує Webhook. Сервер API спробує використати першу версію зі списку, яку він підтримує. Якщо жодна з версій, зазначених у цьому списку, не підтримується сервером API, перевірка цього обʼєкта завершиться невдачею. Якщо збережена конфігурація webhook вказує дозволені версії і не включає жодної версії, відомої серверу API, виклики до webhook завершаться невдачею і підпадатимуть під політику обробки помилок.
clientConfig *
WebhookClientConfig
clientConfig визначає, як спілкуватися з webhook. Обовʼязково
failurePolicy
string
failurePolicy визначає, як обробляються невідомі помилки з admission endpoint - допустимі значення: Ignore або Fail. Стандартне значення — Fail.

Можливі значення enum
  • "Fail" означає, що помилка виклику вебхука призводить до відхилення допуску.
  • "Ignore" означає, що помилка виклику вебхука ігнорується.
matchConditions
MatchCondition array
patch strategy: злиття за ключем name
`matchConditions` — це список умов, які повинні бути виконані для перевірки запиту. Умови відповідності фільтрують запити, які вже були відібрані за допомогою `matchConstraints`. Порожній список matchConditions відповідає всім запитам. Допускається максимум 64 умови відповідності. Якщо надано об’єкт параметра, доступ до нього можна отримати через дескриптор `params` так само, як і до виразів перевірки. Точна логіка відповідності така (за порядком):
  1. Якщо БУДЬ-ЯКА умова matchCondition має значення FALSE, політика пропускається.
  2. Якщо ВСІ умови matchConditions мають значення TRUE, політика оцінюється.
  3. Якщо будь-яка умова matchCondition має значення помилки (але жодна не має значення FALSE):
    • Якщо failurePolicy=Fail, запит відхиляється
    • Якщо failurePolicy=Ignore, політика пропускається
matchPolicy
string
matchPolicy визначає, як список "rules" використовується для порівняння з вхідними запитами. Дозволені значення: "Exact" або "Equivalent".
  • Exact: запит збігається лише тоді, коли він точно відповідає вказаному правилу. Наприклад, якщо розгортання можна змінювати через apps/v1, apps/v1beta1 та extensions/v1beta1, але "rules" включає лише apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"], запит до apps/v1beta1 або extensions/v1beta1 не буде надіслано до вебхука.
  • Equivalent: запит збігається, якщо він змінює ресурс, зазначений у rules, навіть через іншу групу API або версію. Наприклад, якщо розгортання можна змінювати через apps/v1, apps/v1beta1 та extensions/v1beta1, і "rules" включає лише apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"], запит до apps/v1beta1 або extensions/v1beta1 буде перетворено на apps/v1 і надіслано до вебхука.
Стандартне значення — "Equivalent"

Можливі значення enum:
  • "Equivalent" означає, що запити повинні надсилатися до вебхука, якщо вони змінюють ресурс, зазначений у rules, через іншу групу API або версію.
  • "Exact" означає, що запити повинні надсилатися до вебхука лише тоді, коли вони точно відповідають вказаному правилу.
name *
string
name є назвою вебхука допуску. Назва повинна бути повністю кваліфікованою, наприклад, imagepolicy.kubernetes.io, де "imagepolicy" є назвою вебхука, а kubernetes.io є назвою організації. Обовʼязково.
namespaceSelector
LabelSelector
namespaceSelector вирішує, чи запускати вебхук на обʼєкті на основі того, чи відповідає простір імен цього обʼєкта селектору. Якщо сам обʼєкт є простором імен, збіг перевіряється для object.metadata.labels. Якщо обʼєкт є іншим ресурсом з областю кластера, вебхук ніколи не пропускається.

Наприклад, щоб запускати вебхук на будь-яких обʼєктах, простір імен яких не повʼязаний з "runlevel" значенням "0" або "1", встановіть селектор наступним чином:
      "namespaceSelector": {
        "matchExpressions": [
          {
            "key": "runlevel",
            "operator": "NotIn",
            "values": [
              "0",
              "1"
            ]
          }
        ]
      }
      
Якщо замість цього ви хочете запускати вебхук лише на обʼєктах, простір імен яких повʼязаний з "environment" значенням "prod" або "staging", встановіть селектор наступним чином:
      "namespaceSelector": {
        "matchExpressions": [
          {
            "key": "environment",
            "operator": "In",
            "values": [
              "prod",
              "staging"
            ]
          }
        ]
      }
      
Див. https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ для отримання додаткових прикладів селекторів міток.

Стандартно використовується порожній LabelSelector, який збігаєтсья зі всіма обʼєктами.
objectSelector
LabelSelector
objectSelector вирішує, чи запускати вебхук на основі того, чи має обʼєкт відповідні мітки. objectSelector оцінюється як для oldObject, так і для newObject, які будуть надіслані вебхуку, і вважається, що він має збіг, якщо будь-який з обʼєктів відповідає селектору. Null-обʼєкт (oldObject у випадку створення або newObject у випадку видалення) або обʼєкт, який не може мати мітки (наприклад, DeploymentRollback або PodProxyOptions), не вважається відповідним. Використовуйте objectSelector лише якщо вебхук є опціональним, оскільки кінцеві користувачі можуть пропустити вебхук, встановивши мітки. Зазвичай використовується порожній LabelSelector, який збігаєтсья зі всіма обʼєктами.
reinvocationPolicy
string
reinvocationPolicy показує, чи цей вебхук повинен викликатися кілька разів в рамках одного оцінювання допуску. Дозволені значення: "Never" та "IfNeeded".
  • Never: вебхук не буде викликаний більше одного разу в рамках одного оцінювання допуску.
  • IfNeeded: вебхук буде викликаний принаймні один додатковий раз в рамках оцінювання допуску, якщо обʼєкт, що допускається, змінюється іншими втулками допуску після початкового виклику вебхука. Вебхуки, які вказують цю опцію, повинні бути ідемпотентними, здатними обробляти обʼєкти, які вони раніше допустили. Примітка:
    • не гарантується що кількість додаткових викликів буде точно один.
    • якщо додаткові виклики призводять до подальших змін обʼєкта, не гарантується що вебхуки будуть викликані знову.
    • вебхуки, які використовують цю опцію, можуть бути переставлені для мінімізації кількості додаткових викликів.
    • для перевірки обʼєкта після завершення всіх мутацій використовуйте замість цього вебхук перевірки.
    Стандартне значення — "Never".

    Можливі значення enum:
    • "IfNeeded" вказує, що мутація може бути викликана принаймні один додатковий раз в рамках оцінювання допуску, якщо обʼєкт, що допускається, змінюється іншими втулками допуску після початкового виклику мутації.
    • "Never" вказує, що мутація не повинна викликатися більше одного разу в рамках одного оцінювання допуску.
rules
RuleWithOperations array
rules описує, які операції з якими ресурсами/субресурсами цікавлять вебхук. Вебхук цікавиться операцією, якщо вона відповідає будь-якому правилу. Однак, щоб запобігти ситуації, коли ValidatingAdmissionWebhooks та MutatingAdmissionWebhooks ставлять кластер у стан, з якого неможливо відновитися без повного відключення втулка, ValidatingAdmissionWebhooks та MutatingAdmissionWebhooks ніколи не викликаються для запитів на допуск для обʼєктів ValidatingWebhookConfiguration та MutatingWebhookConfiguration.
sideEffects *
string
sideEffects вказує, чи має цей вебхук має побічні ефекти. Допустимі значення: None, NoneOnDryRun (вебхуки, створені через v1beta1, також можуть вказувати Some або Unknown). Вебхуки з побічними ефектами МАЮТЬ реалізовувати систему узгодження, оскільки запит може бути відхилений на наступному кроці в ланцюжку допуску, і побічні ефекти потрібно буде скасувати. Запити з атрибутом dryRun будуть автоматично відхилені, якщо вони відповідають вебхуку з sideEffects == Unknown або Some.

Можливі значення enum:
  • "None" означає, що виклик вебхуку не матиме побічних ефектів.
  • "NoneOnDryRun" означає, що виклик вебхуку може мати побічні ефекти, але якщо запит, що перевіряється, має атрибут dry-run, побічні ефекти будуть придушені.
  • "Some" означає, що виклик вебхуку може мати побічні ефекти. Якщо запит з атрибутом dry-run викличе цей вебхук, запит буде відхилено.
  • "Unknown" означає, що інформація про побічні ефекти виклику вебхуку відсутня. Якщо запит з атрибутом dry-run викличе цей вебхук, запит буде відхилено.
timeoutSeconds
integer
timeoutSeconds визначає час очікування для цього вебхуку. Після закінчення часу очікування виклик вебхуку буде ігноровано або виклик API завершиться невдачею залежно від політики помилок. Значення часу очікування повинно бути між 1 і 30 секундами. Стандартно — 10 секунд.

Операції


post Create

HTTP Запит

POST /apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyMutatingWebhookConfiguration

Відповідь

СтатусОписВідповідь
200OKMutatingWebhookConfiguration
201CreatedMutatingWebhookConfiguration
202AcceptedMutatingWebhookConfiguration

patch Patch

HTTP Запит

PATCH /apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations/{name}

Параметри шляху

НазваТипОпис
namestringНазва MutatingWebhookConfiguration

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint. Це поле є обов'язковим для запитів apply (application/apply-patch), але необов'язковим для інших типів патчів (JsonPatch, MergePatch, StrategicMergePatch).
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.
forcebooleanForce має на меті "примусово" застосовувати запити Apply. Це означає, що користувач повторно отримає конфліктні поля, що належать іншим користувачам. Прапорець Force повинен бути скасований для запитів, що не є патчами apply.

Параметри тіла запиту

НазваТипОпис
bodyPatch

Відповідь

СтатусОписВідповідь
200OKMutatingWebhookConfiguration
201CreatedMutatingWebhookConfiguration

put Replace

HTTP Запит

PUT /apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations/{name}

Параметри шляху

НазваТипОпис
namestringНазва MutatingWebhookConfiguration

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла

НазваТипОпис
bodyMutatingWebhookConfiguration

Відповідь

СтатусОписВідповідь
200OKMutatingWebhookConfiguration
201CreatedMutatingWebhookConfiguration

delete Delete

HTTP Запит

DELETE /apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations/{name}

Параметри шляху

НазваТипОпис
namestringНазва MutatingWebhookConfiguration

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKStatus
202AcceptedStatus

delete Delete Collection

HTTP Запит

DELETE /apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKStatus

get Read

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations/{name}

Параметри шляху

НазваТипОпис
namestringназва MutatingWebhookConfiguration

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).

Відповідь

СтатусОписВідповідь
200OKMutatingWebhookConfiguration

get List

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKMutatingWebhookConfigurationList

get Watch

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/watch/mutatingwebhookconfigurations/{name}

Параметри шляху

НазваТипОпис
namestringНазва MutatingWebhookConfiguration

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

get Watch List

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/watch/mutatingwebhookconfigurations

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

4 - ValidatingAdmissionPolicy

ValidatingAdmissionPolicy описує визначення політики перевірки доступу, яка приймає або відхиляє обʼєкт без його зміни.

apiVersion: admissionregistration.k8s.io/v1

import "k8s.io/api/admissionregistration/v1"

ValidatingAdmissionPolicy

ValidatingAdmissionPolicy описує визначення політики перевірки доступу, яка приймає або відхиляє обʼєкт без його зміни.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind є рядковим значенням, що представляє REST-ресурс, який цей обʼєкт представляє. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ObjectMeta
metadata визначає стандартні метадані обʼєкта. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
spec
ValidatingAdmissionPolicySpec
spec визначає бажану поведінку ValidatingAdmissionPolicy.
status
ValidatingAdmissionPolicyStatus
status представляє поточний стан ValidatingAdmissionPolicy, включаючи попередження, які корисні для визначення, чи політика працює очікуваним чином. Заповнюється системою. Тільки для читання.

ValidatingAdmissionPolicySpec

ValidatingAdmissionPolicySpec є специфікацією бажаної поведінки AdmissionPolicy.


ПолеОпис
auditAnnotations
AuditAnnotation array
auditAnnotations містить вирази CEL, які використовуються для створення анотацій аудиту для події аудиту запиту API. Поля validations і auditAnnotations не можуть бути обидва порожні; необхідно мати принаймні один з validations або auditAnnotations.
failurePolicy
string
failurePolicy визначає, як обробляти помилки для політики допуску. Помилки можуть виникати через помилки розбору виразів CEL, помилки перевірки типів, помилки виконання та недійсні або неправильно налаштовані визначення політики або привʼязки. Політика є недійсною, якщо spec.paramKind посилається на Kind, який не існує. Привʼязка є недійсною, якщо spec.paramRef.name посилається на ресурс, якого не існує. failurePolicy не визначає, як обробляються перевірки, які оцінюються як false. Коли failurePolicy встановлено на Fail, дії перевірки ValidatingAdmissionPolicyBinding визначають, як застосовуються помилки. Дозволені значення: Ignore або Fail. Стандартне значення — Fail.

Можливі значення enum:
  • "Fail" означає, що помилка виклику вебхука призводить до відмови у допуску.
  • "Ignore" означає, що помилка виклику вебхука ігнорується.
matchConditions
MatchCondition array
patch strategy: злиття за ключем name
matchConditions — це список умов, які повинні бути виконані для перевірки запиту. Умови відповідності фільтрують запити, які вже були відібрані за допомогою matchConstraints. Порожній список matchConditions відповідає всім запитам. Допускається максимум 64 умови відповідності. Якщо надано об’єкт параметра, доступ до нього можна отримати через дескриптор params так само, як і до виразів перевірки. Точна логіка відповідності така (за порядком):
  1. Якщо БУДЬ-ЯКА умова matchCondition має значення FALSE, політика пропускається.
  2. Якщо ВСІ умови matchConditions мають значення TRUE, політика оцінюється.
  3. Якщо будь-яка умова matchCondition має значення помилки (але жодна не має значення FALSE):
    • Якщо failurePolicy=Fail, запит відхиляється
    • Якщо failurePolicy=Ignore, політика пропускається
matchConstraints
MatchResources
Параметр matchConstraints визначає, які ресурси ця політика призначена перевіряти. Політика AdmissionPolicy розглядає запит, якщо він відповідає _усім_ обмеженням. Однак, щоб запобігти переходу кластерів у нестабільний стан, який неможливо відновити за допомогою API, ValidatingAdmissionPolicy не може відповідати ValidatingAdmissionPolicy та ValidatingAdmissionPolicyBinding. Обов’язкове.
paramKind
ParamKind
paramKind визначає тип ресурсів, які використовуються для параметризації цієї політики. Якщо відсутній, параметри для цієї політики відсутні, і змінна param CEL не буде надана для виразів перевірки. Якщо paramKind посилається на тип, що не існує, визначення цієї політики некоректне, і застосовується FailurePolicy. Якщо paramKind вказано, але paramRef не встановлено в ValidatingAdmissionPolicyBinding, змінна params буде null.
validations
Validation array
validations містить вирази CEL, які використовуються для застосування перевірки. Validations та AuditAnnotations не можуть бути обидва порожні; мінімум один з них обовʼязковий.
variables
Variable array
patch strategy: злиття за ключем name
variables містить визначення змінних, які можна використовувати при складанні інших виразів. Кожна змінна визначається як іменований вираз CEL. Змінні, визначені тут, будуть доступні у variables в інших виразах політики, за винятком MatchConditions, оскільки MatchConditions оцінюються перед рештою політики. Вираз змінної може посилатися на інші змінні, визначені раніше в списку, але не на ті, що йдуть після. Таким чином, Variables повинні бути відсортовані за порядком першої появи і бути ациклічними.

ValidatingAdmissionPolicyStatus

ValidatingAdmissionPolicyStatus представляє стан політики перевірки допуску.


ПолеОпис
conditions
Condition array
conditions представляють останні доступні спостереження за поточним станом політики.
observedGeneration
integer
observedGeneration представляє покоління, спостережуване контролером.
typeChecking
TypeChecking
typeChecking містить результати перевірки типів для кожного виразу. Наявність цього поля вказує на завершення перевірки типів.

ValidatingAdmissionPolicyList

ValidatingAdmissionPolicyList є списком ValidatingAdmissionPolicy.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
ValidatingAdmissionPolicy array
Список ValidatingAdmissionPolicy.
kind
string
Kind є рядковим значенням, що представляє REST-ресурс, який цей обʼєкт представляє. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
metadata визначає стандартні метадані обʼєкта. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.

AuditAnnotation

AuditAnnotation описує, як створити анотацію аудиту для запиту API.


ПолеОпис
key *
string
key визначає ключ анотації аудиту. Ключі анотацій аудиту ValidatingAdmissionPolicy повинні бути унікальними. Ключ повинен бути кваліфікованим імʼям ([A-Za-z0-9][-A-Za-z0-9_.]*) довжиною не більше 63 байтів. Ключ комбінується з імʼям ресурсу ValidatingAdmissionPolicy для створення ключа анотації аудиту: "{ValidatingAdmissionPolicy name}/{key}". Якщо вебхук допуску використовує те саме імʼя ресурсу, що й цей ValidatingAdmissionPolicy, і той самий ключ анотації аудиту, ключ анотації буде ідентичним. У цьому випадку перша анотація, записана з цим ключем, буде включена в подію аудиту, а всі наступні анотації з тим самим ключем будуть відкинуті. Обовʼязково.
valueExpression *
string
valueExpression визначає вираз, який оцінюється за допомогою CEL для створення значення анотації аудиту. Вираз повинен оцінюватися як рядок або null. Якщо вираз оцінюється як рядок, анотація аудиту включається зі значенням рядка. Якщо вираз оцінюється як null або порожній рядок, анотація аудиту буде пропущена. Довжина valueExpression не повинна перевищувати 5 КБ. Якщо результат valueExpression перевищує 10 КБ, він буде обрізаний до 10 КБ. Якщо кілька ресурсів ValidatingAdmissionPolicyBinding відповідають запиту API, valueExpression буде оцінюватися для кожного звʼязування. Усі унікальні значення, отримані з valueExpression, будуть обʼєднані в список, розділений комами. Обовʼязково.

ExpressionWarning

ExpressionWarning описує інформацію про попередження, що стосується конкретного виразу.


ПолеОпис
fieldRef *
string
fieldRef визначає шлях до поля, яке посилається на вираз. Наприклад, посилання на вираз першого елемента валідацій виглядає як "spec.validations[0].expression"
warning *
string
warning містить інформацію про перевірку типів у зручній для читання формі. Кожен рядок попередження містить тип, проти якого перевіряється вираз, а також помилку перевірки типу від компілятора.

TypeChecking

TypeChecking містить результати перевірки типів виразів у ValidatingAdmissionPolicy


ПолеОпис
expressionWarnings
ExpressionWarning array
expressionWarnings містить попередження про перевірку типів для кожного виразу.

Validation

Validation визначає вираз CEL, який використовується для виконання валідації.


ПолеОпис
expression *
string
expression представляє вираз, який буде оцінюватися за допомогою CEL. Див: https://github.com/google/cel-spec.

Вирази CEL мають доступ до вмісту запиту/відповіді API, організованого у змінні CEL, а також деякі інші корисні змінні:
  • 'object' — Обʼєкт з вхідного запиту. Значення null для запитів DELETE.
  • 'oldObject' — Наявний обʼєкт. Значення null для запитів CREATE.
  • 'request' — Атрибути запиту API ([ref](/pkg/apis/admission/types.go#AdmissionRequest)).
  • 'params' — Ресурс параметрів, на який посилається привʼязка політики, що оцінюється. Заповнюється лише якщо політика має ParamKind.
  • 'namespaceObject' — Обʼєкт простору імен, до якого належить вхідний обʼєкт. Значення null для ресурсів з областю кластера.
  • 'variables' — Мапа складених змінних, від їх імені до відкладено оціненого значення. Наприклад, змінну з імʼям 'foo' можна отримати як 'variables.foo'.
  • 'authorizer' — авторизатор CEL. Може використовуватися для виконання перевірок авторизації для субʼєкта (користувача або службового облікового запису) запиту. Див: https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz.
  • 'authorizer.requestResource' — CEL ResourceCheck, створений з 'authorizer' і налаштований з ресурсом запиту.
apiVersion, kind, metadata.name та metadata.generateName завжди доступні з кореня обʼєкта. Жодні інші властивості метаданих недоступні.

Лише імена властивостей у формі [a-zA-Z_.-/][a-zA-Z0-9_.-/]* доступні. Доступні імена властивостей екрануються відповідно до наступних правил при доступі у виразі:
  • '__' екранується як '__underscores__'
  • '.' екранується як '__dot__'
  • '-' екранується як '__dash__'
  • '/' екранується як '__slash__'
  • Імена властивостей, які точно збігаються з зарезервованим ключовим словом CEL, екрануються як '__{keyword}__'.
Ключові слова: "true", "false", "null", "in", "as", "break", "const", "continue", "else", "for", "function", "if", "import", "let", "loop", "package", "namespace", "return"

Приклади:
  • Вираз, що отримує доступ до властивості з імʼям "namespace": {"Expression": "object.__namespace__ > 0"}
  • Вираз, що отримує доступ до властивості з імʼям "x-prop": {"Expression": "object.x__dash__prop > 0"}
  • Вираз, що отримує доступ до властивості з імʼям "redact__d": {"Expression": "object.redact__underscores__d > 0"}
При порівнянні масивів з типом списку 'set' або 'map' порядок елементів ігнорується, тобто [1, 2] == [2, 1]. Конкатенація масивів з x-kubernetes-list-type використовує семантику типу списку:
  • 'set': X + Y виконує обʼєднання, де позиції всіх елементів у X зберігаються, а неперетинаючі елементи в Y додаються, зберігаючи їх частковий порядок.
  • 'map': X + Y виконує злиття, де позиції всіх ключів у X зберігаються, але значення перезаписуються значеннями з Y, коли множини ключів X і Y перетинаються. Елементи в Y з неперетинаючими ключами додаються, зберігаючи їх частковий порядок.
Обовʼязково.
message
string
message представляє повідомлення, яке показується, коли перевірка не проходить. Повідомлення обовʼязкове, якщо Expression містить розриви рядків. Повідомлення не повинно містити розривів рядків. Якщо не встановлено, повідомлення буде "failed rule: {Rule}". Наприклад: "must be a URL with the host matching spec.host". Якщо вираз містить розриви рядків, повідомлення обовʼязкове. Повідомлення не повинно містити розривів рядків. Якщо не встановлено, повідомлення буде "failed Expression: {Expression}".
messageExpression
string
messageExpression оголошує CEL-вираз, який оцінюється до повідомлення про помилку перевірки, яке повертається, коли це правило не проходить. Оскільки messageExpression використовується як повідомлення про помилку, воно повинно оцінюватися як рядок. Якщо обидва поля message і messageExpression присутні у перевірці, то messageExpression буде використано, якщо перевірка не пройде. Якщо messageExpression призводить до помилки виконання, помилка виконання реєструється, і повідомлення про помилку перевірки генерується так, ніби поле messageExpression не встановлено. Якщо messageExpression оцінюється як порожній рядок, рядок, що містить лише пробіли, або рядок, що містить розриви рядків, тоді повідомлення про помилку перевірки також буде згенеровано так, ніби поле messageExpression не встановлено, і факт, що messageExpression призвело до порожнього рядка/рядка, що містить лише пробіли/рядка з розривами рядків, буде зареєстровано. messageExpression має доступ до всіх тих самих змінних, що й expression, за винятком 'authorizer' та 'authorizer.requestResource'. Приклад: "object.x must be less than max ("+string(params.max)+")"
reason
string
reason представляє машиночитаний опис того, чому ця перевірка не пройшла. Якщо це перша перевірка в списку, яка не пройшла, цей reason, а також відповідний HTTP-код відповіді, використовуються у HTTP-відповіді клієнту. Поточні підтримувані причини: "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge". Якщо не встановлено, у відповіді клієнту використовується StatusReasonInvalid.

Операції


post Create

HTTP Запит

POST /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyValidatingAdmissionPolicy

Відповідь

СтатусОписВідповідь
200OKValidatingAdmissionPolicy
201CreatedValidatingAdmissionPolicy
202AcceptedValidatingAdmissionPolicy

patch Patch

HTTP Запит

PATCH /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies/{name}

Параметри шляху

НазваТипОпис
namestringНазва ValidatingAdmissionPolicy

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint. Це поле є обов'язковим для запитів apply (application/apply-patch), але необов'язковим для інших типів патчів (JsonPatch, MergePatch, StrategicMergePatch).
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.
forcebooleanForce має на меті "примусово" застосовувати запити Apply. Це означає, що користувач повторно отримає конфліктні поля, що належать іншим користувачам. Прапорець Force повинен бути скасований для запитів, що не є патчами apply.

Параметри тіла запиту

НазваТипОпис
bodyPatch

Відповідь

СтатусОписВідповідь
200OKValidatingAdmissionPolicy
201CreatedValidatingAdmissionPolicy

put Replace

HTTP Запит

PUT /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies/{name}

Параметри шляху

НазваТипОпис
namestringНазва ValidatingAdmissionPolicy

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyValidatingAdmissionPolicy

Відповідь

СтатусОписВідповідь
200OKValidatingAdmissionPolicy
201CreatedValidatingAdmissionPolicy

delete Delete

HTTP Запит

DELETE /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies/{name}

Параметри шляху

НазваТипОпис
namestringНазва ValidatingAdmissionPolicy

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKStatus
202AcceptedStatus

delete Delete Collection

HTTP Запит

DELETE /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKStatus

get Read

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies/{name}

Параметри шляху

НазваТипОпис
namestringНазва ValidatingAdmissionPolicy

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).

Відповідь

СтатусОписВідповідь
200OKValidatingAdmissionPolicy

get List

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKValidatingAdmissionPolicyList

get Watch

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/watch/validatingadmissionpolicies/{name}

Параметри шляху

НазваТипОпис
namestringНазва ValidatingAdmissionPolicy

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

get Watch List

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/watch/validatingadmissionpolicies

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

patch Patch Status

HTTP Запит

PATCH /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies/{name}/status

Параметри шляху

НазваТипОпис
namestringНазва ValidatingAdmissionPolicy

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint. Це поле є обовʼязковим для запитів apply (application/apply-patch), але необовʼязковим для інших типів патчів (JsonPatch, MergePatch, StrategicMergePatch).
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.
forcebooleanForce має на меті "примусово" застосовувати запити Apply. Це означає, що користувач повторно отримає конфліктні поля, що належать іншим користувачам. Прапорець Force повинен бути скасований для запитів, що не є патчами apply.

Параметри тіла запиту

НазваТипОпис
bodyPatch

Відповідь

СтатусОписВідповідь
200OKValidatingAdmissionPolicy
201CreatedValidatingAdmissionPolicy

get Read Status

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies/{name}/status

Параметри шляху

НазваТипОпис
namestringНазва ValidatingAdmissionPolicy

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).

Відповідь

СтатусОписВідповідь
200OKValidatingAdmissionPolicy

put Replace Status

HTTP Запит

PUT /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicies/{name}/status

Параметри шляху

НазваТипОпис
namestringНазва ValidatingAdmissionPolicy

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyValidatingAdmissionPolicy

Відповідь

StatusОписВідповідь
200OKValidatingAdmissionPolicy
201CreatedValidatingAdmissionPolicy

5 - ValidatingAdmissionPolicyBinding

ValidatingAdmissionPolicyBinding повʼязує ValidatingAdmissionPolicy з параметризованими ресурсами. ValidatingAdmissionPolicyBinding та CRD-файли параметрів разом визначають, як адміністратори кластерів налаштовують політики для кластерів.

Для заданого запиту на допуск кожне привʼязування призведе до того, що його політика буде оцінена N разів, де N дорівнює 1 для політик/прив'язувань, які не використовують параметри, в іншому випадку N — це кількість параметрів, обраних привʼязуванням.

Вирази CEL політики повинні мати обчислений бюджет витрат CEL, що не перевищує максимальний бюджет CEL. Кожній оцінці політики присвоюється незалежний бюджет витрат CEL. Додавання/видалення політик, привʼязок або параметрів не може вплинути на те, чи знаходиться дана комбінація (політика, прив'язка, параметр) у межах власного бюджету витрат CEL.

apiVersion: admissionregistration.k8s.io/v1

import "k8s.io/api/admissionregistration/v1"

ValidatingAdmissionPolicyBinding

ValidatingAdmissionPolicyBinding повʼязує ValidatingAdmissionPolicy з параметризованими ресурсами. ValidatingAdmissionPolicyBinding та CRD-файли параметрів разом визначають, як адміністратори кластерів налаштовують політики для кластерів.

Для заданого запиту на допуск кожне привʼязування призведе до того, що його політика буде оцінена N разів, де N дорівнює 1 для політик/прив'язувань, які не використовують параметри, в іншому випадку N — це кількість параметрів, обраних привʼязуванням.

Вирази CEL політики повинні мати обчислений бюджет витрат CEL, що не перевищує максимальний бюджет CEL. Кожній оцінці політики присвоюється незалежний бюджет витрат CEL. Додавання/видалення політик, привʼязок або параметрів не може вплинути на те, чи знаходиться дана комбінація (політика, прив'язка, параметр) у межах власного бюджету витрат CEL.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind є рядковим значенням, що представляє REST-ресурс, який цей обʼєкт представляє. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ObjectMeta
metadata визначає стандартні метадані обʼєкта. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
spec *
ValidatingAdmissionPolicyBindingSpec
spec визначає бажану поведінку ValidatingAdmissionPolicyBinding.

ValidatingAdmissionPolicyBindingSpec

ValidatingAdmissionPolicyBindingSpec визначає специфікацію ValidatingAdmissionPolicyBinding.


ПолеОпис
matchResources
MatchResources
Параметр `matchResources` визначає, які ресурси відповідають цій привʼязці та будуть перевірені за її допомогою. Зверніть увагу, що цей параметр перетинається з параметром `matchConstraints` політики, тому за допомогою нього можуть бути відібрані лише ті запити, які відповідають політиці. Якщо цей параметр не вказано, всі ресурси, що відповідають політиці, перевіряються за допомогою цієї привʼязки. Якщо параметр `resourceRules` не вказано, він не обмежує відповідність ресурсів. Якщо ресурс відповідає іншим полям цього об’єкта, він буде перевірений. Зверніть увагу, що це відрізняється від matchConstraints у ValidatingAdmissionPolicy, де resourceRules є обовʼязковими.
paramRef
ParamRef
paramRef визначає ресурс параметра, який використовується для налаштування політики контролю доступу. Він повинен вказувати на ресурс типу, зазначеного в ParamKind привʼязаної ValidatingAdmissionPolicy. Якщо політика вказує ParamKind, а ресурс, на який посилається ParamRef, не існує, ця привʼязка вважається неправильно налаштованою, і застосовується FailurePolicy привʼязаної ValidatingAdmissionPolicy. Якщо політика не вказує ParamKind, це поле ігнорується, а правила оцінюються без параметра.
policyName *
string
policyName вказує на назву ValidatingAdmissionPolicy, до якої привʼязується ValidatingAdmissionPolicyBinding. Якщо зазначений ресурс не існує, ця привʼязка вважається недійсною і буде ігноруватися. Обовʼязково.
validationActions *
string array
validationActions визначає як виконуються перевірки зазначеної ValidatingAdmissionPolicy. Якщо перевірка оцінюється як хибна, вона завжди виконується відповідно до цих дій. Помилки, визначені FailurePolicy ValidatingAdmissionPolicy, виконуються відповідно до цих дій лише якщо FailurePolicy встановлено на Fail; в іншому випадку помилки ігноруються. Це включає помилки компіляції, помилки виконання та неправильні конфігурації політики. validationActions оголошується як набір значень дій. Порядок не має значення. validationActions не може містити дублікатів однієї й тієї ж дії.

Підтримувані значення дій:
  • "Deny" визначає, що у разі невдачі перевірки запит буде відхилено.
  • "Warn" визначає, що у разі невдачі перевірки клієнт запиту отримає повідомлення у заголовках HTTP Warning з кодом попередження 299. Попередження можуть надсилатися як для дозволених, так і для відхилених запитів.
  • "Audit" визначає, що у разі невдачі перевірки інформація буде включена до опублікованого аудиту події для запиту.
Подія аудиту міститиме анотацію аудиту validation.policy.admission.k8s.io/validation_failure зі значенням, що містить деталі невдач перевірки, відформатовані як список обʼєктів у форматі JSON, кожен з яких має наступні поля:
  • message: Рядок повідомлення про невдачу перевірки
  • policy: Назва ресурсу ValidatingAdmissionPolicy
  • binding: Назва ресурсу ValidatingAdmissionPolicyBinding
  • expressionIndex: Індекс невдалих перевірок у ValidatingAdmissionPolicy
  • validationActions: Заходи щодо забезпечення виконання, вжиті у зв’язку з невиконанням вимог щодо валідації
Приклад анотації аудиту:
      "validation.policy.admission.k8s.io/validation_failure": "[{
        "message": "Invalid value",
        "policy": "policy.example.com",
        "binding": "policybinding.example.com",
        "expressionIndex": "1",
        "validationActions": ["Audit"]}]"
      
Клієнти повинні очікувати обробки додаткових значень, ігноруючи будь-які невідомі значення.

"Deny" та "Warn" не можуть використовуватися разом, оскільки ця комбінація безпідставно дублює невдачу перевірки як у тілі відповіді API, так і в заголовках HTTP Warning.

Обовʼязково.

ValidatingAdmissionPolicyBindingList

ValidatingAdmissionPolicyBindingList є списком ресурсів ValidatingAdmissionPolicyBinding.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
ValidatingAdmissionPolicyBinding array
Список ресурсів PolicyBinding.
kind
string
Kind є рядковим значенням, що представляє REST-ресурс, який цей обʼєкт представляє. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
metadata є стандартними метаданими списку. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

Операції


post Create

HTTP Запит

POST /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicybindings

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyValidatingAdmissionPolicyBinding

Відповідь

СтатусОписВідповідь
200OKValidatingAdmissionPolicyBinding
201CreatedValidatingAdmissionPolicyBinding
202AcceptedValidatingAdmissionPolicyBinding

patch Patch

HTTP Запит

PATCH /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicybindings/{name}

Параметри шляху

НазваТипОпис
namestringНазва ValidatingAdmissionPolicyBinding

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint. Це поле є обовʼязковим для запитів apply (application/apply-patch), але необовʼязковим для інших типів патчів (JsonPatch, MergePatch, StrategicMergePatch).
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.
forcebooleanForce має на меті "примусово" застосовувати запити Apply. Це означає, що користувач повторно отримає конфліктні поля, що належать іншим користувачам. Прапорець Force повинен бути скасований для запитів, що не є патчами apply.

Параметри тіла запиту

НазваТипОпис
bodyPatch

Відповідь

СтатусОписВідповідь
200OKValidatingAdmissionPolicyBinding
201CreatedValidatingAdmissionPolicyBinding

put Replace

HTTP Запит

PUT /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicybindings/{name}

Параметри шляху

НазваТипОпис
namestringНазва ValidatingAdmissionPolicyBinding

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyValidatingAdmissionPolicyBinding

Відповідь

СтатусОписВідповідь
200OKValidatingAdmissionPolicyBinding
201CreatedValidatingAdmissionPolicyBinding

delete Delete

HTTP Запит

DELETE /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicybindings/{name}

Параметри шляху

НазваТипОпис
namestringНазва ValidatingAdmissionPolicyBinding

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKStatus
202AcceptedStatus

delete Delete Collection

HTTP Запит

DELETE /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicybindings

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

StatusОписВідповідь
200OKStatus

get Read

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicybindings/{name}

Параметри шляху

НазваТипОпис
namestringНазва ValidatingAdmissionPolicyBinding

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).

Відповідь

СтатусОписВідповідь
200OKValidatingAdmissionPolicyBinding

get List

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/validatingadmissionpolicybindings

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKValidatingAdmissionPolicyBindingList

get Watch

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/watch/validatingadmissionpolicybindings/{name}

Параметри шляху

НазваТипОпис
namestringНазва ValidatingAdmissionPolicyBinding

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

get Watch List

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/watch/validatingadmissionpolicybindings

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

6 - ValidatingWebhookConfiguration

ValidatingWebhookConfiguration описує конфігурацію вебхука для перевірки, який приймає або відхиляє обʼєкт без його зміни.

apiVersion: admissionregistration.k8s.io/v1

import "k8s.io/api/admissionregistration/v1"

ValidatingWebhookConfiguration

ValidatingWebhookConfiguration описує конфігурацію вебхука для перевірки, який приймає або відхиляє обʼєкт без його зміни.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind є рядковим значенням, що представляє REST-ресурс, який цей обʼєкт представляє. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ObjectMeta
metadata визначає стандартні метадані обʼєкта. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
webhooks
ValidatingWebhook array
patch strategy: злиття за ключем name
webhooks є списком вебхуків та ресурсів і операцій, на які вони впливають.

ValidatingWebhookConfigurationList

ValidatingWebhookConfigurationList є списком ValidatingWebhookConfiguration.


ПолеОпис
apiVersion
string
APIVersion визначає версію схеми цього представлення обʼєкта. Сервери повинні конвертувати розпізнані схеми до останнього внутрішнього значення і можуть відхиляти нерозпізнані значення. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
ValidatingWebhookConfiguration array
Список ValidatingWebhookConfiguration.
kind
string
Kind є рядковим значенням, що представляє REST-ресурс, який цей обʼєкт представляє. Сервери можуть визначати це з точки доступу, до якої клієнт надсилає запити. Не може бути оновлено. У CamelCase. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
metadata є стандартними метаданими списку. Детальніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

ValidatingWebhook

ValidatingWebhook описує вебхуки допуску та ресурси і операції, до яких вони застосовуються.


ПолеОпис
admissionReviewVersions *
string array
admissionReviewVersions є впорядкованим списком переважних версій `AdmissionReview`, які очікує вебхук. Сервер API спробує використовувати першу версію зі списку, яку він підтримує. Якщо жодна з версій, зазначених у цьому списку, не підтримується сервером API, перевірка цього обʼєкта завершиться невдачею. Якщо збережена конфігурація вебхука вказує дозволені версії і не включає жодної версії, відомої серверу API, виклики до вебхука завершаться невдачею і підпадатимуть під політику обробки помилок.
clientConfig *
WebhookClientConfig
clientConfig визначає, як спілкуватися з вебхуком. Обовʼязково
failurePolicy
string
failurePolicy визначає, як обробляти невідомі помилки з точки допуску — допустимі значення Ignore або Fail. Стандартне значення — Fail.

Можливі значення enum:
  • "Fail" означає, що помилка виклику вебхука призводить до відмови у допуску.
  • "Ignore" означає, що помилка виклику вебхука ігнорується.
matchConditions
MatchCondition array
patch strategy: merge on key name
matchConditions є списком умов, які повинні бути виконані, щоб запит був надісланий цьому вебхуку. Умови відповідності фільтрують запити, які вже були відібрані за допомогою правил, namespaceSelector та objectSelector. Порожній список matchConditions відповідає всім запитам. Допускається максимум 64 умови відповідності.

Логіка точного збігу виглядає так (за порядком)
  1. Якщо БУДЬ-ЯКА умова matchCondition має значення FALSE, вебхук пропускається.
  2. Якщо ВСІ умови matchConditions мають значення TRUE, вебхук викликається.
  3. Якщо будь-яка умова matchCondition має значення помилки (але жодна не має значення FALSE):
    • Якщо failurePolicy=Fail, запит відхиляється.
    • Якщо failurePolicy=Ignore, помилка ігнорується, і вебхук пропускається.
matchPolicy
string
matchPolicy визначає, як список "rules" використовується для перевірки вхідних запитів. Дозволені значення: "Exact" або "Equivalent".
  • Exact: відповідність запиту лише у випадку точного збігу з вказаним правилом. Наприклад, якщо розгортання можна змінювати через apps/v1, apps/v1beta1 та extensions/v1beta1, але "rules" включає лише apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"], запит до apps/v1beta1 або extensions/v1beta1 не буде надіслано вебхуку.
  • Equivalent: відповідність запиту, якщо він змінює ресурс, зазначений у rules, навіть через іншу групу API або версію. Наприклад, якщо розгортання можна змінювати через apps/v1, apps/v1beta1 та extensions/v1beta1, і "rules" включає лише apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"], запит до apps/v1beta1 або extensions/v1beta1 буде перетворено на apps/v1 і надіслано вебхуку.
Стандартне значення — "Equivalent".

Можливі значення enum:
  • "Equivalent" означає, що запити повинні надсилатися вебхуку, якщо вони змінюють ресурс, зазначений у rules, через іншу групу API або версію.
  • "Exact" означає, що запити повинні надсилатися вебхуку лише у випадку точного збігу з вказаним правилом.
name *
string
name є імʼям вебхуку допуску. Імʼя повинно бути повністю кваліфікованим, наприклад, imagepolicy.kubernetes.io, де "imagepolicy" є імʼям вебхуку, а kubernetes.io є імʼям організації. Обов'язково.
namespaceSelector
LabelSelector
namespaceSelector вирішує, чи запускати вебхук на обʼєкті на основі того, чи відповідає простір імен цього обʼєкта селектору. Якщо обʼєкт сам є простором імен, відповідність перевіряється для object.metadata.labels. Якщо обʼєкт є іншим ресурсом з областю кластера, вебхук ніколи не пропускається.

Наприклад, щоб запускати вебхук на будь-яких обʼєктах, простір імен яких не повʼязаний з "runlevel" значенням "0" або "1", ви встановлюєте селектор наступним чином:
      "namespaceSelector": {
        "matchExpressions": [
          {
            "key": "runlevel",
            "operator": "NotIn",
            "values": [
              "0",
              "1"
            ]
          }
        ]
      }
      
Наприклад, щоб запускати вебхук лише на обʼєктах, простір імен яких повʼязаний з "environment" значенням "prod" або "staging", ви встановлюєте селектор наступним чином:
      "namespaceSelector": {
        "matchExpressions": [
          {
            "key": "environment",
            "operator": "In",
            "values": [
              "prod",
              "staging"
            ]
          }
        ]
      }
      
Див. https://kubernetes.io/docs/concepts/overview/working-with-objects/labels для отримання додаткових прикладів селекторів міток.

Стандартно використовується порожній LabelSelector, який відповідає всім обʼєктам.
objectSelector
LabelSelector
objectSelector вирішує, чи запускати вебхук на обʼєкті на основі того, чи відповідає обʼєкт селектору міток. objectSelector оцінюється як для oldObject, так і для newObject, які будуть надіслані вебхуку, і вважається, що він відповідає, якщо будь-який з обʼєктів відповідає селектору. Null-обʼєкт (oldObject у випадку створення або newObject у випадку видалення) або обʼєкт, який не може мати мітки (наприклад, DeploymentRollback або PodProxyOptions), не вважається відповідним. Використовуйте objectSelector лише якщо вебхук є опціональним, оскільки кінцеві користувачі можуть пропустити вебхук, встановивши мітки. Стандартно використовується порожній LabelSelector, який відповідає всім обʼєктам.
rules
RuleWithOperations array
rules визначає, які операції з якими ресурсами/субресурсами цікавлять вебхук. Вебхук реагує на операцію, якщо вона відповідає _будь-якому_ правилу. Однак, щоб запобігти тому, щоб ValidatingAdmissionWebhooks та MutatingAdmissionWebhooks перевели кластер у стан, з якого неможливо відновитися без повного вимкнення втулка, ValidatingAdmissionWebhooks та MutatingAdmissionWebhooks ніколи не викликаються для запитів на допуск для об’єктів ValidatingWebhookConfiguration та MutatingWebhookConfiguration.
sideEffects *
string
sideEffects вказує, чи має цей вебхук має побічні ефекти. Допустимі значення: None, NoneOnDryRun (вебхуки, створені через v1beta1, також можуть вказувати Some або Unknown). Вебхуки з побічними ефектами МАЮТЬ реалізовувати систему узгодження, оскільки запит може бути відхилений на наступному кроці в ланцюжку допуску, і побічні ефекти потрібно буде скасувати. Запити з атрибутом dryRun будуть автоматично відхилені, якщо вони відповідають вебхуку з sideEffects == Unknown або Some

Можливі значення enum:
  • "None" означає, що виклик вебхуку не матиме побічних ефектів.
  • "NoneOnDryRun" означає, що виклик вебхуку може мати побічні ефекти, але якщо запит, що перевіряється, має атрибут dry-run, побічні ефекти будуть придушені.
  • "Some" означає, що виклик вебхуку може мати побічні ефекти. Якщо запит з атрибутом dry-run викличе цей вебхук, запит буде відхилено.
  • "Unknown" означає, що інформація про побічні ефекти виклику вебхуку відсутня. Якщо запит з атрибутом dry-run викличе цей вебхук, запит буде відхилено.
timeoutSeconds
integer
timeoutSeconds визначає час очікування для цього вебхуку. Після закінчення часу очікування виклик вебхуку буде ігноровано або виклик API завершиться невдачею залежно від політики помилок. Значення часу очікування повинно бути між 1 і 30 секундами. Стандартно — 10 секунд.

Операції


post Create

HTTP Запит

POST /apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyValidatingWebhookConfiguration

Відповідь

СтатусОписВідповідь
200OKValidatingWebhookConfiguration
201CreatedValidatingWebhookConfiguration
202AcceptedValidatingWebhookConfiguration

patch Patch

HTTP Запит

PATCH /apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations/{name}

Параметри шляху

НазваТипОпис
namestringНазва ValidatingWebhookConfiguration

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint. Це поле є обов'язковим для запитів apply (application/apply-patch), але необов'язковим для інших типів патчів (JsonPatch, MergePatch, StrategicMergePatch).
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.
forcebooleanForce має на меті "примусово" застосовувати запити Apply. Це означає, що користувач повторно отримає конфліктні поля, що належать іншим користувачам. Прапорець Force повинен бути скасований для запитів, що не є патчами apply.

Параметри тіла запиту

НазваТипОпис
bodyPatch

Відповідь

СтатусОписВідповідь
200OKValidatingWebhookConfiguration
201CreatedValidatingWebhookConfiguration

put Replace

HTTP Запит

PUT /apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations/{name}

Параметри шляху

НазваТипОпис
namestringНазва ValidatingWebhookConfiguration

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldManagerstringfieldManager є імʼям, повʼязаним з а́ктором або сутністю, яка вносить ці зміни. Значення повинно бути менше або дорівнювати 128 символам і містити лише друковані символи, як визначено в https://golang.org/pkg/unicode/#IsPrint.
fieldValidationstringfieldValidation інструктує сервер, як обробляти обʼєкти в запиті (POST/PUT/PATCH), що містять невідомі або дубльовані поля. Дійсні значення:
  • Ignore: Ігнорує всі невідомі поля, які без попередження видаляються з обʼєкта, а також ігнорує всі дублікати полів, крім останнього, на які натрапляє декодер. Це стандартна поведінка до v1.23.
  • Warn: Надсилає попередження через стандартний заголовок відповіді для кожного невідомого поля, яке видаляється з обʼєкта, і для кожного дубльованого поля, яке зустрічається. Запит все ще буде успішним, якщо немає інших помилок, і буде зберігатися лише останнє з будь-яких дубльованих полів. Це стандартна поведінка у v1.23+
  • Strict: У цьому випадку запит завершиться з помилкою BadRequest, якщо з обʼєкта будуть вилучені невідомі поля або якщо будуть виявлені дублікати полів. Помилка, що повертається сервером, міститиме всі виявлені невідомі та дубльовані поля.

Параметри тіла запиту

НазваТипОпис
bodyValidatingWebhookConfiguration

Відповідь

СтатусОписВідповідь
200OKValidatingWebhookConfiguration
201CreatedValidatingWebhookConfiguration

delete Delete

HTTP Запит

DELETE /apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations/{name}

Параметри шляху

НазваТипОпис
namestringНазва ValidatingWebhookConfiguration

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKStatus
202AcceptedStatus

delete Delete Collection

HTTP Запит

DELETE /apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
dryRunstringКоли параметр присутній, це вказує, що зміни не повинні зберігатися. Неправильна або нерозпізнана директива dryRun призведе до помилки та припинення обробки запиту. Дійсні значення:
  • All: всі етапи dry run будуть виконані
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
gracePeriodSecondsintegerЧасу у секундах перед видаленням обʼєкта. Значення повинно бути невідʼємним цілим числом. Значення нуль вказує на негайне видалення. Якщо це значення відсутнє, буде використано стандартний період очікування для зазначеного типу. Зазвичай використовується значення для конкретного обʼєкта, якщо не вказано. Нуль означає негайне видалення.
ignoreStoreReadErrorWithClusterBreakingPotentialbooleanЯкщо встановлено в true, це призведе до небезпечного видалення ресурсу у випадку, якщо нормальний процес видалення не вдасться через помилку пошкодженого обʼєкта. Ресурс вважається пошкодженим, якщо його не можна успішно отримати з відповідного сховища томущо: a) його дані не можна трансформувати, наприклад, помилка дешифрування, або b) не вдається декодувати в обʼєкт. ПРИМІТКА: небезпечне видалення ігнорує обмеження завершувача, пропускає перевірки передумов і видаляє обʼєкт зі сховища. ПОПЕРЕДЖЕННЯ: це може потенційно порушити роботу кластера, якщо робоче навантаження, повʼязане з ресурсом, що видаляється небезпечно, покладається на нормальний процес видалення. Використовуйте лише якщо ви ДІЙСНО знаєте, що робите. Стандартне значення — false, і користувач повинен явно погодитися на його використання.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
orphanDependentsbooleanЗастаріло: будь ласка, використовуйте PropagationPolicy, це поле буде застарілим у версії 1.7. Чи повинні залежні обʼєкти залишатися покинутими. Якщо true/false, завершувач "orphan" буде доданий до/видалений з списку завершувачів обʼєкта. Можна встановити або це поле, або PropagationPolicy, але не обидва.
propagationPolicystringЧи і як буде виконано збір сміття. Можна встановити або це поле, або OrphanDependents, але не обидва. Стандартна політика визначається наявним завершувачем у metadata.finalizers та стандартною політикою для конкретного ресурсу. Допустимі значення: 'Orphan' — залишити залежні обʼєкти покинутими; 'Background' — дозволити збирачу сміття видаляти залежні обʼєкти у фоновому режимі; 'Foreground' — каскадна політика, яка видаляє всі залежні обʼєкти з показом всіх дій.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.

Параметри тіла запиту

НазваТипОпис
bodyDeleteOptions

Відповідь

СтатусОписВідповідь
200OKStatus

get Read

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations/{name}

Параметри шляху

НазваТипОпис
namestringНазва ValidatingWebhookConfiguration

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).

Відповідь

СтатусОписВідповідь
200OKValidatingWebhookConfiguration

get List

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations

Параметри запиту

НазваТипОпис
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKValidatingWebhookConfigurationList

get Watch

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/watch/validatingwebhookconfigurations/{name}

Параметри шляху

НазваТипОпис
namestringНазва ValidatingWebhookConfiguration

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent

get Watch List

HTTP Запит

GET /apis/admissionregistration.k8s.io/v1/watch/validatingwebhookconfigurations

Параметри запиту

НазваТипОпис
allowWatchBookmarksbooleanallowWatchBookmarks запитує події спостереження з типом "BOOKMARK". Сервери, які не реалізують закладки, можуть ігнорувати цей прапорець, а закладки надсилаються на розсуд сервера. Клієнти не повинні припускати, що закладки повертаються через певний інтервал, і не можуть припускати, що сервер надішле будь-яку подію BOOKMARK під час сеансу. Якщо це не спостереження, це поле ігнорується.
continuestringОпція continue повинна бути встановлена при отриманні додаткових результатів від сервера. Оскільки це значення визначається сервером, клієнти можуть використовувати значення continue лише з попереднього результату запиту з ідентичними параметрами запиту (крім значення continue), і сервер може відхилити значення continue, яке він не розпізнає. Якщо вказане значення continue більше не дійсне через закінчення терміну дії (зазвичай пʼять-пʼятнадцять хвилин) або зміну конфігурації на сервері, сервер відповість помилкою 410 ResourceExpired разом з токеном continue. Якщо клієнту потрібен послідовний список, він повинен перезапустити свій список без поля continue. В іншому випадку клієнт може надіслати ще один запит списку з токеном, отриманим з помилкою 410, сервер відповість списком, починаючи з наступного ключа, але з останнього знімка, що не відповідає попереднім результатам списку — обʼєкти, які були створені, змінені або видалені після першого запиту списку, будуть включені у відповідь, якщо їх ключі йдуть після "наступного ключа". Це поле не підтримується, коли watch встановлено в true. Клієнти можуть почати спостереження з останнього значення resourceVersion, повернутого сервером, і не пропустити жодних змін.
fieldSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми полями. Зазвичай повертаються всі обʼєкти.
labelSelectorstringСелектор для обмеження списку обʼєктів, що повертаються, за їхніми мітками. Зазвичай повертаються всі обʼєкти.
limitintegerlimit є максимальним числом відповідей, які потрібно повернути для виклику списку. Якщо існує більше елементів, сервер встановить поле continue у метаданих списку на значення, яке можна використовувати з тим самим початковим запитом для отримання наступного набору результатів. Встановлення обмеження може повернути менше, ніж запитана кількість елементів (до нуля елементів) у випадку, якщо всі запитані обʼєкти відфільтровані, і клієнти повинні використовувати лише наявність поля continue, щоб визначити, чи доступні додаткові результати. Сервери можуть вирішити не підтримувати аргумент limit і повернуть усі доступні результати. Якщо limit вказано, а поле continue порожнє, клієнти можуть припустити, що результатів більше немає. Це поле не підтримується, якщо watch дорівнює true. Сервер гарантує, що обʼєкти, повернені при використанні continue, будуть ідентичні до виконання одного виклику списку без обмеження — тобто жодні обʼєкти, створені, змінені або видалені після першого запиту, не будуть включені в будь-які наступні продовжені запити. Це іноді називають послідовним знімком, і забезпечує, що клієнт, який використовує limit для отримання менших частин дуже великого результату, може бути впевнений, що він бачить усі можливі обʼєкти. Якщо обʼєкти оновлюються під час отримання часткового списку, повертається версія обʼєкта, яка була присутня на момент обчислення першого результату списку.
prettystringЯкщо 'true', то вихідні дані форматуються у зручному для читання вигляді. Зазвичай 'false', якщо user-agent не вказує оглядач або командний інструмент для роботи з HTTP (curl та wget).
resourceVersionstringresourceVersion встановлює обмеження на те, з яких версій ресурсів може обслуговуватися запит. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
resourceVersionMatchstringresourceVersionMatch визначає, як resourceVersion застосовується до викликів списку. Рекомендується встановлювати resourceVersionMatch для викликів списку, де встановлено resourceVersion. Див. https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions для деталей. Стандартне значення не встановлено
sendInitialEventsbooleansendInitialEvents=true може бути встановлено разом з watch=true. У цьому випадку потік спостереження почнеться з синтетичних подій для відтворення поточного стану обʼєктів у колекції. Після надсилання всіх таких подій буде надіслано синтетичну подію "Bookmark". Закладка повідомить ResourceVersion (RV), що відповідає набору обʼєктів, і буде позначена анотацією "k8s.io/initial-events-end": "true". Після цього потік спостереження продовжиться як зазвичай, надсилаючи події спостереження, що відповідають змінам (після RV) для спостережуваних обʼєктів. Коли встановлено опцію sendInitialEvents, ми вимагаємо також встановлення опції resourceVersionMatch. Семантика запиту спостереження наступна:
  • resourceVersionMatch = NotOlderThan інтерпретується як «дані, що є принаймні такими ж новими, як зазначена resourceVersion», і подія bookmark надсилається, коли стан синхронізується з resourceVersion, яка є принаймні такою ж актуальною, як та, що вказана в ListOptions. Якщо resourceVersion не встановлено, це інтерпретується як «послідовне читання», і подія bookmark надсилається, коли стан синхронізується принаймні до моменту, коли почалася обробка запиту.
  • resourceVersionMatch, встановлений на будь-яке інше значення або не встановлений — повертається помилка Invalid. Стандартне значення true, якщо resourceVersion="" або resourceVersion="0" (з міркувань сумісності) і false в іншому випадку.
shardSelectorstringshardSelector обмежує список обʼєктів, що повертаються, за допомогою виразу вибору шардів на основі CEL. Формат використовує функцію shardRange() у поєднанні з || (логічне АБО) для вказівки одного або кількох діапазонів хешів:
shardRange(object.metadata.uid, '0x0', '0x8000000000000000')
shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
Шляхи полів використовують синтаксис CEL, що починається з обʼєкта (наприклад, "object.metadata.uid"), а не формат fieldSelector ("metadata.uid"). Наразі підтримуються такі шляхи:
  • object.metadata.uid
  • object.metadata.namespace
hexStart і hexEnd є рядковими літералами CEL у одинарних лапках з префіксом '0x', що визначають включну нижню і виключну верхню межі в 64-бітовому просторі хешів FNV-1a. Повний діапазон: [0x0, 0x10000000000000000), де виключна верхня межа дорівнює 2^64. Приклади:
  • 2-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')
  • 4-шардове розділення:
    шард 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000')
    шард 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000')
    шард 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')
    шард 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000')
Це альфа-поле і вимагає увімкнення функціональної можливості ShardedListAndWatch.
timeoutSecondsintegerЧас очікування для виклику list/watch. Це обмежує тривалість виклику, незалежно від будь-якої активності чи неактивності.
watchbooleanСпостерігати за змінами описаних ресурсів і повертати їх як потік сповіщень про додавання, оновлення та видалення. Вкажіть resourceVersion.

Відповідь

СтатусОписВідповідь
200OKWatchEvent